@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;
	writing-mode: vertical-rl; font-feature-settings: 'palt' 0;
	text-shadow: 0px 0px 10px #000, 0px 0px 10px #000, 0px 0px 10px #000;
}

#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;}
}

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

 @media screen and (max-width: 600px) {
	#home #contents_wrap.inner_md{ width: 82%;}
}


/* ---------------------------------------------------
search_col
------------------------------------------------------ */
#search_col{
	padding: 50px 0; line-height: 1;
	border-bottom: 1px solid #dedede;
}

#search_col .inner_md{
	width: 92%; display: grid;
	grid-template-columns: 750px 25px 325px;
	grid-template-rows: auto auto;
}

#search_col .form_block{
	grid-column: 1 / 2;
	grid-row: 1 /2;

	padding-bottom: 15px;
	display: flex; align-items: flex-end;
	border-bottom: 1px solid #e4e1db;
}

#search_col .link_block{
	grid-column: 1 / 2;
	grid-row: 2 / 3;
}

#search_col .bn_block{
	grid-column: 3 / 4;
	grid-row: 1 / 3;

	padding-top: 20px;
}

#search_col .form_block h2{
	margin-right: 20px; padding: 14px 30px;
	background: #e5deeb; border-radius: 25px; box-sizing: border-box;
}
#search_col .form_block h2 span{
	font-size: 21px; white-space: nowrap;
	display: flex; justify-content: center; align-items: center;
}
#search_col .form_block h2 span::after{
	display: block; content: ''; margin-left: 10px;
	width: 20px; height: 20px;
	background: url(../../img/search_titi_icon.svg) no-repeat;
	background-size: 20px 20px;
}

#search_489ban form { display: flex; align-items: flex-end;}
#search_489ban input[type="text"],
#search_489ban select,
#search_489ban button[name="searchButton489ban"] {
	appearance: none; background: none; border: none;
	border-radius: 0; box-sizing: border-box; text-align: center;
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
}
#search_489ban dt { height: 20px; font-size: 14px;}
#search_489ban .date_489ban { margin-right: 20px;}
#search_489ban .date_489ban dd {display: flex;}
#search_489ban .date_489ban dd input[type="text"] {
	margin-right: 10px; padding: 13px 40px 13px 13px; width: 185px; height: 50px;
	color: #000; font-size: 24px; text-align: left;
	background: url(../../img/search_cal_icon.svg) no-repeat center right 13px;
	background-size: 16px 16px;
	border: 1px solid #a1a1a1; box-sizing: border-box;
}
#search_489ban .date_489ban dd > label {
	display:flex; align-items: center;
	font-size: 14px; white-space: nowrap;
}
#search_489ban .date_489ban input[type="text"]:disabled {
	color: #7c7c7c; opacity: 1;
}
#search_489ban .stay_489ban { width: 115px;}
#search_489ban .stay_489ban dd {
	padding: 11px 25px 13px 13px; height: 50px; 
	font-size: 24px;
	background: url(../../img/search_icon_arrow.png) no-repeat center right 10px;
	background-size: 10.5px 7px;
	border: 1px solid #a1a1a1; box-sizing: border-box; position: relative;
}
#search_489ban .stay_489ban select {
	position: absolute; left: 0; top: 0;
	width: 100%; height: 100%; font-size: 16px; opacity: 0;
}
#search_489ban .stay_489ban select:disabled { cursor: not-allowed;}
#search_489ban button[name="searchButton489ban"] {
	margin-left: 20px; width: 120px; height: 50px;
	color: #fff; font-size: 18px; text-align: center;
	background: #542653;
	display: flex; justify-content: center; align-items: center;
	transition: all .5s;
}
#search_489ban button[name="searchButton489ban"]:hover{
	cursor: pointer; opacity: .75;
}

