/* CSS Document */
/* layout */
/*=================================
	Initialization of style
===================================*/
/* commonから追加ここから */
@media screen and (max-width:1000px) {
* {
	max-width: 100% !important;
}
img{
	max-width: 100% !important;
	height: auto;
	width: 100%;
}

}
body {
	margin: 0;
	padding: 0;
	/*color:#000;*/
	font-family: YuMincho, "Yu Mincho", 游明朝体, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", 'Noto Serif JP' ,"ＭＳ 明朝", "MS Mincho";
	/*font-size:19px;*/
	/*line-height:150%;*/
	width:100%;
}

div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ul,ol,li,form {
	margin: 0;
	padding: 0;
}

img, a img {
	border:none;
	vertical-align:bottom;
}

/* List_group */
ul,ol,li {list-style:none;}

/* inline-style */

/*a,
a:link,
a:visited {text-decoration:none; color:#000;}
a:hover,
a:active {text-decoration:underline; opacity: 0.8;}*/

small {font-size:14px;color: #221f15;}

/* table */
table {
	width:100%;
  border-collapse: collapse;
  border: none;
  border-spacing: 0;
}
tr,th,td {}

/* blockgroup */

.bold{
	font-weight: bold;
}

.small{
	font-size: 80%;
}

.big{
	font-size: 120%;
}
.clear {
	clear:both;
	visibility:hidden;
}

.right{
	text-align: right;
}

.center{
	text-align: center;
}

.errorMessage,
.attention{
	color: #ff211b;
}

.blue{
	color: #2466c2;
}

.ore{
	color: #ff6600;
}

.red{
	color:#FF0000;
}
.mt0{
	margin-top: 0px !important;
}
.mt10{
	margin-top: 10px;
}
.mt20{
	margin-top: 20px;
}
.mt50{
	margin-top: 50px;
}
.mt140{
	margin-top: 140px;
}
.mt115{
	margin-top: 115px;
}
.mt190{
	margin-top: 190px;
}
.mt230{
	margin-top: 230px;
}
.mb0{
	margin-bottom: 0px !important;
}
.mb5{
	margin-bottom: 5px;
}
.mb10{
	margin-bottom: 10px !important;
}
.mb15{
	margin-bottom: 15px;
}
.mb20{
	margin-bottom: 20px;
}
.mb30{
	margin-bottom: 30px;
}
.mb40{
	margin-bottom: 40px !important;
}
.mb50{
	margin-bottom: 50px !important;
}
.mr10{
	margin-right: 10px;
}
.mr20{
	margin-right: 20px;
}
.ml10{
	margin-left: 10px;
}
.ml20{
	margin-left: 20px;
}
.ml320{
	margin-left: 320px;
}
.pt0{
	padding-top: 0px !important;
}
.pt10{
	padding-top: 10px;
}
.pt20{
	padding-top: 20px;
}
.pt285{
	padding-top: 285px;
}
.pb0{
	padding-bottom: 0px !important;
}
.pb10{
	padding-bottom: 10px;
}
.pb20{
	padding-bottom: 20px;
}
.pb30{
	padding-bottom: 30px;
}
.pb50{
	padding-bottom: 50px;
}
.pb190{
	padding-bottom: 190px;
}
.pr10{
	padding-right: 10px;
}
.pr20{
	padding-right: 20px;
}
.pl10{
	padding-left: 10px;
}
.pl20{
	padding-left: 20px !important;
}
.hidden{
	overflow: hidden;
}

/*=============================
	Layout-Base
===============================*/
#wrap {
}

#top{
}
@media screen and (max-width:1000px) {
	.pc{
		display:none;
	}
}
@media screen and (min-width:1001px) {
	.sp{
		display:none;
	}
}
/* commonから追加ここまで */

/* main_contents
-------------------------*/
#main_content{
	padding-top: 4rem;
}
article{
	width: 1240px;
	margin: 0 auto;
	overflow: hidden;
}
@media screen and (max-width:1000px) {
	#main_content{
		padding-top: 4vw;
	}
article .w480 h3 img{
	display: block;
	width:30%;
	margin: 0 auto 30px;
}
}
@media screen and (min-width:1001px) {
	article .w480 h3 img{
	display: block;
	margin: 0 auto 100px;
}
}
@media screen and (max-width:1000px) {
.fl{
	float: none;
}
.fr{
	float: none;
}
.w480{
	width: 480px;
	margin: 0 auto;
}
}

