@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;
    }
}





/* =========================================================
   Distinct LP redesign: エアコンお助け隊
   ========================================================= */
:root{
    --assist-navy:#102a43;
    --assist-blue:#147d92;
    --assist-cyan:#31c5d8;
    --assist-bg:#f4fbfc;
    --assist-accent:#f6a623;
}
body{background:#fff;color:#23313f;}
.header{box-shadow:0 4px 18px rgba(16,42,67,.08);}
.header h1 a{gap:12px;position:relative;padding-right:110px;}
.header h1 img{height:min(4.4vw,62px);padding-right:0;}
.header .brand-name{font-size:min(2.25vw,31px);font-weight:900;letter-spacing:-.04em;color:var(--assist-navy);}
.header .brand-sub{position:absolute;left:min(5.3vw,74px);bottom:6px;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.18em;color:var(--assist-blue);font-weight:700;}
.header .tel-btn{background:var(--assist-navy);}
.header .contact-btn{background:var(--assist-blue);}

.kv{
    max-width:none;
    width:100%;
    height:min(43vw,610px);
    margin:min(5.71vw,80px) auto 0;
    background:
      linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 36%,rgba(255,255,255,.40) 61%,rgba(255,255,255,.08) 100%),
      url(../img/bg-trouble.jpg) no-repeat 72% center / cover;
    border-bottom:1px solid #dbecef;
}
.kv::after{content:"";position:absolute;inset:auto 0 0 0;height:7px;background:linear-gradient(90deg,var(--assist-navy),var(--assist-cyan),var(--assist-accent));}
.kv-txt-wrap{top:50%;left:max(calc((100vw - 1180px)/2),6vw);transform:translateY(-50%);width:min(52vw,690px);}
.hero-eyebrow{display:inline-flex;align-items:center;background:#e4f8fb;color:var(--assist-blue);font-size:min(1.2vw,16px);font-weight:800;letter-spacing:.08em;padding:9px 15px;border-radius:999px;margin-bottom:20px;}
.hero-title{font-size:min(4.25vw,58px);line-height:1.18;letter-spacing:-.055em;font-weight:900;color:var(--assist-navy);}
.hero-title strong{color:var(--assist-blue);position:relative;}
.hero-title strong::after{content:"";position:absolute;height:10px;left:0;right:0;bottom:3px;background:rgba(49,197,216,.25);z-index:-1;}
.hero-lead{font-size:min(1.35vw,18px);line-height:1.85;max-width:600px;margin-top:18px;font-weight:500;}
.kv .tag-wrap{gap:10px;margin-top:22px;color:var(--assist-navy);}
.kv .tag-wrap .tag-1,.kv .tag-wrap .tag-2,.kv .tag-wrap .tag-3{width:auto;height:auto;min-width:145px;padding:12px 16px;background:#fff;border:1px solid #cce7eb;border-radius:12px;box-shadow:0 8px 22px rgba(16,42,67,.08);font-size:min(1.05vw,14px);line-height:1.25;display:block;text-align:left;}
.kv .tag-wrap b{font-size:min(1.35vw,18px);color:var(--assist-blue);}
.hero-actions{display:flex;gap:12px;margin-top:24px;}
.hero-actions a{height:58px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:min(1.2vw,16px);box-shadow:0 8px 18px rgba(16,42,67,.14);}
.hero-call{min-width:310px;background:var(--assist-accent);color:#fff;}
.hero-mail{min-width:220px;background:var(--assist-navy);color:#fff;}

.kv-bottom{height:auto;background:var(--assist-navy);padding:0;}
.trust-strip{width:min(1180px,92vw);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.18);}
.trust-item{background:var(--assist-navy);color:#fff;text-align:center;padding:17px 8px;font-size:min(1.15vw,16px);font-weight:800;}
.trust-item::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:7px;border-radius:50%;background:var(--assist-cyan);color:var(--assist-navy);font-weight:900;}
.trust-note{grid-column:1/-1;color:#c9d7e2;text-align:center;font-size:11px;padding:7px 0 11px;background:var(--assist-navy);}
.cta-after-hero{background:#f8fcfd;border-bottom:1px solid #e2eef0;}
.cta-after-hero .top-cta-inner{padding:22px 0;}
.cta-after-hero .tel-btn{background:var(--assist-accent);}
.cta-after-hero .contact-btn{background:var(--assist-blue);}

.quick-guide{padding:min(7vw,90px) 0;background:#fff;}
.quick-guide-inner{width:min(1040px,88vw);margin:0 auto;text-align:center;}
.quick-guide h2{font-size:min(3vw,42px);color:var(--assist-navy);font-weight:900;letter-spacing:-.04em;}
.quick-guide-inner>p{font-size:min(1.35vw,18px);line-height:1.9;max-width:800px;margin:20px auto 38px;}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.quick-card{border:1px solid #d5e8eb;border-radius:18px;padding:28px 22px;background:var(--assist-bg);text-align:left;position:relative;overflow:hidden;}
.quick-card span{font-family:Arial,sans-serif;font-weight:900;color:var(--assist-cyan);font-size:38px;line-height:1;}
.quick-card h3{font-size:21px;color:var(--assist-navy);margin:14px 0 8px;font-weight:900;}
.quick-card p{font-size:15px;line-height:1.7;color:#516475;}

.common-h2{background:none;-webkit-text-fill-color:initial;color:var(--assist-navy);font-weight:900;letter-spacing:-.04em;}
.possible{background:var(--assist-bg);}
.possible-card{box-shadow:none;border:1px solid #d8eaed;border-radius:18px;overflow:hidden;}
.possible-card .title{background:var(--assist-navy);border-radius:0;}
.reason{background:#fff;}
.reason h2{background:var(--assist-navy);font-size:min(3.8vw,52px);}
.reason h2 span{color:var(--assist-cyan);}
.reason-card{box-shadow:none;border:1px solid #dbe9ec;border-radius:18px;overflow:hidden;}
.reason-card .title,.reason-card .no,.swiper-slide .title{color:var(--assist-blue);}
.voice{background:#f7fafb;}
.swiper-slide{box-shadow:none;border:1px solid #e0e9eb;border-radius:18px;}
.flow{background:#fff;}

.trouble{height:auto;background:var(--assist-navy);padding:min(6vw,78px) 0;}
.trouble-inner{width:min(1040px,88vw);padding:0;display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:50px;}
.trouble h2.section-label-title{width:auto;color:#fff;font-size:min(3vw,42px);font-weight:900;line-height:1.35;}
.trouble-txt-wrap{width:auto;height:auto;background:transparent;margin:0;border-radius:0;}
.trouble-txt-wrap-inner{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.trouble-check-wrap{margin:0;gap:10px;background:#fff;border-radius:14px;padding:18px;min-height:78px;}
.trouble-check-wrap img{width:24px;filter:hue-rotate(135deg) saturate(.7);}
.trouble-check-wrap p{font-size:min(1.35vw,18px);line-height:1.45;font-weight:800;color:var(--assist-navy);}

@media screen and (max-width:768px){
  .header{position:relative;height:18vw;}
  .header h1 a{padding-right:0;gap:2vw;}
  .header h1 img{height:13vw;}
  .header .brand-name{font-size:6.4vw;}
  .header .brand-sub{display:none;}
  .kv{margin:0;height:auto;min-height:142vw;background:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 52%,rgba(255,255,255,.24) 76%,rgba(255,255,255,.08) 100%),url(../img/bg-trouble.jpg) no-repeat 66% bottom / auto 76vw;padding:9vw 0 74vw;}
  .kv-txt-wrap{position:relative;top:auto;left:auto;transform:none;width:88vw;margin:0 auto;}
  .hero-eyebrow{font-size:3.3vw;padding:2vw 3vw;margin-bottom:4vw;}
  .hero-title{font-size:10.2vw;line-height:1.15;}
  .hero-lead{font-size:3.8vw;line-height:1.8;margin-top:4vw;}
  .kv .tag-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:2vw;margin-top:5vw;}
  .kv .tag-wrap .tag-1,.kv .tag-wrap .tag-2,.kv .tag-wrap .tag-3{min-width:0;width:auto;padding:3vw 2vw;font-size:2.7vw;border-radius:2.5vw;}
  .kv .tag-wrap b{font-size:3.5vw;}
  .hero-actions{flex-direction:column;margin-top:5vw;gap:2vw;}
  .hero-actions a{min-width:0;width:100%;height:13vw;border-radius:2.5vw;font-size:4vw;}
  .trust-strip{width:100%;grid-template-columns:1fr 1fr;}
  .trust-item{font-size:3.3vw;padding:4vw 2vw;}
  .trust-note{font-size:2.5vw;padding:2vw 4vw 3vw;line-height:1.5;}
  .cta-after-hero .top-cta-inner{padding:4vw 0;}
  .quick-guide{padding:12vw 0;}
  .quick-guide-inner{width:90vw;}
  .quick-guide h2{font-size:7.5vw;line-height:1.3;}
  .quick-guide-inner>p{font-size:3.7vw;line-height:1.8;margin:4vw auto 7vw;}
  .quick-grid{grid-template-columns:1fr;gap:3vw;}
  .quick-card{padding:5vw;border-radius:3vw;}
  .quick-card span{font-size:8vw;}
  .quick-card h3{font-size:5vw;margin:2vw 0 1vw;}
  .quick-card p{font-size:3.5vw;}
  .trouble{padding:11vw 0;background:var(--assist-navy);height:auto;}
  .trouble-inner{width:90vw;display:block;}
  .trouble h2.section-label-title{font-size:7.5vw;margin-bottom:6vw;}
  .trouble-txt-wrap{width:auto;margin:0;}
  .trouble-txt-wrap-inner{grid-template-columns:1fr;padding:0;gap:2.5vw;}
  .trouble-check-wrap{padding:4vw;min-height:0;border-radius:3vw;}
  .trouble-check-wrap p{font-size:4vw;}
  .trouble-check-wrap img{width:5vw;}
  .reason h2{font-size:6.5vw;height:auto;padding:5vw 3vw;line-height:1.3;text-align:center;}
}


/* Mobile readability enhancement 2026-08-14 */
@media screen and (max-width:768px) {
    body {
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    /* Important copy should stay legible even on narrow phones. */
    .hero-eyebrow { font-size: max(13px, 3.3vw); }
    .hero-lead { font-size: max(15px, 3.8vw); }
    .kv .tag-wrap .tag-1,
    .kv .tag-wrap .tag-2,
    .kv .tag-wrap .tag-3 { font-size: max(12px, 2.7vw); }
    .kv .tag-wrap b { font-size: max(14px, 3.5vw); }
    .trust-item { font-size: max(13px, 3.3vw); }
    .trust-note { font-size: max(11px, 2.5vw); }
    .quick-guide-inner > p,
    .quick-card p { font-size: max(14px, 3.5vw); }
    .trouble-check-wrap p { font-size: max(15px, 4vw); }

    /* The new 0800 number is longer, so keep every phone CTA on one line. */
    .top-cta-inner .tel-btn { width: 88vw; max-width: 430px; }
    .top-cta-inner .tel-btn .no {
        font-size: clamp(20px, 5.4vw, 24px);
        white-space: nowrap;
        letter-spacing: -0.04em;
    }
    .fixed .tel-btn .no {
        font-size: clamp(16px, 4.4vw, 19px);
        white-space: nowrap;
        letter-spacing: -0.05em;
    }
    .fixed .tel-btn,
    .fixed .contact-btn { min-height: 52px; }

    /* Forms: 16px+ prevents tiny text and iOS focus zoom; 48px gives a usable tap target. */
    .CMS-FORM-INPUT,
    .CMS-FORM-EMAIL,
    .CMS-FORM-DATE {
        box-sizing: border-box;
        width: 100%;
        min-height: 48px;
        height: 48px;
        padding: 0 14px;
        font-size: 16px;
    }
    .CMS-FORM-TEXTAREA {
        box-sizing: border-box;
        width: 100%;
        min-height: 140px;
        height: 140px;
        padding: 12px 14px;
        font-size: 16px;
        line-height: 1.6;
    }
    .CMS-FORM-GROUP input[type="submit"] {
        min-height: 48px;
    }
    .CMS-FORM-INPUT-LABEL,
    .CMS-FORM-EMAIL-LABEL,
    .CMS-FORM-TEXTAREA-LABEL,
    .CMS-FORM-DATE-LABEL,
    .CMS-FORM-RADIO-LABEL { font-size: 16px; }
    .privacy-wrap { font-size: 13px; line-height: 1.6; }
    input[type=checkbox] { width: 20px; height: 20px; flex: 0 0 20px; }

    .privacy-policy { font-size: 14px; line-height: 1.9; }
    .thanx-inner { font-size: 16px; }
    .footer-txt-1 { font-size: 12px; line-height: 1.8; width: 90vw; }
    .footer small { font-size: 11px; }
    .footer { padding-bottom: max(26px, calc(16px + env(safe-area-inset-bottom))); }
}

/* Mobile typography guardrails for phones and small tablets */
@media screen and (max-width:768px) {
    .header .brand-name { font-size: clamp(22px, 6.4vw, 34px); }
    .hero-title { font-size: clamp(34px, 10.2vw, 44px); }
    .hero-actions a { font-size: clamp(16px, 4vw, 20px); }
    .quick-guide h2,
    .trouble h2.section-label-title { font-size: clamp(28px, 7.5vw, 40px); }
    .quick-card h3 { font-size: clamp(18px, 5vw, 24px); }
    .reason h2 { font-size: clamp(26px, 6.5vw, 38px); }
    .contact-bottom-txt { font-size: clamp(15px, 4vw, 20px); line-height: 1.7; }
    .top-cta-inner .contact-btn p { font-size: clamp(18px, 5vw, 24px); }
}

/* Extra guardrail for very narrow phones (e.g. 320px wide). */
@media screen and (max-width:340px) {
    .hero-title { font-size: 9.2vw; }
    br.narrow-br { display: block; }
}

.narrow-br{display:none;}

/* =====================================================
   TOP HERO - mobile-first air-conditioner service visual
   2026-08-14
===================================================== */
.kv {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    max-width: 1400px;
    width: calc(100% - 32px);
    height: min(44vw, 610px);
    margin: 24px auto 0;
    border: 1px solid #dbecef;
    border-radius: 24px;
    background: url(../img/bg-kv-new.jpg) no-repeat center right / cover;
}
.kv::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.97) 38%, rgba(255,255,255,.72) 56%, rgba(255,255,255,.12) 78%, rgba(255,255,255,0) 100%);
}
.kv::after {
    z-index: 1;
}
.kv-txt-wrap {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: max(calc((100% - 1180px)/2), 5vw);
    width: min(48vw, 630px);
    transform: translateY(-50%);
}
.hero-eyebrow {
    box-shadow: 0 6px 18px rgba(21,128,213,.12);
}
.hero-title {
    font-size: clamp(38px, 4vw, 58px);
    line-height: 1.14;
}
.hero-lead {
    max-width: 560px;
}
.kv .tag-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.kv .tag-wrap .tag-1,
.kv .tag-wrap .tag-2,
.kv .tag-wrap .tag-3 {
    min-width: 0;
    padding: 13px 12px;
}
.hero-actions a {
    min-width: 0;
}
.hero-call { width: 310px; }
.hero-mail { width: 220px; }

@media screen and (max-width:768px) {
    .kv {
        width: 100%;
        height: auto;
        min-height: 174vw;
        margin: 0;
        padding: 7vw 0 84vw;
        border: 0;
        border-radius: 0 0 6vw 6vw;
        background: url(../img/bg-kv-sp.jpg) no-repeat center bottom / 100% auto;
    }
    .kv::before {
        background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.99) 45%, rgba(255,255,255,.90) 58%, rgba(255,255,255,.18) 76%, rgba(255,255,255,0) 100%);
    }
    .kv-txt-wrap {
        position: relative;
        top: auto;
        left: auto;
        width: 90vw;
        margin: 0 auto;
        transform: none;
    }
    .hero-eyebrow {
        font-size: clamp(12px,3.4vw,14px);
        padding: 2.2vw 3.2vw;
        margin-bottom: 3.3vw;
    }
    .hero-title {
        max-width: 100%;
        font-size: clamp(31px,8.7vw,40px);
        line-height: 1.15;
        letter-spacing: -.045em;
    }
    .hero-lead {
        margin-top: 3.4vw;
        font-size: clamp(14px,3.7vw,16px);
        line-height: 1.68;
    }
    .kv .tag-wrap {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.8vw;
        margin-top: 4vw;
    }
    .kv .tag-wrap .tag-1,
    .kv .tag-wrap .tag-2,
    .kv .tag-wrap .tag-3 {
        padding: 2.6vw 1.2vw;
        border-radius: 2.4vw;
        text-align: center;
        font-size: clamp(10px,2.7vw,12px);
        line-height: 1.35;
    }
    .kv .tag-wrap b {
        font-size: clamp(12px,3.2vw,14px);
        white-space: nowrap;
    }
    .hero-actions {
        flex-direction: column;
        gap: 2vw;
        margin-top: 4vw;
    }
    .hero-actions a,
    .hero-call,
    .hero-mail {
        width: 100%;
        height: 13vw;
        min-height: 50px;
        border-radius: 3vw;
        font-size: clamp(15px,4vw,18px);
    }
}

@media screen and (max-width:340px) {
    .kv { min-height: 184vw; padding-bottom: 88vw; }
    .hero-title { font-size: 9vw; }
    .hero-lead { font-size: 14px; }
    .kv .tag-wrap b { white-space: normal; }
}