#search_col .link_block {
	margin-top: 15px; font-size: 14px;
	display: flex; 
}
#search_col .link_block li{ display: flex; align-items: center;}
#search_col .link_block li:not(:last-of-type){ margin-right: 4%;}
#search_col .link_block li::before{
	display: block; content: ''; margin-right: 12px; width: 6px; height: 10px;
	background: url(../../img/search_list_arrow.png) no-repeat;
	background-size: contain;
}
#search_col .link_block a{ border-bottom: 1px solid #fff; transition: all .5s;}
#search_col .link_block span{ white-space: nowrap;}


@media screen and (max-width: 1196px) {
	#search_col .inner_md{
		grid-template-columns: 70% 2% 28%;
	}
	#search_col .form_block h2,
	#search_489ban .date_489ban { margin-right: 1.8%;}
	#search_489ban button[name="searchButton489ban"]{ margin-left: 1.8%;}
}

@media screen and (hover:hover) and (min-width: 601px) {
	#search_col .link_block a:hover{ opacity: 1; border-bottom: 1px solid #000;}
}

@media screen and (max-width: 600px) {
	#search_col{ padding: 10vw 0 7vw; border-bottom: 0;}

	#search_col .inner_md{
		width: 320px; max-width: 320px;
		grid-template-columns: 100%;
		grid-template-rows: auto auto auto;
	}

	#search_col .form_block{
		grid-column: 1 / 2;
		grid-row: 1 /2;

		align-items: center;
		flex-direction: column;
		padding-bottom: 0;
		border-bottom: 0;
	}
	#search_col .link_block{
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}
	
	#search_col .bn_block{
		grid-column: 1 / 2;
		grid-row: 3 / 4;
	
		padding-top: 5vw;
		text-align: center;
	}
	
	#search_col .form_block h2{ margin: 0 0 5vw;}
 
	#search_489ban{ margin-bottom: 5vw; width: 100%;}
	#search_489ban form{
		justify-content: space-between;
		align-items: flex-start;
		flex-wrap: wrap;
	}
	#search_489ban .date_489ban { margin-right: 10px;}
	#search_489ban .date_489ban dd{ flex-direction: column;}
	#search_489ban .date_489ban dd input[type="text"]{ font-size: 22px;}
	#search_489ban .date_489ban dd label{ margin-top: 5px;}
	#search_489ban .stay_489ban dd{ font-size: 22px;}
	#search_489ban button[name="searchButton489ban"] { margin: 5vw 0 0; width: 100%;}

	#search_col .link_block{ margin: 0 0 0 9vw; flex-wrap: wrap;}
	#search_col .link_block li{ margin: 0 0 5px !important; width: 100%; line-height: 1.9;}
	#search_col .link_block li::before{ margin-right: 5px;}
}


/* ---------------------------------------------------
Blog
------------------------------------------------------ */
#blog_col{ padding: 65px 0 50px;}
#blog_col .inner_md:first-child{
	min-height: 200px;
	display: flex; justify-content: space-between;
}
#blog_col h2{
	width: 207px;
	color: #fff; line-height: 1.4;
	display: flex; justify-content: center;
	align-items: center; flex-direction: column;
	background: #542653;
}
#blog_col h2 .ja{ font-size: 26px;}
#blog_col h2 .en{ font-size: 12px;}

#blog_col #feed{ width: calc(100% - 255px);}
#blog_col #feed li{
	padding: 20px 0; display: flex;
	border-bottom: 1px solid #bababa;
}
#blog_col #feed li .date{ width: 115px;}
#blog_col #feed li a{
	width: auto; max-width: calc(100% - 130px);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
	border-bottom: 1px solid #fff; transition: all .5s;
}

#blog_col > p{ padding-top: 10px; text-align: right;}
#blog_col > p a{
	padding: 0 22px 5px 0; position: relative;
	border-bottom: 1px solid #fff; transition: all .5s;
}
#blog_col > p a::after{
	display: block; content: "";
	top: calc( 50% - 9px); right: 0; position: absolute;
	width: 15px; height: 15px;
	background: url(../../img/blog_icon_arrow.png) no-repeat;
	background-size: 15px 15px;
}

