@charset "UTF-8";

/* element
--------------------------*/
html {
    font-size: 10px;
    scroll-behavior: smooth;
}

body {
    font-family: "Noto Sans", "Noto Sans JP", serif;
    font-feature-settings: "palt";
    color: #333333
}

main {
    overflow: hidden;
}

img {
    width: 100%;
    display: block;
}

a,
button {
    display: block;
}

a:hover,
button:hover {
    opacity: 0.85;
}

ul.slider>li:not(:first-child) {
    display: none;
}

/* common selector
  --------------------------*/
.container {
    max-width: 1660px;
    padding: 0 7.25%;
    margin: auto;
}

.interval-area {
    background: url("../image/bg_interval.png") no-repeat center center / cover;
}

.sec-title-ja {
    font-size: 2.8125vw;
    font-weight: 500;
    letter-spacing: 0.15em;
    display: block;
}

.sec-title-en {
    font-size: 7.175vw;
    color: #80c4ca;
    font-weight: 400;
    letter-spacing: 0.15em;
    line-height: 1;
    opacity: 0.4;
    display: block;
}

.lead-text {
    font-size: 3.125vw;
    font-weight: 500;
    letter-spacing: 0.15em;
    line-height: 1.25;
}

.font-mincho {
    font-family: "Noto Serif", "Noto Serif JP", serif;
}

.style-italic {
    font-style: italic;
}

.text-dark-brown {
    color: #917631 !important;
}

.text-brown {
    color: #B89757 !important;
}

.text-light-brown {
    color: #D1B684 !important;
}

.text-white {
    color: #ffffff !important;
}

.text-light-blue {
    color: #B8D8FF !important;
}

.text-shadow {
    text-shadow: 0px 3px 6px #22222233;
}

.button-shadow {
    box-shadow: 0px 2.5px 5px #22222233;
}

.box-shadow {
    box-shadow: 0px 0px 7.5px #22222233;
}

.shadow-clip {
    filter: drop-shadow(1.5px 1.5px 2.5px #1414144D);
}

.receive {
    position: relative;
}

.overlay {
    position: absolute;
}

.only-sp {
    display: none !important;
}

.bottom-in {
    visibility: hidden;
}

@media screen and (max-width: 768px) {
    .container {

        padding: 0 4.25% !important;
    }

    .sec-title-ja {
        font-size: 5.2083vw;
    }

    .sec-title-en {
        font-size: 10.416vw;
    }

    .lead-text {
        font-size: 5.725vw;
		letter-spacing: 0.1em;
    }

    .only-pc {
        display: none !important;
    }

    .only-sp {
        display: block !important;
    }
}

/* header
--------------------------*/
header {
    width: 100%;
    padding: 1.5%;
    position: fixed;
    top: 0;
    z-index: 99;
}

header .logo {
    width: 13.8vw;
    min-width: 180px;
}

.gnav-area {
    display: flex;
    top: 0;
    right: 0;
}

#gnav {
    height: 100vh;
    width: 30%;
    position: fixed;
    top: 0;
    right: -120%;
    background: linear-gradient(0deg, rgba(34, 34, 34, 1) 0%, rgba(81, 85, 91, 1) 100%);
    z-index: 999;
    opacity: 0.9;
    transition: all 0.6s;
}

#gnav ul {
    width: 70%;
    margin: 25% 0 0 15%;
}

#gnav.panelactive {
    right: 0;
}

#gnav li {
    font-size: 1.67vw;
    font-weight: 400;
    letter-spacing: 0.075em;
    padding-bottom: 7.5%;
    padding-left: 12.5%;
    margin-bottom: 15%;
    border-bottom: solid 1px #FFFFFF;
}

#gnav li a::before {
    content: "";
    position: absolute;
    width: clamp(5.5px, 0.155px + 0.695vw, 13.5px);
    height: clamp(5.5px, 0.155px + 0.695vw, 13.5px);
    border-radius: 50%;
    background-color: #E2D7C5;
    left: 1.5%;
    top: 18.5%;
}

.move-button {
    width: clamp(45px, 14.935px + 3.91vw, 90px);
    height: clamp(45px, 14.935px + 3.91vw, 90px);
    background: linear-gradient(0deg, rgba(34, 34, 34, 1) 0%, rgba(81, 85, 91, 1) 100%);
    padding: 20% 22.5%;
    border-bottom-left-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    z-index: 9999;
}

.move-button .line-group {
    width: 100%;
    height: 100%;
    margin-bottom: 17.5%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.move-button span {
    display: inline-block;
    width: 100%;
    height: 1.5px;
    border-radius: 5px;
    background-color: #ffffff;
    transition: all 0.4s;
}

.move-button.active span:nth-of-type(1) {
    transform: rotate(35deg);
    position: relative;
    top: 50%;
}

.move-button.active span:nth-of-type(2) {
    opacity: 0;
}

.move-button.active span:nth-of-type(3) {
    transform: rotate(-35deg);
    position: relative;
    bottom: 49%;
}

.move-button p {
    font-size: 0.885vw;
    font-weight: 300;
    letter-spacing: 0.05em;
    transition: all 0.4s;
}

.move-button.active {
    background: #FFFFFF;
}

.move-button.active span {
    background-color: #52565C;
}

.move-button.active p {
    color: #52565C !important;
}

@media screen and (max-width: 768px) {
    header {
        padding: 2.5% 4.25%;
        position: fixed;
    }

    header .logo {
        width: 50.45vw;
        min-width: initial;
    }

    #gnav {
        width: 90%;
    }

    #gnav ul {
        margin: clamp(115.2px, -3.884px + 31.756vw, 240px) 0 0 10%;
    }

    #gnav li {
        font-size: 4.8175vw;
        padding-bottom: 5%;
        padding-left: 10%;
        margin-bottom: 8.5%;
    }

    #gnav li a::before {
        width: clamp(8.424px, -0.284px + 2.322vw, 17.55px);
        height: clamp(8.424px, -0.284px + 2.322vw, 17.55px);
        left: 1.5%;
        top: 18.5%;
    }

    .move-button {
        width: clamp(48px, -1.618px + 13.232vw, 100px);
        height: clamp(48px, -1.618px + 13.232vw, 100px);
    }

    .move-button .line-group {
        margin-bottom: 17.5%;
    }

    .move-button span {
        height: 1.75px;
    }

    .move-button p {
        font-size: 2.34375vw;
    }

}

/* fixed-button
--------------------------*/
.fixed-button {
    display: flex;
    flex-direction: column;
    position: fixed;
    gap: clamp(8.5px, 0.817px + 0.999vw, 20px);
    top: 25vh;
    right: 0;
    z-index: 9;
    visibility: hidden;
    transition: all 0.4s;

}

