@charset "UTF-8";
/* ///////////////////////////////////////////////
PC基準 1400px
//////////////////////////////////////////////// */

html {
    overflow-x: hidden;
}
body {
    font-family: "Noto Sans JP", serif;
    font-weight: 400;
    background: #fff;
    color: #353535;
    overflow-x: hidden;
}

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

a {
    text-decoration: none;
    color: #353535;
    display: inline-block;
}

.tel-btn {
    background-image: -moz-linear-gradient( 90deg, rgba(246,99,26,0.99608) 0%, rgb(248,169,0) 100%);
    background-image: -webkit-linear-gradient( 90deg, rgba(246,99,26,0.99608) 0%, rgb(248,169,0) 100%);
    background-image: -ms-linear-gradient( 90deg, rgba(246,99,26,0.99608) 0%, rgb(248,169,0) 100%);
    width: min(20.86vw,292px);
    height: min(4.29vw,60px);
    border-radius: min(2.14vw,30px);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: min(0.64vw,9px);
}
.tel-btn img {
    width: min(2.64vw,37px);
}
.tel-btn .no {
    color: #FFF;
    font-size: min(1.86vw,26px);
    letter-spacing: -0.03em;
    line-height: 1;
    font-weight: 700;
}
.tel-btn .txt {
    color: #FFF;
    font-size: min(0.97vw,13.57px);
    letter-spacing: 0.01em;
    line-height: 1;
    margin-top: min(0.43vw,6px);
}
.contact-btn {
    background-image: -moz-linear-gradient( -90deg, rgb(0,133,202) 0%, rgb(42,52,181) 100%);
    background-image: -webkit-linear-gradient( -90deg, rgb(0,133,202) 0%, rgb(42,52,181) 100%);
    background-image: -ms-linear-gradient( -90deg, rgb(0,133,202) 0%, rgb(42,52,181) 100%);
    width: min(20.86vw,292px);
    height: min(4.29vw,60px);
    border-radius: min(2.14vw,30px);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: min(0.93vw,13px);
}
.contact-btn img {
    width: min(2.36vw,33px);
}
.contact-btn p {
    color: #FFF;
    font-size: min(1.43vw,20px);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1;
}
.common-h2 {
    font-size: min(60px,4.29vw);
    font-weight: 700;
    background-image: linear-gradient( 180deg, #0e4ad1 0%, #21d4db 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-align: center;
    line-height: 1;
    letter-spacing: 0;
}
.common-top-txt {
    font-size: min(1.43vw,20px);
    letter-spacing: 0;
    text-align: center;
    margin-top: min(3.93vw,55px);
    margin-bottom: min(3.57vw,50px);
    line-height: 1.8;
}

@media screen and (max-width:768px) {
    .common-h2 {
        font-size: 8vw;
    }
    .common-top-txt {
        font-size: 3.6vw;
        margin-top: 4vw;
        margin-bottom: 4vw;
        white-space: nowrap;
    }
}

/* ///////////////////////////////////////////////
header
//////////////////////////////////////////////// */
.header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 99;
    margin: 0 auto;
}
.header-inner {
    display: flex;
    height: min(5.71vw,80px);
    align-items: center;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    width: min(85.71vw,1200px);
}
.header-inner-top {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.header h1 {
    font-size: min(2.71vw,38px);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1;
}

.header h1 a{
    display: flex;
    align-items: center;
}

.header h1 img{
    height:min(5.71vw,80px);
    width: auto;
    padding-right: 1rem;
}
.header-inner-top ul {
    display: flex;
    align-items: center;
}
.header-inner-top ul li:last-child {
    margin-left: min(1.14vw,16px);
}
.header-inner-bottom-wrap {
    width: 100%;
    height: min(4.24vw,61px);
    background: #FB7A8C;
}
.header-inner-bottom {
    width: 100%;
    height: min(4.24vw,61px);
    background: #FB7A8C;
}
.header-inner-bottom ul {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(100vw,1440px);
    height: 100%;
    margin: 0 auto;
    gap: min(2.08vw,30px);
    font-size: min(0.97vw,14px);
    letter-spacing: 0;
    
}
.header-inner-bottom a {
    color: #FFF;
}



@media screen and (max-width:768px) { 
    .header {
        height: 18vw;
        position: relative;
    }
    .header-inner {
        height: 18vw;
        flex-direction: initial;
    }
    .header h1 {
        font-size: 8vw;
    }
    .header ul {
        display: initial;
    }
    .header ul li{
        font-size: 4vw;
    }
    .header ul li:nth-child(-n+4)::before {
        display: none;
    }
    .header ul li img {
        width: 60vw;
    }
    .header ul li:nth-child(4)::after {
        display: none;
    }
    .header-inner-top {
        height: initial;
        justify-content: center;
    }
}
/*  ----------------------------------------------------------

hamburger

----------------------------------------------------------  */
nav.gnav-sp {
	display: block;
	position: fixed;
	top: 0;
    right: -100vw;
	bottom: 0;
	width: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transition: all .5s;
	z-index: -1;
	opacity: 0;
	background: #fff;	
}
.open nav.gnav-sp {
	top: 0;
    left: 0;
	opacity: 1;
	z-index: 99999;
}
.gnav-sp-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
    background-image: -moz-linear-gradient(-180deg, rgb(14, 74, 209) 0%, rgb(33, 212, 219) 100%);
    background-image: -webkit-linear-gradient(-180deg, rgb(14, 74, 209) 0%, rgb(33, 212, 219) 100%);
    background-image: -ms-linear-gradient(-180deg, rgb(14, 74, 209) 0%, rgb(33, 212, 219) 100%);
}
.gnav-sp-wrap > div {
	width: 100%;
}
.gnav-sp-menu {
	margin-bottom: 3rem;
}
.gnav-sp-menu li {
	font-size: 1.2rem;
	text-align: center;
    margin: 0 auto;
    width: max-content;
}
.gnav-sp-menu li span {
	font-family: 'Arvo', serif;
	display: block;
	font-size: 2rem;
}
.gnav-sp-menu li a {
	display: block;
	padding: 4vw;
	white-space: nowrap;
    color: #FFF;
}
.gnav-sp .insta {
	display: block;
	text-align: center;
	font-size: 3.2rem;
}
.gnav-sp .tel {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 2rem;
}
.gnav-sp .tel dt {
	color: #000;
}
.gnav-sp .tel a {
	color: var(--main-color);
}
/* toggle */
.toggle-btn {
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	width: 14vw;
	height: 14vw;
	transition: all .5s;
	cursor: pointer;
	z-index: 100000;
	background: var(--main-color);
}
.toggle-btn span {
	display: block;
	position: absolute;
	left: 0;
	width: 10vw;
	height: 0.3vw;
	background-color: #3E3A39;
	transition: all .4s;
}
.toggle-btn span:nth-child(1) {
	top: 5vw;
}
.toggle-btn span:nth-child(2) {
	top: 7.6vw;
}
.toggle-btn span:nth-child(3) {
	top: 10.6vw;
}
.open .toggle-btn span {
	background-color: #3E3A39;
}
.open .toggle-btn span:nth-child(1) {
	-webkit-transform: translateY(3.5vw) rotate(-45deg);
	transform: translateY(3.5vw) rotate(-45deg);
}
.open .toggle-btn span:nth-child(2) {
	opacity: 0;
}
.open .toggle-btn span:nth-child(3) {
	-webkit-transform: translateY(-2vw) rotate(45deg);
	transform: translateY(-2vw) rotate(45deg);
}
/* mask */
#mask {
	display: none;
	transition: all .5s;
}
.open #mask {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0);
	opacity: 0.8;
	z-index: 2;
	cursor: pointer;
}

