
html,
body,
div,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
img,
dl,
dt,
dd,
ol,
ul,
li,
strong,
sub,
sup,
i,
small,
address,
time,
fieldset,
form,
label,
legend,
hr,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
header,
footer,
nav,
section,
article,
aside,
figure,
figcaption,
canvas,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font-style: normal;
    font-weight: normal;
    vertical-align: baseline;
    }

article,
aside,
figure,
figcaption,
footer,
header,
nav,
section {
    display: block;
}

a{
    text-decoration: none;
}

*,
*::before,
*::after {
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

ul,
ol,
li {
    list-style: none;
    }

input,
textarea,
button {
    margin: 0;
    padding: 0;
    font-size: 100%;
}

input[type="submit"],
input[type="button"],
button {
    cursor: pointer;
}

button{
    -webkit-appearance: none;
    appearance: none;
    border: none;
    background-color: transparent;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}

.clearfix::after {
    display: block;
    clear: both;
    content: "";
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

body{
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05rem;
    line-height: 1.75;
}

main{
    width: 100%;
    overflow: hidden;
}

/* ヘッダー */
.site-header {
    background: #fff;
    border-bottom: 2px solid #c00;
    position: fixed;
    z-index: 99;
    width: 100%;
  }
  
  .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1600px;
    margin-left: auto;
    
    height: 80px;
  }

  .header-nav {
    position: relative;
    z-index: 99;
  }

  
  .header-nav .nav-list {
    display: flex;
    align-items: center;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0;
    padding-top: 10px;
  }
  
  .header-nav .nav-list li img {
    width: 250px;
    cursor: pointer;
    transition: opacity 0.2s;
  }
  
  .header-nav .nav-list li img:hover {
    opacity: 0.8;
  }



  .nav-list li {
    font-weight: bold;
    font-size: 20px;
  }

  .nav-list li span {
    color: #CC0000;
  }

.nav-list li:nth-child(1){
    border-right: solid 1px #000;
    padding-right: 10px;
}

.u-inline_block{
    display: inline-block;
}

.u-pc_block{
    display: block;
}
@media (max-width: 820px) {
    .u-pc_block{
        display: none;
    }
}
.u-sp_block{
    display: none;
}
@media (max-width: 820px) {
    .u-sp_block{
        display: block;
    }
}

.u-color__orange{
    color: #FFA700;
}
.u-color__green{
    color: #06C755;
}

/* layout */

.l-container{
    max-width: 960px;
    width: 90%;
    margin: 0 auto;
}

/* common */
.c-title{
    text-align: center;
    font-size: 40px;
    color: #fff;
    font-weight: 700;
}


@media (max-width: 720px) {
    .c-title{
        font-size: 30px;
    }
}

.c-cta__btn{
    max-width: 449px;
    display: inline-block;
    position: relative;
}
.c-cta__btn::after{
    content: "";
    background-image: url(../images/cta_arrow.png);
    width: 80px;
    height: 8px;
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    position: absolute;
    right: -10%;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transition: 0.5s;
}

.c-cta__btn:hover::after {
    right: -15%; /* ホバー時に右にスライドさせる */
    transform: translateY(-50%);
}
.c-cta__btn.--white::after {
    position: relatiave;
}

.c-cta__btn.--white::after {
    position: absolute;
    filter: invert(1) grayscale(1);
    top: 45%;
}


@media (max-width: 820px) {
    .c-cta__btn{
        /* width: 90%; */
        margin-right: auto;
        display: block;
        margin-left: 0;
    }
    .c-cta__btn::after{
        right: -9%;
        width: 50px;
        height: 6px;
    }
    .p-recommend__cta{
        width: 90%;
        margin-top: 20px;
    }
    .c-cta__btn.--white{
        width: 90%;
    }
}

.c-cta__btn:hover::before{
    width: 98%; 
    top: 2%;
}

.c-cta__btn_wrap a{
    overflow: hidden;
    position: relative;
    display: block;
    transition: ease 0.5s;
}

.c-cta__btn_wrap a:hover{
    transform: translate(0, 3px);
}

.c-cta__btn_wrap a::before {
	position: absolute;
	content: '';
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fff;
	transition: 1s;
	animation: shiny-btn1 3s ease-in-out infinite;
}


/* ボタンを光らせるアニメーション */
@-webkit-keyframes shiny-btn1 {
	0% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0;
	}
	80% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 1;
	}

	81% {
		-webkit-transform: scale(4) rotate(45deg);
		opacity: 1;
	}

	100% {
		-webkit-transform: scale(50) rotate(45deg);
		opacity: 0;
	}
}

/* fv */
.p-fv{
    /* width: 1920px; */
    height: 1100px;
    background-color: #E16B6C;
    position: relative;
    width: 100%;
    margin-top: -70px;
    padding-top: 107px;
}
.p-fv h1 img{
    object-fit: cover;
    margin: 0 auto;
    width: 1920px;
    height: 1100px;
    position: absolute;
    z-index: 0;
}

@media screen and (max-width: 820px) {
    .p-fv{
        height: 196.53vw;
        padding-top: 82px;
    }
    .p-fv h1 img{
        width: 100%;
        height: auto;
    }
    
}