.fixed-button a {
    font-size: 0.835vw;
    letter-spacing: 0.05em;
    line-height: 1.25;
    text-align: center;
    width: clamp(46px, -0.100px + 5.995vw, 115px);
    height: clamp(46px, -0.100px + 5.995vw, 115px);
    padding-bottom: 13.5%;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    background: linear-gradient(0deg, rgba(3, 32, 69, 1) 0%, rgba(5, 62, 133, 1) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    opacity: 0.95;
    transition: all 0.4s;
}

.fixed-button a span {
    font-size: 0.625vw;
    transition: all 0.4s;
}


.fixed-button a:hover {
    /* color: #002B61;
    background: #ffffff; */
    opacity: 0.75;
}

.fixed-button a:hover span {
    /* color: #002B61; */
    opacity: 0.75;
}

.fixed-button a::after {
    content: "";
    position: absolute;
    width: clamp(15px, -0.033px + 1.955vw, 37.5px);
    height: clamp(15px, -0.033px + 1.955vw, 37.5px);
    left: calc(50% - clamp(7.5px, -0.0165px + 0.9775vw, 18.75px));
    top: 16.5%;
    transition: all 0.4s;
}

.fixed-button .contact-button::after {
    background: url("../image/icon/icon_calendar_white.svg") no-repeat center center / cover;
}

.fixed-button .call-button::after {
    background: url("../image/icon/icon_phone_white.svg") no-repeat center center / cover;
}

.fixed-button .access-button::after {
    background: url("../image/icon/icon_map_white.svg") no-repeat center center / cover;
}

.fixed-button a:hover.contact-button::after {
    /* background: url("../image/icon/icon_calendar_blue.svg") no-repeat center center / cover; */
    opacity: 0.75;
}

.fixed-button a:hover.call-button::after {
    /* background: url("../image/icon/icon_phone_blue.svg") no-repeat center center / cover; */
    opacity: 0.75;
}

.fixed-button a:hover.access-button::after {
    /* background: url("../image/icon/icon_map_blue.svg") no-repeat center center / cover; */
    opacity: 0.75;
}

@media screen and (max-width: 768px) {
    .fixed-button {
        width: 100%;
        padding: 1.5%;
        flex-direction: initial;
        justify-content: center;
        top: initial;
        bottom: 0;
        left: 0;
    }

    .fixed-button a {
        font-size: 2.994vw;
        width: 32.05%;
        height: clamp(53.28px, -1.796px + 14.687vw, 111px);
        padding-bottom: initial;
        padding-top: 8.5%;
        border-radius: 10px !important;
        display: block;
    }

    .fixed-button a::after {
        width: clamp(17.76px, -0.599px + 4.896vw, 37px);
        height: clamp(17.76px, -0.599px + 4.896vw, 37px);
        left: calc(50% - clamp(8.88px, -0.2995px + 2.448vw, 18.5px));
        top: 16.5%;
    }

}

/* cta-area
--------------------------*/
.cta-area {
    padding: 4.75% 0;
    background: url("../image/bg_cta_pc.jpg") no-repeat center center / cover;
}

.cta-area h3 {
    font-size: 5vw;
    color: #A6B7D2;
    top: -8.5%;
}

.cta-area .content {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cta-area .text-group {
    width: 33%;
}

.cta-area .title-text {
    font-size: 1.77vw;
    font-weight: 500;
    letter-spacing: 0.075em;
    color: #A4C1CF;
    padding-bottom: 4.25%;
    margin-bottom: 4.25%;
    border-bottom: solid 1px #A4C1CF;
}

.cta-area .sent-text {
    font-size: 1.5625vw;
    font-weight: 300;
    line-height: 1.75;
    letter-spacing: 0.075em;
}

.cta-area .button-group {
    width: 63.5%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cta-area .button-group a {
    width: 47.5%;
}

.cta-area .button-group a:hover {
    opacity: 0.65;
    filter: drop-shadow(1.5px 1.5px 1.5px #dbdbdb81);
}


@media screen and (max-width: 768px) {
    .cta-area {
        padding: 17.5% 0 10%;
        background: url("../image/bg_cta_sp.jpg") no-repeat center center / cover;
    }

    .cta-area h3 {
        font-size: 10.4167vw;
        top: -5%;
    }

    .cta-area .content {
        flex-direction: column;
    }

    .cta-area .text-group {
        width: 100%;
    }


    .cta-area .title-text {
        font-size: 5.59895vw;

    }

    .cta-area .sent-text {
        font-size: 3.90625vw;
        letter-spacing: 0.075em;
        margin-bottom: 5%;
    }

    .cta-area .button-group {
        width: 100%;
        flex-direction: column;
    }

    .cta-area .button-group a {
        width: 100%;
        margin-bottom: 5%;
    }


}

/* main-visual
--------------------------*/
#main-visual {
    margin-top: 2vh;
    padding-bottom: 5%;
    overflow: hidden;
}

#main-visual .content-area {
    padding-top: 10%;
}

#main-visual .content-area .content-area-inner{
	width: fit-content;
	margin-left: 5%;
}

#main-visual .main-copy {
    font-size: clamp(24px, 19.628px + 1.121vw, 39px);
    font-weight: 400;
    letter-spacing: 0.075em;
    margin-bottom: 10%;
	text-align: center;
	width: fit-content;
}

#main-visual .sub-copy {
    font-size: 2.29167vw;
    font-weight: 400;
    letter-spacing: 0.05em;
}

#main-visual .sub-copy span {
    font-size: 1.875vw;
}

#main-visual .main-copy .main_course{
	padding: clamp(4px, 2.834px + 0.299vw, 8px) clamp(14px, 9.919px + 1.046vw, 28px) clamp(6px, 4.251px + 0.448vw, 12px);
	border-radius: 8px;
	position: relative;
	top:30px;
	line-height: 1;
	font-size: clamp(24px, 17.587px + 1.644vw, 46px);
}
.autum{
	background: #E67B2A;
	color: #FFFFFF;
}
.winter{
    background: #7794b6;
    color: #FFFFFF;
}
.spring{
    background: #c47684;
    color: #FFFFFF;
}

#main-visual .appeal-group {
    display: flex;
    align-items: center;
	margin: auto;
    margin-bottom: 10%;
	width: 100%;
	justify-content: center;
}

#main-visual .appeal-group li {
    font-size: 1.45vw;
    font-weight: 500;
    line-height: 1.35;
    width: 12.75vw;
    padding: 0.65% 0%;
    border-right: solid 1.75px #031F43;
    text-align: center;
}

#main-visual .appeal-group li:last-of-type {
    border-right: initial;
}

#main-visual .appeal-group li span {
    font-weight: 700;
}

#main-visual .main-image {
    width: 66.6%;
    top: 0;
    right: 0;
    z-index: -1;
}

#main-visual .button-group {
    display: flex;
    gap: 6.5%;
	padding-left: 5%;
	padding-right: 5%;
	width: 100%;
}

#main-visual .button-group a {
    font-size: clamp(18px, 12.753px + 1.345vw, 36px);
    font-weight: 400;
    letter-spacing: 0.075em;
    border-radius: clamp(12px, 8.502px + 0.897vw, 24px);
    background: linear-gradient(0deg, rgba(3, 32, 69, 1) 0%, rgba(5, 61, 131, 1) 100%);
	padding: clamp(16px, 2.368px + 1.773vw, 33px) clamp(28px, 11.962px + 2.086vw, 48px);
	display: flex;
	align-items: center;
	transition: 0.7s;
	width: clamp(316px, -7.368px + 42.05vw, 800px);
	opacity: 1;
}

#main-visual .button-group a:nth-child(1){
    background: #FFFFFF;
	color: #032045!important;
    border: 5px solid #032045;
	font-weight: 600;
}

#main-visual .button-group a:nth-child(1):hover{
    background: #032045;
	color: #FFF!important;
}

#main-visual .button-group a:nth-last-child(1):hover{
    background: #FFFFFF;
    border: 5px solid #032045;
	color: #032045!important;
	font-weight: 600;
	padding: clamp(14px, 2.642px + 1.477vw, 31px) clamp(26px, 12.638px + 1.738vw, 46px);
	opacity: 1;
}

#main-visual .button-group a::after {
    content: "›";
    font-size: clamp(18px, 12.753px + 1.345vw, 36px);
    line-height: 0;
    position: absolute;
    top: 42.5%;
    right: 5%;
}

.scroll-guide {
    width: 1.385vw;
    margin: auto;
    z-index: 1;
}

