@charset "utf-8";
:root{
    --primary-color: #bc910c;
}
/* html{
    scroll-behavior: smooth;
} */
/* Zoom */
@media screen and (min-width: 1100px){
    html.zoom-110{zoom: 0.95;}
    html.zoom-125{zoom: 0.9;}
    html.zoom-150{zoom: 0.85;}
    html.zoom-175{zoom: 0.8;}
    html.zoom-200{zoom: 0.75;}
}

/* Common */
.container{max-width: 1000px; width: calc(100% - 40px); margin: 0 auto;}
.container-900{max-width: 900px; width: calc(100% - 40px); margin: 0 auto;}

.clr-red {color: #e60012;}
.clr-green {color: #8dc123;}

.disable{pointer-events: none;}
.dis-ib{display: inline-block;}

.txt-link{text-decoration: underline; text-underline-offset: 0.1em; color: var(--primary-color); font-weight: 500;}
.txt-link:hover{text-decoration: none;}

.ex-link {text-decoration: underline;text-underline-offset: 0.25em; color: #ea616f;}
.ex-link::after {content: ""; width: 0.9em; height: 0.9em; background: url("../img/common/ic-open_red.png") no-repeat top left/100% 100%; display: inline-block; margin: 0 0 0 0.5em; position: relative; top: 1px;}
.ex-link:hover {text-decoration: none;}

i.ic-arrow{width: 1em; height: 1em; border-radius: 50%; background: #bc910c; display: flex; justify-content: center; align-items: center; letter-spacing: 0;}
i.ic-arrow::after{content: ""; border: solid white; border-width: 0 1.5px 1.5px 0; display: inline-block; padding: 2px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg); line-height: 1; position: relative; top: 0.02em; left: -0.05em;}
i.ic-arrow[data-color="white"]{background: #fff;}
i.ic-arrow[data-color="white"]::after{border: solid #bc910c; border-width: 0 1.5px 1.5px 0;}

.caption{font-size: 1.4rem; line-height: 1.7;}
ul.caption li{margin-left: 1em; text-indent: -1em;}
.target-text{
    word-break: keep-all; 
    overflow-wrap: break-word;
    line-break: strict;
}
@supports (text-wrap: phrase) {
    .target-text {
        text-wrap: phrase;
    }
}
@media screen and (max-width: 768px){
    .caption{font-size: 1.2rem;}
}

.anchor{position: relative;}
.anchor > div{position: absolute; left: 0;}

@media screen and (min-width: 769px){
    .anchor > div{top: -140px;}
}

@media screen and (max-width: 768px){
    .anchor > div{top: -80px;}
}

/* Header */
.header{position: fixed; top: 0; left: 0; width: 100%; z-index: 100; background: #fff;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

@media screen and (min-width: 769px){
    body{padding-top: 120px;}

    .header{height: 120px; padding: 10px 20px 0;}
    .header-wrap{width: 100%; max-width: 1314px; margin: 0 auto; position: relative; z-index: 100;}
}

@media screen and (max-width: 768px){
    body{padding-top: 70px;}
	
    .header-wrap{display: flex; justify-content: space-between; align-items: center; height: 70px; padding: 0 10px;}
    .header-inner{position: fixed; top: 70px; bottom: 0; left: 0; width: 100%; background: #fff; z-index: 100; padding: 0 20px; overflow: scroll;
    opacity: 0; visibility: hidden; pointer-events: none; transition: .3s; border-top: 2px solid #bc910c;}
    .header.is-open .header-inner{opacity: 1; visibility: visible; pointer-events: auto;}
}

/* Logo */
h1.logo{display: flex; align-items: center; max-width: 1200px;}

@media screen and (min-width: 769px){
    h1.logo{margin: 0 auto 13px; height: 59px; display: flex; align-items: center;}
    h1.logo a{max-width: 275px; width: 23%; display: block; line-height: 1;}
}

@media screen and (max-width: 768px){
    h1.logo{width: calc(100% - 50px); margin: 0;}
    h1.logo a{max-width: 275px; width: 60vw; line-height: 1;}
}

/* Header Special */
.headerS{position: fixed; top: 0; left: 0; width: 100%; height: 120px; z-index: 100; background: #fff; padding: 0 20px;}
.headerS-wrap{width: 100%; max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; height: 100%; line-height: 1;}
h1.logoS{margin: 0 20px 0 0;}

@media screen and (max-width: 768px){
    .headerS{height: 70px; padding: 0 10px;}
    h1.logoS{min-width: 48vw; margin: 0 10px 0 0;}
}

/* Btn Menu */
@media screen and (min-width: 769px){
    .btn-menu{display: none;}
}

@media screen and (max-width: 768px){
	.btn-menu{width: 40px; height: 40px; background: #bc910c; border-radius: 5px; position: relative; cursor: pointer;}
    .btn-menu span{display: block; position: absolute; width: 24px; left: 8px; height: 2px; background: #fff; transition: transform .3s;}
    .btn-menu span:nth-of-type(1){top: 11px;}
    .btn-menu span:nth-of-type(2){top: 19px;}
    .btn-menu span:nth-of-type(3){top: 27px;}

    .header.is-open .btn-menu span:nth-of-type(1){top: 19px; transform: rotate(45deg); -webkit-transform: rotate(45deg);}
    .header.is-open .btn-menu span:nth-of-type(2){opacity: 0;}
    .header.is-open .btn-menu span:nth-of-type(3){top: 19px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg);}
}

/* Header Btn */
.header-btn{display: flex; gap: 10px;}
.header-btn a{height: 32px; border-radius: 20px; display: flex; justify-content: center; align-items: center; line-height: 1; font-size: min(1.45vw,1.7rem); font-weight: bold; color: #fff; padding: 0 1.584em;}
.header-btn a::before{content: ""; display: block; margin: 0 10px 0 0;}

.header-btn_page a::before{width: 1em; height: 1em; background: url("../img/common/ic-user.png") no-repeat top left/100% 100%;}
.header-btn_page a{background: #ee4d2d; border: 1px solid #ee4d2d; color: #fff; padding: 0 10px; width: min(25vw, 280px);}

.header-btn_page.page-theme a{background: #49b052; border: 1px solid #49b052; width: min(27vw, 300px);}
.header-btn_page a.soon{background: #999;pointer-events: none; border-color: #999;}

.header-btn_mail a{background: #d0041b; border: 1px solid #d0041b; color: #fff;}
.header-btn_mail a::before{width: 1.278em; height: 1em; background: url("../img/common/ic-mail_white.png") no-repeat top left/100% 100%;}

@media screen and (min-width: 769px){
	.header-btn{position: absolute; top: 15px; right: min(3vw, 57px);}
    .header-btn a{transition: .2s;}
    
    .header-btn_page a:hover{background: #d63e20;}
    .header-btn_page.page-theme a:hover{background: #3a8a40;}
    .header-btn_mail a:hover{background: #b60015; }
}
@media screen and (max-width: 1240px){
    .header-btn{right: 0;}
}
@media screen and (max-width: 768px){
	.header-btn{padding: 30px 0 20px; flex-wrap: wrap; justify-content: center;}
    .header-btn_mail{width: 100%;}
    .header-btn_page{width: 100%;}
    .header-btn a{font-size: min(4.3vw, 1.6rem); width: 100% !important; height: 40px;}
    .header-btn_page a::before {width: 1.2em;height: 1.2em;}
    .header-btn_mail a::before {width: 1.5em;background-size: contain;background-position: center;}

}

/* Menu PC */
@media screen and (min-width: 769px){
    .menu{display: flex; justify-content: space-between; width: 100%; margin: 0 auto;}
    .menu > li{ padding: 0 0 10px; position: relative;}
    .menu > li.menu-item4{width: 20%;}
    .menu > li.menu-item5{width: 23%;}
    .menu > li.menu-item6{width: 10%;}

    .menu > li > a{width: 100%; height: 28px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; align-content: center; text-align: center; border: 1px solid #000; border-radius: 20px; font-size: min(1.1vw,1.6rem); line-height: 1.1; color: #000; font-weight: bold; transition: 0.2s; cursor: pointer; padding: 0 min(1.2vw, 12px);}
    .menu > li > a.is-active,
    .menu > li > a:hover{background: var(--primary-color); color: #fff; border-color: var(--primary-color);}

    .menu > li > a.is-active i.ic-arrow,
    .menu > li > a:hover i.ic-arrow{background: #fff;}
    .menu > li > a.is-active i.ic-arrow::after,
    .menu > li > a:hover i.ic-arrow::after{border: solid #bc910c; border-width: 0 1.5px 1.5px 0;}

    .menu-parent i.ic-arrow{transform: rotate(90deg); margin-left: 0.5em;}
    /* .menu-parent i.ic-arrow::after{padding: 0.125em;} */
    
    .menu > li > a.disable{color: #999; border: 1px solid #999;}

    .menu-child{position: absolute; top: 100%; left: 50%; width: min(14.5vw,200px); transform: translateX(-50%); background: #bc910c; color: #fff; padding: 15px 1em; box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.3);
    font-size: min(1.1vw,1.6rem); font-weight: bold; line-height: 1.6; opacity: 0; visibility: hidden; pointer-events: none; transition: .5s; letter-spacing: 0.06em;}
    .menu-child li:not(:last-of-type){margin: 0 0 min(1vw, 10px);}

    .menu > li.menu-item2 .menu-child{width: min(38vw,380px);}
    .menu > li.menu-item3 .menu-child{width: min(34vw,340px);}
    .menu > li.menu-item6 .menu-child{left: auto; right: 0; transform: translateX(0);}

    .menu > li.is-open .menu-child{opacity: 1; visibility: visible; pointer-events: auto;}
    
    .menu > li.has-child{cursor: pointer;}
    .menu > li.has-child:hover .menu-child{opacity: 1; visibility: visible; pointer-events: auto;}
    .menu > li.has-child:hover .menu-parent{background: var(--primary-color);color: #fff;border-color: var(--primary-color);}
    .menu > li.has-child:hover i.ic-arrow{background: #fff;}
    .menu > li.has-child:hover i.ic-arrow::after{border: solid #bc910c;border-width: 0 1.5px 1.5px 0;}
    
    .menu-child a{display: flex; align-items: flex-start; flex-wrap: wrap; width: fit-content;}
    .menu-child i.ic-arrow{margin: 0 0 0 0.5em; position: relative; top: 0.37em; background: #fff;}
    .menu-child i.ic-arrow::after{border: solid #bc910c; border-width: 0 1.5px 1.5px 0; padding: 0.125em;}
    
    .menu-child i.ic-open{width: 0.9em; height: 0.9em; background: url("../img/common/ic-open_white.png") no-repeat top left/100% 100%; display: inline-block; margin: 0 0 0 0.5em; position: relative; top: 0.35em;}
    .menu-child i.ic-open:hover{background: url("../img/common/ic-open_yellow.png") no-repeat top left/100% 100%;}

    .menu-child a:hover{color: #fef200;}
    .menu-child a:hover i.ic-arrow{background: #fef200;}

    .menu-child a.disable{opacity: .7;}
}

/* Menu SP */
@media screen and (max-width: 768px){
    .menu{padding: 0 0 30px;}
    .menu > li{margin: 0 0 20px; background: #bc910c; border-radius: 20px; overflow: hidden;}
    
    .menu > li> a{width: 100%; border: 1px solid #bc910c; border-radius: 20px; font-size: min(4.3vw, 1.6rem); line-height: 1.1; color: #bc910c; font-weight: bold; padding: 10px 20px; display: block; background: #fff; position: relative;}
    .menu i.ic-arrow{position: absolute; top: 50%; right: 10px; margin-top: -8px;}
    
    .menu a.menu-parent{-webkit-tap-highlight-color: transparent;}
    .menu a.menu-parent i.ic-arrow{transform: rotate(90deg); transition: .3s;}
    .menu li.is-open a.menu-parent i.ic-arrow{transform: rotate(-90deg);}
    
    
    .menu > li > a.is-active{background: #bc910c; color: #fff;}
    .menu > li > a.is-active i.ic-arrow{background: #fff;}
    .menu > li > a.is-active i.ic-arrow::after{border: solid #bc910c; border-width: 0 1.5px 1.5px 0;}

    .menu >li > a.disable{color: #999; border: 1px solid #999;}
    .menu >li > a.disable i.ic-arrow{background: #999;}

    .menu-child i.ic-open{width: 1em; height: 1em; background: url("../img/common/ic-open_white.png") no-repeat top left/100% 100%; display: inline-block; margin: 0 0 0 0.5em; position: relative; top: 0.1em;}
    .menu-child i.ic-open:hover{background: url("../img/common/ic-open_yellow.png") no-repeat top left/100% 100%;}    

    .menu-child{color: #fff; font-size: min(4.2vw, 1.6rem); font-weight: bold; line-height: 1.625; padding: 15px 20px 5px; display: none;}
    .menu-child li{margin: 0 0 10px;}
    .menu-child a{display: inline-block; position: relative; padding-right: 35px;}    

    .menu-child i.ic-arrow{background: #fff; }
    .menu-child i.ic-arrow::after{border: solid #bc910c; border-width: 0 1px 1px 0;}
    .menu li.is-open .menu-child{display: block;}
    
    .menu-child a.disable{opacity: .7;}

    .menu-child_list2.line-bot{border-bottom: 1px solid #fff; margin: 0 0 10px;}

    .menu-child_tit{font-size: 1.4rem; line-height: 1; margin: 0 0 8px; border-bottom: 1px solid #fff; padding: 0 0 10px;}
}

/* Main */
.main{padding: 0 0 100px;}

@media screen and (max-width: 768px){
    .main{padding: 0 0 70px;}
}

.m-group{margin: 0 0 80px;}
.m-group.last{margin: 0;}
.m-gline:not(:last-of-type){margin: 0 0 50px; padding: 0 0 50px; border-bottom: 3px solid #8dc123;}

@media screen and (max-width: 768px){
	.m-group{margin: 0 0 50px;}
    .m-gline:not(:last-of-type){border-bottom: 2px solid #8dc123;}
}

/* Swiper */
@media screen and (max-width: 768px) {
    .swipe{text-align: center; font-size: 1.4rem; margin:0 0 2rem; display: flex; justify-content: center; align-items: center; gap: 1rem;}
    .swipe::after{content: ""; width: 40px; height: 15px; background: url("../img/common/ic-swipe.png") no-repeat top left/100% 100%; display: block;}
}

/* M Title */
.m-tit{font-size: 2.8rem; line-height: 1.2; font-weight: bold; letter-spacing: 0.1em; color: #bc910c; text-align: center; margin: 0 auto 30px; width: fit-content; position: relative; padding: 0 35px;}
.m-tit::before,
.m-tit::after{
    position: absolute;
    content: "";
    width: 15px;
    height: 27px;
    top: 0.2em;
    background-image: none;
    background-color: #bc910c;
}
.m-tit::before{
    -webkit-mask: url("../img/common/ic-tit01.svg") no-repeat center/contain;
    mask: url("../img/common/ic-tit01.svg") no-repeat center/contain;
    left: 0;
}
.m-tit::after{
    -webkit-mask: url("../img/common/ic-tit02.svg") no-repeat center/contain;
    mask: url("../img/common/ic-tit02.svg") no-repeat center/contain;
    right: 5px;
}

.m-tit span{display: block; font-size: 1.7rem; margin: 0.3em 0 0 0; letter-spacing: 0.1em;}

@media screen and (max-width: 768px){
    .m-tit{font-size: 2.2rem; margin: 0 auto 20px; padding: 0 25px;}
    .m-tit span{font-size: 1.2rem;}
    .m-tit::before, .m-tit::after{top: 0;}

}
.m-tit .special-char{
    margin: 0 -.5em !important;
    display: inline-block;
    font-size: 1em;
    letter-spacing: unset;
}

.m-tit-bar{
    background: #49b052;
    width: 100%;
    text-align: center;
    padding: min(2vw, 16px) 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px;
}
.m-tit-bar .m-tit{
    color: #fff;
    margin-bottom: 0;
}
.m-tit-bar .m-tit::after,
.m-tit-bar .m-tit::before{
    background-color: #fff;
}
@media screen and (max-width: 768px){
    .m-tit-bar{
        margin-bottom: 20px;
    }
}
.m-subtitle{font-size: 2.2rem;font-weight: bold;text-align: center;color: var(--primary-color);line-height: 1.5;margin-bottom: 5px;}
@media screen and (max-width: 768px){
    .m-subtitle{font-size: 1.6rem;}
}

.m-tit2{font-size: 2.7rem; line-height: 1.2; font-weight: bold; letter-spacing: 0.1em; color: #bc910c; margin: 0 0 15px;}

@media screen and (max-width: 768px){
    .m-tit2{font-size: 2.2rem; margin: 0 0 20px;}
}

.m-tit3{font-size: 2.7rem;font-weight: bold;line-height: 1.2;border-top: 2px solid #bc910c;border-bottom: 2px solid #bc910c;padding: 16px 0;margin: 0 0 28px;color: #bc910c;text-align: center;}

@media screen and (max-width: 768px){
    .m-tit3{font-size: 2.2rem; margin: 0 0 20px;padding: 13px 0;}
}

.m-tit4{font-size: 2.4rem; line-height: 1.36; position: relative; padding: 0 0 0 1em; margin: 0 0 7px;}
.m-tit4::before{content: "■"; color: #bc910c; position: absolute; top: 0; left: 0;}
.m-tit4 span{font-size: 1.8rem; margin: 0 0 0 10px; display: inline-block;}

@media screen and (max-width: 768px){
    .m-tit4{font-size: 2rem;}
    .m-tit4 span{font-size: 1.5rem; display: block; margin: 3px 0 0 0;}
}

/* Button */
.m-btn a{max-width: 500px; margin: 0 auto; font-size: 2.5rem; font-weight: 900; line-height: 1.2; color: #fff; position: relative; border-radius: 10rem; text-align: center; background: #ea616f; box-shadow: 0 5px 0 #b53542; display: block; transition: .3s; height: 60px; display: flex; align-items: center; align-content: center; justify-content: center; flex-wrap: wrap;}
.m-btn a[data-color="orange"]{background: #f79b31; box-shadow: 0 5px 0 #d67300;}
.m-btn a:hover{box-shadow: none; transform: translateY(5px);}
.m-btn a.disable{background: #999; box-shadow: 0 5px 0 #666;}
.m-btn a.soon{background: #999; box-shadow: 0 5px 0 #666; pointer-events: none;}
.m-btn a.soon span{font-size: 0.64em; display: block; letter-spacing: 0.075em; width: 100%; margin-top: 0.01em;}
.m-btn p{text-align: center; margin: 10px 0 0 0; font-size: 1.6rem;}

@media screen and (max-width: 768px) {
    .m-btn a{font-size: min(5.5vw, 2rem); height: unset; line-height: 1.4; box-shadow: 0 4px 0 #a8000d; padding: 7px 0;}
    .m-btn p{font-size: 1.2rem;}
}

/* Button Gr */
.m-btn-gr {
    display: flex;
    justify-content: space-between;
}
.m-btn-gr .m-btn a {
    line-height: 1.4;
    height: unset;
    font-size: min(2.5vw, 2.5rem);
    padding: 12px 0;
    border-radius: 10rem;
    background: #ee4d2d;
    box-shadow: 5px 5px 0 #b5351c;
}
.m-btn-gr .m-btn--theme a {
    background: #49b052;
    box-shadow: 5px 5px 0 #157f1f;
}
.m-btn-gr .m-btn a:hover {
    box-shadow: none;
}
.m-btn-gr .m-btn {
    width: 48.89%;
}
@media screen and (max-width: 768px){
    .m-btn-gr{
        flex-direction: column;
        gap: 20px;
    }
    .m-btn-gr .m-btn{
        width: 100%;
    }
    .m-btn-gr .m-btn a {
        font-size: min(5.5vw, 2rem);
        padding: 7px 0;
    }
}

.m-btn-gr a{
    background: #49b052;
    box-shadow: 0 5px 0 #157f1f;
}
.m-btn-gr a:hover{
    box-shadow: none;
}
.m-btn-or a{
    background: #ee4d2d;
    box-shadow: 0 5px 0 #b5351c;
}
.m-btn-gr a:hover{
    box-shadow: none;
}
/* Button Download */
.btn-download a{width: 100%; max-width: 700px; margin: 0 auto; font-size: 2.5rem; font-weight: 900; letter-spacing: 0.05em; line-height: 1.2; position: relative; background: var(--primary-color); border-radius: 40px; text-align: center; display: block; transition: .3s; height: 60px; display: flex; align-items: center; align-content: center; justify-content: center; flex-wrap: wrap; color: #fff; transform-style: preserve-3d;}
.btn-download a::before{content: ""; width: 100%; height: 100%; position: absolute; background: #93730e; right: -4px; bottom: -5px; z-index: -1; border-radius: 40px;transform: translateZ(-1px); transition: .3s;}
.btn-download a::after{content: ""; width: 20px; height: 20px; background: url("../img/common/ic-download_white.png") no-repeat top left/100% 100%; display: block; position: absolute; top: 50%; right: 20px; transform: translateY(-50%);}
.btn-download a:hover{transform: translateY(5px);}
.btn-download a:hover::before{bottom: 0;right: 0;}

@media screen and (max-width: 768px){
    .btn-download a{max-width: 560px; font-size: min(5.5vw, 2rem); line-height: 1.25; padding: 0 20px 0 0;}    
}

/* Hero */
.hero{width: 100%; height: 180px; display: flex; justify-content: center; align-items: center; background: url("../img/common/hero.jpg") no-repeat center center/cover; color: #fff; margin: 0 0 80px;}
.hero-tit{font-size: 4.1rem; line-height: 1.2; font-weight: 900; letter-spacing: 0.2em;
transform-origin: center; text-align: center;
text-shadow: 0 0 10px #ffa500, 0 0 20px #ff8e02, 0 0 30px #ff8d00, 0 0 40px #ffa500;
opacity: 0; transform: scale(1.5); will-change: opacity, transform; transition: opacity 1s, transform .6s;}
.hero-tit span{display: block; font-size: 2rem; letter-spacing: 0.2em; margin: 0.7em 0 0 0;}
.hero.is-view .hero-tit{opacity: 1; transform: scale(1);}

@media screen and (max-width: 768px){
    .hero{height: 160px; margin: 0 0 50px;}
	.hero-tit{font-size: min(3rem,7.5vw); letter-spacing: 0.1em;}
    .hero-tit span{font-size: min(1.4rem,3.5vw);}
}

/* FBnr */
.fbnr{position: fixed; bottom: 120px; right: 0; width: min(7vw, 70px); z-index: 50;}
.fbnr li{margin: 15px 0 0 0;}

.fbnr-btn{width: 100%; display: flex; justify-content: center; align-items: center; flex-direction: column; padding: 16.55px 0; font-size: min(2vw, 2rem); line-height: 1.28; font-weight: bold; color: #fff; background: #ee4d2d; box-shadow: 0 5px 0 #c92f11; border-radius: 10px 0 0 10px; overflow: hidden; transition: .3s;}
.fbnr-btn::before{content: ""; width: 1.04167em; height: 1.04167em; background: url("../img/common/ic-user.png") no-repeat top left/100% 100%; display: block;}
.fbnr-btn i{background: #fff;}
.fbnr-btn i::after{border: solid #ee4d2d; border-width: 0 2px 2px 0;}
.fbnr-btn span{margin: 0.5em 0 0; writing-mode: vertical-rl;}
.fbnr-btn:hover{box-shadow: none; background: #c92f11; transform: translateY(5px);}
.fbnr-btn .txt-special{margin: -0.5em 0 0;}
.btn-theme{background: #49b052; box-shadow: 0 5px 0 #2f7c34;}
.btn-theme:hover{box-shadow: none; background: #2f7c34; transform: translateY(5px);}
.btn-theme i::after{border-color: #49b052;}

.fbnr-btn.soon{background: #999; box-shadow: 0 5px 0 #666; pointer-events: none;}
.fbnr-btn.soon i::after{border-color: #999;}

@keyframes fbnrShow {
    0%{transform: translateX(110%);}
    100%{transform: translateX(0);}
}

@media screen and (min-width: 769px){
    .fbnr{transform: translateX(110%); will-change: transform; animation: fbnrShow .5s linear 1s forwards;}
}

@media screen and (max-width: 768px){
    .fbnr{display: flex; width: 100%; bottom: 0; gap: 10px;}
    .fbnr li{margin: 0; width: 50%;}
    .fbnr a{border-radius: 0 !important; box-shadow: none !important; transform: translateY(0) !important; height: min(12vw, 75px);}

    .fbnr-online img{object-fit: cover; width: 100%; height: 100%;}
    .fbnr-apply{font-size: 4.3vw; padding: 0.3em 0;}

    .fbnr-btn{flex-direction: row; padding: 0 1em; font-size: 3.1vw; justify-content: space-between; gap: .7em;}
    .fbnr-btn span{writing-mode: horizontal-tb; margin: 0; text-align: center;}
    .fbnr-btn i.ic-arrow{width: 1.2em; height: 1.2em;}
    .fbnr-btn i.ic-arrow::after{padding: clamp(2px, .4vw, 4px);}
}

/* Footer */
.footer-bnr{padding: 30px 0; background: #fff3dc;}
.footer-bnr ul{display: flex; flex-wrap: wrap; line-height: 1; justify-content: center; gap: 2.2222%; row-gap: 1.3vw;}
.footer-bnr a:hover{opacity: .8;}
.footer-nav .has-child{display: flex; gap: 10px; justify-content: unset;}

@media screen and (min-width: 769px){
    /* .footer-bnr ul{margin-bottom: -1.3333%;} */
    .footer-bnr li{width: 26.6667%;}
    /* .footer-bnr li:nth-of-type(4n){margin-right: 0;} */
}

@media screen and (max-width: 768px){	
    .footer-bnr{padding: 20px 0;}
    .footer-bnr ul{gap: 10px;}
    .footer-bnr li{width: calc(50% - 5px); text-align: center;}
    .footer-bnr li img{width: 100%;}
}

@media screen and (min-width: 769px){
    .footer-bot{border-top: 5px solid #bc910c; padding: 50px 20px;}	
    .footer-wrap{width: 100%; max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; padding: 0 0 50px;}
    .footer-item{width: 48%;}
    .footer-nav > li{margin: 0 0 29px;}    
}

@media screen and (min-width: 1080px){
    .footer-item:nth-of-type(1){width: 21%;}
    .footer-item:nth-of-type(2){width: 27%;}
    .footer-item:nth-of-type(3){width: 20.8334%;}
    .footer-item:nth-of-type(4){width: 23.334%;}
    .footer-nav .has-child{justify-content: space-between;}
}

.footer-nav > li > a{font-size: 1.6rem; font-weight: bold; line-height: 1.875; border-bottom: 1px solid #bc910c; display: block; position: relative; padding: 4px 1em 4px 0; letter-spacing: 0.075em;}
.footer-nav > li > a.disable{color: #999; border-bottom: 1px solid #999;}
.footer-nav > li > a.disable i{background: #999;}

.footer-nav a[href]:hover{color: #bc910c;}

.footer-nav i.ic-arrow{position: absolute; top: 50%; right: 0; transform: translateY(-50%);}

.footer-nav i.ic-open{width: 1em; height: 1em; background: url("../img/common/ic-open_black.png") no-repeat top left/100% 100%; display: inline-block; margin: 0 0 0 0.5em; position: relative; top: 1px;}
.footer-nav i.ic-open:hover{background: url("../img/common/ic-open_green.png") no-repeat top left/100% 100%;}
.footer-nav a.disable i.ic-open{opacity: .5;}

.footer-nav_child{margin: 10px 0 0 0;}
.footer-nav_child li{line-height: 1.5;}
/* .footer-nav_child li:not(:last-of-type){margin: 0 0 5px;} */
.footer-nav_child a{font-size: 1.4rem; line-height: 1.6; display: inline-block; font-weight: 500;}
.footer-nav_child a.disable{color: #999;}

@media screen and (max-width: 768px){
	.footer-bot{border-top: 3px solid #bc910c; padding: 20px 20px 30px;}
    .footer-nav > li{margin: 0 0 10px;}

    .footer-nav > li > a{font-size: min(4.4vw, 1.6rem);}
    .footer-nav_child a{font-size: min(4vw, 1.4rem);}
}

/* Footer Contact */
.footer-info span{font-size: 0.75em;}
.footer-logo p{white-space: nowrap;}

@media screen and (min-width: 769px){
    .footer-contact{display: flex; justify-content: center;}
    .footer-logo{display: flex; justify-content: center; align-items: center; line-height: 1; margin: 0 40px 0 0;}
    .footer-logo p{font-size: 1.4rem; margin: 0 10px 0 0;}
    .footer-info{font-size: 1.6rem; line-height: 1.625;}
    .footer-info_tit{font-size: 1.8rem; font-weight: bold;white-space: nowrap;}
}

@media screen and (max-width: 768px){
    .footer-contact{margin: 30px 0 0 0;}
    .footer-logo{display: flex; justify-content: center; align-items: center; line-height: 1; margin: 0 0 10px;}
    .footer-logo p{font-size: 1.2rem; min-width: 5em; width: 5em;}
    .footer-logo figure{max-width: 270px;}
    .footer-info{font-size: 1.4rem; line-height: 1.625;}
    .footer-info_tit{font-size: 1.6rem; font-weight: bold;}

    footer {
        padding-bottom: min(11.9vw, 75px);
    }
}

.copyright{font-size: min(2.5vw,1.2rem); line-height: 1.4; background: #3c2615; color: #fff; font-weight: 400; letter-spacing: 0.05em; padding: 12px 0; text-align: center;}

/* Page Top */
#pagetop{width: 50px; height: 50px; border-radius: 50%; background: #bc910c; position: fixed; bottom: 50px; right: 20px; z-index: 50; cursor: pointer; transition: .3s; opacity: 0; pointer-events: none; visibility: hidden; transform: translateY(30px);}
#pagetop::after{content: ""; border: solid white; border-width: 0 3px 3px 0; display: inline-block; padding: 6px; transform: rotate(-135deg); -webkit-transform: rotate(-135deg); position: absolute; top: 21px; left: 17px;}
#pagetop.is-show{opacity: 1; pointer-events: auto; visibility: visible; transform: translateY(0);}
#pagetop:hover{background: #916e08;}

@media screen and (max-width: 768px){
    #pagetop{right: 10px; bottom: calc(14vw + 50px); width: 40px; height: 40px;}
    #pagetop::after{top: 16px; left: 14px; border: solid white; border-width: 0 2px 2px 0; padding: 5px;}
}

/* Modal */
.js-modal{cursor: pointer;}

.modal{position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; background: rgba(0,0,0,0.4); 
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity .25s ease, visibility .25s ease;}
.modal.is-show{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;}

.modal-wrap{max-width: 1000px; width: calc(100% - 40px); max-height: calc(100vh - 40px); padding: min(5vw,50px) 0; margin: 0 auto; background: #fff; position: relative; box-shadow: 0 0 10px rgba(0,0,0,0.3);    
    transform: translateY(-20px) scale(0.98);
    transition: transform .25s ease-out, opacity .25s ease-out;
    opacity: 0;}
.modal.is-show .modal-wrap {
    transform: translateY(0) scale(1);
    opacity: 1;
}
.modal-inner{padding: 0 0 10px 0; max-height: 60vh; overflow-y: scroll;}
.modal-info{max-width: 900px; width: calc(100% - 40px); margin: 0 auto;}
.modal-close{width: 150px; height: 40px; margin: 50px auto 0; text-align: center; background: #3c2615; color: #fff; font-weight: 500; letter-spacing: 0.1em; line-height: 1.1; box-shadow: 4px 4px 0 #907f73; border-radius: 40px; transition: .3s; padding: 9px 0; cursor: pointer; display: flex; justify-content: center; align-items: center;}
.modal-close:hover{box-shadow: none; transform: translateY(4px);}

@media screen and (max-width: 768px){
    .modal-wrap{padding: 20px 0 30px;}
    .modal-close{margin: 30px auto 0; box-shadow: 3px 4px 0 #907f73; width: 100px; height: 35px;}
}

.modal-btn{padding: 20px 0 0 0; text-align: center;}
.modal-btn a{font-size: 2rem; line-height: 1.1; font-weight: bold; letter-spacing: 0.1em; background: #bc910c; color: #fff; min-width: 500px; margin: 0 auto; position: relative; border-radius: 50px; box-shadow: 5px 5px 0 #987300; transition: .3s; text-align: center; display: inline-block; padding: 14px 60px;}
.modal-btn a i{position: absolute; top: 50%; right: 30px; transform: translateY(-50%);}
.modal-btn a:hover{box-shadow: none; transform: translateY(5px);}

@media screen and (max-width: 768px){
    .modal-btn{padding: 10px 0 0 0;}
    .modal-btn a{font-size: 1.8rem; box-shadow: 3px 4px 0 #987300; padding: 8px 30px; min-width: 1px; width: 100%; letter-spacing: normal; max-width: 300px;}
    .modal-btn a i{right: 13px;}
}

.modal-info .date{background: #bc910c; color: #fff; padding: 5px 0; letter-spacing: 0.05em; width: 130px; height: 30px; text-align: center; line-height: 1; margin: 0 0 10px;}
.modal-info .tit{font-size: 2.2rem; line-height: 1.6; font-weight: bold; margin: 0 0 clamp(15px, 3vw, 30px);}
.modal-info .tit-underline{font-size: 2.2rem; color: #ea616f; padding-bottom: 10px; border-bottom: 1px solid #ea616f; margin-bottom: 15px; font-weight: bold;}

.modal-info .desc p{margin: 0 0 clamp(15px, 3vw, 30px);}
.modal-info a.link{text-decoration: underline; color: #bc910c; text-underline-offset: 0.2em;}
.modal-info a.link:hover{text-decoration: none;}
.modal-info p.tit-bold{margin: 0 0 5px; font-weight: bold;}

.modal-info .list{margin: 0 0 20px;}
.modal-info .list li{text-indent: -3em; margin-left: 3em;}

.modal-info .list2{margin: 0 0 20px;}
.modal-info .list2 li{text-indent: -4.5em; margin-left: 4.5em;}
.modal-info .list2 li.no-space{text-indent: 0em; margin-left: 0em;}

.modal-info .box-note{background: #daeef1; padding: 20px; border-radius: 10px; margin: 0 0 20px;}

.modal-info .box-img{display: flex; flex-wrap: wrap; width: 100%; margin: 0 0 20px;}
.modal-info .box-img figure{width: 32.5%; margin: 0 1.25% 1.25% 0; line-height: 1;}
.modal-info .box-img figure:nth-of-type(3n){margin-right: 0;}

.modal-info .box-info{margin: 0 0 20px;}
.modal-info .tbl{width: 100%; margin: 0 0 20px;}
.modal-info .tbl th{width: 5.5em; font-weight: 500; position: relative; vertical-align: top; font-weight: 400;}
.modal-info .tbl th::after{content: "："; position: absolute; top: 0; right: 0; display: block;}
.modal-info .tbl td{width: calc(100% - 5.5em);}

@media screen and (max-width: 768px){
    .modal-info .tit{font-size: 2rem;}
    .modal-info .tit2{font-size: 1.8rem;}

    .modal-info .box-img figure{width: 48%; margin: 0 2% 2% 0;}
    .modal-info .box-img figure:nth-of-type(3n){margin-right: 2%;}
    .modal-info .box-img figure:nth-of-type(2n){margin-right: 0;}
}

/* Animate */
@media screen{    
    .fade-in{opacity: 0; transition: opacity 1s;}
    .fade-in.is-view{opacity: 1;}    
}