.fv_block {
    position: absolute;
    bottom: -8%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.fv_block .fv_txt {
    text-align: center;
    font-size: 29px;
    color: #fff;
    font-weight: bold;
    margin-bottom: 20px;
}

.fv_block .fv_txt span {
    color: #FDFF00;
}

.p-fv_btnset{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 960px;
    margin: 0 auto;

}

.c-btnset{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 960px;
    margin: 0 auto;
    margin-top: 20px;
}

.c-btn_cta{
    background-color: #fff;
    font-size: 40px;
    border-radius: 15px;
    font-weight: 600;
    text-align: center;
    width: 48%;
    padding: 14px;
    position: relative;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
    transition: 0.5s;
}
.c-btn_cta:hover{
    box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
    transform: scale(1.03);
}


.p-fv_btnset .c-btn_cta{
    background-color: #fff;
}
.c-btnset .c-btn_mail{
    background-color: #FFA700;
}
.c-btnset .c-btn_line{
    background-color: #06C755;
}

.c-btn_cta_text{
    font-weight: 600;
    color: #333;
    line-height: 51px;
    font-size: 30px;
}
.c-btnset .c-btn_cta_text{
    color: #fff;
}

.c-btn_cta_text small{
    font-size: 24px;
    font-weight: 600;
}


.c-mail_icon{
    width: 77px;
    height: 77px;
    background-color: #FFA700;
    z-index: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.c-line_icon{
    width: 77px;
    height: 77px;
    background-color: #06C755;
    z-index: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}


.c-btn_cta_icon{
    position: absolute;
    left: -20px;
    top: -20px;
}

.c-btnset .c-btn_cta_icon{
    border: solid 3px #fff;
}
@media screen and (max-width: 1000px) {

    .p-fv_btnset{
        max-width: 90%;
    }
    .c-btnset{
        max-width:  100%;
    }
        
}
@media screen and (max-width: 720px) {

    .p-fv_btnset{
    width: 90%;
    bottom: 10%;
    }
    
    .c-btn_cta{
        font-size: 20px;
        border-radius: 20px;
        padding: 10px 20px;
    }

    .c-btnset{
        width: 100%;
    }
    .c-btnset .c-btn_mail{
        font-size: 24px;
    }
    .c-btnset .c-btn_line{
        font-size: 24px;
    }
    
    .c-btn_cta_text{
        line-height: 1.5rem;
        letter-spacing: normal;
    }
    .c-btn_cta_text small{
        font-size: 16px;
    }
    .c-mail_icon{
        width: 47px;
        height: 47px;
    }
    .c-line_icon{
        width: 47px;
        height: 47px;
    }
    .c-mail_icon img{
        width: 26px;
    }
    .c-line_icon img{
        width: 29px;
    }

    .c-btn_cta_icon{
        left: -8px;
    }

    .c-btn_cta .u-color__orange,.c-btn_cta  .u-color__green{
        font-size: 24px;
    }
    .c-btnset .c-btn_cta_text{
        font-size: 20px;
    }
    .c-btnset .c-btn_cta_text span{
        font-size: 24px;
    }
    .c-btnset .c-btn_cta_icon{
        border: solid 2px #fff;
    }
    
}

.c-btn_link{
    background-color: #E5E5E5;
    font-size: 30px;
    font-weight: 600;
    width: 100%;
    border-radius: 10px;
    padding: 20px 40px;
    text-align: center;
    margin-top: 20px;
    color: #333;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
    transition: 0.5s;
    display: block;
}
.c-btn_link:hover{
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
    transform: scale(1.03);
}

.c-btn_link::after{
    content: "";
    display: inline-block;
    background-image: url(../images/arrow.png);
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-size: contain;
    margin-left: 10px;
}

@media screen and (max-width: 820px) {
    .c-btn_link{
        margin-top: 15px;
    }
}

.c-btn_link span{
    color: #CC0000;
}

.c-btn_link small{
    font-size: 24px;
    font-weight: 600;
}

@media screen and (max-width: 720px) {
    .c-btn_link{
        font-size: 16px;
        padding: 10px;
        letter-spacing: 0.05em;
    }
    .c-btn_link::after{
        width: 12px;
        height: 12px;
    }
}


.p-underfv{
    padding: 70px 0;
    text-align: center;
    background-image:url(../images/under_fv_bg.png);
    background-size: cover;
    background-position: center 100%;
    background-repeat: no-repeat;
    padding-top: 200px;
}

.p-underfv img{
    max-width: 960px;
    margin: 0 auto;
    display: block;
}
@media screen and (max-width: 820px) {
    .p-underfv{
        background-size: 170% 100%;
        background-position: center 80%;
        padding: 80px 0;
        padding-bottom: 0px;

    }
    .p-underfv img{
        width: 90%;
        margin: 0 auto;
        display: block;
    }
    .p-underfv .c-subtitle{
        margin-bottom: 20px;
    }
}
.c-subtitle{
    font-size: 40px;
    color: #fff;
    font-size: 40px;
    text-align: center;
    font-weight: 600;
}
@media screen and (max-width: 768px) {
    .c-subtitle{
        font-size: 18px;
        margin-bottom: 20px;
    }
}

.c-subtitle{
    content: "";
    position: relative;
    display: inline-block;
    margin-bottom: 50px;
}

.c-subtitle::before{
    content: "";
    background-image: url(../images/subtit_deco_l.png);
    left: 0;
    width: 35px;
    height: 56px;
    position: absolute;
    
    background-size: contain;
    background-repeat: no-repeat;
    left: -10%;
    bottom: 0;
    display: inline-block;
}
.c-subtitle::after {
    content: "";
    background-image: url(../images/subtit_deco_l.png);
    position: absolute;
    width: 35px;
    height: 56px;
    background-size: contain;
    background-repeat: no-repeat;
    right: -9%;
    bottom: 0;
    transform: scaleX(-1); /* 水平方向に反転 */
}
@media screen and (max-width: 820px) {
    .c-subtitle::before,.c-subtitle::after {
        width: 16px;
        height: 25px;
    }
}

.p-cta{
    padding-top: 60px;
}
@media screen and (max-width: 820px) {
    .p-cta{
        padding-top: 30px;
    }
}

.p-cta_omakase{
    border: solid 3px #CC0000;
    border-radius: 20px;
    padding-bottom: 30px;
    max-width: 960px;
    display: block;
    margin: 0 auto;
}
.p-cta_omakase_text .--red{
    font-size: 34px;
    background-color: #CC0000;
    display: inline;
    border-radius: 50vw;
    color: #fff;
    font-weight: 600;
    padding: 15px 30px;
    padding-top: 10px;
}
.p-cta_omakase_text .--red small{
    font-size: 24px;
    font-weight: 600;
}

.p-cta_omakase_text{
    font-size: 44px;
    display: inline;
}

.p-cta_omakase .--big{
    font-size: 54px;
    display: inline;
    font-weight: 600;
}

.p-cta_omakase_fukidashi{
    color: #fff;
    background-color: #000;
    display: block;
    font-size: 24px;
    padding: 5px 10px;
    border-radius: 50vw;
    width: 300px;
    text-align: center;
    position: relative;
    top: -25px;
    margin: 0 auto;
}

.p-cta_omakase_fukidashi:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 10px solid #000;
}

.p-cta_omakase__inner{
    max-width: 840px;
    margin: 0 auto;
    font-size: 30px;
    font-weight: 600;
}

@media screen and (max-width: 720px) {
    .p-cta_omakase{
        padding: 0px 2px 20px 20px;
    }
.p-cta_omakase_fukidashi{
    width: 200px;
    font-size: 18px;
    top: -20px;
}

.p-cta_omakase_fukidashi:before {
    border: 8px solid transparent;
    border-top: 8px solid #000;
}

.p-cta_omakase_text{
    font-size: 20px;
}

.p-cta_omakase_text .--red{
    display: block;
    width: 180px;
    margin: 0 auto;
    font-size: 28px;
}
.p-cta_omakase_text .--red small{
    font-size: 20px;
}

.p-cta_omakase .--big{
    font-size: 6.59vw;
}
.p-cta_omakase__inner{
    font-size: 4.71vw;
    letter-spacing: normal;
    letter-spacing: 0.05em;
}

}

.p-service{
    text-align: center;
    background-color: #FAFAF4;
    padding: 120px 0;
    border-top-left-radius: 170px;
    margin-top: 120px;
}
.p-service .c-subtitle,.p-option .c-subtitle{
    color: #333;
    font-size: 40px;
    text-align: center;
    margin-bottom: 0px;
}
@media screen and (max-width: 820px) {
    .p-service{
        padding: 70px 0;
        margin-top: 70px;
        border-top-left-radius: 70px;
    }
    .p-service .c-subtitle,.p-option .c-subtitle{
        font-size: 18px;
    }
}


.p-service .c-subtitle::before,.p-option .c-subtitle::before{
    content: "";
    background-image: url(../images/subtit_deco_l_red.png);
}
.p-service .c-subtitle::after,.p-option .c-subtitle::after{
    content: "";
    background-image: url(../images/subtit_deco_l_red.png);
}

.c-title{
    font-size: 60px;
    font-weight: 700;
    color: #333;
}

.c-title span{
    color: #CC0000;
}

.c-title span{
    color: #CC0000;
}
.c-title span.--big{
    font-size: 70px;
}
@media screen and (max-width: 1000px) {
    .c-title{
        font-size: 40px;
    }
    
    .c-title span.--big{
        font-size: 60px;
    } 
}

@media screen and (max-width: 720px) {
    .c-title{
        font-size: 30px;
    }
    
    .c-title span.--big{
        font-size: 40px;
    } 
}

.p-service__list{
    max-width: 1440px;
    margin-left: 0;
    margin-right: auto;
    display: block;
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}


.p-service__list:nth-of-type(2n){
    margin-left: auto;
    margin-right: 0;
}

.p-service__list picture{
    max-width: 960px;
    width: 75%;
    display: inline-block;
    margin-left: -5px;
}

.p-service__list:nth-of-type(2n) picture{
    margin-right: -5px;
}

@media screen and (max-width: 820px) {
    .p-service__list picture{
        width: 110%;
    }

    .p-service__list:nth-of-type(2n) picture{
        order: 1;
    }
    .p-service__list .p-service__list__text{
        order: 2;


    }
}

.p-service__list__text{
    max-width: 410px;
    text-align: left;
    margin-left: 70px;
    position: relative;
}

.p-service__list:nth-of-type(2n) .p-service__list__text{
    margin-right: 70px;
}
.p-service__list__text h3{
    font-size: 30px;
    color: #CC0000;
    font-weight: 600;
    margin-bottom: 20px;
}

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

    .p-service__list{
        flex-direction: column;
        width: 96%;
        margin-bottom: 30px;
    }
    .p-service__list__text{
        margin-left: 30px;
        margin-right: 10px;
        width: 95%;
        min-height: 100px;
    }
    .p-service__list__text h3{
        font-size: 28px;
        letter-spacing: normal;
        text-align: center;
        margin-bottom: 8px;
    }

    .p-service__list:nth-of-type(2n) .p-service__list__text{
        margin-right: 20px;
    }
    .p-service__list p{
        font-size: 14px;
        line-height: 1.8rem;
        letter-spacing: 0.05em;
    }
    
    }