@media screen and (max-width: 768px) {
    #main-visual {
        margin-top: 15vh;
        padding-bottom: 25%;
    }

    #main-visual .content-area {
        width: auto;
        padding-top: initial;
        margin-left: 2.5%;
		margin-right: 2.5%;
    }
	
	#main-visual .content-area .content-area-inner {
		margin: auto;
	}

    #main-visual .main-copy {
        margin: 0 auto 7.5%;
        margin-bottom: 7.5%;
    }

    #main-visual .sub-copy {
        font-size: 5.2083vw;
    }

    #main-visual .sub-copy span {
        font-size: 4.296vw;
    }


    #main-visual .appeal-group {
        align-items: flex-start;
        margin-bottom: initial;
        margin-top: 30%;
        margin-left: 57.5%;
        gap: 5.75%;
		width: auto;
    }


    #main-visual .appeal-group li {
        font-size: 4.296875vw;
        letter-spacing: 0.075em;
        width: initial;
        padding: 2.5% 2.5% 2.5% 1%;
        border-right: initial;
        text-align: center;
        writing-mode: vertical-rl;
        white-space: nowrap;
        background: #FFFFFFCC;
		text-orientation: upright;
    }

    #main-visual .appeal-group li .only-sp {
        font-size: 2.604167vw;
        display: inline-block !important;
        margin-bottom: 1.5%;
    }

    #main-visual .main-image {
        width: 100%;
        top: 3%;
        right: initial;
    }

    .scroll-guide {
        width: 3.90625vw;
        margin: -27.5% auto 17.5%;
    }

}

/* about
--------------------------*/
#about {
	background: url("../image/bg_interval.png") no-repeat center center / cover;
	padding-top: clamp(50px, 35.426px + 3.737vw, 100px);
	padding-bottom: clamp(50px, 35.426px + 3.737vw, 100px);
	margin-top: 10%;
}

#about .lead-text {
    line-height: 1.35;
    margin-bottom: 5%;
    text-align: center;
}

#about img {
	width: 90%;
	max-width: 1280px;
	display: block;
	margin: auto;
}

.about-attention {
	width: 90%;
	max-width: 1280px;
	display: block;
	margin: auto;
	font-size: clamp(12px, 9.668px + 0.598vw, 20px);
	margin-top: clamp(25px, 17.713px + 1.868vw, 50px);
}



/* course
--------------------------*/
#course , #about {
    margin-bottom: 15%;
}

#course .container , #about .container {
    padding: 0;
    max-width: initial;
}

#course h3 , #about h3 {
    margin-bottom: 7.5%;
}

#course .lead-text {
    line-height: 1.35;
    margin-bottom: 7.5%;
    text-align: center;
}

#course .course-area {
    display: flex;
    justify-content: center;
    gap: 2.5%;
}

#course .button-group {
    width: 18.3vw;
    padding-top: 1.25%;
}

#course .button-group p {
    font-size: 1.67vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14.5%;
}

#course .button-group p .line {
    width: 20%;
    height: 1px;
    border-radius: 5px;
    background-color: #333333;
}

#course .button-group button {
    width: 100%;
    margin-bottom: 12.5%;
    display: flex;
    align-items: stretch;
	position: relative;
}

#course .button-group button .button-text {
    font-size: 1.25vw;
    width: 85.725%;
    padding: 7.5% 0;
    text-align: center;
    display: flex;
	justify-content: center;
	align-items: center;
}

#course .button-group button .button-image {
    width: 14.275%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#course .button-group button .button-image img {
    width: 45%;
}

.web-only {
	display: flex;
	width: clamp(45px, 33.570px + 3.266vw, 90px);
	height: clamp(45px, 33.570px + 3.266vw, 90px);
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	border-radius: 50px;
	background: linear-gradient(180deg, #BA8479 0%, #C64F37 100%);
	box-shadow: 0 0 7.5px 0 rgba(34, 34, 34, 0.33);
	color: #FFF;
	text-align: center;
	font-size: clamp(10px, 7.460px + 0.726vw, 20px);
	font-weight: 700;
	line-height: 104.167%;
	letter-spacing: 0.72px;
	position: absolute;
	top: -40%;
	left: -1%;
}

.web-only-list {
	display: flex;
	width: clamp(30px, 22.380px + 2.177vw, 60px);
	height: clamp(30px, 22.380px + 2.177vw, 60px);
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	border-radius: 50px;
	background: linear-gradient(180deg, #BA8479 0%, #C64F37 100%);
	box-shadow: 0 0 7.5px 0 rgba(34, 34, 34, 0.33);
	color: #FFF;
	text-align: center;
	font-size: clamp(6px, 4.476px + 0.435vw, 12px);
	font-weight: 700;
	line-height: 104.167%;
	letter-spacing: 0.72px;
	position: absolute;
	top: -20%;
	left: -5%;
}

#course .button-group #btn-standard01 , #course .button-group #btn-standard02 {
    color: #B89757;
    background: linear-gradient(0deg, rgba(245, 226, 191, 1) 0%, rgba(242, 242, 242, 1) 100%);
    border: solid 1.75px #CBB48C;
}

#course .button-group #btn-standard01 .button-image , #course .button-group #btn-standard02 .button-image {
    background: #CBB48C;
}

#course .button-group #btn-standard-plus {
    color: #B89757;
    background: linear-gradient(0deg, rgba(233, 215, 183, 1) 0%, rgba(242, 242, 242, 1) 100%);
    border: solid 1.75px #AC905C;
}

#course .button-group #btn-standard-plus .button-image {
    background: #D2BA8C;
}

#course .button-group #btn-ladies01 , #course .button-group #btn-ladies02 {
    color: #A76A5E;
    background: linear-gradient(0deg, rgba(248, 205, 196, 1) 0%, rgba(242, 242, 242, 1) 100%);
    border: solid 1.75px #BA8479;
}

#course .button-group #btn-ladies01 .button-image , #course .button-group #btn-ladies02 .button-image , #course .button-group #btn-preladies01 .button-image , #course .button-group #btn-preladies02 .button-image {
    background: #BA8479;
}

#course .button-group #btn-preladies01 , #course .button-group #btn-preladies02 {
    color: #A76A5E;
    background: linear-gradient(0deg, rgba(248, 205, 196, 1) 0%, rgba(242, 242, 242, 1) 100%);
    border: solid 1.75px #BA8479;
}

#course .button-group #btn-premium {
    color: #5777A2;
    background: linear-gradient(0deg, rgba(206, 223, 246, 1) 0%, rgba(242, 242, 242, 1) 100%);
    border: solid 1.75px #6D8CB6;
}

#course .button-group #btn-premium .button-image {
    background: #6D8CB6;
}

#course .button-group #btn-premium-dwi , #course .button-group #btn-premium-dwi02 {
    color: #5777A2;
    background: linear-gradient(0deg, rgba(206, 223, 246, 1) 0%, rgba(242, 242, 242, 1) 100%);
    border: solid 1.75px #4A6D9C;
}

#course .button-group #btn-premium-dwi .button-image , #course .button-group #btn-premium-dwi02 .button-image  {
    background: #4A6D9C;
}

#course .course-slider {
    width: 65vw !important;
}

#course .slick-list {
    padding: 3.5% 0;
}

#course .slick-track {
    display: flex;
	height: fit-content;
}

#course .slick-slide>div {
    display: flex;
    flex-direction: column;
    align-items: center;
	height: 100%;
}

#course .slick-initialized .slick-slide {
	float: none;
	display: flex;
	flex-direction: column;
}

#course .slide-item {
    width: 63.5vw !important;
    border-radius: 10px;
    display: flex;
    justify-content: center !important;
    overflow: visible;
    background-color: #F2F2F2;
	height: 100%;
}