@media screen and (min-width:1001px) {
.fl{
	float: left;
}
.fr{
	float: right;
}
.w480{
	width: 480px;
}
}
.white{
	background: #fff;
}
@media screen and (max-width:1000px) {
.a_back{
	background: url(../images/a_back.png) top center no-repeat;
}
}
@media screen and (min-width:1001px) {
.a_back{
	height:830px;
	background: url(../images/a_back.png) top center no-repeat;
}
}

.a_back2{
	background: url(../images/a_back2.png) top center no-repeat;
}
.a_back3{
	background: url(../images/a_back3.png) top center no-repeat;
}
.a_backvenu{
	background: url(../images/a_backvenu.png) top center no-repeat;
}

@media screen and (max-width:1000px) {
.a_back article h3,.a_back2 article h3,.a_back3 article h3,.a_backvenu article h3{
	z-index: 11;
    padding-top: 50px;
    position: relative;
}
}
@media screen and (min-width:1001px) {
.a_back article h3,.a_back2 article h3,.a_back3 article h3,.a_backvenu article h3{
	z-index: 11;
    padding-top: 170px;
    position: relative;
}
}


@media screen and (max-width:1000px) {
.a_back article h3 img,.bgray .fr h3 .g1,.hidden .fl h3 .g1,.a_back2 article h3 img,.icen img,.a_back3 article h3 img,.a_backvenu article h3 img,.bwhite .border h4 img{
	display: block;
	margin: 0 auto ;
	width: 80%;
}
.g2{
	display: block;
	margin: 50px auto 0;
	width: 40%;
}
}
@media screen and (min-width:1001px) {
.a_back article h3 img,.bwhite .border h4 img,.bgray .fr h3 .g1,.hidden .fl h3 .g1,.g2,.a_back2 article h3 img,.icen img,.a_back3 article h3 img,.a_backvenu article h3 img,.bgray .fr h3 img{
	display: block;
	margin: 0 auto ;
}
}

.bwhite{
	margin-top: -80px;
	background: #fff;
	padding: 5px;
	z-index: 10;
    position: relative;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}


@media screen and (max-width:1000px) {
.bwhite .border{
	border:1px solid #117788;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 100px 45px 50px;
}
}
@media screen and (min-width:1001px) {
.bwhite .border{
	border:1px solid #117788;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 125px 115px 45px;
}
}

.bgray{
	background: #F7F8F8;
	overflow:hidden;
}

@media screen and (max-width:1000px) {
.-mt{
	padding-top: 155px;
	margin-top: -140px;
}
}
@media screen and (min-width:1001px) {
.-mt{
	padding-top: 285px;
	margin-top: -258px;
}
}

.w1600{
	overflow: hidden;
	width: 1600px;
}

.w950{
	width: 950px;
}
.w1298{
	width: 1298px;
}
@media screen and (max-width:1000px) {
.w601 img{
	display: block;
	margin: 0 auto;
}
.w601{
	width: 601px;
	margin: 50px auto 0;
}
.w601{
	width: 601px;
}
.w500{
	width: 500px;
}
.w500 img{
	display: block;
	margin: 0 auto;
}
.w630{
	width: 100%;
}
.w200{
	float: left;
}
.w240{
	margin-top: 20px;
	float: right;
}
.w460{
	width:100%;
}
}
@media screen and (min-width:1001px) {
.w200{
	width:200px;
}
.w240{
	width:240px;
}
.w460{
	width:460px;
}
.w630{
	width: 630px;
}
.w601 img{
	display: block;
	margin: 0 auto;
}
.w601{
	width: 601px;
	margin: 50px auto 0;
}
.w601{
	width: 601px;
}
}

.center{
	text-align: center;
}
.bb{
	border-top: 1px solid #3E3A3A;
	border-bottom: 1px solid #3E3A3A;
	padding: 20px 0;
	margin: 50px 0;
}

@media screen and (max-width:1000px) {
.gallery li{
	float: left;
}
.gallery{
	margin: 190px auto 0;
}
.gallery img{
	display: block;
	margin: 0 auto;
}
}
@media screen and (min-width:1001px) {
.gallery li{
	float: left;
}
.gallery{
	margin: 190px auto 0;
}
}
.pb100{
	padding-bottom: 100px !important;
}
.cen img{
	display: block;
	margin: 50px auto 0;
}