.p-service__cotent{
    margin-top: 50px;
}

.p-service__list__text .--num{
    font-size: 198px;
    line-height: 198px;
    color: #CC0000;
    font-family: Montserrat;
    font-weight: 600;
    opacity: 0.05;
    position: absolute;
    right: 6%;
    top: -29%;
}
@media screen and (max-width: 820px) {
    .p-service__cotent{
        margin-top: 30px;
    }
    

    .p-service__list__text .--num{
        font-size: 120px;
        top: -39%;
        font-weight: 600;
        right: -2%;
    }
    .p-service__list:nth-of-type(2n) .p-service__list__text .--num{
        left: -2%;
    }

}

.p-btn_link_sample{
    font-size: 30px;
    display: flex;
    align-items: center;
    width: 800px;
    margin: 0 auto;
    padding-left: 250px;
    position: relative;
    margin-bottom: 60px;
}
.p-btn_link_sample div{
    font-weight: 600;
}
.p-btn_link_sample img{
    position: absolute;
    left: 6%;
}

.c-btn_link.p-btn_link_sample::after{
    width: 24px;
    height: 24px;
}

@media screen and (max-width: 820px) {
    .p-btn_link_sample{
        font-size: 18px;
        width: 85%;
        padding-left: 0;  
    }
    .p-btn_link_sample div{
        margin-left: auto;
        text-align: left;
    }
    .p-btn_link_sample small{
        font-size: 14px;
        color: #000;
    }

    .p-btn_link_sample span{
        width: 52%;
        margin-left: auto;
    }
    .c-btn_link.p-btn_link_sample::after{
        position: absolute;
        width: 12px;
        height: 12px;
        right: 7%;
        bottom: 22%;
    }
    .p-btn_link_sample img{
        position: absolute;
        left: 3%;
        width: 117px;
    }
    
    
    }


table{
    max-width: 960px;
    width: 100%;
    background-color: #fff;
    margin: 0 auto;
    border-radius: 10px;
    overflow: hidden;
    border: solid 1px #E5E5E5;
    box-sizing: border-box;
    box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
}

