@charset "utf-8";

/**
 *
 *  サイト共通
 *
 */

/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,ins,kbd,q,samp,small,strong,
sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,
figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
body{line-height:1;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
nav ul{list-style:none;}
ul,ol,li,dl,dt,dd{list-style-type:none;list-style-position:outside;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:none;}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
img{vertical-align:top;border:0;}
table{border-collapse:collapse;border-spacing:0;}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:0;padding:0;}
input,select{vertical-align:middle;}

h1,h2,h3,h4,h5,h6{
	font-weight: 500;
}

/*--------------------------------------------------------------------------
   html
---------------------------------------------------------------------------*/

html{
	overflow-y: scroll;
	font-size: 62.5%;
}


/*--------------------------------------------------------------------------
   body
---------------------------------------------------------------------------*/

body{
	color: #FFF;
	background: #FFF;
	font-family: "Noto Serif JP","YuMincho","Yu Mincho","HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 1.4rem;
	line-height: 1.8;	
}

/* fonts */
.sans-serif{
	font-family:"Noto Sans JP","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","游ゴシック体", "Yu Gothic", YuGothic,"メイリオ",Meiryo ,"ＭＳ Ｐゴシック" ,"MS P Gothic" ,sans-serif;
}
.en{
  font-family: "EB Garamond", serif;
}


/*--------------------------------------------------------------------------
   base link
---------------------------------------------------------------------------*/

a{
	outline: none;
}
a:link,
a:visited{
	text-decoration: none;
	color: #FFF;
}

.ophover{
	transition: opacity ease .3s;	
}
.ophover:hover{
	opacity: .7;
}


/*--------------------------------------------------------------------------
   img
---------------------------------------------------------------------------*/
img{
	max-width: 100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: crisp-edges;		
}

/*--------------------------------------------------------------------------
   Animation
---------------------------------------------------------------------------*/

.fade,.fade01,.fade02,.fade03,.fade04,
.delay01,.delay02,.delay03,.delay04,.delay05 {
	transition: 1.5s;
}
.fade {
	opacity: 0;
	transform: translate(0,0); 
}
.fade01{
	opacity: 0;
	transform: translate(0,100px); 
}
 .fade02 {
	opacity: 0;
	transform: translate(0,-100px); 
}
.fade03 {
	opacity: 0;
	transform: translate(-100px,0); 
}
.fade04 {
	opacity: 0;
	transform: translate(100px,0); 
}
.delay01{
	transition-delay: 0.3s;		
}
.delay02{
	transition-delay: 0.6s;		
}
.delay03{
	transition-delay: 0.9s;		
}
.delay04{
	transition-delay: 1.2s;		
}
.delay05{
	transition-delay: 1.5s;		
}

 .mv {
	opacity: 1;
	transform: translate(0,0); 
}


/*--------------------------------------------------------------------------
   PC
---------------------------------------------------------------------------*/
.sp{
	display: none;	
}
/* box-sizing ---*/	
header, footer, section, div, h1, h2, h3, h4, h5, p, ul, ol, li, dl, dt, dd, th, td, a, span {
	box-sizing: border-box;
}



/*--------------------------------------------------------------------------
   Container
---------------------------------------------------------------------------*/
#Page{
	overflow: hidden;	
}
.inner{
	max-width: 1240px;
	padding: 0 20px;
	margin: 0 auto;
}
.narrow-inner{
	max-width: 1020px;
	padding: 0 20px;
	margin: 0 auto;
}
.layout-box{
  display: flex;
  justify-content: space-between;  
}


/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/
#Content {
	padding-top: 180px;
	background:url(../image/bg_body02_pc.jpg) repeat-y;
	background-size: 100% auto;
}

.txt-lead{
	font-weight: 500;	
}


/* パンくずリスト
-----------------------------------------------------------------*/
.breadcrumb{
	max-width: 1240px;
	margin: 0 auto;
	padding: 15px 20px;
	color: #FFF;	
	font-size: 1.2rem;
}
.breadcrumb li{
	display: inline-block;	
}
.breadcrumb li:nth-child(n+2)::before{
	display: inline-block;
	content: "/";	
	margin: 0 0.5em;
}

.sp-breadcrumb{
	display: none;
}

