@charset "utf-8";
/* ===================================================
	Home CSS
====================================================== */
/* ---------------------------------------------------
main_img
------------------------------------------------------ */
#main_img { margin: 0 auto; width: 100%; position: relative;}
#main_img:before {
	display: block; content: ""; width: 100%; height: 150px;
	top: 0; left: 0; position: absolute; z-index: 1;
	background: linear-gradient(rgba(0,0,0,.75),transparent);
}

#main_img h1{
	top: 0; left: 0; position: absolute; z-index: 2; width: 100%; height: 100%;
	display: flex; justify-content: center; align-items: center; flex-direction: column;
}

#main_img h1 span{
	color: #fff; font-size: 20px;
	font-feature-settings: 'palt' 0;
	text-shadow: 0px 0px 10px #000, 0px 0px 10px #000, 0px 0px 10px #000;
}
#main_img h1 img { filter: drop-shadow(0px 0px 5px #000) drop-shadow(0px 0px 5px #000);}
#main_img h1 span:nth-of-type(2) { padding: 10px 0 0;}

#main_img .slick,
#main_img .slick img { height: 100vh; min-height: 745px;}
#main_img .slick { z-index: 0; }
#main_img .slick img { width: 100%;}
#main_img .slick .active img {
	transform: scale(1.1);
	transition: transform 8s linear;
}
#main_img .slick-slide div { vertical-align: bottom;}
#main_img .slick-slider { margin: 0; line-height: 1; }

#main_img .scroll {
	left: calc(50% - 40px); bottom: 0; position: absolute; z-index: 2;
	width: 80px; text-align: center;
}
#main_img .scroll:hover { text-decoration: none;}

#main_img .scroll .txt{
	color: #fff; font-size: 14px; display: block; width: 100%;
	letter-spacing: 2px; text-align: center;
	text-shadow: 0px 0px 10px #000, 0px 0px 10px #000, 0px 0px 10px #000;
}

#main_img .scroll .line {
	display: block; height: 115px; margin: 5px 0 0;
	position: relative; text-indent: 100%;
	white-space: nowrap; overflow: hidden;
}

#main_img .scroll .line::after {
	content: ''; display: block; width: 1px; height: 60px;
	position: absolute; top: 0; left: 49%; z-index: 2;
	background: #fff; animation: 2s line cubic-bezier(.645, .045, .355, 1) infinite;
}

@keyframes line {
	0% { transform: translateY(-100%); }
	100% { transform: translateY(200%) }
	}

@media screen and (max-width: 600px) {
	#main_img .slick,
	#main_img .slick img { min-height: 100vh;}
	#main_img .scroll .line{ height: 50px;}
	#main_img .scroll .line::after{ height: 35px;}
	#main_img h1 span:nth-of-type(2) { padding: 10px 4%; text-align: center;}
}

