@charset "UTF-8";


/* # =================================================================
   # 共通タイトル
   # ================================================================= */

.main-title{
	width:100%;
	font-family: 'Barlow', 'Noto Sans JP' ,system-ui;
	font-size:80px;
	font-weight:700;
	color:var(--color-base);
	line-height:1;
	text-align:center;
	text-transform: capitalize;
	margin-bottom:80px;
}

.main-title span{
	display:block;
	font-size:16px;
	font-weight:700;
	color:var(--color-base);
	margin-top:15px;
}



@media screen and (max-width:768px){
	.main-title{font-size:65px;line-height:1.2;}
}


.txt-box{
	width:100%;
	line-height:2;
	text-align:left;
}





/* # =================================================================
   # ファーストビュー
   # ================================================================= */
 
.fv-area {
	position: relative;
	width:100%;
	height:100vh;
	overflow:hidden;
	background-image: url(../img/fv_bg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right top;
}

.fv-img-box {
	position: absolute;
	bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: 85%;
	margin-left:auto;
	margin-right:auto;
	text-align:left;
}

.fv-main-txt-box img{width:85%;}

.fv-txt{
	font-size:18px;
	font-weight:700;
	line-height:1.5;
	margin:20px 0;
}

.fv-flex {
	width:100%;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content:space-between;
	align-items:center;
    flex-wrap:wrap;
	row-gap:20px;
}

.fv-flex-item{width:48.5%;}

.fv-cont-box img{width:100%;}




@media screen and (max-width: 768px) {
	.fv-img-box {
		text-align:left;
		width: 90%;
	}
	.fv-main-txt-box img{width:100%;}
}

@media screen and (max-width: 599px) {
	.fv-area {
		width:100%;
		overflow:hidden;
		background-image: url(../img/fv_bg_sp.webp);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center top;
	}
	.fv-img-box {bottom: 50px;}
	.fv-flex-item{width:100%;}
	.fv-txt{font-size:16px;margin:10px 0;}
}

@media only screen and (max-height: 450px) and (orientation: landscape){
	.fv-img-box {bottom: 30px;}
	.fv-main-txt-box img{width:70%;}
	.fv-flex {width:80%;}
	.fv-txt{font-size:16px;margin:10px 0;}
}

/* # =================================================================
   # nayami-front
   # ================================================================= */

.nayami-front-bg{background-color:#e6f0f1;}

#nayami-front .title img{width:90%;}

#nayami-front .imgbox img{width:100%;}


@media screen and (max-width:768px){
	#nayami-front .title{
		font-size:25px;
		line-height:2;
	}
}


/* # =================================================================
   # nayami
   # ================================================================= */

.nayami-bg{
	background-image: url(../img/naname_bg.svg);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: right top;
}

#nayami .title img{width:90%;}


#nayami .flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content:space-between;
    flex-wrap:wrap;
	list-style-type: none;
	padding-top:80px;
}

#nayami .gap1{row-gap:20px;}
#nayami .gap2{row-gap:30px;}

#nayami .flex li {
  position: relative;
  font-size:18px;
  font-weight:700;
  color:var(--color-bk);
  text-align:left;
  line-height: 1.2;
  width:49%;
  background-color:var(--color-white);
  padding:10px 20px 10px 50px;
  border:solid 1px #e6f0f1;
}


#nayami .flex li::before,
#nayami .flex li::after {
    position: absolute;
    top: 50%;
    height: 1em;
    content: '';
}
#nayami .flex li::before {
    left: 15px;
    transform: translateY(-50%);
    width: 1em;
    border: 1px solid var(--color-base);
}
#nayami .flex li::after {
    left: 1.2em;
    transform: translateY(-75%) rotate(45deg);
    width: 0.5em;
    border-bottom: 3px solid var(--color-base);
    border-right: 3px solid var(--color-base);
}

#nayami .flex-item{
	width:48.5%;
	color:var(--color-white);
	background-color:var(--color-green);
	border-radius:15px;
	text-align:center;
	display: flex;
	flex-direction: column;
}

#nayami .flex-item2{
	width:31.5%;
	background-color:#fffde5;
	border:solid 1px var(--color-base);
	padding:30px;
	border-radius:15px;
}

#nayami .flex-item-illust{
	width:31.5%;
	padding:30px;
}

#nayami .text-space{padding:30px 50px;}


#nayami .step-no{
	font-family: 'Barlow', 'Noto Sans JP' ,system-ui;
	font-size:20px;
	font-weight:700;
	color: var(--color-yellow);
}
#nayami .step-no span{font-size:50px;}
#nayami .step-title{
	font-size:25px;
	line-height:1.2;
	font-weight:700;
	margin:20px 0;
}
#nayami .step-txt{
	font-size:16px;
	line-height:1.5;
	font-weight:700;
	text-align:left;
}
#nayami .imgbox{margin-top: auto;}
#nayami .imgbox img{width:100%;border-radius:0 0 15px 15px;}