#course .slick-prev,
#course .slick-next {
    position: absolute;
    top: initial;
    bottom: clamp(0px, -14.699px + 1.911vw, 22px) !important;
    transform: translateY(-50%);
    width: clamp(35px, 23.570px + 3.266vw, 80px);
    height: clamp(35px, 23.570px + 3.266vw, 80px);
    cursor: pointer;
    z-index: 1;
    opacity: 1 !important;
	border-radius: 8px;
	border: 2px solid #B89757;
	background: #FFF;
	padding: clamp(4px, 2.984px + 0.29vw, 8px);
}

#course .slick-prev {
    left: -2%;
	top: 28%;
}

#course .slick-prev:before,
#course .slick-next:before {
    opacity: 0;
	content: none;
}

#course .slick-next {
    right: -2%;
	top: 28%;
}

#course .slick-dots {
    width: 16.9285vw;
    padding: 1.75% 0;
    margin: -9% auto 0;
    display: flex;
    justify-content: center;
    background: #E2D7C5;
    border-radius: 5px;
    bottom: -2.65%;
    position: relative !important;
	display: none !important;
}

#course .slick-dots li {
    width: clamp(6px, 0.655px + 0.695vw, 14px) !important;
    height: clamp(6px, 0.655px + 0.695vw, 14px) !important;
    margin: 0 0.2604166vw;
}

#course .slick-dots li button {
    width: initial !important;
    height: initial !important;
    padding: initial !important;
}

#course .slick-dots li button:before {
    content: '';
    width: clamp(6px, 0.655px + 0.695vw, 14px);
    height: clamp(6px, 0.655px + 0.695vw, 14px);
    background: #F2F2F2;
    opacity: 1;
}

#course .slick-dots li.slick-active button:before {
    background: #F2F2F2;
    background: #B89757;
}

#course .course-title {
    font-size: 2.085vw;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 1.85% 0;
	position: relative;
}

#course .content {
    padding: 3.5% 5% 5%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: clamp(12px, -0.026px + 1.564vw, 30px);
}

#course .box {
    border-radius: 5px;
    background-color: #FFFFFF;
    overflow: hidden;
}

#course .box.first,
#course .box.second {
    width: 48.5%;
	display: flex;
	flex-direction: column;
}

#course .box.third {
    width: 100%;
    display: flex;
}

#course .box-title {
    font-size: 1.05vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    text-align: center;
}

#course .box.first .box-title,
#course .box.second .box-title {
    padding: 2.25% 0;
}

.price-area{
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
	flex: 1;
}

/*
.price-area p:nth-child(1) {
	border-right: 1px solid #031F43;
}

.price-area p:nth-last-child(1) {
	border-right: none;
}
*/

.price-area p:not(:last-child) {
    border-right: 1px solid #031F43;
}

#course .box.first ul {
    padding: 5% 3.5%;
}

#course .box.first ul li {
    font-size: 1.15vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    padding-left: 5.5%;
    margin-bottom: 2.5%;
}

#course .box.first ul li:last-of-type {
    margin-bottom: 0;
}

#course .box.first ul li::before {
    font-size: 0.75vw;
    font-weight: 400;
    content: "■";
    position: absolute;
    top: 13.5%;
    left: 0.5%;
}

#course #standard01 .box.first ul li::before , #course #standard02 .box.first ul li::before {
    color: #E1C99E;
}

#course #ladies01 .box.first ul li::before , #course #ladies02 .box.first ul li::before , #course #preladies01 .box.first ul li::before , #course #preladies02 .box.first ul li::before {
    color: #c89288;
}

#course #premium .box.first ul li::before , #course #premium-dwi .box.first ul li::before , #course #premium-dwi02 .box.first ul li::before {
    color: #6d8cb6;
}

#course .box.second .box-text {
    font-size: clamp(10px, 5.189px + 0.626vw, 16px);
    text-align: center;
    margin: 6.5% 0;
	padding: 0 3%;
	width: auto;
	flex: 1;
}

#course .box.second .box-text .text-dark-brown {
    font-size: 2.085vw;
    font-weight: 500;
    letter-spacing: 0;
    margin-right: 1%;
}

#course .box.second .box-text span {
    font-size: clamp(16px, -3.245px + 2.503vw, 40px);
    font-weight: 500;
    text-align: center;
    left: 0.5%;
	color: #17488C;
	line-height: 1.6;
}

#course .box.third .text-group {
    width: 100%;
}

#course .box.third .text-group ul {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(12px, 10.834px + 0.299vw, 16px);
    padding: 2.5%;
}

#course .box.third .text-group ul li{
    font-size: clamp(12px, 10.834px + 0.299vw, 16px);
	padding: clamp(4px, 2.834px + 0.299vw, 8px);
	font-weight: 500;
}

#course #standard01 .box.third .text-group ul li , #course #standard02 .box.third .text-group ul li{
	border: 1px solid #D2B684;
}

#course #ladies01 .box.third .text-group ul li , #course #ladies02 .box.third .text-group ul li , #course #preladies01 .box.third .text-group ul li , #course #preladies02 .box.third .text-group ul li{
	border: 1px solid #c89288;
}

#course #premium .box.third .text-group ul li , #course #premium-dwi .box.third .text-group ul li , #course #premium-dwi02 .box.third .text-group ul li{
	border: 1px solid #6d8cb6;
}

#course .box.third .box-title {
    padding: clamp(5px, 0.323px + 0.608vw, 12px) 0;
}

#course .box.third .box-title.course-option {
	line-height: 1;
	background: #E67B2A;
}

#course .box.third .box-text p {
    font-size: 1.25vw;
    letter-spacing: 0.05em;
    margin-bottom: 5%;
}

#course .box.third .box-text p:last-of-type {
    margin-bottom: 0;
}

#course .box.third .box-text .text-dark-brown {
    font-size: 1.5vw;
}

#course .box.third .box-text .text-dark-brown span {
    font-size: 1vw;
}

#standard01 {
    border: solid 1.25px #D1B684;
}

#standard01 .course-title {
    background: linear-gradient(0deg, rgba(184, 151, 87, 1) 0%, rgba(209, 182, 132, 1) 100%);
}

#standard01 .box-title {
    background: #D1B684;
}

#standard02 {
    border: solid 1.25px #bfa77a;
}

#standard02 .course-title {
    background: linear-gradient(0deg, rgba(177, 152, 105, 1) 0%, rgba(210, 186, 140, 1) 100%);
}

#standard02 .box-title {
    background: #bfa77a;
}

#ladies01 {
    border: solid 1.25px #c89288;
}

#ladies01 .course-title {
    background: linear-gradient(0deg, rgba(186, 132, 121, 1) 0%, rgba(230, 172, 160, 1) 100%);
}

#ladies01 .box-title {
    background: #c89288;
}

#ladies02 {
    border: solid 1.25px #c89288;
}

#ladies02 .course-title {
    background: linear-gradient(0deg, rgba(186, 132, 121, 1) 0%, rgba(230, 172, 160, 1) 100%);
}

#ladies02 .box-title {
    background: #c89288;
}

#preladies01 {
    border: solid 1.25px #c89288;
}

#preladies01 .course-title {
    background: linear-gradient(0deg, rgba(186, 132, 121, 1) 0%, rgba(230, 172, 160, 1) 100%);
}

#preladies01 .box-title {
    background: #c89288;
}

#preladies02 {
    border: solid 1.25px #c89288;
}

#preladies02 .course-title {
    background: linear-gradient(0deg, rgba(186, 132, 121, 1) 0%, rgba(230, 172, 160, 1) 100%);
}