@media screen and (hover:hover) and (min-width: 601px) {
	#blog_col #feed li a:hover,
	#blog_col > p a:hover{ opacity: 1; border-bottom: 1px solid #000;}
}
@media screen and (max-width: 600px) {
	#blog_col{ padding: 5vw 0 10vw;}
	#blog_col .inner_md{ max-width: 320px;}
	#blog_col .inner_md:first-child{ min-height: 0; flex-direction: column;}
	#blog_col h2{
		width: 100%; color: #542653; 
		display: flex; justify-content: flex-start;
		align-items: center; flex-direction: row;
		background: #fff; border-bottom: 2px solid #542653;
	}
	#blog_col h2 .ja{ margin-right: 20px;}
	#blog_col #feed{ width: 100%;}
	#blog_col #feed li{ padding: 4vw 0;}
}


/* ---------------------------------------------------
rec_col
------------------------------------------------------ */
#rec_col{
	padding: 90px 0 80px;
	border-top: 1px solid #dedede;
	border-bottom: 1px solid #dedede;
}

#recommend_489ban .PlanView{ padding: 0 2%;}
#recommend_489ban .main_picture{
	margin-bottom: 20px; height: 250px;
}
#recommend_489ban .main_picture img{
	object-fit: cover; width: 100%; height: 100%;
	transition: transform .8s, opacity .5s;
}

#recommend_489ban .plan{ margin-bottom: 20px; line-height: 1.8;}
#recommend_489ban .plan a{ color: #000;}
#recommend_489ban .comment{ display: none;}
#recommend_489ban .planlist{ text-align: right;}
#recommend_489ban .planlist a{ color: #b37e23; text-decoration: underline;}

#recommend_489ban .slick-prev,
#recommend_489ban .slick-next{
	top: 130px;
	width: 41px; height: 41px;
}

#recommend_489ban .slick-prev:before,
#recommend_489ban .slick-next:before {
	display: block; content: ''; width: 41px; height: 41px;
	background: url(../../img/icon_slide_arrow.png) no-repeat;
	background-size: contain;
}

#recommend_489ban .slick-prev{ left: -50px;}
#recommend_489ban .slick-prev:before{
	transform: scale(-1, 1);
}
#recommend_489ban .slick-next{ right: -50px;}


@media screen and (max-width: 1200px) {
	#recommend_489ban .slick-prev,
	#recommend_489ban .slick-next{ width: 30px; height: 30px;}
	#recommend_489ban .slick-prev{ left: -35px;}
	#recommend_489ban .slick-next{ right: -35px;}
	#recommend_489ban .slick-prev:before,
	#recommend_489ban .slick-next:before{ width: 30px; height: 30px;}
}

@media screen and (hover:hover) and (min-width: 601px) {
	#recommend_489ban .picture a:hover { opacity: 0.75;}
	#recommend_489ban .plan a:hover{ text-decoration: underline;}
	#recommend_489ban .planlist a:hover{ text-decoration: none;}
}

@media screen and (max-width: 600px) {
	#rec_col{ padding: 10vw 0;}
	#rec_col .tit_en{ margin-bottom: 5vw;}
	#recommend_489ban.inner_md{ width: 100%;}
	#recommend_489ban .PlanView{ padding: 0 40px;}
	#recommend_489ban .main_picture{ margin-bottom: 5vw;}
	#recommend_489ban .slick-prev,
	#recommend_489ban .slick-next{ width: 30px; height: 30px;}
	#recommend_489ban .slick-prev{ left: 5px; z-index: 1;}
	#recommend_489ban .slick-next{ right: 5px;}
	#recommend_489ban .slick-prev:before,
	#recommend_489ban .slick-next:before{ width: 30px; height: 30px; opacity: 1;}
}