/* ---------------------------------------------------
	Contents
------------------------------------------------------ */
 #home #contents_wrap::before{ display: none;}

 h2.tit_icon { font-size: 60px; color: #542653;}
 h2.tit_icon+p { padding: 0 7% 70px; text-align: center; font-size: 22px;}
 .bg_col { padding: 125px 0 140px; border-top: 1px solid #dedede; border-bottom: 1px solid #dedede;}


 @media screen and (max-width: 600px) {

	h2.tit_icon{ margin-bottom: 5vw; font-size: 26px;}
	h2.tit_icon::before{ margin-bottom: 15px; width: 52px; height: 54px;}
	h2.tit_icon+p { padding: 0 7% 30px; font-size: 15px;}
	.bg_col { padding: 50px 0;}
	#home #contents_wrap.inner_md{ width: 82%;}
}


/* ---------------------------------------------------
sec_map
------------------------------------------------------ */
#sec_map { position: relative; padding: 90px 0 100px;}
#sec_map h2 { font-size: 40px; line-height: 1.5; color: #000;}
#sec_map::before{
	display: block; content: ''; width: 100%; height: 300px;
	top: 0; right: calc(50% - 350px); position: absolute; z-index: -1;
	background: url(../img/contents_bg_pc.png) no-repeat right top;
	background-size: auto 100%;
}
#sec_map h2+p { margin: 0 auto 140px; text-align: center; font-size: 16px; padding: 0;}
#sec_map ul { position: relative; width: 1200px; max-width: 92%; margin: 0 auto;}
#sec_map ul li:nth-of-type(1) { position: absolute; top: 0; left: -115px; z-index: 2;}
#sec_map ul li:nth-of-type(1)::after { content: ""; display: block; position: absolute; right: -169px; bottom: -18px; width: 170px; height: 187px; background: url(../img/map_arrow.png)no-repeat center center;}
#sec_map ul li:nth-of-type(2) { position: relative; z-index: 1; right: -35px; padding: 0 0 50px;}
#sec_map .map_txt { position: absolute; right: 0; bottom: 0; width: 540px;}
#sec_map .map_txt span { display: block; margin: 0 0 20px; font-size: 20px;}
#sec_map .map_txt a { display: table; margin: 20px 0 0 auto; color: #887015; position: relative;}
#sec_map .map_txt a::after {
	display: block; content: ''; width: 100%; height: 1px;
	left: 0; bottom: 0; position: absolute;
	background: #887015;
}

@media screen and (hover: hover) {
	#sec_map .map_txt a:hover::after { display: none;}
}

@media screen and (max-width: 1450px) {
	#sec_map ul li:nth-of-type(1) { left: -4%; width: 65%;}
	#sec_map ul li:nth-of-type(1)::after { bottom: -34px;}
}

@media screen and (max-width: 1350px) {
	#sec_map .map_txt { right: 3%;}
}

@media screen and (max-width: 600px) {
	#sec_map { padding: 90px 0 50px;}
	#sec_map h2 { font-size: 26px;}
	#sec_map::before{
		right: 0;
		background-image: url(../img/contents_bg_sp.png);
	}
	#sec_map h2+p { margin: 0 auto 30px; text-align: left;}
	#sec_map ul { width: 86%;}
	#sec_map ul li:nth-of-type(1) { position: static; width: 100%;}
	#sec_map ul li:nth-of-type(1)::after { display: none;}
	#sec_map ul li:nth-of-type(2) { position: static; padding: 0;}
	#sec_map .map_txt { position: static; width: 100%;}
	#sec_map .map_txt span { margin: 30px 0 10px;}
	#sec_map .map_txt a { margin: 20px auto 0;}
}



/* ---------------------------------------------------
#sec1
------------------------------------------------------ */
#sec1 { position: relative;}
#sec1::after{
	display: block; content: ''; width: 396px; height: 360px;
	right: 0; bottom: 0; position: absolute; z-index: 1;
	background: url(../img/sec1_bg.png) no-repeat left top;
	background-size: 100% auto;
}
#sec1 section > ul { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between;}
#sec1 section > ul li { position: relative;}
#sec1 section > ul li p { 
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	color: #fff; text-align: center; font-size: 24px;
	text-shadow: 0px 0px 10px #000, 0px 0px 10px #000;
}
#sec1 section > ul li p span { font-size: 57px; line-height: 1.5;}
#sec1 section > ul li:nth-of-type(1) { width: 100%; margin: 0 0 0.2%;}
#sec1 section > ul li:nth-of-type(1) p span { display: block;}
#sec1 section > ul li:nth-of-type(2),
#sec1 section > ul li:nth-of-type(3) { width: 49.9%;}
#sec1 section > ul li:nth-of-type(2) p span,
#sec1 section > ul li:nth-of-type(3) p span { display: block;}
#sec1 section > ul+p { text-align: center; padding: 80px;}
#sec1_col { display: flex; flex-wrap: wrap; position: relative; padding: 35px 2% 40px 3%; border: 1px solid #542653;     justify-content: space-between; align-items: center; z-index: 2;}
#sec1_col h3 { position: absolute; top: -42px; left: -77px; font-size: 40px; color: #542653; background: url(../img/bg.gif);}
#sec1_col h3 span { display: inline; padding: 43px 22px 34px 50px; background: url(../img/sec1_icon.svg)no-repeat top left; background-size: 55px 59px;}
#sec1_col h3+div { width: 41%;}
#sec1_col .photo_block { width: 55%;}
#sec1_col p:nth-of-type(1) { padding: 0 0 28px; line-height: 1.5; font-size: 23px;}

