
*{
    box-sizing: border-box;
    line-height: inherit;
    font-weight: inherit;
    font-size: inherit;
    color: inherit;
    font-family: inherit;
}
html,body,div,h1,h2,h3,h4,h5,h6,ul,ol,li,p,dl,dt,dd,figure,figcaption{
    padding: 0;
    margin: 0;
}
html{
    font-size: 10px;
}
body{
    font-family: "yu-gothic-pr6n", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    color: #000;
}
ol,ul,li{
    list-style: none;
}
img{
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
figure{
    position: relative;
}
figure img{
    position: relative;
    z-index: 1;
}
figure figcaption{
    position: absolute;
    z-index: 2;
    right: 6px;    
    bottom: 6px;
    font-size: 10px;
    text-shadow: 0px 0px 6px rgba(255,255,255,0.1), 0px 0px 6px rgba(255,255,255,0.1);
}
button,
a{
    opacity: 1;
    transition: all .2s ease-out;
    color: inherit;
    text-decoration: none;
}
button:hover,
a:hover{
    opacity: 0.6;
}
textarea,
button,
input{
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    border: none;
}
a.link_btn{
    display: block;
    height: 55px;
    line-height: 55px;
    border-radius: 27.5px;
    border: 1px solid #000;
    background: #FFFF00;
    text-align: center;
    font-family: "GenJyuuGothic", sans-serif;
    font-size: 22px;
    max-width: 330px;
    padding: 0 20px;
    margin: 10px 0 0;
}
table{
    border-collapse: collapse;
}

._pc{ display: block;}
._sp{ display: none;}


/* common */
.flex{
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
#wrapper{
    position: relative;
}

.contents{
    background: url(/images/suisai_bg.webp) center top 4% / 130% auto repeat-y, url(/images/bg.webp) center top / 100% auto repeat-y;
    padding: 93px 0 0;
    overflow-x: hidden;
}


/* header */
header{
    position: fixed;
    z-index: 1000;
    left: 0;
    right: 0;
    top: 0;
}
.header-wrap{
    width: 100%;
    margin: 0 auto;
    align-items: flex-start;
    justify-content: space-between;
    padding: clamp(20px, 0.000px + 3.125vw, 40px) 49px 0 70px;
}
.header-logo {
    width: 20%;
    max-width: 205px;
    aspect-ratio: 205 / 142.3;
}
.header-logo a{
    display: block;
    text-indent: -9999px;
    height: 100%;
    width: 100%;
    background: url(/images/logo.png) center / contain no-repeat;
}
.header-logo .header-logo__image{
    height: 100%;
    width: 100%;
}
.header-menu{
    aspect-ratio: 781 / 124;
    background: url(/images/menu_bg.png) center top 4px / 100% auto no-repeat;
    max-width: 782px;
    width: 70%;
}
.header-menu__wrap{
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 0 clamp(80px, -144.000px + 21.875vw, 136px) 0 clamp(50px, -138.000px + 18.359vw, 97px);
}
.header-menu__item{
    font-family: "GenJyuuGothic", sans-serif;
    font-size: clamp(12px, 0.039px + 1.559vw, 20px);
}
.header-menu__item:nth-child(1){
    width: 45%;
}
.header-menu__wrap .separator{
    width: 1px;
    height: 27px;
    margin: 0 clamp(18px, 8.000px + 1.563vw, 28px);
    background: #000;
}


/* footer */
footer{
    margin: 57px 0 0;
}
.footer-register{
    position: relative;
    padding: 75px 0 60px;
    border-top: 1px solid #707070;
    border-bottom: 1px solid #707070;
    background: #fff;
}
.footer-register__title{
    position: absolute;
    top: -30px;
    max-width: 1130px;
    width: 90%;
    left: 50%;
    transform: translateX(-50%);
    aspect-ratio: 13.66219;
    background: url(/images/footer_register_title_bg.png) center / contain no-repeat;
    color: #fff;
    font-family: "GenJyuuGothic", sans-serif;
    text-align: center;
    font-size: clamp(14px, 3.000px + 1.719vw, 25px);;
    font-weight: bold;
    line-height: 3.45;
    letter-spacing: 0.1em;
}
.footer-register__text{
    max-width: 1111px;
    width: 85%;
    margin: 0 auto;
    font-size: 18px;
    letter-spacing: 0.07em;
}
.footer-register__wrap{
    max-width: 1110px;
    width: 85%;
    margin: 43px auto 0;
    gap: 32px;
}
.footer-register__item{
    width: calc( (100% - 64px) / 3);
    text-align: center;
}
.footer-register__item p{
    position: relative;
    font-family: "GenJyuuGothic", sans-serif;
    font-size: 20px;
    font-weight: 700;
}
.footer-register__item p span{
    display: inline-block;
    padding: 0 20px;
    background: url(/images/footer_register_slash1.svg) left center / auto 20px no-repeat, url(/images/footer_register_slash2.svg) right center / auto 20px no-repeat;
}
.footer-register__item a{
    display: block;
    width: 100%;
    aspect-ratio: 2.4928;
    border: 1px solid #000;
    border-radius: 29px;
    padding: 28px 0 0;
    margin: 10px 0 0;
}
.footer-register__item a p{
    font-family: "GenJyuuGothic", sans-serif;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.25;
}
.footer-register__item a span{
    font-size: 25px;
    font-family: "GenJyuuGothic", sans-serif;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.1em;
}
.footer-register__item.personal a{
    background: url(/images/footer_register_btn_bg1.webp) center / cover no-repeat;
}
.footer-register__item.family a{
    background: url(/images/footer_register_btn_bg2.webp) center / cover no-repeat;
}
.footer-register__item.child a{
    background: url(/images/footer_register_btn_bg3.webp) center / cover no-repeat;
}
.footer-access__title{
    text-align: center;
    width: 90%;
    max-width: 605px;
    aspect-ratio: 605 / 56;
    text-align: center;
    text-indent: -9999px;
    background: url(/images/footer_access_title.svg) center / contain no-repeat;
    margin: 0 auto;
}

.footer-contact{
    padding: 64px 0 0;
}
.footer-access__map{
    gap: 59px;
    justify-content: center;
    align-items: flex-start;;
    max-width: 1100px;
    width: 90%;
    margin: 47px auto 0;
}
.footer-access__left{
    width: 625px;
    aspect-ratio: 1.3928;
    border: 1px solid #000;
    border-radius: 32px;
    overflow: hidden;
}
.footer-access__left iframe{
    width: 100%;
    height: 100%;
}
.footer-access__right{
    font-family: "GenJyuuGothic", sans-serif;
    width: calc( 100% - 684px);
    padding: 50px 15px 0 0;
}
.footer-access__text{
    padding: 0 0 0 5px;
}
.footer-access__text h3{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.333;
    letter-spacing: 0.07em;
}
.footer-access__text p{
    font-size: 20px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.1em;
    margin: 5px 0 0;
}
.footer-access__overview{
    margin: 20px 0 0;
}
.footer-access__overview li{
    padding: 0 0 0 60px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.09em;
    line-height: 1.5;
    min-height: 37px;
}
.footer-access__overview li + li{
    margin: 27px 0 0;
}
.footer-access__overview .address{
    background: url(/images/icon_address.svg) left top 10px / auto 36px no-repeat;
}
.footer-access__overview .tel{
    background: url(/images/icon_tel.svg) left top / auto 36px no-repeat;
}
.footer-access__overview .mail{
    background: url(/images/icon_mail.svg) left top / auto 27px no-repeat;
}
.footer-overview{
    max-width: 1100px;
    width: 90%;
    margin: 90px auto 0;
    border-radius: 40px;
    background: #fff;
    border: 1px solid #000;
    padding: 48px 56px;
}
.footer-overview__data{
    gap: 5px 0;
    font-family: "GenJyuuGothic", sans-serif;
}
.footer-overview__data dl{
    gap: 5px 16.8px;
    width: 55.5%; 
    align-items: center;
}
.footer-overview__data dl.time{
    width: 44.5%; 
}
.footer-overview__data dl.price{
    width: 100%;
}
.footer-overview__data dt{
    width: 190px;
    aspect-ratio: 2.7142;
    background: url(/images/footer_access_text_bg.png) center / contain no-repeat;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 19px 0;
}
.footer-overview__data dd{
    width: calc(100% - 206.8px);
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: left;
    line-height: 1.75;
}
.footer-overview__data dd span{
    text-decoration: underline;
    color: #d54460;
    font-size: 34px;
}
.footer-price{
    margin: 30px 0 0;
}
.footer-price__detail{
    font-family: "GenJyuuGothic", sans-serif;
    gap: 20px;
    align-items: center;
}
.footer-price__title{
    font-size: 19px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    width: 183px;
    height: 183px;
    border-radius: 92px;
    border: 1px solid #707070;
    padding: 49px 0;
}
.footer-price__table{
    font-size: 20px;
    font-weight: 700;
    width: calc(100% - 203px)
}
.footer-price__table table{
    border-top: 1px solid #707070;
    border-bottom: 1px solid #707070;
}
.footer-price__table table tbody tr + tr td{
    border-top: 1px solid #707070;
}
.footer-price__table table tbody tr td + td{
    border-left: 1px solid #707070;
}
.footer-price__table table tbody tr td{
    padding: 2.5px 17.5px;
}
.footer-price__table table tbody tr:last-child td{
    padding: 7px 17.5px;
}
.footer-price__table table tbody tr td:nth-child(1){
    width: 31.5%;
}
.footer-price__table table tbody tr td:nth-child(2){
    width: 15.5%;
}
.footer-price__table table tbody tr td:nth-child(3){
    width: 53%;
    letter-spacing: -0.05em;
}
.footer-price__table .footnote{
    font-size: 8px;
    vertical-align: super;
}
.footer-price__table .note{
    font-size: 90%;
    vertical-align: text-bottom;
}
.footer-price__note{
    font-size: 18px;
    font-weight: 700;
    margin: 24px 0 0;
    line-height: 1.777;
}
.footer-calendar{
    margin: 80px 0 0;
}
.footer-calendar__title{
    text-align: center;
    max-width: 345px;
    aspect-ratio: 345 / 43;
    text-align: center;
    text-indent: -9999px;
    background: url(/images/footer_calendar_title.svg) center / contain no-repeat;
    margin: 0 auto;
}
.footer-calendar__content{
    border: 1px solid #000;
    border-radius: 30px;
    padding: 10px;
    margin: 22px 0 0;
    background: #f0f4f9;
}
.footer-calendar__content .calendar-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0 auto;
}

.footer-calendar__content .calendar-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.footer-copyright{
    position: relative;
    padding: 37px 0 20px;
    margin: 70px 0 0;
}
.footer-copyright > *{
    position: relative;
    z-index: 1;
}
.footer-copyright__sns .flex{
    justify-content: center;
    gap: 16px;
}
.footer-copyright__sns a{
    display: block;
}
.footer-copyright__sns img{
    width: 76px;
    height: 76px;
}
.footer-copyright__link{
    margin: 20px 0 0;
    font-family: "GenJyuuGothic", sans-serif;
    font-weight: 500;
}
.footer-copyright__link .flex{
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    align-items: center;
}
.footer-copyright__link .separator{
    width: 1px;
    height: 20px;
    margin: 0 clamp(18px, 8.000px + 1.563vw, 28px);
    background: #000;
}
.footer-copyright__text{
    text-align: center;
    font-size: 16px;
    margin: 30px 0 0;
}
.footer-copyright__bg{
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #D1EDBF;
    mix-blend-mode: multiply;
}

.line{
    width: 100%;
    aspect-ratio: 40.2812;
    background: url(/images/line.png) center / cover no-repeat;
}
