@charset "UTF-8";
.con-message, .con-recruit { margin-left: auto; margin-right: auto; width: calc(100% - 10.6vw); }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-message, .con-recruit { width: 92%; } }
@media only screen and (max-width: 767px) { .con-message, .con-recruit { width: 89.6%; } }

/*Animate */
/* ----------------------------------------------------------- #teaser header
----------------------------------------------------------- */
body#teaser header .logo { display: none; }

/* ----------------------------------------------------------- .con-mainvisual
----------------------------------------------------------- */
.con-mainvisual { position: relative; }
.con-mainvisual .img { overflow: hidden; display: block; width: 100%; height: 95vh; }
@media only screen and (min-width: 1513px) { .con-mainvisual .img { height: auto; } }
@media print { .con-mainvisual .img { height: auto; } }
.ie8 .con-mainvisual .img { height: auto; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .img { height: auto; aspect-ratio: 1 / 0.9; } }
@media only screen and (max-width: 767px) { .con-mainvisual .img { height: auto; aspect-ratio: 1 / 1.4; } }
.con-mainvisual .img img { max-width: none; width: 100%; height: 100%; object-fit: cover; object-position: 50% bottom; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .img img { object-position: 45% bottom; } }
.con-mainvisual .logo { background-color: #fff; position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; text-align: center; -webkit-border-radius: 0 0 40px 40px; -moz-border-radius: 0 0 40px 40px; -ms-border-radius: 0 0 40px 40px; border-radius: 0 0 40px 40px; display: inline-block; padding: 4.1vh 8px; width: 300px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .logo { padding: 0 8px 40px; } }
@media only screen and (max-width: 767px) { .con-mainvisual .logo { width: 200px; -webkit-border-radius: 0 0 24px 24px; -moz-border-radius: 0 0 24px 24px; -ms-border-radius: 0 0 24px 24px; border-radius: 0 0 24px 24px; padding: 0 8px 16px; } }
.con-mainvisual .logo img { width: 280px; }
@media only screen and (min-width: 1025px) and (max-width: 1280px) { .con-mainvisual .logo img { width: 240px; } }
@media print { .con-mainvisual .logo img { width: 240px; } }
.ie8 .con-mainvisual .logo img { width: 240px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .logo img { width: 240px; } }
@media only screen and (max-width: 767px) { .con-mainvisual .logo img { width: 180px; } }
.con-mainvisual .logo .category { font-size: 1.5rem; font-weight: 500; line-height: 1; color: rgba(94, 93, 92, 0.8); letter-spacing: 0.24em; display: inline-block; margin-top: 16px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .logo .category { font-size: 1.4rem; } }
@media only screen and (max-width: 767px) { .con-mainvisual .logo .category { font-size: 1.1rem; margin-top: 0; letter-spacing: 0; position: relative; top: -8px; } }
.con-mainvisual .box-catchcopy { margin: 0 auto; position: absolute; top: 40vh; left: 0; right: 0; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .box-catchcopy { top: 40%; } }
@media only screen and (max-width: 767px) { .con-mainvisual .box-catchcopy { top: 36%; } }
.con-mainvisual .box-catchcopy .place { display: block; max-width: 237px; width: 15.7%; margin: 0 auto 11px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .box-catchcopy .place { width: 25%; } }
@media only screen and (max-width: 767px) { .con-mainvisual .box-catchcopy .place { width: 50%; margin-bottom: 8px; } }
.con-mainvisual .box-catchcopy .opendate { display: block; max-width: 480px; width: 31.7%; margin: 0 auto; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .box-catchcopy .opendate { width: 35%; } }
@media only screen and (max-width: 767px) { .con-mainvisual .box-catchcopy .opendate { width: 75%; } }
.con-mainvisual .list-sns { position: absolute; top: 36%; right: 24px; }
@media only screen and (max-width: 767px) { .con-mainvisual .list-sns { top: auto; bottom: 16px; right: 16px; } }
.con-mainvisual .list-sns li:not(:first-child) { margin-top: 64px; }
@media only screen and (max-width: 767px) { .con-mainvisual .list-sns li:not(:first-child) { margin-top: 32px; } }
.con-mainvisual .list-sns li a { display: inline-block; color: #fff; font-size: 2rem; line-height: 1; }
@media only screen and (min-width: 1025px) { .con-mainvisual .list-sns li a { -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
  .con-mainvisual .list-sns li a:hover { color: #6ABC72; } }
@media print { .con-mainvisual .list-sns li a { -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
  .con-mainvisual .list-sns li a:hover { color: #6ABC72; } }
.ie8 .con-mainvisual .list-sns li a { -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
.ie8 .con-mainvisual .list-sns li a:hover { color: #6ABC72; }
@media only screen and (max-width: 767px) { .con-mainvisual .list-sns li a { font-size: 1.8rem; } }
.con-mainvisual.fixed .list-sns { position: fixed; z-index: 10; }
.con-mainvisual.fixed .list-sns li a { color: #282828; }
@media only screen and (min-width: 1025px) { .con-mainvisual.fixed .list-sns li a { -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
  .con-mainvisual.fixed .list-sns li a:hover { color: #6ABC72; } }
@media print { .con-mainvisual.fixed .list-sns li a { -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
  .con-mainvisual.fixed .list-sns li a:hover { color: #6ABC72; } }
.ie8 .con-mainvisual.fixed .list-sns li a { -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
.ie8 .con-mainvisual.fixed .list-sns li a:hover { color: #6ABC72; }

/* ----------------------------------------------------------- .con-message
----------------------------------------------------------- */
.con-message { display: -webkit-flex; display: flex; margin-top: 160px; }
@media only screen and (max-width: 767px) { .con-message { margin-top: 80px; } }
.con-message .box-title { width: 17%; padding-left: 5.3vw; }
@media only screen and (min-width: 1025px) and (max-width: 1280px) { .con-message .box-title { padding-left: 0; } }
@media print { .con-message .box-title { padding-left: 0; } }
.ie8 .con-message .box-title { padding-left: 0; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-message .box-title { padding-left: 0; } }
@media only screen and (max-width: 767px) { .con-message .box-title { padding-left: 0; width: 15%; } }
.con-message .box-detail { width: 83%; }
@media only screen and (max-width: 767px) { .con-message .box-detail { width: 85%; padding-left: 5%; } }
.con-message .box-detail .txt-intro { font-size: 2.4rem; font-weight: 500; letter-spacing: 0.04em; color: #5E5D5C; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-message .box-detail .txt-intro { font-size: 1.8rem; } }
@media only screen and (max-width: 767px) { .con-message .box-detail .txt-intro { font-size: 1.5rem; } }
.con-message .box-detail .wrap-detail { margin-top: 56px; }
@media only screen and (min-width: 1025px) { .con-message .box-detail .wrap-detail { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; } }
@media print { .con-message .box-detail .wrap-detail { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; } }
.ie8 .con-message .box-detail .wrap-detail { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
@media only screen and (max-width: 767px) { .con-message .box-detail .wrap-detail { margin-top: 32px; } }
.con-message .box-detail .wrap-detail .box-txt { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; gap: 40px 0; }
@media only screen and (min-width: 1025px) { .con-message .box-detail .wrap-detail .box-txt { width: 45%; } }
@media print { .con-message .box-detail .wrap-detail .box-txt { width: 45%; } }
.ie8 .con-message .box-detail .wrap-detail .box-txt { width: 45%; }
.con-message .box-detail .wrap-detail .box-txt .item h3 { color: #6ABC72; font-size: 2rem; font-weight: 500; }
@media only screen and (max-width: 767px) { .con-message .box-detail .wrap-detail .box-txt .item h3 { font-size: 1.6rem; } }
.con-message .box-detail .wrap-detail .box-txt .item .txt { color: #5E5D5C; }
.con-message .box-detail .wrap-detail .box-txt .item ul { margin: 16px auto; }
@media only screen and (max-width: 767px) { .con-message .box-detail .wrap-detail .box-txt .item ul { margin: 8px auto; } }
.con-message .box-detail .wrap-detail .box-txt .item ul li { position: relative; padding-left: 1em; }
.con-message .box-detail .wrap-detail .box-txt .item ul li:not(:first-child) { margin-top: 1em; }
.con-message .box-detail .wrap-detail .box-txt .item ul li:before { content: "・"; position: absolute; top: 0; left: 0; }
@media only screen and (min-width: 1025px) { .con-message .box-detail .wrap-detail .box-img { width: 45%; } }
@media print { .con-message .box-detail .wrap-detail .box-img { width: 45%; } }
.ie8 .con-message .box-detail .wrap-detail .box-img { width: 45%; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-message .box-detail .wrap-detail .box-img { width: 70%; margin: 56px auto 0; } }
@media only screen and (max-width: 767px) { .con-message .box-detail .wrap-detail .box-img { margin-top: 40px; } }
.con-message .box-detail .wrap-detail .box-img .txt-name { text-align: right; line-height: 1; margin-top: 24px; }
.con-message .box-detail .wrap-detail .box-img .txt-name .title { margin-right: 24px; }
@media only screen and (max-width: 767px) { .con-message .box-detail .wrap-detail .box-img .txt-name .title { margin-right: 16px; } }
.con-message .box-detail .wrap-detail .box-img .txt-name .name { font-size: 2.4rem; letter-spacing: 0.04em; margin-right: 16px; }
@media only screen and (max-width: 767px) { .con-message .box-detail .wrap-detail .box-img .txt-name .name { font-size: 2rem; margin-right: 0; } }
.con-message .box-detail .wrap-detail .box-img .txt-name .ruby { color: #6ABC72; font-family: "Montserrat", sans-serif; font-weight: 400; font-style: normal; letter-spacing: 0.04em; font-size: 1.1rem; font-weight: 500; }
@media only screen and (max-width: 767px) { .con-message .box-detail .wrap-detail .box-img .txt-name .ruby { display: block; margin-top: 8px; font-size: 1rem; } }
.con-message .box-detail .wrap-detail .box-img .img img { -webkit-border-radius: 64px 0; -moz-border-radius: 64px 0; -ms-border-radius: 64px 0; border-radius: 64px 0; }
@media only screen and (max-width: 767px) { .con-message .box-detail .wrap-detail .box-img .img img { -webkit-border-radius: 24px 0; -moz-border-radius: 24px 0; -ms-border-radius: 24px 0; border-radius: 24px 0; } }
.con-message .box-detail .box-biography_department { background-color: #FFFEF7; -webkit-border-radius: 64px 0; -moz-border-radius: 64px 0; -ms-border-radius: 64px 0; border-radius: 64px 0; padding: 56px 64px; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; gap: 0 40px; margin-top: 80px; }
@media only screen and (max-width: 767px) { .con-message .box-detail .box-biography_department { -webkit-border-radius: 24px 0; -moz-border-radius: 24px 0; -ms-border-radius: 24px 0; border-radius: 24px 0; -webkit-flex-direction: column; flex-direction: column; margin-top: 56px; padding: 32px 24px; } }
.con-message .box-detail .box-biography_department dl { width: calc(50% - 20px); display: -webkit-flex; display: flex; gap: 24px; }
@media only screen and (min-width: 1025px) and (max-width: 1280px) { .con-message .box-detail .box-biography_department dl { -webkit-flex-direction: column; flex-direction: column; } }
@media print { .con-message .box-detail .box-biography_department dl { -webkit-flex-direction: column; flex-direction: column; } }
.ie8 .con-message .box-detail .box-biography_department dl { -webkit-flex-direction: column; flex-direction: column; }
@media only screen and (max-width: 1024px) { .con-message .box-detail .box-biography_department dl { -webkit-flex-direction: column; flex-direction: column; gap: 16px; } }
@media only screen and (max-width: 767px) { .con-message .box-detail .box-biography_department dl { width: 100%; gap: 8px; }
  .con-message .box-detail .box-biography_department dl:not(:first-child) { margin-top: 32px; } }
.con-message .box-detail .box-biography_department dl dt { font-weight: 500; color: #5E5D5C; }
.con-message .box-detail .box-biography_department dl dd { font-size: 1.2rem; line-height: 1.4; margin-top: 5px; }
.con-message .box-detail .box-biography_department dl dd ul li { position: relative; padding-left: 1em; letter-spacing: 0; }
.con-message .box-detail .box-biography_department dl dd ul li:not(:first-child) { margin-top: 8px; }
.con-message .box-detail .box-biography_department dl dd ul li:before { content: "・"; position: absolute; top: 0; left: 0; }

/* ----------------------------------------------------------- .con-thoughts
----------------------------------------------------------- */
.con-thoughts { background-color: #FFFEF7; margin-top: 200px; -webkit-border-radius: 120px; -moz-border-radius: 120px; -ms-border-radius: 120px; border-radius: 120px; padding: 160px 80px; }
@media only screen and (max-width: 767px) { .con-thoughts { margin-top: 80px; -webkit-border-radius: 40px; -moz-border-radius: 40px; -ms-border-radius: 40px; border-radius: 40px; padding: 80px 24px; } }
.con-thoughts .box-thoughts { border-bottom: 1px solid #E8E5D6; }
@media only screen and (min-width: 1025px) { .con-thoughts .box-thoughts { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; margin-top: 48px; padding-bottom: 80px; } }
@media print { .con-thoughts .box-thoughts { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; margin-top: 48px; padding-bottom: 80px; } }
.ie8 .con-thoughts .box-thoughts { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; margin-top: 48px; padding-bottom: 80px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-thoughts .box-thoughts { padding-bottom: 80px; } }
@media only screen and (max-width: 767px) { .con-thoughts .box-thoughts { padding-bottom: 40px; } }
@media only screen and (min-width: 1025px) { .con-thoughts .box-thoughts .logo { width: 42%; } }
@media print { .con-thoughts .box-thoughts .logo { width: 42%; } }
.ie8 .con-thoughts .box-thoughts .logo { width: 42%; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-thoughts .box-thoughts .logo { width: 50%; margin: 40px auto 0; } }
@media only screen and (max-width: 767px) { .con-thoughts .box-thoughts .logo { width: 70%; margin: 24px auto; } }
.con-thoughts .box-thoughts .logo img { width: 100%; }
.con-thoughts .box-thoughts .txt { line-height: 2; color: #5E5D5C; }
@media only screen and (min-width: 1025px) { .con-thoughts .box-thoughts .txt { width: 50%; } }
@media print { .con-thoughts .box-thoughts .txt { width: 50%; } }
.ie8 .con-thoughts .box-thoughts .txt { width: 50%; }
.con-thoughts .box-philosophy { padding-top: 120px; text-align: center; }
@media only screen and (max-width: 767px) { .con-thoughts .box-philosophy { padding-top: 40px; } }
.con-thoughts .box-philosophy .txt { font-size: 3.2rem; color: #5E5D5C; line-height: 1.3; margin-top: 48px; font-weight: 500; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-thoughts .box-philosophy .txt { line-height: 1.75; font-size: 3rem; } }
@media only screen and (max-width: 767px) { .con-thoughts .box-philosophy .txt { line-height: 1.75; font-size: 2rem; } }

/* ----------------------------------------------------------- .con-policy
----------------------------------------------------------- */
.con-policy { margin-top: 120px; }
@media only screen and (max-width: 767px) { .con-policy { margin-top: 80px; } }
.con-policy .box-outline { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; }
@media only screen and (min-width: 1025px) { .con-policy .box-outline .title-basic { width: 40%; padding-left: 120px; } }
@media print { .con-policy .box-outline .title-basic { width: 40%; padding-left: 120px; } }
.ie8 .con-policy .box-outline .title-basic { width: 40%; padding-left: 120px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-policy .box-outline .title-basic { width: 30%; padding-left: 40px; } }
@media only screen and (max-width: 767px) { .con-policy .box-outline .title-basic { width: 38%; padding-left: 16px; } }
.con-policy .box-outline .img-policy { -webkit-border-radius: 64px 0 0 0; -moz-border-radius: 64px 0 0 0; -ms-border-radius: 64px 0 0 0; border-radius: 64px 0 0 0; overflow: hidden; aspect-ratio: 179 / 90; }
@media only screen and (min-width: 1025px) { .con-policy .box-outline .img-policy { width: 59.2%; } }
@media print { .con-policy .box-outline .img-policy { width: 59.2%; } }
.ie8 .con-policy .box-outline .img-policy { width: 59.2%; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-policy .box-outline .img-policy { width: 65%; aspect-ratio: 1 / 0.6; } }
@media only screen and (max-width: 767px) { .con-policy .box-outline .img-policy { width: 58%; aspect-ratio: 1 / 0.7; } }
.con-policy .box-outline .img-policy img { width: 100%; height: 100%; object-fit: cover; }
@media only screen and (max-width: 767px) { .con-policy .box-outline .img-policy img { object-position: 30% center; } }
.con-policy .list-policy { margin-top: 80px; }
@media only screen and (max-width: 767px) { .con-policy .list-policy { margin-top: 40px; } }
.con-policy .list-policy li { position: relative; padding: 88px 120px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-policy .list-policy li { padding: 64px 120px; } }
@media only screen and (max-width: 767px) { .con-policy .list-policy li { padding: 40px 56px; } }
.con-policy .list-policy li:before { content: ""; position: absolute; top: 0; width: calc(100% - 7.9vw); height: 100%; z-index: -1; }
@media only screen and (min-width: 1025px) and (max-width: 1440px) { .con-policy .list-policy li:before { width: calc(100% - 3vw); } }
@media print { .con-policy .list-policy li:before { width: calc(100% - 3vw); } }
.ie8 .con-policy .list-policy li:before { width: calc(100% - 3vw); }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-policy .list-policy li:before { width: calc(100% - 3vw); } }
@media only screen and (max-width: 767px) { .con-policy .list-policy li:before { width: calc(100% - 3vw); } }
.con-policy .list-policy li:not(:first-child) { margin-top: 40px; }
@media only screen and (max-width: 767px) { .con-policy .list-policy li:not(:first-child) { margin-top: 24px; } }
@media only screen and (max-width: 767px) { .con-policy .list-policy li:nth-child(odd) { padding-right: 40px; } }
.con-policy .list-policy li:nth-child(odd):before { right: 0; border-radius: 9999px 0px 0px 9999px; background: linear-gradient(90deg, #e8f1e9 0%, #ffffff 100%); }
@media only screen and (max-width: 767px) { .con-policy .list-policy li:nth-child(odd):before { border-radius: 120px 0px 0px 120px; } }
.con-policy .list-policy li:nth-child(odd) .wrap-item-policy .box-title .num { color: #6ABC72; }
.con-policy .list-policy li:nth-child(odd) .wrap-item-policy .box-title h3 em { color: #6ABC72; }
@media only screen and (max-width: 767px) { .con-policy .list-policy li:nth-child(even) { padding-left: 40px; } }
.con-policy .list-policy li:nth-child(even):before { left: 0; border-radius: 0 999px 999px 0; background: linear-gradient(90deg, #ffffff 0%, #fbe9ea 100%); }
@media only screen and (max-width: 767px) { .con-policy .list-policy li:nth-child(even):before { border-radius: 0 120px 120px 0; } }
.con-policy .list-policy li:nth-child(even) .wrap-item-policy { margin-left: auto; }
.con-policy .list-policy li:nth-child(even) .wrap-item-policy .box-title .num { color: #EE808A; }
.con-policy .list-policy li:nth-child(even) .wrap-item-policy .box-title h3 em { color: #EE808A; }
.con-policy .list-policy li .wrap-item-policy { max-width: 1032px; margin: 0 auto; }
@media only screen and (min-width: 1025px) { .con-policy .list-policy li .wrap-item-policy { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; } }
@media print { .con-policy .list-policy li .wrap-item-policy { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; } }
.ie8 .con-policy .list-policy li .wrap-item-policy { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; }
@media only screen and (min-width: 1025px) { .con-policy .list-policy li .wrap-item-policy .box-title { width: 50%; padding-right: 80px; } }
@media print { .con-policy .list-policy li .wrap-item-policy .box-title { width: 50%; padding-right: 80px; } }
.ie8 .con-policy .list-policy li .wrap-item-policy .box-title { width: 50%; padding-right: 80px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-policy .list-policy li .wrap-item-policy .box-title { margin-bottom: 24px; } }
.con-policy .list-policy li .wrap-item-policy .box-title .num { font-family: "Montserrat", sans-serif; font-weight: 400; font-style: normal; font-size: 2rem; font-weight: 600; margin-bottom: 2px; }
.con-policy .list-policy li .wrap-item-policy .box-title h3 { color: #5E5D5C; font-weight: 500; font-size: 2.4rem; }
@media only screen and (max-width: 767px) { .con-policy .list-policy li .wrap-item-policy .box-title h3 { font-size: 1.8rem; margin-bottom: 16px; }
  .con-policy .list-policy li .wrap-item-policy .box-title h3 br { display: none; } }
@media only screen and (min-width: 1025px) { .con-policy .list-policy li .wrap-item-policy .txt { width: 50%; } }
@media print { .con-policy .list-policy li .wrap-item-policy .txt { width: 50%; } }
.ie8 .con-policy .list-policy li .wrap-item-policy .txt { width: 50%; }
.con-policy .box-matome { padding: 160px 0 200px; position: relative; overflow: hidden; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-policy .box-matome { padding: 80px 0 160px; } }
@media only screen and (max-width: 767px) { .con-policy .box-matome { padding: 80px 0; } }
.con-policy .box-matome:before, .con-policy .box-matome:after { content: ""; background-image: url(../images/teaser/deco-policy.png); background-repeat: no-repeat; background-position: 0 0; background-size: contain; width: 1083px; height: 531px; position: absolute; z-index: -1; display: block; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-policy .box-matome:before, .con-policy .box-matome:after { width: 720px; height: auto; padding-top: 49%; } }
@media only screen and (max-width: 767px) { .con-policy .box-matome:before, .con-policy .box-matome:after { width: 100%; height: auto; padding-top: 49%; } }
.con-policy .box-matome:before { top: -163px; left: -163px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-policy .box-matome:before { top: -100px; } }
@media only screen and (max-width: 767px) { .con-policy .box-matome:before { top: -40px; } }
.con-policy .box-matome:after { bottom: -40px; right: -180px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-policy .box-matome:after { bottom: -80px; } }
.con-policy .box-matome .box-first { padding: 0 7.9vw 0 15.9vw; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; }
@media only screen and (min-width: 1025px) and (max-width: 1280px) { .con-policy .box-matome .box-first { padding: 0 5.3vw; } }
@media print { .con-policy .box-matome .box-first { padding: 0 5.3vw; } }
.ie8 .con-policy .box-matome .box-first { padding: 0 5.3vw; }
@media only screen and (max-width: 1024px) { .con-policy .box-matome .box-first { padding: 0; } }
@media only screen and (min-width: 1025px) { .con-policy .box-matome .box-first .img { width: 64%; } }
@media print { .con-policy .box-matome .box-first .img { width: 64%; } }
.ie8 .con-policy .box-matome .box-first .img { width: 64%; }
@media only screen and (max-width: 1024px) { .con-policy .box-matome .box-first .img { overflow: hidden; width: 60%; aspect-ratio: 1 / 0.7; } }
@media only screen and (max-width: 767px) { .con-policy .box-matome .box-first .img { aspect-ratio: 1 / 1; } }
.con-policy .box-matome .box-first .img img { -webkit-border-radius: 0 64px; -moz-border-radius: 0 64px; -ms-border-radius: 0 64px; border-radius: 0 64px; }
@media only screen and (max-width: 1024px) { .con-policy .box-matome .box-first .img img { width: 100%; height: 100%; object-fit: cover; } }
.con-policy .box-matome .box-first h3 { text-align: center; }
@media only screen and (min-width: 1025px) { .con-policy .box-matome .box-first h3 { width: 36%; } }
@media print { .con-policy .box-matome .box-first h3 { width: 36%; } }
.ie8 .con-policy .box-matome .box-first h3 { width: 36%; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-policy .box-matome .box-first h3 { width: 40%; margin: 0 auto; } }
@media only screen and (max-width: 767px) { .con-policy .box-matome .box-first h3 { width: 40%; } }
.con-policy .box-matome .box-first h3 span { writing-mode: tb-rl; writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; text-align: left; display: inline-block; color: #5E5D5C; font-size: 4rem; line-height: 2; font-weight: 500; letter-spacing: 0.1em; }
@media only screen and (min-width: 1025px) and (max-width: 1280px) { .con-policy .box-matome .box-first h3 span { font-size: 3.6rem; line-height: 1.75em; } }
@media print { .con-policy .box-matome .box-first h3 span { font-size: 3.6rem; line-height: 1.75em; } }
.ie8 .con-policy .box-matome .box-first h3 span { font-size: 3.6rem; line-height: 1.75em; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-policy .box-matome .box-first h3 span { font-size: 3.2rem; } }
@media only screen and (max-width: 767px) { .con-policy .box-matome .box-first h3 span { font-size: 2.4rem; line-height: 1.5; } }
.con-policy .box-matome .box-first h3 span em.pink { color: #EE808A; }
.con-policy .box-matome .box-first h3 span em.green { color: #6ABC72; }
.con-policy .box-matome .box-second { padding: 0 7.9vw 0 15.9vw; margin-top: 80px; }
@media only screen and (min-width: 768px) { .con-policy .box-matome .box-second { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; } }
@media print { .con-policy .box-matome .box-second { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; } }
.ie8 .con-policy .box-matome .box-second { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; }
@media only screen and (min-width: 1025px) and (max-width: 1280px) { .con-policy .box-matome .box-second { padding: 0 5.3vw; } }
@media print { .con-policy .box-matome .box-second { padding: 0 5.3vw; } }
.ie8 .con-policy .box-matome .box-second { padding: 0 5.3vw; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-policy .box-matome .box-second { padding: 0 40px 0 80px; } }
@media only screen and (max-width: 767px) { .con-policy .box-matome .box-second { margin-top: 40px; padding: 0 40px; } }
.con-policy .box-matome .box-second .txt { line-height: 2; color: #5E5D5C; }
@media only screen and (min-width: 1025px) { .con-policy .box-matome .box-second .txt { width: 62%; padding-right: 7.9vw; } }
@media print { .con-policy .box-matome .box-second .txt { width: 62%; padding-right: 7.9vw; } }
.ie8 .con-policy .box-matome .box-second .txt { width: 62%; padding-right: 7.9vw; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-policy .box-matome .box-second .txt { width: 60%; } }
@media only screen and (max-width: 767px) { .con-policy .box-matome .box-second .txt { margin-bottom: 24px; } }
@media only screen and (min-width: 1025px) { .con-policy .box-matome .box-second .img { width: 38%; } }
@media print { .con-policy .box-matome .box-second .img { width: 38%; } }
.ie8 .con-policy .box-matome .box-second .img { width: 38%; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-policy .box-matome .box-second .img { width: 35%; } }
.con-policy .box-matome .box-second .img img { -webkit-border-radius: 0 64px; -moz-border-radius: 0 64px; -ms-border-radius: 0 64px; border-radius: 0 64px; }
@media only screen and (max-width: 1024px) { .con-policy .box-matome .box-second .img img { -webkit-border-radius: 0 24px; -moz-border-radius: 0 24px; -ms-border-radius: 0 24px; border-radius: 0 24px; } }

/* ----------------------------------------------------------- .con-information
----------------------------------------------------------- */
.con-information { position: relative; width: calc(100% - 80px); color: #fff; padding: 160px 0 160px 80px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-information { width: calc(100% - 5.3vw); padding: 120px 0 120px 5.3vw; } }
@media only screen and (max-width: 767px) { .con-information { width: calc(100% - 5.3vw); padding: 80px 0 40px 5.3vw; } }
.con-information:before { content: ""; background-color: #6ABC72; border-radius: 0px 120px 120px 120px; width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; z-index: -1; }
@media only screen and (max-width: 1024px) { .con-information:before { border-radius: 0px 64px 64px 64px; } }
.con-information:after { content: ""; position: absolute; top: -120px; left: 0; width: 120px; height: 120px; border-top-left-radius: 60px; box-shadow: 0 -60px #6ABC72; rotate: -90deg; }
@media only screen and (max-width: 767px) { .con-information:after { width: 16px; height: 16px; border-top-left-radius: 8px; box-shadow: 0 -8px #6ABC72; } }
.con-information .box-information .title-basic { padding: 0 0 40px 40px; }
@media only screen and (max-width: 767px) { .con-information .box-information .title-basic { padding: 0 0 24px; } }
.con-information .box-information .title-basic span.en, .con-information .box-information .title-basic span.jp { color: #fff; }
.con-information .box-information h3 { position: absolute; right: 152px; top: 160px; display: -webkit-flex; display: flex; -webkit-flex-direction: row-reverse; flex-direction: row-reverse; -webkit-justify-content: flex-start; justify-content: flex-start; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-information .box-information h3 { right: 5.3vw; } }
@media only screen and (max-width: 767px) { .con-information .box-information h3 { right: 5.3vw; top: 80px; } }
.con-information .box-information h3 span { writing-mode: tb-rl; writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; text-align: left; display: inline-block; text-orientation: upright; }
.con-information .box-information h3 span.small { font-size: 2rem; letter-spacing: 0.12em; }
@media only screen and (max-width: 767px) { .con-information .box-information h3 span.small { font-weight: 500; font-size: 1.5rem; } }
.con-information .box-information h3 span.opendate { font-size: 3.6rem; letter-spacing: 0.08em; text-shadow: 0px 0px 10px #79A3E4; font-weight: 500; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-information .box-information h3 span.opendate { font-size: 3rem; } }
@media only screen and (max-width: 767px) { .con-information .box-information h3 span.opendate { font-size: 2.2rem; } }
@media only screen and (max-width: 767px) { .con-information .box-information .img { overflow: hidden; aspect-ratio: 1 / 0.65; } }
.con-information .box-information .img img { -webkit-border-radius: 64px 0; -moz-border-radius: 64px 0; -ms-border-radius: 64px 0; border-radius: 64px 0; }
@media only screen and (max-width: 767px) { .con-information .box-information .img img { -webkit-border-radius: 24px 0; -moz-border-radius: 24px 0; -ms-border-radius: 24px 0; border-radius: 24px 0; width: 100%; height: 100%; object-fit: cover; object-position: 35% center; } }
.con-information .box-information .box-detail { margin-top: 80px; }
@media only screen and (min-width: 1025px) { .con-information .box-information .box-detail { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; } }
@media print { .con-information .box-information .box-detail { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; } }
.ie8 .con-information .box-information .box-detail { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-information .box-information .box-detail { margin-top: 64px; } }
@media only screen and (max-width: 767px) { .con-information .box-information .box-detail { margin-top: 24px; } }
@media only screen and (min-width: 1025px) { .con-information .box-information .box-detail .box-txt { width: 50%; padding: 0 7.9vw 0 5.3vw; } }
@media print { .con-information .box-information .box-detail .box-txt { width: 50%; padding: 0 7.9vw 0 5.3vw; } }
.ie8 .con-information .box-information .box-detail .box-txt { width: 50%; padding: 0 7.9vw 0 5.3vw; }
@media only screen and (min-width: 1025px) and (max-width: 1280px) { .con-information .box-information .box-detail .box-txt { padding: 0 3vw 0 0; } }
@media print { .con-information .box-information .box-detail .box-txt { padding: 0 3vw 0 0; } }
.ie8 .con-information .box-information .box-detail .box-txt { padding: 0 3vw 0 0; }
@media only screen and (max-width: 1024px) { .con-information .box-information .box-detail .box-txt { padding-right: 5.3vw; } }
.con-information .box-information .box-detail .box-txt dl dt { font-size: 1.8rem; margin-bottom: 16px; }
@media only screen and (max-width: 767px) { .con-information .box-information .box-detail .box-txt dl dt { font-size: 1.6rem; margin-bottom: 8px; } }
.con-information .box-information .box-detail .box-txt dl dd { margin-bottom: 10px; font-weight: 500; }
.con-information .box-information .box-detail .box-txt dl dd.address { font-size: 2rem; }
@media only screen and (max-width: 767px) { .con-information .box-information .box-detail .box-txt dl dd.address { font-size: 1.7rem; } }
.con-information .box-information .box-detail .box-txt dl dd img { width: 32px; display: inline-block; margin-right: 8px; }
.con-information .box-information .box-detail .box-txt table { width: 100%; margin-top: 80px; }
.con-information .box-information .box-detail .box-txt table tr th { font-weight: 700; font-size: 1.8rem; line-height: 1; border-bottom: 1px solid rgba(255, 255, 255, 0.5); padding-bottom: 12px; }
@media only screen and (max-width: 767px) { .con-information .box-information .box-detail .box-txt table tr th { font-size: 1.5rem; } }
.con-information .box-information .box-detail .box-txt table tr th.title { font-weight: 500; }
.con-information .box-information .box-detail .box-txt table tr th:not(:first-child) { width: 10%; text-align: center; }
.con-information .box-information .box-detail .box-txt table tr th:first-child { width: 25%; }
.con-information .box-information .box-detail .box-txt table tr td { padding: 22px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.25); font-weight: 500; font-size: 1.8rem; line-height: 1; }
@media only screen and (max-width: 767px) { .con-information .box-information .box-detail .box-txt table tr td { font-size: 1.6rem; } }
.con-information .box-information .box-detail .box-txt table tr td.hour { font-weight: 700; }
.con-information .box-information .box-detail .box-txt table tr td:not(:first-child) { width: 10%; text-align: center; }
.con-information .box-information .box-detail .box-txt table tr td:first-child { width: 25%; }
.con-information .box-information .box-detail .box-txt .list-notice { margin-top: 24px; }
.con-information .box-information .box-detail .box-txt .list-notice li { font-size: 1.4rem; font-weight: 500; }
@media only screen and (max-width: 767px) { .con-information .box-information .box-detail .box-txt .list-notice li { font-size: 1.2rem; } }
.con-information .box-information .box-detail .box-txt .list-notice li span { font-size: 1.2rem; }
@media only screen and (max-width: 767px) { .con-information .box-information .box-detail .box-txt .list-notice li span { font-size: 1.1rem; } }
@media only screen and (min-width: 1025px) { .con-information .box-information .box-detail .box-map { width: 50%; padding-right: 76px; } }
@media print { .con-information .box-information .box-detail .box-map { width: 50%; padding-right: 76px; } }
.ie8 .con-information .box-information .box-detail .box-map { width: 50%; padding-right: 76px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-information .box-information .box-detail .box-map { padding-right: 5.3vw; margin-top: 64px; } }
@media only screen and (max-width: 767px) { .con-information .box-information .box-detail .box-map { padding-right: 5.3vw; margin-top: 40px; } }
.con-information .box-information .box-detail .box-map .title { text-align: right; font-family: "Montserrat", sans-serif; font-weight: 400; font-style: normal; margin-bottom: 16px; font-size: 1.4rem; font-weight: 400; line-height: 1; text-transform: uppercase; }
.con-information .box-information .box-detail .box-map .map { position: relative; padding-bottom: 75%; height: 0; overflow: hidden; -webkit-border-radius: 40px 0; -moz-border-radius: 40px 0; -ms-border-radius: 40px 0; border-radius: 40px 0; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-information .box-information .box-detail .box-map .map { padding-bottom: 50%; } }
.con-information .box-information .box-detail .box-map .map iframe { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }

/* ----------------------------------------------------------- .con-recruit
----------------------------------------------------------- */
.con-recruit { background-color: #EE808A; -webkit-border-radius: 120px; -moz-border-radius: 120px; -ms-border-radius: 120px; border-radius: 120px; color: #fff; }
@media only screen and (min-width: 1025px) { .con-recruit { display: -webkit-flex; display: flex; margin-top: 200px; } }
@media print { .con-recruit { display: -webkit-flex; display: flex; margin-top: 200px; } }
.ie8 .con-recruit { display: -webkit-flex; display: flex; margin-top: 200px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-recruit { -webkit-border-radius: 64px; -moz-border-radius: 64px; -ms-border-radius: 64px; border-radius: 64px; margin-top: 160px; } }
@media only screen and (max-width: 767px) { .con-recruit { -webkit-border-radius: 64px; -moz-border-radius: 64px; -ms-border-radius: 64px; border-radius: 64px; margin-top: 80px; } }
.con-recruit .box-outline { background: url(../images/teaser/img-recruit.jpg) center center no-repeat; background-size: cover; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-border-radius: 120px 0 0 120px; -moz-border-radius: 120px 0 0 120px; -ms-border-radius: 120px 0 0 120px; border-radius: 120px 0 0 120px; }
@media only screen and (min-width: 1025px) { .con-recruit .box-outline { width: 40%; padding: 80px 70px; } }
@media print { .con-recruit .box-outline { width: 40%; padding: 80px 70px; } }
.ie8 .con-recruit .box-outline { width: 40%; padding: 80px 70px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-recruit .box-outline { -webkit-border-radius: 64px 0 0 0; -moz-border-radius: 64px 0 0 0; -ms-border-radius: 64px 0 0 0; border-radius: 64px 0 0 0; padding: 160px 40px 40px; } }
@media only screen and (max-width: 767px) { .con-recruit .box-outline { -webkit-border-radius: 64px 0 0 0; -moz-border-radius: 64px 0 0 0; -ms-border-radius: 64px 0 0 0; border-radius: 64px 0 0 0; padding: 100px 24px 24px; } }
.con-recruit .box-outline .title-basic { margin-top: auto; }
.con-recruit .box-outline .title-basic span.jp, .con-recruit .box-outline .title-basic span.en { color: #fff; }
.con-recruit .box-outline .title-basic span.jp { font-size: 4rem; }
@media only screen and (max-width: 767px) { .con-recruit .box-outline .title-basic span.jp { font-size: 2.6rem; } }
.con-recruit .box-outline .txt { margin-top: 40px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-recruit .box-outline .txt { margin-top: 24px; } }
@media only screen and (max-width: 767px) { .con-recruit .box-outline .txt { margin-top: 16px; } }
.con-recruit .box-detail { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; gap: 64px 0; }
@media only screen and (min-width: 1025px) { .con-recruit .box-detail { width: 60%; padding: 80px; } }
@media print { .con-recruit .box-detail { width: 60%; padding: 80px; } }
.ie8 .con-recruit .box-detail { width: 60%; padding: 80px; }
@media only screen and (min-width: 1025px) and (max-width: 1280px) { .con-recruit .box-detail { padding: 80px 4vw; } }
@media print { .con-recruit .box-detail { padding: 80px 4vw; } }
.ie8 .con-recruit .box-detail { padding: 80px 4vw; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-recruit .box-detail { padding: 64px 40px; gap: 40px 0; } }
@media only screen and (max-width: 767px) { .con-recruit .box-detail { padding: 40px 24px; gap: 40px 0; } }
.con-recruit .box-detail .item h3 { font-size: 1.8rem; font-weight: 500; margin-bottom: 16px; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item h3 { font-size: 1.6rem; } }
.con-recruit .box-detail .item .list-modal-button { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; gap: 16px; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item .list-modal-button { gap: 8px; } }
.con-recruit .box-detail .item .list-modal-button li { width: calc(50% - 8px); }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item .list-modal-button li { width: calc(50% - 4px); } }
.con-recruit .box-detail .item .list-modal-button li a { display: block; border: 1px solid #fff; -webkit-border-radius: 999px; -moz-border-radius: 999px; -ms-border-radius: 999px; border-radius: 999px; padding: 14px 32px; position: relative; color: #fff; line-height: 1.75; }
@media only screen and (min-width: 1025px) and (max-width: 1280px) { .con-recruit .box-detail .item .list-modal-button li a { padding-left: 16px; padding-right: 16px; } }
@media print { .con-recruit .box-detail .item .list-modal-button li a { padding-left: 16px; padding-right: 16px; } }
.ie8 .con-recruit .box-detail .item .list-modal-button li a { padding-left: 16px; padding-right: 16px; }
@media only screen and (min-width: 1025px) { .con-recruit .box-detail .item .list-modal-button li a { -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
  .con-recruit .box-detail .item .list-modal-button li a:hover { background-color: #fff; color: #282828; }
  .con-recruit .box-detail .item .list-modal-button li a:hover i svg { fill: #6ABC72; } }
@media print { .con-recruit .box-detail .item .list-modal-button li a { -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
  .con-recruit .box-detail .item .list-modal-button li a:hover { background-color: #fff; color: #282828; }
  .con-recruit .box-detail .item .list-modal-button li a:hover i svg { fill: #6ABC72; } }
.ie8 .con-recruit .box-detail .item .list-modal-button li a { -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
.ie8 .con-recruit .box-detail .item .list-modal-button li a:hover { background-color: #fff; color: #282828; }
.ie8 .con-recruit .box-detail .item .list-modal-button li a:hover i svg { fill: #6ABC72; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item .list-modal-button li a { padding: 10px 20px; line-height: 1.3; } }
.con-recruit .box-detail .item .list-modal-button li a i { width: 16px; height: 16px; position: absolute; top: calc(50% - 8px); right: 24px; line-height: 1; }
@media only screen and (min-width: 1025px) and (max-width: 1280px) { .con-recruit .box-detail .item .list-modal-button li a i { width: 12px; height: 12px; top: calc(50% - 6px); right: 16px; } }
@media print { .con-recruit .box-detail .item .list-modal-button li a i { width: 12px; height: 12px; top: calc(50% - 6px); right: 16px; } }
.ie8 .con-recruit .box-detail .item .list-modal-button li a i { width: 12px; height: 12px; top: calc(50% - 6px); right: 16px; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item .list-modal-button li a i { width: 8px; height: 8px; top: calc(50% - 8px); right: 20px; } }
.con-recruit .box-detail .item .list-modal-button li a i svg { fill: #fff; vertical-align: top; -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
.con-recruit .box-detail .item .list-modal-button li a span { font-size: 87.5%; display: inline-block; margin-left: 8px; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item .list-modal-button li a span { display: block; margin-left: 0; } }
.con-recruit .box-detail .item dl { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: flex-start; align-items: flex-start; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item dl { width: 104%; } }
.con-recruit .box-detail .item dl dt { width: 9.5em; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item dl dt { width: 30%; font-size: 1.3rem; padding-top: 0.4em; }
  .con-recruit .box-detail .item dl dt:has(em) { width: 42%; } }
.con-recruit .box-detail .item dl dt em { display: inline-block; border: 1px solid #fff; padding: 4px; line-height: 1; font-size: 1.2rem; margin-right: 8px; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item dl dt em { margin-right: 4px; font-size: 1rem; letter-spacing: 0; } }
.con-recruit .box-detail .item dl dd { font-size: 1.4rem; width: 58%; position: relative; padding-left: 1.5em; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item dl dd { font-size: 1.2rem; letter-spacing: 0; padding-left: 1em; }
  .con-recruit .box-detail .item dl dd.long { width: 70%; } }
.con-recruit .box-detail .item dl dd:before { content: "："; position: absolute; top: 0.25em; left: 0; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item dl dd:before { top: 0.4em; } }
.con-recruit .box-detail .item dl dd em { font-size: 1.8rem; }
.con-recruit .box-detail .item .txt { font-size: 2rem; font-weight: 500; margin-top: 40px; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item .txt { font-size: 1.5rem; letter-spacing: 0; } }
.con-recruit .box-detail .item .txt-detail { margin: 40px auto 20px; }
.con-recruit .box-detail .item .txt-detail ul { padding: 1em 0; }
.con-recruit .box-detail .item .txt-detail ul li { position: relative; padding-left: 1em; line-height: 1.4; }
.con-recruit .box-detail .item .txt-detail ul li:not(:first-child) { margin-top: 0.4em; }
.con-recruit .box-detail .item .txt-detail ul li:before { content: "・"; position: absolute; top: 0; left: 0; }
.con-recruit .box-detail .item .txt-detail ul li span { font-size: 82%; }
.con-recruit .box-detail .item .box-contact { border: 1px solid rgba(255, 255, 255, 0.5); padding: 20px; }
.con-recruit .box-detail .item .box-contact h3 { margin-bottom: 0; }
.con-recruit .box-detail .item .box-contact dl { width: 100%; }
.con-recruit .box-detail .item .box-contact dl:not(:first-child) { margin-top: 0.5em; }
.con-recruit .box-detail .item .box-contact dl dt { width: 15%; font-size: 1.7rem; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item .box-contact dl dt { font-size: 1.4rem; width: 100%; padding-top: 0; } }
.con-recruit .box-detail .item .box-contact dl dd { width: 85%; font-size: 1.6rem; line-height: 1.3; letter-spacing: 0; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item .box-contact dl dd { width: 100%; padding-left: 0; font-size: 1.4rem; letter-spacing: 0.04em; } }
.con-recruit .box-detail .item .box-contact dl dd:before { top: 0.1em; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item .box-contact dl dd:before { display: none; } }
.con-recruit .box-detail .item .box-contact dl dd em { letter-spacing: 0.04em; }
.con-recruit .box-detail .item .box-contact dl dd a { color: #fff; }
.con-recruit .box-detail .item .box-contact dl dd span { letter-spacing: 0; font-size: 1.4rem; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item .box-contact dl dd span { font-size: 1.2rem; } }
.con-recruit .box-detail .item .txt-link a { color: #fff; }
.con-recruit .box-detail .item:last-child { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; gap: 0 40px; }
@media only screen and (min-width: 1025px) and (max-width: 1280px) { .con-recruit .box-detail .item:last-child { -webkit-flex-direction: column; flex-direction: column; gap: 24px; } }
@media print { .con-recruit .box-detail .item:last-child { -webkit-flex-direction: column; flex-direction: column; gap: 24px; } }
.ie8 .con-recruit .box-detail .item:last-child { -webkit-flex-direction: column; flex-direction: column; gap: 24px; }
@media only screen and (max-width: 767px) { .con-recruit .box-detail .item:last-child { -webkit-flex-direction: column; flex-direction: column; gap: 16px; } }

/* ----------------------------------------------------------- .modaal
----------------------------------------------------------- */
.hide-area { display: none; }

.modaal-fullscreen .modaal-close { background-color: #fff; border: 1px solid #6ABC72; width: 80px; height: 48px; right: calc(40px + 5.3%); top: calc(40px + 3vh); -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; -webkit-border-radius: 30px; -moz-border-radius: 30px; -ms-border-radius: 30px; border-radius: 30px; }
@media only screen and (max-width: 767px) { .modaal-fullscreen .modaal-close { right: calc(16px + 5.3%); top: calc(16px + 3vh); width: 60px; height: 32px; } }
.modaal-fullscreen .modaal-close:hover { border: 1px solid #5E5D5C; }

.modaal-close:after, .modaal-close:before { background: #6ABC72; width: 1px; height: 40px; top: 4px; left: 0; right: 0; margin: 0 auto; }
@media only screen and (max-width: 767px) { .modaal-close:after, .modaal-close:before { height: 24px; } }

.modaal-close:before { transform: rotate(70deg); }

.modaal-close:after { transform: rotate(-70deg); }

.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before { background: #5E5D5C; }

.modaal-container { width: 89.4%; height: 94vh !important; margin: 3vh auto; -webkit-border-radius: 40px; -moz-border-radius: 40px; -ms-border-radius: 40px; border-radius: 40px; }
@media only screen and (max-width: 767px) { .modaal-container { -webkit-border-radius: 24px; -moz-border-radius: 24px; -ms-border-radius: 24px; border-radius: 24px; } }
.modaal-container::-webkit-scrollbar { background: rgba(40, 40, 40, 0.8); width: 5px; height: 5px; border-radius: 20px; }
.modaal-container::-webkit-scrollbar-thumb { background-color: #ccc; border-radius: 20px; }

.modaal-content-container { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
@media only screen and (min-width: 1025px) { .modaal-content-container { padding: 80px; } }
@media print { .modaal-content-container { padding: 80px; } }
.ie8 .modaal-content-container { padding: 80px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .modaal-content-container { padding: 80px 40px; } }
@media only screen and (max-width: 767px) { .modaal-content-container { padding: 56px 24px; } }
.modaal-content-container .box-title { width: 10%; }
.modaal-content-container .box-detail { width: 84.1%; padding-top: 32px; }
@media only screen and (max-width: 767px) { .modaal-content-container .box-detail { width: 80%; padding-top: 16px; } }
.modaal-content-container .box-detail h3 { color: #6ABC72; font-size: 2.6rem; }
@media only screen and (max-width: 767px) { .modaal-content-container .box-detail h3 { font-size: 2rem; } }
.modaal-content-container .box-detail h3 span { font-size: 62.5%; display: inline-block; margin-left: 8px; }
.modaal-content-container .box-detail table { width: 100%; }
.modaal-content-container .box-detail table tr th, .modaal-content-container .box-detail table tr td { border-bottom: 1px solid #dedede; padding: 40px 0; }
@media only screen and (max-width: 767px) { .modaal-content-container .box-detail table tr th, .modaal-content-container .box-detail table tr td { display: block; padding: 0; } }
.modaal-content-container .box-detail table tr th { width: 15%; font-size: 1.5rem; vertical-align: top; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .modaal-content-container .box-detail table tr th { width: 20%; } }
@media only screen and (max-width: 767px) { .modaal-content-container .box-detail table tr th { font-size: 1.4rem; width: 100%; border-bottom: none; padding-top: 24px; } }
.modaal-content-container .box-detail table tr td { width: 90%; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .modaal-content-container .box-detail table tr td { width: 80%; } }
@media only screen and (max-width: 767px) { .modaal-content-container .box-detail table tr td { width: 100%; padding: 8px 0 16px; } }
.modaal-content-container .box-detail table tr td ul li { padding-left: 1em; position: relative; }
.modaal-content-container .box-detail table tr td ul li:not(:first-child) { margin-top: 0.5em; }
.modaal-content-container .box-detail table tr td ul li:before { content: "・"; position: absolute; top: 0; left: 0; }
.modaal-content-container .button-basic { text-align: center; margin: 80px auto 0; }
@media only screen and (max-width: 767px) { .modaal-content-container .button-basic { margin-top: 40px; } }