@media screen and (max-width: 600px) {
	#sec1 section > ul li img { height: 250px;}
	#sec1 section > ul li p span { font-size: 38px;}
	#sec1 section > ul li:nth-of-type(1) { margin: 0 0 0.3;}
	#sec1 section > ul li:nth-of-type(2),
	#sec1 section > ul li:nth-of-type(3) { width: 49.8%;}
	#sec1 section > ul li:nth-of-type(2) p span, #sec1 section > ul li:nth-of-type(3) p span { display: block; padding: 0;}
	#sec1 section > ul li p { width: 86%; font-size: 18px;}
	#sec1 section > ul+p { padding: 50px 7% 90px; text-align: left;}

	#sec1_col { display: block; padding: 40px 5%;}
	#sec1_col h3 { left: -6%; font-size: 26px; top: -18px;}
	#sec1_col h3+div { width: 100%;}
	#sec1_col p:nth-of-type(1) { padding: 0 0 18px; font-size: 20px;}
	#sec1_col .photo_block { width: 100%; margin: 25px 0 0;}
	#sec1::after { width: 200px; height: 178px;}
}

/* ---------------------------------------------------
#sec2
------------------------------------------------------ */
#sec2 { position: relative; padding: 110px 0; overflow: hidden;}
#sec2::before{
	display: block; content: ''; width: 100%; height: 300px;
	top: 0; right: calc(50% - 350px); position: absolute; z-index: -1;
	background: url(../img/contents_bg_pc.png) no-repeat right top;
	background-size: auto 100%;
}
#sec2::after{
	display: block; content: ''; width: 396px; height: 360px;
	right: 0; bottom: 0; position: absolute; z-index: 1;
	background: url(../img/sec1_bg.png) no-repeat left top;
	background-size: 100% auto;
}
#sec2 .photo_block { margin: 0 0 80px;}
#sec2_col { display: flex; flex-wrap: wrap; justify-content: center; justify-content: space-between; margin-bottom: 50px;}
#sec2_col div { width: 41%;}
#sec2_col div dl:nth-of-type(1) { margin: 0 0 80px;}
#sec2_col div dt { margin: 0 0 15px; font-size: 28px; padding-left: 28px; text-indent: -28px;}
#sec2_col div dt::before { 
	display: inline-block; content: '';
	margin-right: 10px; width: 18px; height: 18px;
	background: url(../img/icon_tit.png) no-repeat;
	background-size: contain;
}
#sec2_col div+ul { width: 51%; display: flex; flex-wrap: wrap; justify-content: space-between;}
#sec2_col div+ul li:nth-of-type(1) { margin: 0 0 0.4%;}
#sec2_col div+ul li:nth-of-type(2),
#sec2_col div+ul li:nth-of-type(3) { width: 49.8%;}
#sec2 .inner_md { position: relative; z-index: 2;}

