@charset 'utf-8';
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');

:root{
    --text-color: #71675D;
    --red: #8E1B20;
    --black: #1A1A1A;
    --mincho: 'Zen Old Mincho', 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
    --gothic: 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    --poppins: 'Poppins', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    --padding: 140px;
}
body{
    background-color: #fff;
}
main{
    color: var(--text-color);
    font-weight: normal;
    font-family: var(--gothic);
}
.vert{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
main .wrap{
    max-width: 980px;
}

.plan-template-page-graduation-hakama-template .flex{
    align-items: flex-start;
}
.plan-template-page-graduation-hakama-template .recommend-plan-sec .flex{
    align-items:normal;
}

.graduate-sec01{
    background: url(img/graduate/mv-bg.webp) no-repeat center center / cover;
    padding: 80px 0 var(--padding);
}
.graduate-sec01__box{
    position: relative;
}
.graduate-sec01__box-img{
    width: 580px;
    padding: 8px;
    margin: 0 auto;
    position: relative;
}
.graduate-sec01__box-img::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(img/graduate/mv-item.webp) no-repeat center center / cover;
    z-index: 1;
}
.graduate-sec01__box-img__item{
    padding-top: 100%;
    position: relative;
}
.graduate-sec01__box-img__item img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}
.graduate-sec01__box-img__illust{
    position: absolute;
    z-index: 1;
    top: 40px;
    right: -27px;
}
.graduate-sec01__box-ttl{
    position: absolute;
    bottom: 0;
    left: calc((100% - 580px)/2 - 43px);
    color: #fff;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    font-family: var(--mincho);
    z-index: 1;
    letter-spacing: 0.25em;
    line-height: normal;
}
.graduate-sec01__box-ttl br{
    display: none;
}
.graduate-sec01__box-ttl span{
    padding: 20px 10px;
}
.graduate-sec01__box-ttl span.c1{
    background-color: var(--text-color);
}
.graduate-sec01__box-ttl span.c2{
    background-color: var(--red);
    font-size: 24px;
}
.graduate-sec01__box-illust{
    position: absolute;
    bottom: -30px;
    left: calc((100% - 580px)/2 - 145px);
    z-index: 2;
}
.graduate-sec01__text{
    margin: 30px 0;
    text-align: center;
    line-height: 2;
}
.graduate-sec01__price{
    padding: 30px 0;
    border-top: 1px dashed var(--text-color);
    border-bottom: 1px dashed var(--text-color);
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}
.graduate-sec01__price dl{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.graduate-sec01__price dl dt{
    width: 80px;
    height: 80px;
    background-color: var(--text-color);
    color: #fff;
    line-height: 1;
    font-weight: normal;
    border-radius: 50%;
    text-align: center;
    padding-top: 30px;
    font-family: var(--mincho);
}
.graduate-sec01__price dl dt span{
    font-size: 20px;
}
.graduate-sec01__price dl dd{
    padding-left: 25px;
    font-family: var(--mincho);
    padding-top: 15px;
}
.graduate-sec01__price-text{
    line-height: normal;
    font-size: 18px;
}
.graduate-sec01__price-text span{
    font-size: 34px;
}
.graduate-sec01__price-text small{
    font-size: 16px;
}
.graduate-sec01__price-att{
    font-size: 14px;
    padding: 20px;
    border: 1px solid #eee;
    margin-top: 15px;
    background-color: #fff;
}
.graduate-sec01__cont{
    padding: 60px;
    border: 1px solid #eee;
    background-color: #fff;
    margin-top: 40px;
}
.graduate-sec01__cont-text{
    line-height: 2;
}
.graduate-sec01__cont-more{
    display: none;
}
.graduate-sec01__reserve-btn{
    margin-top: 40px;
}
.graduate-reserve-btn a{
    width: 320px;
    display: block;
    margin: 0 auto;
    background-color: var(--black);
    padding: 17px 0;
    text-align: center;
    color: #fff;
    line-height: normal;
    font-weight: 600;
    border-radius: 40px;
    position: relative;
    border: 1px solid var(--black);
}
.graduate-reserve-btn a span{
    display: inline-block;
    transform: translateX(8px);
}
.graduate-reserve-btn a::before{
    content: "";
    width: 30px;
    height: 30px;
    background: url(img/graduate/icon-calendar.svg) no-repeat center center / contain;
    transform: translateY(-50%);
    top: 50%;
    left: 15px;
    z-index: 1;
    pointer-events: none;
    position: absolute;
}
.graduate-reserve-btn a:hover{
    opacity: 1;
}
@media screen and (min-width: 992px) {
    .graduate-reserve-btn a:hover{
        background-color: transparent;
        color: var(--text-color);
    }
}
.graduate-sec02{
    padding: var(--padding) 0 103px;
    overflow: hidden;
}
.graduate-sec02__item{
    position: absolute;
    top: -80px;
    right: -125px;
    z-index: -1;
}
.graduate-sec02__cont{
    position: relative;
}
.graduate-sec02__cont-ttl{
    top: -80px;
    left: 40px;
}
.graduate-sec02__cont-ttl,
.graduate-sec07__box-num{
    position: absolute;
    z-index: 1;
    color: #fff;
    background-color: var(--red);
    padding: 20px 7px;
    font-size: 24px;
    letter-spacing: 0.2em;
    font-family: var(--mincho);
}
.graduate-sec02__cont-more{
    text-align: right;
    margin-top: 30px;
}
.graduate-sec02__cont-more a{
    display: inline-block;
    font-weight: 600;
    line-height: normal;
    color: var(--black);
}
.graduate-sec02__cont-more a span{
    display: inline-block;
    vertical-align: middle;
    position: relative;
    top: -2px;
    width: 30px;
    height: 30px;
    margin-left: 15px;
    background: url(img/graduate/arrow.svg) no-repeat center center / contain;
    transition: .3s;
}
.graduate-sec02__cont-more a:hover{
    opacity: 1;
}
@media screen and (min-width: 992px) {
    .graduate-sec02__cont-more a:hover span{
        transform: translateX(10px);
    }
}
.graduate-toc{
    padding: 40px;
    border: 1px solid #eee;
    display: flex;
    flex-wrap: wrap;
    max-width: 680px;
    margin: 100px auto 0;
}
.graduate-toc__text{
    width: 160px;
    font-size: 12px;
}
.graduate-toc__text span:not([class]){
    font-weight: bold;
    line-height: normal;
    font-size: 16px;
}
.graduate-toc__text span.graduate-toc__text__hide{
    color: #CF7D7D;
    text-decoration: underline;
    cursor: pointer;
}
.graduate-toc__link-wrap{
    width: calc(100% - 160px);
    display: grid;
    grid-template-rows: 0fr;
    transition: .3s grid-template-rows ease;
}
.graduate-toc__link-wrap > div{
    overflow: hidden;
}
.graduate-toc__link-wrap.active{
    grid-template-rows: 1fr;
}
.graduate-toc__link li{
    counter-increment: count;
    position: relative;
    padding-left: 30px;
    line-height: normal;
    margin-bottom: 15px;
}
.graduate-toc__link li:last-child{
    margin-bottom: 0;
}
.graduate-toc__link li::before{
    content: counter(count);
    width: 20px;
    height: 20px;
    line-height: 1;
    font-size: 12px;
    font-weight: 500;
    background-color: #E3E1DF;
    position: absolute;
    top: 3px;
    left: 0;
    border-radius: 50%;
    text-align: center;
    padding-top: 4px;
    font-family: var(--poppins);
}
.graduate-sec03{
    position: relative;
    z-index: 0;
    padding: var(--padding) 0;
}
.graduate-sec03::before{
    background: #F6F6F6 url(img/graduate/price-bg.webp) repeat-y center -80px / 1440px;
}
.graduate-sec03::before,
.graduate-sec05::before,
.graduate-sec07::before,
.graduate-sec07::after,
.graduate-sec09::before{
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 40px);
    height: 100%;
    z-index: -1;
    z-index: -1;
    border-radius: 40px;
}
.graduate-title{
    text-align: center;
    margin-bottom: 45px;
}
.graduate-title__item{
    width: 45px;
    height: 45px;
    margin: 0 auto 20px;
    background: url(img/graduate/title-item.svg) no-repeat center center / contain;
}
.graduate-title__text{
    font-size: 34px;
    font-weight: bold;
    line-height: normal;
    letter-spacing: 0.2em;
    color: var(--black);
}
.graduate-title__text span{
    display: block;
    font-size: 18px;
    letter-spacing: 0.2em;
}
.graduate-title__en{
    color: var(--red);
    font-weight: 500;
    font-family: var(--poppins);
    line-height: normal;
}
.graduate-sec03__main,
.graduate-sec03__rental,
.graduate-sec07__box{
    position: relative;
    padding: 60px 60px 60px 160px;
    background-color: #fff;
    border-top: 3px solid var(--red);
    margin-bottom: 20px;
}
.graduate-sec03__main-ttl-sp{
    display: none;
}
.graduate-sec03__main-ttl,
.graduate-sec03__rental-ttl{
    position: absolute;
    top: -40px;
    left: 40px;
    background-color: var(--red);
    color: #fff;
    font-family: var(--mincho);
    padding: 20px 7px;
    font-size: 24px;
    letter-spacing: 0.17em;
    z-index: 1;
}
.graduate-sec03__main::before,
.graduate-sec03__rental::before,
.graduate-sec07__box::before{
    content: "";
    position: absolute;
    top: 3px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--red);
}
.graduate-sec03__main-flex__img{
    width: 360px;
}
.graduate-sec03__main-flex__box{
    width: calc(100% - 360px);
    padding-right: 80px;
    padding-top: 40px;
}
.graduate-sec03__main-flex__box-text{
    line-height: normal;
    margin-bottom: 40px;
}
.graduate-sec03__main-flex__box-img{
    display: none;
}
.graduate-sec03__main-flex__box-link__item:not(:last-child){
    margin-bottom: 10px;
}
.graduate-sec03__main-flex__box-link__item a{
    display: block;
    padding: 12px 0;
    color: #fff;
    background-color: var(--text-color);
    line-height: normal;
    text-align: center;
    border-radius: 25px;
    position: relative;
    border: 1px solid var(--text-color);
}
.graduate-sec03__main-flex__box-link__item a::before{
    content: "";
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    right: 25px;
    background: url(img/graduate/arrow-down.svg) no-repeat center center / contain;
    width: 12px;
    height: 12px;
    transition: .3s;
}
.graduate-sec03__main-flex__box-link__item a small{
    font-size: 14px;
}
.graduate-sec03__main-flex__box-link__item a:hover{
    opacity: 1;
}
@media screen and (min-width: 992px) {
    .graduate-sec03__main-flex__box-link__item a:hover{
        background-color: transparent;
        color: var(--black);
    }
    .graduate-sec03__main-flex__box-link__item a:hover::before{
        -webkit-filter: brightness(0) grayscale(100%) invert(0);
        -moz-filter: brightness(0) grayscale(100%) invert(0);
        -o-filter: brightness(0) grayscale(100%) invert(0);
        -ms-filter: brightness(0) grayscale(100%) invert(0);
        filter: brightness(0) grayscale(100%) invert(0);
    }
}
.graduate-sec03__plan-box{
    position: relative;
    background-color: #fff;
    padding: 60px 60px 60px 160px;
    margin-bottom: 20px;
}
.graduate-sec03__plan-box__ttl{
    font-size: 26px;
    position: absolute;
    top: 60px;
    left: 60px;
    letter-spacing: 0.17em;
    font-family: var(--mincho);
    line-height: normal;
}
.graduate-sec03__plan-box__flex{
    flex-direction: row-reverse;
}
.graduate-sec03__plan-box__flex-img{
    width: 360px;
}
.graduate-sec03__plan-box__flex-item{
    width: calc(100% - 360px);
    padding-right: 80px;
    padding-top: 40px;
}
.graduate-sec07__box-flex__item-img,
.graduate-sec07__box-flex__item-more-wrap{
    display: none;
}
.graduate-sec03__plan-box__flex-item ul li,
.graduate-sec07__box-flex__item li{
    line-height: normal;
    margin-bottom: 6px;
    position: relative;
    padding-left: 20px;
}
.graduate-sec03__plan-box__flex-item ul li:last-child,
.graduate-sec07__box-flex__item li:last-child{
    margin-bottom: 0;
}
.graduate-sec03__plan-box__flex-item ul li::before,
.graduate-sec07__box-flex__item li::before{
    content: "";
    width: 16px;
    height: 16px;
    background: url(img/graduate/list-item.svg) no-repeat center center / contain;
    position: absolute;
    top: 5px;
    left: 0;
}
.graduate-sec03__plan-box__flex-item ul li:last-child{
    margin-bottom: 0;
}
.graduate-sec03__plan-box__flex-item ul + .graduate-sec03__plan-box__flex-item__text{
    margin-top: 20px;
}
.graduate-sec03__plan-box__flex-item__price{
    margin: 30px 0 45px;
    padding: 20px 0;
    border-top: 1px dashed var(--text-color);
    border-bottom: 1px dashed var(--text-color);
    line-height: normal;
    text-align: center;
    font-family: var(--mincho);
}
.graduate-sec03__plan-box__flex-item__price span{
    font-size: 24px;
}
.graduate-sec03__plan-box__flex-item__price small{
    font-size: 13px;
}
.graduate-sec03__plan-option__grid{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
    padding-top: 45px;
}
.graduate-sec03__plan-option__grid-item dl{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding-left: 10px;
    margin-top: 15px;
}
.graduate-sec03__plan-option__grid-item dl dt{
    font-weight: normal;
    line-height: normal;
}
.graduate-sec03__plan-option__grid-item dl dd{
    font-family: var(--mincho);
    line-height: normal;
}
.graduate-sec03__plan-option__grid-item dl dd span{
    font-size: 20px;
}
.graduate-sec03__plan-option__grid-item dl dd small{
    font-size: 12px;
}
.graduate-sec03__plan-option__grid-item__att{
    font-size: 12px;
    padding-left: 10px;
    margin-top: 5px;
}
.graduate-sec03__plan-option__more{
    margin-top: 40px;
}
.graduate-sec03__plan-option__more a{
    display: block;
    width: 320px;
    text-align: center;
    background-color: var(--black);
    color: #fff;
    border: 1px solid var(--black);
    border-radius: 40px;
    line-height: normal;
    padding: 18px 0;
    position: relative;
}
.graduate-sec03__plan-option__more a::before{
    content: "";
    position: absolute;
    transform: translateY(-50%) rotate(-90deg);
    top: 50%;
    right: 25px;
    background: url(img/graduate/arrow-down.svg) no-repeat center center / contain;
    width: 12px;
    height: 12px;
    transition: .3s;
}
.graduate-sec03__plan-option__more a:hover{
    opacity: 1;
}
@media screen and (min-width: 992px) {
    .graduate-sec03__plan-option__more a:hover{
        background-color: transparent;
        color: var(--black);
    }
    .graduate-sec03__plan-option__more a:hover::before{
        -webkit-filter: brightness(0) grayscale(100%) invert(0);
        -moz-filter: brightness(0) grayscale(100%) invert(0);
        -o-filter: brightness(0) grayscale(100%) invert(0);
        -ms-filter: brightness(0) grayscale(100%) invert(0);
        filter: brightness(0) grayscale(100%) invert(0);
    }
}
.graduate-sec03__rental{
    margin: 100px 0 80px;
}
.graduate-sec03__rental-ttl{
    background-color: var(--text-color);
}
.graduate-sec03__rental-flex{
    flex-direction: row-reverse;
}
.graduate-sec03__rental-flex__img{
    width: 248px;
}
.graduate-sec03__rental-flex__box{
    width: calc(100% - 248px);
    padding-right: 52px;
    padding-top: 40px;
}
.graduate-sec03__rental-flex__box-grid{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 10px;
}
.graduate-sec03__rental-flex__box-grid__item{
    padding-top: 10px;
    padding-right: 10px;
    position: relative;
}
.graduate-sec03__rental-flex__box-grid__item-inner{
    padding-top: 100%;
    position: relative;
}
.graduate-sec03__rental-flex__box-grid__item-inner img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.graduate-sec03__rental-flex__box-grid__item-label{
    position: absolute;
    top: 0;
    right: 0;
    width: 90px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--red);
    color: #fff;
    font-size: 14px;
    font-family: var(--mincho);
    text-align: center;
    padding-top: 5px;
}
.graduate-sec03__rental-flex__box-more{
    text-align: right;
    margin-top: 28px;
}
.graduate-sec03__rental-flex__box-more__text{
    font-weight: 600;
    color: var(--black);
    display: inline-block;
    cursor: pointer;
}
.graduate-sec03__rental-flex__box-more__text span{
    width: 30px;
    height: 30px;
    background: url(img/graduate/icon-search.svg) no-repeat center center / contain;
    margin-left: 15px;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    top: -2px;
}
.graduate-sec03__attention-wrap{
    padding-top: var(--padding);
    margin-top: calc(-1 * var(--padding));
}
.graduate-sec03__attention{
    position: relative;
    padding: 60px;
    border: 1px solid var(--red);
    background-color: #FFF4F4;
}
.graduate-sec03__attention-ttl{
    position: absolute;
    transform: translateY(-50%);
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
}
.graduate-sec03__attention-ttl span{
    background-color: var(--red);
    color: #fff;
    font-size: 20px;
    line-height: normal;
    padding: 6px 20px;
    display: inline-block;
    font-family: var(--mincho);
}
.graduate-sec03__attention ul li{
    position: relative;
    padding-left: 15px;
    line-height: 2;
    margin-bottom: 8px;
}
.graduate-sec03__attention ul li:last-child{
    margin-bottom: 0;
}
.graduate-sec03__attention ul li::before{
    content: "";
    position: absolute;
    top: 15px;
    left: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background-color: var(--text-color);
}
.graduate-sec04{
    padding: var(--padding) 0;
}
.graduate-sec04__cont-box{
    cursor: pointer;
    padding: 25px 20px;
    border-top: 1px solid var(--text-color);
    position: relative;
}
.graduate-sec04__cont-box:last-child{
    border-bottom: 1px solid var(--text-color);
}
.graduate-sec04__cont-box__ttl,
.graduate-sec04__cont-box__text{
    position: relative;
    padding-left: 30px;
    line-height: normal;
}
.graduate-sec04__cont-box__ttl::before,
.graduate-sec04__cont-box__text::before{
    font-family: var(--poppins);
    font-weight: bold;
    line-height: normal;
    letter-spacing: 0.2em;
    position: absolute;
    top: 0;
    left: 0;
    color: var(--red);
}
.graduate-sec04__cont-box__ttl::before{
    content: "Q.";
}
.graduate-sec04__cont-box__text::before{
    content: "A.";
}
.graduate-sec04__cont-box__text{
    margin-top: 20px;
}
.graduate-sec04__cont-box__toggle{
    position: absolute;
    top: 25px;
    right: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: var(--text-color);
    transition: .3s;
}
.graduate-sec04__cont-box__toggle::before,
.graduate-sec04__cont-box__toggle::after{
    content: "";
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 50%;
    width: 50%;
    height: 1px;
    background-color: #fff;
    transition: .3s;
}
.graduate-sec04__cont-box__toggle::after{
    transform: translate(-50%,-50%) rotate(-90deg);
}
.graduate-sec04__cont-box__toggle.active::after{
    transform: translate(-50%,-50%) rotate(0deg);
}
.graduate-sec04__cont-box__toggle.active{
    opacity: 0.5;
}
.graduate-sec05{
    padding: var(--padding) 0;
    position: relative;
    z-index: 0;
}
.graduate-sec05::before{
    background: url(img/graduate/guideline-bg.webp) no-repeat center center / cover;
}
.graduate-sec05__box{
    background-color: #fff;
    padding: 60px;
    position: relative;
    margin-top: 60px;
}
.graduate-sec05__box-ttl{
    position: absolute;
    transform: translateY(-50%);
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
}
.graduate-sec05__box-ttl span{
    display: inline-block;
    background-color: var(--red);
    color: #fff;
    padding: 6px 20px;
    line-height: normal;
    font-size: 20px;
    font-family: var(--mincho);
}
.graduate-sec05__box dl{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 35px;
}
.graduate-sec05__box dl dt{
    font-size: 14px;
    font-weight: bold;
    line-height: normal;
    padding: 4px 10px;
    border: 2px solid var(--text-color);
}
.graduate-sec05__box dl dd{
    line-height: normal;
    font-weight: bold;
    font-size: 26px;
}
.graduate-sec05__box dl dd small{
    font-size: 16px;
}
.graduate-sec05__box dl dd span{
    font-weight: normal;
}
.graduate-sec05__box-text{
    line-height: 2;
}
.graduate-sec05__box-text small{
    font-size: 14px;
    display: inline-block;
}
.graduate-sec05__box-img{
    margin: 0 auto 20px;
    text-align: center;
}
.graduate-sec06{
    padding: var(--padding) 0;
}
.graduate-sec06__reserve-btn{
    margin-top: 40px;
}
.graduate-sec06__reserve-btn a{
    width: 380px;
}
.graduate-sec06__cont-box{
    margin-bottom: 37px;
    display: flex;
    flex-wrap: wrap;
}
.graduate-sec06__cont-box:last-child{
    margin-bottom: 0;
}
.graduate-sec06__cont-box__step{
    width: 120px;
    font-size: 20px;
    font-weight: normal;
    line-height: normal;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #fff;
    z-index: 0;
    font-family: var(--poppins);
}
.graduate-sec06__cont-box__step::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 20px);
    background-color: var(--text-color);
    z-index: -1;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), 50% 100%, 0 calc(100% - 20px));
}
.graduate-sec06__cont-box__item{
    width: calc(100% - 120px);
    padding: 40px;
    background-color: #F6F6F6;
}
.graduate-sec06__cont-box__item-lead{
    line-height: normal;
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 20px;
}
.graduate-sec06__cont-box__item-text{
    line-height: normal;
}
.graduate-sec06__cont-box__item-att{
    margin-top: 8px;
    font-size: 14px;
    line-height: normal;
}
.graduate-sec06__cont-box:last-child .graduate-sec06__cont-box__step::before{
    background-color: var(--red);
    clip-path: initial;
    height: 100%;
}
.graduate-sec06__cont-box:last-child .graduate-sec06__cont-box__item{
    background-color: #FFF4F4;
}
.graduate-sec07{
    padding: var(--padding) 0;
    position: relative;
    z-index: 0;
}
.graduate-sec07::before{
    background: #2E3E58;
    z-index: -2;
}
.graduate-sec07::after{
    background: #2E3E58 url(img/graduate/price-bg.webp) repeat-y center -80px / 1440px;
    opacity: 0.02;
}
.graduate-sec07 .graduate-title__item{
    -webkit-filter: brightness(0) grayscale(100%) invert(1);
    -moz-filter: brightness(0) grayscale(100%) invert(1);
    -o-filter: brightness(0) grayscale(100%) invert(1);
    -ms-filter: brightness(0) grayscale(100%) invert(1);
    filter: brightness(0) grayscale(100%) invert(1);
}
.graduate-sec07 .graduate-title__text,
.graduate-sec07 .graduate-title__en{
    color: #fff;
}
.graduate-sec07__box{
    margin-bottom: 80px;
}
.graduate-sec07__box:last-child{
    margin-bottom: 0;
}
.graduate-sec07__box-num{
    position: absolute;
    top: -40px;
    left: 40px;
}
.graduate-sec07__box-num.adjust{
    background-color: var(--text-color);
}
.graduate-sec07__box-flex__item{
    width: calc(100% - 360px);
    padding-right: 80px;
    padding-top: 40px;
}
.graduate-sec07__box-flex__item-lead{
    line-height: normal;
    font-weight: bold;
    font-size: 24px;
    margin-bottom: 30px;
}
.graduate-sec07__box-flex__item-text{
    line-height: normal;
}
.graduate-sec07__box-flex__img{
    width: 360px;
}
.graduate-sec07__box-flex__item li{
    margin-bottom: 12px;
}
.graduate-sec08{
    padding: var(--padding) 0 85px;
    overflow: hidden;
}
.graduate-sec08__item{
    position: absolute;
    z-index: -1;
    top: 62px;
    right: -147px;
}
.graduate-sec08__box{
    padding: 60px;
    margin-top: 60px;
    position: relative;
    background-color: #F6F6F6;
}
.graduate-sec08__box-num{
    position: absolute;
    transform: translateY(-50%);
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
}
.graduate-sec08__box-num span{
    font-size: 20px;
    line-height: normal;
    font-family: var(--poppins);
    background-color: var(--red);
    color: #fff;
    padding: 6px 20px;
}
.graduate-sec08__box-ttl{
    margin-bottom: 40px;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    line-height: normal;
}
.graduate-sec08__box-flex__img{
    width: 260px;
}
.graduate-sec08__box-flex__item{
    width: calc(100% - 260px);
    padding-left: 60px;
}
.graduate-sec08__box-flex__item-text{
    line-height: 2;
}
.graduate-sec08__box-flex__item-att{
    margin-top: 20px;
    font-size: 14px;
    line-height: normal;
}
.graduate-sec09{
    position: relative;
    z-index: 0;
    padding: var(--padding) 0;
}
.graduate-sec09::before{
    background: url(img/graduate/access-bg.webp) no-repeat center center / cover;
}
.graduate-sec09__grid{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 20px;
}
.graduate-sec09__grid-item{
    background-color: #fff;
    padding: 60px;
    position: relative;
}
.graduate-sec09__grid-item__ttl{
    position: absolute;
    transform: translateY(-50%);
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
}
.graduate-sec09__grid-item__ttl span{
    display: inline-block;
    background-color: var(--red);
    padding: 6px 20px;
    line-height: normal;
    font-size: 20px;
    color: #fff;
    font-family: var(--mincho);
}
.graduate-sec09__grid-item dl{
    margin-bottom: 30px;
}
.graduate-sec09__grid-item dl dt{
    padding-left: 26px;
    position: relative;
    font-weight: bold;
    line-height: normal;
    margin-bottom: 10px;
}
.graduate-sec09__grid-item dl dt::before{
    content: "";
    width: 16px;
    height: 16px;
    background: url(img/graduate/list-item.svg) no-repeat center center / contain;
    position: absolute;
    top: 5px;
    left: 0;
}
.graduate-sec09__grid-item dl dd{
    line-height: normal;
}
.graduate-sec09__grid-item__more{
    margin-top: 40px;
}
.graduate-sec09__grid-item__more a{
    display: block;
    background-color: var(--black);
    color: #fff;
    border-radius: 40px;
    font-weight: 600;
    text-align: center;
    padding: 18px 0;
    line-height: normal;
    position: relative;
    border: 1px solid var(--black);
}
.graduate-sec09__grid-item__more a::before{
    content: "";
    width: 12px;
    height: 12px;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    right: 20px;
    background: url(img/graduate/access-arrow.svg) no-repeat center center / contain;
    transition: .3s;
}
.graduate-sec09__grid-item__more a:hover{
    opacity: 1;
}
@media screen and (min-width: 992px) {
    .graduate-sec09__grid-item__more a:hover{
        background-color: transparent;
        color: var(--black);
    }
    .graduate-sec09__grid-item__more a:hover::before{
        right: 15px;
        -webkit-filter: brightness(0) grayscale(100%) invert(0);
        -moz-filter: brightness(0) grayscale(100%) invert(0);
        -o-filter: brightness(0) grayscale(100%) invert(0);
        -ms-filter: brightness(0) grayscale(100%) invert(0);
        filter: brightness(0) grayscale(100%) invert(0);
    }
}
.graduate-sec09__grid-item__map{
    text-align: center;
    margin-top: 20px;
}
.graduate-sec09__grid-item__map a{
    display: inline-block;
    line-height: normal;
}
.graduate-sec09__grid-item__map a::before{
    content: "";
    width: 14px;
    height: 17px;
    background: url(img/graduate/access-pin.svg) no-repeat center center / contain;
    display: inline-block;
    margin-right: 6px;
    vertical-align: sub;
    position: relative;
    top: -2px;
}