/* ---------------------------------------------------
lead_col
------------------------------------------------------ */
#lead_col{
	padding: 227px 0 135px;
	background: url(../../img/lead_bg_pc.png) no-repeat left top;
}

#lead_col .tit_col{
	position: relative;
	display: flex; justify-content: center; align-items: center;
}
#lead_col .tit_col h2{
	margin-bottom: 65px; padding: 0 10px;
	writing-mode: vertical-rl; font-feature-settings: 'palt' 0;
	border-left: 1px solid #bababa;
	border-right: 1px solid #bababa;
	position: relative;
}
#lead_col .tit_col h2::before{
	display: block; content: ''; width: 62px; height: 64px;
	top: -95px; left: calc(50% - 32px); position: absolute;
	background: url(../img/icon.svg) no-repeat;
	background-size: contain;
}

#lead_col .tit_col h2 span{font-size: 30px;}
#lead_col .tit_col h2 span span{ color: #542653;}

#lead_col .inner_col{
	padding-right: calc(50vw - 550px);
	display: flex; justify-content: space-between;
	background: url(../../img/lead_txt_bg.png) no-repeat center right 110px;
}

#lead_col .photo_block{ width: calc( 94% - 400px);}
#lead_col .photo_block picture{
	display: block; width: 100%; height: 560px;
	overflow: hidden;
}
#lead_col .photo_block picture img{ transition: all 1s;}
#lead_col .photo_block p{
	margin: 20px 0 0 15px; padding-left: 30px; width: calc(94% - 175px);
	line-height: 1.4; position: relative; box-sizing: border-box;
}
#lead_col .photo_block p::before{
	display: block; content: ''; width: 23px; height: 1px;
	top: calc(50% - 0.5px); left: 0; position: absolute;
	background: #000;
}

#lead_col .slick-counter{
	font-size: 30px; line-height: 1;
	right: -45px; bottom: 10px; position: absolute; z-index: 5;
}
#lead_col .slick-counter .count-current{ font-size: 75px;}

#lead_col .slick-prev{
	width: 56px; height: 10px;
	top: auto; left: auto;
	bottom: 15px; right: 115px; z-index: 10;
}
#lead_col .slick-prev::before{
	display: block; content: ''; width: 56px; height: 10px;
	background: url(../../img/lead_slide_arrow.svg) no-repeat;
	background-size: contain; opacity: 1;
}
#lead_col .slick-next{ display: none !important;}

#lead_col .txt_block{
	padding-top: 30px; width: 400px;
	display: flex; justify-content: space-between;
	flex-direction: column;
}
#lead_col .txt_block h3{
	margin-bottom: 45px; line-height: 1;
	display: flex; flex-direction: column-reverse;
}
#lead_col .txt_block h3 .ja{
	color: #542653; font-size: 60px;
	display: flex; align-items: center;
}
#lead_col .txt_block h3 .ja::before{
	display: block; content: '';
	margin-right: 25px; width: 18px; height: 18px;
	background: url(../img/icon_tit.png) no-repeat;
	background-size: contain;
}
#lead_col .txt_block h3 .en{
	display: block; margin-bottom: 20px;
	color: #a77516; font-size: 15px;
}
#lead_col .txt_block .txt{ margin-bottom: 30px;}
#lead_col .txt_block .more{ margin-top: auto;}
#lead_col .txt_block .more a{ margin-left: auto;}

#lead_col .txt_block .more a span{ display: flex; align-items: center;}
#lead_col .txt_block .more a span:after {
	display: block; content: ''; margin-left: 18px; width: 8px; height: 8px;
	background: url(../img/link_btn_arrow.png) no-repeat;
	background-size: contain;
}

@media screen and (hover:hover) and (min-width: 601px) {
	#lead_col .photo_block picture:hover img{ transform: scale(1.05);}
	#lead_col .photo_block .slick-prev:hover{ opacity: .75;}
}