/* ///////////////////////////////////////////////
kv
//////////////////////////////////////////////// */
.kv {
    background: url(../img/bg-kv.png) no-repeat top right max(-1.8vw,-25.200px) / contain;
    height: min(35.43vw,496px);
    position: relative;
    max-width: 1400px;
    margin: min(3vw,42px) auto 0;
}
.kv-txt-wrap {
    position: absolute;
    top: min(6.2vw,86.800px);
    left: 50%;
    transform: translateX(-70%);
    -webkit-transform: translateX(-70%);
    -ms-transform: translateX(-70%);
    width: max-content;
    z-index:2;
}
.kv-txt-wrap img {
    width: min(49.07vw,687px);
}
.kv-txt-1 {
    font-size: min(3.5vw,49px);
    letter-spacing: -0.01em;
    line-height: 1.18;
    font-weight: 700;
    margin-top: min(0.57vw,8px);
}
.kv .tag-wrap {
    display: flex;
    gap: min(0.57vw,8px);
    font-size: min(1.71vw,24px);
    font-weight: 700;letter-spacing: -0.01em;
    line-height: 1.41;
    color: #FFF;
    margin-top: min(1.5vw,21px);
}
.kv .tag-wrap .tag-1,
.kv .tag-wrap .tag-2,
.kv .tag-wrap .tag-3 {
    width: min(18.17vw,254px);
    height: min(6.93vw,97px);
    border-radius: min(0.71vw,10px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #21d4db;
    text-align: center;
}
.kv .tag-wrap .tag-2 {
    background: #1baad8;
}
.kv .tag-wrap .tag-3 {
    background: #1580d5;
}
.kv-bottom {
    background-image: -moz-linear-gradient( -180deg, rgb(14,74,209) 0%, rgb(33,212,219) 100%);
    background-image: -webkit-linear-gradient( -180deg, rgb(14,74,209) 0%, rgb(33,212,219) 100%);
    background-image: -ms-linear-gradient( -180deg, rgb(14,74,209) 0%, rgb(33,212,219) 100%);
    height: min(11.07vw,155px);
    position: relative;
    display: flex;
    align-items: center;
}
.kv-bottom-inner {
    width: min(85.14vw, 1191.950px);
    margin: 0 auto;
    display: flex;
    position: relative;
}
.kv-bottom-inner .left {
    font-size: min(2.14vw,30px);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.533;
    color: #FFF;
    margin-right: min(1.14vw,16px);
    margin-top: min(2.41vw,33.740px);
}
.kv-bottom-inner .right .txt-1 {
    font-size: min(2.14vw,30px);
    font-weight: 700;
    letter-spacing: -0.01em;
    width: min(21.21vw,297px);
    height: min(3vw,42px);
    color: #FFF;
    border: 2px solid #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}
.kv-bottom-inner .right .wrap-1 {
    display: flex;
    align-items: center;
    margin-top: min(0.71vw,10px);
    gap: min(1.14vw,16px);
}
.kv-bottom-inner .right .txt-2 {
    font-size: min(2.14vw,30px);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: #FFF;
    margin-left: min(1.1vw,15px);
}
.kv-bottom-inner .right .txt-3 {
    font-size: min(4.96vw,69.43px);
    letter-spacing: 0.03em;
    color: #FFF;
    font-family: "Anton", sans-serif;
    position: relative;
    line-height: 1;
}
.kv-bottom-inner .right .txt-3 span {
    font-size: min(3.19vw,43.4px);
    font-weight: 900;
    font-family: "Noto Sans JP", serif;
}
.kv-bottom-inner .right .txt-3::after {
    content: "";
    width: 103%;
    height: min(0.36vw,5px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);  
    -ms-transform: translate(-50%, -50%);
    background: #FFF;
}
.kv-bottom-inner .right .txt-4 {
    font-size: min(7.5vw,105px);
    letter-spacing: 0.03em;
    color: #ffeb09;
    font-family: "Anton", sans-serif;
    position: relative;
    line-height: 1;
}
.kv-bottom-inner .right .txt-4 span {
    font-size: min(4vw,56px);
    font-weight: 900;
    font-family: "Noto Sans JP", serif;
}
.kv-bottom-inner .right {
    display: flex;
    align-items: center;
}
.kv-bottom-inner .right img {
    width: min(2.29vw,32px);
    height: min(1.29vw,18px);
    object-fit: contain;
}
.kv-bottom-txt {
    width: min(15.93vw,223px);
    position: absolute;
    top: max(-2.3vw,-32.2px);
    left: 50%;
    transform: translateX(-245%);
    -webkit-transform: translateX(-245%);
    -ms-transform: translateX(-245%);
}

@media screen and (max-width:768px) {
    .kv {
        background: url(../img/bg-kv.png) no-repeat top left -118vw / cover;
        height: 100vw;
        margin-top: -13vw;
    }
    .kv-txt-wrap {
        position: absolute;
        top: 51vw;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }
    .kv-txt-wrap img {
        width: 90vw;
    }
    .kv-txt-1 {
        font-size: 6vw;
    }
    .kv .tag-wrap {
        gap: 1vw;
        font-size: 3vw;
        margin-top: 2vw;
    }
    .kv .tag-wrap .tag-1, .kv .tag-wrap .tag-2, .kv .tag-wrap .tag-3 {
        width: 31vw;
        height: 12vw;
        border-radius: 1vw;
    }
    .kv-bottom {
        height: initial;
    }
    .kv-bottom-txt {
        width: 28vw;
        top: -5vw;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }
    .kv-bottom-inner {
        width: 94vw;
        flex-direction: column;
        gap: 2vw;
    }
    .kv-bottom-inner .left {
        font-size: 4vw;
        margin-right: 2vw;
        margin-top: 3vw;
        text-align: center;
    }
    .kv-bottom-inner .right .txt-1 {
        font-size: 4vw;
        width: 42vw;
        height: 7vw;
    }
    .kv-bottom-inner .right .txt-2 {
        font-size: 4vw;
        margin-left: 4vw;
    }
    .kv-bottom-inner .right .txt-3 {
        font-size: 8vw;
    }
    .kv-bottom-inner .right .txt-3 span {
        font-size: 5vw;
    }
    .kv-bottom-inner .right .txt-3::after {
        height: 0.6vw;
    }
    .kv-bottom-inner .right img {
        width: 7vw;
        height: 6vw;
    }
    .kv-bottom-inner .right .txt-4 {
        font-size: 14vw;
    }
    .kv-bottom-inner .right .txt-4 span {
        font-size: 7vw;
    }
    .kv-bottom-inner .right {
        padding-bottom: 2vw;
        justify-content: center;
    }
    .kv-txt-2-wrap {
        gap: 1vw;
        font-size: 4vw;
        align-items: flex-start;
    }
    .kv-txt-wrap-2 {
        position: absolute;
        top: 95.7vw;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        width: 100vw;
    }
    .kv-txt-3 {
        width: 90vw;
        height: auto;
        margin: 4vw auto 0;
    }
    .kv-link-wrap img {
        width: 90vw;
    }
    .kv-link-wrap {
        flex-direction: column;
        gap: 2vw;
        width: max-content;
        margin:  3vw auto 0;
    }
    .kv-txt-2-wrap img {
        width: 6vw;
    }
    .kv-txt-2 {
        gap: 1.5vw;
        padding: 3vw 0 3vw 21vw;
        background: rgba(255, 255, 255, 0.8);
    }
    .kv-txt-1-img {
        width: 28vw;
        position: absolute;
        top: -14vw;
        left: -6vw;
    }
}
/* ///////////////////////////////////////////////
cta
//////////////////////////////////////////////// */
.cta {
    background: #FFF;
}
.top-cta-inner {
    display: flex;
    align-items: center;
    gap: min(1.93vw,27px);
    width: max-content;
    height: min(12.43vw,174px);
    margin: 0 auto;
}
.top-cta-inner .tel-btn {
    width: min(32.86vw,460px);
    height: min(6.99vw,97.9px);
    border-radius: min(3.5vw,48.95px);
    gap: min(1.07vw,15px);
}
.top-cta-inner .tel-btn img {
    width: min(4.29vw,60px);
}
.top-cta-inner .tel-btn .no {
    font-size: min(3vw,42px);
}
.top-cta-inner .tel-btn .txt {
    font-size: min(1.57vw,22px);
    margin-top: min(0.71vw, 10px);
}
.top-cta-inner .contact-btn {
    width: min(32.86vw,460px);
    height: min(6.99vw,97.9px);
    border-radius: min(3.5vw,48.95px);
    gap: min(1.5vw,21px);
}
.top-cta-inner .contact-btn img {
    width: min(3.86vw,54px);
}
.top-cta-inner .contact-btn p {
    font-size: min(2.29vw,32px);
}

@media screen and (max-width:768px) {
    .top-cta-inner {
        gap: 2vw;
        height: initial;
        flex-direction: column;
        padding: 3vw 0;
    }
    .top-cta-inner .tel-btn {
        width: 80vw;
        height: 15vw;
        border-radius: 8vw;
        gap: 2vw;
    }
    .top-cta-inner .tel-btn .no {
        font-size: 6vw;
    }
    .top-cta-inner .tel-btn .txt {
        font-size: 3vw;
        margin-top: 1vw;
    }
    .top-cta-inner .tel-btn img {
        width: 10vw;
    }
    .top-cta-inner .contact-btn {
        width: 80vw;
        height: 15vw;
        border-radius: 8vw;
        gap: 2vw;
    }
    .top-cta-inner .contact-btn p {
        font-size: 5vw;
    }
    .top-cta-inner .contact-btn img {
        width: 7vw;
    }
}
/* ///////////////////////////////////////////////
trouble
//////////////////////////////////////////////// */
.trouble {
    background: url(../img/bg-trouble.jpg) no-repeat top center / cover;
    height: min(30.71vw,430px);
}
.trouble-inner {
    width: min(71.43vw,1000px);
    margin: 0 auto;
    padding-top: min(2.51vw,35.140px);
    padding-bottom: min(2.14vw,30px);
}
.trouble h2 {
    width: min(31.64vw,443px);
}
.trouble-txt-wrap {
    width: min(38.43vw,538px);
    height: min(16.14vw,226px);
    border-radius: min(16.14vw,10px);
    background:#FFF;
    margin-top: min(1.93vw,27px);
}
.trouble-check-wrap {
    display: flex;
    align-items: center;
    gap: min(1vw,14px);
    margin-bottom: min(1.41vw,19.740px);
}
.trouble-check-wrap img {
    width: min(2.07vw,29px);
}
.trouble-check-wrap p {
    font-size: min(2vw,28px);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1;
}
.trouble-txt-wrap-inner {
    padding: min(2.14vw,30px) min(3vw,42px) min(1.64vw,23px) min(1.71vw,24px);
}
@media screen and (max-width:768px) {
    .trouble {
        background: url(../img/bg-trouble.jpg) no-repeat top right -38vw/ cover;
        height: 80vw;
    }
    .trouble-inner {
        width: 90vw;
        padding-top: 12vw;
        padding-bottom: 0;
    }
    .trouble h2 {
        width: 56vw;
    }
    .trouble-txt-wrap {
        width: 77vw;
        height: initial;
        border-radius: 2vw;
        background: rgba(255, 255, 255, 0.8);
        margin-top: 3vw;
    }
    .trouble-check-wrap p {
        font-size: 4vw;
    }
    .trouble-check-wrap img {
        width: 5vw;
    }
    .trouble-check-wrap {
        gap: 2vw;
        margin-bottom: 4vw;
    }
    .trouble-txt-wrap-inner {
        padding: 5vw 5vw 3vw;
    }
}
/* ///////////////////////////////////////////////
possible
//////////////////////////////////////////////// */
.possible {
    background: #edfeff;
}
.possible-inner {
    padding-top: min(8.5vw,119px);
    padding-bottom: min(6.29vw,88px);
    margin: 0 auto;
    width: min(69.07vw,967px);
}
.possible-card-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: min(2.39vw,33.460px);
    row-gap: min(1.71vw,24px);
    margin-top: min(3.57vw,50px);
}
.possible-card {
    width: min(21.43vw,300px);
    height: min(27.07vw,379px);
    box-shadow: 0px 0px 8.01px 0.99px rgba(116, 116, 116, 0.39);
    border-radius: min(0.71vw,10px);
    background: #FFF;
}
.possible-card .title {
    font-size: min(1.71vw,24px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: #FFF;
    background: #353535;
    display: flex;
    justify-content: center;
    align-items: center;
    height: min(5.29vw,74px);
    border-radius: min(0.71vw,10px) min(0.71vw,10px) 0 0;
}
.possible-card .txt {
    background: #FFF;
    font-size: min(1.29vw,18px);
    letter-spacing: 0;
    line-height: 1.722;
    padding: min(1.36vw,19px) 0 0 min(0.86vw,12px);
    border-radius: 0 0 min(0.71vw,10px) min(0.71vw,10px);
}
@media screen and (max-width:768px) {
    .possible-inner {
        padding-top: 10vw;
        padding-bottom: 10vw;
        margin: 0 auto;
        width: 90vw;
    }
    .possible-card-wrap {
        flex-direction: column;
        gap: 3vw;
        row-gap: 7vw;
        margin-top: 6vw;
    }
    .possible-card {
        width: 90vw;
        height: initial;
        border-radius: 2vw;
    }
    .possible-card .title {
        font-size: 4.4vw;
        height: 12vw;
        border-radius: 2vw 2vw 0 0;
    }
    .possible-card .txt {
        font-size: 3.5vw;
        padding: 3vw 2vw;
        border-radius: 0 0 2vw 2vw;
    }
}

/* ///////////////////////////////////////////////
reason
//////////////////////////////////////////////// */
.reason {
    background: #FFF;
    padding-bottom: min(5.43vw,76px);
}
.reason h2 {
    background-image: -moz-linear-gradient( -180deg, rgb(14,74,209) 0%, rgb(33,212,219) 100%);
    background-image: -webkit-linear-gradient( -180deg, rgb(14,74,209) 0%, rgb(33,212,219) 100%);
    background-image: -ms-linear-gradient( -180deg, rgb(14,74,209) 0%, rgb(33,212,219) 100%);
    height: min(11.07vw,155px);
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    font-size: min(4.29vw,60px);
    font-weight: 700;
    letter-spacing: 0;
    color: #FFF;
}
.reason h2 span {
    font-size: min(6.43vw,90px);
    position: relative;
    top: max(-0.6vw,-8.4px);
}
.reason-inner {
    width: min(68.36vw,957px);
    margin: 0 auto;
}
.reason-card-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: min(2.07vw,29px);
    margin-top: min(4.79vw,67px);
}
.reason-card {
    box-shadow: 0px 0px 8.01px 0.99px rgba(116, 116, 116, 0.39);
    background: #FFF;
    border-radius: min(0.71vw,10px);
    width: min(21.43vw,300px);
    height: min(27.07vw,379px);
    position: relative;
}
.reason-card .title {
    font-size: min(1.71vw,24px);
    letter-spacing: 0;
    line-height: 1.33;
    font-weight: 700;
    color: #1892d6;
    margin-top: min(1.33vw,18.620px);
    text-align: center;
}
.reason-card .txt {
    font-size: min(1.29vw,18px);
    letter-spacing: 0;
    line-height: 1.7222;
    margin: min(1.13vw,15.820px) auto 0;
    width: min(19.2vw,268.797px);
}
.reason-card .no {
    font-size: min(4.29vw,60px);
    font-family: "Anton", sans-serif;
    color: #1892d6;
    letter-spacing: 0;
    line-height: 1;
    position: absolute;
    top: min(11vw,154px);
    left: min(0.93vw,13px);
    text-shadow: 2px 3px 1px rgba(255, 255, 255, 1), 
                -3px 3px 1px rgba(255, 255, 255, 1), 
                2px -3px 1px rgba(255, 255, 255, 1), 
                -2px -3px 1px rgba(255, 255, 255, 1);
}
.reason .top-cta-inner {
    height: initial;
    margin-top: min(3.79vw,53px);
}
@media screen and (max-width:768px) {
    .reason h2 {
        font-size: 7vw;
        height: 13vw;
    }
    .reason h2 span {
        font-size: 10vw;
        position: relative;
        top: -1vw;
    }
    .reason-inner {
        width: 90vw;
    }
    .reason-card-wrap {
        gap: 7vw;
        margin-top: 6vw;
        flex-direction: column;
    }
    .reason-card {
        box-shadow: 0px 0px 8.01px 0.99px rgba(116, 116, 116, 0.39);
        border-radius: 3vw;
        width: 90vw;
        height: initial;
    }
    .reason-card .title {
        font-size: 5vw;
        margin-top: 2vw;
    }
    .reason-card .txt {
        font-size: 3.6vw;
        margin: 4vw auto;
        width: 90%;
    }
    .reason-card .no {
        font-size: 10vw;
        top: 55vw;
        left: 4vw;
    }
}
/* ///////////////////////////////////////////////
voice
//////////////////////////////////////////////// */
.voice {
    background: #edfeff;
    padding-top: min(8.5vw,119px);
    padding-bottom: min(9.93vw,139px);
}
.voice-inner {
    margin: 0 auto;
    max-width: 1400px;
}
.swiper-slide {
    border-radius: min(0.71vw,10px);
    background-color: #FFF;
    box-shadow: 0px 0px 8.01px 0.99px rgba(116, 116, 116, 0.39);
    /*width: min(28.43vw,398px) !important;*/
    min-height: min(35.79vw,501px);
    padding: 1px 0;
    opacity: 0.6;
}
.swiper-slide .title {
    font-size: min(1.71vw,24px);
    letter-spacing: 0;
    line-height: 1.33;
    font-weight: 700;
    color: #1892d6;
    margin-top: min(1.86vw,26px);
    text-align: center;
}
.swiper-slide .txt {
    font-size: min(1.29vw,18px);
    letter-spacing: 0;
    line-height: 1.7222;
    margin: min(1.13vw,15.820px) auto min(1.43vw,20px);
    text-align: justify;
    width: min(26.8vw,375.195px);
}
.swiper-slide .place {
    font-size: min(1.29vw,18px);
    text-align: right;
    font-size: min(1.29vw,18px);
    letter-spacing: 0;
    line-height: 1;
    padding-right: min(1.07vw,14.980px);
}
.swiper-slide img {
    width: 95.4%;
    height: min(15.2vw,213px);
    object-fit: cover;
    margin: min(0.71vw,10px) auto 0;
}
.swiper {
    overflow: initial;
}
.swiper-slide-active {
    opacity: 1;
}
.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
    content: '';
    background: url(../img/icon-next.png) no-repeat top center / contain;
    height: 40px !important;
    width: 20px !important;
}
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
    content: '';
    background: url(../img/icon-prev.png) no-repeat top center / contain;
    height: 40px !important;
    width: 20px !important;
}
.swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: min(32vw,448px);
}
.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: min(32vw,448px);
}
@media screen and (max-width:1200px) { 
    .swiper-slide .txt {
        width: 90%;
    }
}

