@charset "UTF-8";


/* sec1
---------------------------------------------------------*/
#sec1{
	margin-bottom: 150px;
}
#sec1 .doc{
	position: relative;
	margin-bottom: 160px;
}
#sec1 .doc .img_l{
	position: absolute;
	height: 100%;
	width: auto;
	z-index: -1;
}
#sec1 .doc .img_l img{
	height: 100%;
	width: auto;
}
#sec1 .doc .txt_r{
	margin-left: auto;
	margin-right: 0;
	width: 53.5%;
	padding-top: min(115px,5vw);
	padding-bottom:min(130px,6.5vw);
	padding-right: 3%;
	box-sizing: border-box;
}
#sec1 .doc .txt_r .txt dt{
	font-size: min(335%,4vw);
	letter-spacing: 0.08em;
	line-height: 1.6em;
	margin-bottom: .9em;
}
.pro_fs21{
	font-size: min(130%,2vw);
	letter-spacing: 0.05em;
	line-height: 2.3em;
}
.pro_fs35{
	font-size: min(210%,3.2vw);
	letter-spacing: 0.08em;
	line-height: 1.8em;
}
#sec1 .doc .txt_r .name{
	font-size: min(150%,2.2vw);
	letter-spacing: 0.15em;
	padding-left: 1.2em;
	box-sizing:border-box;
	margin-top: 1.8em;
}
#sec1 .doc .txt_r .name h3{
	position: relative;
	line-height: 1em;
	margin-bottom: .7em;
}
#sec1 .doc .txt_r .name h3::before{
	position: absolute;
	display: block;
	content: "";
	top:0;
	left: -.8em;
	background: #c1472d;
	background-size: 100% auto;
	width: 1px;
	height: 1.1em;
	transform: rotate(35deg);
}
#sec1 .doc .txt_r .name p{
	font-size: 155%;
	letter-spacing: 0.2em;
	line-height: 1em;
}
#sec1 .doc .ft_cin{
	text-align: center;
	position: absolute;
	bottom: -0.6em;
	left: 0;
	right: 0;
	margin: 0 auto;
	font-size: min(630%,7vw);
	letter-spacing: 0.05em;
	line-height: 1em;
	color: #f1f0ee;
}

#sec1 .col3{
	max-width: 1320px;
	margin: 0 auto;
}
#sec1 .col3 li{
	position: relative;
	text-align: center;
	width: 33.333%;
	font-size: min(190%, 2.5vw);
	letter-spacing: 0.1em;
	line-height: 1.7em;
}
#sec1 .col3 li::before{
	position: absolute;
	display: block;
	content: "";
background: linear-gradient(to bottom,  rgba(114,94,87,0) 0%,rgba(114,94,87,1) 50%,rgba(114,94,87,0) 100%);
	background-size: 100% auto;
	width: 1px;
	height: 110%;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}
#sec1 .col3 li .icon{
	width: 3em;
	margin: 0 auto .8em;
}
#sec1 .col3 li span{
	font-size:130%;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#sec1 .doc .txt_r{
	width: 66%;
}
#sec1 .doc .txt_r .txt dt{
	margin-bottom: .3em;
	line-height: 1.4em;
}
.pro_fs21{
	letter-spacing: normal;
}
#sec1 .doc .txt_r .name{
	margin-top: 1.3em;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#sec1{
	margin-bottom:13%;
}
#sec1 .doc{
	margin-bottom:9%;
}
#sec1 .doc .txt_r{
	width: 62%;
}
#sec1 .doc .txt_r .txt dt{
	margin-bottom: .3em;
	line-height: 1.4em;
}
.pro_fs21{
	letter-spacing: normal;
	line-height: 2em;
}
.pro_fs35{
	letter-spacing: 0.05em;
	line-height: 1.6em;
}
#sec1 .doc .txt_r .name{
	margin-top: 1.3em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sec1{
	margin-bottom: 15%;
}
#sec1 .doc{
	margin-bottom: 8%;
}
#sec1 .doc .img_l{
	position: static;
	display: block;
	margin: 0 auto 5%;
	width: 100%;
}
#sec1 .doc .img_l{
	height: auto;
	width: auto;
}
#sec1 .doc .img_l img{
	height: auto;
	width: auto;
}
#sec1 .doc .txt_r{
	width:100%;
	padding: 0 4%!important;
}
#sec1 .doc .txt_r .txt dt{
	font-size: 190%;
	line-height: 1.5em;
	margin-bottom: .6em;
	text-align: center;
}
.pro_fs21{
	font-size:105%;
	letter-spacing:normal;
	line-height: 1.8em;
}
.pro_fs35{
	font-size:145%;
	letter-spacing: 0.01em;
	line-height: 1.6em;
}
#sec1 .doc .txt_r{
	text-align: center;
}
#sec1 .doc .txt_r dd{
	text-align: left;
}
#sec1 .doc .txt_r .name{
	display: inline-block;
	font-size:110%;
	letter-spacing: 0.15em;
	margin: 1.5em auto 0;
}
#sec1 .doc .ft_cin{
	top: 25vw;
	bottom: auto;
	left: auto;
	right: 0;
	margin-left: auto;
	margin-right: 0;
	font-size: 230%;
	letter-spacing: 0.01em;
	text-align: left;
	color: #fff;
}
#sec1 .col3 li{
	font-size: 95%;
	letter-spacing: normal;
}
}






