﻿@charset "utf-8";

a{color:unset;}

a:hover{
	opacity: 0.7;
}

body{
	margin:0 auto !important;
}

rt{
	font-size: 12px;
}

.no-links {
    pointer-events: none;
    cursor: default;
}

.u-show_sp {
	display: none;
}

.u-hide-media {
	display: block;
}

.show-pc {
    display: inline-block;
}

.u-show-media {
	display: none;
}

.media_1023 {
	display: none;
}

.featurePage.wfix1{
	width: 100vw;
}

.max900 {
	max-width: 750px;
	margin: 0 auto;
}

.mb30{
	margin-bottom:30px;
}

.featureSp{
	display: none;
}


@media (max-width: 1023px){
	.contents_wrapper{
	width:94%;
	margin:0 auto;
	}
}

@media (max-width: 767px){
	.mb30{
		margin-bottom:20px;
	}

	rt{
		font-size: 10px;
	}

	.featureSp {
        display: block;
    }
}


/*-------------------------------------
ここまでbase
------------------------------------- */


/*-------------------------------------
nav
------------------------------------- */

.l-section-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	list-style: none;
	font-size: 18px;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 40px 0 50px;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.l-section-nav li {
	width: calc(100% / 4);
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

.l-section-nav li a {
	color: #fff;
	background: #aeb9c8;
	position: relative;
	display: block !important;
	text-align: center;
	padding: 21.5px 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	letter-spacing: 1px;
	line-height: 1.6;
	height: 100%;
	/* font-family: "HonMinKok-L", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; */
}


.l-section-nav li a:link,
.l-section-nav li a:visited {
	color: #fff;
}

.l-section-nav li a:link:hover,
.l-section-nav li a:visited:hover {
	color: #fff;
}

.l-section-nav li a:hover {
	opacity: 0.7;
}

.l-section-nav li a::after {
	position: absolute;
	display: block;
	content: '';
	top: -2px;
	bottom: 0;
	margin: auto;
	right: 8%;
	width: 7px;
	height: 7px;
	border-top: 1px solid;
	border-right: 1px solid;
	border-color: #fff;
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}

@media (max-width: 1023px) {
	
	.l-section-nav {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		font-size: 14px;
		margin: 30px 0;
	}

	.l-section-nav li {
		width: calc(100% / 2);
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		border-bottom: 1px solid #fff;
		border-right: 1px solid #fff;
	}


	.l-section-nav li:not(:nth-child(even)) {
		border-right: 1px solid #fff;
	}


	.l-section-nav li a {
		padding: 25px 0;
		display: block;
	}

	.l-section-nav li a::after {
		bottom: 15px;
		width: 7px;
		height: 7px;
		top: inherit;
		left: 0;
		right: 0;
		margin: auto;
	}

}

@media (max-width: 769px) {

	.l-section-nav {
		font-size: 16px;
		margin: 0 calc(50% - 50vw);
		width: 100vw;
	}

}



/*-------------------------------------
l-content
------------------------------------- */

.section_title {
	display: block;
	text-align: center;
	margin: 60px auto 0px;
}

/*------------------------
fadein
------------------------ */


  /*アニメーション要素のスタイル*/
  .animation{
	opacity : 0;
	visibility: hidden;
	transition: 2.5s;
	transform: translateY(30px);
  }
  /*アニメーション要素までスクロールした時のスタイル*/
  .active{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
  }

  .fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition : all 2s;
}

.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}

.fade-in-bottom {
	opacity: 0;
	animation-name: fadein-bottom;
	animation-duration: 1s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
 }

 @keyframes fadein-bottom {
	0% {
	   opacity: 0;
	   transform: translateY(20px);
	}
	100% {
	   opacity: 1;
	   transform: translateY(0);
	}
 }

/*------------------------
section
------------------------ */

.text_right {
    display: block;
    float: right;
	margin-right: 80px;
}


.bg_gray {
    background: #f3f3f3;
    padding: 10px 0px;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}


.main-mv {
	margin-bottom: 40px;
}

.section_txt_main {
	font-size:16px;
	line-height: 2;
	text-align: left;
	margin: 0px 0 30px;
}

.section_txt {
	font-size:16px;
	line-height: 2;
	text-align: left;
	margin: 30px 0;
}



.h2_txt {
    font-family: "HonMinKok-L", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    line-height: 1.8;
    font-size: 32px !important;
    text-align: left !important;
    margin: 40px auto 30px;
    font-weight: normal;
}



.title_bg{
	padding: 20px;
    font-size: 20px;
	margin: 30px auto;
    display: block;
    color: #333;
    background: #d1d1d1;
    text-align: center;
}

.icon_title{
	display: flex;
    align-items: center;
    justify-content: center;
}