@media screen and (max-width:1000px) {
.pb190{
	padding-bottom: 50px;
}
}
@media screen and (min-width:1001px) {
.pb190{
	padding-bottom: 190px;
}
}
.sp_fr{
	float: right;
	width:46%;
	margin-top: 0;
}
.sp_fl{
	width:40%;
	float: left;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 10%);
  transition: 1.0s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.sp_m li{
	width:49%;
	margin-bottom: 20px;
}
.sp_m li:nth-child(odd){
	margin-right: 2%;
}
@media screen and (max-width:1000px) {
.tcen{
	width: 100%;
	overflow:hidden;
	background: #fff;
	margin-top: 80px;
}
}
@media screen and (min-width:1001px) {
.tcen{
	width: 100%;
	overflow:hidden;
	background: #fff;
	margin-top: 190px;
}
}
@media screen and (min-width:1001px) {
.w33vw{
	width: 32%;
}
.w33vw img{
	display: block;
	width:100%;
	margin: 0 auto;
}

.w33vw:nth-child(4){
	margin: 52px 2%;
}
}

.w33vw:nth-child(4) img{
	width:calc(150 / 1740 * 100vw);
}

@media screen and (max-width:1000px) {
.sp h3 img{
	display: block;
	margin: 0 auto 50px;
}
.sp p,.sp h4{
	display: block;
	margin: 0 auto 50px;
}
.i100 img{
	width:100%;
	margin-bottom: 50px;
}
}

.mb90{
	margin-bottom: 90px;
}

@media screen and (max-width:1000px) {
.w330{
	width: 100%;
}
.w330 h4 img{
	display: block;
	margin: 50px auto 0;
}
}
@media screen and (min-width:1001px) {
.w330{
	width: 48%;
}
.w700{
	width: 700px;
	margin: 50px auto 0;
}
}

.text_c{
	text-align: center;
}

.w50{
	margin: 50px auto 0;
}


table{
	width:100%;
	margin-bottom: 20px;
	margin-top: 50px;
}
th,td{
	border-top: 1px solid #3E3A3A;
	border-bottom: 1px solid #3E3A3A;
	padding: 20px 3%;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	        text-align: left;
}
th{
	width:35%;
}
td{
	border-left: 1px solid #3E3A3A;
}
td span{
	font-weight: bold;
	color: #117788;
	vertical-align: bottom;
}

@media screen and (min-width:1001px) {
	#header_wrap{
		background: url(../images/common/h_back.png) top center no-repeat;
	}
}
@media screen and (max-width:1000px) {
	#header_wrap{
		background: url(../images/common/sp/h_back.png) top center no-repeat;
	}
}

/* メインビジュアルここから */
article#mainvisual {
    width: 100%;
    position: relative;
    /*border-bottom: 5px solid #4F321B;*/
    position: relative;
  }
  @media screen and (max-width: 1000px) {
  	article#mainvisual {
  		position: relative;
  	}
  }  
  @media screen and (min-width: 1001px) {
    #mainvisual {
      height: 555px;
      width: 100%;
      /*margin-top: 125px;*/
    }
  }
  
  #mainvisual picture {
    width: 100%;
    height: calc(715 / 750 * 100vw);
    z-index: -1;
  }
  
  @media screen and (min-width: 1001px) {
    #mainvisual picture {
      height: 555px;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
    }
  }
  
  #mainvisual picture img {
    width: 100%;
    height: calc(715 / 750 * 100vw);
    object-fit: cover;
    object-position: center bottom;
  }
  @media screen and (min-width: 1001px) {
    #mainvisual picture img {
      height: 100%;
    }
  }

  @media screen and (min-width: 1001px) {
    #mainvisual .catch {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: end;
          -ms-flex-align: end;
              align-items: center;
      width: 100%;
      height: 555px;
    }
  }
  
  @media screen and (min-width: 1001px) {
    #mainvisual .catch img {
      margin-bottom: 12px;
      margin-right: 14px;
    }
  }

@media screen and (max-width: 1000px) {
  #mainvisual .catch {
		/*display: none; */
    /* height: 62vw; */
    position: absolute;
    bottom: 0vw;
    /* z-index: 1; */
    left: 50%;
    width: 40vw;
    margin-left: -20vw;
    top: 50%;
    margin-top: -10vw;
  }
  #mainvisual .catch {
  	/*width: 80%;*/
  }
}


  
  #mainvisual .scroll {
    width: 11px;
    position: absolute;
    left: 90px;
    bottom: 0;
    z-index: 10;
  }
  .subPage__bg{
    position: relative;
    background:linear-gradient(#F6F2ED, rgba(0,0,0,0) 80%);
  }
  .subPage__bg::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:url("../images/bg_page01_sp.png") no-repeat center 0;
    background-size: 100% auto;
  }
  @media screen and (min-width: 1001px) {
    .subPage__bg::before{
      background: url("../images/bg_page01.png") no-repeat center 0;
      background-size: 100% auto;
    }
  }

    @media screen and (min-width: 1001px) {
    	.copy small {
    		font-size: initial;
    	}
    }
