@charset "UTF-8";
/* 日本語 */
/**********************************************/
body { background-color: #17ACB7; }

/**********************************************/
.page_link { padding: 65px 0 10px; max-width: 1500px; width: calc(100% - 100px); margin: 0 auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; align-items: flex-start; }
.page_link a { display: block; width: 370px; margin: 0 0 0 30px; background-color: #fff; color: #17ACB7; height: 50px; position: relative; border-radius: 50px; font: 2rem/48px "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; padding: 0 0 0 55px; }
.page_link a:before { position: absolute; content: ""; display: block; background: url("../img/ico_schedule_arrow.svg") center center no-repeat; background-size: contain; width: 24px; height: 24px; left: 20px; top: 12px; }

/*max-width:1280px*/
@media (max-width: 1024px) { .page_link { padding: 65px 0 20px; max-width: 1500px; width: calc(100% - 50px); }
  .page_link a { display: block; width: 330px; margin: 0 0 0 20px; border-radius: 50px; font: 1.8rem/48px "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; padding: 0 0 0 50px; }
  .page_link a:nth-of-type(1) { margin: 0; }
  .page_link a:before { left: 15px; top: 12px; } }
/*max-width:1024px*/
@media (max-width: 768px) { .page_link { padding: 65px 0 20px; max-width: 1500px; width: calc(100% - 50px); display: block; }
  .page_link a { display: block; width: 330px; margin: 0 0 20px auto; border-radius: 50px; font: 1.8rem/48px "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; padding: 0 0 0 50px; }
  .page_link a:nth-of-type(1) { margin: 0 0 20px auto; }
  .page_link a:before { left: 15px; top: 12px; } }
/*max-width:768px*/
@media (max-width: 480px) { .page_link { padding: 65px 0 20px; max-width: 1500px; width: calc(100% - 40px); display: block; }
  .page_link a { display: block; max-width: 350px; margin: 0 auto; }
  .page_link a:nth-of-type(1) { margin: 0 auto 20px auto; } }
/*max-width:480px*/
@media (hover: hover) { .page_link a:hover { color: #9BE1EE; } }
/*********************************************/
section { max-width: 100%; width: 100%; margin: 0 auto; }
section h1 { height: 135px; font: 5rem/1em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; letter-spacing: 0.1em; position: relative; }
section h1 span { overflow: hidden; text-indent: 100%; white-space: nowrap; position: relative; z-index: 1; display: block; }
section h1 small { margin: 15px 0 0; display: block; z-index: 1; font: 1.9rem/1em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; letter-spacing: 0.019em; }
section h1:before { position: absolute; left: 0; top: 0; font: 16rem/1em "Urbanist", Arial, Helvetica, "sans-serif"; font-weight: 700; }

@media (max-width: 1280px) { section { max-width: 100%; width: 100%; margin: 0 auto; }
  section h1:before { top: auto; bottom: -10%; font: 11.5vw/1em "Urbanist", Arial, Helvetica, "sans-serif"; font-weight: 700; } }
/*max-width:1280px*/
@media (max-width: 1024px) { section h1 { height: 110px; } }
/*max-width:1024px*/
@media (max-width: 768px) { section h1 { height: auto; margin: 0 auto 50px; }
  section h1 span { margin: 0 auto; }
  section h1:before { display: none; } }
/*max-width:768px*/
@media (max-width: 480px) { section h1 { margin: 0 auto 35px; } }
/*max-width:480px*/
/*********************************************/
.data h1 { color: #fff; }
.data h1 span { background: url("../img/dat_ttl.svg") center center no-repeat; background-size: contain; aspect-ratio: 215/80; width: 100%; max-width: 215px; height: auto; }
.data h1:before { position: absolute; content: "COMPANY"; color: #059DA8; }

.data_all { padding: 35px 0 110px; max-width: 1500px; width: calc(100% - 100px); margin: 0 auto; }

.company_data { position: relative; z-index: 10; background-color: #fff; border-radius: 15px; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; padding: 55px 50px 30px 50px; position: relative; }
.company_data h2 { text-align: justify; text-justify: inter-ideograph; width: 100%; font: 3.6rem/1.5em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; letter-spacing: 0.06em; color: #17ACB7; padding: 0 0 10px; margin: 0 0 35px; border-bottom: 3px solid #17ACB7; }

.comment { width: calc(100% - 750px); max-width: 600px; }
.comment p { font: 1.8rem/2.2em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 500; letter-spacing: 0.03em; margin-bottom: 15px; text-align: justify; text-justify: inter-ideograph; }
.comment:has(> p:only-of-type) > p { margin-bottom: 0; }
.comment:has(> p:nth-of-type(2)) > p:last-of-type { margin-bottom: 0; }

.slider { width: 100%; max-width: 690px; height: auto; aspect-ratio: 69/46; margin: 0 !important; }

.slide_item { overflow: hidden; width: 100%; max-width: 690px; height: auto; aspect-ratio: 69/46; }
.slide_item img { width: 100%; height: 100%; object-fit: cover; }

.slick-prev, .slick-next { z-index: 10; background: rgba(0, 0, 0, 0.5); color: #fff; padding: 0; border: none; font-size: 0; cursor: pointer; top: calc(50% - 20px) !important; transform: translate(0%, -50%) !important; width: 40px !important; height: 40px !important; }
.slick-prev:before, .slick-next:before { display: none; }
.slick-prev:after, .slick-next:after { position: absolute; content: ""; width: 15px; height: 15px; border-top: 3px solid #fff; border-right: 3px solid #fff; }

.slick-prev { left: 0 !important; }
.slick-prev:after { -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }

.slick-next { left: auto !important; right: 15px !important; }
.slick-next:after { -webkit-transform: rotate(45deg); transform: rotate(45deg); }

.dots-wrap { padding: 10px 0 0 0; margin: 0; display: flex; justify-content: center; }
.dots-wrap li { width: 10px; height: 10px; margin: 0 5px; background: #767676; border-radius: 50%; cursor: pointer; }
.dots-wrap li:hover, .dots-wrap li.slick-active { background: #ccc; }
.dots-wrap li button { display: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; outline: none; padding: 0; border: none; background-color: transparent; }

@media (max-width: 1280px) { .comment { width: 100%; max-width: 100%; margin: 0 0 50px; }
  .slider { width: 100%; max-width: 690px; height: auto; margin: 0 auto 50px !important; aspect-ratio: 69/46; } }
/*max-width:1280px*/
@media (max-width: 1024px) { .data_all { width: calc(100% - 50px); }
  .company_data h2 { width: 100%; font: 3rem/1.5em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; }
  .slider { width: 90%; } }
/*max-width:1024px*/
@media (max-width: 768px) { .company_data { padding: 45px 30px 40px; }
  .company_data h2 { width: 100%; font: 2.6rem/1.5em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; }
  .comment { width: 100%; max-width: 100%; margin: 0 0 35px; }
  .data_all { padding: 35px 0 70px; width: calc(100% - 40px); }
  .slider { width: 100%; margin: 0 auto 0 !important; } }
/*max-width:768px*/
@media (max-width: 480px) { .company_data { padding: 30px 25px; }
  .company_data h2 { width: 100%; font: 2.4rem/1.5em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; margin: 0 auto 20px; }
  .comment p { font: 1.6rem/2.2em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 500; }
  .data h1 span { width: 100%; max-width: auto; height: 68px; } }
/*max-width:480px*/
/*********************************************/
.movie { padding: 100px 0 60px; background-color: #fff; }
.movie h1 { color: #17ACB7; }
.movie h1 span { background: url("../img/archive_ttl.svg") center center no-repeat; background-size: contain; aspect-ratio: 372/80; width: 100%; max-width: 372px; height: auto; }
.movie h1:before { position: absolute; content: "ARCHIVE"; color: #179EA9; opacity: 0.1; }

.movie_all { max-width: 1500px; width: calc(100% - 100px); margin: 0 auto; }

.movie_box { position: relative; }
.movie_box p { font: 1.6rem/2.2em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 500; letter-spacing: 0.03em; margin: 15px 0 0; text-align: justify; text-justify: inter-ideograph; }

.video { aspect-ratio: 16/9; width: 100%; max-width: 100%; height: auto; }
.video iframe { width: 100%; height: 100%; }

@media (max-width: 1024px) { .movie_all { max-width: 1500px; width: calc(100% - 50px); margin: 0 auto; } }
/*max-width:1024px*/
@media (max-width: 768px) { .movie_all { max-width: 1500px; width: 100%; margin: 0 auto; } }
/*max-width:768px*/
@media (max-width: 480px) { .movie { padding: 50px 0 30px; }
  .movie h1 span { width: 100%; max-width: auto; height: 68px; } }
/*max-width:480px*/
/*********************************************/
.qa_all h1 span { background: url("../img/qa_ttl.svg") center center no-repeat; background-size: contain; aspect-ratio: 116/80; width: 100%; max-width: 119px; height: auto; }
.qa_all h1:before { content: "Q&A"; }

.message_all h1 span { background: url("../img/messeage_ttl.svg") center center no-repeat; background-size: contain; aspect-ratio: 712/80; width: 100%; max-width: 712px; height: auto; }
.message_all h1:before { content: "MESSAGE"; }

.message_all, .qa_all { padding: 85px 0 0; max-width: 1500px; width: calc(100% - 100px); margin: 0 auto; }
.message_all h1, .qa_all h1 { color: #17ACB7; }
.message_all .qa_box, .message_all .message_box, .qa_all .qa_box, .qa_all .message_box { padding: 15px 0 0; font: 1.8rem/2.2em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 500; }
.message_all .qa_box h1, .message_all .message_box h1, .qa_all .qa_box h1, .qa_all .message_box h1 { font: 160%/1.8em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; height: auto; margin: 0 0 10px; padding: 0; color: #444444; }
.message_all .qa_box h1:before, .message_all .qa_box h1:after, .message_all .message_box h1:before, .message_all .message_box h1:after, .qa_all .qa_box h1:before, .qa_all .qa_box h1:after, .qa_all .message_box h1:before, .qa_all .message_box h1:after { display: none; }
.message_all .qa_box h2, .message_all .message_box h2, .qa_all .qa_box h2, .qa_all .message_box h2 { font: 150%/1.8em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; height: auto; margin: 0 0 10px; padding: 0; }
.message_all .qa_box h3, .message_all .message_box h3, .qa_all .qa_box h3, .qa_all .message_box h3 { font: 140%/1.8em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; height: auto; margin: 0 0 10px; padding: 0; }
.message_all .qa_box h4, .message_all .message_box h4, .qa_all .qa_box h4, .qa_all .message_box h4 { font: 130%/1.8em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; height: auto; margin: 0 0 10px; padding: 0; }
.message_all .qa_box h5, .message_all .message_box h5, .qa_all .qa_box h5, .qa_all .message_box h5 { font: 120%/1.8em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; height: auto; margin: 0 0 10px; padding: 0; }
.message_all .qa_box p, .message_all .message_box p, .qa_all .qa_box p, .qa_all .message_box p { text-align: justify; text-justify: inter-ideograph; margin: 0 0 30px; }
.message_all .qa_box img, .message_all .message_box img, .qa_all .qa_box img, .qa_all .message_box img { max-width: 640px; }

@media (max-width: 1024px) { .message_all, .qa_all { padding: 85px 0 0; max-width: 1500px; width: calc(100% - 50px); margin: 0 auto; } }
/*max-width:1024px*/
@media (max-width: 768px) { .message_all .qa_box, .message_all .message_box, .qa_all .qa_box, .qa_all .message_box { padding: 0; }
  .message_all h1 span { background: url("../img/messeage_ttl_sp.svg") center center no-repeat; background-size: contain; aspect-ratio: 382/158; width: 100%; max-width: 382px; height: auto; } }
/*max-width:768px*/
@media (max-width: 480px) { .message_all, .qa_all { padding: 60px 0 0; }
  .message_all .qa_box, .message_all .message_box, .qa_all .qa_box, .qa_all .message_box { font: 1.6rem/2.2em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 500; }
  .message_all .qa_box p, .message_all .message_box p, .qa_all .qa_box p, .qa_all .message_box p { margin: 0 0 20px; }
  .qa_all h1 span { width: 100%; max-width: auto; height: 68px; }
  .message_all h1 span { max-width: 320px; height: auto; } }
/*max-width:480px*/
/*********************************************/
.company { background-color: #fff; padding: 100px 0 150px; }

.company_all { max-width: 1500px; width: calc(100% - 100px); margin: 0 auto; }
.company_all h1 { color: #17ACB7; }
.company_all h1 span { background: url("../img/company_ttl.svg") center center no-repeat; background-size: contain; aspect-ratio: 214/80; width: 100%; max-width: 214px; height: auto; }
.company_all h1:before { content: "INTRODUCTION"; color: #179EA9; opacity: 0.1; }

.single_company dt { width: 450px; background-color: #F1F8F9; }
.single_company dd { width: calc(100% - 450px); }

/*max-width:1280px*/
@media (max-width: 1024px) { .company_all { width: calc(100% - 50px); } }
/*max-width:1024px*/
@media (max-width: 768px) { .company { background-color: #fff; padding: 100px 0 80px; }
  .company_all { width: 100%; } }
/*max-width:768px*/
@media (max-width: 480px) { .company_all h1 span { width: 100%; max-width: auto; height: 68px; } }
/*max-width:480px*/
/*********************************************/
.single_dl { width: 100%; margin: 0 auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: stretch; border-top: #17ACB7 2px solid; border-bottom: #17ACB7 1px solid; letter-spacing: 0.04em; }
.single_dl dt { border-right: #17ACB7 1px solid; border-bottom: #17ACB7 1px solid; color: #17ACB7; padding: 25px; font: 1.8rem/2em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 500; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: center; align-items: flex-start; }
.single_dl dd { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: center; align-items: flex-start; background-color: #fff; font: 1.8rem/2em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 400; padding: 25px; border-bottom: #17ACB7 1px solid; }
.single_dl dd p { margin-bottom: 15px; }
.single_dl dd:has(> p:only-of-type) > p { margin-bottom: 0; }
.single_dl dd:has(> p:nth-of-type(2)) > p:last-of-type { margin-bottom: 0; }

/*max-width:1280px*/
@media (max-width: 1024px) { .single_dl { margin: 0 auto; display: block; }
  .single_dl dt { border-right: none; border-bottom: none; padding: 15px 20px; width: 100% !important; }
  .single_dl dd { width: 100% !important; padding: 15px 20px 35px; } }
/*max-width:1024px*/
@media (max-width: 768px) { .single_dl { border-top: none; border-bottom: none; }
  .single_dl dd { border-bottom: none; } }
/*max-width:768px*/
@media (max-width: 480px) { .single_dl dt { padding: 15px 15px; font: 1.7rem/1.6em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 500; }
  .single_dl dd { padding: 15px 15px 35px; font: 1.6rem/2em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 500; } }
/*max-width:480px*/
/*********************************************/
.recruit { padding: 100px 0 130px; }

.recruit_all { max-width: 1500px; width: calc(100% - 100px); margin: 0 auto; }
.recruit_all h1 { color: #fff; }
.recruit_all h1 span { background: url("../img/recruit_ttl.svg") center center no-repeat; background-size: contain; aspect-ratio: 214/80; width: 100%; max-width: 214px; height: auto; }
.recruit_all h1:before { content: "RECRUIT INFO"; color: #059DA8; }

.single_recruit { margin-bottom: 120px; position: relative; }
.single_recruit dt { width: 380px; background-color: #F8F8F8; }
.single_recruit dd { width: calc(100% - 380px); }

/*max-width:1280px*/
@media (max-width: 1024px) { .recruit_all { width: calc(100% - 50px); } }
/*max-width:1024px*/
@media (max-width: 768px) { .recruit_all { width: 100%; }
  .single_recruit { margin-bottom: 60px; } }
/*max-width:768px*/
@media (max-width: 480px) { .recruit_all h1 span { width: 100%; max-width: auto; height: 68px; } }
/*max-width:480px*/
/*********************************************/
.back_btn { background-color: #fff; display: block; margin: 0 auto; text-align: center; border-radius: 50px; max-width: 700px; height: 98px; width: calc(100% - 200px); font: 2.2rem/94px "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; color: #17ACB7; transition: .3s; border: 2px solid #fff; }

@media (hover: hover) { .back_btn:hover { background-color: #17ACB7; color: #fff; } }
@media (max-width: 768px) { .back_btn { width: calc(100% - 100px); height: 80px; font: 2rem/78px "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; } }
/*max-width:768px*/
@media (max-width: 480px) { .back_btn { height: 60px; font: 1.8rem/58px "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 700; } }
/*max-width:480px*/