.octagon {
    background: #c6b7a2;
    width: 25px;
    display: inline-block;
    height: 25px;
    margin-right: 10px;
    clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
}

.h4_txt {
    font-family: "HonMinKok-L", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    line-height: 1.8;
    font-size: 30px;
    text-align: center;
    margin: 50px auto -30px;
    font-weight: normal;
}


.h2-shoulder {
    font-size: 26px !important;
}

.h3_txt {
    font-size: 26px;
    text-align: center;
    font-family: "HonMinKok-L","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
    line-height: 1.6;
    margin:30px auto;
}

.h3_txt_left{
	text-align: left !important;
    margin-bottom: 0px !important;
    font-size: 36px !important;
}

.arrow_box{
	margin: -40px auto 30px;
    display: inline-flex;
    width: 48%;
	text-align: center;

}

.arrow{
	max-width: 85px;
    margin: 0 auto;
    display: block;
}

.text_link{
	color: #a97;
    text-decoration: 1px underline;
    margin: 20px auto 0;
	text-align: center;
}

.text_link a{
	transition: all 0.35s;
}

.text_link a:hover{
	opacity: 0.7;
}

.feature_linkBtn{
	max-width: 500px !important;
    width: 100% !important;
}

.feature_linkBtn.gry{
	background: #888;
    color: #fff;
    padding: 10px 0;
    max-width: 350px;
}

.feature_linkBtn.gry a{
	transition: all 0.35s;
}

.feature_linkBtn.gry a:hover{
	opacity: 0.7;
}

.flexbox {
    display: flex;
	justify-content: space-between;
    flex-wrap: nowrap;
    margin-bottom: 60px;
    align-items: center;
}


.l-colom_tumb {
	order: 1;
	width: 48%;
}

.linkarea {
	order: 2;
	width: 52%;
	padding: 0px 0 0 20px;
}


.l-colom_tumb_invert {
	order: 2;
	width: 52%;
}

.linkarea_invert {
	order: 1;
	width: 52%;
	padding: 0 20px 0 0px;
}

.linkarea_title {
	text-align: center;
}






/*-------------------------------------
media
------------------------------------- */

/* 1023 */

@media (max-width: 1023px) {

	.linkarea_invert {
		padding: 0 9px 0 0px;
	}

	.h2-shoulder {
		font-size: 16px;
	}

	.h2_txt {
		font-size: 18px;
	}

	.pagetop {
		bottom: 2%;
		right: 3%;
	}

	.pagetop a {
		width: 35px;
		height: 35px;
	}

	.pagetop a::after {
		bottom: 10px;
		width: 10px;
		height: 10px;
	}

	.linkarea_title {
		padding: 0px 0 20px;
	}

	.linkarea {
		order: 2;
		width: 50%;
		padding: 0px 0 0 20px;
	}

	.media_1023 {
		display: block;
	}

	.h3_txt {
		font-size: 19px;
		line-height: 1.4;
	}

	.section_txt {
	    margin: 20px 0;
	}


}

/* 1023 */




/* @media */
@media (max-width: 767px) {

	.linkarea_title .h3_txt{
		margin-bottom:10px;
	}

	.arrow_box {
		margin: -20px auto 20px;
		display: inline-flex;
		width: 100%;
	}

	.heading_txt {
		padding: 30px 0 0px;
	}

	.heading_txt:before {
		position: absolute;
		bottom: -6px;
		left: calc(50% - 40px);
		width: 76px;
		height: 3px;
		content: '';
		border-radius: 3px;
		background: #a0868b;
	}
	
	.media_1023 {
		display: none;
	}

	.u-hide-media {
		display: none;
	}

	.u-show-media {
		display: inline-block;
	}

	.u-show_sp {
		display: block;
	}

	.title_bg{
		padding: 10px;
		font-size: 18px;
		margin: 20px auto;
	}

	.section_txt_main {
		font-size: 14px;
		line-height: 2;
		margin: 10px 0 0px;
	}


	.section_txt {
		font-size: 14px;
		line-height: 2;
		margin: 20px 0;
	}


	.main-mv {
		margin-bottom: 30px;
	}


	.flexbox {
		display: block;
		margin-bottom: 40px;
	}

	.l-colom_tumb , .l-colom_tumb_invert {
    	width: 100%;
    	display: block;
    	padding: 0%;
    	margin: 0 auto;
    	line-height: 0;
	}

	.linkarea , .linkarea_invert {
		order: 2;
		width: 100%;
		padding: 0px;
	}


	.linkarea_title {
		padding: 20px 0 0;
		text-align: left;
		font-size: 14px;
	}


	.h2_txt {
		font-size: 19px !important;
		margin:40px auto 20px !important;
	}


	.sp_sub {
		font-size: 19px;
		margin: 30px 0 -30px;
	}

	.h4_txt {
		font-size: 19px;
		margin: 30px 0 -10px;
	}
	.h2-shoulder {
		font-size: 16px !important;
	}

	.h3_txt {
		font-size: 20px !important;
		margin:20px auto;
		line-height: 1.6;
		letter-spacing: -0.2px;
	}

	.h3_txt_left{
		text-align: left;
		margin-bottom: 0px;
		font-size: 30px !important;
		line-height: 1;
	}

	.wide_width {
		margin: 0 calc(50% - 50vw) 30px;
		width: 100vw;
	}

	.show-pc {
		display: none;
	}

	.text_right {
		display: block;
		float: right;
		margin-right: 50px;
	}

	/* @media */
}