/* 見出し
-----------------------------------------------------------------*/
/* page-ttl */
.page-ttl{
	position: relative;
	height: 380px;
	padding-top: 85px; 	
}
.page-ttl::before{
	position: absolute;
	right: 0;
	top: 0;
	display: block;
	content: "";
	width: calc(845px + (100% - 1200px)/2);
	height: 100%;
	background: no-repeat center center ;
	background-size: cover;
}
.page-ttl h1{
	position: relative;
	padding-bottom: 45px;
	color: #fc0;
	line-height: 1;
	letter-spacing: .08em;	
}
.page-ttl h1::after{
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	content: "";
	width: 128px;
	height: 1px;
	background: #fc0;	
}
.page-ttl h1 .en{
	display: block;
	margin-bottom: 15px;
	font-size: 6.8rem;
}
.page-ttl h1 .ja{
	font-size: 2rem;	
}


@media screen and (max-width: 1240px) {

	.page-ttl::before{
		width: calc(100% - 355px);
		background-size: auto 100%;	
	}
	
}




/* page-ttl-lower */
.page-ttl-lower{
	text-align: center;
	line-height: 1.4;
	letter-spacing: .08em;	
}
.page-ttl-lower .en{
	display: block;
	font-size: 3.8rem;	
}
.page-ttl-lower .ja{
	font-size: 1.2rem;
}



/* ボタン
-----------------------------------------------------------------*/
.btn-req,
.btn-res{
	background: #FFF;		
}
.btn-req a,
.btn-res a{
	position: relative;
	display: block;
	padding: 1em 20px;
	font-size: 2rem;
	color: #FFF;
	text-align: center;
	transition: .3s;	
}
.btn-req a{
	background-image: linear-gradient( 90deg, rgb(227,179,107) 0%, rgb(189,140,66) 20%, rgb(189,140,66) 58%, rgb(189,140,66) 100%);	
}
.btn-res a{
	background-image: linear-gradient( 90deg, rgb(234,66,47) 0%, rgb(175,41,26) 20%, rgb(175,41,26) 58%, rgb(175,41,26) 100%);
}
.btn-req a::after,
.btn-res a::after{
	position: absolute;
	right: 10px;
	top: 48%;
	transform: translateY(-50%);
	display: block;
	content: "";
	width: 28px;
	height: 8px;
	background:url(../image/arw_btn_w.svg) no-repeat;
	background-size: 100% auto;
	transition: .3s;	
}
.btn-req a:hover,
.btn-res a:hover{
	opacity: .7;	
}
.btn-req a:hover::after,
.btn-res a:hover::after{
	right: 5px;
}

.cv-btn-list{
	display: flex;
	justify-content: space-between;
	max-width: 740px;
	margin: 0 auto;	
}
.cv-btn-list li{
	max-width: 360px;	
	width: calc(50% - 5px);
}


/* btn-base */
.btn-base{
	background: #FFF;		
}
.btn-base a{
	position: relative;
	display: block;
	padding: 1em 20px;
	background-image: linear-gradient( 90deg, rgb(227,179,107) 0%, rgb(189,140,66) 20%, rgb(189,140,66) 58%, rgb(189,140,66) 100%);	
	font-size: 1.6rem;
	color: #FFF;
	text-align: center;
	transition: .3s;	
}
.btn-base a::after{
	position: absolute;
	right: 10px;
	top: 48%;
	transform: translateY(-50%);
	display: block;
	content: "";
	width: 28px;
	height: 8px;
	background:url(../image/arw_btn_w.svg) no-repeat;
	background-size: 100% auto;
	transition: .3s;	
}
.btn-base a:hover{
	opacity: .7;	
}
.btn-base a:hover::after{
	right: 5px;
}


/* 注釈
-----------------------------------------------------------------*/
.page-notes{
	padding: 50px 0 70px;
	background: #e2e2e2;	
}
.page-notes ul li,
.page-notes p{
	color: #333;	
	font-size: 1.2rem;
	text-indent: -1em;
	padding-left: 1em;
}


