@charset "utf-8";

/* ============== reset =============== */

ul { margin-bottom: 0; }
dd { margin: 0; line-height: 1.2; }
i { font-style: normal; color: inherit; font-size: inherit; vertical-align: middle; }
.all-wrap { word-wrap: break-word; word-break: keep-all; font-size: 1.125rem; }
.custom-wrap.type_about { }
.custom-wrap h3 { position: relative; z-index: 5; width: 100%; margin-bottom: 75px; font-size: clamp(1.5rem, 5vw, 2.375rem); font-weight: 700; text-align: left; }
.custom-wrap p { margin-bottom: 0; }
.custom-wrap > div { }
.custom-wrap > *:first-child { }
.custom-wrap > *:last-child { /* padding: 75px 0 150px; */ }
.custom-wrap label { margin-bottom: 0; }

.br640 { display: none; }
.custom-wrap .icon_comma { font-size: clamp(1.5rem, 5vw, 2rem); filter: invert(0); }

/* ============== TOP-BANNER =============== */

.top-banner.about-page { background: url(/theme/theme_wide_17/img/about_top.webp)no-repeat center/cover; }
.top-banner.recruit-page { background: url(/theme/theme_wide_17/img/recruit_top.webp)no-repeat center/cover; }
.top-banner.inquiry-page { background: url(/theme/theme_wide_17/img/inquiry_top.webp)no-repeat center/cover; }

.top-banner.about-page { justify-content: end; padding-right: 20%; }
.top-banner.recruit-page,
.top-banner.inquiry-page { padding-left: 20%; justify-content: start; }

.top-banner.about-page h2 { text-align: right; }
.top-banner.about-page p { text-align: right; }
.top-banner.about-page p.last-txt { margin-top: 50px; font-size: 1.125rem; }

.top-banner.recruit-page h2 { line-height: 1.2; }
.top-banner.recruit-page p { line-height: 1.5; }
.top-banner.recruit-page p.last-txt { margin-top: 50px; font-size: 1.125rem; }

.top-banner.inquiry-page p.last-txt { margin-top: 50px; font-size: 1.125rem; }