/* sec2
---------------------------------------------------------*/
#sec2.bg{
	position: relative;
}
#sec2.bg::before{
	position: absolute;
	display: block;
	content: "";	
	background: url(../images/img03@2x.jpg)no-repeat top center;
	background-size: 100% auto;
	width: 100%;
	height: 1000px;
	top:calc(100% - 100px);
	left: 0;
	z-index: -1;
}
#sec2.bg::after{
	position: absolute;
	display: block;
	content: "";
	background: #f1f0ee;
	background-size: 100% auto;
	width: 100%;
	height: 100%;
	bottom:0;
	left: 0;
	z-index: -2;
}
#sec2 .box1{
	position: relative;
	margin-bottom: 90px;
}
#sec2 .box1 .img_r{
	position: absolute;
	top:  -45px;
	right: -7%;
	width: 58%;
}
#sec2 .box1 .txt_l{
	padding-top: 120px;
}
#sec2 .box1 .txt_l .pro_fs21{
	width: 45%;
	padding-left: 3.5%;
	box-sizing: border-box;
}

#sec2 .box2{
	width: 103%;
	margin-left: -1.5%;
	background: #463c33;
	padding: 80px 4%;
	box-sizing: border-box;
}
#sec2 .box2 ul{
	max-width: 1225px;
	margin: 0 auto;
}
#sec2 .box2 li{
	border-bottom: 1px solid #a79564;
	padding-bottom: 40px;
	margin-bottom: 40px;
	padding-left: 3.1rem;
	box-sizing: border-box;
}
#sec2 .box2 li:last-child{
	border-bottom:none;
	padding-bottom: 0;
	margin-bottom: 0;
}
#sec2 .box2 li .ft_no{
	position: relative;
	color: #d5bd8f;
	margin-bottom: .5em;
}
#sec2 .box2 li .ft_no::before{
	position: absolute;
	font-family: 'fontello';
	content: '\e807';
	font-size: 85%;
	top: .1em;	
	left: -3.1rem;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#sec2.bg::before{
	top:calc(100% - 8vw);
}
#sec2 .box1{
	margin-bottom: 8%;
}
#sec2 .box1 .img_r{
	top: -3vw;
	right: -8%;
}
#sec2 .box1 .txt_l{
	padding-top: 10%;
}
#sec2 .box1 .txt_l .pro_fs21{
	width:55%;
	padding-left: 0;
}
#sec2 .box2{
	padding:6% 4%;
}
#sec2 .box2 li{
	padding-bottom: 5%;
	margin-bottom:5%;
	padding-left: 2.2rem;
}
#sec2 .box2 li .ft_no{
	margin-bottom: .3em;
}
#sec2 .box2 li .ft_no::before{
	font-size: 80%;
	left: -2.2rem;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sec2.bg::before{
	top:calc(100% - 10vw);
}
#sec2.bg::after{
	height: calc(100% - 8vw);
}
#sec2 .box1{
	margin-bottom: 8%;
}
#sec2 .box1 .img_r{
	position: static;
	width: 90%;
	margin: 0 auto 10%;
}
#sec2 .box1 .txt_l{
	padding-top: 0;
}
#sec2 .box1 .txt_l .pro_fs21{
	width:100%;
	padding-left: 0;
}

#sec2 .box2{
	padding: 6% 4% 10%;
}
#sec2 .box2 li{
	padding-bottom: 6%;
	margin-bottom: 6%;
	padding-left: 2.5rem;
}
#sec2 .box2 li .ft_no{
	margin-bottom: .4em;
}
#sec2 .box2 li .ft_no::before{
	font-size: 80%;
	left: -2.5rem;
}
}






/* sec3
---------------------------------------------------------*/
#sec3.bg{
	position: relative;
	padding-top: 120px;
	padding-bottom: 190px;
}
#sec3.bg::before{
	position: absolute;
	display: block;
	content: "";
	background: #a79564;
	background-size: 100% auto;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	z-index: -2;
}
#sec3 .com_index4{
	margin-bottom: 3.5em;
}
#sec3 .box1{
	width: 103%;
	margin-left: -1.5%;
	background: #fff;
	padding: 120px 4% 100px;
	box-sizing: border-box;
}
#sec3 .box1 ol{
	max-width: 1220px;
	margin: 0 auto;
}
#sec3 .box1 ol li{
	margin-bottom: 120px;
}
#sec3 .box1 ol li:last-child{
	margin-bottom: 0;
}
#sec3 .box1 ol li .pro_fs35{
	position: relative;
	margin-bottom: 1em;
	text-align: center;
}
#sec3 .box1 ol li .pro_fs35::before{
	position: absolute;
	display: block;
	content: "01";
	top:35%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	font-family: "Cinzel", serif;
	font-optical-sizing: auto;
	font-weight: 400!important;
	font-style: normal;
	color: #f1f0ee;
	font-size: 400%;
	letter-spacing: 0.1em;
	line-height: 1em;
}
#sec3 .box1 ol li:nth-child(2) .pro_fs35::before{content: "02";}
#sec3 .box1 ol li:nth-child(3) .pro_fs35::before{content: "03";}