/* cont-nav
-----------------------------------------------------------------*/
.cont-nav-list{
	display: flex;	
}
.cont-nav-list li{
	width: 50%;
	background: no-repeat center center;
	background-size: cover;		
}
.cont-nav-list li a{
	position: relative;
	display: block;
	height: 180px;
	padding: 43px 20px 0 10vw;	
}
.cont-nav-list li a::before{
	position: absolute;
	right: 30px;
	top: 50%;
	z-index: 10;
	transform: translateY(-50%);
	display: block;
	content: "";
	width: 38px;
	height: 9px;
	background:url(../image/arw_w.svg) no-repeat;
	background-size:100% auto;
	transition: .3s;	
}
.cont-nav-list li a:hover::before{
	right: 25px;	
}
.cont-nav-list li a::after{
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background: no-repeat center center;
	background-size: cover;
	opacity: 0;
	transition:.3s; 		
}
.cont-nav-list li a:hover::after{
	opacity: 1;
}
.cont-nav-list h3{
	position: relative;
	z-index: 5;
	padding-bottom: 22px;
	line-height: 1;
	letter-spacing: .08em;
}
.cont-nav-list h3::after{
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	content: "";
	width: 78px;
	height: 1px;
	background: #FFF;	
}
.cont-nav-list h3 .en{
	display: block;
	margin-bottom: 15px;
	font-size: 3.8rem;		
}
.cont-nav-list h3 .ja{
	font-size: 1.3rem;	
}

/* concept */
.cont-nav-list .concept{
	background-image:url(../image/bg_bnr_concept.png);
}
.cont-nav-list .concept a::after{
	background-image:url(../image/bg_bnr_concept_ov.png);
}

/* landplan */
.cont-nav-list .landplan{
	background-image:url(../image/bg_bnr_landplan.png);
}
.cont-nav-list .landplan a::after{
	background-image:url(../image/bg_bnr_landplan_ov.png);
}




/* clearfix
-----------------------------------------------------------------*/
.cf:after{
	clear :both;
	content: "";
	display: block;
	height: 0;
}




/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
body{

}
#Page {
	min-width: 320px;	
}
#Page img{
	width: 100%;
	height: auto;
}
.pc{
	display: none;	
}
.sp{
	display: block;	
}
img.sp,
br.sp{
	display: inline;
}

.ophover:hover{
	opacity: 1;
}

/*--------------------------------------------------------------------------
   Container
---------------------------------------------------------------------------*/
.inner,
.narrow-inner{
	max-width: initial;	
}


/*--------------------------------------------------------------------------
   Container
---------------------------------------------------------------------------*/


/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/
#Content {
	padding-top: 65px;
}


/* パンくずリスト
-----------------------------------------------------------------*/
	.breadcrumb{
		display: none;
	}

	.sp-breadcrumb{
		display: block;
		padding: 20px;
		background: #FFF;
		color: #333;
		font-size: 1rem;
	}
	.sp-breadcrumb li{
		display: inline-block;	
	}
	.sp-breadcrumb li:nth-child(n+2)::before{
		display: inline-block;
		content: "/";	
		margin: 0 0.5em;
	}
	.sp-breadcrumb a{
		color: #333;	
	}


/* 見出し
-----------------------------------------------------------------*/
/* page-ttl */
	.page-ttl{
		height: auto;
		padding-top: 0; 	
	}
	.page-ttl .inner{
		padding: 0;
	}
	.page-ttl::before{
		position: static;
		width: 100%;
		height: 40.86vw;
	}
	.page-ttl h1{
		margin: 20px;
		padding-bottom: 25px;
	}
	.page-ttl h1::after{
		width: 80px;
	}
	.page-ttl h1 .en{
		margin-bottom: 12px;
		font-size: 4.1rem;
	}
	.page-ttl h1 .ja{
		font-size: 1.4rem;	
	}




/* page-ttl-lower */
	.page-ttl-lower .en{
		font-size: 2.5rem;	
	}
	.page-ttl-lower .ja{
		font-size: 1rem;
	}




/* ボタン
-----------------------------------------------------------------*/
	.btn-req a,
	.btn-res a{
		font-size: 1.6rem;
	}
	.btn-req a:hover,
	.btn-res a:hover{
		opacity: 1;	
	}
	.btn-req a:hover::after,
	.btn-res a:hover::after{
		right: 10px;
	}
	
	.cv-btn-list{
		display: block;
		max-width: 315px;	
	}
	.cv-btn-list li{
		max-width: none;	
		width: 100%;
	}
	.cv-btn-list li:nth-child(n+2){
		margin-top: 15px;
	}
	
	.btn-base a{
		font-size: 1.4rem;
	}
	.btn-base a:hover{
		opacity: 1;	
	}
	.btn-base a:hover::after{
		right: 10px;
	}


