﻿/* ********** WRAP ********** */
img {
	max-width:100%;
}

h1 {
	//position:relative;
}

h1 img {
	margin:0 auto;
}

.font_notoserif {
    font-family: 'Noto Serif JP', serif;
}
.font_notosans {
    font-family: 'Noto Sans JP', sans-serif;
}

body {
	//font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}



/* ----------------------------------------------------

common

---------------------------------------------------- */
.bkcolor_wrap {
	background-color: #f8f6f1;
}

.bkcolor_wrap:nth-of-type(2) {
	margin-bottom:0;
}
@media only screen and (min-width:768px) {
	.bkcolor_wrap:nth-of-type(2) {
		margin-bottom:9rem;
	}	
}



/* 
 js-animation
-------------------------*/
.js-animation {
	  opacity: 0;
	  visibility: hidden;
	  transform: translateY(40px);
	  transition: all 1.4s;
	  position: relative;
	  overflow: hidden;
}
.js-animation.is-show {
	opacity: 1;
    visibility: visible;
	transform: translateY(0px);
}

@media only screen and (max-width: 768px) {
	.js-animation {
		  opacity: 0;
		  visibility: hidden;
		  transform: translateY(40px);
		  transition: all 1.4s;
		  position: relative;
		  overflow: hidden;
	}
	.js-animation.is-show {
		  opacity: 1;
		  visibility: visible;
		  transform: translateY(0px);
	}
}

@media only screen and (min-width: 769px) {
	.js-animation {
		  opacity: 0;
		  visibility: hidden;
		  transform: translateY(40px);
		  transition: all 1.4s;
		  position:relative;
		  overflow:hidden;
	}
	.js-animation.is-show {
		  opacity: 1;
		  visibility: visible;
		  transform: translateY(0px);
	}
}


/* 
 js underline 
-------------------------*/
.Text-Span {
  position: relative;
  z-index: 1;
  letter-spacing: 0.3px;
	display: inline-block;
}
.Text-Span:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -14px;
  width: 0%;
  height: 2px;
  background: #aba087;
  z-index: -1;
  transition: all 2s;
}
.Text-Span.isActive:after {
  width: 100%;
}





/* ----------------------------------------------------

 mv

---------------------------------------------------- */

/* ipad */
@media only screen and (max-width: 768px) {
	.mv{
         max-height:fit-content;
         position:relative;
    }
	.bg_mv {
		background-image: url("/reason/images/main_ipad.jpg");
		max-width: 100vw;
		height:100vh;
		background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
	}
	.bg_mv h1 {
		position: absolute;
		left: 1.5%;
		top: 59%;
		padding: 0;
		font-size: 4rem;
		font-family: 'Shippori Mincho', serif;
		color: #fff;
		font-weight:normal;
		text-align: center;
		text-shadow: 5px 1px 7px #000;
	}
	.bg_mv h1 span {
		letter-spacing:10px;	
	}
}


/* pc */
@media only screen and (min-width: 769px) {
	.mv{
         max-height:fit-content;
         position:relative;
    }
	.bg_mv {
		background-image: url("/reason/images/main_pc.jpg");
		max-width: 100vw;
		height:90vh;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
	}
	.bg_mv h1 {
		position: absolute;
		left: 3.5%;
		top: 63%;
		padding: 0;
		font-size: 4rem;
		font-family: 'Shippori Mincho', serif;
		color: #fff;
		font-weight:normal;
		text-align: center;
		text-shadow: 5px 1px 7px #000;
		//display:inline;
	}
	.bg_mv h1 span {
		letter-spacing:10px;	
	}
}


/* sp */
@media only screen and (max-width: 414px) {
	.mv{
		max-height:700px;
		position:relative;
	}
	.bg_mv {
		background-image: url("/reason/images/main_sp.jpg");
		width: 100%;
		height: 100vh;
		background-repeat: no-repeat;
		background-position: top center;
		margin: 0 auto;
		background-size: contain;	
	}
	.bg_mv h1 {
		position: absolute;
		left: 3%;
		top: 57%;
		padding: 0;
		font-size: 2rem;
		font-family: 'Shippori Mincho', serif;
		color: #fff;
		font-weight:normal;
		text-align: center;
		text-shadow: 3px 1px 3px #000;
	}
	.bg_mv h1 span {
		letter-spacing:10px;	
	}
}


/* ----------------------------------------------------

 main_lead

---------------------------------------------------- */
.main_lead {
    margin: 0 2rem 3rem;
    background: #fff;
}
.main_lead h2 {
	font-size:1.2rem;
	line-height:1.8;
	letter-spacing:3px;
	margin:auto 0 2rem;
	font-family: 'Shippori Mincho', serif;
}