#sec3 .box1 ol li h4 span{
	position: relative;
	z-index: 2;
}
#sec3 .box1 ol li .com_btn1{
	margin-top: 1.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#sec3.bg{
	padding-top: 9vw;
	padding-bottom: 15%;
}
#sec3 .com_index4{
	margin-bottom: 2.3em;
}
#sec3 .box1{
	padding: 9% 4% 6%;
}
#sec3 .box1 ol li{
	margin-bottom: 10%;
}
#sec3 .box1 ol li .pro_fs35{
	margin-bottom: .6em;
}
#sec3 .box1 ol li .com_btn1{
	margin-top: 1em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sec3.bg{
	padding-top: 18%;
	padding-bottom: 19%;
}
#sec3 .com_index4{
	margin-bottom: 1.5em;
}
#sec3 .box1{
	padding: 15% 4% 8%;
}
#sec3 .box1 ol li{
	margin-bottom: 15%;
}
#sec3 .box1 ol li .pro_fs35{
	margin-bottom: .5em;
}
#sec3 .box1 ol li .pro_fs35::before{
	top:5%;
}
#sec3 .box1 ol li .com_btn1{
	margin-top: 1em;
}
}






/* sec4
---------------------------------------------------------*/
#sec4{
	margin-bottom: 150px;
}
#sec4 .m_title .ft_cin{
	margin-top: 0!important;
}
#sec4 .bg{
	position: relative;
}
#sec4 .bg::before{
	position: absolute;
	display: block;
	content: "";
	background: url(../images/abs4@2x.png) no-repeat top left;
	background-size: 100% auto;
	width: 21%;
	height: 1000px;
	top: -170px;
	left: 0;
}
#sec4 .bg::after {
    position: absolute;
    display: block;
    content: "";
    background: #a79564;
    background-size: 100% auto;
    width: 100%;
    height: 2.5em;
    top: 0;
    left: 0;
    z-index: -2;
}
#sec4 .m_title{
	margin-bottom: 120px;
}
#sec4 .list li{
	position: relative;
	padding: 0 4% 60px;
	box-sizing: border-box;	
	margin-bottom: 100px;
}
#sec4 .list li::before{
	position: absolute;
	display: block;
	content: "";
background: linear-gradient(to right,  rgba(241,240,238,0) 0%,rgba(241,240,238,1) 50%,rgba(241,240,238,0) 100%); 
	background-size: 100% auto;
	width: 100%;
	height: calc(100% - 30px);
	z-index: -1;
	bottom: 0;
	left: 0;
}
#sec4 .list li:last-child{
	margin-bottom: 0;
}
#sec4 .list li .ft_cin{
	font-size: min(500%,7vw);
	letter-spacing: 0.1em;
	line-height: 1em;
	color: #a79564;
	margin-bottom: .1em;
}
#sec4 .list li .flex_box{
	flex-flow: row-reverse;
}
#sec4 .list li .img_r{
	width:44.5%;
	max-width: 540px;
}
#sec4 .list li .txt_l{
	width: 52%;
}
#sec4 .list li .txt_l .txt{
	padding-left: 2.5rem;
	box-sizing: border-box;
}
#sec4 .list li .txt_l .pro_fs35{
	margin-bottom: .3em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#sec4 .list li .txt_l .txt{
	padding-left:0;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#sec4{
	margin-bottom: 10%;
}
#sec4 .bg::before{
	top: -10vw;
}
#sec4 .bg::after {
    height: 3vw;
}
#sec4 .m_title{
	margin-bottom: 7%;
}
#sec4 .list li{
	padding: 0 2% 6%;
	margin-bottom: 8%;
}
#sec4 .list li::before{
	height: calc(100% - 2vw);
}
#sec4 .list li .txt_l{
	width: 51.5%;
}
#sec4 .list li .txt_l .txt{
	padding-left:0;
}
#sec4 .list li .txt_l .pro_fs35{
	margin-bottom: .3em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sec4{
	margin-bottom: 15%;
}
#sec4 .bg::before{
	top: -10vw;
}
#sec4 .bg::after {
    height: 4vw;
}
#sec4 .m_title{
	margin-bottom: 10%;
}
#sec4 .list li{
	padding: 0 4% 8%;
	margin-bottom: 10%;
}
#sec4 .list li::before{
	height: calc(100% - 5vw);
}
#sec4 .list li .ft_cin{
	font-size:400%;
	margin-bottom: .1em;
}
#sec4 .list li .flex_box{
	display: block;
}
#sec4 .list li .img_r{
	width: 80%;
	margin: 0 auto;
}
#sec4 .list li .txt_l{
	width: 100%;
	margin-top: -8vw;
}
#sec4 .list li .txt_l .txt{
	padding-left:0;
}
#sec4 .list li .txt_l .pro_fs35{
	margin-bottom: .3em;
}
}