tr{
    border: solid 1px #E5E5E5;
}

th{
    font-size: 16px;
    font-weight: 600;
    background-color: #F2F2F2;
    padding: 15px;
    width: 20%;
    vertical-align: middle;
    
}
td{
    text-align: left;
    padding-left: 20px;
    padding: 15px;
}

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

    table{
        width: 86%;
    }
    th,td{
        font-size: 14px;
    }
    th{
        letter-spacing: 0;
        padding: 10px 1px;
    }
    }

.p-option{
    text-align: center;
    padding-top: 120px;
    position: relative;
    background-color: #fff;
    border-top-left-radius: 170px;
}

.p-option::after{
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #FFFFDE;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
@media screen and (max-width: 820px) {
    .p-option {
        padding-top: 70px;
    }
    
    .p-option::after{
        border-top-right-radius: 70px;
    }
}
.p-option .l-container{
    z-index: 1;
    position: relative;
}

.p-option .c-subtitle{
    color: #333;
}
.p-option__text{
    text-align: left;
    margin-top: 70px;
    line-height: 1.7em;
}
@media screen and (max-width: 820px) {
    .p-option__text{
        margin-top: 30px;
        font-size: 14px;
        line-height: 1.6rem;
    }
}
.p-option__content{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 90px;
}
@media screen and (max-width: 820px) {
    .p-option__content{
        margin-bottom: 50px;
    }
}
.p-option__list{
    width: 32%;
    margin-top: 50px;
}


.p-option__list__title{
    font-size: 24px;
    font-weight: 600;
    margin-top: 20px;
    height: 65px;
    margin-bottom: 10px;
    line-height: 65px;
}

.p-option__list__title.--2line{
    line-height: 30px
}

@media screen and (max-width: 820px) {
    .p-option__list{
        width: 48%;
    }
    .p-option__list__title{
        font-size: 18px;
        height: auto;
        margin-bottom: 0px;
        margin-top: 5px;
        line-height: 24px;
    }
    .p-option__list__title.--2line{
        line-height: 24px;
    }
}

.p-option__list__title span.--red{
    color: #CC0000;
}

.p-option__list p{
    text-align: left;
    letter-spacing: 0.05em;
}
.p-option__list p.--kome{
    font-size: 12px;
    margin-top: 10px;
    letter-spacing: 0;
}
.p-option__list__price {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
}

.p-option__list__price .--price{
    font-size: 36px;
    font-weight: 600;
    font-family: "Montserrat", serif;
    color: #CC0000;
    letter-spacing: 0;
}


.p-option__list__price .--yen{
    font-size: 24px;
}
.p-option__list__price  .--tax{
    font-size: 16px;
}
.p-option__kome{
    font-size: 14px;
    text-align: left;
    margin-top: 50px;
    text-indent: -1em;
    padding-left: 1em;
}

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

    .p-option__list p{
        font-size: 14px;
    }
    .p-option__list__price {
        font-size: 14px;
    }
    .p-option__list__price .--price{
        font-size: 24px;
    }
    .p-option__list__price .--yen{
        font-size: 16px;
    }
    .p-option__list__price  .--tax{
        font-size: 10px;
    }
    .p-option__kome{
        font-size: 10px;
        line-height: 1.5em;
    }
}


.p-flow{
    background-color: #CC0000;
    border-top-right-radius: 170px;
    padding-top: 120px;
    padding-bottom: 120px;
    margin-top: 120px;
}


.p-flow .c-title{
    color: #fff;
    margin-bottom: 68px;
}
@media screen and (max-width: 820px) {
    .p-flow{
        padding-top: 70px;
        padding-bottom: 70px;
        margin-top: 70px;
        border-top-right-radius: 70px;
    }
    .p-flow .c-title{
        margin-bottom: 30px;
    }
}

.p-flow__flow{
    display: flex;
    justify-content: space-between;
    position: relative;
}

.p-flow__flow::after{
    content: "";
    display: block;
    width: 90%;
    height: 2px;
    background-color: #fff;
    margin-top: 50px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top:11%;
    z-index: 0;
}

@media screen and (max-width: 820px) {
    .p-flow__flow::after{
        display: none;
    }
    /* .p-flow__flow::after{
        width: 2px;
        height: 90%;
        top: 0%;
        left: 19%;
    } */

    .p-flow__line{
        position: absolute;
        width: 36%;
        height: 100%;
    }
    .p-flow__line::after{
        content: "";
        width: 2px;
        height: 90%;
        top: 3%;
        display: inline-block;
        background-color: #fff;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        position: absolute;
    }
}
/* @media screen and (max-width: 820px) {
    .p-flow__flow::after{
        left: 16%;
    }
}
 */

.p-flow__list{
    width: 19%;
    color: #fff;
    position: relative;
    z-index: 1;
}
.p-flow__list p{
    letter-spacing: 0.05em;
}

@media screen and (max-width: 820px) {
    .p-flow__flow{
        flex-direction: column;
    }

    .p-flow__list{
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-around;
    }
    .p-flow__list img{
        width: 34%;
        max-width: 150px;
    }
    .p-flow__list p{
        width: 61%;
    }
}

.p-flow__list p{
    margin-top: 10px;
    font-size: 14px;
}
@media screen and (max-width: 820px) {
    .p-flow__list p{
        margin: 20px 0;
    }
}

.p-flow__info{
    color: #fff;
    margin-top: 50px;
}
.p-flow__info__list{
    position: relative;
    padding: 0 25px;
    padding-bottom: 30px;
    margin-top: 30px;
    letter-spacing: 0.05em;
}
.p-flow__info__list_wrap{
    position: relative;
}
.p-flow__info__list div{
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
}
@media screen and (max-width: 820px) {
    .p-flow__info__list div{
        position: relative;
        top: -12px;
        font-size: 18px;
    }
    .p-flow__info__list p{
        font-size: 14px;

    }
    .p-flow__info__list p span{
        font-size: 12px;

    }
}
.p-flow__info__list::after{
    content: "";
    display: block;
    width: 25px;
    height: 25px;
    background-image: url(../images/corner.png);
    background-size: contain;
    position: absolute;
    right: 0;
    top: 0;
    transform: rotate(90deg);
}
.p-flow__info__list::before{
    content: "";
    display: block;
    width: 25px;
    height: 25px;
    background-image: url(../images/corner.png);
    background-size: contain;
    position: absolute;
    left: 0;
    top: 0;
}