@media only screen and (min-width: 768px) {
	.main_lead {
		margin: 7rem auto;
		background: #fff;
	}
	.main_lead h2 {
		font-size:2rem;
		line-height:1.8;
		letter-spacing:3px;
		margin:auto 0 4rem;
		font-family: 'Shippori Mincho', serif;
	}
}


/*
 lead_img 
-------------------- */
/* ipad */
@media only screen and (max-width: 768px) {
    .lead_img {
    	
    }
}

/* pc */
@media only screen and (min-width: 769px) {
    .lead_img {
    	
    }
}

/* sp */
@media only screen and (max-width: 414px) {
    .lead_img {
    	
    }
}


/* ----------------------------------------------------

 point_nav

---------------------------------------------------- */
.point_nav {
    margin:auto 2rem 4rem;
}
.point_nav ul {
	display:flex;
	flex-flow:column wrap;
	justify-content:space-between;
	text-align:center;
}
.point_nav ul li {
	width:calc(100%);
	background:#f8f6f1;
	margin-bottom:1rem;
	display:flex;
	flex-flow:column nowrap;
	align-items:center;
}
.point_nav ul li div {
	//padding:2rem auto;

}
.point_nav ul li h3 {
	font-size:1.1rem;
	letter-spacing:2.5px;
	padding: 0.5rem 0 0.1rem;
	/* text-align:center; */
	position:relative;
}
.point_nav ul li .dw {
	color: #aba087;
	font-size: 0.75rem;
	letter-spacing: 1px;
	text-align: center;
	padding-bottom: 2.5rem;

}
.point_nav ul li .dw::after {
  content: "";
  position: absolute;
  right: 0;
  top: 28px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #aba087 transparent transparent transparent;
  border-width: 10px 10px 0 10px;
}

@media only screen and (min-width: 768px) {
	.point_nav {
        margin:auto auto 7rem;
	}
	.point_nav ul {
		display:flex;
		flex-flow:row nowrap;
		justify-content:space-between;
		text-align:center;
	}
	.point_nav ul li {
		width:calc(48.75%);
		background:#f8f6f1;
		margin-bottom:1rem;
		display:flex;
		flex-flow:column nowrap;
		align-items:center;
	}
	.point_nav ul li div {
		//padding:2rem auto;
	}
	.point_nav ul li h3 {
		font-size:1.2rem;
		letter-spacing: 5px;
		padding: 1.3rem 0 0.1rem;
		text-align: center;
		position:relative;
	}
	.point_nav ul li .dw {
		color: #aba087;
		font-size: 0.8rem;
		letter-spacing: 1px;
		text-align: center;
		padding-bottom: 0.5rem;
	}
	.point_nav ul li .dw::after {
	  content: none;
	}
	.point_nav ul li p {
		text-align:left;
		margin-bottom: 0.5rem;
		font-size: 0.9rem;
	}
	.point_nav ul li p:last-of-type {
		margin-bottom:4rem;		
	}
	.point_nav ul li p:last-of-type::after {
		content: "";
		position: absolute;
		right: 0;
		bottom: 25px;
		left: 0;
		width: 0px;
		height: 0px;
		margin: auto;
		border-style: solid;
		border-color: #aba087 transparent transparent transparent;
		border-width: 15px 15px 0 15px;
	}
    .point_nav ul li a {
		display:block;
	}
}

/* ipad */
@media only screen and (max-width: 768px) {
    .point_nav {
    	margin:auto 1rem 7rem;    	
    }
}
/* pc */
@media only screen and (min-width: 769px) {
    .point_nav {    	
    }
}
/* sp */
@media only screen and (max-width: 414px) {
    .point_nav {    	
    }
}



/* ----------------------------------------------------

 section common

---------------------------------------------------- */
/* 
section mv
------------------- */
.section_mv {
	margin:2rem;
}
@media only screen and (min-width: 768px) {
	.section_mv {
		margin:auto;
    }
}

/* ipad */
@media only screen and (max-width: 768px) {
    .section_mv {
    	margin:2rem;    	
    }
}
/* pc */
@media only screen and (min-width: 769px) {
    .section_mv {
    	margin:auto;    	
    }
}
/* sp */
@media only screen and (max-width: 414px) {
    .section_mv {
    	margin:2rem;    	
    }
}


/* 
section lead
------------------ */
.section_lead h4 {
	font-weight:normal;
	line-height:1.9;
	margin: 3rem 0 3.1rem;
	font-size:0.9rem;
	letter-spacing: 0.2px;
}
@media only screen and (min-width: 768px) {
    .section_lead h4 {
		font-weight:normal;
		line-height:1.9;
		margin: 3rem auto 3.1rem;
		font-size:1rem;
		letter-spacing: 0.3px;
	}
}


