@charset "UTF-8";
html {
    overflow-x: hidden;
}
body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    background: #fff;
    color: #3E3A39;
    overflow-x: hidden;
}

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

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


/* ///////////////////////////////////////////////
header
//////////////////////////////////////////////// */
.header {
    width: 100%;
    height: min(8.4vw,121px);
    padding: 0 min(8.33vw,120px);
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 99;
    margin: 0 auto;
}
.header-inner {
    height: min(8.4vw, 121px);
    display: flex;
    align-items: center;
    gap: min(2.01vw,29px);
    max-width: 1440px;
    margin: 0 auto;
}
.header h1 {
    width: min(18.47vw,266px);
}
.header ul {
    display: flex;
    align-items: center;
}
.header ul li:nth-child(-n+6) {
    font-size: min(1.11vw,16px);
    font-weight: 600;
    letter-spacing: 0.12em;
    padding: 0 min(1.15vw,16.5px) 0 min(1.6vw,23px);
    position: relative;
}
.header ul li:nth-child(-n+4)::before {
    content: "|";
    position: absolute;
    top: 0;
    left: 0;
}
.header ul li:nth-child(4)::after {
    content: "|";
    position: absolute;
    top: 0;
    right: max(-0.45vw,-6.5px);
}
.header ul li img {
    width: min(11.18vw,161px);
    box-shadow : 1.23px 1.23px 1.23px rgba(0, 0, 0, 0.4);
}
@media screen and (max-width:768px) { 
    .header {
        height: 18vw;
        position: relative;
    }
    .header-inner {
        height: 18vw;
    }
    .header h1 {
        width: 40vw;
    }
    .header ul {
        display: initial;
    }
    .header ul li:nth-child(-n+6) {
        font-size: 5vw;
    }
    .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;
    }
}
/*  ----------------------------------------------------------

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%;
}
.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;
}
.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: 6rem;
	height: 6rem;
	transition: all .5s;
	cursor: pointer;
	z-index: 100000;
	background: var(--main-color);
}
.toggle-btn span {
	display: block;
	position: absolute;
	left: 2rem;
	width: 2rem;
	height: 2px;
	background-color: #3E3A39;
	transition: all .4s;
}
.toggle-btn span:nth-child(1) {
	top: 1.9rem;
}
.toggle-btn span:nth-child(2) {
	top: 2.7rem;
}
.toggle-btn span:nth-child(3) {
	top: 3.5rem;
}
.open .toggle-btn span {
	background-color: #3E3A39;
}
.open .toggle-btn span:nth-child(1) {
	-webkit-transform: translateY(0.8rem) rotate(-45deg);
	transform: translateY(0.8rem) rotate(-45deg);
}
.open .toggle-btn span:nth-child(2) {
	opacity: 0;
}
.open .toggle-btn span:nth-child(3) {
	-webkit-transform: translateY(-0.8rem) rotate(45deg);
	transform: translateY(-0.8rem) 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: #F4B015;
    height: min(39.65vw,571px);
    padding-top: min(8.4vw,121px);
    position: relative;
}
.kv-txt-wrap {
    position: absolute;
    top: min(16.25vw,234px);
    left: 50%;
    transform: translateX(-87%);
    -webkit-transform: translateX(-87%);
    -ms-transform: translateX(-87%);
    width: min(43.75vw,630px);
    z-index: 2;
}
.kv-txt-img-1 {
    width: min(27.15vw,391px);
}
.kv-txt-2 {
    font-size: min(2.47vw,35.5px);
    letter-spacing: 0;
    font-weight: 700;
    margin-top: min(1.9vw,27.3px);
    line-height: 1;
}
.kv-txt-2 span {
    position: relative;
}
.kv-txt-2 span::after {
    content: "";
    position: absolute;
    width: 100%;
    height: min(0.4vw,5.758px);
    background: url(../img/kv-border.png) no-repeat;
    background-size: contain;
    bottom: max(-0.4vw,-5.758px);;
    left: 0;
}
.kv-txt-img-2 {
    width: min(38.81vw,558.8px);
    margin-top: min(2vw,28.8px);
}
.kv-txt-4 {
    font-size: min(1.62vw,23.39px);
    letter-spacing: 0;
    font-weight: 700;
    margin-top: min(2.18vw,31.4px);
    line-height: 1;
    color: #fff;
}
.kv-contact {
    width: 20.83vw;
    box-shadow : 1.96px 1.96px 1.96px rgba(0, 0, 0, 0.4);
}
.kv-line {
    width: 20.83vw;
    box-shadow : 1.96px 1.96px 1.96px rgba(0, 0, 0, 0.4);
}
.kv-img {
    position: absolute;
    top: min(4.6vw,82.800px);
    left: 50%;
    transform: translateX(-12.3%);
    -webkit-transform: translateX(-12.3%);
    -ms-transform: translateX(-12.3%);
    width: min(49vw,705.594px);
    z-index: 1;
}
.kv-img-center {
    width: min(42.05vw,605.4763px);
    position: absolute;
    top: min(4.93vw,70.992px);
    left: 50%;
    transform: translateX(-12.3%);
    -webkit-transform: translateX(-12.3%);
    -ms-transform: translateX(-12.3%);
    width: min(49vw,705.594px);
    z-index: 1;
}
.kv-link-wrap {
    display: flex;
    gap: min(1.98vw,28.5px);
    margin-top: min(5.87vw,84.5px);
}
@media screen and (max-width:768px) { 
    .kv {
        height: 90vw;
    }
    .kv-txt-img-1 {
        width: 80vw;
    }
    .kv-txt-wrap {
        top: min(16.25vw,234px);
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        width: 90vw;
        z-index: 1;
    }
    .kv-txt-2 {
        font-size: 6vw;
        margin-top: 3vw;
    }
    .kv-txt-2 span::after {
        height: 1vw;
        bottom: max(-0.4vw,-5.758px);
    }
    .kv-txt-img-2 {
        width: 90vw;
        margin-top: 4vw;
    }
    .kv-txt-4 {
        font-size: 3.8vw;
    }
    .kv-link-wrap {
        flex-direction: column;
        gap: 3vw;
    }
    .kv-contact {
        width: 50%;
    }
    .kv-line {
        width: 50%;
    }
    .kv-img {
        top: 54vw;
        left: 50%;
        width: 45vw;
        transform: translateX(6.7%);
        -webkit-transform: translateX(6.7%);
        -ms-transform: translateX(6.7%);
    }
    
}

/* ///////////////////////////////////////////////
worries
//////////////////////////////////////////////// */
.worries {
    background: #fff;
    padding: min(5.21vw,75px) 0 0 0;
}
.worries-inner {
    width: min(69.03vw,994px);
    margin: 0 auto;
}
.worries h2 {
    font-size: min(2.59vw,37.29px);
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.5159;
    position: relative;
    width: max-content;
    margin: 0 auto;
}
.worries h2 img {
    position: absolute;
    top: 0;
    left: min(0.95vw,13.7px);
    width: min(1.98vw,28.5px);
}
.worries-wrap {
    display: flex;
    flex-direction: column;
    gap: min(1.56vw,22.5px);
    position: relative;
    padding: min(3.61vw,52px) 0 0 min(5.28vw,76px);
    margin: min(4.86vw,70px) min(3.2vw,46.080px) min(11.88vw,171px) auto;
    width: max-content;
}
.worries-txt-wrap {
    display: flex;
    align-items: center;
    gap: min(1.42vw,20.5px);
}
.worries-txt-wrap img {
    width: min(2vw,28.8px);
}
.worries-txt-wrap p {
    font-size: min(1.57vw,22.54px);
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1;
}
.worries-line-deco {
    position: absolute;
    top: 0;
    left: 0;
    width: min(48.54vw,699px);
}
.worries-img {
    position: absolute;
    top: 0;
    left: max(-20.2vw,-290.880px);
    width: min(29.65vw,427px);
    z-index: 1;
}
.worries-inner-second-wrap {
    position: relative;
}
.worries-inner-second {
    background : #FFF6B8;
    padding: min(4.69vw,67.5px) 0 min(9.03vw,130px) 0;
    clip-path: polygon(100% 0, 100% 81%, 50% 100%, 0 81%, 0 0);
    position: relative;
}
.worries-title-img {
    width: min(19.79vw,285px);
    margin: 0 auto;
}
.worries-inner-second-txt {
    font-size: min(2.14vw,30.75px);
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.8178;
    text-align: center;
    width: max-content;
    margin: min(2.29vw,33px) auto 0;
    position: relative;
}
.worries-inner-second-txt .underline {
    position: relative;
}
.worries-inner-second-txt .underline::after {
    content: "";
    position: absolute;
    width: 100%;
    height: min(0.4vw,5.758px);
    background: url(../img/worries-border.png) no-repeat;
    background-size: contain;
    bottom: max(-0.4vw,-5.758px);
    left: 0;
}
.worries-inner-second-txt .strong {
    font-size: min(2.59vw,37.27px);
    color: #F49C2D;
}
.worries-deco-left {
    position: absolute;
    top: max(-9.21vw,-132.624px);
    left: max(-14.84vw,-213.696px);
    width: min(16.04vw,231px);
}
.worries-deco-right {
    position: absolute;
    bottom: max(-2.2vw,-31.680px);
    left: 50%;
    transform: translateX(212%);
    -webkit-transform: translateX(212%);
    -ms-transform: translateX(212%);
    width: min(12.26vw,176.5px);
}
.worries-inner-third {
    display: flex;
    align-items: center;
    margin: min(1.53vw,22px) auto 0;
    width: max-content;
    gap: min(4.17vw,60px);
}
.worries-inner-third-left {
    width: min(39.49vw,568.648px);
}
.worries-strong-img {
    width: min(31.11vw,448px);
}
.worries-inner-third .mini-title {
    font-size: min(1.63vw,23.45px);
    font-weight: 700;
    letter-spacing: 0.05em;
    width: max-content;
    position: relative;
    margin-left: min(1.5vw,25.920px);
}
.worries-inner-third .mini-title-deco {
    position: absolute;
    bottom: max(-1.5vw,-21.600px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: min(14.24vw,205px);
}
.worries-inner-third .big-title {
    font-size: min(2.64vw,38px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.8421;
    color: #F49C2D;
    margin-top: min(1.53vw,22.032px);
}
.worries-inner-third .inner-txt {
    font-size: min(1.11vw,16px);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.875;
    width: min(35.05vw,504.719px);
    margin-top: min(28.800vw,28.800px);
}

@media screen and (max-width:768px) { 
    .worries h2 {
        font-size: 6vw;
    }
    .worries-inner {
        width: 90vw;
        margin: 0 auto 15vw;
    }
    .worries h2 img {
        left: 1vw;
        width: 4.5vw;
    }
    .worries-wrap {
        gap: min(1.56vw,22.5px);
        position: relative;
        padding: min(3.61vw,52px) 0 0 min(5.28vw,76px);
        margin: 10vw 0 0 auto;
        width: max-content;
        gap: 3.4vw;
    }
    .worries-line-deco {
        width: 69vw;
    }
    .worries-txt-wrap p {
        font-size: 2.4vw;
    }
    .worries-txt-wrap img {
        width: 3vw;
    }
    .worries-img {
        left: -25vw;
        width: 36vw;
    }
    .worries-title-img {
        width: 50vw;
    }
    .worries-inner-second-txt {
        font-size: 3.6vw;
        margin: min(2.29vw,33px) auto 0;
    }
    .worries-inner-second-txt .strong {
        font-size: 5vw;
    }
    .worries-inner-second {
        padding: 10vw 0 16vw 0;
        clip-path: polygon(100% 0, 100% 90%, 50% 100%, 0 90%, 0 0);
    }
    .worries-inner-second-txt .underline::after {
        height: 0.6vw;
        bottom: -1vw;
    }
    .worries-deco-left {
        top: -16vw;
        left: -5vw;
        width: 20vw;
    }
    .worries-deco-right {
        position: absolute;
        bottom: -10vw;
        left: 50%;
        transform: translateX(155%);
        -webkit-transform: translateX(155%);
        -ms-transform: translateX(155%);
        width: 17vw;
    }
    .worries-inner-third {
        flex-direction: column;
        margin: min(1.53vw,22px) auto 0;
        width: 90vw;
        gap: min(4.17vw,60px);
    }
    .worries-inner-third-left {
        width: 100%;
    }
    .worries-inner-third .mini-title {
        font-size: 4vw;
        margin-left: 2vw;
    }
    .worries-inner-third .big-title {
        font-size: 6vw;
        line-height: 1.8421;
        margin-top: 3vw;
    }
    .worries-inner-third .mini-title-deco {
        bottom: -3vw;
        width: 110%;
    }
    .worries-inner-third .inner-txt {
        font-size: 4vw;
        width: 100%;
        margin-top: 3vw;
    }
    .worries-strong-img {
        width: 90vw;
    }

}
/* ///////////////////////////////////////////////
point
//////////////////////////////////////////////// */
.point {
    max-width: min(76.39vw,1100px);
    margin: min(5.07vw,73px) auto min(11.11vw,160px);
}
.point h2 {
    margin: 0 auto;
    width: max-content;
}
.point-title {
    width: min(32.64vw,470px);
}
.point-wrap-1 {
    display: flex;
    margin: min(9.58vw,138px) auto 0 0;
}
.point-img-1 {
    width: min(36.11vw,520px);
}
.point-wrap-1-right {
    width: min(39.93vw,575px);
}
.point-wrap-title {
    font-size: min(3.15vw,45.4px);
    font-weight: 700;
    letter-spacing: 0;
}
.point-wrap-title span.big {
    font-size: min(4.18vw,60.13px);
    font-weight: 400;
    font-family: "Anton", sans-serif;
    color: #F4B015;
    position: relative;
    margin-right: min(1.32vw,19px);
}
.point-wrap-title span.big::before {
    content: "POINT";
    position: absolute;
    top: max(-1vw,-14.400px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    font-size: min(1.14vw,16.42px);
    font-weight: 400;
    font-family: "Anton", sans-serif;
    color: #F4B015;
}
.point-wrap-title span.note {
    position: relative;
}
.point-wrap-title span.note::before {
    content: "[管理画面]";
    position: absolute;
    bottom: max(-1vw,-14.400px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    font-size: min(1.15vw,16.62px);
    font-weight: 700;
    color: #F4B015;
    width: 100%;
    text-align: center;
}
.point-wrap-txt {
    font-size: min(1.58vw,22.8px);
    font-weight: 600;
    letter-spacing: 0.02em;
    padding-left: min(3.96vw,57px);
    width: min(40vw,576px);
    line-height: 1.7543;
    margin-top: min(1.7vw,24.480px);
}
.point-wrap-txt span {
    font-size: min(3.74vw,53.86px);
    font-weight: 400;
    font-family: "Anton", sans-serif;
    color: #F4B015;
    line-height: 1.113;
}
.point-wrap-2 {
    display: flex;
    margin: min(5.52vw,79.5px) auto 0 0;
}
.point-img-2 {
    width: min(38.61vw,556px);
}
.point-wrap-2 .point-wrap-txt {
    padding-left: min(4.1vw,59.040px);
    margin-top: min(3.1vw,44.640px);
}
.point-img-3-wrap {
    width: min(36.11vw,520px);
}
.point-img-3 {
    width: min(26.56vw,382.5px);
    margin: 0 auto;
}
.point-wrap-3 {
    margin: min(5vw,72px) auto 0 0;
}
.point-wrap-3 .point-wrap-title {
    margin-top: min(2vw,28.800px);
}
.point-option-wrap {
    background: #FFF6B8;
    margin: min(3.61vw,52px) auto 0;
    position: relative;
    height: min(16.18vw,233px);
    display: flex;
    justify-content: center;
    align-items: center;
}
.point-option-wrap::before {
    content: "";
    position: absolute;
    top: max(-3.26vw,-47px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: min(2.78vw,40px);
    height: min(3.26vw,47px);
    background: #FFF6B8;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
.point-option-wrap-inner {
    display: flex;
    align-items: center;
    gap: min(0.25vw,3.6px);
}
.point-option-content {
    display: flex;
    flex-direction: column;
}
.point-option-img-1 {
    position: absolute;
    top: max(-11.74vw,-169px);
    right: min(11.11vw,160px);
    width: min(12.22vw,176px);
    z-index: -1;
}
.point-option-img-2 {
    width: min(11.3vw,162.7px);
}
.point-option-head {
    display: flex;
    align-items: center;
    gap: min(1.46vw,21px);
    border-bottom: 1px solid #F4B015;
    padding-bottom: min(0.89vw,12.8px);
}
.point-option-head .big {
    font-size: min(3.99vw,57.46px);
    font-weight: 400;
    font-family: "Anton", sans-serif;
    color: #F4B015;
    line-height: 1;
}
.point-option-head .middle {
    font-size: min(1.49vw,21.47px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.3213;
}
.point-option-head .middle-mini {
    font-size: min(1.23vw,17.64px);
}
.point-option-head .middle-big {
    font-size: min(1.64vw,23.62px);
}
.point-option-content-txt {
    font-size: min(1.37vw,19.68px);
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.7545;
    padding: min(0.5vw,7.2px) 0 0 min(1.88vw,27px);
}
.point-option-content-txt span {
    color: #E65245;
}
@media screen and (max-width:768px) { 
    .point {
        max-width: 90vw;
        margin: 20vw auto;
    }
    .point-title {
        width: 80vw;
    }
    .point-wrap-1 {
        flex-direction: column-reverse;
        margin: 10vw auto 0;
    }
    .point-wrap-2 {
        flex-direction: column;
        margin: 10vw auto 0;
    }
    .point-img-1 {
        width: 100%;
        margin-top: 3vw;
    }
    .point-wrap-1-right {
        width: 100%;
    }
    .point-wrap-title {
        font-size: 7vw;
    }
    .point-wrap-title span.big {
        font-size: 8vw;
        margin-right: 2vw;
    }
    .point-wrap-title span.big::before {
        top: -1.4vw;
        font-size: 2.4vw;
    }
    .point-wrap-txt {
        font-size: 5vw;
        padding-left: 2vw;
        width: 100%;
        margin-top: 2vw;
    }
    .point-wrap-txt span {
        font-size: 7vw;
    }
    .point-img-2 {
        width: 100%;
        margin-top: 3vw;
    }
    .point-wrap-title span.note::before {
        bottom: -2.4vw;
        font-size: 2.4vw;
    }
    .point-wrap-2 .point-wrap-txt {
        padding-left: 2vw;
        margin-top: 2vw;
    }
    .point-img-3-wrap {
        width: 90vw;
        margin-top: 3vw;
    }
    .point-img-3 {
        width: 100%;
    }
    .point-option-wrap {
        margin: 26vw auto 0;
        height: 40vw;
    }
    .point-option-head .big {
        font-size: 10vw;
    }
    .point-option-head .middle {
        font-size: 4vw;
    }
    .point-option-head .middle-mini {
        font-size: 2.6vw;
    }
    .point-option-head .middle-big {
        font-size: 3.2vw;
    }
    .point-option-content-txt {
        font-size: 3.4vw;
        padding: 1vw 0 0 1vw;
    }
    .point-option-img-2 {
        width: 20vw;
    }
    .point-option-img-1 {
        top: -24vw;
        right: 7vw;
        width: 23vw;
    }
    .point-option-head {
        gap: 1vw;
        padding-bottom: 1vw;
    }
    .point-option-wrap-inner {
        gap: 1vw;
        padding: 0 1vw;
    }
}
/* ///////////////////////////////////////////////
support
//////////////////////////////////////////////// */
.support {
    background: #F4F4F4;
    padding: min(3.53vw,50.8px) 0 min(7.5vw,108px) 0;
}
.support h2 {
    margin: 0 auto;
    width: max-content;
}
.support-title {
    width: min(34.44vw,496px);
}
.support-inner {
    max-width: min(76.39vw,1100px);
    margin: min(4.86vw,70px) auto 0;
}
.support-top-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: min(5.35vw,77px);
}
.support-img-1 {
    width: min(25.14vw,362px);
}
.support-top-wrap-right {
    width: min(39.24vw,565px);
}
.support-top-wrap-title {
    font-size: min(2.14vw,30.75px);
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.8178;
    white-space: nowrap;
}
.support-top-wrap-title .big {
    font-size: min(3.47vw,50px);
    font-weight: 400;
    font-family: "Anton", sans-serif;
    color: #F4B015;
    letter-spacing: 0.05em;
    line-height: 1.118;
    position: relative;
    top: min(0.35vw,5px);
}
.support-top-wrap-txt {
    font-size: min(1.11vw,16px);
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 2.5;
    margin: min(2.08vw,30px) 0 0 0;
}
.support-flow-title {
    font-size: min(1.81vw,26px);
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1;
    margin: min(6.18vw,89px) auto 0;
    width: max-content;
}
.support-flow-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    gap: min(1.25vw,18px);
    margin: min(3.75vw,54px) auto 0;
    position: relative;
}
.support-flow-wrap::after {
    position: absolute;
    content: "";
    background: #fff;
    top: min(9.7vw,139.680px);
    left: 0;
    margin: 0 calc(50% - 50vw) ;
    width: 100vw;
    height: min(22.78vw,328px);
    z-index: 0;

}
.support-flow-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: min(1.39vw,20px);
    position: relative;
    background: #fff;
    width: min(14.24vw,205px);
    height: min(23.14vw,333.2px);
    filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.4));
    /*background: url(../img/support-flow-card-1.png) no-repeat;
    width: 16.18vw;
    background-size: cover;*/
}
.support-flow-card::after {
    content: "";
    position: absolute;
    top: min(3.4vw,49px);
    right: max(-1.78vw, -25.632px);
    background: #fff;
    width: min(1.83vw,26.3px);
    height: min(3.68vw,53px);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.support-flow-card-step {
    font-size: min(1.25vw,18px);
    font-weight: 400;
    font-family: "Anton", sans-serif;
    color: #F4B015;
    line-height: 1;
    letter-spacing: 0.05em;
    padding-bottom: min(0.56vw,8px);
    
}
.support-flow-img {
    width: min(9.17vw,132px);
    margin: min(1.6vw,23px) auto 0;
}
.support-flow-card-title {
    font-size: min(1.32vw,19px);
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1;
    width: max-content;
    margin: 0 auto;
}
.support-flow-card-txt {
    font-size: min(1.04vw,15px);
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin: min(1.39vw,20px) auto 0;
    padding: 0 min(1.04vw,15px) 0 min(1.18vw,17px);
}
.support-flow-card-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
.support-flow-card-deco-1 {
    position: absolute;
    top: 0;
    right: max(-1.32vw,-19px);
    width: min(1.83vw,26.352px);
    height: 100%;
    z-index: 1;
}
.support-flow-card-deco-2 {
    position: absolute;
    top: 0;
    right: min(0.42vw,6px);
    width: min(0.07vw,1px);
    height: 100%;
    z-index: 1;
}
.support-flow-card-sort-1 {
    position: relative;
    z-index: 5;
}
.support-flow-card-sort-2 {
    position: relative;
    z-index: 4;
}
.support-flow-card-sort-3 {
    position: relative;
    z-index: 3;
}
.support-flow-card-sort-4 {
    position: relative;
    z-index: 2;
}
.support-flow-card-sort-5 {
    position: relative;
    z-index: 1;
}
.support-flow-card-sort-5 .support-flow-card::after {
    display: none;
}
@media screen and (max-width:768px) { 
    .support {
        padding: 15vw 0;
    }
    .support-title {
        width: 80vw;
    }
    .support-inner {
        max-width: 90vw;
        margin: 10vw auto 0;
    }
    .support-top-wrap {
        flex-direction: column;
        gap:4vw
    }
    .support-img-1 {
        width: 70vw;
    }
    .support-top-wrap-title {
        font-size: 7vw;
        white-space: initial;
    }
    .support-top-wrap-right {
        width: 100%;
    }
    .support-top-wrap-title .big {
        font-size: 11vw;
        font-weight: 400;
        top: 1vw;
    }
    .support-top-wrap-txt {
        font-size: 4vw;
        line-height: 2.2;
        margin: 3vw 0 0 0;
    }
    .support-flow-title {
        font-size: 5vw;
        margin: 10vw auto 0;
        width: max-content;
        text-align: center;
        line-height: 1.4;
    }
    .support-flow-wrap {
        grid-template-columns: 1fr;
        gap: 7vw;
        margin: 5vw auto 0;
    }
    .support-flow-card {
        gap: 3vw;
        width: 100%;
        height: 30vw;
        flex-direction: initial;
    }
    .support-flow-card-step {
        font-size: 5vw;
        padding-bottom: 1vw;
    }
    .support-flow-img {
        width: 20vw;
        margin: 3vw 1vw;
    }
    .support-flow-card-title {
        font-size: 6vw;
    }
    .support-flow-card-txt {
        font-size: 4vw;
        margin: 2vw auto 0;
        padding: 0 1vw;
    }
    .support-flow-card::after {
        top: initial;
        bottom: -5.9vw;
        right: 11.9vw;
        background: #fff;
        width: 17vw;
        height: 6.7vw;
        clip-path: polygon(50% 100%, 0 0, 100% 0);
    }
    .support-flow-card-deco-1 {
        top: initial;
        bottom: -5vw;
        right: 0;
        width: 100%;
        height: 6vw;
    }
    .support-flow-card-deco-2 {
        position: absolute;
        top: initial;
        bottom: 0.8vw;
        right: 0;
        width: 100%;
        height: 0.3vw;
        z-index: 1;
    }
}
/* ///////////////////////////////////////////////
price
//////////////////////////////////////////////// */
.price {
    background: #FFF6B8;
    padding: min(6.67vw,96px) 0 min(6.88vw,99px) 0;
}
.price-inner {
    display: flex;
    align-items: center;
    margin: 0 auto;
    width: max-content;
    gap: min(4.03vw,58px);

}
.price-title {
    width: min(27.99vw,403px);
}
.price-wrap-left-txt {
    font-size: min(1.39vw,20px);
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.75;
    margin: min(2.08vw,41px) 0 0 0;
}
.price-wrap-left-txt-2 {
    font-size: min(1.25vw,18px);
    font-weight: 400;
    letter-spacing: 0.05em;
    text-align: right;
    margin: min(0.69vw,10px) 0 0 0;
}
.price-wrap-right {
    background: #fff;
    width: min(32.01vw,461px);
    height: min(16.67vw,240px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 min(0.82vw,11.8px) 0 min(1.72vw,24.8px);
}
.price-wrap-right-inner {
    display: flex;
    align-items: center;
    gap: min(1.97vw,28.3px);
}
.price-wrap-right-inner:nth-of-type(1) {
    border-bottom: 1.15px solid #F49C2D;
}
.price-wrap-right-tag {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #3E3A39;
    width: min(8.19vw,118px);
    height: min(2.57vw,37px);
    font-size: min(1.11vw,15.93px);
    font-weight: 600;
    letter-spacing: 0.05em;
}
.price-wrap-right-txt {
    font-size: min(1.83vw,26.31px);
    font-weight: 600;
    letter-spacing: 0.05em;
}
.price-wrap-right-txt .big {
    font-size: min(4.92vw,70.84px);
    font-weight: 400;
    font-family: "Anton", sans-serif;
    letter-spacing: 0.02em;
}
.price-wrap-right-txt .mini {
    font-size: min(0.7vw,10.12px);
}

@media screen and (max-width:768px) { 
    .price {
        padding: 10vw 0;
    }
    .price-inner {
        flex-direction: column;
        gap: 4vw
    }
    .price-title {
        width: 80vw;
    }
    .price-wrap-left-txt {
        font-size: 3.4vw;
        margin: 4vw 0 0 0;
    }
    .price-wrap-left-txt-2 {
        font-size: 3vw;
        margin: 1vw 0 0 0;
    }
    .price-wrap-right {
        width: 100%;
        height: 31vw;
        padding: 0 2vw;
    }
    .price-wrap-right-tag {
        width: 28vw;
        height: 9vw;
        font-size: 4vw;
    }
    .price-wrap-right-txt .big {
        font-size: 10vw;
    }
    .price-wrap-right-txt {
        font-size: 6vw;
    }
    .price-wrap-right-txt .mini {
        font-size: 3vw;
    }
    .price-wrap-right-inner {
        gap: 5vw;
    }
}
/* ///////////////////////////////////////////////
cta
//////////////////////////////////////////////// */
.cta {
    padding: min(12.01vw,173px) 0 min(4.51vw,65px) 0;
}
.cta h2 {
    width: min(33.39vw,480.812px);
    padding-left: min(21.39vw,308px);
}
.cta-title-img {
    width: min(28.82vw,415px);
}
.cta-title-txt {
    font-size: min(2.33vw,33.51px);
    font-weight: 900;
    letter-spacing: 0.05em;
    color: #F4B015;
    line-height: 1;
}
.cta-title-txt-2 {
    font-size: min(1.11vw,16px);
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.8125;
    margin: min(1.74vw,25px) 0 0 0;
    text-align: justify;
}
.cta-link-wrap {
    background: #F4B015;
    width: min(76.39vw,1100px);
    height: min(10.42vw,150px);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: min(2.57vw,37px);
    margin: min(2.78vw,40px) auto 0;
    position: relative;
}
.cta-link-wrap .kv-contact,
.cta-link-wrap .kv-line {
    width: min(27.64vw,398px);
}
.cta-img-1 {
    position: absolute;
    top: max(-20.14vw,-290px);
    right: min(9.69vw,139.5px);
    width: min(22.99vw,331px);
}
@media screen and (max-width:768px) { 
    .cta-link-wrap {
        width: 90vw;
        height: 40vw;
        flex-direction: column;
        gap: 4vw;
        margin: 21vw auto 0;
    }
    .cta-link-wrap .kv-contact,
    .cta-link-wrap .kv-line {
        width: 75%;
    }
    .cta-title-txt {
        font-size: 10vw;
        line-height: 1.3;
        text-align: center;
    }
    .cta h2 {
        width: 90vw;
        padding-left: 0;
        margin: 0 auto;
    }
    .cta-title-img {
        width: 63vw;
        margin: 0 auto -4vw;
    }
    .cta-title-txt-2 {
        font-size: 4vw;
    }
    .cta-img-1 {
        top: -21vw;
        right: 10vw;
        width: 25vw;
    }
}


/* ///////////////////////////////////////////////
feature
//////////////////////////////////////////////// */
.feature {
    padding: min(4.51vw,65px) 0 0 0;
}
.feature h2 {
    width: min(33.72vw,485.5px);
    margin: 0 auto;
}
.feature-inner {
    width: min(76.53vw,1102px);
    margin: min(4.17vw,60px) auto 0;
}
.feature-inner-title {
    background: #fff;
    font-size: min(1.63vw,23.45px);
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #F4B015;
    text-align: center;
    width: min(19.44vw,280px);
    flex-shrink: 0;
}
.feature-inner-title-wrap {
    display: flex;
    align-items: center;
}
.feature-inner-title-wrap.margin {
    margin-top: min(3.13vw,45px);
}
.feature-inner-line {
    height: min(0.14vw,2px);
    width: 100%;
    position: relative;
    top: min(0.35vw,5px);
    left: 0%;
    background: #3E3A39;
}
.feature-card-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: min(4.03vw,58px);
    margin: min(2.15vw,31px) auto 0;
}
.feature-card {
    display: flex;
    flex-direction: column;
    gap: min(1.84vw,26.5px);
}
.feature-img-1 {
    border: 1px solid #3E3A39;
}
.feature-card-title {
    font-size: min(1.32vw,19px);
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1;
}
.feature-card-txt {
    font-size: min(1.11vw,16px);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.875;
    white-space: nowrap;
}
.feature-etc {
    background: #FFF6B8;
    padding: min(5.49vw,79px) 0 min(7.78vw,112px) 0 ;
    margin-top: min(3.13vw,45px);
}
.feature-etc-title {
    font-size: min(2.15vw,31px);
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    text-align: center;
}
.feature-etc-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    gap: min(1.18vw,17px);
    width: max-content;
    margin: min(3.47vw,50px) auto 0;
}
.feature-etc-card {
    background: #fff;
    box-shadow : 3px 3px 5px rgba(0, 0, 0, 0.4);
    width: min(12.71vw,183px);
    height: min(12.71vw,183px);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.feature-etc-img {
    width: min(6.03vw,86.8px);
    margin: min(1.25vw,18px) auto 0;
}
.feature-etc-card p { 
    font-size: min(1.32vw,19px);
    font-weight: 900;
    letter-spacing: 0.05em;
    text-align: center;
    margin-top: min(1.53vw,22px);
    line-height: 1.315;
}
.feature-etc-card p.margin { 
    margin-top: min(0.49vw,7px);
}
@media screen and (max-width:768px) { 
    .feature {
        padding: 15vw 0 0 0;
    }
    .feature h2 {
        width: 80vw;
    }
    .feature-inner-title {
        font-size: 6vw;
        width: max-content;
    }
    .feature-card-wrap {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10vw;
        margin: 4vw auto 0;
    }
    .feature-inner {
        width: 90vw;
        margin: 5vw auto 0;
    }
    .feature-card-title {
        font-size: 6vw;
        margin-top: 2vw;
    }
    .feature-card-txt {
        font-size: 4vw;
        margin-top: 2vw;
    }
    .feature-inner-line {
        height: 0.2vw;
        top: 1vw;
    }
    .feature-etc {
        background: #FFF6B8;
        padding: 15vw 0 ;
        margin-top: 15vw;
    }
    .feature-etc-title {
        font-size: 6vw;
        line-height: 1.3;
    }
    .feature-etc-wrap {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 3vw;
        width: 90vw;
        margin: 10vw auto 0;
    }
    .feature-etc-card {
        width: 100%;
        height: 45vw;
    }
    .feature-etc-card p {
        font-size: 4vw;
        margin-top: 2vw;
    }
    .feature-etc-img {
        width: 50%;
        margin: 3vw;
    }
    .feature-etc-card p.margin {
        margin-top: 0.4vw;
    }
}

/* ///////////////////////////////////////////////
faq
//////////////////////////////////////////////// */
.faq {
    background: #F4F4F4;
    padding: min(3.68vw,53px) 0 min(5.07vw,73px) 0;
}
.faq h2 {
    width: min(24.1vw,347px);
    margin: 0 auto;
}
.faq-wrap {
    width: min(69.44vw,1000px);
    margin: min(3.19vw,46px) auto 0;
}
.faq-title-wrap {
    display: grid;
    grid-template-columns: 7.75% 1fr 6%;
    height: min(5.35vw,77px);
    position: relative;
    cursor: pointer;
    border-bottom: 1px solid #F4B015;
}
.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: #F4B015;
    height: min(1.81vw,26px);
    width: min(0.26vw,3.8px);
    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: #F4B015;
    height: min(0.26vw,3.8px);
    width: min(1.81vw,26px);
}
.faq-wrap.open .faq-title-btn {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
}
.faq-title-q {
    color: #F4B015;
    font-family: "Anton", sans-serif;
    font-size: min(2.79vw,40.19px);
    display: flex;
    align-items: center;
    justify-content: center;
}
.faq-title-txt {
    font-size: min(1.39vw,20px);
    font-weight: 500;
    letter-spacing: 0em;
    line-height: 1;
    display: flex;
    align-items: center;
}
.faq-title-a {
    font-family: "Anton", sans-serif;
    font-size: min(2.79vw,40.19px);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    top: max(-0.5vw,-7.685px);
}
.faq-answer-txt {
    font-size: min(1.11vw,16px);
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.875;
}
.faq-answer-txt .mini {
    font-size: min(0.9vw,13px);
}
.faq-answer {
    display: grid;
    grid-template-columns: 7.75% 1fr;
    align-items: flex-start;
    max-height: 0;
    overflow: hidden;   
    padding: 0;
}
.faq-wrap.open .faq-answer {
    max-height: 1000px;
    transition: max-height 0.5s ease-in;
    padding: min(1.81vw,26px) 0;
    border-bottom: 1px solid #F4B015;
}
.faq .faq-wrap:nth-of-type(n + 2) {
    margin-top: 0vw;
}

@media screen and (max-width:768px) { 
    .faq {
        padding: 10vw 0;
    }
    .faq h2 {
        width: 80vw;
    }
    .faq-wrap {
        width: 90vw;
        margin: 10vw auto 0;
    }
    .faq-title-q {
        font-size: 5vw;
    }
    .faq-title-txt {
        font-size: 4vw;
        line-height: 1.4;
    }
    .faq-title-wrap {
        height: 20vw;
    }
    .faq-title-btn::before {
        height: 4vw;
        width: 0.2vw;
    }
    .faq-title-btn::after {
        height: 0.2vw;
        width: 4vw;
    }
    .faq-title-a {
        font-size: 5vw;
        top: -1vw;
    }
    .faq-answer-txt {
        font-size: 4vw;
    }
    .faq-answer-txt .mini {
        font-size: 2vw;
        display: inline-block;
        line-height: 1.4;
    }
}
/* ///////////////////////////////////////////////
voice
//////////////////////////////////////////////// */
.voice {
    padding: min(3.96vw,57px) 0 min(5.56vw,80px) 0;
    background: #fff;
}
.voice h2 {
    width: min(27.64vw,398px);
    margin: 0 auto;
}
.CMS-NEWS-INDEX {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    width: min(70.83vw,1020px);
    margin: min(5.97vw,86px) auto 0;
    gap: min(2.57vw,37px);
}
.CMS-NEWS-ITEM {
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.4);
    background: #fff;
    min-height: min(25.42vw,366px);
}
.CMS-NEWS-LINK {
    padding: min(1.39vw,20px) min(1.18vw,17px) 0;
    min-height: min(5.21vw,75px);
    font-size: min(1.11vw,16px);
    font-weight: 500;
    letter-spacing: 0.02em;
}
.CMS-NEWS-TIME {
    text-align: right;
    padding: min(2.43vw,35px) min(1.18vw,17px) min(1.15vw,16.5px);
    font-size: min(1.11vw,16px);
    font-weight: 500;
    letter-spacing: 0.02em;
}
.CMS-NEWS-MORE-READ {
    display: none;
}
.CMS-NEWS-THUMBNAIL {
    width: min(21.88vw,315px);
    height: min(13.96vw,201px);
    object-fit: cover;
}

.CMS-ARTICLE-INDEX {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    width: min(70.83vw,1020px);
    margin: min(5.97vw,86px) auto 0;
    gap: min(2.57vw,37px);
}
.CMS-ARTICLE-ITEM {
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.4);
    background: #fff;
    min-height: min(25.42vw,366px);
}
.CMS-ARTICLE-LINK {
    padding: min(1.39vw,20px) min(1.18vw,17px) 0;
    min-height: min(5.21vw,75px);
    font-size: min(1.11vw,16px);
    font-weight: 500;
    letter-spacing: 0.02em;
}
.CMS-ARTICLE-TIME {
    text-align: right;
    padding: min(2.43vw,35px) min(1.18vw,17px) min(1.15vw,16.5px);
    font-size: min(1.11vw,16px);
    font-weight: 500;
    letter-spacing: 0.02em;
}
.CMS-ARTICLE-MORE-READ {
    display: none;
}
.CMS-ARTICLE-THUMBNAIL {
    width: min(21.88vw,315px);
    height: min(13.96vw,201px);
    object-fit: cover;
}