.p-flow__info__list_wrap::after{
    content: "";
    display: block;
    width: 25px;
    height: 25px;
    background-image: url(../images/corner.png);
    background-size: contain;
    position: absolute;
    left: 0;
    bottom: 0;
    transform: rotate(-90deg);
}

.p-flow__info__list_wrap::before{
    content: "";
    display: block;
    width: 25px;
    height: 25px;
    background-image: url(../images/corner.png);
    background-size: contain;
    position: absolute;
    right: 0;
    bottom: 0;
    transform: rotate(-180deg);
}
.p-flow__list .--kome{
    font-size: 12px;
    margin-top: 10px;
    letter-spacing: 0.05em;
    margin-top: 15px;
    display: block;
}
@media screen and (max-width: 820px) {
    .p-flow__list .--kome{
        font-size: 10px;
    }
    .p-flow__list .--kome {
        margin-top: 10px;
    }
}
.p-flow__info__list .--kome{
    font-size: 14px;
    margin-top: 10px;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 820px) {
    .p-flow__info__list .--kome{
        font-size: 12px;
    }
}
.p-flow__info__list a{
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    display: flex;
    align-items: center;
}
.p-flow__info__list img{
    margin-right: 10px;
}

.p-voice{
    padding: 66px 0 0;
    background-color: #CC0000;
    position: relative;
}

.p-voice .l-container{
    z-index: 1;
    position: relative;
}

.p-voice::after{
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    border-top-left-radius: 170px;
    z-index: 0;
}

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

    .p-voice{
        padding: 70px 0 0;
    }
    .p-voice::after{
        border-top-right-radius: 70px;
        border-top-left-radius: 0px;
    }
}

.p-voice__list{
    background-color: #FAFAF5;
    border-top-right-radius: 20px;
    border-bottom-left-radius: 20px;
}

.p-voice__head{
    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.p-voice__list{
    width: 24%;
    padding: 16px 25px;
}

@media screen and (max-width: 820px) {
    .p-voice__list {
        min-height: 304px;
    }
    .p-voice__slider .slick-slide {
        max-width: 90%;
        margin: 0 auto;
        margin: 0 10px;
    }
    .slick-track {
        display: flex !important;
        align-items: start;
    }
    .p-voice__head{
        font-size: 18px;
    }
    .p-voice__list p{
        font-size: 14px;
    }
    
}

.p-voice__list p{
    letter-spacing: 0;
    font-size: 16px;
    margin-top: 20px;
}

.p-voice__content{
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
}

.p-voice .l-container{
    max-width: 1200px;
}
@media screen and (max-width: 820px) {
    .p-voice .l-container{
        width: 100%;
    }
}

.slick-dots li button:before{
    font-size: 60px;
    color: #E5E5E5;
    opacity: 1;
}
.slick-dots li.slick-active button:before{
    color: #CC0000;
}

.slick-dots li{
    margin: 0;
}
.slick-dots{
    bottom: -35px;
}

/*
アコーディオンの2つ目以降、上に余白を取る。
開閉動作に影響なし。
*/
/* .f-accordion__item:nth-child(n+2) {
    margin-top: 10px;
} */

/*
    アコーディオンの開閉ボタンの装飾。
    position: relative;が無いと、
    「+」「-」の位置がずれるので注意。
*/
.f-accordion__head {
    position: relative;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: all .5s ease;
    display: flex;
}

.f-accordion__icon{
    /* width: 10%; */
    margin-right: 2rem;
}
.f-accordion__head p{
    position: relative;
}

@media (max-width: 768px) {
    .f-accordion__head {
        align-items: flex-start;
    }
    .f-accordion__head p{
        padding: 0;
    }
    .f-accordion__icon{
        width: 34px;
        margin-right: 1rem;
    }
}


/*
    アコーディオンの開閉ボタン
*/

/*
    アコーディオンの開閉ボタン
*/
.f-accordion__head::before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 2px;
    background-color: #CC0000;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 0.4s;
}

.f-accordion__head::after {
    content: '';
    display: inline-block;
    width: 15px;
    height: 2px;
    background-color: #CC0000;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    transition: transform 0.4s;
}
@media (min-width: 750px) {
    .f-accordion__head::before {
        width: 26px;
        height: 3px;
    }
    .f-accordion__head::after {
        width: 26px;
        height: 3px;
    }
}



.f-accordion__item.active .f-accordion__head::before {
    opacity: 0;
    background-color: #fff;
}
.f-accordion__item.active .f-accordion__head::after {
    transform: translateY(-50%) rotate(180deg);
    background-color: #fff
}

@media (max-width: 768px) {
.f-accordion__head::before {
    width: 13px;
    height: 2px;
    right: 20px;
}

.f-accordion__head::after {
    width: 13px;
    height: 2px;
    right: 20px;
}
}

.f-accordion__body {
    overflow: hidden;
    width: 100%;
    height: 0;
    transition: all .2s ease;
    position: relative;
}


.f-accordion__item.active .f-accordion__body {
    height: auto;
}


.p-qa{
    padding: 120px 0;
    background-color: #F2F2F2;
    border-top-right-radius: 170px;
    margin-top: 120px;
}
@media screen and (max-width: 820px) {
    .p-qa{
        padding: 70px 0;
        border-top-left-radius: 70px;
        margin-top: 80px;
        border-top-right-radius: 0px;
    }
}


/* オリジナル */

.p-qa_content{
    margin-top: 50px;
}
.p-qa_list{
    margin-top: 9px;
    border-radius: 15px;
}
.p-qa_list.active{
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
}
.p-qa_head{
    color: #000;
    font-size: 16px;
    background-color: #fff;
    padding: 20px;
    text-align: left;
    letter-spacing: 0.05em;
    font-weight: 600;
    border-radius: 15px;
    display: flex;
    align-items: center;
}
.p-qa_list.active .p-qa_head{
    background-color: #CC0000;
    color: #fff;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
    
}
@media (max-width: 768px) {
    .p-qa_content{
        margin-top: 30px;
    }
    .p-qa_head{
        font-size: 16px;
        padding: 15px 45px 15px 15px;
    }
}
.p-qa_head span{
    margin-right: 10px;
}