#preladies02 .box-title {
    background: #c89288;
}

#premium {
    border: solid 1.25px #6d8cb6;
}

#premium .course-title {
    background: linear-gradient(0deg, rgba(109, 140, 182, 1) 0%, rgba(155, 184, 223, 1) 100%);
}

#premium .box-title {
    background: #6d8cb6;
}

#premium-dwi {
    border: solid 1.25px #4a6d9c;
}

#premium-dwi .course-title {
    background: linear-gradient(0deg, rgba(74, 109, 156, 1) 0%, rgba(107, 146, 198, 1) 100%);
}

#premium-dwi .box-title {
    background: #4a6d9c;
}

#premium-dwi02 {
    border: solid 1.25px #4a6d9c;
}

#premium-dwi02 .course-title {
    background: linear-gradient(0deg, rgba(74, 109, 156, 1) 0%, rgba(107, 146, 198, 1) 100%);
}

#premium-dwi02 .box-title {
    background: #4a6d9c;
}

.modal-open {
    font-size: clamp(20px, 16.502px + 0.897vw, 32px);
    font-weight: 400;
    letter-spacing: 0.05em;
    text-align: center;
    background-color: #95ADB8;
    padding: 2.5% 5%;
    margin: auto;
    border-radius: 100px;
}

.modal-open::after {
    content: "＋";
    font-size: 1vw;
    line-height: 0;
    position: absolute;
    top: 50%;
    right: 7.5%;
}

.modal {
    width: 100%;
    height: 100vh;
    display: none;
    position: fixed;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.5);
    top: 0;
    left: 0;
    z-index: 9999;
}

.modal-content {
    width: 85vw;
    height: 85vh;
    position: relative;
    overflow: auto;
    overflow-x: scroll;
    background: #D8D4C9;
    border: 17.5px solid #cfccbc;
}

.modal-close {
    font-size: clamp(10px, -1.429px + 1.116vw, 20px);
    font-weight: 500;
    width: clamp(20px, -2.857px + 2.232vw, 40px);
    height: clamp(20px, -2.857px + 2.232vw, 40px);
    position: absolute;
    top: 3%;
    right: 8%;
    background-color: #47332C;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.course-time{
	border-radius: clamp(4px, 2.834px + 0.299vw, 8px);
	border: 2px solid #17488C;
	width: 100%;
	display: flex;
	align-items: center;
	gap: clamp(6px, 4.251px + 0.448vw, 12px);
}

.course-time span{
	background: linear-gradient(180deg, #17488C 0%, #102C51 100%);
    color: #FFFFFF;
    padding: clamp(4px, 2.834px + 0.299vw, 8px) clamp(6px, 4.251px + 0.448vw, 12px);
    display: block;
    width: fit-content;
}

.course-content-header{
	font-size: clamp(12px, 9.668px + 0.598vw, 20px);
	letter-spacing: 0.8px;
}

table {
    width: clamp(920px, -1.998px + 119.896vw, 2300px);
    table-layout: fixed;
    background: #ffffff;
}

th,
td {
    vertical-align: middle;
    background: #ffffff !important;
    border: 1px solid #6c5953 !important;
}

td {
    padding: 0.35%;
}

.td-yellow {
    background: #FFFEEA !important;
}

.td-brown {
    background: #E2D9C8 !important;
}

.td-lg {
    font-size: 1.275vw;
    font-weight: 500;
    letter-spacing: 0.0375em;
}

.td-md {
    font-size: 1.25vw;
    font-weight: 500;
    letter-spacing: 0.035em;
}

.td-circle {
    font-size: 1vw;
    color: #5C4942;
    font-weight: 500;
}


.td-sm-row {
    font-size: 1.04166vw;
    font-weight: 300;
    letter-spacing: 0.035em;
    display: block;
    margin-top: 0.75%;
}

.td-sm-col {
    font-size: 1.04166vw;
    font-weight: 300;
    letter-spacing: 0.035em;
    margin-left: 0.5%;
}

.td-ctr {
    text-align: center;
}

.sticky-col-1 {
    position: -webkit-sticky;
    position: sticky;
    height: clamp(30px, -0.065px + 3.91vw, 75px);
    top: 0;
    z-index: 1;
}

.sticky-col-1::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    border: 1px solid #6c5953 !important;
    box-sizing: border-box !important;
}

.sticky-col-2 {
    position: -webkit-sticky;
    position: sticky;
    height: clamp(30px, -0.065px + 3.91vw, 75px);
    top: clamp(42px, 1.913px + 5.213vw, 102px);
    z-index: 1;
}

.sticky-col-2::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    border: 1px solid #6c5953 !important;
    box-sizing: border-box !important;
}

.sticky-col-3 {
    position: -webkit-sticky;
    position: sticky;
    height: clamp(20px, -0.043px + 2.606vw, 50px);
    top: clamp(72px, 1.848px + 9.123vw, 177px);
    z-index: 1;
}

.sticky-col-3::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    border: 1px solid #6c5953 !important;
    box-sizing: border-box !important;
}

.sticky-row-1.sticky-col-3 {
    position: -webkit-sticky;
    position: sticky;
    height: clamp(20px, -0.043px + 2.606vw, 50px);
    top: clamp(72px, 1.848px + 9.123vw, 177px);
    z-index: 2;
}

.sticky-row-1 {
    position: sticky;
    top: 0;
    left: 0;
}

.sticky-row-1::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    border: 1px solid #6c5953 !important;
    box-sizing: border-box !important;
}

.sticky-row-2 {
    position: sticky;
    top: 0;
    left : clamp(92px, -0.200px + 11.99vw, 230px);
    z-index: 0;
}

.sticky-row-2::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    border: 1px solid #6c5953 !important;
    box-sizing: border-box !important;
}


tr.td-head {
    position: relative;
    z-index: 9999 !important;
}

.td-head {
    z-index: 9999 !important;
}


@media screen and (min-width: 1920px) {

    #course .slick-prev,
    #course .slick-next {
        bottom: 5.5% !important;
    }
}