@media screen and (max-width:768px) { 
    .voice {
        padding: 10vw 0;
    }
    .voice h2 {
        width: 80vw;
        margin: 0 auto;
    }
    .CMS-NEWS-INDEX {
        display: grid;
        grid-template-columns: 1fr;
        width: 90vw;
        margin: 10vw auto 0;
        gap: 5vw;
    }
    .CMS-NEWS-ITEM {
        min-height: initial;
    }
    .CMS-NEWS-THUMBNAIL {
        width: 100%;
        height: initial;
        object-fit: cover;
    }
    .CMS-NEWS-LINK {
        padding: 2vw 2vw 0;
        min-height: min(5.21vw,75px);
        font-size: 4vw;
        font-weight: 500;
        letter-spacing: 0.02em;
    }
    .CMS-NEWS-TIME {
        text-align: right;
        font-size: 3vw;
        font-weight: 500;
        letter-spacing: 0.02em;
    }
    .CMS-NEWS-LINK-CONTENT {
        width: 100%;
    }

    .CMS-ARTICLE-INDEX {
        display: grid;
        grid-template-columns: 1fr;
        width: 90vw;
        margin: 10vw auto 0;
        gap: 5vw;
    }
    .CMS-ARTICLE-ITEM {
        min-height: initial;
    }
    .CMS-ARTICLE-THUMBNAIL {
        width: 100%;
        height: initial;
        object-fit: cover;
    }
    .CMS-ARTICLE-LINK {
        padding: 2vw 2vw 0;
        min-height: min(5.21vw,75px);
        font-size: 4vw;
        font-weight: 500;
        letter-spacing: 0.02em;
    }
    .CMS-ARTICLE-TIME {
        text-align: right;
        font-size: 3vw;
        font-weight: 500;
        letter-spacing: 0.02em;
    }
    .CMS-ARTICLE-LINK-CONTENT {
        width: 100%;
    }

    
}
/* ///////////////////////////////////////////////
contact
//////////////////////////////////////////////// */
.contact {
    background: #fff;
    padding: min(5.56vw,80px) 0 min(6.04vw,87px);
}
.contact h2 {
    width: min(33.47vw,482px);
    margin: 0 auto;
}
.contact-inner {
    width: min(56.94vw,820px);
    margin: min(4.31vw,62px) auto 0;
}
.CMS-FORM-INPUT-LABEL,
.CMS-FORM-EMAIL-LABEL,
.CMS-FORM-TEXTAREA-LABEL {
    width: min(14.17vw,204px);
    display: inline-block;
    font-size: min(1.53vw,22px);
    font-weight: 500;
    letter-spacing: 0.03em;
    position: relative;
    margin-top: min(1.11vw,16px);
}
.CMS-FORM-INPUT,
.CMS-FORM-EMAIL {
    width: min(42.57vw,613px);
    height: min(4.17vw,60px);
    border: min(0.21vw,3px) solid #DBDBDB;
    padding: 0;
    font-size: min(1.25vw,18px);
}
.CMS-FORM-TEXTAREA {
    width: min(42.57vw,613px);
    height: min(9.79vw,141px);
    border: min(0.21vw,3px) solid #DBDBDB;
    padding: 0;
    font-size: min(1.25vw,18px);
}
.CMS-FORM-GROUP {
    display: flex;
    gap: min(1.2vw,17.280px);
}
.CMS-FORM-GROUP:nth-of-type(n + 2) {
    margin-top: min(1.81vw,26px);
}
.required {
    position: absolute;
    top: max(-2.14vw,-30px);
    left: 0;
    width: min(4.72vw,68px);
    height: min(1.81vw,26px);
    background: #F4B015;
    font-size: min(1.11vw,16px);
    font-weight: 500;
    letter-spacing: 0.03em;
    display: flex;
    justify-content: center;
    align-items: center;
}
.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: #F4B015;
    width: min(30.56vw,440px);
    height: min(6.15vw,88.5px);
    border: none;
    box-shadow : 2.88px 2.88px 2.88px rgba(0, 0, 0, 0.4);
    margin:  0 auto;
    font-size: min(1.73vw,24.98px);
    letter-spacing: 0.05em;
}
.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 {
    width: 100%;
    margin: min(2.64vw,38px) auto 0;
    border: 0.2rem solid #ccc;
    padding: min(1.53vw,22px);
    height: min(15.35vw,221px);
    overflow: auto;
    font-size: min(1.04vw,15px);
    letter-spacing: 0.03em;
    line-height: 1.6;
}
@media screen and (max-width:768px) { 
    .contact {
        padding: 10vw 0;
    }
    .contact h2 {
        width: 80vw;
        margin: 0 auto;
    }
    .contact-inner {
        width: 90vw;
        margin: 10vw auto 0;
    }
    .CMS-FORM-GROUP {
        flex-direction: column;
        gap: 1vw;
    }
    .CMS-FORM-INPUT,
    .CMS-FORM-EMAIL {
        width: 100%;
        height: 7vw;
        font-size: 18px;
    }
    .CMS-FORM-INPUT-LABEL, .CMS-FORM-EMAIL-LABEL, .CMS-FORM-TEXTAREA-LABEL {
        width: 100%;
        font-size: 4vw;
        margin-top: 6vw;
    }
    .required {
        top: -4vw;
        width: 9vw;
        height: 4vw;
        font-size: 2.4vw;
    }
    .not-required {
        top: -4vw;
        width: 9vw;
        height: 4vw;
        font-size: 2.4vw;
    }
    .CMS-FORM-TEXTAREA {
        width: 100%;
        height: 40vw;
        font-size: 18px;
    }
    .CMS-FORM-GROUP:nth-of-type(n + 2) {
        margin-top: 3vw;
    }
    .CMS-FORM-GROUP input[type="submit"] {
        background: #F4B015;
        width: 70vw;
        height: 13vw;
        font-size: 5vw;
        color: #3E3A39;
        border-radius: 0;
    }
    .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: 3vw auto 0;
        border: 0.2rem solid #ccc;
        padding: 2vw;
        overflow: auto;
        font-size: 3vw;
        letter-spacing: 0.03em;
        line-height: 1.6;
    }

}  
/* ///////////////////////////////////////////////
footer
//////////////////////////////////////////////// */
.footer {
    background: #3E3A39;
}
.footer-logo {
    width: min(13.61vw,196px);
    margin-left: min(11.94vw,172px);
}
.footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: min(2.78vw,40px) 0 0 0;
}
.footer-link-wrap {
    display: flex;
    flex-direction: column;
}
.footer-link-wrap p {
    color: #fff;
    font-size: min(1.04vw,15px);
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1;
}
.footer-link-wrap a {
    background: #fff;
    color: #3E3A39;
    font-size: min(1.2vw,17.28px);
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1;
    width: min(16.6vw,239px);
    height: min(3.92vw,56.5px);
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow : 1.84px 1.84px 1.84px rgba(0, 0, 0, 0.7);
    margin-top: min(1.11vw,16px);
    position: relative;
}
.footer-link-wrap a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: min(1.39vw,20px);
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    background: url(../img/icon-btn-yellow.png) no-repeat;
    background-size: contain;
    width: min(0.53vw,7.6px);
    height: min(1.04vw,15px);
}
footer small {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #fff;
    text-align: center;
    margin: min(1.32vw,19px) auto 0;
    padding-bottom: min(1.6vw,23px);
    display: block;
}
@media screen and (max-width:768px) { 
    .footer-inner {
        padding: 10vw 0 0 0;
        flex-direction: column;
        justify-content: initial;
        gap: 10vw;
    }
    .footer-logo {
        width: 60vw;
        margin-left: 0;
    }
    .footer-link-wrap p {
        font-size: 4vw;
    }
    .footer-link-wrap a {
        font-size: 4vw;
        width: 100%;
        height: 9vw;
        margin-top: 2vw;
    }
    .footer-link-wrap a::after {
        right: 3vw;
        width: 1.6vw;
        height: 3.2vw;
    }
    footer small {
        margin: 6vw auto 0;
        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: #FFF6B8;
    padding-top: min(8.4vw,121px);
}
.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;
    }
}
/* ///////////////////////////////////////////////
newsdetail
//////////////////////////////////////////////// */
.newsdetail-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;
}
.newsdetail {
    background: #FFF6B8;
    padding-top: min(8.4vw,121px);
}
.CMS-ARTICLE-TITLE {
    text-align: left;
    font-size: min(1.6vw,23px);
    font-weight: 700;
}
.CMS-ARTICLE-CONTENT {
    text-align: left;
    font-size: min(1.4vw,20px);
    font-weight: 500;
    margin-top: min(1.39vw,20px);
}
@media screen and (max-width:768px) { 
    .newsdetail-inner {
        width: 90vw;
        font-size: 4vw;
        line-height: 2;
        padding: 15vw 0;
    }
    .CMS-ARTICLE-TITLE {
        font-size: 5vw;
    }
    .CMS-ARTICLE-CONTENT {
        font-size: 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;
    }
}




