@charset "utf-8";

/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body { min-width: 0px; font-size: 0.8em;}

.ta_right-s_center { text-align: center;}
.ta_left-s_center { text-align: center;}
.ta_center-s_left { text-align: left;}

.hidden_s { display: none !important;}

.mb40-20 { margin-bottom: 20px !important;}
.mb60-30 { margin-bottom: 30px !important;}
.mb80-40 { margin-bottom: 40px !important;}
.mb100-60 { margin-bottom: 60px !important;}
.mb120-60 { margin-bottom: 60px !important;}
.mb120-80 { margin-bottom: 80px !important;}
.mb160-80 { margin-bottom: 80px !important;}

/* ------------------------
	ヘッダー
------------------------ */

.header { padding-top: 100px;}
.header h1 { padding: 0px 25%;}

/* ハンバーガーメニュー */
.humberger {
	cursor: pointer;
	display: block;
	position: fixed;
	top: 30px;
	left: 30px;
	width: 50px;
	height: 50px;
	z-index: 10001;
}
.humberger span {
	background: #1f80a3 !important; /* 変更 */
	transition: background-color 0.3s ease; /* 追加 */
	border-radius: 15px;
	position: absolute;
	left: 10px;
	width: 30px;
	height: 3px;
	transition: 0.4s;
}
/* 追加：背景が青のとき、白に変更 */
.humberger-white span {
background: #fff !important;
}
/* 追加：ナビが開いたときは白を維持 */
.is-open .humberger span {
background: #fff !important;
}

.blue .humberger span { background: #1f80a3;}
.humberger span:nth-of-type(1) { top: 9px;}
.humberger span:nth-of-type(2) { top: 17px;}
.humberger span:nth-of-type(3) { top: 25px;}
.is-open .humberger span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(-45deg);
	  -ms-transform: translateY(6px) rotate(-45deg);
		  transform: translateY(6px) rotate(-45deg);
}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
	  -ms-transform: translateY(-10px) rotate(45deg);
		  transform: translateY(-10px) rotate(45deg);
}
/* ナビ本体 */
.sp-navi { -webkit-text-size-adjust: 100%;}
.sp-navi.is-open .sp-navi-inner {
	opacity: 1;
	visibility: visible;
	z-index: 10000;
}
.sp-navi .sp-navi-inner {
	background: #1f80a3;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0px;
	height: 100%;
	width: 100%;
	transition: .5s;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.sp-navi li { margin-bottom: 25px;}
.sp-navi li:last-child { margin-bottom: 0px;}
.sp-navi a { color: #fff !important; display: inline-block;}
.sp-navi a span { display: block;}
.sp-navi a .fo_noto { opacity: 1; position: static;}
.sp-navi a .fo_roboto { opacity: 1 !important; font-size: 1.5em; line-height: 1.4;}


/* ------------------------
	フッター
------------------------ */

.footer { padding: 20px 15px;}

.pagetop { right: 15px;}
.pagetop a { width: 40px; height: 40px;}
.pagetop a:after { width: 15px; height: 15px; margin: -4px 0px 0px -8px;}


/*------------------------------------------------------

	トップページ

------------------------------------------------------*/

.en_ttl { font-size: 2.2em;}



.greeting figure img{border-width:5px;}

.service { padding: 45px 0px;}
.service .box01 { display: block;}
.service .box01 .box_inner { width: auto;}
.service .box01 .img_box { display: flex;}
.service .box01 .img_box figure img { border-width: 5px; margin-bottom: 0px;}
.service .box01 .img_box figure:first-child { margin-right: 10px;}
.service .box02 { padding: 20px;}

.service section { display: block; height: auto; padding: 30px 0px 20px;}
.service .box_inner { width: auto !important; margin-bottom: 20px;}
.service section figure { min-width: 0px; padding: 0px 27%;}
.service section figure img { position: static; transform: none; margin: 0px !important;}
.service section h3 { font-size: 1.65em;}
.service .sec04 .box03 { flex-wrap: wrap; width: auto; justify-content: flex-start;}
.service .sec04 .box03 ul { margin-right: 2em;}

.company { padding: 45px 0px;}

.company .box01 { display: block;}
.company .box01 .box_inner { width: auto !important;}
.company .box01 iframe { height: 200px;}
.company .box01 .img_box { justify-content: center;}
.company .box01 .img_box img { border-width: 5px;}
.company .box01 .img_box figure:first-child { margin-right: 10px;}

.company .box02 ul { margin-right: 2em;}

.case { padding: 45px 0px 10px;}
.case .box { display: block;}
.case section { width: auto;}

.recruit { padding-bottom: 150px;}
.recruit .back_gray:before { display: none;}
.recruit .container:last-child:before { display: block; width: 105px; height: 160px; bottom: -160px; left: 5%;}
.recruit .container:last-child:after { width: 210px; height: 150px; bottom: -155px; right: 7%;}

.recruit .heading_btmline { font-size: 1.65em;}

.voice .v_box01 figure { width: 40%;}
.voice .v_box01 figure img { border-width: 5px;}
.voice .v_box01 .box_inner { width: 55%;}
.voice .v_box01 h4 { font-size: 2.5em;}
.voice .v_box01 .btn_area span { max-width: 250px; min-width: 250px;}
.voice .v_box01 .btn_area span:after { width: 14px; height: 14px; margin: -3px 0px 0px 0.5em;}

.faq_dl dt { width: 40px; height: 40px; font-size: 1.3em; line-height: 37px;}
.faq_dl dd { width: calc(100% - 55px);}

.recruit .back_gray { border-radius: 0px; padding: 35px 0px;}

.c_box01 .num { width: 55px;}
.c_box01 .box_inner { width: calc(100% - 70px);}
.c_box01:nth-of-type(1) .box_inner { padding-right: 85px;}
.c_box01 .img01 { width: 70px; top: -5px;}

.contact { padding: 60px 0px;}
.contact .box { padding: 40px 15px 20px;}
.contact .box:before { top: 5px; right: 5px; bottom: 5px; left: 5px;}
.contact li { margin: 0px 15px 30px;}
.contact a, .contact span { padding-left: 35px !important;}
.contact a:before, .contact span:before { height: 25px; width: 25px;}

@media only screen and (max-width: 640px) {
	.company .box02 { flex-wrap: wrap;}
	.company .box02 ul { width: calc(50% - 2em);}

	.voice .v_box01 { justify-content: center; flex-wrap: wrap;}
	.voice .v_box01 figure, .voice .v_box01 .box_inner { width: auto;}
	.voice .v_box01 .box_inner { margin-top: 25px;}
	.voice .v_box01 .btn_area { text-align: center;}
}

@media only screen and (max-width: 480px) {
	.service .sec04 .box03 ul { margin-right: 0px; width: 100%;}

	.company .box02 ul { width: 100%; margin: 0px;}

	.contact li:last-child a { font-size: 4.7vw;}
}