@media screen and (max-width: 768px) {
    #course {
        margin-bottom: 20%;
        overflow: hidden;
    }

    #course h3 {
        margin-bottom: 10%;
    }

    #course .lead-text {
        margin-bottom: 8.5%;
        text-align: left;
    }

    #course .course-area {
        flex-direction: column;
    }

    #course .button-group {
        width: 100%;
        padding-top: initial;
        display: flex;
        flex-wrap: wrap;
    }

    #course .button-group {
        width: 100%;
        padding-top: initial;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    #course .button-group button {
        width: 47.595%;
        margin-bottom: 3.5%;
    }

    #course .button-group button .button-text {
        font-size: 3.125vw;
        padding: 7.5% 0;
    }

    #course .course-slider {
        width: 89.5vw !important;
        margin: auto;
    }

    #course .slide-item {
        width: 85vw !important;
        border-radius: 7.5px;
    }

    #course .slick-prev,
    #course .slick-next {
        bottom: 3.75% !important;
    }

    #course .slick-prev {
		left: -4%;
		top: 20%;
    }

    #course .slick-next {
		right: -4%;
		top: 20%;
    }

    #course .slick-prev:before,
    #course .slick-next:before {
        font-family: initial !important;
        font-size: initial !important;
        line-height: initial !important;
        opacity: initial !important;
        color: initial !important;
    }

    #course .slick-prev:before,
    #course .slick-next:before {
        position: absolute !important;
        content: ' ' !important;
        display: block;
        opacity: 1;
        width: clamp(38.4px, -1.295px + 10.585vw, 80px) !important;
        height: clamp(38.4px, -1.295px + 10.585vw, 80px) !important;
        bottom: clamp(240px, -8.092px + 66.158vw, 500px) !important;
    }

    #course .slick-prev:before {
        background: url("../image/icon/icon_slidearrow_lef.svg") no-repeat center center / cover !important;
        background-size: 99.5% !important;
        right: clamp(109.125px, -1.443px + 29.485vw, 225px) !important;
    }

    #course .slick-next:before {
        background: url("../image/icon/icon_slidearrow_rig.svg") no-repeat center center / cover !important;
        background-size: 99.5% !important;
        left: clamp(107.52px, -3.625px + 29.639vw, 224px) !important;
    }

    #course .slick-dots {
        width: 42.317vw;
        padding: 3.25% 0;
        margin: -7.5% auto 0;
        bottom: clamp(9.6px, -0.324px + 2.646vw, 20px);
    }

    .slick-dots li {
        margin: 0 2.25%;
    }

    #course .slick-dots li {
        width: clamp(7.68px, -0.259px + 2.117vw, 16px) !important;
        height: clamp(7.68px, -0.259px + 2.117vw, 16px) !important;
    }
	
	.web-only{
		top: -15%;
		left: -3%;
	}

    #course .slick-dots li button:before {
        width: clamp(7.68px, -0.259px + 2.117vw, 16px) !important;
        height: clamp(7.68px, -0.259px + 2.117vw, 16px) !important;
    }

    #course .course-title {
        font-size: 5.2083vw;
        padding: 3.5% 0;
    }

    #course .content {
        padding: 6.5% 5% 7.5%;
        gap: clamp(17px, -0.176px + 4.58vw, 35px);
    }

    #course .box.first,
    #course .box.second {
        width: 100%;
    }

    #course .box.third {
        flex-direction: column;
    }
	
	#course .box.third .text-group ul {
        padding: 5% 5% 6.5%;
	}

    #course .box-title {
        font-size: 3.125vw;
    }

    #course .box.first ul {
        padding: 5% 4.5%;
    }

    #course .box.first ul li {
        font-size: 3.125vw;
        padding-left: 7.5%;
        margin-bottom: 2.5%;
    }

    #course .box.first ul li::before {
        font-size: 1.953125vw;
        content: "■";
        top: 13.5%;
        left: 0.5%;
    }

    #course .box.second .box-text {
        font-size: 3.645vw;
    }

    #course .box.second .box-text .text-dark-brown {
        font-size: 5.2083vw;
    }

    #course .box.second .box-text span {
        margin-top: -1.5%;
    }

    #course .box.third .text-group {
        width: 100%;
        border-right: initial;
		flex-direction: column;
		gap: 12px;
    }

    #course .box.third .box-title ,#course .box.third .box-title.course-option {
        letter-spacing: 0.35em;
        padding: 4px 12px;
		writing-mode: horizontal-tb;
    }

    #course .box.third .box-text p {
        font-size: 3.385vw;
        margin-bottom: 5%;
    }

    #course .box.third .box-text .text-dark-brown {
        font-size: 4.166vw;
    }

    #course .box.third .box-text .text-dark-brown span {
        font-size: 3vw;
    }

    .modal-open {
        font-size: 3.385vw;
        width: 54.5vw;
        padding: 5% 0;
    }

    .modal-open::after {
        font-size: 3vw;
    }

    .modal-content {
        width: 90vw;
        height: 90vh;
        border: 12.5px solid #cfccbc;
    }

    .modal-close {
        font-size: 3.125vw;
        width: clamp(20px, -8.626px + 7.634vw, 50px);
        height: clamp(20px, -8.626px + 7.634vw, 50px);
        top: 1%;
        right: 5%;
    }

    table {
        width: clamp(768px, -25.893px + 211.705vw, 1600px);
    }

    .td-lg {
        font-size: 2.45vw;
    }

    .td-md {
        font-size: 2.25vw;
    }

    .td-circle {
        font-size: 1.8vw;
    }

    .sticky-col::before {
        background: initial;
    }


    .sticky-col-1 {
        height: clamp(45px, -1.517px + 12.405vw, 93.75px);
    }

    .sticky-col-2 {
        height: clamp(30px, -1.011px + 8.27vw, 62.5px);
        top: clamp(45px, -1.517px + 12.405vw, 93.75px);
    }

    .sticky-col-3 {
        height: clamp(22.5px, -0.759px + 6.202vw, 46.875px);
        top: clamp(75px, -2.529px + 20.674vw, 156.25px);
    }

    .sticky-row-1.sticky-col-3 {
        height: clamp(22.5px, -0.759px + 6.202vw, 46.875px);
        top: clamp(75px, -2.529px + 20.674vw, 156.25px);
    }

    .sticky-row-2 {
        left : clamp(80px, -2.540px + 21.164vw, 160px);
    }

    
    .td-sm-row {
        font-size: 2.1vw;
    }

    .td-sm-col {
        font-size: 2.1vw;
    }


}
@media screen and (max-width: 389px) {
    .sticky-row-2 {
        left : clamp(77px, 50.077px + 7.692vw, 80px);
    }
	
}

/* features
  --------------------------*/
#features {
    margin: 25% 0 17.5%;
}

#features h3 {
    margin: 0 7.5% -3.5% 0;
    text-align: right;
}

#features .features-image {
    width: 45.9895vw;
    top: -5%;
}

#features .interval-area.top {
    width: clamp(497.5px, -1.248px + 64.857vw, 1244px);
    height: clamp(636px, -1.381px + 82.884vw, 1590px);
    margin-left: auto;
}

#features .interval-area.bottom {
    width: clamp(545px, 0.487px + 70.808vw, 1360px);
    height: clamp(313px, -0.346px + 40.747vw, 782px);
    bottom: 3.5%;
    z-index: -1;
}

#features .lead-text {
    writing-mode: vertical-rl;
    letter-spacing: 0.25em;
    line-height: 1.5;
    padding-top: 25%;
    margin: auto;
    white-space: nowrap;
}

#features .lead-text span {
    padding-top: 50%;
}

#features .box {
    display: flex;
    gap: 6.5%;
    margin-left: 8%;
}

#features .box .text-group {
    width: 36.45vw;
}

#features .box .sub-title {
    font-size: 1.5vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #808080;
    display: flex;
    align-items: center;
    margin-bottom: 2.5%;
    z-index: 1;
}

#features .box .sub-title span {
    font-size: 5.985vw;
    color: #808080;
    font-weight: 400;
    letter-spacing: -0.05em;
    margin-bottom: 2.5%;
    margin-left: -5%;
    opacity: 0.3;
    z-index: 0;
}

#features .box .title-text {
    font-size: 2.083vw;
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-bottom: 2.5%;
}

#features .box .sent-text {
    font-size: 1.25vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.75;
}

#features .box.first {
    margin-top: -30%;
}

#features .box.first img {
    width: 37vw;
    margin-top: 7.5%;
}

#features .box.second {
    margin-top: -15%;
}

#features .box.second img {
    width: 35.885vw;
}

#features .box.second .text-group {
    margin-top: 17.5%;
}

#features .box.third {
    margin-top: 3.5%;
}

#features .box.third img {
    width: 29.94vw;
    margin-left: 5%;
}

#features .box.third .text-group {
    margin-top: 3.5%;
}

#features .box.forth {
    margin-top: 3.5%;
}

#features .box.forth img {
    width: 42.85vw;
}

#features .box.forth .text-group {
    margin-top: 7.5%;
}