/* メインビジュアルここまで */


/*  20220621追記ここから */
@media (min-width: 1001px) {

	.link2 {
		margin: 64px auto;
	}

}

@media (max-width: 1000px) {

	.link2 {
		margin: 4vw auto;
	}

}



/* 20220713追記　ご朝食 */
#venu .flex_item{
	display: flex;
	justify-content: space-between;
}
#venu .item_w100{
	width: 100%;
}
@media (max-width: 1000px) {
	#venu .flex_item{
		display: none;
	}
}


/* 20220713追記　画像の背景色 */
.img_color_l img {
	box-shadow: 16px 16px rgba(17, 119, 136, .3);
	margin-bottom: 16px;
}

.img_color_r img {
	box-shadow: -16px 16px rgba(17, 119, 136, .3);
	margin-bottom: 16px;
}

@media screen and (max-width: 1000px) {
	.img_color_l {
		margin-left: 0;
		width: 100%;
	}

	.img_color_r {
		margin-right: 0;
		width: 100%;
	}
}

/* 20220713追記　画像下の客室名 */
p.text_bule {
	text-align: center;
	margin-top: 1.25rem;
	color: #117788;
	font-size: 1.5rem;
	line-height: 2.25rem;
}

@media screen and (max-width: 1000px) {
	p.text_bule {
		text-align: center;
		margin-top: 4vw;
		color: #117788;
		font-size: 5vw;
		line-height: 7vw;
	}
}

/* 20220713追記　縦書きの見出し */
@media (min-width: 1001px) {
	.cflex {
		display: flex;
	}

	.cflex_d_c {
		flex-direction: column;
	}

	.cflex_jc_c {
		justify-content: center;
	}

	.cflex_ai_c {
		align-items: center;
	}

	.room__ttl {
		font-size: 35px;
		letter-spacing: 0.15em;
		line-height: 1.9;
		margin: 0 auto 40px;
		color: #117788;
		font-weight: 500;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		display: flex;
		justify-content: center;
	}

	.sub__room__ttl {
		text-align: center;
		margin-bottom: 30px;
	}

	.sub__room__ttl span {
		display: inline-block;
		border-top: 1px solid #117788;
		border-bottom: 1px solid #117788;
		position: relative;
		color: #117788;
		line-height: 2;
	}

	.sub__room__ttl span::before {
		content: "■";
		font-size: 10px;
		display: inline-block;
		margin-right: 2em;
	}

	.sub__room__ttl span::after {
		content: "■";
		font-size: 10px;
		display: inline-block;
		margin-left: 2em;
	}

	.sub__room__ttl2 {
		text-align: center;
		font-size: 30px;
		color: #A38645;
		margin-bottom: 20px;
		line-height: 1.5;
		font-weight: bold;
	}

	.ch4_2 {
		text-align: center;
		color: #A38645;
		font-size: 35px;
		font-weight: bold;
		line-height: 1.5;
		letter-spacing: 0.2em;
		margin-bottom: 70px;
		position: relative;
	}

	.ch4_2::after {
		content: "";
		display: block;
		width: 108px;
		height: 3px;
		background: url(../../images/bg_ch4_2.svg) center center no-repeat;
		background-size: contain;
		position: absolute;
		top: 1.5em;
		left: 50%;
		transform: translateX(-70%);
	}

	.ch4_2 span {
		color: #AFAFB0;
		font-size: 20px;
		letter-spacing: normal;
		position: relative;
		left: -1em;
	}


}

/* End @media (min-width: 1001px)  */


