@charset "UTF-8";


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

.main-title{
	text-align:center;
	margin-bottom:80px;
}

.main-title img{width:220px;}

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



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


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

.img100 img{width:100%;}





/* # =================================================================
   # ファーストビュー
   # ================================================================= */
 
.fv-area {
	position: relative;
	top:0;
	left:0;
}

.fv-bg img{width:100%;}

.head-menu-logo{
	position: absolute;
	top:20px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width:85%;
	max-width:1400px;
	text-align:left;
}	

.head-menu-logo img {
	width: 150px;
}

.fv-img-box {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	width: 85%;
}


.fv-flex {
	width:100%;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
	align-items: end;
    flex-wrap: nowrap;
}

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

.fv-copy img{width:300px;}
.fv-btn img{width:200px;}


@media screen and (max-width: 768px) {
	.fv-img-box {width: 90%;}
	.fv-copy img{width:250px;}
	.fv-btn img{width:180px;}
}

@media screen and (max-width: 599px) {
	.head-menu-logo{width:90%;}	
	.head-menu-logo img {width: 100px;}	
	.fv-copy img{width:80%;}
	.fv-btn img{width:150px;}
	.fv-img-box {
		position: absolute;
		top: 60%;
		left: 50%;
		transform: translate(-50%, -60%);
		-webkit-transform: translate(-50%, -60%);
		-ms-transform: translate(-50%, -60%);
		width: 85%;
	}
}

@media only screen and (max-height: 450px) and (orientation: landscape){
	.fv-img-box {
		position: absolute;
		top: 40%;
		left: 50%;
		transform: translate(-50%, -40%);
		-webkit-transform: translate(-50%, -40%);
		-ms-transform: translate(-50%, -40%);
		width: 90%;
	}
}



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

#nayami .title{padding-top:50px;}
#nayami .title img{width:90%;}

#nayami .imgbox{padding-bottom:50px;}
#nayami .imgbox img{width:70%;}



#nayami .nayami-title-area {
	position: relative;
}

#nayami .nayami-title-img {
	position: absolute;
	z-index:2;
	top:-30px;
	left:0;
	width:100%;
	text-align:left;
}

#nayami .nayami-title-img img{width:550px;}

#nayami .nayami-title-img2 {
	position: absolute;
	z-index:2;
	top:-30px;
	left:0;
	width:100%;
	text-align:center;
}

#nayami .nayami-title-img2 img{width:300px;}

#nayami .nayami-box{
	background-color:var(--color-white);
	padding:100px 30px 30px 30px;
	border-radius:20px;
	width:85%;
	margin-left:auto;
	margin-right:auto;
	vertical-align: middle;
	max-width:1400px;
	margin-bottom:100px;
}

#nayami .nayami-box2{
	background-color:var(--color-white);
	border:dotted 3px var(--color-bk);
	padding:75px;
	border-radius:20px;
	width:85%;
	margin-left:auto;
	margin-right:auto;
	max-width:1400px;
}

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

#nayami .txt-box{
	font-size:18px;
	font-weight:Bold;
	margin-bottom:30px;
}

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

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

#nayami .flex li {
  position: relative;
  font-size:18px;
  font-weight:Bold;
  color:var(--color-bk);
  text-align:left;
  line-height: 1.5;
  width:49%;
  background-color:#f3f2f2;
  padding:10px 20px 10px 50px;
}


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


@media screen and (max-width:900px){
	#nayami .nayami-title-img img{width:500px;}
	#nayami .nayami-box2{padding:80px 40px 40px 40px;}
	#nayami .flex li {width:100%;}
	#nayami .gap2{row-gap:20px;}
}

@media screen and (max-width:768px){
	#nayami .nayami-title-img img{width:80%;}
	#nayami .nayami-box2{padding:80px 30px 30px 30px;}
	#nayami .imgbox img{width:90%;}
	#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;}
}

@media screen and (max-width:599px){
	#nayami .nayami-title-img img{width:90%;}
	#nayami .nayami-title-img2 img{width:250px;}
	#nayami .nayami-box2{padding:80px 20px 20px 20px;}
	#nayami .imgbox img{width:100%;}
}



/* # =================================================================
   # about
   # ================================================================= */
.about-bg{
	background-color:#e7e1cd;
	border-bottom:solid 10px var(--color-yellow);
}

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

#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%;}
#about .flex-item img{width:100%;}
#about .flex-item-title{
	font-size:23px;
	font-weight:700;
	line-height:1.2;
	text-align:left;
	color:#e75711;
	margin:30px 0 20px 0;
}
#about .flex-item-txt{
	font-size:14px;
	font-weight:Bold;
	text-align:left;
	line-height:1.5;
}



#about .subtitle-box{text-align:center;margin-bottom:20px;}
#about .subtitle{
	display: inline;
	font-size:30px;
	font-weight:Bold;
	line-height:2.5rem;
	color:var(--color-white);
	background-color:var(--color-bk);
	padding-left: 10px;
	padding-right: 10px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

#about .subtitle2{
	display: inline;
	font-size:30px;
	font-weight:Bold;
	line-height:2.5rem;
	color:var(--color-white);
	background-color:#e75711;
	padding-left: 10px;
	padding-right: 10px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

#about .sub-flex-item{width:48.5%;}
#about .sub-flex-item img{width:100%;}

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

/* # =================================================================
   # price
   # ================================================================= */
.price-bg{
	background-color: #bfdfdf;
	opacity: 0.8;
	background: repeating-linear-gradient( 45deg, #ceedec, #ceedec 10px, #bfdfdf 10px, #bfdfdf 25px );
}

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

#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;text-align:center;}
#price .txt-box span{color:var(--color-red);}


.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-green);
	margin-bottom:30px;
}

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

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

.price-txt-title{
	font-size:18px;
	font-weight:700;
	line-height:1.5rem;
	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%;
	}
}


/* # =================================================================
   # exa
   # ================================================================= */

.exa-bg{background-color: #bcdee0;}

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

#exa .flex{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content:space-between;
    flex-wrap:wrap;
	row-gap:25px;
}

#exa .flex-item{
	width:48.5%;
	background-color:var(--color-white);
	border-radius:15px;
	padding:30px;
}

#exa .flex-item-img img{width:85%;}

#exa .flex-item-title{
	font-size:25px;
	font-weight:700;
	line-height:2rem;
	text-align:left;
	color:var(--color-green);
	padding:20px 0;
}

#exa ul{list-style: none;text-indent: 0;margin-top:20px;}

#exa ul li{
	background-color:var(--color-gray5);
	text-align:left;
	font-weight:700;
	padding:8px 15px;
	margin-bottom:5px;
}

@media screen and (max-width:900px){
	#exa .flex-item{padding:20px;}
	#exa .flex-item-title{font-size:20px;}
	#exa .txt-box{font-size:14px;line-height:1.5;}
	#exa ul li{font-size:14px;}
}

@media screen and (max-width:599px){
	#exa .flex-item{width:100%;}
}


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

.voice-waku{
	position: relative;
}

.voice-box{
	height: calc(100% - 150px);
	background-color:var(--color-yellow);
	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;
	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-white);
	background-color:var(--color-bk);
	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:Bold;
	text-align:left;
}

@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:1.5;
		color:var(--color-white);
		background-color:var(--color-bk);
		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 .main-title img{width:180px;}

#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:150%;
	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:180%;
}

#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:Bold;
	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;
}