.p-qa_body{
    background-color: #fff;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    color: #333;
}

.p-qa_body_content{
    display: flex;
    gap: 5px;
    padding: 20px;
    letter-spacing: 0.01em;
}

@media (max-width: 768px) {
    .p-qa_body_content{
        padding: 15px 15px;
    }
}

.p-qa h3{
    font-size: 20px;
    text-align: center;
    border-top: 1px solid #3d2f29;
    border-bottom: 1px solid #3d2f29;
    padding: 5px 0;
    font-weight: 700;
    margin-top: 30px;
}

@media (min-width: 700px) {
    .p-qa h3{
        font-size: 30px;
        margin-top: 50px;
        margin-bottom: 20px;
    }
}

.p-qa_list .p-qa_head span{
    background-color: #CC0000;
    width: 22px;
    height: 22px;
    font-size: 13px;
    font-family: Montserrat, serif;
    color: #fff;
    border-radius: 50vw;
    text-align: center;
    line-height: 22px;
    font-weight: 600;
    margin-right: 10px;
    flex-shrink: 0;
}

.p-qa_list.active .p-qa_head span{
    background-color: #fff;
    width: 22px;
    height: 22px;
    font-size: 13px;
    color: #CC0000;
    border-radius: 50vw;
    text-align: center;
    line-height: 22px;
    font-weight: 600;
    margin-right: 10px;
    flex-shrink: 0;
}

.p-qa_body_content span.--answer{
    background-color: #06C755;
    width: 22px;
    height: 22px;
    font-size: 13px;
    font-family: Montserrat, serif;
    color: #F2F2F2;
    border-radius: 50vw;
    text-align: center;
    line-height: 22px;
    font-weight: 600;
    margin-right: 10px;
    flex-shrink: 0;
}

@media screen and (max-width: 820px) {
    .p-qa_body_content span.--answer{
        flex-shrink: 0;
    }
}

.p-qa_body_content{
    display: flex;
    align-items: center;

}
.p-qa_body_content a{
    display: block;
    display: flex;
    align-items: center;
    color: #CC0000;
}
.p-qa_body_content a img{
    margin-right: 10px;
}

.p-form{
    padding: 120px 0;
    background-color: #F2F2F2;
    position: relative;
}
.p-form::after{
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    border-top-right-radius: 100px;
    border-top-left-radius: 100px;
}

.p-form .l-container{
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 820px) {
    .p-form{
        padding: 70px 0;
    }
    .p-form::after{
        border-top-right-radius: 40px;
        border-top-left-radius: 40px;
    }
    .p-form .l-container{
        width: 88%;
    }
}

.c-form__item{
    display: flex;
    margin-bottom: 30px;
}
.c-form_item_label{
    width: 28%;
    margin-top: 20px;
    font-size: 20px;
    font-weight: 600;
    color: #333;
    letter-spacing: 0.05em;
}
.c-form_item_label label{
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-right: 10px;
}

.c-form_item_input{
    width: 78%;
}
.c-form_item_input input{
    width: 100%;
    background-color: #FAFAF4;
    border: none;
    height: 70px;
    border-radius: 15px;
    padding: 20px;

}
.c-form_item_label .c-req{
    background-color: #CC0000;
    border-radius: 5px;
    color: #fff;
    font-size: 18px!important;
    padding: 1px 5px;
    font-weight: 600;
    display: inline-block;
}

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

    .c-form__item{
        flex-direction: column;
        margin-bottom: 0px;
    }
    .c-form_item_label{
        width: 100%;
        margin-bottom: 10px;
    }

    .c-form_item_input{
        width: 100%;
    }
    .c-form_item_label label{
        font-size: 16px;
    }
    .c-form_item_label .c-req{
        font-size: 12px!important;
    }
    
}

.p-form_main{
    margin-top: 50px;
}
textarea{
    background-color: #FAFAF4;
    border: none;
    height: 70px;
    border-radius: 15px;
    width: 100%;
    height: 250px;
    padding: 20px;
}

.c-form__accept{
    text-align: center;
}

.c-accept_txt a{
    color: #CC0000;
    font-weight: 600;
    text-decoration: underline;
    font-size: 16px;

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

    .c-form__accept{
        margin-top: 30px;
        font-weight: 600;
    }
    
}
.c-form__button{
    display: block;
    background-color: #CC0000;
    color: #fff;
    width: 600px;
    font-size: 30px;
    text-align: center;
    margin: 0 auto;
    padding: 20px;
    margin-top: 50px;
}

@media screen and (max-width: 820px) {
    .c-form__button{
        width: 90%;
        padding: 15px;
        font-size: 24px;
        font-weight: 600;
    }
}
.p-footer_link a{
    display: flex;
    align-items: center;
    color: #333;
}

.p-footer_link{
    display: flex;
    max-width: 680px;
    margin: 0 auto;
    padding-bottom: 90px;
}

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

    .p-footer_link{
        flex-direction: column;
        margin-left: 30px;
        padding-bottom: 40px;
    }
}
.p-footer_link a{
    margin-right: 40px;
}
.p-footer_link a img{
    margin-right: 10px;
}

.l-footer{
    text-align: center;
    background-color: #F2F2F2;
    padding: 10px 0;
}

.p-thanks{
    text-align: center;
    padding: 120px 0;
    height: 96vh;
}

.p-thanks p{
    margin-top: 30px;
    text-align: center;
}

.l-main .display_sp {
    display: none;
}
.l-footer .display_sp {
    display: none;
}


.cta_block {

}

.cta_block > p {
    font-size: 29px;
    text-align: center;
    font-weight: bold;
    margin-top: 20px;
}

.cta_block > p span {
    color: #CC0000;
    font-weight: bold;
}

.c-btn_link_user {
    background-color: #FFEAEA;
    margin-top: 10px;
}

.insurance {
    background-color: #FFFFDE;
    padding: 120px 0;
    border-top-right-radius: 170px;
    position: relative;
}

.insurance::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FAFAF4;
    z-index: -1;
  }

.insurance h2 img {
    margin-bottom: 70px;
}