/* MODAL */
.rental-modal__ttl{
    font-weight: bold;
    font-family: var(--mincho);
    font-size: 24px;
    margin-bottom: 20px;
}
.rental-modal__info dl{
    display: flex;
    flex-wrap: wrap;
    padding: 0 20px;
}
.rental-modal__info dl dt,
.rental-modal__info dl dd{
    padding: 15px 25px;
}
.rental-modal__info dl dt{
    width: 15%;
    font-weight: 500;
    border-bottom: 1px solid var(--red);
}
.rental-modal__info dl dd{
    width: 85%;
    border-bottom: 1px solid #ccc;
}
.rental-modal__text,
.rental-modal__att{
    margin: 30px 0;
}
.rental-modal__att{
    font-size: 14px;
}
.home-sec18,
.recommend-plan-sec{
    background-color: #F3EEE1;
}
.recommend-plan-sec,
.store-link-sec{
    font-family: var(--mincho);
}
.frame-img{
    display: inline-block;
    padding-right: 10px;
    padding-bottom: 10px;
    background: url(img/graduate/frame.webp) no-repeat center center / cover;
	height: fit-content;
}

@media screen and (max-width: 991px){
    :root{
        --padding: 100px;
    }
    .graduate-sec01__box-img{
        width: 440px;
    }
    .graduate-sec01__box-ttl span.c1{
        font-size: 14px;
    }
    .graduate-sec01__box-ttl span.c2{
        font-size: 20px;
    }
    .graduate-sec01__box-ttl {
        left: calc((100% - 440px)/2 - 43px);
    }
    .graduate-sec01__box-illust {
        left: calc((100% - 440px)/2 - 145px);
        width: 130px;
    }
    .graduate-sec01__box-img__illust{
        width: 120px;
    }
    .graduate-sec02__cont-ttl, .graduate-sec07__box-num,
    .graduate-sec03__main-ttl, .graduate-sec03__rental-ttl{
        font-size: 20px;
    }
    .graduate-sec03::before, .graduate-sec05::before, .graduate-sec07::before, .graduate-sec07::after, .graduate-sec09::before{
        width: 100%;
    }
    .graduate-sec03__main-flex__box-img{
        display: block;
        margin-bottom: 40px;
        text-align: center;
    }
    .graduate-sec03__main-flex__box,
    .graduate-sec03__plan-box__flex-item{
        width: 100%;
        padding: 0;
    }
    .graduate-sec03__main-flex__img{
        display: none;
    }
    .graduate-sec03__plan-box__flex-img{
        width: 100%;
        text-align: center;
    }
    .graduate-sec03__plan-box__flex-img{
        margin-bottom: 30px;
    }
    .graduate-sec03__plan-option__grid{
        padding-top: 0;
        grid-template-columns: repeat(2,1fr);
    }
    .graduate-sec03__rental-flex__box{
        width: 100%;
        padding: 0;
    }
    .graduate-sec03__rental-flex__img{
        width: 100%;
        margin-bottom: 30px;
        text-align: center;
    }
    .graduate-sec03__rental-flex__img img{
        width: 70%;
    }
    .graduate-sec04{
        padding-top: 100px;
    }
    .graduate-sec07__box-flex__item{
        padding: 0;
        width: 100%;
    }
    .graduate-sec07__box-flex__item-img{
        display: block;
    }
    .graduate-sec07__box-flex__img{
        display: none;
    }
    .graduate-sec08__box-flex__img{
        width: 100%;
        text-align: center;
        margin-bottom: 30px;
    }
    .graduate-sec08__box-flex__item{
        width: 100%;
        padding-left: 0;
    }
    .graduate-sec09__grid{
        grid-template-columns: repeat(1,1fr);
    }


    /* MODAL */
    .rental-modal__info dl dt,
    .rental-modal__info dl dd{
        padding: 20px 0;
        width: 100%;
    }
    .rental-modal__info dl dt{
        border-bottom: none;
        padding-bottom: 0;
        font-weight: bold;
    }
    .rental-modal__info dl dd{
        padding-top: 0;
    }
}