/* 注釈
-----------------------------------------------------------------*/
	.page-notes{
		padding: 30px 0;
	}
	.page-notes ul li,
	.page-notes p{
		font-size: 1rem;
		line-height: 1.5;
	}
	.page-notes ul li:nth-child(n+2),
	.page-notes p:nth-child(n+2){
		margin-top: 3px;
	}



/* cont-nav
-----------------------------------------------------------------*/
	.cont-nav-list{
		display: block;	
	}
	.cont-nav-list li{
		width: 100%;
	}
	.cont-nav-list li a{
		height: 38.66vw;
		padding: 9.5vw 20px 0;	
	}
	.cont-nav-list li a::before{
		right: 20px;
		top: 50%;
		width: 25px;
		height: 8px;
	}
	.cont-nav-list li a:hover::before{
		right: 20px;	
	}
	.cont-nav-list h3{
		padding-bottom: 15px;
	}
	.cont-nav-list h3::after{
		width: 27px;
	}
	.cont-nav-list h3 .en{
		margin-bottom: 10px;
		font-size: 2.5rem;		
	}
	.cont-nav-list h3 .ja{
		font-size: 1rem;	
	}

/* concept */
	.cont-nav-list .concept{
		background-image:url(../image/bg_bnr_concept.png);
	}
	.cont-nav-list .concept a::after{
		background-image:url(../image/bg_bnr_concept_ov.png);
	}

/* landplan */
	.cont-nav-list .landplan{
		background-image:url(../image/bg_bnr_landplan.png);
	}
	.cont-nav-list .landplan a::after{
		background-image:url(../image/bg_bnr_landplan_ov.png);
	}




}

/*フキダシ*/
.intro .narrow-inner .cv-btn-list .btn-req, .intro .narrow-inner .cv-btn-list .btn-res{
    background: none;
}

.balloon_req, .balloon_res{
    position: relative;
    display: block;
    margin: 0 auto 5%;
    padding: 7px 10px;
    min-width: 120px;
    width: 90%;
    color: #FFF;
    font-size: 16px;
    background: #000; 
    border: solid 1px #fff;
    box-sizing: border-box;
}

.balloon_req:before, .balloon_res:before {
      content: "";
    position: absolute;
    bottom: -25px;
    left: 50%;
    margin-left: -14px;
    border: 12px solid transparent;
    border-top: 8px solid #000;
    border-top: 13px solid #000;
    z-index: 2;
}

.balloon_req:after, .balloon_res:after {
  content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    margin-left: -17px;
    border: 15px solid transparent;
    border-top: 15px solid #fff;
    z-index: 1;
}

.balloon_req p, .balloon_res p {
  margin: 0;
  padding: 0;
    text-align: center
}

@media screen and (max-width: 768px){
    .intro .narrow-inner .cv-btn-list .btn-req, .intro .narrow-inner .cv-btn-list .btn-res{
        margin-bottom: 40px
}
    .balloon_req, .balloon_res{
    position: relative;
    display: block;
    margin: 0 auto 5%;
    padding: 7px 10px;
    min-width: 120px;
    width: 90%;
    color: #FFF;
    font-size: 16px;
    background: #000;
    border: solid 1px #fff;
    box-sizing: border-box;
    }

.balloon_req:before, .balloon_res:before {
    content: "";
    position: absolute;
    bottom: -26px;
    left: 50%;
    margin-left: -16px;
    border: 14px solid transparent;
    border-top: 13px solid #000;
    z-index: 2;
}

.balloon_req:after, .balloon_res:after {
    content: "";
    position: absolute;
    bottom: -29px;
    left: 50%;
    margin-left: -16px;
    margin-left: -17px;
    border: 15px solid transparent;
    border-top: 14px solid #fff;
    z-index: 1;
}
}

.balloon_req p, .balloon_res p {
  margin: 0;
  padding: 0;
    text-align: center
}