@media screen and (max-width:768px) { 
    .voice-inner {
        max-width: 80vw;
    }
    .swiper-button-prev, .swiper-rtl .swiper-button-next {
        left: -9vw;
    }
    .swiper-button-next, .swiper-rtl .swiper-button-prev {
        right: -9vw;
    }
    .swiper-slide .title {
        font-size: 4vw;
        margin-top: 3vw;
    }
    .swiper-slide .txt {
        font-size: 3.6vw;
        margin: 3vw auto;
        width: 90%;
    }
    .swiper-slide .place {
        font-size: 3vw;
        padding-right: 4vw;
        padding-bottom: 4vw;
    }
    .swiper-slide {
        border-radius: 2vw;
        min-height: 98vw;
    }
    .swiper-slide img {
        margin: 2vw auto 0;
        height: 43vw;
    }
    .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
        height: 10.7vw !important;
        width: 5.4vw !important;
    }
    .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
        height: 10.7vw !important;
        width: 5.4vw !important;
    }
}
/* ///////////////////////////////////////////////
flow
//////////////////////////////////////////////// */
.flow {
    background: #FFF;
    padding-top: min(10.86vw,152px);
    padding-bottom: min(8.64vw,121px);
}
.flow-inner {
    width: min(69.64vw,975px);
    margin: 0 auto;
}
.flow-card-wrap {
    margin-top: min(3.71vw,52px);
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: min(2.29vw,32px);
}
.flow-card {
    border-radius: min(0.71vw,10px);
    background: #FFF;
    box-shadow: 0px 0px 8.01px 0.99px rgba(116, 116, 116, 0.27);
    width: min(15.71vw,220px);
    height: min(26.43vw,370px);
}
.flow-card figure {
    width: min(8vw,112px);
    margin: min(2.14vw,30px) auto 0;
    position: relative;
}
.flow-card figure p {
    position: absolute;
    bottom: max(-1vw,-14px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    color: #1892d6;
    font-size: min(2.14vw,30px);
    letter-spacing: 0;
    font-family: "Anton", sans-serif;
    line-height: 1;
}
.flow-card .title {
    text-align: center;
    color: #1892d6;
    font-size: min(1.71vw,24px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    margin: min(2vw,28px) auto 0;
}
.flow-card .txt {
    font-size: min(1.29vw,18px);
    letter-spacing: 0;
    line-height: 1.7222;
    margin: min(0.6vw,8.4px) auto 0;
    width: min(14vw,196px);
}
@media screen and (max-width:768px) { 
    .flow {
        padding-top: 10vw;
        padding-bottom: 10vw;
    }
    .flow-inner {
        width: 90vw;
        margin: 0 auto;
    }
    .flow-card-wrap {
        margin-top: 10vw;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 3vw;
    }
    .flow-card {
        border-radius: 1.5vw;
        width: 100%;
        height: 66vw;
    }
    .flow-card figure {
        width: 18vw;
        margin: 3vw auto 0;
        position: relative;
    }
    .flow-card figure p {
        bottom: -2.3vw;
        font-size: 5vw;
    }
    .flow-card .title {
        font-size: 4vw;
        margin: 4vw auto 0;
    }
    .flow-card .txt {
        font-size: 3.6vw;
        margin: 3vw auto 0;
        width: 90%;
    }
}
/* ///////////////////////////////////////////////
faq
//////////////////////////////////////////////// */
.faq {
    padding: min(11.29vw,158px) 0 min(9.79vw,137px) 0;
    background: #f7f7f7;
}
.faq-inner {
    width: min(71.43vw,1000px);
    margin: 0 auto;
}
.faq h2 {
    margin-bottom: min(4.57vw,64px);
}
.faq-wrap {
    width: 100%;
    margin: min(3.19vw,46px) auto 0;
}
.faq-title-wrap {
    background : #1892d6;
    border-radius: min(0.71vw,10px);
    display: grid;
    grid-template-columns: 10% 1fr 10%;
    align-items: center;
    height: min(6.93vw,97px);
    position: relative;
    cursor: pointer;
    overflow: hidden;
}
.faq-title-btn {
    position: relative;
    transition: 0.3s;
}
.faq-title-btn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);  
    -ms-transform: translate(-50%, -50%);
    background: #FFF;
    height: min(1.43vw,20px);
    width: min(0.14vw,2px);
    transition: 0.3s;
}
.faq-title-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);  
    -ms-transform: translate(-50%, -50%);
    background: #FFF;
    height: min(0.14vw,2px);
    width: min(1.43vw,20px);
}
.faq-wrap.open .faq-title-btn {
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
}
.faq-wrap.open .faq-title-btn::after {
    display: none;
}
.faq-wrap.open .faq-title-wrap {
    border-radius: min(0.71vw,10px) min(0.71vw,10px) 0 0;
}
.faq-title-q {
    color: #1892d6;
    font-size: min(1.71vw,24px);
    background: #FFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    width: min(3.57vw,50px);
    height: min(3.57vw,50px);
    margin: 0 auto;
}
.faq-title-txt {
    font-size: min(1.29vw,18px);
    letter-spacing: 0;
    display: flex;
    align-items: center;
    color: #FFF;
}
.faq-title-a {
    color: #FFF;
    font-size: min(1.71vw,24px);
    background: #1892d6;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    width: min(3.57vw,50px);
    height: min(3.57vw,50px);
    margin: max(-1vw,-14px) auto 0;
}
.faq-answer-txt {
    font-size: min(1.29vw,18px);
    letter-spacing: 0;
    padding-right: min(2.64vw,37px);
}
.faq-answer-txt .mini {
    font-size: min(0.9vw,13px);
}
.faq-answer {
    display: grid;
    grid-template-columns: 10% 1fr;
    align-items: flex-start;
    max-height: 0;
    overflow: hidden;   
    padding: 0;
    background: #FFF;;
    border-radius: 0 0 min(0.71vw,10px) min(0.71vw,10px);
    
}
.faq-wrap.open .faq-answer {
    max-height: 1000px;
    transition: max-height 0.5s ease-in;
    padding: min(2.79vw,39px) 0 min(1.71vw,24px);
}
.faq .faq-wrap:nth-of-type(n + 2) {
    margin-top: min(2.64vw,37px);
}