@media screen and (max-width: 767px){
    .wrap{
        padding: 0 20px;
    }
    .vert{
        -ms-writing-mode: initial;
        writing-mode: initial;
    }
    .graduate-reserve-btn a{
        width: 100%;
    }

    .graduate-sec01 {
        background: url(img/graduate/mv-bg-sp.webp) no-repeat center center / cover;
    }
    .graduate-sec01__box-img{
        width: 335px;
    }
    .graduate-sec03__plan-option__more a{
        width: 100%;
    }
    .graduate-sec01__box-img__illust{
        width: 100px;
        right: 0;
        top: -10px;
    }
    .graduate-sec01__box-illust{
        left: -56px;
        z-index: 0;
    }
    .graduate-sec01{
        padding: 160px 0 120px;
    }
    .graduate-sec01__box-ttl br{
        display: block;
    }
    .graduate-sec01__box-ttl{
        display: block;
        position: relative;
        letter-spacing: 0;
        margin-top: -33px;
        z-index: 1;
        bottom: auto;
        left: auto;
    }
    .graduate-sec01__box-ttl span{
        display: inline-block;
        padding: 6px 20px;
    }
    .graduate-sec01__box-ttl span.c1{
        font-size: 16px;
    }
    .graduate-sec01__box-ttl span.c2{
        font-size: 24px;
    }
    .graduate-sec01__text{
        margin: 80px 0 30px;
        text-align: left;
        line-height: 1.93;
    }
    .graduate-sec01__price-text small{
        display: block;
        margin-top: 5px;
    }
    .graduate-sec01__price dl dd{
        width: calc(100% - 80px);
        padding-left: 20px;
        padding-top: 0;
    }
    .graduate-sec01__price-att{
        margin-top: 25px;
        margin-left: -100px;
        text-align: center;
        padding: 20px 0;
    }
    .graduate-sec01__price{
        padding: 25px 0;
    }
    .graduate-sec01__cont{
        padding: 30px 20px 80px;
        position: relative;
    }
    .graduate-sec01__cont-text{
        position: relative;
        height: 124px;
        overflow: hidden;
    }
    .graduate-sec01__cont-text::before{
        content: "";
        height: 85px;
        width: 100%;
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: 1;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);
    }
    .graduate-sec01__cont-more{
        display: block;
        position: absolute;
        transform: translateX(-50%);
        left: 50%;
        bottom: 30px;
        font-weight: 500;
        line-height: normal;
        color: var(--black);
    }
    .graduate-sec01__cont-more__toggle,
    .graduate-sec07__box-flex__item-more__toggle{
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background-color: var(--text-color);
        transition: .3s;
        display: inline-block;
        margin-right: 7px;
        position: relative;
        vertical-align: sub;
        top: -1px;
    }
    .graduate-sec01__cont-more__toggle::before,
    .graduate-sec01__cont-more__toggle::after,
    .graduate-sec07__box-flex__item-more__toggle::before,
    .graduate-sec07__box-flex__item-more__toggle::after{
        content: "";
        position: absolute;
        transform: translate(-50%,-50%);
        top: 50%;
        left: 50%;
        width: 50%;
        height: 1px;
        background-color: #fff;
        transition: .3s;
    }
    .graduate-sec01__cont-more__toggle::after,
    .graduate-sec07__box-flex__item-more__toggle::after{
        transform: translate(-50%,-50%) rotate(-90deg);
    }
    .graduate-sec01__cont-more.active .graduate-sec01__cont-more__toggle,
    .graduate-sec07__box-flex__item-more.active .graduate-sec07__box-flex__item-more__toggle{
        opacity: 0.5;
    }
    .graduate-sec01__cont-more.active .graduate-sec01__cont-more__toggle::after,
    .graduate-sec07__box-flex__item-more.active .graduate-sec07__box-flex__item-more__toggle::after{
        transform: translate(-50%,-50%) rotate(0deg);
    }
    .graduate-sec01__cont-text.active{
        height: auto;
    }
    .graduate-sec01__cont-text.active::before{
        display: none;
    }
    .graduate-sec02__item{
        width: 204px;
        top: -50px;
        right: -59px;
    }
    .graduate-sec02__cont-ttl, .graduate-sec07__box-num, .graduate-sec03__main-ttl, .graduate-sec03__rental-ttl{
        font-size: 24px;
        letter-spacing: 0;
    }
    .graduate-sec02__cont-ttl, .graduate-sec07__box-num{
        padding: 6px 20px;
        margin-left: -20px;
        position: initial;
        display: inline-block;
        margin-bottom: 40px;
    }
    .graduate-toc{
        margin-top: 70px;
        padding: 30px;
    }
    .graduate-toc__text{
        width: 100%;
        margin-bottom: 20px;
    }
    .graduate-toc__link-wrap{
        width: 100%;
    }
    .graduate-toc__link li{
        margin-bottom: 10px;
    }
    .graduate-sec03::before, .graduate-sec05::before, .graduate-sec07::before, .graduate-sec07::after, .graduate-sec09::before{
        border-radius: 0;
    }
    .graduate-sec03::before {
        background: #F6F6F6 url(img/graduate/price-bg-sp.webp) repeat-y center -40px / 620px;
    }
    .graduate-title__text{
        font-size: 30px;
        margin-bottom: 10px;
    }
    .graduate-title__text span{
        font-size: 16px;
    }
    .graduate-sec03__rental-ttl{
        position: initial;
        padding: 6px 20px;
        display: inline-block;
        line-height: normal;
        margin-bottom: 40px;
    }
    .graduate-sec03__main, .graduate-sec03__rental, .graduate-sec07__box{
        padding: 60px 20px;
    }
    .graduate-sec03__main-ttl{
        display: none;
    }
    .graduate-sec03__main-ttl-sp{
        display: block;
        margin-bottom: 40px;
    }
    .graduate-sec03__main-ttl-sp span{
        font-size: 24px;
        display: inline-block;
        line-height: normal;
        font-family: var(--mincho);
        background-color: var(--red);
        color: #fff;
        padding: 6px 20px;
    }
    .graduate-sec03__main-ttl-sp span:nth-of-type(1){
        margin-bottom: 3px;
    }
    .graduate-sec03__plan-box{
        padding: 60px 20px;
    }
    .graduate-sec03__plan-box__ttl{
        position: initial;
        font-size: 24px;
        margin-bottom: 30px;
    }
    .graduate-sec03__plan-box__flex-item ul li, .graduate-sec07__box-flex__item li{
        margin-bottom: 10px;
    }
    .graduate-sec03__plan-box__flex-item__price small{
        font-size: 16px;
        display: block;
    }
    .graduate-sec03__plan-box__flex-item__price{
        font-size: 18px;
        margin: 30px 0;
        padding: 25px 0;
    }
    .graduate-sec03__plan-box__flex-item__price span{
        font-size: 34px;
    }
    .graduate-sec03__plan-option__grid-item dl{
        padding-left: 0;
        display: block;
    }
    .graduate-sec03__plan-option__grid-item dl dt{
        font-size: 12px;
    }
    .graduate-sec03__plan-option__grid-item dl dd{
        font-size: 12px;
    }
    .graduate-sec03__plan-option__grid-item dl dd span{
        font-size: 16px;
    }
    .graduate-sec03__plan-option__grid-item dl dd small{
        font-size: 11px;
    }
    .graduate-sec03__plan-option__grid{
        gap: 20px 10px;
    }
    .graduate-sec03__plan-option__grid-item__att{
        padding-left: 0;
    }
    .graduate-sec03__rental{
        margin: 60px 0 80px;
    }
    .graduate-sec03__rental-flex__box-grid{
        grid-template-columns: repeat(3,1fr);
        gap: 5px;
    }
    .graduate-sec03__rental-flex__box-grid__item-label{
        width: 70px;
        height: 30px;
        font-size: 12px;
        padding-top: 10px;
        line-height: 1;
    }
    .graduate-sec03__attention{
        padding: 50px 20px;
    }
    .graduate-sec03__attention ul li{
        margin-bottom: 10px;
    }
    .graduate-sec04__cont-box{
        padding: 30px 10px 70px;
    }
    .graduate-sec04__cont-box__toggle{
        left: 50%;
        bottom: 30px;
        right: auto;
        top: auto;
        transform: translateX(-50%);
    }
    .graduate-sec05::before {
        background: url(img/graduate/guideline-bg-sp.webp) no-repeat center center / cover;
    }
    .graduate-sec05__box{
        padding: 50px 20px;
    }
    .graduate-sec05__box dl dd{
        font-size: 20px;
    }
    .graduate-sec05__box dl{
        margin-bottom: 30px;
    }
    .graduate-sec05__box-text small{
        line-height: normal;
    }
    .graduate-sec05__box-text{
        line-height: 1.93;
    }
    .graduate-sec06__cont-box__step{
        width: 40px;
    }
    .graduate-sec06__cont-box__step{
        line-height: 1.1;
        text-align: center;
    }
    .graduate-sec06__cont-box__item{
        padding: 40px 30px;
        width: calc(100% - 40px);
    }
    .graduate-sec06__cont-box__step::before {
        height: calc(100% + 10px);
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), 50% 100%, 0 calc(100% - 10px));
    }
    .graduate-sec06__cont-box{
        margin-bottom: 30px;
    }
    .graduate-sec06__reserve-btn{
        margin-top: 60px;
    }
    .graduate-sec07::after {
        background: #2E3E58 url(img/graduate/price-bg-sp.webp) repeat-y center -40px / 620px;
        opacity: 0.02;
    }
    .graduate-sec07__box-num{
        margin-left: 0;
    }
    .graduate-sec07__box-flex__item-lead{
        font-size: 20px;
    }
    .graduate-sec07__box-flex__item-more-wrap{
        display: block;
        margin-top: 30px;
        text-align: center;
    }
    .graduate-sec07__box-flex__item-more{
        display: inline-block;
        color: var(--black);
        font-weight: 500;
    }
    .graduate-sec07__box-flex__item-text,
    .graduate-sec07__box-flex__item ul{
        padding-top: 30px;
    }
    .graduate-sec07__box-flex__item-text:not(.show),
    .graduate-sec07__box-flex__item ul{
        display: none;
    }
    .graduate-sec08__item{
        width: 240px;
        right: -56px;
        top: 105px;
    }
    .graduate-sec08__box{
        padding: 60px 20px;
    }
    .graduate-sec08__box-ttl{
        font-size: 20px;
        margin-bottom: 30px;
        text-align: left;
    }
    .graduate-sec08__box-flex{
        display: block;
    }
    .graduate-sec09__grid{
        gap: 60px 0;
    }
    .graduate-sec08__box-flex__item:not(.show),
    .graduate-sec09__grid-item__info:not(.show){
        display: none;
    }
    .graduate-sec09::before {
        background: url(img/graduate/access-bg-sp.webp) no-repeat center center / cover;
    }
    .graduate-sec09__grid-item{
        padding: 60px 20px;
    }
    .graduate-sec09__grid-item .graduate-sec07__box-flex__item-more-wrap{
        margin-top: 0;
    }
}