/* 
section col
----------------- */
.section_col {
    margin:auto 2rem;
}
.section_col ul {
	display:flex;
	flex-flow:column wrap;
	justify-content:space-between;
}
.section_col ul li {
	width: calc(100%);
	background-color:#fff;
	margin-bottom:2rem;
	padding:2rem;
}
.section_col ul li h4 {
	font-size:1.1rem;
	margin-bottom: 2rem;
}
.section_col ul li p {
	line-height:2.1;
	text-align:left;
	margin-bottom:1rem;
	font-size: 0.8rem;
}
.section_col ul li p sup {
	font-size:0.7rem;
	vertical-align:super;
}
.section_col ul li .note {
	text-align:left;
	font-size:0.6rem;
}
.section_col ul li:nth-of-type(1) .btn_smy {
	margin-top:0;
}
.section_col ul li:nth-of-type(2) .btn_smy {
	margin-top:0;
}
.section_col ul li:nth-of-type(3) .btn_smy {
	margin-top:0;
}
.section_col ul li:nth-of-type(4) .btn_smy {
	margin-top:0;
}
.section_col ul li .btn_smy {
	text-align:right;
	padding-right:1rem;
	font-size: 0.8rem;
	position:relative;
	text-decoration:underline;
}
.section_col ul li .btn_smy::after {
	content: "\f105";
	font-family: FontAwesome;
	position: absolute;
	font-size:1rem;
	top: 55%;
	right: 0%;
	transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {
	.section_col {
        margin:auto;
	}
	.section_col ul {
		display:flex;
		flex-flow:row wrap;
		justify-content:space-between;
	}
	.section_col ul li {
		width: calc(49.5%);
		background-color:#fff;
		margin-bottom:2rem;
		padding:4rem;
	}
	.section_col ul li h4 {
		font-size:1.27rem;
		margin-bottom:2.5rem;
	}
	.section_col ul li p {
		line-height:2.6;
		text-align:left;
		margin-bottom:2rem;
		font-size:.9rem;
	}
	.section_col ul li p sup {
		font-size:0.6rem;
		vertical-align:super;
	}
	.section_col ul li .note {
		text-align:left;
		font-size:0.65rem;
	}
	.section_col ul li:nth-of-type(1) .btn_smy {
		margin-top:4.3rem;
	}
	.section_col ul li:nth-of-type(2) .btn_smy {
		margin-top:0;
	}
	.section_col ul li:nth-of-type(3) .btn_smy {
		margin-top:4.3rem;
	}
	.section_col ul li:nth-of-type(4) .btn_smy {
		margin-top:0;
	}
	.section_col ul li .btn_smy {
		text-align:right;
		padding-right:1rem;
		font-size:0.9rem;
		position:relative;	
	}
	.section_col ul li .btn_smy:hover {
		text-decoration:underline;
	}
	.section_col ul li .btn_smy::after {
		content: "\f105";
		font-family: FontAwesome;
		position: absolute;
		font-size:1rem;
		top: 55%;
		right: 0%;
		transform: translateY(-50%);
	}
	.section_col ul li .btn_smy:hover::after {
		opacity:0.7;
	}	
}

/* ipad */
@media only screen and (max-width: 768px) {
    .section_col {
    	margin:auto 2rem;    	
    }
}
/* pc */
@media only screen and (min-width: 769px) {
    .section_col {    	
    }
}
/* sp */
@media only screen and (max-width: 414px) {
    .section_col {
    	margin:auto 2rem;    	
    }
}






/* 
btn_section_smy
----------------- */
.btn_section_smy {
    margin: 1rem 2rem 1.5rem;
}
.btn_section_smy a {
    border:1px solid #b1a187;
    background-color: #f8f6f1;
    font-size:0.9rem;
    letter-spacing:0.5px;
    padding:0.8rem;
    display:block;
    width:calc(100%);
    margin:0 auto;
    position:relative;
}
.btn_section_smy a::before {
	content: '';
	position: absolute;
	top: calc(50% - 1.9px);
	right: 2.1%;
	-ms-transform: translateY(calc(-50% - 1px)) rotate(30deg);
	transform: translateY(calc(-50% - 1px)) rotate(30deg);
	width: 12px;
	height: 1px;
	background-color: #b1a187;
    transition: 0.3s;
}
.btn_section_smy a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 2%;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 35px;
	height: 1px;
	background-color: #b1a187;
	transition: 0.3s;
}
.btn_section_smy a:hover {
	text-decoration: none;
	background-color: #cac3b3;
	color:#fff;
}
.btn_section_smy a:hover::before,
.btn_section_smy a:hover::after {
	right: -1rem; 
}

 /* btn 2 */
.point_03 .btn_section_smy a {
    border:1px solid #b1a187;
	background-color: #fff;
}
.point_03 .btn_section_smy a:hover {
	text-decoration: none;
	background-color: #cac3b3;
	color:#fff;
}