@media screen and (max-width: 768px) {
    #features {
        margin: 25% 0 22.5%;
    }

    #features h3 {
        margin: 0 4.25% -3.5% 0;
    }

    #features .features-image {
        width: 62.5vw;
        top: 3.5%;
    }

    #features .interval-area.top {
        width: clamp(220.8px, -95.231px + 84.275vw, 552px);
        height: clamp(374.8px, -161.650px + 143.053vw, 937px);
    }

    #features .interval-area.middle-top {
        width: clamp(174px, -75.046px + 66.412vw, 435px);
        height: clamp(174px, -75.046px + 66.412vw, 435px);
        top: 26%;
        left: 26%;
        z-index: -1;
    }

    #features .interval-area.middle-btm {
        width: clamp(220.8px, -95.231px + 84.275vw, 552px);
        height: clamp(355.6px, -153.369px + 135.725vw, 889px);
        bottom: 19.5%;
        z-index: -1;
    }

    #features .interval-area.bottom {
        width: clamp(268.4px, -115.760px + 102.443vw, 671px);
        height: clamp(154.4px, -66.592px + 58.931vw, 386px);
        bottom: 2.5%;
        right: 0;
    }

    #features .lead-text {
        padding-right: 12.5%;
        margin: 0 0 0 auto;
    }

    #features .box {
        flex-direction: column;
        padding: 0 4.25%;
        margin-left: 0;
    }

    #features .box.second img,
    #features .box.forth img {
        order: 2;
    }

    #features .box.second .text-group,
    #features .box.forth .text-group {
        order: 1;
    }

    #features .box .text-group {
        width: 100%;
    }

    #features .box .sub-title {
        font-size: 3.90625vw;
        margin-bottom: 2.5%;
    }

    #features .box .sub-title span {
        font-size: 14.583vw;
        margin-bottom: 0;
    }

    #features .box .title-text {
        font-size: 4.9479vw;
        margin-bottom: 2.5%;
    }

    #features .box .sent-text {
        font-size: 3.125vw;
    }

    #features .box.first {
        margin-top: -17.5%;
    }

    #features .box.first img {
        width: 100%;
        margin-top: 7.5%;
    }

    #features .box.second {
        margin-top: -10%;
    }

    #features .box.second img {
        width: 100%;
        margin-top: 7.5%;
    }

    #features .box.third {
        margin-top: 6.5%;
    }

    #features .box.third img {
        width: 67.35%;
        margin-left: initial;
        margin: 6.5% auto 0;
    }

    #features .box.forth {
        margin-top: 6.5%;
    }

    #features .box.forth img {
        width: 100%;
        margin-top: 6.5%;
    }
}

/* flow
  --------------------------*/
#flow {
    margin-top: 15%;
	margin-bottom: 15%;
}

#flow h3 {
    text-align: right;
    margin-bottom: 7.5%;
}

#flow .lead-text {
    text-align: center;
    margin-bottom: 6.5%;
}

#flow .box {
    max-width: 69.5vw;
    width: 100%;
    padding: 2.5% 4.5%;
    margin: 0 auto 5%;
    display: flex;
    align-items: center;
    border-radius: 10px;
    background-color: #ffffff;
}

#flow .box .sub-title {
    font-size: 2.083vw;
    font-weight: 400;
    text-align: center;
    padding-right: 4.5%;
    border-right: solid 2px #B89757;
}

#flow .box .sub-title span {
    font-size: 4.583vw;
    font-weight: 500;
    display: block;
}

#flow .box .inner {
    width: 100%;
    display: flex;
    align-items: center;
    margin-left: 4.5%;
}

#flow .box .inner .icon-circle {
    width: clamp(49.2px, -0.107px + 6.412vw, 123px);
    height: clamp(49.2px, -0.107px + 6.412vw, 123px);
    border-radius: 50%;
    background: #EFEAE2;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 3.5%;
}

#flow .box .inner .icon-circle img {
    width: 67%;
}

#flow .box .inner .title-text {
    font-size: 1.875vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-bottom: 2.5%;
}

#flow .box .inner .sent-text {
    font-size: 1.25vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.5;
}

#flow .interval-area {
    width: clamp(423px, -1.253px + 55.169vw, 1058px);
    height: clamp(424px, -2.257px + 55.43vw, 1062px);
    right: 0;
    top: 36.5%;
    z-index: -1;
}

@media screen and (max-width: 768px) {
    #flow {
        margin-top: 20%;
		margin-bottom: 20%;
    }

    #flow .lead-text {
        text-align: left;
        margin-bottom: 10%;
    }

    #flow .box {
        max-width: 100%;
        padding: 4.5% 5%;
        margin: 0 auto 6.5%;
    }

    #flow .box .sub-title {
        font-size: 3.5vw;
        border-right: initial;
        display: flex;
        align-items: center;
        position: absolute;
        top: -17.5%;
    }

    #flow .box .sub-title span {
        font-size: 6.38vw;
    }

    #flow .box .inner {

        margin-left: 0;
    }

    #flow .box .inner .icon-circle {
        width: clamp(37.16px, -20.092px + 15.267vw, 97.16px);
        height: clamp(37.16px, -20.092px + 15.267vw, 97.16px);
        margin-right: 5%;
    }

    #flow .box .inner .title-text {
        font-size: 3.90625vw;
        margin-bottom: 2.5%;
    }

    #flow .box .inner .sent-text {
        font-size: 2.604167vw;
    }

    #flow .interval-area {
        width: clamp(197.2px, -85.052px + 75.267vw, 493px);
        height: clamp(274.4px, -118.348px + 104.733vw, 686px);
        top: 38.5%;
    }

}

/* #gallery
  --------------------------*/
#gallery {
    padding-bottom: 17.5%;
    margin-top: 20%;
    overflow: hidden;
}

#gallery h3 {
    margin: 0 0 -3.5% 3.5%;
}

#gallery .gallery-image {
    width: 50vw;
    top: 15%;
    left: 40%;
}

#gallery .interval-area.top {
    width: clamp(384px, -0.834px + 50.043vw, 960px);
    height: clamp(435px, -1.279px + 56.733vw, 1088px);
    z-index: -1;
}

#gallery .interval-area.bottom {
    width: clamp(384px, -0.834px + 50.043vw, 960px);
    height: clamp(130px, -0.282px + 16.942vw, 325px);
    bottom: 9.5%;
    right: 0;
    z-index: -1;
}

#gallery .lead-text {
    writing-mode: vertical-rl;
    letter-spacing: 0.25em;
    line-height: 1.5;
    padding-top: 20%;
    margin: auto;
    white-space: nowrap;
}

#gallery .lead-text span {
    padding-top: 35%;
}

#gallery .box {
    display: flex;
    align-items: center;
    gap: 10%;
    margin: -6.5% 0 8.5% 7.35%;
    margin-top: 4.5%;
}

#gallery .box img {
    width: 36.875vw;
}

#gallery .box p {
    font-size: 3.125vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.35;
    text-align: center;
}

#gallery .gallery-slider {
    width: 95vw !important;
    left: 6.5%;
}

#gallery .slick-list {
    padding: 3.5% 0;
}

#gallery .slick-track {
    display: flex;
}

#gallery .slick-slide {
    padding: 0 1.953125vw;
}

#gallery .slick-slide>div {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#gallery .slide-item {
    width: 29.785vw !important;
    overflow: hidden;
}

#gallery .slick-prev,
#gallery .slick-next {
    width: clamp(20px, -0.043px + 2.606vw, 50px);
    height: clamp(20px, -0.043px + 2.606vw, 50px);
    top: 1.5% !important;
    border-radius: 50%;
    z-index: 2;
}

#gallery .slick-prev {
    left: 86.5% !important;
    background: url("../image/icon/icon_slidearrow_lef.svg") no-repeat center center / cover !important;
    background-size: 99.5% !important;
}