@media screen and (max-width:768px) { 
    .faq {
        padding: 15vw 0 15vw;
    }
    .faq-wrap {
        width: 90vw;
        margin: 10vw auto 0;
    }
    .faq-inner {
        width: 90vw;
    }



    .faq-title-q {
        font-size: 4vw;
        width: 7vw;
        height: 7vw;
    }
    .faq-title-txt {
        font-size: 4vw;
        line-height: 1.4;
        padding-left: 2vw;
    }
    .faq-title-wrap {
        height: initial;
        padding: 3vw 0;
        min-height: 20vw;
    }
    .faq-title-btn::before {
        height: 5vw;
        width: 0.2vw;
    }
    .faq-title-btn::after {
        height: 0.2vw;
        width: 5vw;
    }
    .faq-title-a {
        font-size: 4vw;
        width: 7vw;
        height: 7vw;
    }
    .faq-answer-txt {
        font-size: 4vw;
        padding-left: 2vw;
    }
    .faq-answer-txt .mini {
        font-size: 2vw;
        display: inline-block;
        line-height: 1.4;
    }
    .faq .faq-wrap:nth-of-type(n + 2) {
        margin-top: 7vw;
    }
    .faq-wrap.open .faq-answer {
        padding: 4vw 0 4vw;
    }
}