@media screen and (max-width: 600px) {
	#sec2 { padding: 50px 0;}
	#sec2::before{
	right: 0;
	background-image: url(../img/contents_bg_sp.png);}
	#sec2 .photo_block { margin: 0 0 25px;}
	#sec2 .photo_block img { height: 250px;}
	#sec2_col { display: block; margin: 0 auto 30px;}
	#sec2_col div { width: 100%;}
	#sec2_col div dt { font-size: 22px; font-weight: bold;}
	#sec2_col div dl:nth-of-type(1) { margin: 0 0 30px;}
	#sec2_col div+ul { width: 100%; margin: 30px 0 0;}
	#sec2::after { width: 200px; height: 178px;}
	#sec2 .cmn_outline dt { padding: 12px 4vw;}
}

/* ---------------------------------------------------
#sec3
------------------------------------------------------ */
#sec3 { position: relative;}
#sec3::after{
	display: block; content: ''; width: 488px; height: 412px;
	left: 0; bottom: 0; position: absolute; z-index: -1;
	background: url(../img/sec_bg_left2.png) no-repeat right top;
	background-size: 100% auto;
}
#sec3 section >ul { display: flex; justify-content: space-between;}
#sec3 section >ul li img { width: 100%;}
#sec3 section >ul li:nth-of-type(1) { width: 66.5%;}
#sec3 section >ul li:nth-of-type(2) { width: 33.4%;}
#sec3 section >ul li:nth-of-type(2) img:nth-of-type(1) { margin: 0 0 0.3%;}
#sec3 section >ul li:nth-of-type(1) img { height: 680px;}
#sec3 section >ul li:nth-of-type(2) img { height: 339px;}
#sec3 section > ul+p { text-align: center; padding: 80px;}
.sec3_col { display: flex; justify-content: space-between; flex-direction: row-reverse; margin: 0 auto 65px;}
.sec3_col .photo_block { width: 58%;}
.sec3_col dl { width: 27%;}
.sec3_col dt { margin: 0 0 15px; font-size: 28px; padding-left: 28px; text-indent: -28px; line-height: 1.5;}
.sec3_col dt::before { 
	display: inline-block; content: '';
	margin-right: 10px; width: 18px; height: 18px;
	background: url(../img/icon_tit.png) no-repeat;
	background-size: contain;
}