#gallery .slick-next {
    right: 7.5% !important;
    background: url("../image/icon/icon_slidearrow_rig.svg") no-repeat center center / cover !important;
    background-size: 99.5% !important;
}

#gallery .slick-prev:before,
#gallery .slick-next:before {
    display: none !important;
}

@media screen and (max-width: 768px) {
    #gallery {
        padding-bottom: 25%;
        margin-top: 25%;
    }

    #gallery h3 {
        margin: 0 0 -3.5% 4.25%;
    }

    #gallery .gallery-image {
        width: 59.115vw;
        top: 13.5%;
        left: initial;
        right: 0;
    }

    #gallery .interval-area.top {
        width: clamp(216.8px, -93.505px + 82.748vw, 542px);
        height: clamp(384px, -12.947px + 105.852vw, 800px);
    }

    #gallery .interval-area.bottom {
        width: clamp(188px, -81.084px + 71.756vw, 470px);
        height: clamp(122.4px, -52.791px + 46.718vw, 306px);
        bottom: 6.5%;
    }

    #gallery .lead-text {
        margin: 0 0 0 13.5%;
    }

    #gallery .box {
        margin: -6.5% 0 8.5% 7.35%;
        flex-direction: column;
        align-items: flex-start
    }

    #gallery .box img {
        width: 59.765vw;
        margin: -6.5% 0 8.5% 0%;
        flex-direction: column;
        align-items: flex-start
    }

    #gallery .box p {
        font-size: 5.729167vw;
    }

    #gallery .slick-slide {
        padding: 0 3.255vw;
    }

    #gallery .slide-item {
        width: 66.275vw !important;
    }

    #gallery .slick-prev,
    #gallery .slick-next {
        width: clamp(24px, -0.809px + 6.616vw, 50px);
        height: clamp(24px, -0.809px + 6.616vw, 50px);
        top: -7.5% !important;
    }

    #gallery .slick-prev {
        left: 80% !important;
    }

    #gallery .slick-next {
        right: 4.5% !important;
    }
}


/* #faq
  --------------------------*/
#faq {
    margin: 15% 0 17.5%;
}

#faq h3 {
    margin-bottom: 7.5%;
    text-align: center;
}

#faq .box {
    max-width: 62.25vw;
    padding: 0 0.5% 3.5%;
    margin: 0 auto 3.5%;
    border-bottom: solid 1px #D1B684;
}

#faq .box:last-of-type {
    border-bottom: initial;
}

#faq .question-text {
    font-size: 1.67vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-bottom: 1.75%;
}

#faq .answer-text {
    font-size: 1.4583vw;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 1.5;
    display: flex;
    align-items: flex-start;
    gap: 1.5%;
}

#faq .question-text span,
#faq .answer-text span {
    font-size: 2.395vw;
    line-height: 1;
    margin-right: 0.5%;

}

@media screen and (max-width: 768px) {
    #faq {
        margin: 20% 0 20%;
    }

    #faq h3 {
        margin-bottom: 12.5%;
    }

    #faq .box {
        max-width: 100%;
        padding: 0 0.85% 6.5%;
        margin: 0 auto 6.5%;
    }

    #faq .question-text {
        font-size: 4.167vw;

        margin-bottom: 1.75%;
    }

    #faq .answer-text {
        font-size: 3.64583vw;
        gap: 1.5%;
    }

    #faq .question-text span,
    #faq .answer-text span {
        font-size: 5.9895vw;
    }

}

/* #access
  --------------------------*/
#access {
    padding: 10% 0;
    background: url("../image/bg_access_pc.jpg") no-repeat center center / cover !important;
}

#access .container {
    display: flex;
    justify-content: space-between;
}

#access .text-group {
    width: 47.35%;
}

#access .logo {
    width: 78.5%;
    margin-bottom: 4.5%;
}

#access .address-text {
    font-size: 1.35vw;
    font-weight: 300;
    letter-spacing: 0.05em;
    margin-bottom: 7.5%;
}

#access ul {
    width: 100%;
    background: #A4C1CF33;
    border-radius: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 5.75% 0;
}

#access ul p {
    font-size: 1.4vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    width: 100%;
    padding-left: 5%;
    margin-bottom: 5%;
}

#access ul li {
    font-size: 1.25vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    white-space: nowrap;
    width: 41.175%;
    padding-left: 3.5%;
    margin-bottom: 2.5%;
}

#access ul li:nth-of-type(5),
#access ul li:nth-of-type(6) {
    margin-bottom: 0;
}


#access ul li::before {
    content: "";
    position: absolute;
    width: clamp(5px, 0.323px + 0.608vw, 12px);
    height: clamp(5px, 0.323px + 0.608vw, 12px);
    border-radius: 50%;
    background-color: #A4C1CF;
    left: 1.5%;
    top: 18.5%;
}

#access .map {
    width: clamp(312.8px, -0.679px + 40.765vw, 782px) !important;
    position: relative;
}

#access .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: clamp(312.8px, -0.679px + 40.765vw, 782px) !important;
    height: clamp(200px, -0.434px + 26.064vw, 500px) !important;
}

@media screen and (max-width: 768px) {
    #access {
        padding: 15% 0;
        background: url("../image/bg_access_sp.jpg") no-repeat center center / cover !important;
    }

    #access .container {
        flex-direction: column;
    }

    #access .text-group {
        width: 100%;
    }

    #access .logo {
        margin-bottom: 3.5%;
    }

    #access .address-text {
        font-size: 3.385vw;
        margin-bottom: 6.5%;
    }

    #access ul {
        border-radius: 10px;
        padding: 4.5% 0;
        margin-bottom: 6.5%;
    }

    #access ul p {
        font-size: 3.515625vw;
        padding-left: 5%;
        margin-bottom: 5%;
    }

    #access ul li {
        font-size: 3.125vw;
        width: 45%;
        margin-bottom: 3.5%;
    }


    #access ul li::before {
        width: clamp(6px, 0.275px + 1.527vw, 12px);
        height: clamp(6px, 0.275px + 1.527vw, 12px);
        left: 0.5%;
        top: 31.5%;
    }

    #access .map {
        width: 100% !important;
        height: clamp(207.84px, -7.007px + 57.293vw, 433px) !important;
        position: relative;
    }

    #access .map iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: clamp(207.84px, -7.007px + 57.293vw, 433px) !important;
    }

}

/* #footer
  --------------------------*/
#footer {
    padding: 2.5% 0 0.75%;
}

#footer .text-group {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 3.5%;
}

#footer .text-group .box {
    display: flex;
    align-items: center;
    gap: 1.5%;
}

#footer .text-group .box img {
    width: clamp(40px, -0.087px + 5.213vw, 100px);
}

#footer .text-group .box .privacy-text {
    font-size: 0.83vw;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #003e58;
    line-height: 1.35;
}

#footer .text-group a {
    font-size: 0.83vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #003e58;
}

#footer .footer-copy {
    font-size: 0.7295vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    text-align: center;
}

@media screen and (max-width: 768px) {

    #footer {
        padding: 6.5% 0 1.5%;
    }

    #footer .text-group {
        margin-bottom: 3.5%;
        flex-direction: column;
        align-items: center;
    }

    #footer .text-group .box {
        gap: 3.5%;
        order: 2;
        margin-bottom: 6.5%;
    }

    #footer .text-group .box img {
        width: 20vw;
    }

    #footer .text-group .box .privacy-text {
        font-size: 2.34375vw;
    }

    #footer .text-group a {
        font-size: 2.8645vw;
        order: 1;
        margin-bottom: 3.5%;

    }

    #footer .footer-copy {
        font-size: 1.953125vw;

    }

}