/* ///////////////////////////////////////////////
contact
//////////////////////////////////////////////// */
.contact {
    background: #edfeff;
    padding: min(12.14vw,170px) 0 0;
}
.contact-inner {
    width: min(71.43vw,1000px);
    margin: min(8.07vw,113px) auto 0;
    background: #FFF;
    box-shadow: 0px 0px 11.57px 1.43px rgba(116, 116, 116, 0.17)
}
.contact form {
    padding: min(3vw,42px) min(2.86vw,40px) min(6.29vw,88px);
    margin-bottom: min(8.36vw,117px);
}
  
.CMS-FORM-INPUT-LABEL,
.CMS-FORM-EMAIL-LABEL,
.CMS-FORM-TEXTAREA-LABEL,
.CMS-FORM-DATE-LABEL,
.CMS-FORM-RADIO-LABEL {
    display: inline-block;
    font-size: min(1.49vw,21.43px);
    font-weight: 700;
    letter-spacing: -0.02em;
    position: relative;
    margin-top: min(0.9vw,13px);
    flex-shrink: 0;
    margin-left: min(2.14vw,30px);
    display: flex;
    align-items: center;
}
.CMS-FORM-INPUT,
.CMS-FORM-EMAIL,
.CMS-FORM-DATE {
    width: min(61.71vw,864px);
    height: min(5vw,70px);
    box-shadow: inset 0px 0px 5.7px 0.3px rgba(0, 0, 0, 0.23);
    border: none;
    font-size: min(1.25vw,18px);
    background: #f9f9f9;
    border-radius: min(0.71vw,10px);
    padding: 0 min(2vw,28px);
}
.CMS-FORM-RADIO {
    display: flex;
    flex-wrap: wrap;
    gap: 1%;
    row-gap: min(0.69vw,10px);
    align-items: center;
}
  