@media (max-width: 1000px) {

	.room__ttl {
		font-size: 5vw;
		letter-spacing: 0.15em;
		line-height: 1.9;
		margin: 0 auto 6vw;
		color: #117788;
		font-weight: 500;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}

	.sub__room__ttl {
		text-align: center;
		margin-bottom: 6vw;
	}

	.sub__room__ttl span {
		display: inline-block;
		border-top: 1px solid #117788;
		border-bottom: 1px solid #117788;
		position: relative;
		color: #117788;
		line-height: 2;
	}

	.sub__room__ttl span::before {
		content: "■";
		font-size: 2vw;
		display: inline-block;
		margin-right: 2em;
	}

	.sub__room__ttl span::after {
		content: "■";
		font-size: 2vw;
		display: inline-block;
		margin-left: 2em;
	}

	.w601,
	.w500 {
		width: auto;
	}

	.sub__room__ttl2 {
		text-align: center;
		font-size: 4.6vw;
		color: #A38645;
		margin-bottom: 6vw;
		line-height: 1.5;
		font-weight: bold;
	}

	.ch4_2 {
		text-align: center;
		color: #117788;
		font-size: 5vw;
		font-weight: bold;
		line-height: 1.5;
		letter-spacing: 0.2em;
		margin-bottom: 6vw;
		position: relative;
	}

	.ch4_2::after {
		content: "";
		display: block;
		width: 20vw;
		height: 1vw;
		background: url(../../images/bg_ch4_2.svg) center center no-repeat;
		background-size: contain;
		position: absolute;
		top: 1.5em;
		left: 50%;
		transform: translateX(-70%);
	}

	.ch4_2 span {
		color: #AFAFB0;
		font-size: 3.5vw;
		letter-spacing: normal;
		position: relative;
		left: -1em;
	}

	.wrap_inner {
		width: calc(620 / 750 * 100vw);
		margin: auto;
	}

}

/* End @media (min-width 1001px) */




/* 20221012追記 */

.ttl_img {
	text-align: center;
	margin: 0 auto 6rem;
}

.ttl_img h4 {
	text-align: center;
	font-size: 35px;
	line-height: 1.2;
	letter-spacing: 1.75px;
	color: #117788;
	position: relative;
	margin: 45px 0;
}

.ttl_img h4::after {
	content: "";
	display: block;
	height: 1px;
	width: 65px;
	background: #117788;
	position: absolute;
	left: 50%;
	margin-left: -32px;
	bottom: -15px;
}

.left_content,
.right_content {
	display: flex;
	gap: 6rem;
}

.left_content {
	margin-right: 160px;
}

.right_content {
	margin-left: 160px;
	flex-direction: row-reverse;
}

.img_color_l img,
.img_color_r img {
	width: calc(100vw - 160px);
}

.item_text {
	min-width: 600px;
}

.lead_item .item_text {
	min-width: auto;
	width: 42%;
}

.item_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4rem 2rem;
}

.item_box .img_item {
	width: 48%;
}

.item_box .img_item img {
	width: 100%;
}


@media (max-width: 1000px) {
	.ttl_img {
		text-align: center;
		margin: 0 auto 10vw;
		width: 86%;
	}

	.ttl_img h4 {
		text-align: center;
		font-size: 5vw;
		line-height: 1.5;
		letter-spacing: 0.4vw;
		color: #117788;
		position: relative;
		margin: 8vw 0;
	}

	.ttl_img h4::after {
		content: "";
		display: block;
		height: 1px;
		width: 12vw;
		background: #117788;
		position: absolute;
		left: 50%;
		margin-left: -6vw;
		bottom: -4vw;
	}

	.left_content,
	.right_content {
		margin: 0 auto;
		width: 86%;
		gap: 2rem;
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	.img_color_l img,
	.img_color_r img {
		width: 100%;
	}

	.item .img_one {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
	}

	.right_content .item .img_one {
		margin: 0 calc(100% - 79vw);
	}

	.item .text_box,
	.right_content .item .text_box {
		margin-top: 2rem;
	}

	.item_box .img_item {
		width: 86%;
		margin: 0 auto;
	}

	.item_text,
	.lead_item .item_text {
		min-width: auto;
		width: 100%;
	}

	.gallery {
		width: 86%;
		margin: 0 auto;
	}

}

@media (min-width: 1920px) {
	.left_content {
		margin-right: 320px;
	}

	.right_content {
		margin-left: 320px;
	}

}

.ttl_img .flex_item{
	display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 4rem;
}

.ttl_img .flex_item .w48{
	width: 50%;
}

.ttl_img .flex_item .w48 img{
	width: 100%;
}

@media (max-width: 1000px) {
	.ttl_img .flex_item{
		gap: 2.6vw;
		flex-wrap: wrap;
		margin-top: 6vw;
	}

	.ttl_img .flex_item .w48{
		width: 100%;
	}
}