@media screen and (max-width: 1196px) {
	#lead_col .inner_col{ padding-right: 4vw;}
}

@media screen and (max-width: 600px) {
	#lead_col{
		padding: 110px 0 10vw;
		background: url(../../img/lead_bg_sp.png) no-repeat left top;
		background-size: 100% auto;
	}
	#lead_col .tit_col h2{ margin-bottom: 35px;}
	#lead_col .tit_col h2::before{
		width: 50px; height: 50px;
		top: -75px; left: calc(50% - 25px);
	}
	#lead_col .tit_col h2 span{ font-size: 24px;}
	#lead_col .inner_col{
		margin: 0 auto; padding-right: 0; width: 82%;
		flex-direction: column; background: none;
	}
	#lead_col .photo_block{ padding-bottom: 18vw; width: 100%;}
	#lead_col .photo_block .item{
		display: flex !important;
		flex-direction: row-reverse;
	}
	#lead_col .photo_block p{
		margin: 0 10px 0 0; padding: 30px 0 0; width: auto;
		display: flex; align-items: center;
		writing-mode: vertical-rl; font-feature-settings: 'palt' 0;
	}
	#lead_col .photo_block p::before{
		width: 1px; height: 23px;
		top: 0; left: calc(50% - 0.5px);
	}
	#lead_col .photo_block picture{ height: 80vw;}

	#lead_col .slick-counter{ font-size: 20px; bottom: -25px; right: 0;}
	#lead_col .slick-counter .count-current{ font-size: 40px;}
	#lead_col .slick-prev{ bottom: -22px;}
	
	#lead_col .txt_block{
		padding-top: 0; width: 100%;
		justify-content: flex-start;
	}
	#lead_col .txt_block h3{
		margin-bottom: 9vw; 
		align-items: center;
		flex-direction: row;
	}
	#lead_col .txt_block h3 .ja{ margin-right: 15px; font-size: 32px;}
	#lead_col .txt_block h3 .ja::before{
		margin-right: 15px;
		width: 10px; height: 10px;
	}
	#lead_col .txt_block h3 .en{ margin-bottom: 0; font-size: 10px;}
	#lead_col .txt_block .txt{ margin-bottom: 5vw;}
	#lead_col .txt_block .more a{ margin: 0; width: 100%;}
}


/* ---------------------------------------------------
sec01 - sec03
------------------------------------------------------ */
[id^=sec] .photo_col{ width: 100%; height: 691px;}
[id^=sec] .inner_mb{ margin-top: -210px; padding-top: 80px;}
[id^=sec] .txt_block{ position: relative; z-index: 5;}