.sec3_col dd span { display: block; margin: 20px 0 0;}
.sec3_col .slick-dots { position: absolute !important; bottom: 18px !important; width: 98%; z-index: 1; text-align: right;}
.sec3_col .slick-dots li.slick-active button::before { background: #fff !important;}
.sec3_col .slick-dots li button::before { border: 1px solid #fff;}
.sec3_col .slick-dots li button:before { opacity: 1 !important;}
.sec3_col:last-of-type { margin: 0 auto;}

@media screen and (max-width: 600px) {
	#sec3 section >ul { display: block;}
	#sec3 section >ul li:nth-of-type(1),
	#sec3 section >ul li:nth-of-type(2) { width: 100%;}
	#sec3 section >ul li:nth-of-type(1) { margin: 0 0 0.4%;}
	#sec3 section >ul li:nth-of-type(2) { display: flex; justify-content: space-between;}
	#sec3 section >ul li:nth-of-type(1) img,
	#sec3 section >ul li:nth-of-type(2) img { height: auto;}
	#sec3 section >ul li:nth-of-type(2) img { width: 49.8%;}
	#sec3 section >ul li:nth-of-type(2) img:nth-of-type(1) { margin: 0;}
	#sec3 section > ul+p { padding: 30px 7% 40px; text-align: left;}
	.sec3_col { display: block; margin: 0 auto 40px;}
	.sec3_col dl,.sec3_col .photo_block { width: 100%;}
	.sec3_col dt { margin: 10px 0; font-size: 20px; font-weight: bold;}
	.sec3_col dd span { margin: 10px 0 0;}
}

/* ---------------------------------------------------
#sec4
------------------------------------------------------ */
#sec4 { position: relative; padding: 110px 0; overflow: hidden;}

#sec4 section .photo_block+p { padding: 70px 0 35px; text-align: center;}
#sec4 section > p.no_smoke { display: table; margin: 0 auto; padding: 0 30px 90px 0; color: #cd3218; background: url(../img/icon_nosmoking.svg) no-repeat right 4px; background-size: 20px auto;}

.sec4_col { position: relative; display: flex; justify-content: space-between; flex-direction: row-reverse; margin: 0 auto 65px; z-index: 2;}
.sec4_col .photo_block { width: 58%;}
.sec4_col dl { width: 40%;}
.sec4_col dt { margin: 0 0 20px; font-size: 28px;}
.sec4_col dt span { display: block; text-indent: 0; font-size: 18px; line-height: 1.5;}
.sec4_col dt { padding-left: 28px; text-indent: -28px;}
.sec4_col dt::before { 
	display: inline-block; content: '';
	margin-right: 10px; width: 18px; height: 18px;
	background: url(../img/icon_tit.png) no-repeat;
	background-size: contain;
}
.sec4_col dd p:nth-of-type(2) { padding: 30px 0 40px;}
.sec4_col .slick-dots { position: absolute !important; bottom: 18px !important; width: 98%; z-index: 1; text-align: right;}
.sec4_col .slick-dots li.slick-active button::before { background: #fff !important;}
.sec4_col .slick-dots li button::before { border: 1px solid #fff;}
.sec4_col .slick-dots li button:before { opacity: 1 !important;}
.sec4_col+a { position: relative; display: table; margin: 0 auto; font-size: 22px; z-index: 2;}
.sec4_col+a::after {
	display: block; content: ''; width: 100%; height: 1px;
	left: 0; bottom: 0px; position: absolute;
	background: #202925;
}
.sec4_col+a span::after { content: ""; display: inline-block; width: 20px; height: 20px; margin: 0 0 0 5px; background: url(../img/sec4_icon.svg)no-repeat center center; vertical-align: middle;}

@media screen and (hover: hover) {
	.sec4_col+a:hover { opacity: 0.7;}
	.sec4_col+a:hover::after { display: none;}
}

#sec4::after{
	display: block; content: ''; width: 396px; height: 360px;
	right: 0; bottom: 0; position: absolute; z-index: 1;
	background: url(../img/sec1_bg.png) no-repeat left top;
	background-size: 100% auto;
}

@media screen and (max-width: 600px) {
	#sec4 { padding: 50px 0;}
	#sec4 section > .photo_block img { height: 250px;}
	#sec4::after { width: 200px; height: 178px;}
	#sec4 section .photo_block+p { padding: 30px 7% 10px; text-align: left;}
	#sec4 section > p.no_smoke { padding: 0 30px 30px 0;}
	.sec4_col { display: block; margin: 0 auto 45px;}
	.sec4_col .photo_block,.sec4_col dl { width: 100%;}
	.sec4_col dt { margin: 10px 0 15px; font-size: 20px; font-weight: bold;}
	.sec4_col dt span { font-size: 15px;}
	.sec4_col dd p:nth-of-type(2) { padding: 15px 0 20px;}
	.sec4_col+a { font-size: 15px;}
	.sec4_col+a span::after { width: 15px; height: 15px;}
}

/* ---------------------------------------------------
#sec5
------------------------------------------------------ */
#sec5 #map_col{ margin-bottom: 80px;}
#sec5 #map_col iframe{ width: 100%; height: 560px; border-top: 1px solid #888 !important; border-bottom: 1px solid #888 !important;}

@media screen and (max-width: 600px) {
	#sec5 #map_col{ margin-bottom: 10vw;}
	#sec5 #map_col iframe{ height: 70vw;}
}


#sec5 .cmn_acc{ padding: 0 0 140px;}
#sec5 .cmn_acc:last-of-type { padding: 0;}

#sec5 .cmn_acc .cmn_outline dt{ padding: 14px 40px; font-size: 15px;}
#sec5 .cmn_acc .cmn_outline dt { width: 300px;}
#sec5 .cmn_acc .cmn_outline dd{ padding: 50px 40px; font-size: 15px;}

#sec5 .cmn_acc .link {
	margin-top: 45px;
	display: flex;
}
#sec5 .cmn_acc .link ul {
	width: 48.5%; padding-right: 10%;
	display: flex; align-items: center; justify-content: space-between;
}
#sec5 .cmn_acc .link li + li { margin-left: 10%;}

#sec5 .cmn_acc .link .ex_link{ font-size: 15px;	display: flex; align-items: center;}
#sec5 .cmn_acc .link .ex_link::after {
	display: block; content: ''; margin-left: 1.5em; width: 17px; height: 17px;
	background: url(../img/ico_link.svg)no-repeat center/contain;
	vertical-align: sub;
}