.insurance_bk {
    text-align: center;
    background-color: #000;
    color: #fff;
    font-size: 24px;
    padding: 5px;
    font-weight: bold;
    margin-bottom: 65px;
}

.insurance_box {
    display: flex;
    justify-content: space-between;
}

.insurance_box_lef {
    width: 255px;
    height: 80px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background-color: #CC0000;
    font-weight: bold;
    font-size: 24px;
}

.insurance_box_rig {
    width: 650px;
    font-size: 16px;
}

.insurance_img {
    margin-top: 50px;
    margin-bottom: 50px;
}

.insurance_ng {
    padding: 50px 70px;
    background-color: #E5E5E5;
    border-radius: 10px;
}

.insurance_ng h3 {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 30px;
}

.diamond-list {
    list-style: none;
    padding-left: 1.5em; /* インデント調整 */
  }
  
  .diamond-list li {
    position: relative;
    padding-left: 1.5em; /* テキスト左スペース */
    margin-bottom: 0.5em;
    font-size: 16px;
  }
  
  .diamond-list li::before {
    content: "◆";
    position: absolute;
    left: 0;
    top: 5px;
    color: black; /* ダイヤの色 */
    font-size: 0.9em;
    line-height: 1;
  }

  .insurance_ng a {
    display: block;
    text-align: center;
    color: #000;
    text-decoration: underline;
    margin-top: 50px;
  }

  .fv_block  .fv_txt2 {
    margin-bottom: 10px;
  }

@media screen and (max-width: 820px) {
    .p-thanks .c-form__button{
        font-size: 20px;
    }
    .l-main .display_sp {
        display: block;
    }
    .l-footer .display_sp {
        display: block;
    }
    
    .l-main .display_pc {
        display: none;
    }
    .l-footer .display_pc {
        display: none;
    }
    .fv_block {
        width: 100%;
        bottom: -3%;
    }
    .fv_block .fv_txt {
        font-size: 14px;
    }
    .c-btn_cta_text {
        font-size: 20px;
    }
    .fv_block > .c-btn_link {
        width: 90%;
        margin: 0 auto;
    }
    .cta_block > p {
        font-size: 14px;
    }
    .insurance_box {
        display: block;
    }
    .insurance_bk {
        font-size: 18px;
        margin-bottom: 30px;
    }
    .insurance_box_lef {
        width: 100%;
        height: auto;
        font-size: 18px;
        border-radius: 5px;
        padding: 5px 0;
    }
    .insurance_box_rig {
        width: 100%;
        margin-top: 15px;
        line-height: 1.714;
    }
    .insurance_img {
        margin-top: 30px;
    }
    .insurance_ng {
        padding: 40px 20px;
    }
    .insurance_ng h3 {
        font-size: 18px;
        letter-spacing: 0.05em;
    }
    .diamond-list {
        padding: 0;
    }
    .diamond-list li {
        font-size: 14px;
    }
    .insurance_ng a {
        font-size: 14px;
        margin-top: 35px;
    }
    .insurance h2 img {
        margin-bottom: 18px;
    }
    .insurance {
        padding: 0px 0px 70px;
        border-top-right-radius: 70px;
    }
    .insurance h2 {

    }

    /* ヘッダーはンバーガーメニュー */
    .l-main .site-header .menu-toggle {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 30px;
        height: 20px;
        background: none;
        border: none;
        cursor: pointer;
        position: relative;
        z-index: 9999;
      }
      
      .menu-toggle span {
        display: block;
        height: 3px;
        background: #fff;
        border-radius: 2px;
        transition: all 0.3s ease;
        transform-origin: center;
        width: 100%;
      }

      .menu-toggle.active .toggle1 {
        transform: rotate(45deg) translate(7px, 5px);
      }
      
      .menu-toggle.active .toggle2 {
        opacity: 0;
      }
      
      .menu-toggle.active .toggle3 {
        transform: rotate(-45deg) translate(5px, -5px);
      }
      
      .l-main .site-header .nav-menu {
        display: none;
        flex-direction: column;
        align-items: center;
        background: #f8f8f8;
        padding: 1em 0.5em;
        width: 100%;
      }
      
      .l-main .site-header .nav-menu.active {
        display: flex;
        position: absolute;
        top: 60px;
        left: 0;
      }
      
      .l-main .site-header .nav-menu ul {
        list-style: none;
        padding: 0;
        margin: 0;
        text-align: center;
      }
      
      .l-main .site-header .nav-menu li {
        font-size: 1.5em;
        margin: 0.5em 0;
      }
      
      .l-main .site-header .nav-menu .pink {
        color: #E8746B;
        font-weight: bold;
      }
      
      .l-main .site-header .nav-menu .buttons img {
        width: 90%;
        max-width: 300px;
        margin: 10px 0;
        display: block;
      }
      .header-nav .nav-list {
        display: block;
        text-align: left;
        width: 100%;
        padding-left: 30px;
        padding-top: 0;
      }
      .cta_block {
        width: 100%;
      }

      .menu-toggle {
        margin-right: 10px;
      }
      .header-inner {
        height: 60px;
      }
}


.dym_conpany {
    text-align: right;
    padding-bottom: 10px;
    font-size: 10px;
    padding-right: 10px;
    display: block;
    color: #000;
}