#nayami .why-title{
	font-size:22px;
	line-height:1.2;
	font-weight:700;
	color:var(--color-base);
	margin:0 0 20px 0;
}
#nayami .why-txt{
	font-size:16px;
	line-height:1.5;
	font-weight:700;
	text-align:left;
}

#nayami .why-illust img{height:300px;}

@media screen and (max-width:900px){
	#nayami .flex li {width:100%;}
	#nayami .flex-item2, #nayami .flex-item-illust{width:48.5%;}
	#nayami .gap2{row-gap:20px;}
}

@media screen and (max-width:768px){
	#nayami .flex-item{width:100%;}
	#nayami .flex-item2, #nayami .flex-item-illust{padding:20px;}
	#nayami .gap2{row-gap:10px;}
	#nayami .text-space{padding:30px 30px;}
	#nayami .why-title{font-size:16px;line-height:1.2;text-align:left;}
	#nayami .why-txt{font-size:12px;line-height:1.5;}
	#nayami .why-illust img{width:80%; height:auto;}
}


/* # =================================================================
   # about
   # ================================================================= */

#about .title-sub{margin:60px 0 40px 0;}
#about .title-sub img{width:500px;}

#about .flex{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content:space-between;
    flex-wrap:wrap;
}

#about .gap50{row-gap:50px;}
#about .gap10{row-gap:10px;}

#about .flex-item{width:31%;color:var(--color-white);}
#about .flex-item img{width:100%;}
#about .flex-item-title{
	font-size:25px;
	font-weight:700;
	line-height:1.5;
	text-align:left;
	margin:30px 0 20px 0;
}
#about .flex-item-txt{
	font-size:14px;
	font-weight:700;
	text-align:left;
	line-height:1.5;
}

#about .subtitle{
	font-size:35px;
	font-weight:700;
	line-height:1.5;
	text-align:cenrer;
	color:var(--color-white);
	margin-bottom:30px;
}
#about .sub-flex-item{width:48.5%;}
#about .sub-flex-item img{width:100%;}

@media screen and (max-width:768px){
	#about .title-sub img{width:85%;}
	#about .flex-item{width:100%;}
	#about .subtitle{font-size:25px;}
	#about .sub-flex-item{width:100%;}
}

/* # =================================================================
   # price
   # ================================================================= */
.price-bg{
	background-color:var(--color-green);
}

#price .ptitle-txt{
	font-size:25px;
	font-weight:700;
	margin-bottom:30px;
	color:var(--color-base);
}

#price .ptitle-img{margin-bottom:30px;}
#price .ptitle-img img{width:80%;}

#price .title img{width:100%;}
#price .title-sub img{width:80%;}

#price .txt-box{margin:40px 0;font-size:20px;font-weight:700;color:var(--color-white);text-align:center;}
#price .txt-box span{color:var(--color-yellow);}


.price-box{
	padding:40px;
	background-color:var(--color-white);
	width:100%;
	margin-left:auto;
	margin-right:auto;
	border-radius:10px;
}

.price-flex{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	margin-left:auto;
	margin-right:auto;
	border:solid 3px var(--color-base);
	margin-bottom:30px;
}

.price-flex-item1{
	font-size:25px;
	font-weight:700;
	width:50%;
	background:var(--color-base);
	color:var(--color-yellow);
	padding:15px;
}

.price-flex-item2{
	font-size:25px;
	font-weight:700;
	width:50%;
	background:var(--color-yellow);
	color:var(--color-base);
	padding:15px;
}

.price-txt-title{
	font-size:18px;
	font-weight:700;
	line-height:1.5;
	margin:30px 0 15px 0;
	display: flex;
    align-items: center;
}
.price-txt-title:before,
.price-txt-title:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #666;
}

.price-txt-title:before {
    margin-right: 1rem;
}

.price-txt-title:after {
    margin-left: 1rem;
}


table.price-tbl {
	border-collapse: collapse;
	width: 100%;
	margin-bottom:15px;
}
table.price-tbl th,
table.price-tbl td {
	padding: 15px;
	text-align: center;
	vertical-align:middle;
	border:solid 1px var(--color-gray4);
}
table.price-tbl th {
	width: 50%;
	background:var(--color-gray2);
	color:var(--color-white);
}

table.price-tbl td {
	background:var(--color-white);
}

table.price-tbl td a{color:var(--color-bk);}

table.price-tbl td span{font-size:25px;font-weight:700;}

.price-s{font-size:12px;}



/*-------スマホ表示-------------*/

@media screen and (max-width:768px){
	#price .txt-box{font-size:18px;text-align:left;}
	#price .title-sub img{width:100%;}
	.price-flex-item1, .price-flex-item2{width:100%;}
	#price .ptitle-img img{width:100%;}
}

@media screen and (max-width:599px){
	.price-box{padding:30px 15px 15px 15px;}
	table.price-tbl td {
		display: block;
		text-align: center;
	}
	table.price-tbl th {
		display: block;
		border-top: none;
		border-bottom: none;
		width: 100%;
	}
}


/* # =================================================================
   # voice
   # ================================================================= */