.CMS-FORM-RADIO input {
    width: 8%;
}
.CMS-FORM-RADIO label {
    width: 91%;
    font-size: min(1.25vw,18px);
    font-weight: 700;
    letter-spacing: 0.07em;
}
.CMS-FORM-TEXTAREA {
    width: min(61.71vw,864px);
    height: min(18.71vw,262px);
    box-shadow: inset 0px 0px 5.7px 0.3px rgba(0, 0, 0, 0.23);
    border: none;
    font-size: min(1.25vw,18px);
    border-radius: min(0.71vw,10px);
    background: #f9f9f9;
    padding: 0 min(2vw,28px);
}
.CMS-FORM-GROUP {
    display: flex;
    flex-direction: column;
    gap: min(1.21vw,17px);
}
.CMS-FORM-GROUP:nth-of-type(n + 2) {
    margin-top: min(2.64vw,37px);
}
.required {
    width: min(4.79vw,67px);
    height: min(2.14vw,30px);
    background: #1892d6;
    font-size: min(1.29vw,18px);
    font-weight: 700;
    letter-spacing: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    border-radius: min(0.71vw,10px);
    margin-left: min(1.5vw,21px);
}
.not-required {
    position: absolute;
    top: max(-2.14vw,-30px);
    left: 0;
    width: min(4.72vw,68px);
    height: min(1.81vw,26px);
    background: #fff;
    color: #F4B015;
    border: 1px solid #F4B015;
    font-size: min(1.11vw,16px);
    font-weight: 500;
    letter-spacing: 0.03em;
    display: flex;
    justify-content: center;
    align-items: center;
}
.CMS-FORM-GROUP input[type="submit"] {
    background-image: -moz-linear-gradient( 180deg, rgb(14,74,209) 0%, rgb(33,212,219) 100%);
    background-image: -webkit-linear-gradient( 180deg, rgb(14,74,209) 0%, rgb(33,212,219) 100%);
    background-image: -ms-linear-gradient( 180deg, rgb(14,74,209) 0%, rgb(33,212,219) 100%);
    color: #FFF;
    width: min(41.43vw,580px);
    height: min(7.86vw,110px);
    border: none;
    margin:  0 auto;
    font-size: min(2.36vw,33px);
    font-weight: 700;
    letter-spacing: 0;
    border-radius: min(3.93vw,55px);
}
.submit-back {
    position: relative;
    width: max-content;
    margin: min(7.57vw,109px) auto 0 !important;
}
.submit-back::after {
    content: "";
    background : linear-gradient(-90deg, rgba(255, 170, 207, 1) 8.69%, rgba(219, 198, 255, 1) 100%);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);  
    -ms-transform: translate(-50%, -50%);
    width: 101%;
    height: 106%;
    z-index: -1;
}
.submit-wrap {
    position: relative;
    width: max-content;
    margin: min(1.81vw,26px) auto 0;
}
.submit-wrap::after {
    content: "";
    position: absolute;
    top: 50%;
    right: min(4.58vw,66px);
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    background: url(../img/icon-btn.png) no-repeat;
    background-size: contain;
    width: min(0.53vw,7.6px);
    height: min(1.04vw,15px);
}
.privacy-note {
    font-size: min(1.04vw,15px);
    letter-spacing: 0.03em;
    line-height: 2;
    white-space: nowrap;
    margin:min(4.03vw,58px) auto 0;
}
.privacy-wrap {
    display: flex;
    align-items: center;
    gap: min(0.86vw,12px);
    width: max-content;
    margin: min(3.43vw,48px) auto 0;
    font-size: min(1.29vw,18px);
    font-weight: 500;
    letter-spacing: 0;
}
.privacy-wrap a {
    text-decoration: underline;
}
input[type=checkbox] {
    border-radius: min(0.36vw,5px);
    background-color: #FFF;
    box-shadow: inset 0px 1px 7.52px 0.48px rgba(173, 165, 157, 0.004);
    width: min(2vw,28px);
    height: min(2vw,28px);
    border: none;  
}
.contact-bottom-txt {
    background: #FFF;
    height: min(10.86vw,152px);
    font-size: min(1.71vw,24px);
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.contact .top-cta-inner {
    background: #1aa2d7;
    height: min(10.57vw,148px);
    width: 100%;
    justify-content: center;
    gap: min(8.21vw,115px);
}
.contact-bottom-tel .time {
    font-size: min(1.71vw,24px);
    font-weight: 700;
    letter-spacing: 0;
    color: #FFF;
    margin-left: min(1vw,14px);
}
@media screen and (max-width:768px) { 
    .contact {
        padding: 15vw 0 0;
    }
    .contact-inner {
        width: 90vw;
        margin: 10vw auto 0;
    }
    .CMS-FORM-GROUP {
        flex-direction: column;
        gap: 1vw;
    }
    .CMS-FORM-INPUT,
    .CMS-FORM-EMAIL,
    .CMS-FORM-DATE {
        width: 95%;
        height: 7vw;
        font-size: 18px;
    }
    .CMS-FORM-INPUT-LABEL,
    .CMS-FORM-EMAIL-LABEL,
    .CMS-FORM-TEXTAREA-LABEL,
    .CMS-FORM-DATE-LABEL,
    .CMS-FORM-RADIO-LABEL {
        width: 95%;
        font-size: 4vw;
        margin-top: 6vw;
        margin-left: 2vw;
    }
    .required {
        top: -4vw;
        width: 9vw;
        height: 4vw;
        font-size: 3vw;
    }
    .not-required {
        top: -4vw;
        width: 9vw;
        height: 4vw;
        font-size: 2.4vw;
    }
    .CMS-FORM-TEXTAREA {
        width: 95%;
        height: 40vw;
        font-size: 18px;
    }
    .CMS-FORM-GROUP:nth-of-type(n + 2) {
        margin-top: 3vw;
    }
    .CMS-FORM-GROUP input[type="submit"] {
        width: 70vw;
        height: 13vw;
        font-size: 5vw;
        border-radius: 7vw;
    }
    .submit-wrap::after {
        right: 5vw;
        width: 1.6vw;
        height: 3.2vw;
    }
    .privacy-note {
        font-size: 2vw;
        white-space: initial;
        margin:5vw auto 0;
    }
    .privacy {
        width: initial;
        height: 50vw;
        margin: 10vw auto 0;
        border: 0.2rem solid #ccc;
        padding: 2vw;
        overflow: auto;
        font-size: 3vw;
        letter-spacing: 0.03em;
        line-height: 1.6;
    }
    .CMS-FORM-RADIO label {
        font-size: 4vw;
    }
    .CMS-FORM-RADIO {
        gap: 4%;
        row-gap: 6vw;
    }
    .CMS-FORM-RADIO input {
        width: 4vw;
    }
    .privacy-wrap {
        gap: 1vw;
        margin: 4vw auto 0;
        font-size: 3vw;
    }
    input[type=checkbox] {
        border-radius: 1vw;
        width: 4vw;
        height: 4vw;
    }
    .contact-bottom-txt {
        height: 32vw;
        font-size: 4vw;
    }
    .contact .top-cta-inner {
        height: 17vw;
        gap: 3vw;
    }
    .contact-bottom-tel .time {
        font-size: 4vw;
        margin-left: 0;
    }

}  
/* ///////////////////////////////////////////////
footer
//////////////////////////////////////////////// */
.footer {
    background: #126cc8;
    padding: min(4.29vw,60px) 0 min(1.86vw,26px);
}
.footer-logo {
    font-size: min(2.71vw,38px);
    letter-spacing: -0.04em;
    line-height: 1;
    font-weight: 700;
    color: #FFF;
    width: max-content;
    margin: 0 auto;
    display: block;
}
.footer-txt-1 {
    font-size: min(1.14vw,16px);
    font-weight: 500;
    color: #FFF;
    letter-spacing: 0;
    text-align: center;
    width: max-content;
    margin: min(3vw,42px) auto 0;
    line-height: 2;
}
small {
    color: #FFF;
    font-size: 14px;
    letter-spacing: 0;
    font-weight: 500;
    text-align: center;
    margin: min(1.79vw,25px) auto 0;
    display: block;
}
.footer a {
    color: #FFF;
}
@media screen and (max-width:768px) { 
    .footer-inner {
        padding: 10vw 0 0 0;
        flex-direction: column;
        justify-content: initial;
        gap: 10vw;
    }
    .footer-logo {
        margin: 0 auto;
        font-size: 6vw;
    }
    .footer-txt-1 {
        font-size: 3vw;
        margin: 4vw auto 0;
    }
    
    small {
        font-size: 12px;
        margin: 6vw auto 12vw;
        padding-bottom: 3vw;
    }
}
/* ///////////////////////////////////////////////
thanx
//////////////////////////////////////////////// */
.thanx-inner {
    width: min(69.44vw,1000px);
    margin: 0 auto;
    text-align: center;
    font-size: min(1.67vw,24px);
    line-height: 2;
    padding: min(8.4vw,121px) 0;
}
.thanx {
    background: #FFF;
    padding-top: min(8.4vw,121px);
    padding-bottom: 4vw;
}
.thanx .footer-link-wrap {
    margin: 3vw auto 0;
    width: max-content;
}

@media screen and (max-width:768px) { 
    .thanx-inner {
        width: 90vw;
        font-size: 4vw;
        line-height: 2;
        padding: 15vw 0;
    }
    .thanx .footer-link-wrap {
        width: 60vw;
    }
}

/* ///////////////////////////////////////////////
fixed
//////////////////////////////////////////////// */
@media screen and (max-width:768px) { 
    .fixed {
        position: fixed;
        bottom: 0;
        left: 0;
        display: none;
        z-index: 10;
        width: 100%;
    }
    .fixed a {
        width: 50%;
    }
    .fixed .tel-btn {
        height: 12vw;
        border-radius: 0;
        gap: 1vw;
    }
    .fixed .tel-btn .no {
        font-size: 5vw;
    }
    .fixed .tel-btn .txt {
        font-size: 3vw;
        margin-top: 1vw;
    }
    .fixed .tel-btn img {
        width: 6vw;
    }
    .fixed .contact-btn {
        height: 12vw;
        border-radius: 0;
        gap: 1vw;
    }
    .fixed .contact-btn p {
        font-size: 4vw;
    }
    .fixed .contact-btn img {
        width: 5vw;
    }
}
/* ///////////////////////////////////////////////
privacy-policy
//////////////////////////////////////////////// */
.privacy-policy {
    padding: 10vw 10vw;
}
.privacy-close {
    text-decoration: underline;
    text-align: center;
    width: max-content;
    margin: 0 auto;
    display: block;
}
@media screen and (max-width:768px) { 
    .privacy-policy {
        padding: 5vw 4vw;
    }
}
/* ///////////////////////////////////////////////
common
//////////////////////////////////////////////// */
.sp {
    display: block;
}
.pc {
    display: none;
}
.pc-flex {
    display: none;
}
.dot {
    width: 12.11vw;
    margin: 0 auto;
}
.p-relative {
    position: relative;
}
a:hover,
input[type="submit"]  {
    transition: 0.3s;
}
a:hover,
input[type="submit"]:hover {
    opacity: 0.7;
}

.fadeInUp {
    -webkit-animation: fadeInUp 0.5s ease;
    animation: fadeInUp 0.5s ease;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
  
.fade {
    opacity: 0;
}
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@media screen and (min-width:769px) {
    .sp {
        display: none;
    }
    .pc {
        display: block;
    }
    .pc-flex {
        display: flex;
    }
    a[href^="tel:"] {
        pointer-events: none
    }
    .dot {
        width: 68px;
    }
}





/* =====================================================
   CMS 見たまま編集用
   Swiper が初期化されない編集画面でも「お客様の声」を3枚表示に保ち、
   SP追従CTAが編集画面下部に露出しないようにする。
===================================================== */
body.mce-content-body .voice .swiper-wrapper {
    display: flex !important;
    justify-content: center;
    gap: 80px;
    transform: none !important;
    transition: none !important;
}

body.mce-content-body .voice .swiper-slide {
    flex: 0 0 min(28.43vw, 398px) !important;
    width: min(28.43vw, 398px) !important;
    margin-right: 0 !important;
}

body.mce-content-body .voice .swiper-slide:nth-child(2) {
    opacity: 1;
}

body.mce-content-body .fixed {
    display: none !important;
}

@media screen and (max-width: 1200px) and (min-width: 769px) {
    body.mce-content-body .voice .swiper-wrapper {
        gap: 4vw;
    }

    body.mce-content-body .voice .swiper-slide {
        flex-basis: calc((100% - 8vw) / 3) !important;
        width: calc((100% - 8vw) / 3) !important;
    }
}
