@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&display=swap");
:root { --pink: #ff9a9a; }

/* ---------- COMMON : SETTING ---------- */
* { box-sizing: border-box; }

html { font-family: "Zen Maru Gothic", serif; font-size: 62.5%; font-weight: 400; color: #434343; line-height: 1.5; scroll-behavior: smooth; scroll-padding-top: 120px; }

body { background: url("../img/common/bg_skyblue.jpg") top left repeat; }

body#page { background: url("../img/common/bg_beige.jpg") top left repeat; }

@media screen and (min-width: 481px) { html::-webkit-scrollbar { width: 1px; height: 1px; }
  html::-webkit-scrollbar-track { background-color: #ffc6b6; }
  html::-webkit-scrollbar-thumb { background-color: var(--pink); width: 1px; } }
@media screen and (max-width: 481px) { body { background-size: 20px 20px; } }
body.clip { overflow: hidden; }

* > img { width: 100%; height: auto; vertical-align: top; object-fit: contain; }

a { transition: all linear 0.25s; }
a:has(img):hover { opacity: 0.75; }

a:has(img) { display: block; }

small { font-size: 60%; }

/* ---------- COMMON : LOADING ---------- */
#loading { background: linear-gradient(-71deg, #f497a3 0%, #f8c5b5 100%); display: flex; align-items: center; justify-content: center; position: fixed; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 100%; height: 100%; z-index: 999; background-size: 200% 200%; animation: bgAnm 2s ease infinite; }

#loading_logo { width: min(62.5vw, 300px); height: min(35.625vw, 171px); position: relative; }
#loading_logo::before, #loading_logo::after { content: ''; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
#loading_logo::before { background: url("../img/common/loading_logo_txt.png"); background-size: contain; z-index: 2; }
#loading_logo::after { background: url("../img/common/loading_logo_bg.png"); background-size: contain; z-index: 1; }

@keyframes bgAnm { 0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; } }
/* ---------- COMMON : HEADER ---------- */
header { background-color: #ffffff; width: 100%; position: sticky; top: 0; left: 0; z-index: 10; }

.logo img { filter: drop-shadow(0 0 6px rgba(228, 57, 122, 0.55)); transition: all linear 0.2s; }
.logo:hover > img { filter: drop-shadow(0 0 0 transparent); }

@media screen and (min-width: 481px) { header { min-width: 1200px; }
  header > .inner::after { content: ''; display: block; clear: both; width: 100%; }
  .logo { float: left; width: 278px; height: 93px; } }
@media screen and (max-width: 481px) { .logo { width: 38.857vw; margin-bottom: auto; } }
/* ---------- COMMON : HEADER : NAVIGATION ---------- */
@media screen and (min-width: 481px) { .nav--sp__btns, .nav--sp__navs, .nav--sp, button.humbarger { display: none; }
  /* phone navigation : none */
  .nav--pc { display: flex; float: right; }
  ul.nav--pc__items { display: flex; align-items: center; grid-gap: 40px; margin-right: 40px; }
  ul.nav--pc__items li { font-size: 1.7rem; font-weight: 700; }
  ul.nav--pc__items li a { display: inline-block; position: relative; }
  ul.nav--pc__items li a::after { content: ''; display: block; background-color: var(--pink); width: 0%; height: 4px; border-radius: 2px; position: absolute; bottom: -6px; left: 0; transition: all linear 0.2s; }
  ul.nav--pc__items li a:hover::after, ul.nav--pc__items li a.current::after { width: 100%; }
  ul.nav--pc__items li svg { vertical-align: middle; }
  ul.nav--pc__items li:first-child svg { margin-right: 8px; }
  ul.nav--pc__items li:nth-child(2) svg, ul.nav--pc__items li:nth-child(3) svg { margin-right: 16px; }
  .btn--login, .btn--contact { display: flex; flex-wrap: wrap; justify-content: center; color: #ffffff; font-size: 1.5rem; font-weight: 700; text-align: center; height: 100px; width: 90px; padding: 14px; transition: all linear 0.2s; }
  .btn--login span, .btn--contact span { display: block; margin-top: auto; }
  .btn--login:hover, .btn--contact:hover { opacity: 0.7; }
  .btn--login { background-color: #676767; }
  .btn--contact { background-color: var(--pink); }
  /* svg */
  #icon-news > path, #icon-search > path, #icon-reserved > path { fill: #ff9a9a; }
  #icon-reserved > path { fill: #ff9a9a; stroke: #ff9a9a; stroke-miterlimit: 10; stroke-width: .35; }
  #icon-contact > ellipse { fill: #ffffff; }
  .nav-icon01 { width: 35px; height: 25px; }
  .nav-icon02 { width: 25px; height: 24px; }
  .nav-icon03 { width: 22px; height: 22px; }
  .nav-icon04 { width: 42px; height: 42px; }
  .nav-icon05 { width: 44px; height: 37px; }
  #icon-login > path { fill: #ffffff; stroke: #ffffff; stroke-miterlimit: 10; stroke-width: .36; }
  .contact__nav { position: relative; }
  .dropdown { display: none; position: absolute; top: 100px; font-size: 1.3rem; background-color: rgba(0, 0, 0, 0.5); color: #fff; }
  .dropdown > a { display: block; width: 100%; padding: 6px; }
  .dropdown > a:hover { background-color: rgba(0, 0, 0, 0.8); }
  .contact__nav:hover { cursor: pointer; }
  .contact__nav:hover .dropdown, .contact__nav:focus-within .dropdown { display: block; } }
@media screen and (max-width: 481px) { .nav--pc { display: none; }
  /* pc navigation : none */
  header { display: flex; flex-wrap: wrap; align-items: center; }
  header > .inner { display: none; }
  .logo { margin-right: auto; }
  .nav--sp__btns { display: flex; align-items: center; margin-left: auto; }
  .btn--login { text-align: center; font-weight: 700; padding: 0 12px; }
  .btn--login span { display: block; margin-top: auto; }
  /* humbarger button */
  .humbarger { display: block; width: 50px; height: 54px; padding: 7px; background: linear-gradient(135deg, #f6bfb3 0%, #ef909e 100%); }
  .humbarger span { display: block; width: 100%; height: 4px; background-color: #ffffff; border-radius: 2px; }
  .humbarger span:not(:last-child) { margin-bottom: 8px; }
  .nav--sp__navs { width: 100%; display: flex; flex-wrap: wrap; column-gap: 1%; color: #ffffff; font-size: min(3.4vw, 1.7rem); font-weight: 700; text-align: center; }
  .nav--sp__navs li { width: 49.5%; }
  .nav--sp__navs li a { display: block; padding: 0.857vw 4.571vw; width: 100%; height: 100%; }
  .nav--sp__navs .nav--sp__search { background: linear-gradient(to bottom, #ffc6b6 0%, #ff98a5 100%); }
  .nav--sp__navs .nav--sp__reserved { background: linear-gradient(to bottom, #8cd9d5 0%, #52c8c2 100%); }
  .nav--sp { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 40px; background: linear-gradient(-62.5113deg, #ff98a5 0%, #ffc6b6 100%); color: #ffffff; font-size: 2rem; font-weight: 700; text-align: center; letter-spacing: 0.2rem; position: fixed; top: 0; left: 0; height: 100%; width: 100%; overflow: auto; opacity: 0; pointer-events: none; transition: all linear 0.175s; }
  header.open .nav--sp { opacity: 1; pointer-events: visible; }
  @keyframes navShow { 0% { opacity: 0; }
    100% { opacity: 1; } }
  ul.nav--sp__items::before { content: 'MENU'; display: inline-block; text-align: center; font-size: 2.4rem; font-weight: 700; border-bottom: 1px solid #ffffff; margin-bottom: 64px; }
  ul.nav--sp__items li:not(:last-child) { margin-bottom: 40px; }
  ul.nav--sp__items li a { vertical-align: middle; }
  ul.nav--sp__items li a::after { content: ''; display: inline-block; width: 9px; height: 9px; border-top: 1px solid #ffffff; border-right: 1px solid #ffffff; vertical-align: middle; transform: rotate(45deg) translateY(-2px); margin-left: 6px; }
  button.close { display: block; border: 1px solid #ffffff; color: transparent; width: 26px; height: 26px; position: relative; margin: auto; }
  button.close::before, button.close::after { content: ''; display: block; width: 1px; height: 36px; background-color: #ffffff; position: absolute; top: -6px; left: 0; right: 0; margin: auto; }
  button.close::before { transform: rotate(45deg); }
  button.close::after { transform: rotate(-45deg); }
  /* svg */
  .nav-sp-login { width: 24px; height: 24px; }
  #icon-login > path { fill: #5b5b5b; stroke: #5b5b5b; } }
/* ---------- COMMON : CONTAINER ---------- */
main { padding-top: 40px; }

#home main, #news_archive main, #news_single main { padding-top: 0; }

@media screen and (min-width: 481px) { .inner { width: 1200px; margin-left: auto; margin-right: auto; }
  section { min-width: 1200px; } }
@media screen and (max-width: 481px) { .inner { padding-left: 2.857vw; padding-right: 2.857vw; } }
/* ---------- COMMON : FOOTER ---------- */
footer { padding-top: min(17vw, 170px); }

#home footer { background: url("../img/common/bg_beige.jpg") top left repeat; }

#news_archive footer, #news_single footer { background: url("../img/common/bg_skyblue.jpg") top left repeat; }

.banners { display: grid; }
.banners img { box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4); }

.footer__address { border-left: 8px solid #434343; padding-left: min(3.333vw, 16px); }
.footer__address strong, .footer__address small { display: block; }
.footer__address strong { font-size: min(4.5vw, 1.9rem); margin-bottom: min(2.083vw, 10px); }
.footer__address small { font-size: min(3.5vw, 1.4rem); line-height: 1.3; margin-bottom: 5px; }
.footer__address small .space { width: 5px; }

.copyright > p, .copy { font-size: 1.1rem; }

@media screen and (min-width: 481px) { footer { min-width: 1200px; }
  .banners { grid-template-columns: 1fr 1fr 1fr; grid-gap: 40px; }
  .banners > a { width: 370px; height: 124px; }
  #access { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #646464; padding-top: 84px; margin-top: 40px; }
  .access__img { width: 564px; height: 290px; }
  .access__address h4 { font-size: 2.7rem; font-weight: 500; }
  .access__address p { font-size: 1.7rem; font-weight: 500; margin-bottom: 12px; }
  .access__address a.btn { margin-bottom: 20px; }
  .tel { display: block; font-size: 3.1rem; font-weight: 500; }
  .footer__last { background: linear-gradient(to bottom, transparent 0px, transparent 126px, #d6cba8 126px); margin-top: 183px; }
  .footer__last::before { content: ''; display: block; width: 100%; height: 126px; background: url("../img/common/footer_line_full.svg") top center no-repeat; background-size: auto 126px; margin-top: -126px; position: relative; }
  .footer__last > .inner { display: grid; grid-template-columns: auto 200px; grid-column-gap: 60px; padding: 40px 51px 20px 25px; }
  .footer__bannerarea { grid-area: 1 / 2; grid-row: 1 / 4; }
  .footer__bannerarea > a { width: 200px; height: 80px; }
  .footer__bannerarea > a:not(:last-child) { margin-bottom: 34px; }
  .footer__address.center { grid-area: 1 / 1; margin-bottom: 48px; }
  .footer__address.renmei { grid-area: 2 / 1; margin-bottom: 37px; }
  .copyright { grid-area: 3 / 1; margin-left: 24px; } }
@media screen and (max-width: 481px) { #home footer, #news_archive footer, #news_single footer { background-size: 20px 20px; }
  .banners { grid-template-columns: 1fr 1fr; grid-column-gap: 2%; grid-row-gap: 4%; }
  #access { display: none; }
  .footer__last { background: linear-gradient(to bottom, transparent 0px, transparent 10.417vw, #d6cba8 10.417vw); margin-top: 20vw; }
  .footer__last::before { content: ''; display: block; background: url("../img/common/footer_line_full.svg") top center no-repeat; background-size: auto 10.417vw; margin-top: -10.417vw; width: 100%; height: 10.417vw; position: relative; }
  .footer__last .inner { display: flex; flex-wrap: wrap; padding: 35px 0 0 0; }
  .footer__bannerarea { order: 3; display: flex; flex-wrap: wrap; justify-content: center; column-gap: 11.667vw; width: 100%; margin-top: 11.25vw; margin-bottom: 6.25vw; }
  .footer__bannerarea > a { width: 33.958vw; }
  .footer__address { margin-left: 2.857vw; margin-right: 2.857vw; }
  .footer__address.center { margin-bottom: 6.667vw; order: 1; }
  .footer__address.renmei { order: 2; }
  .copyright { order: 4; background-color: #ffffff; padding: 8px; } }
.pagetop { display: block; width: min(18.333vw, 88px); height: min(18.333vw, 88px); background: url("../img/common/pagetop.svg") center center no-repeat; background-size: contain; position: fixed; right: 16px; bottom: 16px; transform: translateY(120px); transition: all ease-in-out 0.75s; }

.pagetop.up { transform: translateY(0); }

/* ---------- TOP ---------- */
.kv { position: relative; }

.kv__container { max-width: 1200px; margin-left: auto; margin-right: auto; }

@media screen and (min-width: 481px) { .kv { padding: 22px 0 240px; margin-left: auto; margin-right: auto; min-width: 1200px; overflow: hidden; }
  .kv__container { width: 1200px; position: relative; z-index: 1; }
  .kv__main { width: 1200px; height: 550px; border-radius: 30px; }
  .kv__thumbnail { float: right; margin-top: 16px; width: calc(110px * 4 + 21px); overflow: hidden; }
  /* かもめ */
  #seagull01 > path, #seagull02 > path, #seagull03 > path, #seagull04 > path { fill: #ffffff; }
  .seagull01, .seagull02, .seagull03, .seagull04 { position: absolute; z-index: -1; }
  .seagull01 { width: 136px; height: 30px; top: 64px; left: -106px; animation: swing01 ease-in-out 2.5s infinite; }
  .seagull02 { width: 117px; height: 78px; top: 44px; right: -150px; animation: swing01 ease-in-out 2.5s infinite; animation-delay: 1.5s; }
  .seagull03 { width: 102px; height: 42px; bottom: -95px; left: -4px; animation: swing01 ease-in-out 2.5s infinite; animation-delay: 3s; }
  .seagull04 { width: 98px; height: 22px; bottom: -144px; right: -31px; animation: swing01 ease-in-out 2.5s infinite; animation-delay: 2s; }
  @keyframes swing01 { 0% { transform: translateY(0%) translateX(0%); }
    50% { transform: translateY(-10%) translateX(-10%); }
    100% { transform: translateY(0%) translateX(0%); } } }
@media screen and (max-width: 481px) { .kv { padding-bottom: 32px; }
  .kv__main { width: 100%; }
  .kv__thumbnail { width: calc(60px * 4); margin: 10px auto; overflow: hidden; }
  .seagull01, .seagull02, .seagull03, .seagull04 { display: none; } }
/* splide setting */
.splide__slide { transition: all linear 0.3s; }

.splide__track--nav > .splide__list > .splide__slide, .splide__track--nav > .splide__list > .splide__slide.is-active { border: none; }

.splide__track--nav > .splide__list > .splide__slide:not(.is-active) { opacity: 0.5; }

/* splide setting - arrows */
.splide__arrows { position: absolute; bottom: -80px; left: 50%; transform: translateX(-50%); height: 64px; }

.splide__arrow { width: 64px; height: 64px; filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.4)); transition: all linear 0.2s; /* splide reset */ display: initial; opacity: 1; position: initial; transform: initial; }
.splide__arrow svg { display: none; }
.splide__arrow:hover { filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.4)); }

.splide__arrow--prev { background: url(../img/common/arrow-prev.svg) center center no-repeat; background-size: contain; left: auto; margin-right: 38px; }

.splide__arrow--next { background: url(../img/common/arrow-next.svg) center center no-repeat; background-size: contain; right: auto; }

/* ---------- ABOUTUS ---------- */
.aboutus { padding-top: min(10vw, 100px); padding-bottom: min(13vw, 137px); }

.aboutus__ttl { margin-bottom: min(6vw, 48px); text-align: center; }
.aboutus__ttl > img { filter: drop-shadow(0 0 10px rgba(228, 57, 122, 0.55)); }

.aboutus__txt > p { font-size: min(4vw, 1.9rem); font-weight: 500; }

ul.service li > p { font-size: min(3.5vw, 1.6rem); }
ul.service li::after { content: ''; display: block; clear: both; width: 100%; }
ul.service li:not(:last-child) { margin-bottom: 40px; }

.service__img { width: min(24.583vw, 140px); height: min(24.583vw, 140px); }

.service__ttl { font-size: min(5vw, 2.6rem); font-weight: 700; margin-bottom: 8px; }
.service__ttl > span { border-bottom: 4px solid #fff500; }

@media screen and (min-width: 481px) { .aboutus__ttl { padding-left: 35px; }
  .aboutus__ttl > img { width: 438px; height: 280px; }
  .aboutus { display: flex; column-gap: 77px; justify-content: space-between; }
  .aboutus__txt { width: 49%; }
  ul.service { width: 49%; }
  .service__img { float: left; margin-right: 28px; }
  .service__ttl > .btn { padding: 4px 16px 8px 8px; }
  .service__ttl > span { margin-right: 22px; } }
@media screen and (max-width: 481px) { .aboutus__ttl > img { width: 50vw; height: 28.542vw; }
  ul.service { margin-top: 24px; }
  .service__img { margin: 0 auto 8px; }
  .service__ttl { text-align: center; }
  .service__ttl > .btn { display: none; }
  .service__recruit .sp--btn::before { content: ''; display: inline-block; width: 12px; height: 12px; border-top: 2px solid #ffffff; border-right: 2px solid #ffffff; transform: rotate(45deg); }
  .service__recruit .sp--btn > span { content: ''; display: inline-block; width: 12px; height: 12px; border-top: 2px solid #ffffff; border-right: 2px solid #ffffff; transform: rotate(45deg); margin-left: 4px; } }
/* ---------- NEWS ---------- */
#home #news { padding-bottom: min(10vw, 100px); }

#news_archive main, #news_single main { background: url("../img/common/bg_skyblue.jpg") top left repeat; }

.ttl__news { padding-bottom: 28px; text-align: center; }
.ttl__news > span { font-size: min(4vw, 2.3rem); display: block; margin-top: min(5.417vw, 26px); }

.cards.news { margin-bottom: 32px; }

#news .btArea { margin:50px 0; text-align: center;}/*24/05/31*/
#news .btPost { background: #ff9a9a; border-radius: 50px; padding: 8px 10px; color: #fff; text-decoration: none;}/*24/05/31*/
#news .btPost:hover { opacity: .6; transition: .3s;}/*24/05/31*/

@media screen and (min-width: 481px) { .ttl__news > img { width: 260px; height: 142px; }
  #news .card__ttl { /*border-bottom: 1px solid #434343; padding-bottom: 8px;*/ margin-bottom: 16px; }
  #news ul.category { position: absolute; top: 0; left: 0; }
  #news_single ul.category { position: initial; display: inline-block; margin-right: 8px; }
  #news .card__date { position: absolute; right: min(1vw, 14px); bottom: min(1vw, 14px); }
  #news .card > a { padding-bottom: 48px; } }
@media screen and (max-width: 481px) { #news_archive main, #news_single main { background-size: 20px 20px; }
#news .btPost { font-size: 80%;}/*24/05/31*/
  .ttl__news > img { width: 44.583vw; height: 24.375vw; }
  #news ul.category { margin-bottom: 2.083vw; }
  #news_single ul.category { margin-bottom: auto; }
  #news .card__date { display: none; } }
/* ---------- CARDS ---------- */
.card { background-color: #ffffff; box-shadow: 0 0 2px rgba(35, 24, 21, 0.3); position: relative; transition: all linear 0.2s; }
.card:hover { box-shadow: 0 0 15px rgba(35, 24, 21, 0.25); }
.card:hover a { opacity: 1; }
.card > a { display: block; padding: min(1vw, 14px); height: 100%; width: 100%; }

.card__ttl { font-size: min(3.5vw, 2.2rem); font-weight: 500; }

.card__txt { font-size: 1.4rem; }

.card__date { display: block; font-size: 1.3rem; }

@media screen and (min-width: 481px) { .cards { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 30px; }
  .card { width: 380px; }
  .card figure { width: 360px; margin-bottom: 8px; } }
@media screen and (max-width: 481px) { .card__txt { display: none; }
  .card a > * { margin-left: 48%; }
  .card a::after { content: ''; display: block; clear: both; width: 100%; }
  .card figure { width: 45%; float: left; margin-left: 0; }
  .card:not(:last-child) { margin-bottom: 2%; }
  .recruit .card a > * { margin-left: 0; }
  .cards.recruit .card figure { float: none; width: 100%; margin-bottom: 2vw; } }
/* ---------- CATEGORY ---------- */
ul.category li { background-color: #333333; color: #ffffff; display: inline-block; font-size: min(3vw, 1.6rem); font-weight: 700; line-height: 1; padding: min(1.042vw, 5px) min(3.333vw, 16px); }
ul.category li.cat--news { background-color: #77c3a7; }
ul.category li.cat--recruit { background-color: #f2a88d; }
ul.category li.cat--event { background-color: #80a1d3; }

/* ---------- BREADCRUMB ---------- */
ul.breadcrumb { color: #434343; font-size: min(3.5vw, 2rem); margin: 0 auto 36px; max-width: 900px; display: flex; justify-content: center; flex-wrap: wrap; }
ul.breadcrumb li:not(:last-child)::after { content: '＞'; display: inline-block; }
ul.breadcrumb li a:hover { text-decoration: 1px solid underline var(--pink); }

/* ---------- PAGENATION ---------- */
ul.pager { font-size: min(5vw, 2.3rem); font-weight: 500; display: flex; align-items: center; justify-content: center; margin-top: 32px; }
ul.pager > li { margin: 0 3px; }
ul.pager > li.current, ul.pager ul.pager > li:hover { color: #dc2a64; }
ul.pager > li.prev > a { content: ''; display: block; text-indent: 999px; width: min(5vw, 24px); height: min(5vw, 24px); border-top: 3px solid #646464; border-right: 3px solid #646464; transform: rotate(45deg); overflow: hidden; }

/* ---------- RESERVED ---------- */
#reserved { padding-bottom: min(17vw, 170px); position: relative; }
#reserved::before { content: ''; display: block; width: 100%; }

.reserved__ttl { text-align: center; margin-bottom: min(4vw, 28px); }
.reserved__ttl > img { width: min(39.167vw, 268px); height: min(25.625vw, 176px); }

@media screen and (min-width: 481px) { #reserved { margin-top: 250px; }
  #reserved::before { height: 250px; background: url("../img/top/bg_detail02.png") top center no-repeat; background-size: auto 250px; position: absolute; top: -250px; min-width: 1200px; } }
@media screen and (max-width: 481px) { #reserved { margin-top: 18.75vw; padding-top: 30px; }
  #reserved::before { height: 18.75vw; background: url("../img/top/bg_detail02_sp.png") top center no-repeat; background-size: auto 18.75vw; position: absolute; top: -18vw; } }
ul.links { display: flex; flex-wrap: wrap; justify-content: center; column-gap: 4%; row-gap: min(2vw, 20px); }
ul.links li { background-color: #ffffff; border-radius: min(6.4vw, 48px); box-shadow: 0 0 3px rgba(35, 24, 21, 0.4); font-size: min(4vw, 2.8rem); font-weight: 500; width: 48%; margin-bottom: 3px; position: relative; }
ul.links li.gr { background-color: #e6ffe8; }
ul.links li.pi { background-color: #ffeaf7; }
ul.links li > a, ul.links li > span { display: block; width: 100%; height: 100%; padding: min(3.333vw, 16px) min(6.667vw, 32px); }
ul.links li:has(span) { background-color: #ccc; pointer-events: none; }
ul.links li::after { content: ''; display: block; background: url("../img/common/arrow_dot.svg") center center no-repeat; width: min(6.533vw, 49px); height: min(6.4vw, 48px); position: absolute; right: min(6.042vw, 29px); top: 50%; transform: translateY(-50%); transition: all linear 0.1s; }
ul.links li:has(a):hover::after { right: min(5vw, 24px); }
ul.links.keywords li { background-color: #ffeaf7; width: 31%; }

@media screen and (min-width: 481px) { ul.links.keywords { column-gap: 3%; } }
@media screen and (max-width: 481px) { ul.links li, ul.links.keywords li { width: 100%; } }
/* ---------- SEARCH ---------- */
.search__ttl { text-align: center; margin-bottom: min(5.833vw, 28px); }
.search__ttl > img { width: min(40.833vw, 282px); height: min(23.542vw, 163px); }

.search__box { margin: 0 auto min(6vw, 57px); max-width: 700px; position: relative; }
.search__box input[type="search"] { background-color: #ffffff; border-radius: min(5.833vw, 28px); font-size: min(4vw, 2.2rem); line-height: 1; outline: #828282 1px solid; padding: min(2.5vw, 12px) min(12.5vw, 60px) min(2.5vw, 12px) min(5vw, 24px); width: 100%; }
.search__box input[type="search"]::placeholder, .search__box input[type="search"]::-ms-input-placeholder { color: #c5c5c5; }
.search__box input[type="search"]:focus, .search__box input[type="search"]:hover { outline: var(--pink) 1px solid; }

.search__btn { background: url("../img/common/btn_search.svg") center center no-repeat; background-size: contain; text-indent: -999px; width: min(6.25vw, 30px); height: min(6.25vw, 30px); position: absolute; right: min(5vw, 24px); top: 50%; transform: translateY(-50%); overflow: hidden; }

/* single */
.recruit_data { display: flex; align-items: center; margin-bottom: 9px; }
.recruit_data > div { font-size: min(3vw, 1.5rem); font-weight: 500; padding: 4px 23px; }/*24/06/03*/
.recruit_data > div:first-child { border-right: 1px solid #434343; }
.recruit_data .job { background-color: #f2a88d; color: #ffffff; }


@media screen and (min-width: 481px) { 
  #search .page { display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 2%;}
  #search .recruit_data { grid-area: 1 / 1; grid-row: 1 / 1; }
  #search .page__textarea { grid-area: 2 / 1; }
  #search .page__footer { grid-area: 3 / 1; }
  #search .page__img { grid-row: 1 / 4; grid-column: 2 / 3; } }
@media screen and (max-width: 481px) {
  #search .page { display: flex; flex-wrap: wrap; }
  #search .recruit_data { order: 1; }
  #search .page__img { order: 2; margin-bottom: 5vw; }
  #search .page__textarea { order: 3; }
  #search .page__textarea h2 { margin-bottom: 3vw; }
  #search .page__footer { order: 4; } }

/* ---------- SEARCH:CHECKBOX :240520追加 ---------- */
.search__contents { max-width: 700px; margin-inline: auto; position: relative; }

/* tab */
input[name="tab__switch"] { opacity: 0; position: absolute; -webkit-appearance: auto; }

/* input:radio */
.tab__label { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4%; position: relative; z-index: 1; }
.tab__label > label { background-color: #8c8c8c; border-top: 1px solid #8c8c8c; border-right: 1px solid #8c8c8c; border-left: 1px solid #8c8c8c; color: #ffffff; font-size: min(4vw, 2.5rem); text-align: center; padding: min(3.333vw, 16px); margin-bottom: -1px; width: 48%; }

#tab__area:checked ~ .tab__label > label[for="tab__area"], #tab__employee:checked ~ .tab__label > label[for="tab__employee"] { background-color: #ffffff; color: #434343; }

.tab__content { background-color: #ffffff; border: 1px solid #8c8c8c; font-size: min(4vw, 1.9rem); padding: min(7.5vw, 36px) min(7.5vw, 66px) min(29.167vw, 140px); width: 100%; display: none; position: relative; }

#tab__area:checked ~ #tab__area__content, #tab__employee:checked ~ #tab__employee__content { display: block; }

.checkeds div:not(:last-child) { border-bottom: 2px dotted #b2b2b2; padding-bottom: min(9.167vw, 44px); margin-bottom: min(9.167vw, 44px); }
.checkeds dt { margin-bottom: min(5vw, 24px); }
.checkeds dt::before { content: ''; display: inline-block; width: 13px; height: 13px; background-color: #434343; border-radius: 2px; margin-right: 6px; }
.checkeds dd { display: flex; flex-wrap: wrap; row-gap: 3%; }

@media screen and (min-width: 481px) { .checkeds dd { column-gap: 3%; }
  #tab__area__content dl div:first-child label { width: 22%; }
  #tab__area__content dl div:nth-child(2) label { width: 31%; }
  #tab__employee__content label { width: 22%; } }
@media screen and (max-width: 481px) { .checkeds dd { column-gap: 4%; }
  .checkeds label { width: 48%; display: inline-block; vertical-align: middle; padding: 6px 0; } }
@media screen and (max-width: 321px) { .checkeds label { width: 100%; } }
#tab__employee__content dt::before { display: none; }

/* チェックボックス */
input[type="checkbox"] { width: 16px; height: 16px; position: relative; margin-right: 10px; }
input[type="checkbox"]::before, input[type="checkbox"]::after { content: ''; display: block; width: 16px; height: 16px; border-radius: 50%; position: absolute; top: 50%; left: 0; right: 0; margin: auto; transform: translateY(-50%); }
input[type="checkbox"]::before { border: 1px solid #b1b1b1; background-color: #ffffff; }
input[type="checkbox"]::after { display: none; z-index: 1; }
input[type="checkbox"]:checked::before { background-color: #cc5637; border-color: #cc5637; }
input[type="checkbox"]:checked::after { display: block; content: "\02714"; color: #ffffff; line-height: 0.5; }
input[type="checkbox"]:focus { background-color: #eeeeee; }

/* 送信ボタン */
.search__submit { display: inline-block; background: linear-gradient(to right, #f9c6b6 1%, #f598a4 100%); border-radius: 5px; color: #ffffff; font-size: min(4vw, 2.5rem); line-height: 1; margin: auto; padding: min(3.333vw, 16px); position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); }

@media (hover: hover) { .checkeds label:hover input[type="checkbox"]:not(:checked)::before { background-color: #eeeeee; }
  .search__submit { transition: opacity linear 0.2s; }
  .search__submit:hover { opacity: 0.75; } }
/* ---------- PAGE ---------- */
.page .page__textarea h2 { font-size: min(5vw, 2.8rem); font-weight: 500; }
.page .page__textarea p { font-size: min(3vw, 1.6rem); }

.page__footer { font-size: min(3vw, 1.6rem); border-top: 1px solid #434343; width: 100%; padding-top: min(5.417vw, 26px); margin-top: min(5.417vw, 26px); }

.page__img > img:not(:last-child) { margin-bottom: 10px; }

dl.dl--detail01 { font-size: min(3vw, 1.6rem); font-weight: 500; display: flex; flex-wrap: wrap; column-gap: 2%; margin-top: 20px; }

dl.dl--detail01 dt { background-color: #d28c8f; border-radius: 2px; color: #ffffff; text-align: center; width: 25%; }

dl.dl--detail01 dd { width: 73%; }

dl.dl--detail01 dt, dl.dl--detail01 dd { margin-bottom: 5px; }


.cards.recruit > p { display: block; font-size: 1.4rem;}


/* single */
.page { background-color: #ffffff; font-size: min(4vw, 1.8rem); box-shadow: 0 0 2px rgba(33, 17, 13, 0.3); margin: 0 auto 30px; padding: min(4vw, 28px) min(4vw, 50px); }
.page time { display: inline-block; margin-bottom: min(2.083vw, 10px); }
.page .ttl { font-size: min(5vw, 2.5rem); text-align: left; border-top: 2px solid #434343; border-bottom: 2px solid #434343; padding: min(4vw, 48px) 0; }
.page figure { text-align: center; }
.page figure figcaption { margin-top: 10px; }
.page p:not(:last-child) { margin-bottom: 1em; }
.page a { color: cornflowerblue; text-decoration: underline; }

@media screen and (min-width: 481px) { .page { width: 900px; }
  #news .page figure > img { width: auto; } }
/* ---------- SVG ---------- */
.svg_sprite { display: none; }

/* ---------- UTIRITY ---------- */
/* detail */
.detail01 { position: relative; }
.detail01::before { content: ''; display: block; width: 100%; }

#news_archive .detail01, #news_single .detail01 { margin-top: 0; }
#news_archive .detail01::before, #news_single .detail01::before { background-color: #fff; margin-bottom: 64px; }

@media screen and (min-width: 481px) { .detail01::before { height: 128px; background: url("../img/top/bg_detail01.png") top center no-repeat; background-size: auto 128px; margin-top: -128px; min-width: 1200px; } }
@media screen and (max-width: 481px) { .detail01::before { height: 9.583vw; background: url("../img/top/bg_detail01_sp.png") top center no-repeat; background-size: auto 9.583vw; margin-top: -9.4vw; } }
/* text */
.notes { font-size: min(3.2vw, 1.4rem); }
.notes::before { content: '※'; display: inline-block; margin-left: 2rem; text-indent: -2rem; }

.space { display: inline-block; width: 10px; }

.txt--right { text-align: right; }

.txt--center { text-align: center; }

.line span, .line strong { display: block; }

/* title */
.ttl { font-size: min(6vw, 4rem); font-weight: 700; text-align: center; margin-bottom: min(4.267vw, 32px); }

/* button */
.btn { display: inline-block; border-radius: 5px; background: linear-gradient(-71deg, #f497a3 0%, #f8c5b5 100%); color: #ffffff; font-size: 1.8rem; font-weight: 700; line-height: 1; vertical-align: middle; padding: 4px 16px 8px; box-shadow: 3px 2px 0px #878787; transition: all linear 0.2s; }
.btn::after { content: ''; display: inline-block; width: 12px; height: 12px; border-top: 2px solid #ffffff; border-right: 2px solid #ffffff; transform: rotate(45deg); margin-left: 4px; }
.btn:hover { box-shadow: 0 0 0 transparent; margin: 3px -2px -3px 2px; overflow: hidden; }

.btn--more { display: inline-block; background-color: #ffffff; border: 1px solid #231815; font-size: min(3vw, 1.6rem); font-weight: 500; text-align: center; line-height: 1; padding: 5px 20px 6px; transition: all linear 0.2s; }
.btn--more:hover { background-color: #231815; color: #ffffff; }

.btn--back { display: inline-block; font-size: min(4.5vw, 2.2rem); font-weight: 500; vertical-align: middle; transition: all linear 0.3s; }
.btn--back::before { content: ''; display: inline-block; vertical-align: middle; width: min(4.792vw, 23px); height: min(4.792vw, 23px); border-top: 3px solid #646464; border-left: 3px solid #646464; transform: rotate(-45deg); }
.btn--back:hover { opacity: 0.7; }

/* margin */
.mgbA { margin-bottom: 48px; }

.mgbB { margin-bottom: 24px; }

.mgtA { margin-top: 8px; }

/* ---------- ANIMATION ---------- */
.UP { opacity: 0; }

.fadeUP { animation: fadeUP 0.75s forwards; opacity: 0; }

@keyframes fadeUP { from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); } }
.Rslide { opacity: 0; }

.r_slidein { animation: Rslide 0.75s forwards; opacity: 0; }

@keyframes Rslide { from { opacity: 0; transform: translateX(20px); }
  to { opacity: 1; transform: translateX(0); } }
/* ---------- OTHER ---------- */
/* background */
.bg--blue { background: url("../img/common/bg_blue.jpg") top left repeat; }

.bg--skyblue { background: url("../img/common/bg_skyblue.jpg") top left repeat; }

.bg--beige { background: url("../img/common/bg_beige.jpg") top left repeat; }

@media screen and (min-width: 481px) { .show--sp { display: none; } }
@media screen and (max-width: 481px) { .show--pc { display: none; }
  /* background */
  .bg--blue, .bg--skyblue, .bg--beige { background-size: 20px 20px; } }
/* ナビゲーションクリックオフ・コンテンツ非表示 */
/* 本公開までのページクローズ対応です。不要になったら以下をコメントアウトしてください。 */
/*ul.nav--pc__items li:nth-child(1) a,*/
/*ul.nav--pc__items li:nth-child(2) a,/*, ul.nav--pc__items li:nth-child(3) a,*/
/*a.btn--login { pointer-events: none; opacity: 0.5; }*/
/*ul.nav--pc__items li:nth-child(1) a::after,*/
/*ul.nav--pc__items li:nth-child(2) a::after/*, ul.nav--pc__items li:nth-child(3) a::after*/
/*{ width: 0%; }*/
/*#home #news, #home #reserved, #home #search { display: none; }*/


/* __________________________________________________
   Mail Form
__________________________________________________ */

#mailForm .page .ttl { text-align: center;}
#mailForm h3 { font-size: 130%; text-align: center; font-weight: 700; margin: 30px 0;}
#mailForm h4 { text-align: center; font-weight: 700; margin: 50px 0 20px 0;}
#mailForm input,
#mailForm textarea,
#mailForm select { width: 100%;
-moz-appearance: none;
-webkit-appearance: none; appearance: none; background: #fff; background-image: none; 
border: 1px solid #b4b4b4; color: inherit; font-size: 1.6rem; font-family: inherit; padding: 0.7em 0.8em; border-radius: 5px;}
select:-ms-expand { display: none;}
#mailForm input:focus,
#mailForm textarea:focus,
#mailForm select:focus { border: 1px solid rgba(0, 0, 0, 0.32); background-color: rgba(244, 151, 163, 0.1); box-shadow: none; outline: none;}

/* 必須　任意 */
#mailForm .required:before,
#mailForm .optional:before { content: ""; font-size: 65%; color: #fff; border-radius: 3px; line-height: 100%; padding: 3px 5px 4px 5px; margin: 0 5px 0 0;}
#mailForm .required:before { content: "必須"; background: #c00e07;}
#mailForm .optional:before { content: "任意"; background: #8f8f8f;}


/* セレクトボックス */
#mailForm select { background: url(../img/common/icon-down-solid.svg) 95% center no-repeat; background-size: 16px 16px; background-color: transparent; padding-right: 30px;}
#mailForm select.disabled { color: #ccc;}

#mailForm .error_area { border: 1px solid #ff0000; border-radius: 3px; color: #ff0000; margin: 0 auto 15px auto;}
#mailForm .error { background-color: rgba(255, 0, 64, 0.1);}
#mailForm select.error { background: rgba(255, 0, 64, 0.1) url(../img/common/icon-down-solid.svg) 95% center no-repeat; background-size:  16px 16px;}

#mailForm input[type=file] { background: none; border: none;}

/* ラジオボタン */
#mailForm label { display: block; width: 100%;}
#mailForm input[type=radio]  { opacity: 0; position: absolute;}
#mailForm input[type=radio] + span { display: block; width: 100%; padding: 5px 30px; position: relative; cursor: pointer;}
#mailForm input[type=radio] + span:before { display: block; content: ""; width: 26px; height: 26px; background: #fff; border: 1px solid #d2d2d2; border-radius: 50%; margin-top: -13px; position: absolute; top: 50%; left: 0;}
#mailForm input[type=radio] + span:after { display: block; content: ""; width: 18px; height: 18px;
background: rgb(130,200,194);
background: linear-gradient(356deg, rgba(130,200,194,1) 0%, rgba(166,217,213,1) 100%);
border-radius: 50%; margin-top: -9px; position: absolute; top: 50%; left: 4px; opacity: 0; transform: scale3d(.3,.3,1); transition: transform .2s ease-in-out, opacity .2s ease-in-out;}
#mailForm input[type=radio]:checked + span:before { border-color: #666;}
#mailForm input[type=radio]:checked + span:after { opacity: 1; transform: scale3d(1,1,1);}


/*チェックボックス*/
#mailForm input[type=checkbox] { display: none;}
#mailForm input[type=checkbox] + span { display: block; width: 100%; cursor: pointer; padding: 5px 30px; position: relative;}
#mailForm input[type=checkbox] + span:before { display: block; content: ""; width: 16px; height: 16px; background: #e5e5e5; border: 1px solid #d2d2d2;  margin-top: -8px; position: absolute; top: 50%; left: 5px;}
#mailForm input[type=checkbox] + span:after { display: block; content: ""; width: 9px; height: 20px; border-right: 6px solid #2b9ea7; border-bottom: 3px solid #2b9ea7; margin-top: -14px; position: absolute; top: 50%; left: 9px; opacity: 0; transform: rotate(45deg) translate3d(0,2px,0) scale3d(.7,.7,1); transition: transform .2s ease-in-out, opacity .2s ease-in-out;}
#mailForm input[type=checkbox]:checked + span:before { border-color: #666;}
#mailForm input[type=checkbox]:checked + span:after { opacity: 1; transform: rotate(45deg) scale3d(1,1,1);}


/* 送信 */
#mailForm input[type=submit] { display: block; width: 250px;
background: rgb(130,200,194);
background: linear-gradient(356deg, rgba(130,200,194,1) 0%, rgba(166,217,213,1) 100%); border: none;
color: #fff; font-weight: 700; text-align: center; border-radius: 30px; padding: 10px 20px; margin: 20px auto 0 auto; transition: .3s; cursor: pointer;}
#mailForm input[type=submit]:hover { opacity: .7; transition: .3s;}

#mailForm input.corrected[type=submit] { background: #a3a3a3;}



#mailForm dl { display: flex; justify-content: center; width: 90%; color: #555; border-bottom: 1px solid #ccc; padding-bottom: 10px; margin: 0 auto 10px auto;}
#mailForm dl:first-of-type { padding-top: 10px; border-top: 1px solid #ccc;}
#mailForm dt { width: 35%; color: #313131;}
#mailForm dt span { font-size: 70%; padding-left: 10px; color: #ff0000;}
#mailForm dd { width: 65%; display: flex; flex-wrap: wrap; align-items: center; padding-left: 15px;}
#mailForm dd > span { font-size: 70%;}
#mailForm dd dl { width: 100%;}
#mailForm dd dl:first-of-type,
#mailForm dd dl { border-color: #ebebeb;}
#mailForm dd dl:last-of-type { margin: 0 auto 0 auto;}

#mailForm input { display: inline-block; width: 100%;}
#mailForm textarea { display: inline-block; width: 100%; height: 10em;}

#mailForm .thanks { font-size: 2rem; text-align: center; line-height: 2em; padding: 50px 0;}

#mailForm .timeframe input[type=text]:nth-child(1),
#mailForm .timeframe input[type=text]:nth-child(2) { display: inline-block; width: 30%;}
#mailForm .timeframe input[type=text]:nth-child(3) { display: inline-block; width: 15%;}

#mailForm .salary select { display: inline-block; width: 40%; margin-right: 10px; margin-bottom: 10px;}
#mailForm .salary input[type=text] { display: inline-block; width: 30%;}

#mailForm select[name="commute"],
#mailForm select[name="becauseOf"] { margin-bottom: 10px;}

#mailForm .during select { display: inline-block; width: 40%; margin-right: 10px;}

#mailForm .timePeriod input[type=text] { display: inline-block; width: 40%;}
#mailForm .timePeriod select { display: inline-block; width: 45%; margin: 10px 15px 0 0;}

#mailForm .children,
#mailForm .childcare { width: 100%; border-collapse: collapse; border: 1px solid #333333;}
#mailForm .children input,
#mailForm .childcare input { display: inline-block; width: 80%; margin-right: 5px;}
#mailForm .children th,
#mailForm .children td,
#mailForm .childcare th,
#mailForm .childcare td
{ border: 1px solid #333333; border-collapse: collapse; padding: 5px 8px;}
#mailForm .children thead th { text-align: center;}
#mailForm .children tbody th { text-align: center; width: 4em; vertical-align: middle;}
#mailForm .childcare tbody th { text-align: center; width: 6em; vertical-align: middle;}

#mailForm .recruitmentNum dd input { display: inline-block; width: 80%; margin-right: 5px;}

#mailForm .pay select { margin-bottom: 10px;}
#mailForm .pay input { display: inline-block; width: 40%;}
#mailForm .pay input:first-of-type { margin-right: 5px}
#mailForm .pay input:last-of-type { margin-right: 5px; margin-left: 5px;}

#mailForm .allowance dl { flex-direction: column;}
#mailForm .allowance dt,
#mailForm .allowance dd { width: 100%;}
#mailForm .allowance dt { margin-bottom: 10px;}
#mailForm .allowance dd { padding-left: 0;}

#mailForm .allowance dt input { display: inline-block; width: 80%; margin-right: 5px;}
#mailForm .allowance dd select,
#mailForm .allowance dd input { display: inline-block; width: 35%;}
#mailForm .allowance dd select { margin-right: 5px}
#mailForm .allowance dd input { margin-right: 5px; margin-left: 5px;}

#mailForm .bonus select { display: inline-block; width: 40%; margin-bottom: 10px;}
#mailForm .bonus select:first-of-type { margin-right: 5px}
#mailForm .bonus select:last-of-type { margin-right: 5px; margin-left: 5px;}

#mailForm .TravelCost dd { width: 100%; padding-left: 30px;}
#mailForm .TravelCost dd input { display: inline-block; width: 30%; margin: 0 5px;}

#mailForm .startTime input { display: inline-block; width: 80%;}
#mailForm .startTime input:first-of-type { margin-left: 5px;}
#mailForm .startTime input:last-of-type { margin-right: 5px;}

#mailForm .workingHours input[type=text] { display: inline-block; width: 45%; margin-bottom: 10px;}
#mailForm .workingHours input[type=text]:nth-child(1) { margin-right: 5px;}
#mailForm .workingHours input[type=text]:nth-child(2) { margin-left: 5px;}
#mailForm .workingHours input[type=number] { display: inline-block;}
#mailForm .workingHours input[type=number]:nth-child(1) { width: 80%; margin-right: 5px;}
#mailForm .workingHours input[type=number]:nth-child(2) { width: 50%; margin: 0 5px;}

#mailForm .jobDescription input[type=number] { display: inline-block; width: 30%; margin-right: 5px;}
#mailForm .jobDescription span { margin-bottom: 10px;}

#mailForm .resume div.is-hidden,
#mailForm .resume div.is-hidden h4,
#mailForm .resume div.is-hidden dl,
#mailForm .resume div.is-hidden dt,
#mailForm .resume div.is-hidden dd,
#mailForm .resume div.is-hidden label,
#mailForm .resume div.is-hidden input,
#mailForm .resume div.is-hidden select,
#mailForm .resume div.is-hidden span,
#mailForm .resume div.is-hidden textarea { opacity: 0; height: 0; margin: 0; padding: 0;}
.add { text-align: center; margin: 20px 0 50px 0;}
.add button { width: 300px; background: #f3f3f3; border: 1px solid #1d1d1d; border-radius: 3px; font-size: 15px; padding: 10px; cursor: pointer;}

#mailForm dl.fullArea { flex-direction: column; padding: 15px 0;}
#mailForm dl.fullArea dt,
#mailForm dl.fullArea dd { width: 100%;}
#mailForm dl.fullArea dt { margin-bottom: 10px;}
#mailForm dl.fullArea dd dt { width: 40%;}

#mailForm .ppArea dl.fullArea { border: 1px solid #ccc; padding: 30px; margin-top: 30px;}
#mailForm .ppArea dl.fullArea dt { font-weight: 400;}

#mailForm .mw_wp_form_confirm .ppArea { display: none;}

@media screen and (max-width: 768px){
  #mailForm dl { width: 100%;}
}

@media screen and (max-width: 540px){
  #mailForm dl { display: block; width: 100%;}
  #mailForm dt,
  #mailForm dd { width: 100%;}
  #mailForm dt { margin-bottom: 5px;}
  #mailForm dd { padding-left: 0;}
  #mailForm .ppArea dl.fullArea { padding: 15px;}
}

/* __________________________________________________
   Single
__________________________________________________ */

/*2024/05/21追記*/
.pageBg { width: 900px; background: #fff; box-shadow: 0 0 2px rgba(33, 17, 13, 0.3); margin: 0 auto 30px; padding-bottom: 30px;}
.pageBg .page { margin-bottom: 10px;}
.pageBg .detailCont { display: flex; justify-content: space-between; font-size: 1.6rem; padding: min(3vw, 28px) min(3vw, 50px); }
.pageBg .detailCont div { width: 48%;}
.pageBg .detailCont div h3 { font-size: 2rem; background: rgba(210, 140, 144, 0.8); color: #fff; text-align: center; padding: 5px; margin-bottom: 10px;}
.pageBg .detailCont div.jobInfomation h3 { background: rgba(210, 140, 144, 0.8);}
.pageBg .detailCont div.basicInformation h3 { background: rgba(173, 173, 173, 0.8);}

.pageBg .detailCont dl { display: flex; justify-content: space-between; border-bottom: 1px solid #ececec; padding: 0 0 5px 0; margin: 0 0 5px 0;}
.pageBg .detailCont dt { width: 40%;}
.pageBg .detailCont dd { width: 55%;}


.pageBg .application { width: 90%; font-size: 1.6rem; margin: 30px auto;}
.pageBg #mailForm.application dt { display: flex; align-items: center;}



@media screen and (max-width: 480px) {
  .pageBg { width: 100%; margin-bottom: 30px;}
  .pageBg .detailCont { flex-direction: column;}
  .pageBg .detailCont div { width: 100%;}
  .pageBg .detailCont dt,
  .pageBg .detailCont dd { width: 100%;}
}


/* __________________________________________________
   other
__________________________________________________ */

/*2024/05/24追記*/

#other { font-size: 1.5rem; line-height: 1.8em; font-weight: 400;}
#other h1,
#other h2,
#other h3 { font-weight: 700;}
#other h1 { font-size: 3rem; text-align: center; margin-bottom: 30px;}
#other h2 { font-size: 2rem; margin: 30px 0 8px;}
#other h2:first-of-type { margin: 0 0 8px;}
#other h3 { font-size: 1.8rem; margin: 10px 0 5px;}
#other h3:before { content: "-"; padding-right: .5em;}

#other .inner p { padding-bottom: .5em;}

#other dl { margin: 30px 0;}
#other dt { font-size: 110%; margin-bottom: 8px;}

#other.sp dl { margin: 0 0 30px 0;}
#other.sp dt { font-size: 110%; margin-bottom: 8px;}

#other ol li,
#other ul li { margin: 0 0 0 1.5em;}
#other ol { counter-reset: listnum;}
#other ol li:before { counter-increment: listnum; content: counter(listnum) "."; padding-right: .2em; margin-left: -1.2em;}
#other ul li:before { content: "○"; padding-right: .2em; margin-left: -1.2em;}

#other li ul { margin-top: .5em;}

/* __________________________________________________
   bottomLink"
__________________________________________________ */

/*2024/05/24追記*/
.footer .bottomLink { background: rgba(255, 255, 255, 0.2); font-size: 1.4rem; text-align: center; padding: 15px 0;}
.footer .bottomLink a { margin: 0 15px;}


/* __________________________________________________
   error
__________________________________________________ */

/*2024/05/27追記*/
#error h1 { font-size: 2.8rem; margin: 50px 0 30px; text-align: center; font-weight: 700;}
#error h1 + p { font-size: 2rem; text-align: center; line-height: 2em;}
#error h1 + p a { display: block; width: 250px; background: #ff9a9a; border-radius: 10px; color: #fff; text-align: center; margin: 50px auto 0;}
@media screen and (max-width: 480px) {
  #error h1 { font-size: 2rem;}
  #error h1 + p { text-align: left; font-size: 1.5rem;}
  #error h1 + p > br { display: none;}
}

/* __________________________________________________
   pager
__________________________________________________ */
.pager .page.smaller,
.pager .page.larger,
.pager .current { background: none; box-shadow:none; padding: 15px;}