body {
    font-family: "Noto Sans JP", sans-serif;
    margin: 0;
    padding: 0;
    background: #fff;
  }
  .contact-header {
    background: #CC0000;
    height: 308px;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding-top: 107px;
  }
  .contact-header h1 {
    margin: 0;
    font-size: 40px;
    font-weight: bold;
  }
  .contact-header p {
    margin: 0;
    font-size: 14px;
    letter-spacing: 0.05em;
  }

  .contact-header h1 span {
    font-size: 24px;
    font-family: Montserrat;
    display: block;
  }

  .form-wrapper {
    max-width: 960px;
    margin: 0 auto;
    padding: 40px 20px;
    
  }

  .contact_wrap {
    max-width: 960px;
    margin: 0 auto;
    margin-top: 120px;
  }

  .form-group {
    margin-bottom: 24px;
    display: flex;
  }

  .form-group label {
    display: block;
    font-weight: bold;
    margin-bottom: 4px;
    width: 420px;
  }

  .required {
    color: #fff;
    background-color: #e60012;
    font-size: 12px;
    margin-left: 5px;
    padding: 0 5px;
  }



  .form-wrapper input[type="text"], .form-wrapper input[type="email"], .form-wrapper select, .form-wrapper textarea {
    width: calc(100% - 420px);
  }

  .form-group_adress .form_box_address input {
    width: auto;
  }

  input[type="text"],
  input[type="email"],
  select,
  textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
  }

  textarea {
    resize: vertical;
    height: 100px;
  }

  .checkbox {
    margin-top: 20px;
  }

  .submit-btn {
    margin-top: 30px;
    text-align: center;
  }

  .submit-btn input {
    background: #e60012;
    color: white;
    border: none;
    padding: 15px 40px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 4px;
    cursor: pointer;
  }

  .footer-links {
    text-align: center;
    margin-top: 30px;
    font-size: 12px;
    color: #666;
  }

  .footer-links a {
    color: #666;
    margin: 0 8px;
    text-decoration: underline;
  }

  .form_box_address {
    width: calc(100% - 420px);
  }

  .form_box_tit {
    display: flex;
    justify-content: flex-start;
  }

  .form-group .label_address {
    width: 88px;
  } 

  .form-group_adress .form_box_address input {
    width: 246px;
  }
  .form_box_address .form_box_tit select {
    width: 246px;
  }

  .form_box_address div .form_address_last {
    width: 100%;
  }

  .form-wrapper dt {
    font-size: 18px;
    font-weight: bold;
    margin-top: 24px;
    margin-bottom: 20px;
  }

  .form-wrapper dd {
    font-size: 18px;
    padding-bottom: 24px;
    border-bottom: solid 1px #E5E5E5;
  }

  .buttons  {
    text-align: center;
    margin-top: 20px;
    display: flex;
    justify-content: center;
    flex-direction: column-reverse;
  }

  .buttons .submit {
    color: white;
    border: none;
    padding: 15px 40px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 4px;
    cursor: pointer;
    width: 500px;
    margin: 0 auto;
    margin-top: 120px;
    margin-bottom: 70px;
  }

  .site-header {
position: fixed;
 background-color: #C7002F;
 padding-top: 25px;
}

.header_wrap {
    background-color: #fff;
}

.header-logo {
    position: absolute;
    height: 80px;
    left: 0;
    top: 0;
}

.header-logo img {
    height: 100%;
}

.header-logo .logo_svg {
    position: absolute;
    left: 70px;
    width: 150px;
}

.header-inner {
    padding-left: 318px;
}

.thanks_btn {
    text-align: center;
    width: max-content;
    margin: 0 auto;
    margin-top: 120px;
    text-decoration: underline;
    display: block;
    margin-bottom: 240px;
    color: #000;
}

.l-footer {
    margin-top: 50px;
}

.checkbox {
    text-align: center;
}

.top_btn {
    margin-top: 0px;
    text-align: center;
    color: #000;
    width: max-content;
    display: block;
    text-decoration: underline;
    margin: 0 auto;
    margin-bottom: 60px;
}

.buttons button {
    text-decoration: underline;
}

.insurance_img_txt {
    display: block;
    margin: 0 auto;
    padding: 3.125rem 0 0 0;
}

.nav-list a {
    color: #333333;
    font-weight: bold;
}

.option .p-footer_link {
    padding-bottom: 0;
}

.user_contact .p-footer_link {
    padding-bottom: 0;
}

.notice {
    background-color: #f9f9f9;
    padding: 10px;
    margin-top: 10px;
    border: 1px solid #ccc;
}

strong, .strong {
    font-weight: bold;
}

.month {
    width: calc(100% - 420px);
}

select {
    -webkit-appearance: none; /* Safari */
    -moz-appearance: none;    /* Firefox */
    appearance: none;         /* その他 */
  
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff url('arrow.svg') no-repeat right 10px center;
    background-size: 12px;
    position: relative;
    color: #b0aeae;
  }

  select::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    width: 0;
    height: 0;
    pointer-events: none;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #333;
    transform: translateY(-50%);
  }


  .modal {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: flex; justify-content: center; align-items: center;
    z-index: 9999;
  }
  
  .modal-content {
    background: white;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
  }

  .submit_ing {
    text-align: center;
    display: block;
    margin-top: 20px;
    font-size: 24px;
  }


  .cta_txt {
    display: block;
    width: 600px;
    margin: 0 auto;
    margin-top: 20px;
  }

@media screen and (max-width: 820px) {
    .form-group {
        display: block;
    }
    .form-group label {
        font-size: 16px;
        letter-spacing: 0;
        width: 100%;
    }
    .contact_wrap p {
        font-size: 14px;
    }
    .form_box_address {
        width: 100%;
    }
    .form-wrapper input[type="text"], .form-wrapper input[type="email"], .form-wrapper select, .form-wrapper textarea {
        width: 100%;
    }
    .contact_wrap {
        margin: 0 auto;
        margin-top: 70px;
        width: 90%;
        
    }
    .form_box_address .form_box_tit input, .form_box_address .form_box_tit select {
        width: 246px;
    }
    .submit-btn input {
        width: 100%;
    }
    .buttons .submit {
        width: 100%;
    }
    .header_wrap {
        background-color: transparent;
    }
    .site-header {
        padding-top: 0;
    }
    .header-logo {
        width: 180px;
        height: auto;
        margin: 0 auto;
        position: inherit;
    }
    .header-inner {
        padding-left: 0;
    }
    .l-footer {
        background-color: #C7002F;
        padding: 15px 0;
    }
    .l-footer img {
        width: 45%;
        margin: 0 auto;
    }
    .contact-header h1 {
        font-size: 24px;
    }
    .contact-header h1 span {
        font-size: 14px;
    }
    .contact-header {
        padding-top: 62px;
        height: 190px;
    }
    .fv_block .fv_txt2 {
        margin-top: 10px;
        margin-bottom: 2px;
    }
    .c-btn_link_user {
        margin-top: 5px;
    }
    .p-option {
        border-top-left-radius: 70px;
    }
    .form-group .label_address {
        font-size: 14px;
    }
    .month {
        width: 100%;
    }
    .cta_txt {
        font-size: 12px;
    }
    }