span.underline{
	background-repeat: repeat-x;
	background-size: 1.6em 0.6em, 1.6em 0.2em, 4.1em 0.3em, 3.2em 0.3em;
    background-position: right bottom;

    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(246,89,115,0)), color-stop(0.1, rgba(246,89,115,0.02)), color-stop(0.5, rgba(184, 199, 229,1)), color-stop(0.98, rgba(246,89,115,0)), to(rgba(246,89,115,0)) );
    background-image:
            -webkit-radial-gradient(center center,0.2em 0.1em,rgba(184, 199, 229, 1) 0,rgba(246,89,115,0) 0.1em,rgba(246,89,115,0) 0.2em),
            -webkit-radial-gradient(center center,0.4em 0.1em,rgba(184, 199, 229, 1) 0,rgba(246,89,115,0) 0.3em,rgba(246,89,115,0) 0.4em),
            -webkit-radial-gradient(center center,0.7em 0.1em,rgba(184, 199, 229, 1) 0,rgba(246,89,115,0) 0.6em,rgba(246,89,115,0) 0.7em),
            -webkit-radial-gradient(center center,7.1em 0.1em,rgba(184, 199, 229, 1) 0,rgba(246,89,115,0) 7em,rgba(246,89,115,0) 7.1em);
	background-image: 
	radial-gradient(2.4em 0.3em at center center, rgba(184, 199, 229, 1), rgba(246, 89, 115, 0)), 
	radial-gradient(1.4em 0.1em at center center, rgba(184, 199, 229, 1), rgba(246, 89, 115, 0)), 
	radial-gradient(1.7em 0.4em at center center, rgba(184, 199, 229, 1), rgba(246, 89, 115, 0)), 
	radial-gradient(12.1em 0.1em at center center, rgba(184, 199, 229, 1), rgba(246, 89, 115, 0));
}

.good_txt{
    display: block;
    font-size: 18px;
    margin: 0 0 20px;
}

.good_txt span{
    text-underline-offset: 3px;
    text-decoration-line: underline;
    text-decoration-thickness: 6px;
    text-decoration-color: #e8e082;
}

.center_txt{
	text-align: center;
}

a.link{
	border-bottom: solid 1px #333;
    display: inline;
    transition: all 0.35s;
	color: #333 !important;
}


.h2_blue{
	background-color: #e0eaf6;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #2c4d75;
	padding: 7px 0;
	margin: 0 calc(50% - 50vw) !important;
}

.h2_blue:before{
  content: "";
  flex-grow: 1;
  max-width:320px;
  height: 1px; /* 線の太さ */
  background: #2c4d75; /* 線の色 */
  margin:0 1em 0 0.85em; /* 文字と線の余白 */
}
.h2_blue:after {
	content: "";
	flex-grow: 1;
	max-width:320px;
	height: 1px; /* 線の太さ */
	background: #2c4d75; /* 線の色 */
	margin:0 0.85em 0 1em; /* 文字と線の余白 */
}

.point_box{
	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
	margin: 50px 0 0;
	gap: 10px;
}