.voice-waku{
	position: relative;
}

.voice-box{
	height: calc(100% - 150px);
	background-color:var(--color-base);
	padding:50px;
	border-radius: 15px;
	margin-top:50px;
}

.voice-img{
	position: absolute;
	top:0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}


.voice-img img{
	width:150px;
}


.voice-name{
	font-size:18px;
	font-weight:700;
	color:var(--color-white);
	padding:85px 0 30px 0;
	text-align:center;
}

.voice-title-box{text-align:left;margin-bottom:20px;}
.voice-title{
	display: inline;
	font-size:25px;
	font-weight:700;
	line-height:1.5;
	color:var(--color-base);
	background-color:var(--color-white);
	padding-left: 10px;
	padding-right: 10px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.voice-txt{
	font-size:16px;
	line-height:1.5;
	font-weight:700;
	text-align:left;
	color:var(--color-white);
}

@media screen and (max-width:900px){
	.voice-box{height: calc(100% - 100px);padding:30px;}
	.voice-name{padding:95px 0 30px 0;}
}

@media screen and (max-width:900px){
	.voice-title{
		display: inline;
		font-size:20px;
		font-weight:700;
		line-height:2;
		color:var(--color-base);
		background-color:var(--color-white);
		padding-left: 10px;
		padding-right: 10px;
		-webkit-box-decoration-break: clone;
		box-decoration-break: clone;
	}
}


/* # =================================================================
   # faq
   # ================================================================= */
   
.faq-block{
border-bottom:dotted 1px var(--color-gray4);
padding-bottom:5px;
margin-bottom:5px;
}


#faq .table__list-label:first-letter{
 font-size: 28px;
 font-weight: 600;
 margin-right: 0.5em;
}

#faq .table__list-label:first-letter{color: var(--color-base);}

#faq .quest{
	text-indent: -1.7em;
	padding-left:2em;
	padding-right:40px;
	padding-bottom:10px;
	padding-top:10px;
	font-size:20px;
	line-height:1.5;
	text-align:left;
	font-weight: Bold;
}

#faq .answer{
	font-size:18px;
	font-weight: Bold;
	color: var(--color-base);
	text-align:left;
	padding: 0 3em 25px 3em;
	line-height:1.8;
}

#faq .answer a{color:var(--color-red);}

#faq .answer ul{list-style: square;text-indent: 0;padding-left:20px;}

#faq .btn{
	display:block;
	background-image: url(../img/i_mail_btn.svg);
	background-repeat: no-repeat;
	background-size: 25px;
	background-position: left 5px center;
	font-size:14px;
	font-weight:700;
	text-align:center;
	padding:10px 15px 10px 35px;
	background-color: var(--color-white);
	border:solid 1px var(--color-gray1);
	color: var(--color-gray1) !important;
	transition: all .5s;
	text-decoration:none;
	line-height:1;
	width:200px;
	border-radius:50px;
	text-indent: 0;
	margin-top:20px;
}


#faq .btn:hover{
	background-image: url(../img/i_mail_green_btn.svg);
	background-position: left 5px center;
	color: var(--color-green) !important;
	border:solid 1px var(--color-green);
	text-decoration:none;
}



@media screen and (max-width:599px){
	#faq .quest{
		text-indent: -1.8em;
		padding-left:2em;
		font-size:18px;
	}
	#faq .answer{font-size:16px;}
}


/* # =================================================================
   # FAQ アコーディオン設定
   # ================================================================= */

.table__list-check{
    display: none;
}

/*カラム見出し */
.table__list-label {
	width: 100%;
	display: block;
	padding: 10px;
	color: var(--color-gray1);
	font-display: swap;
	position: relative;
	cursor: pointer;
	border-radius: 5px;
}


.table__list-label:after{
    content: '';
    display: block;
    line-height: 16px;
    padding: 0;
    position: absolute;
    right: 20px;
   top: 40%;
   transform: translateY(-40%);
    -webkit-transform: translateY(-40%);
    -ms-transform: translateY(-40%);
	border-bottom: solid 1px var(--color-gray1);
	border-right: solid 1px var(--color-gray1);
	width: 10px;
	height: 10px;
	transform: rotate(45deg);
}
.table__list-content {
	width: 100%;
    display: block;
    height: 0;
    opacity: 0;
	margin-top: 0px;
 	margin-bottom: 0px;
   padding: 0px 0 0px 0;
    transition: .5s;
    visibility: hidden;
}
.table__list-check:checked + .table__list-label:after{
    content: '×';
    position: absolute;
    right: 25px;
    top: 30%;
   transform: translateY(-35%);
    -webkit-transform: translateY(-35%);
    -ms-transform: translateY(-35%);
    font-size: 30px;
    line-height: 20px;
    font-weight: 400;
    color: var(--color-gray1);
	border-bottom: none;
	border-right: none;
}
.table__list-check:checked + .table__list-label + .table__list-content{
    height: auto;
    opacity: 1;
    padding: 0;
    visibility: visible;
}