@media only screen and (min-width: 768px) {
	.btn_section_smy {
		margin:3rem auto;
	}
	.btn_section_smy a {
		border:2px solid #b1a187;
		background-color: #f8f6f1;
		padding:1rem;
		font-size:0.9rem;
		letter-spacing:1px;
		display:block;
		width:calc(50%);
		margin:0 auto;
		position:relative;
	}
	.btn_section_smy a::before {
		content: '';
		position: absolute;
		top: calc(50% - 1.9px);
		right: 2.1%;
		-ms-transform: translateY(calc(-50% - 1px)) rotate(30deg);
		transform: translateY(calc(-50% - 1px)) rotate(30deg);
		width: 12px;
		height: 2px;
		background-color: #b1a187;
		transition: 0.3s;
	}
	.btn_section_smy a::after {
		content: '';
		position: absolute;
		top: 51%;
		right: 2.5%;
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 70px;
		height: 2px;
		background-color: #b1a187;
		transition: 0.3s;
	}
	.btn_section_smy a:hover {
		text-decoration: none;
		background-color: #cac3b3;
		color:#fff;
	}
	.btn_section_smy a:hover::before,
	.btn_section_smy a:hover::after {
		right: -2rem; 
	}

    /* btn 2 */
    .point_03 .btn_section_smy a {
		border:2px solid #b1a187;
		background-color: #fff;
    }
    .point_03 .btn_section_smy a:hover {
		text-decoration: none;
		background-color: #cac3b3;
		color:#fff;
    }
}




/* ----------------------------------------------------

section_01. point_01

---------------------------------------------------- */
.point_01 {
	padding: 3rem 0;
}
@media only screen and (min-width: 768px) {
	.point_01 {
		padding: 8rem 0 6rem;
	}
}


/* ----------------------------------------------------

section_02. point_02

---------------------------------------------------- */
.point_02 {
	padding: 3rem 0;
}
.point_02 .section_col ul li {
		background-color: #f8f6f1;
	}
@media only screen and (min-width: 768px) {
	.point_02 {
		padding: 8rem 0 5rem;
	}
	.point_02 .section_col ul li {
		background-color: #f8f6f1;
	}
}


/* ----------------------------------------------------

section_03. point_03

---------------------------------------------------- */
.point_03 {
	padding: 3rem 0;
}
@media only screen and (min-width: 768px) {
	.point_03 {
		padding: 8rem 0;
	}
}

/* 
reform
----------------- */
.reform {
	padding:2rem;
	background-color:#fff;
	margin: auto 2rem;
}
.reform ul {
	display:flex;
	flex-flow: column-reverse wrap;
	justify-content:space-between;
	margin:0 0 1rem;
}
.reform ul li {
	width:calc(100%);
}
.reform ul li:last-of-type {
	text-align:left;
}
.reform ul li h5 {
    font-size:1rem;
    font-weight:normal;
    margin:1rem 0;
}
.reform ul li p {
	line-height:2;
	letter-spacing:0.4px;
	font-size:0.8rem;
	margin-bottom:1rem;
}

@media only screen and (min-width: 769px) {
	.reform {
		padding:3rem;
		background-color:#fff;
		margin: auto;
	}
	.reform ul {
		display:flex;
		flex-flow:row nowrap;
		justify-content:space-between;
		margin: 2rem 0;
	}
	.reform ul li {
		width: calc(47%);
	}
	.reform ul li:last-of-type {
		text-align:left;
		padding-right: 0.8rem;
	}
	.reform ul li h5 {
		font-size:1.5rem;
		font-weight:normal;
		margin: 1rem 0 2rem;
	}
	.reform ul li p {
		line-height:2;
		letter-spacing:0.4px;
		font-size: 0.9rem;
		margin-bottom:auto;
	}
}









footer img {
	width: 11rem;
	padding-bottom: 0.5rem;
}
footer p {
	font-size:0.8rem;
}

@media only screen and (min-width: 768px) {
	footer img {
		width: 10rem;
		padding-bottom: 0.5rem;
	}
	footer p {
		font-size:0.8rem;
	}
}

#footer #footer_nav {
    width: 100%;
    background-color: #ddd;
    font-family: YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}

.footer__spMenu__foot {
	 font-family: YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}



 /* ********** WRAP ********** */
/* 
 link - hover
-----------------------*/
*, *:after, *:before {
    outline: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a > * {
	transition: all .2s ease;
}

a:hover{ color: #9fa0a0;}
a:hover img{ opacity: .85;}




.wrapper {
	font-family: "Noto Sans Japanese";
	color:#000;
}

.contents,
.snsicon_wrap,
footer {
    background: #fff;
}










@media only screen and (min-width: 1100px) {
    section {
        width: 1100px;
        margin-left: auto;
        margin-right: auto;
    }
}