.point_title{
	width: 30%;
	font-size: 20px;
	padding: 0 15px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.point_icon{
	width: 35%;
	max-width: 100px;
}

.point_detail{
    width: 70%;
	padding: 0 0 0 1em;
}

.series_box{
	margin: 60px 0 60px;
}

.number_color{
	background: #727171;
	color: #ffffff;
    padding: 2px 8px;
    margin-right: 5px;
}

.light_2colbox{
	display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
    text-align: left;
    justify-items: center;
}

.light_2colbox div{
	position:relative;
}

.light_2colbox div a{
	position: absolute;
	top:0;
	left:0;
	height: 100%;
	width: 100%;
}

.light_urbanbox img,
.light_naturalbox img{
    max-width: 200px;
	margin:0 auto;
	display: block;
}

.light_urbanbox div,
.light_naturalbox div{
    text-align: center;
	font-size: 16px;
	margin-bottom: 40px;
}

.light_urbanbox_txt{
	/*background: #cac5be;
	max-width: 300px;
    border-radius: 50%;
    box-shadow: 0px 0px 10px 10px #cac5be;
    margin: 20px 20px;*/
}

.light_naturalbox_txt{
	/*background: #d2e1d5;
    max-width: 300px;
    border-radius: 50%;
    box-shadow: 0px 0px 10px 10px #d2e1d5;
    margin: 20px 20px;*/
}

.col3_content_box{
	display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px 20px;
    margin: 60px auto;
}

.col3_content{
	display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.col3_content .section_txt{
	margin:0 !important;
	flex-grow: 1;
}

.col3_content .feature_linkBtn{
	margin:0 !important;
}

.col3_content_title{
	text-align: center;
    background: #eeebe4;
    padding: 15px 0;
    margin-bottom: 10px;
	width: 100%;
}

/* 1023 */

@media (max-width: 1023px) {

	.point_box{
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
		margin: 50px 0 20px;
	}
	
	.point_title{
		width: 30%;
		font-size: 22px;
		padding: 0 15px;
		position: relative;
	}

	.point_icon{
		width: 35%;
		max-width: 100px;
	}
	
	
	.point_detail{
		width: 60%;
		padding: 0 0 0 1em;
	}

	.series_box{
		margin: 60px 0 60px;
	}
}




/* @media */
@media (max-width: 767px) {


	.good_txt{
		display: block;
		font-size: 16px;
		margin: 0 0 20px;
	}


	.point_box{
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
		margin: 40px 0 20px;
		gap: 10px;
	}

	.point_title{
		width: 100%;
		font-size: 18px;
		padding: 0 0.5em;
	}

	.point_icon{
		width: 30%;
		max-width: 100px;
	}


	.point_detail{
		width: 100%;
		padding: 0;
		font-size: 14px;
	}

	.series_box{
		margin: 40px 0 40px;
	}

	.light_urbanbox img,
	.light_naturalbox img {
		max-width: 110px;
	}

	.light_urbanbox div,
    .light_naturalbox div{
        text-align: center;
     	font-size: 14px;
	    margin-bottom: 40px;
    }

	.light_urbanbox div,
	.light_naturalbox div {
		font-size: 12px;
		margin-bottom: 30px;
	}

	.light_naturalbox_txt {
		/*box-shadow: 0px 0px 10px 10px #d2e1d5;
		margin: 15px 0px;*?
	}

	.light_urbanbox_txt{
		/*box-shadow: 0px 0px 10px 10px #cac5be;
		margin: 15px 0px;*/
	}

	.light_2colbox {
		gap: 20px;
		font-size: 14px;
		grid-template-columns: 1fr 1fr;
	}

	.col3_content_box {
		grid-template-columns: 1fr 1fr;
		gap: 20px 10px;
		margin: 40px auto;
	}

	.number_color {
		padding: 2px 8px;
		margin-right: 5px;
	}

	.feature_linkBtn.wht a {
		font-size: 14px;
	}
}

/* accordion */
.accordion{
	/*margin:60px 0;*/
}

.toggle {
	display: none;
}
.Label {		/*タイトル*/
	padding: 20px;
	font-size: 20px;
	display: block;
	color: #333;
	background:#d1d1d1;
	text-align: center;
}
.Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.Label,
.accordion_contents {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.accordion_contents {		/*本文*/
	height: 0;
	margin:10px 0;
	/*padding:0 20px;*/
	overflow: hidden;
}
.toggle:checked + .Label + .accordion_contents {	/*開閉時*/
	height: auto;
	/*padding:20px ;*/
	transition: all .3s;
}
.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}

.accordion_contents .feature_linkBtn{
	margin:30px auto 60px;
}

/*accordion2*/

.toggle2 {
	display: none;
}
.Label2 {		/*タイトル*/
	padding: 20px;
	font-size: 20px;
	display: block;
	color: #333333;
	background:#d1d1d1;
	text-align: center;
}
.Label2::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(-45deg);
}
.Label2,
.accordion_contents2 {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.accordion_contents2 {		/*本文*/
	height: auto;
	/*padding:20px ;*/
	margin-bottom:10px;
	overflow: hidden;
}
.toggle2:checked + .Label2 + .accordion_contents2 {	/*開閉時*/
	height: 0;
	/*padding:0 20px ;*/
	transition: all .3s;
}
.toggle2:checked + .Label2::before {
	transform: rotate(135deg) !important;
}

@media (max-width: 767px) {

	.Label {
		padding: 15px;
		font-size: 14px;
	}

	.toggle:checked + .Label + .accordion_contents {
		/*padding: 15px;*/
	}

	.accordion_contents .feature_linkBtn{
		margin:20px auto 40px;
	}

	.Label::before{
		top: unset;
		bottom: 10px;
		right: 50%;
	}

	.toggle:checked + .Label::before {
		transform: rotate(135deg) !important;
	}
}