[id^=sec] .txt_block .tit{
	padding: 70px 50px;
	background: #fff;
}
[id^=sec] .txt_block h3{
	line-height: 1;
	display: flex; align-items: center;
}
[id^=sec] .txt_block h3::before{
	display: block; content: '';
	margin-right: 20px; width: 18px; height: 18px;
	background: url(../img/icon_tit.png) no-repeat;
	background-size: contain;
}
[id^=sec] .txt_block h3 .ja{ margin-right: 30px; color: #542653; font-size: 60px;}
[id^=sec] .txt_block h3 .en{ color: #a77516; font-size: 15px;}

[id^=sec] .txt_block .txt{ padding: 0 50px 40px;}
[id^=sec] .txt_block  p{ font-size: 15px; line-height: 1.9;}
[id^=sec] .txt_block .sub{ margin-bottom: 35px; font-size: 26px; line-height: 1.8;}

[id^=sec] .cmn_linkbtn_01 span{ display: flex; align-items: center;}
[id^=sec] .cmn_linkbtn_01 span:after {
	display: block; content: ''; margin-left: 18px; width: 8px; height: 8px;
	background: url(../img/link_btn_arrow.png) no-repeat;
	background-size: contain;
}
[id^=sec] .photo_block p{
	margin: 10px 0 0; padding-left: 50px;
	font-size: 15px; line-height: 1; position: relative;
}
[id^=sec] .photo_block p::before{
	display: block; content: ''; width: 40px; height: 1px;
	top: calc(50% - 0.5px); left: 0; position: absolute;
	background: #000;
} 

[id^=sec] .more{ padding: 0 50px;}


[id^=sec] .detail_right{
	padding-left: calc(50vw - 550px);
	display: grid;
	grid-template-columns: 568px 5% calc(95% - 568px);
	grid-template-rows: 205px auto auto;
}
[id^=sec] .detail_right .txt_block{
	grid-column: 3 / 4;
	grid-row: 1 / 3;
}
[id^=sec] .detail_right .photo_block{
	grid-column: 1 / 2;
	grid-row: 2 /4;
}
[id^=sec] .detail_right .more{
	grid-column: 3 / 4;
	grid-row: 3 / 4;
	display: flex; justify-content: flex-end;
}
[id^=sec] .detail_right .tit,
[id^=sec] .detail_right .txt,
[id^=sec] .detail_right .more{
	padding-right: calc(50vw - 550px);
}

[id^=sec] .detail_left{
	padding-right: calc(50vw - 550px);
	display: grid;
	grid-template-columns: calc(88% - 500px) 12% 500px;
	grid-template-rows: 205px auto auto;
}
[id^=sec] .detail_left .txt_block{
	grid-column: 1 / 2;
	grid-row: 1 / 3;
}
[id^=sec] .detail_left .photo_block{
	grid-column: 3 / 4;
	grid-row: 2 /4;
}
[id^=sec] .detail_left .more{
	grid-column: 1 / 2;
	grid-row: 3 / 4;
}
[id^=sec] .detail_left .tit,
[id^=sec] .detail_left .txt,
[id^=sec] .detail_left .more{
	padding-left: calc(50vw - 550px);
}


/* sec01 */
#sec01{ padding-bottom: 140px;}

/* sec02 */
#sec02{
	padding-bottom: 190px;
	background:
	 url(../../img/sec02_bg_01.png) no-repeat left bottom,
	 url(../../img/sec02_bg_02.png) no-repeat right calc(50% - 450px) bottom 85px;
}
#sec02 .txt_block p:not(.sub){ margin-bottom: 40px;}

#sec02 .photo_block{
	height: 354px;
	position: relative; display: flex;
}
#sec02 .photo_block img:nth-child(2){
	left: -207px; bottom: -150px;
	position: absolute; z-index: 10;
}
#sec02 .photo_block p{
	margin: 0 0 0 5px; padding: 50px 0 0;
	writing-mode: vertical-rl; font-feature-settings: 'palt' 0;
}
#sec02 .photo_block p::before{
	width: 1px; height: 40px;
	top: 0; left: calc(50% - 0.5px);
} 

/* sec03 */
#sec03{ padding-bottom: 70px;}


@media screen and (max-width: 1196px) {
	[id^=sec] .detail_right,
	[id^=sec] .detail_left .tit,
	[id^=sec] .detail_left .txt,
	[id^=sec] .detail_left .more{ padding-left: 4vw;}
	[id^=sec] .detail_left,
	[id^=sec] .detail_right .tit,
	[id^=sec] .detail_right .txt,
	[id^=sec] .detail_right .more{ padding-right: 4vw;}
}