#sec5 .cmn_acc .link > a { height: 80px; box-sizing: border-box; }
#sec5 .cmn_acc .link a { transition: opacity .75s ease; }

#sec5 .cmn_acc .link .map {
	display: flex; justify-content: center; align-items: center;
	width: 450px; background: #e0d2b1; border-radius: 40px; max-width: 37.5%;
	font-size: 15px; line-height: 1.3; transition: background-color .8s, color .5s;
	padding: 0 2%;
}
#sec5 .cmn_acc .link .map::before {
	display: block; content: '';
	width: 16px; height: 20px; margin-right: 20px;
	background: url(../img/ico_pin.svg) no-repeat;
	background-size: contain;
}

#sec5 h3 { margin-bottom: 20px;	text-align: center; font-size: 40px; color: #542653;}
#sec5 h3 span { display: block; font-size: 16px; color: #000;}

@media screen and (max-width: 600px) {

	#sec5 h3 { font-size: 28px;}
	#sec5 .cmn_acc{ padding: 10vw 0;}
	#sec5 .cmn_acc .link { margin-top: 5vw; flex-direction: column;}
	#sec5 .cmn_acc .link ul {
		margin-bottom: 5vw; width: 100%; padding-right: 0;
		flex-direction: column;
	}
	#sec5 .cmn_acc .link li + li { margin: 5vw 0 0;}
	#sec5 .cmn_acc .link .map { width: 100%; max-width: 100%;}
	#sec5 .cmn_acc .cmn_outline dt,
	#sec5 .cmn_acc .cmn_outline dd { padding: 12px 4vw;}
	#sec5 .cmn_acc .cmn_outline dt { font-size: 15px; width: 100%;}
	#sec5 .cmn_acc .cmn_outline.list2 dt { width: 100%;}
}

/* ---------------------------------------------------
#sec6
------------------------------------------------------ */
#sec6 { padding: 160px 0 150px;}
#sec6 .cmn_outline { align-items: stretch;}
#sec6 .cmn_outline dt { width: 300px; padding: 40px;}
#sec6 .cmn_outline dd { padding: 40px 30px; display: flex; align-items: center}
#sec6 .cmn_outline dd img { padding: 0 20px 0 0;}
#sec6 h2 { position: relative; display: table; margin: 0 auto 80px; font-size: 40px; color: #542653;}
#sec6 h2::before { content: ""; display: block; width: 75px; height: 1px; position: absolute; left: -45%; top: 50%; background-color: #542653;}
#sec6 h2::after { content: ""; display: block; width: 75px; height: 1px; position: absolute; right: -45%; top: 50%; background-color: #542653;}

@media screen and (max-width: 600px) {
	#sec6 { padding: 50px 0;}
	#sec6 h2 { font-size: 28px; margin: 0 auto 25px;}
	#sec6 h2::before { width: 60px;}
	#sec6 h2::after { width: 60px;}
	#sec6 .cmn_outline dt { width: 100%;}
	#sec6 .cmn_outline dt,
	#sec6 .cmn_outline dd { padding: 12px 4vw;}
	#sec6 .cmn_outline dd img { width: 56px;}
}