.top-banner.recruit-page::before,
.top-banner.inquiry-page::before { position: absolute; left: 0; top: 0; content: ""; width: 100%; height: 100%; background: #000; opacity: 0.7; clip-path: polygon(0% 0%, 45% 0%, 65% 100%, 0% 100%); }

.top-banner.about-page::before { position: absolute; left: 0; top: 0; content: ""; width: 100%; height: 100%; background: #000; opacity: 0.7; /*clip-path: polygon(35% 0%, 100% 0%, 100% 100%, 55% 100%);clip-path: circle(70.4% at 100% 51%);*/ clip-path: polygon(46% 0, 100% 0%, 100% 100%, 45% 100%, 54% 48%); }


/* ============== ABOUT =============== */
/* ============== ABOUT =============== */
/* ============== ABOUT =============== */

.custom-wrap .about-cont { padding: 150px 0; }
.about-wrap h3 { text-align: center; font-weight: 400; }
.about-wrap h3 span { font-weight: 700; }

/* ============== GREETING =============== */


.greeting .greeting-cont { display: flex; align-items: start; justify-content: space-between; flex-flow: row wrap; }
.greeting .greeting-cont .txt-wrap { position: relative; display: flex; flex-direction: column; align-items: start; justify-content: space-between; padding: 0 0 0 2em; width: 65%; }
/*.greeting .greeting-cont .txt-wrap::before { content: ""; position: absolute; bottom: 0; right: 0; transform: translate(-30%, 40%) rotate(350deg); width: 320px; height: 160px; background: url(/theme/theme_wide_17/img/about_sign.png)no-repeat center 30%/contain; opacity: 0.1; }*/
.greeting .greeting-cont .txt-wrap h3 { text-align: left; }

.greeting .greeting-cont .txt-wrap p { line-height: 1.5; word-wrap: break-word; word-break: keep-all; }
.greeting .greeting-cont .txt-wrap p span { font-weight: 700; color: #000; }
.greeting .greeting-cont .img-wrap { width: 35%; overflow: hidden; border-radius: 10px; }
.greeting .greeting-cont .img-wrap img { width: 100%; height: 100%; object-fit: cover; }



.custom-wrap .member_img { overflow: hidden; padding: 0; max-height: 700px; }
.custom-wrap .member_img img { width: 100%; object-fit: cover;  }


/* ============== COPY-CONT =============== */

.copy-cont { padding: 150px 0px; }
.copy-cont h3 { margin-bottom: 0; }

/* ============== MEMBER =============== */

.member { position: relative; padding: 75px 0; }
.member .member-cont {}
.member ul.depth01 { margin: 0 auto; display: flex; align-items: start; justify-content: space-between; flex-flow: row wrap; }
.member ul.depth01 > li { position: relative; z-index: 5; width: 20%; max-width: 19%; text-align: center; }
.member ul.depth01 dt { padding: 7px; width: 100%; border: 1px solid #222; background: #000; color: #fff; }

.member ul.depth01 > li > p { position: relative; margin-bottom: 20px; padding: 10px 15px; font-weight: 600; color: #fff; background: #222; }
.member ul.depth01 > li > p::before { content: ""; position: absolute; right: -50%; top: 50%; z-index: -1; width: 50%; height: 1px; background: #222; transform: translate(0, -50%); }
.member ul.depth01 > li > p::after { content: ""; position: absolute; left: 50%; bottom: -30px; z-index: -1; width: 1px; height: 30px; background: #222; transform: translate(-50%, 0); }
.member ul.depth01 > li:last-child > p::before { display: none; }

.member ul li dl { display: flex; flex-flow: column wrap; align-items: center; }
.member ul li dl dt { margin-bottom: 15px; }
.member ul li dl dd { margin-bottom: 10px; }
.member ul li dl dd:last-child { margin-bottom: 0; }


.hr-wrap { position: relative; padding: 0; width: 100%; text-align: center; }
.hr-wrap::before { position: absolute; left: 0; top: 50%; content: ''; width: 100%; height: 0.1px; background: #222; transform: translateY(-50%); }
.hr-wrap img { position: relative; z-index: 5; }

/* ============== BUSINESS =============== */


.business {color: #fff; background: linear-gradient(-45deg, #ee7752, #e73c7e, #32700c, #1a4102); background-size: 400% 400%;	animation: gradient 15s ease infinite;	}
@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

.business .business-cont { position: relative; display: flex; flex-flow: row wrap; justify-content: space-between; }
.business h3 { text-align: center; }

.business .business-cont ul { display: flex; flex-flow: row wrap; justify-content: center; align-items: center; width: 100%; }
.business .business-cont ul li { overflow: hidden; position: relative; display: flex; justify-content: center; align-items: center; flex-flow: row wrap; flex: 1 1 auto; padding: 50px 10px; width: 20%; height: 100%; text-align: center; font-size: 1.125rem; font-weight: 700; line-height: 1; border: 1px solid rgba(255, 255, 255, 0.3); }
.business .business-cont ul li p { width: 100%; }
.business .business-cont ul li p:first-child { font-size: 2rem; margin-bottom: 20px; }
.business .business-cont ul li img { position: relative; z-index: 5; width: 100%; }

/* .business .business-cont ul li::before { content: ""; position: absolute; left: 50%; top: 50%; z-index: 1; width: 100%; aspect-ratio: 1; border: 1px dashed #222; transform: translate(-50%, -50%); border-radius: 50%; } */
/* .business .business-cont ul li::after { content: ""; position: absolute; left: 50%; top: 50%; z-index: 2; width: 30px; height: 100%; background: #fff; transform: translate(-50%, -50%); animation: drowCircle 10s infinite linear; transform-origin: center 210px; } */
.business .business-cont ul li:nth-child(1)::after { animation-delay: 0.0s; }
.business .business-cont ul li:nth-child(2)::after { animation-delay: -2s; }
.business .business-cont ul li:nth-child(3)::after { animation-delay: -4s; }
.business .business-cont ul li:nth-child(4)::after { animation-delay: -7s; }

@keyframes drowCircle {
	0% { transform: translate(-50%, -100%) rotate(0deg); }
	100% { transform: translate(-50%, -100%) rotate(360deg); }
}

@keyframes drowCircle {
	0% { transform: translate(-50%, -100%) rotate(0deg); }
	100% { transform: translate(-50%, -100%) rotate(360deg); }
}




/* ============== VISION =============== */

.vision { background: url(/theme/theme_wide_17/img/page_bg.png)no-repeat top/contain, linear-gradient(to bottom, rgba(0, 0, 0, 0.05) -80%, transparent); }

.vision .vision-cont { display: flex; align-items: center; flex-flow: column wrap; }
.vision .vision-cont .flex-wrapper { display: flex; align-items: center; justify-content: space-between; flex-flow: row wrap; margin-bottom: 50px; width: 100%; }
.vision .vision-cont .flex-wrapper ul { overflow: hidden; width: 48%; }
.vision .vision-cont .flex-wrapper:nth-child(even) ul { place-self: end; text-align: right; }
.vision .vision-cont .flex-wrapper:nth-child(odd) ul { order: 2; place-self: end; text-align: left; }
.vision .vision-cont .flex-wrapper:last-child { margin-bottom: 0; }

.vision .vision-cont .flex-wrapper .img-wrap { overflow: hidden; width: 48%; text-align: center; place-self: end; }
.vision .vision-cont .flex-wrapper .img-wrap img { width: 50%; max-height: 500px; object-fit: cover; object-position: top; }
.vision .vision-cont .flex-wrapper:nth-child(even) .img-wrap { text-align: left; }
.vision .vision-cont .flex-wrapper:nth-child(odd) .img-wrap { text-align: right; }


.vision .vision-cont .flex-wrapper:nth-child(even) .img-wrap { order: 1; }



.vision .vision-cont .flex-wrapper ul dt { position: relative; z-index: 5; display: inline-block; padding: 10px 20px; margin-bottom: 30px; color: #fff; }
.vision .vision-cont .flex-wrapper ul dt::before { content: ""; position: absolute; left: 50%; top: 50%; z-index: 0; border-radius: 99999em; width: 100%; height: 100%; transform: translate(-50%, -50%); background: #222; }
.vision .vision-cont .flex-wrapper ul dt::after { content: ""; position: absolute; bottom: -10px; z-index: -1; width: 1rem; height: 1rem; background: url(/theme/theme_wide_17/img/bubble_tail.png)no-repeat center top/contain; }
.vision .vision-cont .flex-wrapper:nth-child(even) ul dt::after { right: 15px; }
.vision .vision-cont .flex-wrapper:nth-child(odd) ul dt::after { left: 15px; transform: scaleX(-1); }
.vision .vision-cont .flex-wrapper ul dt p { position: relative; z-index: 5; margin-bottom: 0; font-size: 1.25rem; }
.vision .vision-cont .flex-wrapper ul dd { margin-bottom: 0.5rem; }
.vision .vision-cont .flex-wrapper ul dd:last-child {}

.vision .vision-cont ul:nth-child(3) { }
.vision .vision-cont ul:nth-child(4) { }
.vision .vision-cont ul:nth-child(5) { }
.vision .vision-cont ul:nth-child(6) { }


/* ============== RECRUIT =============== */
/* ============== RECRUIT =============== */
/* ============== RECRUIT =============== */

/* ============== ADVANTAGE =============== */


.recruit-wrap h3 { max-width: 1200px; margin: 0 auto; }
.recruit-wrap h3 span { display: block; }
.recruit-wrap h3 .point { margin-bottom: 10px; display: block; font-size: 2.5rem; font-weight: 900; color: #dcddde; }
.recruit-wrap h3 .desc { margin-bottom: 15px; display: block; font-size: 1rem; font-weight: 700; color: #dcddde; }
.recruit-wrap h3 span:last-child { font-weight: 400; }
.recruit-wrap h3 span:last-child em { font-weight: 700; font-style: normal; color: #222; }
.recruit-wrap .recruit { position: relative; padding: 150px 0; }

.recruit .adv-cont { position: relative; text-align: center; }
.recruit .cont-wrap { }
.recruit .cont-wrap ul { overflow: hidden; }
.recruit .cont-wrap ul li h4 { padding-bottom: 20px; font-weight: 600; }
.recruit .cont-wrap ul li > p { }
.recruit .cont-wrap ul li .last {}
.recruit .cont-wrap ul li div {}
.recruit .cont-wrap ul li div p { }
.recruit .cont-wrap ul li div p span { font-weight: 700; }
.recruit .cont-wrap p { word-wrap: break-word; word-break: keep-all; }

.recruit .cont-wrap .txtbox { padding: 25px 0 0; }
.recruit .cont-wrap .txtbox p { line-height: 1; margin-bottom: 10px; text-align: left; }
.recruit .cont-wrap .txtbox p:last-child { margin-bottom: 0px; }


.recruit-wrap .advantage_01 { }
.recruit-wrap .advantage_01 ul li { }
.recruit-wrap .advantage_01 h3 { text-shadow: unset; color: #222; }
.recruit-wrap .advantage_01 .point { }
.recruit-wrap .advantage_01 h3 span em { }
.recruit-wrap .advantage_01 .cont-wrap .txtbox { margin-bottom: 75px; }
.recruit-wrap .advantage_01 .cont-wrap .txtbox p { color: #222; font-weight: 500; }
.recruit-wrap .advantage_01 .cont-wrap .txtbox p span { font-weight: 700; }

.recruit-wrap .advantage_01 ul li .thumb { display: flex; margin: 0 0 50px 0; border-top: 1px solid #cfcfcf; border-bottom: 1px solid #cfcfcf; }
.recruit-wrap .advantage_01 ul li:last-child .thumb { margin: 0; }
.recruit-wrap .advantage_01 ul li .thumb img { max-width: 38%; object-fit: cover; }
.recruit-wrap .advantage_01 ul li .thumb .txt_box { padding: 0 0 0 50px; display: flex; justify-content: center; flex-flow: column nowrap; align-items: center; text-align: left; }
.recruit-wrap .advantage_01 ul li .thumb .txt_box h4 { width: 100%;  font-weight: 700; }
.recruit-wrap .advantage_01 ul li .thumb .txt_box p { width: 100%; }

/* .recruit-wrap .advantage_01 ul li:nth-child(even) .thumb img { order: 2; } */
/* .recruit-wrap .advantage_01 ul li:nth-child(even) .txt_box { order: 1; padding: 0 50px 0 0; text-align: right; } */

.recruit-wrap .advantage_02 { }
.recruit-wrap .advantage_02 ul li { }
.recruit-wrap .advantage_02 .adv-cont { text-align: left; }
.recruit-wrap .advantage_02 h3 { text-align: left; }
.recruit-wrap .advantage_02 .txtbox p { line-height: 1.5; }

/* .recruit-wrap .advantage_03 ul li { background: linear-gradient(to bottom, #fff 10%, transparent 220%), url(/theme/theme_wide_17/img/rec_bg_03.jpg)no-repeat center/cover; } */

.recruit-wrap .advantage_03 .txtbox p { line-height: 1.5; }
.recruit-wrap .advantage_03 .cont-wrap .txtbox p span { font-weight: 700; }

.adv_swiper { position: relative; padding: 75px 0 0; }
.adv_swiper .swiper-container { /* transform: translateX(25%); */ /* overflow: visible; */ }
.adv_swiper .swiper-container .slide-inner { position: relative; display: flex; flex-flow: row wrap; justify-content: center; align-items: start; width: 100%; height: 100%; }
.adv_swiper .swiper-container .item-img {  }
.adv_swiper .swiper-container .item-img img { width: 100%; object-fit: cover;  }
.adv_swiper .swiper-container .item-txt { padding: 20px 20px 70px 20px; }
.adv_swiper .swiper-container .item-txt p { font-weight: 500; font-size: 1.25rem; }
.adv_swiper .swiper-container .item-txt p:last-child { font-weight: 400; font-size: 0.9375rem; color: #b3b3b3; margin-top: 10px; }

.adv_swiper .button-wrap { position: absolute; left: 0; bottom: 0; z-index: 10; display: flex; flex-flow: row nowrap; height: max-content; }
.adv_swiper .button-wrap .swiper-button-prev { margin-right: 10px;  }
.adv_swiper .button-wrap .swiper-button-prev,
.adv_swiper .button-wrap .swiper-button-next { position: unset; margin-top: 0; width: 4rem; height: 4rem; border-radius: 50%; background-color: #222; filter: grayscale(1) brightness(200%); background-size: 20px 30px; }


.recruit-wrap .advantage_03 .adv-cont { z-index: 5; }
.recruit-wrap .advantage_03 h3 {}
.recruit-wrap .advantage_03 h3 span {}
.recruit-wrap .advantage_03 h3 .point {}
.recruit-wrap .advantage_03 h3 span:last-child { line-height: 1.5; }

.recruit-wrap .advantage_03 ul { padding: 75px 0 0; display: flex; flex-flow: row wrap; }
.recruit-wrap .advantage_03 ul li { display: flex; justify-content: center; align-items: center; flex-flow: row wrap; width: 25%; border-width: 0 1px 1px 0; border-color: #fff; border-style: solid; }
.recruit-wrap .advantage_03 ul li:first-child { padding-left: 2em; font-weight: 700; text-align: left; align-items: start; justify-content: start; }
.recruit-wrap .advantage_03 ul li:first-child p { position: relative; padding: 5px 0 5px 15px; font-size: 1.25rem; }
.recruit-wrap .advantage_03 ul li:first-child p::before { content: ""; position: absolute; left: 0em; top: 50%; width: 2px; height: 65%; background: #222; transform: translateY(-50%); }
.recruit-wrap .advantage_03 ul li .val { width: 100%; }
.recruit-wrap .advantage_03 ul li .val img { width: 100%; object-fit: cover; }
.recruit-wrap .advantage_03 ul li .txtbox { position: relative; display: flex; align-items: center; justify-content: center; padding: 0px; width: 100%; }
.recruit-wrap .advantage_03 ul li .txtbox::before { /* content: ""; */ position: absolute; left: 0; top: 0; width: 100%; height: 100%; backdrop-filter: blur(10px); }
.recruit-wrap .advantage_03 ul li .txtbox p { position: relative; z-index: 5; padding: 15px 20px 0; font-weight: 700; font-size: 1rem; }
.recruit-wrap .advantage_03 ul li .txtbox p span {}

/* ============== CONTACT =============== */

.recruit-wrap .contact {/* background: url(/theme/theme_wide_17/img/rec_bg_01.jpg)no-repeat center/cover; */ color: #fff; text-align: center; }
.recruit-wrap .contact .container { position: relative; padding: 50px 0; background: #222; border-radius: 17px; }
.recruit-wrap .contact .container::before { position: absolute; content: ""; left: -20%; top: 0; width: 50%; height: 100%; background: url(/theme/theme_wide_17/img/bg_dotted.png)no-repeat center/cover; opacity: 0.1; }
.recruit-wrap .contact .text-box { margin-bottom: 50px; }
.recruit-wrap .contact h3 { text-align: center; line-height: 1.6; }
.recruit-wrap .contact p {  }
.recruit-wrap .contact #cilpalert { position: absolute; width: 100%; left: 0; bottom: 15px; z-index: 10; display: block; opacity: 0; color: #fff; margin: 0; font-size: 0.9375rem; }
.recruit-wrap .contact #clipcopy { border: 0; padding: 15px 30px; font-weight: 700; border-radius: 7px; }

/* ============== PROCESS =============== */

.recruit-wrap .process { background: url(/theme/theme_wide_17/img/re_03_bg.jpg)no-repeat center/cover; }
.recruit-wrap .process h3 { margin-bottom: 25px; text-align: center; color: #fff; }
.recruit-wrap .process h3 span { margin-bottom: 15px; color: inherit; font-weight: inherit; }
.recruit-wrap .process h3 span:last-child { margin-bottom: 0px; }

.recruit-wrap .pro-cont { text-align: center; }
.recruit-wrap .pro-cont ul { overflow: hidden; display: flex; flex-flow: row wrap; justify-content: center; }
.recruit-wrap .pro-cont ul li { position: relative; display: flex; flex-flow: column wrap; align-items: center; margin-bottom: 40px; width: 100%; }
/* .recruit-wrap .pro-cont ul li::before { content: ""; position: absolute; right: 0; top: 50%; width: 1.5rem; aspect-ratio: 1; background: #222; transform: translate(50%, -50%); clip-path: polygon(0% 0%, 100% 50%, 0% 100%); } */
.recruit-wrap .pro-cont ul li:last-child::before { display: none; }
.recruit-wrap .pro-cont ul li p { display: flex; flex-flow: row wrap; justify-content: start; align-items: center; width: 100%; background: rgba(255, 255, 255, 1); padding: 20px 20px 20px 20%; max-height: 80px; border: 1px solid #dfdfdf; border-radius: 20px; }
.recruit-wrap .pro-cont ul li p img {  }

.recruit-wrap .pro-cont ul li p span:first-child { position: relative; margin-right: 20px; width: 200px; text-align: left; font-size: 1.25rem; font-weight: 700; color: #222 }
.recruit-wrap .pro-cont ul li p span:first-child::before { position: absolute; content: ""; right: 20px; top: 50%; z-index: 2; width: 2px; height: 65%; background: #222; transform: translateY(-50%); }
.recruit-wrap .pro-cont ul li p span:last-child { line-height: 1.2; }

.recruit-wrap .pro-cont ul li p span {  }
.recruit-wrap .pro-cont ul li p span i { font-style: normal; font-weight: 700; color: #40ccff }



/* ============== INQUIRY =============== */
/* ============== INQUIRY =============== */
/* ============== INQUIRY =============== */

/* ============== FORM =============== */

.inquiry-wrap { padding: 150px 0; }
.inquiry-wrap .titlebox { padding: 20px 0; margin-bottom: 75px; }
.inquiry-wrap .titlebox h3 { position: relative; padding-bottom: 20px; margin-bottom: 20px; width: max-content; border-bottom: 1px solid #37740b; text-align: left; }
.inquiry-wrap .titlebox h3::before { content: ""; position: absolute; left: 0em; top: 120%; width: 3em; aspect-ratio: 1; border: 5px dotted #37740b; border-radius: 50%; animation: drowCircle 10s infinite linear; }
.inquiry-wrap .titlebox h3 span { position: relative; z-index: 5; }
.inquiry-wrap .titlebox h3 p {}
.inquiry-wrap .titlebox h3 p:last-child {}
.inquiry-wrap .rqfield { position: relative; }
.inquiry-wrap .rqfield::after { content: "*"; position: absolute; right: -10px; top: 50%; font-size: 1em; transform: translate(0, -50%); color: #37740b; }

.inquiry-wrap .titlebox .contact-wrap { margin-top: 30px; padding: 30px; border-top: 1px solid #eee; border-bottom: 1px solid #eee; }
.inquiry-wrap .titlebox .contact-wrap h4 { margin-bottom: 1em; line-height: 1.5; }
.inquiry-wrap .titlebox .contact-wrap h4 span { display: block; }
.inquiry-wrap .titlebox .contact-wrap h4 span:last-child { font-size: 1rem; color: #7b7b7b; font-weight: 400;}
.inquiry-wrap .titlebox .contact-wrap p { }
.inquiry-wrap .titlebox .contact-wrap p a { margin-bottom: 1em; display: inline-flex; align-items: center; justify-content: start; font-size: 1.5rem; color: inherit; font-weight: 700; }
.inquiry-wrap .titlebox .contact-wrap p a span { margin-right: 10px; padding: 10px; border-radius: 100px; background:#37740b; color: #fff; }

.inquiry-wrap .formbox {}
.inquiry-wrap .formbox form { display: flex; flex-flow: row wrap; width: 100%; }
.inquiry-wrap .formbox .form-item { display: flex; flex-flow: row wrap; padding: 0 20px; width: 50%; }
.inquiry-wrap .formbox .form-item h4 { position: relative; padding-left: 1em; margin-bottom: 30px; min-width: 50%; width: max-content; text-align: left; font-weight: 700; }
.inquiry-wrap .formbox .form-item h4::before { content: ""; position: absolute; left: 0; top: 50%; width: 0.8rem; aspect-ratio: 1; background: #37740b; transform: translate(0, -50%); clip-path: polygon(0% 0%, 100% 50%, 0% 100%); }
.inquiry-wrap .formbox .form-item p {}
.inquiry-wrap .formbox .form-item p label { font-size: 1.25rem; cursor: pointer }
.inquiry-wrap .formbox .form-item p input {}
.inquiry-wrap .formbox .form-item p input[type = checkbox],
.inquiry-wrap .formbox .form-item p input[type = radio] { margin-right: 10px; appearance: none; width: 1em; height: 1em; border: 1px solid #ccc; border-radius: 50%; background: #fff; }
.inquiry-wrap .formbox .form-item p input[type = checkbox]:checked,
.inquiry-wrap .formbox .form-item p input[type = radio]:checked { background: #222; }
.inquiry-wrap .formbox .form-item p input[type = text] { border-width: 1px; }
.inquiry-wrap .formbox .form-item p input[type = text]:focus {  }
.inquiry-wrap .formbox .form-item p input[type = file] {}
.inquiry-wrap .formbox .form-item p textarea {}

#section-1 p input[type = checkbox]:checked,
#section-1 p input[type = radio]:checked { background: #ec61d8; }
#section-2 p input[type = checkbox]:checked,
#section-2 p input[type = radio]:checked { background: #37740b; }

.inquiry-wrap .formbox .form-item textarea::placeholder,
.inquiry-wrap .formbox .form-item input[type = text]::placeholder { font-size: 1rem; color: #aaa; font-weight: 300; }

.inquiry-wrap .formbox .checkbox { border-right: 1px solid #eee; flex-direction: column; }
.inquiry-wrap .formbox .namebox {  }

.inquiry-wrap .formbox .form-item .checklist { display: flex; flex-flow: row wrap; justify-content: ; align-items: center; }
.inquiry-wrap .formbox .form-item .checklist.lined { border-bottom:1px solid #ddd }
.inquiry-wrap .formbox .form-item .checklist p { width: 33%; }
.inquiry-wrap .formbox .form-item .checklist p:last-child { margin-top: 1px; width: 100%; }
.inquiry-wrap .formbox .form-item .checklist input[type = text] { margin-left: 10px; }

.inquiry-wrap .formbox .form-item .namebox { width: 50%;  }
.inquiry-wrap .formbox .form-item .userinfo { width: 100%; }
.inquiry-wrap .formbox .form-item .userinfo p { margin-bottom: 15px; }
.inquiry-wrap .formbox .form-item .userinfo p:last-child { margin-bottom: 0px; }
.inquiry-wrap .formbox .form-item .userinfo label { font-weight: 600; }
.inquiry-wrap .formbox .form-item .userinfo input[type = text] { width: 100%; text-indent: 0.5rem; }
.inquiry-wrap .formbox .form-item .userinfo .ctm_file label { width: 100%; }
.inquiry-wrap .formbox .form-item .userinfo .ctm_file b { display: block; font-size: 0.9375rem; color: #aaa; font-weight: 400; }
.inquiry-wrap .formbox .form-item .userinfo .ctm_text textarea { width: 100%; min-height: 200px; }

.inquiry-wrap .formbox .submitbox { padding: 20px; width: 100%; text-align: center; }
.inquiry-wrap .formbox .submitbox .form-end { width: 100%; text-align: center; }
.inquiry-wrap .formbox .submitbox .ctm-go { position: relative; display: inline-block; }
.inquiry-wrap .formbox .submitbox .ctm-go::before { content: ""; position: absolute; right: -4em; top: 120%; width: 4em; aspect-ratio: 1; border: 5px dotted #37740b; border-radius: 50%; animation: drowCircle 10s infinite linear; }
.inquiry-wrap .formbox .submitbox p:first-child { margin-bottom: 20px; }
.inquiry-wrap .formbox .submitbox p input[type = submit] { appearance: none; padding: 10px 50px; font-weight: 600; background: #fff; border: 1px solid #222; border-radius: 5px; transition: all 0.3s; color: #222; }
.inquiry-wrap .formbox .submitbox p input[type = submit]:hover { background: #222; color: #fff; }
.inquiry-wrap .formbox .submitbox p span { position: relative; z-index: 5; }

#section-1, #section-2 { margin-top:10px; }
#section-2 .checklist p:nth-child(1) { width:20%; padding-top:3px; padding-bottom:3px; background: #eaeaea; text-align: center}
#section-2 .checklist p:nth-child(2) { width:40%; padding-top:3px; padding-bottom:3px; padding-left:5px; }
#section-2 .checklist p:nth-child(3) { width:40%; padding-top:3px; padding-bottom:3px; padding-left:5px; }
#section-2 .checklist p:last-child { border-bottom:1px solid #ddd }

.swiper_li .img-box img { width: 100%; }
.swiper-wrapper { transition-timing-function: linear; }



@media screen and (max-width: 991px) {

	.custom-banner h2 { font-size: clamp(2.5rem,4vw,3.5rem); }
	.custom-banner div p { font-size: clamp(1rem,2vw,1.5rem); }
	.custom-banner p.last-txt { font-size: clamp(0.8125rem,1.7vw,1.125rem); }
	.top-banner.recruit-page p.last-txt { font-size: clamp(0.8125rem,1.7vw,1.125rem) }
	.top-banner.recruit-page, .top-banner.inquiry-page { padding-left: 10%; }

	.custom-wrap > div { padding: 50px 0; }
	.custom-wrap > *:first-child { padding: 100px 0 50px; }




	.greeting .greeting-cont { justify-content: center; }
	.greeting .greeting-cont .img-wrap {  }
	.greeting .greeting-cont .txt-wrap {  }
	.greeting .greeting-cont .txt-wrap p { width: 100%; }

	.custom-wrap .member_img { padding: 0; }


	.business .business-cont ul li { padding: 30px; }
	.business .business-cont ul li::after { transform-origin: center 140px; }
	.business .business-cont ul li img { max-width: 60px; }

	.recruit-wrap h3 { max-width: 91%; }
	.recruit-wrap .recruit { padding: 50px 0; }
	.recruit-wrap .advantage_01 .txtbox p:first-child { display: none; }

	.adv_swiper { padding: 75px 0 0 75px; }
	.adv_swiper .swiper-container .item-txt p { font-size: 1.125rem; }

	.inquiry-wrap { padding: 0; }

}

@media screen and (max-width: 768px){

	p { font-size: 1rem; }

	.top-banner.recruit-page::before, .top-banner.inquiry-page::before { clip-path: polygon(0% 0%, 55% 0%, 75% 100%, 0% 100%); }

	.greeting .greeting-cont .img-wrap { width: 49%; }
	.greeting .greeting-cont .txt-wrap { width: 49%; }
	.greeting .greeting-cont .txt-wrap p { font-size: 1rem; }
	.greeting .greeting-cont .txt-wrap p span { display: block; }

	.inquiry-wrap .formbox .checkbox { padding: 0 20px 20px; margin: 0 0 20px; border-right: none; border-bottom: 1px solid #eee; }
	.inquiry-wrap .formbox .form-item { width: 100%; }

	.business .business-cont ul li p:first-child { font-size: 1.5rem; }
	.vision .vision-cont .flex-wrapper ul dd { font-size: 1rem; }

	.recruit-wrap h3 { margin-bottom: 25px; max-width: 100%; }
	.recruit .cont-wrap .txtbox { padding: 0; }

	.adv_swiper .swiper-container .item-txt { padding: 0 0 50px 0; }
	.adv_swiper .button-wrap .swiper-button-prev, .adv_swiper .button-wrap .swiper-button-next { width: 2rem; height: 2rem; background-size: 10px 15px; }

	.recruit-wrap .advantage_03 ul { padding: 50px 0 0; }
	.recruit-wrap .advantage_01 ul li .thumb .txt_box { padding: 10px 0 10px 50px; }
	.recruit-wrap .advantage_03 ul li { width: calc(100% / 3); }
	.recruit-wrap .advantage_03 ul li:first-child { padding-left: 0; padding-bottom: 1em; width: 100%; }

	.recruit-wrap .pro-cont ul li p { padding: 20px 20px 20px 10%; max-height: unset; }
	.recruit-wrap .pro-cont ul li p span:first-child { width: 150px; font-size: 1.125rem; }

	.recruit-wrap .contact .container { max-width: 80vw; }
	.recruit-wrap .contact .text-box { margin-bottom: 25px; }

}

@media screen and (max-width: 640px){

	.br640 { display: block; }
	.top-banner.custom-banner { height: 70vh; height: 70svh; }
	.top-banner p { font-size: 1rem; }
	.copy-cont { padding: 100px 0 0; }


	.greeting .greeting-cont .txt-wrap p { font-size: 1rem; }

	.business .business-cont ul li { padding: 10px; width: 25%; }

	.vision .vision-cont ul { width: 90%; }
	.vision .vision-cont ul:nth-child(3) { margin-top: unset; }
	.vision .vision-cont ul:nth-child(4) { margin-top: unset; }
	.vision .vision-cont ul:nth-child(5) { margin-top: unset; }
	.vision .vision-cont ul:nth-child(6) { margin-top: unset; }
	.vision .vision-cont ul:nth-child(even) { place-self: unset; }
	.vision .vision-cont ul:nth-child(odd) { place-self: unset; }
	.vision .vision-cont .flex-wrapper ul { width: 68%; }
	.vision .vision-cont .flex-wrapper .img-wrap { width: 30%; }
	.vision .vision-cont .flex-wrapper .img-wrap img { width: 100%; }

	.member ul.depth01 h4 { font-size: 1.25rem; }
	.member ul.depth01 h4 p { padding: 10px; }
	.member ul.depth01 h4 p::before { width: calc(100% - 10px); }

	.member ul.depth01 dt { padding: 3px 6px; white-space: nowrap; }
	.member ul.depth01 > li > p { padding: 3px 7px; font-size: 1rem; }
	.member ul li dl dt,
	.member ul li dl dd { font-size: 1rem; line-height: 1; }

	.recruit-wrap .advantage_03 ul li { padding: 20px; }


}

@media screen and (max-width: 568px){

	.container { }

	.custom-wrap .member_img { padding: 0; }




	.recruit:nth-child(even) .cont-wrap ul li > *:nth-child(2) { font-size: 1rem; }
	.recruit .cont-wrap ul li div p { font-size: 1rem; }

	.recruit .cont-wrap ul li h4 { width: auto; }

	.recruit-wrap .advantage_03 ul { justify-content: center; }
	.recruit-wrap .advantage_03 ul li { padding-bottom: 0; width: 80%; }
	.recruit-wrap .advantage_03 ul li .val img { max-height: 200px; }


}

@media screen and (max-width: 480px){

	.top-banner.about-page { background: url(/theme/theme_wide_17/img/about_top.jpg) no-repeat 10% center/cover; }
	.top-banner.about-page::before { clip-path: polygon(95% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 80%); }

	.top-banner.custom-banner { align-items: end; padding: 0 6.25vw 6.25vw; }
	.top-banner.about-page h2 { }
	.top-banner.about-page p { }

	.custom-banner p:nth-child(2) { padding-top: 15px; }
	.top-banner.custom-banner p.last-txt { margin-top: 25px; font-size: 0.8125rem; }

	.custom-wrap .about-cont { padding: 100px 0; }

	.about-wrap h3 { margin-bottom: 50px; font-weight: 300; line-height: 1.2; }

	.custom-wrap > *:first-child { padding: 80px 0 0; }
	.custom-wrap .about-cont { padding: 40px 0; }
	.custom-wrap .about-cont.member_img { padding: 0; }


	.greeting .greeting-cont .img-wrap { margin-bottom: 25px; width: 95%; max-height: 400px; }
	.greeting .greeting-cont .img-wrap img { object-position: center -60px; }
	.greeting .greeting-cont .txt-wrap { padding: 0; width: 95%; }
	.greeting .greeting-cont .txt-wrap::before { width: 220px; height: 80px; transform: translate(10%, 50%) rotate(350deg); }


	.business .business-cont ul { gap: unset; text-align: center; }
	.business .business-cont ul li { margin-bottom: 20px; padding: 20px 10px; width: 80%; font-size: 1rem; height: unset; }
	.business .business-cont ul li p:first-child { margin-bottom: 10px; font-size: 1.25rem; }


	.vision .vision-cont { position: relative; flex-flow: row wrap; justify-content: end; }
	/* .vision .vision-cont::before { content: ""; position: absolute; left: calc(6.25vw + 30px); bottom: 100px; width: 30%; height: 70px; background: url(/theme/theme_wide_17/img/logo.png) no-repeat center /contain; filter: invert(1) brightness(1); opacity: 0.2; } */
	.vision .vision-cont .flex-wrapper { margin-bottom: 50px; }
	.vision .vision-cont .flex-wrapper:nth-child(even) .img-wrap { order: 1; }
	.vision .vision-cont .flex-wrapper:nth-child(odd) .img-wrap { order: 1; }
	.vision .vision-cont .flex-wrapper:nth-child(even) ul { order: 2; text-align: center; }
	.vision .vision-cont .flex-wrapper:nth-child(odd) ul { order: 2; text-align: center; }
	.vision .vision-cont .flex-wrapper ul { overflow: visible; width: 100%; order: 2; }
	.vision .vision-cont .flex-wrapper ul dt { margin-bottom: 0; padding: 10px 15px; width: 90%; white-space: nowrap; }
	.vision .vision-cont .flex-wrapper ul dt p { font-size: 0.9375rem; }
	.vision .vision-cont .flex-wrapper ul dd { display: none; }
	.vision .vision-cont .flex-wrapper .img-wrap { margin: 0 auto; width: 50%; max-height: 230px; order: 1; }
	.vision .vision-cont .flex-wrapper ul dt::after { top: -10px; bottom: unset; transform: scale(-1, -1); }
	.vision .vision-cont .flex-wrapper:nth-child(odd) ul dt::after { transform: scale(1, -1); }


	.member ul.depth01 > li { width: 100%; max-width: 100%; overflow: hidden; margin-bottom: 15px; }
	.member ul.depth01 > li:last-child { margin-bottom: 0px; }
	.member ul.depth01 > li:last-child .br640 { display: none; }

	.member ul.depth01 > li > p { margin-bottom: 50px; margin-right: 10px; width: 30%; float: left; white-space: nowrap; }
	.member ul.depth01 > li > p::after { bottom: -100px; height: 100px; }
	.member ul.depth01 > li:last-child > p::after { display: none; }
	.member ul.depth01 > li:last-child > p::before { display: block; }

	.member ul.depth01 li dl { flex-flow: row wrap; }
	.member ul.depth01 dt { padding: 8px 6px; width: 30%; font-size: 0.9375rem; }


	.member ul li dl dt { margin-bottom: 0; margin-right: 10px; }
	.member ul li dl dd { margin-bottom: 0; margin-right: 10px; }
	.member ul li dl dd:last-child { margin-right: 0; }
	.member .br640 { display: none; }

	.recruit-wrap .pro-cont ul { justify-content: center; }
	.recruit-wrap .pro-cont ul li { margin-bottom: 20px; width: 80%; }
	.recruit-wrap .pro-cont ul li::before { right: 50%; top: unset; bottom: 0; transform: translate(50%, 50%) rotate(90deg); }
	.recruit-wrap .pro-cont ul li:last-child { margin-bottom: 0; padding-bottom: 0; }

	.recruit .cont-wrap ul {  }
	.recruit-wrap .advantage_01 .cont-wrap .txtbox p { font-weight: 300; }
	.recruit-wrap .advantage_01 ul li .thumb { position: relative; display: block; border: unset; margin: 0; padding: 0; }
	.recruit-wrap .advantage_01 ul li .thumb img { width: 100%; max-width: 100%; }
	.recruit-wrap .advantage_01 ul li .thumb .txt_box { position: relative; margin: 0; padding: 10px 20px 20px; width: 100%; background: rgba(255, 255, 255, 0.85); }
	.recruit-wrap .advantage_01 ul li .thumb .txt_box h4 { font-size: 1rem; }
	.recruit-wrap .advantage_01 ul li .thumb .txt_box p { display: none; }

	.recruit .cont-wrap ul li h4 { padding-bottom: 10px; }
	.recruit .cont-wrap .txtbox p { margin-bottom: 0; line-height: 1.2; font-weight: 300; }
	.recruit .cont-wrap .txtbox p:last-child { font-size: 0.9375rem; }

	.recruit-wrap .advantage_03 ul li:first-child p { font-size: 1rem; line-height: 1.2; }
	.recruit-wrap .advantage_03 ul li { width: 100%; padding: 0; }
	.recruit-wrap .advantage_03 ul li:first-child {  }
	.recruit-wrap .advantage_03 ul li .val img { max-height: 150px; }
	.recruit-wrap .advantage_03 ul li .txtbox p { padding: 10px 0px 15px; }

	.recruit-wrap .process h3 { line-height: 1.2; }
	.recruit-wrap .process h3 span { margin: 0; }
	.recruit-wrap .process h3 span:last-child { font-size: inherit; }

	.recruit-wrap .contact h3 { line-height: 1.2; }
	.recruit-wrap .contact #clipcopy { padding: 7px 15px; font-size: 0.875rem; }

	.adv_swiper .swiper-container .slide-inner {  }
	.adv_swiper .swiper-container .item-txt { padding: 10px 10px 20px 10px; }
	.adv_swiper .swiper-container .item-txt p { font-size: 0.875rem; font-weight: 300; }
	.adv_swiper .swiper-container .item-txt p:last-child { font-size: 0.8125rem; }

	.inquiry-wrap .titlebox { padding: 20px 6.25vw; }
	.inquiry-wrap .titlebox .contact-wrap { padding: 20px; }
	.inquiry-wrap .titlebox .contact-wrap h4 { font-size: 1.5rem; line-height: 1.2; }
	.inquiry-wrap .titlebox .contact-wrap h4 span:first-child { margin-bottom: 10px; }
	.inquiry-wrap .titlebox .contact-wrap p a { width: 100%; }

	.inquiry-wrap .formbox .form-item .checklist p { }
	.inquiry-wrap .formbox .form-item p label { font-size: 1rem; }


}

@media screen and (max-width: 390px){

	.br390 { display: block; }

	.all-wrap { font-size: 1rem; }

	.greeting .greeting-cont .img-wrap { max-height: 300px; }

	.recruit-wrap h3 span:last-child { line-height: 1.2; }
	.recruit-wrap .advantage_03 h3 span:last-child { line-height: 1.2; }

	.recruit-wrap .pro-cont ul li { width: 100%; }
	.recruit-wrap .pro-cont ul li p { padding: 20px; }
	.recruit-wrap .pro-cont ul li p span:last-child { text-align: left; }
	.recruit-wrap .pro-cont ul li p span:first-child::before { display: none; }

	.recruit-wrap .advantage_02 .txtbox p br { display: none; }
	.recruit-wrap .advantage_03 .txtbox p br { display: none; }

	.adv_swiper { padding: 50px 0 0 6.25vw; }

	.inquiry-wrap .titlebox .contact-wrap p i.runtime { display: inline-block; padding-bottom: 5px; margin-bottom: 5px; border-bottom: 1px solid rgba(0, 0, 0, 0.2); font-weight: 700; }
	.inquiry-wrap .titlebox .contact-wrap p i.sidebar { display: none; }


}

@media screen and (max-width: 360px){

	.inquiry-wrap .formbox .form-item .checklist input[type = text] { margin-left: 0; width: 100%; }
	.inquiry-wrap .formbox .form-item .userinfo input[type = text]::placeholder,
	.inquiry-wrap .formbox .form-item .userinfo .ctm_text textarea::placeholder { font-size: 0.8125rem; }

	.recruit-wrap .advantage_01 ul li .thumb img { min-height: 140px; }
	.recruit-wrap .advantage_01 ul li .thumb .txt_box { padding: 15px 10px; }
	.recruit-wrap .advantage_01 ul li .thumb .txt_box h4 { font-size: 1.25rem; }




	.recruit-wrap .contac { padding: 25px 0; }
	.recruit-wrap .contact h3 { line-height: 1.4; }
	.recruit-wrap .contact #clipcopy { padding: 10px 15px; }

}

@media screen and (max-width: 320px){

	.inquiry-wrap .formbox .form-item p label { font-size: 0.8125rem; }
	.inquiry-wrap .formbox .submitbox p:first-child { text-align: left; }

	.vision .vision-cont .flex-wrapper ul dt p { text-align: center; }

	.recruit-wrap .advantage_01 ul li .thumb .txt_box h4 { font-size: 1rem; }
	.recruit-wrap .advantage_01 ul li .thumb .txt_box p { font-size: 0.9375rem; }

}


























@font-face {
	font-family: 'Material Icons';
	font-style: normal;
	font-weight: 400;
	src: url(https://example.com/MaterialIcons-Regular.eot); /* For IE6-8 */
	src: local('Material Icons'),
	local('MaterialIcons-Regular'),
	url(https://example.com/MaterialIcons-Regular.woff2) format('woff2'),
	url(https://example.com/MaterialIcons-Regular.woff) format('woff'),
	url(https://example.com/MaterialIcons-Regular.ttf) format('truetype');
}
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20; font-size: 18px !important }
.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}