@media screen and (max-width: 600px) {
	[id^=sec] .photo_col{ height: 80vw;}
	[id^=sec] .inner_mb{ margin: 0 auto 5vw; padding-top: 0; width: 82%;}
	[id^=sec] .txt_block .tit{ padding: 10vw 0 9vw;}
	[id^=sec] .txt_block h3::before{
		margin-right: 15px;
		width: 10px; height: 10px;
	}
	[id^=sec] .txt_block h3 .ja{ margin-right: 15px; font-size: 32px;}
	[id^=sec] .txt_block h3 .en{ font-size: 10px;}
	[id^=sec] .txt_block .txt{ padding: 0;}
	[id^=sec] .txt_block  p{ line-height: 1.6;}
	[id^=sec] .txt_block .sub{
		margin-bottom: 7vw;
		font-size: 22px; line-height: 1.6;
	}
	[id^=sec] .photo_block p{ padding-left: 30px; font-size: 13px;}
	[id^=sec] .photo_block p::before{ width: 20px;} 

	[id^=sec] .more{ padding: 0;}
	[id^=sec] .more a{ width: 100%;}
		
	[id^=sec] .detail_right{
		grid-template-columns: 100%;
		grid-template-rows: auto auto auto;
		padding-left: 0;
	}
	[id^=sec] .detail_right .txt_block{
		grid-column: 1 / 2;
		grid-row: 1 / 2;
		margin-bottom: 7vw;
	}
	[id^=sec] .detail_right .photo_block{
		grid-column: 1 / 2;
		grid-row: 2 /3;
		margin-bottom: 7vw;
	}
	[id^=sec] .detail_right .more{
		grid-column: 1 / 2;
		grid-row: 3 / 4;
		justify-content: center;
	}
	[id^=sec] .detail_right .tit,
	[id^=sec] .detail_right .txt,
	[id^=sec] .detail_right .more{
		padding-right: 0;
	}
	
	[id^=sec] .detail_left{
		grid-template-columns: 100%;
		grid-template-rows: auto auto auto;
		padding-right: 0;
	}
	[id^=sec] .detail_left .txt_block{
		grid-column: 1 / 2;
		grid-row: 1 / 2;
		margin-bottom: 7vw;
	}
	[id^=sec] .detail_left .photo_block{
		grid-column: 1 / 2;
		grid-row: 2 /3;
		margin-bottom: 7vw;
	}
	[id^=sec] .detail_left .more{
		grid-column: 1 / 2;
		grid-row: 3 / 4;
	}
	[id^=sec] .detail_left .tit,
	[id^=sec] .detail_left .txt,
	[id^=sec] .detail_left .more{
		padding-left: 0;
	}
	
	#sec01{ padding-bottom: 10vw;}
	
	#sec02{
		padding-bottom: 15vw;
		background: none;
	}
	#sec02 .txt_block p:not(.sub){ margin-bottom: 4vw;}
	#sec02 .photo_block{
		margin-bottom: 100px; height: auto;
		justify-content: flex-end;
		align-items: flex-start;
	}
	#sec02 .photo_block img:first-child{
		width: 80%; height: auto;
	}
	#sec02 .photo_block img:nth-child(2){
		width: 77%;
		left: 0; bottom: -90px;
	}
	#sec02 .photo_block p{
		margin: 0 0 0 5px; padding: 30px 0 0;
		font-size: 13px;
	}
	#sec02 .photo_block p::before{
		height: 20px;
	} 

	#sec03{ padding-bottom: 10vw;}
}


/* ---------------------------------------------------
info_col
------------------------------------------------------ */
#info_col{ padding: 75px 0;}
#info_col .bnr_col{
	display: flex; justify-content: space-between;
}
#info_col ul:first-child{ width: 69.5%; max-width: 760%;}
#info_col ul:first-child li{ margin-bottom: 35px;}

#info_col ul:last-child{ width: 28%; max-width: 300px;}
#info_col ul:last-child li{ margin-bottom: 25px;}

@media screen and (max-width: 600px) {
	#info_col{ padding: 10vw 0;}
	#info_col .bnr_col{ width: 100%; flex-direction: column; text-align: center;}
	#info_col ul:first-child{  margin: 0 auto; width: 84%; min-width: 300px;}
	#info_col ul:first-child li{ margin-bottom: 15px;}
	#info_col ul:last-child{ margin: 0 auto; width: 300px;}
	#info_col ul:last-child li{ margin-bottom: 15px;}
}
