@charset "UTF-8";
/* Scss Document */
/*color*/
/*$base-color: #000000;*/
/*$black: #000000;*/
/*font*/
@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Zen+Old+Mincho:wght@400;500;600&display=swap");
/*layout*/
html { width: 100% !important; min-height: 100% !important; margin: 0px; padding: 0px; }

body { width: 100% !important; min-height: 100% !important; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; /*本番用*/ text-size-adjust: 100%; -webkit-text-size-adjust: 100%; /* Safari */ }

/*----------------------------------------------------
	楽天パーツ
----------------------------------------------------*/
.rt-header { z-index: 0; }

#htlContents { max-width: 2000px; /*min-width: 1128px;*/ position: relative; margin-right: 0; margin-left: 0; }
#htlContents #htlBrdCrmbs { margin: 0 auto; max-width: 1128px; width: calc(100% - 30px); }
#htlContents #htlHeader { margin: 0 auto; max-width: 1128px; width: calc(100% - 30px); }
#htlContents.single-column { width: 100% !important; }

#htlMainContent { width: 100% !important; float: none; margin-left: auto; margin-right: auto; }
#htlMainContent > div:first-child { margin: 0 auto; max-width: 1128px; width: calc(100% - 30px); }

div#RthCustomizeW { clear: both; width: 100%; margin: 0 auto 10px auto; padding: 0; }

#widewrapper { width: 100%; }

/*左カラム*/
#htlSide-A { width: 100%; max-width: 1650px; min-width: 1128px; margin: 0 auto; float: none; display: block; position: relative; z-index: 5; }

#htlRmSrch { margin-top: 0px; position: absolute; left: 20px; z-index: 1; top: 840px; }

#upfrntPlans { position: absolute; left: 20px; top: 1700px; }

#htlSide-A #latest_cstm_review { position: absolute; left: 20px; top: 1510px !important; }

#htlSide-A .module-history-domsearch { position: absolute; left: 20px; text-align: left; display: none; }

a:visited:active, a:link:active { color: #222222; }

a:visited:hover, a:link:hover { color: #222222; }

/*----------------------------------------------------
	全体
----------------------------------------------------*/
.page-bg { width: 100%; background-color: #F0F0ED; }

.all { font-family: "Zen Old Mincho", serif; zoom: 100%; width: 100%; font-size: 15px; min-width: 1128px !important; overflow: hidden; /*background-color: $bg-01;*/ }
.all:after { content: ''; display: block; clear: both; }
.all * { box-sizing: border-box; }
.all img { max-width: 100%; }

.ovh { overflow: hidden; }

.en { font-family: "Libre Baskerville", serif; }

.f_sans { font-family: "Zen Old Mincho", serif; font-weight: 500; }

.lhc::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2) * .5em); content: ""; }
.lhc::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2) * .5em); content: ""; }

#contents { /*background-color: $bg-01;*/ /*min-width: 1128px !important;
overflow: hidden;*/ }

.wrp { padding-left: 20px; padding-right: 20px; width: 1128px; margin-left: auto; margin-right: auto; }

.lrg_cnt { width: 1780px; margin-left: -295px; }
.lrg_cnt > iframe { width: 100%; }

.wrp.pd { padding-left: 10px; padding-right: 10px; }

.cf:after { content: ''; display: block; clear: both; }

.flex { display: flex; }

/*----------------------------------------------------
	リンク
----------------------------------------------------*/
.all a { cursor: pointer; color: #222222; text-decoration: none; }
.all a:hover img { opacity: 0.6; }
.all a.underline { text-decoration: underline; }
.all a.underline:hover { text-decoration: none; }

.all h2, .all h3, .all h4, .all h5 { color: #222222; font-weight: normal; }
.all p { color: #222222; font-family: "Zen Old Mincho", serif; font-size: 15px; line-height: 2; font-feature-settings: "palt"; font-weight: 500; }

/*.btn_arw { width: 265px;
	height: 60px;
	background-color: $black;
	color: #FFF!important;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	transition: .5s;
	
	&:hover { opacity: .7; }
}*/
.p_link_t { text-align: center; font-size: 20px; }

.p_link { /*max-width: 576px;*/ max-width: 950px; margin-left: auto; margin-right: auto; display: flex; justify-content: center; align-items: center; }
.p_link li { width: 238px; /*width: 288px;*/ height: 50px; flex-shrink: 1; flex-grow: 0; border-right: 1px solid #c9caca; margin-left: -1px; }
.p_link li:first-child { margin-left: 0; border-left: 1px solid #c9caca; }
.p_link li a { display: flex; justify-content: center; align-items: center; flex-direction: column; text-align: center; height: 100%; width: 100%; padding-left: 30px; padding-right: 10px; color: #222222; font-family: Helvetica, "Helvetica Neue", Arial, Verdana, Roboto, "Zen Old Mincho", serif; font-size: 15px; font-weight: 400; line-height: 1; position: relative; }
.p_link li a:after { content: ''; display: block; width: 7px; height: 7px; border-right: 1px solid #222222; border-bottom: 1px solid #222222; transform: rotate(45deg); margin-left: auto; margin-right: auto; transition: transform .5s; margin-top: 7px; position: absolute; bottom: 23px; /*left: 50px;*/ left: 28px; }
.p_link li a:hover { color: #222222; }
.p_link li a:hover:after { transform: rotate(45deg) translate(5px, 5px); }
#ro_lead .p_link { flex-wrap: nowrap; align-items: flex-start; padding: 0 25px; }
#ro_lead .p_link li { flex-shrink: 0; flex-grow: 0; width: 22.3684210526%; margin-left: 3.5087719298%; }
#ro_lead .p_link li:first-child { margin-left: 0; }
#ro_lead .p_link a img { display: block; width: 100%; }
#ro_lead .p_link a > span { display: block; margin-top: 10px; text-align: center; font-style: normal; font-size: 15px; letter-spacing: -.1em; line-height: 1.4; /*span{
	@media (max-width:1400px){
		font-size: 23/1400*100vw;
	}
	&.slush{
		@media (max-width:1400px){
			font-size: 25/1400*100vw;
		}
	}
}*/ }
@media (max-width: 1500px) and (min-width: 1401px) { #ro_lead .p_link a > span { font-size: 0.9333333333vw; } }
@media (max-width: 1400px) { #ro_lead .p_link a > span { font-size: 1.0714285714vw; } }
.p_link .en { font-family: "Libre Baskerville", serif; }

.p_link_img { gap: 40px; max-width: 950px; margin-left: auto; margin-right: auto; display: flex; justify-content: center; align-items: center; }
.p_link_img li { width: 300px; border: none; }
.p_link_img li span { padding-left: 15px; font-size: 15px; position: relative; }
.p_link_img li span::after { position: absolute; content: ''; width: 5px; height: 5px; border-right: 1px solid #222222; border-bottom: 1px solid #222222; transform: rotate(405deg); bottom: 6px; left: 0; }
.p_link_img li a { position: static; }
.p_link_img li { width: 288px; height: 50px; flex-shrink: 1; flex-grow: 0; margin-left: -1px; }
.p_link_img li:first-child { margin-left: 0; }
.p_link_img li a { display: flex; justify-content: center; align-items: center; flex-direction: column; text-align: center; height: 100%; width: 100%; padding-left: 10px; padding-right: 10px; color: #222222; font-family: Helvetica, "Helvetica Neue", Arial, Verdana, Roboto, "Zen Old Mincho", serif; font-size: 15px; font-weight: 400; line-height: 1; position: relative; }
.p_link_img li a:hover { color: #222222; }
.p_link_img li a:hover:after { transform: rotate(45deg) translate(5px, 5px); }
#ro_lead .p_link_img { flex-wrap: nowrap; align-items: flex-start; padding: 0 25px; }
#ro_lead .p_link_img li { flex-shrink: 0; flex-grow: 0; width: 22.3684210526%; margin-left: 3.5087719298%; }
#ro_lead .p_link_img li:first-child { margin-left: 0; }
#ro_lead .p_link_img a img { display: block; width: 100%; }
#ro_lead .p_link_img a > span { display: block; margin-top: 10px; text-align: center; font-style: normal; font-size: 15px; letter-spacing: -.1em; line-height: 1.4; /*span{
	@media (max-width:1400px){
		font-size: 23/1400*100vw;
	}
	&.slush{
		@media (max-width:1400px){
			font-size: 25/1400*100vw;
		}
	}
}*/ }
@media (max-width: 1500px) and (min-width: 1401px) { #ro_lead .p_link_img a > span { font-size: 0.9333333333vw; } }
@media (max-width: 1400px) { #ro_lead .p_link_img a > span { font-size: 1.0714285714vw; } }

.i_link { display: flex; flex-wrap: wrap; justify-content: center; width: 1128px; box-sizing: content-box; margin-left: auto; margin-right: auto; margin-top: -35px; }
.i_link li { height: auto; width: 282px; border-right: none; margin-left: 20px; margin-top: 35px; }
.i_link li:nth-child(4n+1) { margin-left: 0; }
.i_link li:nth-of-type(-n+4) { margin-top: 0; }
.i_link li a { display: flex; flex-direction: column; padding-left: 0; padding-right: 0; font-size: 15px; line-height: 2; color: #222222; font-family: "Zen Old Mincho", serif; }
.i_link li a:after { display: none; }
.i_link li a > span { position: relative; width: 100%; text-align: left; padding-right: 10px; }
.i_link li a > span:after { content: ''; display: block; width: 7px; height: 7px; border-right: 1px solid #222222; border-bottom: 1px solid #222222; transform: rotate(45deg); margin-left: auto; margin-right: auto; transition: transform .5s; position: absolute; right: 0; top: 50%; margin-top: -5px; }
.i_link li a > span .name:after { content: '￨'; display: inline-block; color: #53656c; margin-left: .5em; margin-right: .5em; }
.i_link li a > span .type { color: #a3a2a2; }

/*----------------------------------------------------
	画像
----------------------------------------------------*/
img { border: 0; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; vertical-align: bottom; /* [disabled]margin: 0px 0px 0px 0px; */ }

/*----------------------------------------------------
	メインコンテンツ
----------------------------------------------------*/
#main:after { content: "."; display: block; clear: both; height: 0; max-height: 0; visibility: hidden; }

.cont01 { padding-top: 90px; padding-bottom: 90px; }
header.large + .cont01 { padding-top: 0; }

.cont02 { padding-top: 50px; padding-bottom: 50px; }
.column + .cont02 { padding-top: 100px; }
header.large + .cont02 { padding-top: 0; }

/*----------------------------------------------------
	メインビジュアル
----------------------------------------------------*/
#mv { width: 1128px; margin-left: auto; margin-right: auto; position: relative; }
#mv h2 { width: 100%; color: #FFF; text-shadow: 0 0 10px #222222; text-align: center; position: absolute; top: 50%; left: 0; transform: translateY(-50%); font-size: 30px; }
#mv h2 span { font-size: 15px; margin-top: 10px; display: block; }
#mv .mv_img { /*width: 2000px;
margin-left: -405px;*/ width: 1128px; }

/*----------------------------------------------------
	.scroll-btn
----------------------------------------------------*/
.scroll-btn { position: relative; margin-left: auto; margin-right: auto; margin-top: -25px; margin-bottom: -25px; z-index: 1; width: 50px; height: 50px; background-color: #F0F0ED; border-radius: 50%; display: flex; justify-content: center; align-items: center; }
.scroll-btn:before { content: ''; display: block; border-right: 1px solid #7a7c7d; border-bottom: 1px solid #7a7c7d; transform: rotate(45deg) translate(-5px, -5px); width: 20px; height: 20px; }

/*----------------------------------------------------
	#header
----------------------------------------------------*/
#header { margin-top: 40px; margin-bottom: 40px; text-align: center; }

/*----------------------------------------------------
	#gnav	ナビ
----------------------------------------------------*/
#gnav { width: 100%; }
#gnav ul { display: flex; justify-content: center; flex-grow: 0; height: 105px; }
#gnav ul li { position: relative; flex-shrink: 0; flex-grow: 0; padding: 0 25px; display: flex; flex-direction: column; justify-content: center; /*.en:hover{
	display: none;
}
.ja {
	display: none;
}
&:hover .en {
	display: none;
}

&:hover .ja {
	display: inline;
}*/ }
#gnav ul li a { display: flex; text-align: center; flex-direction: column; align-items: center; justify-content: center; font-family: "Libre Baskerville", serif; letter-spacing: .1em; color: #222222; font-size: 18px; }
#gnav ul li a .ja { position: relative; }
#gnav ul li a .ja:after { content: ''; display: block; position: absolute; width: 0; height: 1px; background-color: #222222; left: 0; bottom: -10px; transition: .5s; }
#gnav ul li:hover .ja:after { width: 100%; }
#gnav ul li .ja { padding-top: 10px; font-size: 14px; font-family: "Zen Old Mincho", serif; }

/*----------------------------------------------------
	検索
----------------------------------------------------*/
#search iframe { width: 100%; height: 466px; position: relative; z-index: 1; }

/*----------------------------------------------------
	右固定
----------------------------------------------------*/
#right_fixed { position: fixed; right: 60px; bottom: 85px; z-index: 3; }
#right_fixed .booking { width: 140px; height: 140px; display: flex; justify-content: center; align-items: center; position: relative; }
#right_fixed .booking span { color: #333333; display: block; font-size: 15px; position: relative; z-index: 1; transition: color 1.7s; line-height: 1; text-align: center; }
#right_fixed .booking span.en { font-family: "Libre Baskerville", serif; letter-spacing: .15em; font-size: 15px; margin-top: 18px; }
#right_fixed .booking span.jp { margin-top: 10px; }
#right_fixed .booking svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; stroke-width: 1; }
#right_fixed .booking svg:first-of-type { stroke: #333333; fill: rgba(255, 255, 255, 0.5); }
#right_fixed .booking svg:last-of-type { fill: none; stroke: #222222; stroke-dasharray: 440 440; stroke-dashoffset: 440; visibility: hidden; -webkit-transition: visibility 0s 1.7s; transition: visibility 0s 1.7s; -webkit-animation: circle-out 1.7s cubic-bezier(0.215, 0.61, 0.355, 1); animation: circle-out 1.7s cubic-bezier(0.215, 0.61, 0.355, 1); }
#right_fixed .booking:hover span { color: #222222; }
#right_fixed .booking:hover svg:last-of-type { visibility: inherit; -webkit-transition: none; transition: none; -webkit-animation: circle-over 1.7s cubic-bezier(0.215, 0.61, 0.355, 1) forwards; animation: circle-over 1.7s cubic-bezier(0.215, 0.61, 0.355, 1) forwards; }

@-webkit-keyframes circle-over { 0% { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); }
  to { -webkit-transform: rotate(90deg); transform: rotate(90deg); stroke-dashoffset: 0; } }
@keyframes circle-over { 0% { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); }
  to { -webkit-transform: rotate(90deg); transform: rotate(90deg); stroke-dashoffset: 0; } }
@-webkit-keyframes circle-out { 0% { -webkit-transform: rotate(90deg); transform: rotate(90deg); stroke-dashoffset: 0; }
  to { -webkit-transform: rotate(450deg); transform: rotate(450deg); stroke-dashoffset: -440px; } }
@keyframes circle-out { 0% { -webkit-transform: rotate(90deg); transform: rotate(90deg); stroke-dashoffset: 0; }
  to { -webkit-transform: rotate(450deg); transform: rotate(450deg); stroke-dashoffset: -440px; } }
/*----------------------------------------------------
	共通ヘッダー
----------------------------------------------------*/
header.large { margin-bottom: 40px; text-align: center; }
header.large h3 { font-size: 38px; line-height: 1; font-family: "Libre Baskerville", serif; letter-spacing: .15em; font-weight: 400; line-height: 1.1842105263; /*@include lineHeightCrop(45/38*1);*/ }
header.large h3 .and { margin: 0 .2em; }
header.large .tit01 { margin-top: 40px; margin-bottom: 40px; }
header.large.left { text-align: left; }

header.middle { margin-bottom: 50px; text-align: center; }
header.middle h3 { font-size: 35px; line-height: 1; font-family: "Libre Baskerville", serif; letter-spacing: .15em; font-weight: 400; }
header.middle.black h3 { color: #222222; }
header.middle p { margin-top: 30px; }
header.middle p::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2) * .5em); content: ""; }
header.middle p::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2) * .5em); content: ""; }

header.small { margin-bottom: 40px; font-family: "Zen Old Mincho", serif; text-align: center; }
header.small h3 { font-size: 40px; line-height: 1; letter-spacing: -.01em; font-weight: 200; }
header.small h3 span { font-style: italic; font-size: 46px; }

/*----------------------------------------------------
	見出し単品
----------------------------------------------------*/
.tit01 { font-size: 20px; margin-bottom: 40px; line-height: 2.0454545455; font-feature-settings: "palt"; }
.tit01::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2.0454545455) * .5em); content: ""; }
.tit01::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2.0454545455) * .5em); content: ""; }

/*中央揃えタイトル*/
.tit02 { font-size: 25px; margin-bottom: 40px; line-height: 1.6; text-align: center; }
.tit02::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.6) * .5em); content: ""; }
.tit02::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.6) * .5em); content: ""; }

/*点線下線付きタイトル*/
.tit03 { font-size: 25px; /*border-bottom: 1px dotted $black;*/ background-image: linear-gradient(to right, #222222 2px, transparent 2px); background-size: 10px 1px; background-repeat: repeat-x; background-position: left bottom; padding-bottom: 20px; }
.tit03 h3 { font-size: 22px; }
.tit03 h4 { font-size: 18px; color: #f0f0ee; }

/*文字の両脇に線あり*/
.tit04 { font-size: 30px; font-weight: 900; text-align: center; padding-bottom: 50px; position: relative; }
.tit04::before { position: absolute; content: ''; width: 150px; height: 1px; background: #222222; top: 20px; left: 200px; /*left: 240px;*/ }
.tit04::after { position: absolute; content: ''; width: 150px; height: 1px; background: #222222; top: 20px; right: 200px; /*right: 240px;*/ }

#caution h3 { font-size: 25px; padding-bottom: 35px; }

/*----------------------------------------------------
	カラム配置箇所
----------------------------------------------------*/
.column { width: 100%; max-width: 1650px; margin-left: auto; margin-right: auto; padding-left: 230px; padding-right: 230px; }
@media (max-width: 1650px) { .column { padding-right: 0; } }
.column .wrp { width: 100%; padding-left: 20px; padding-right: 20px; /*@media (max-width:1650px){
	max-width: 100%;
	margin-left: 0;
	padding-right: 0;
}*/ }

/*----------------------------------------------------
	導入
----------------------------------------------------*/
/*.lead_column{
	@media (max-width: 1650px){
		padding-right: 100/1650*100vw;
	}
	@media (max-width: 1535px){
		padding-right: 50/1535*100vw;
	}
	@media (max-width: 1200px){
		padding-right: 0;
	}
}*/
#lead:not(.top) { padding-top: 115px; }
#lead:not(.top) .flex { width: 100%; /*padding-left: 120/2000*100vw;*/ justify-content: center; }
#lead:not(.top) .flex .text { width: 500px; /*padding-right: 80px;*/ position: relative; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-direction: column; justify-content: center; }
#lead:not(.top) .flex .text p { font-size: 18px; line-height: 1.6666666667; font-feature-settings: "palt"; }
@media (max-width: 1535px) { #lead:not(.top) .flex .text p .for_pc { display: none; } }
#lead:not(.top) .flex figure { width: 565px; flex-shrink: 0; flex-grow: 0; position: relative; }
#lead:not(.top) .flex figure:before { content: ''; display: block; width: 1020px; height: 250px; background-color: #d1d8dc; position: absolute; left: -50px; bottom: -50px; }
#lead:not(.top) .flex figure img { display: block; position: relative; z-index: 1; }

#lead { width: 100%; max-width: 1128px; margin: 0 auto; }
#lead header { text-align: left; line-height: 2; }

/*----------------------------------------------------
	左右
----------------------------------------------------*/
.cont_lr { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; align-items: center; }
.cont_lr.img_r .text { order: 1; }
.cont_lr.img_r figure { order: 2; }

.text_lr { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; }
.text_lr > div { flex-grow: 0; flex-shrink: 0; }
.text_lr > p::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2) * .5em); content: ""; }
.text_lr > p::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2) * .5em); content: ""; }
.text_lr .btn { align-self: center; margin-left: 35px; margin-right: 0; }
.text_lr .text { flex-basis: 700px; max-width: 700px; margin-left: 10px; }
.text_lr .text p::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2) * .5em); content: ""; }
.text_lr .text p::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2) * .5em); content: ""; }
.text_lr .detail { flex-basis: 420px; margin-right: 10px; }

/*----------------------------------------------------
	タイトルとテキストのみ
----------------------------------------------------*/
.txtbox_c { width: 670px; margin-left: auto; margin-right: auto; }
.txtbox_c h5 { font-weight: bold; font-size: 18px; }
.txtbox_c p { padding-top: 20px; padding-bottom: 20px; }

.txtbox_l ul li { padding-left: 20px; position: relative; padding-bottom: 10px; }
.txtbox_l ul li::before { position: absolute; content: ''; width: 5px; height: 1px; top: 8px; left: 6px; background: #222222; }

/*----------------------------------------------------
	iframe
----------------------------------------------------*/
.iframe { /*width: 1200px;*/ width: 1128px; margin-left: -25px; height: 479px; }

.slide .flex { justify-content: space-between; padding-left: 20px; padding-top: 40px; padding-right: 20px; }
.slide .flex .text { width: 70%; /*margin-top: 60px;*/ }
.slide .flex .text .tit { font-size: 17px; display: inline-block; padding-top: 5px; }
.slide .flex .spec { width: 24%; margin-right: 50px; }
.slide .flex .spec table { font-size: 15px; }
.slide .flex h5 { padding-bottom: 20px; font-size: 18px; /*margin-bottom: 23px;*/ /*border-bottom: 1px solid $base-color;*/ }

/*----------------------------------------------------
	横並びBOX
----------------------------------------------------*/
.boxes { display: flex; flex-wrap: wrap; margin-left: -30px; margin-top: -50px; }
.boxes + .boxes { margin-top: 50px; }
.boxes > div { padding-left: 30px; margin-top: 50px; }
.boxes > div .text { margin-top: 20px; /*padding: 0 20px;*/ }
.boxes > div .text h5 { font-family: "Zen Old Mincho", serif; /*font-size: 20px;*/ font-size: 15px; line-height: 1.5; margin-bottom: 20px; }
.boxes > div .text h5::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.5) * .5em); content: ""; }
.boxes > div .text h5::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.5) * .5em); content: ""; }
.boxes > div .text h5:last-child { margin-bottom: 0; }
.boxes > div .text h5.en { font-weight: 500; }
.boxes > div .text p { text-align: center; font-size: 13px; }
.boxes > div .text p::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2) * .5em); content: ""; }
.boxes > div .text p::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2) * .5em); content: ""; }
.boxes > div .text .info { margin-top: 35px; padding-left: .5em; position: relative; }
.boxes > div .text .info:before { content: ''; display: block; width: 1px; height: calc(100% - 1em); position: absolute; top: .5em; left: 0; background-color: #222222; }
.boxes > div .text .info .detail::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2) * .5em); content: ""; }
.boxes > div .text .info .detail::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2) * .5em); content: ""; }
.boxes.box2 { margin-left: -50px; margin-top: -100px; }
.boxes.box2 > div { padding-left: 50px; margin-top: 100px; width: 50%; }
.boxes.box3 > div { width: calc(100% / 3.001); }
.boxes.box4 > div { width: 25%; }
.boxes.box4 > div .text { padding: 0 0; }

/*----------------------------------------------------
	詳細リスト
----------------------------------------------------*/
/*.detail{
	display: flex;
	flex-wrap: wrap;
	font-family: $base-font;
	flex-grow: 1;
	font-size: $base-fz;
	line-height: $base-lh;
	font-feature-settings: "palt";

	dt{
		width: 120px;
		margin-right: 1em;
		position: relative;
		padding-right: 1em;
	}

	dd{
		width: calc(100% - 120px - 1em);
	}
	
	&.dt110{
		dt{
			width: 110px!important;
		}
		dd{
			width: calc(100% - 110px - 1em)!important;
		}
	}
	
	&.dt130{
		dt{
			width: 130px!important;
		}
		dd{
			width: calc(100% - 130px - 1em)!important;
		}
	}
	
	&.dt150{
		dt{
			width: 150px!important;
		}
		dd{
			width: calc(100% - 150px - 1em)!important;
		}
	}
	
	&.dt165{
		dt{
			width: 165px!important;
		}
		dd{
			width: calc(100% - 165px - 1em)!important;
		}
	}
}*/
/*----------------------------------------------------
	バナー
----------------------------------------------------*/
.bn_set { width: 950px; margin: 80px 0px 0px 0px; }

.bn_set .bn { width: 220px; margin-right: 23px; margin-bottom: 16.5px; float: left; }

/*----------------------------------------------------
	ページトップ
----------------------------------------------------*/
/* pagetop
========================================================= */
#pagetop { position: fixed; right: 20px; bottom: 90px; height: 100px; cursor: pointer; }
#pagetop a { display: block; color: #222222 !important; }
#pagetop span { writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; padding-top: 60px; font-size: 11px; width: 20px; line-height: 20px; font-family: "Libre Baskerville", serif; letter-spacing: .15em; }
#pagetop::before { position: absolute; bottom: 45px; left: 50%; width: 1px; height: 50px; background: #6f6f6f; content: ''; animation: pagetop-line 2s ease-in-out infinite; transition: all .5s ease-in-out; }

@keyframes pagetop-line { 0% { height: 50px; bottom: 45px; }
  100% { height: 0; bottom: 100px; } }
/*----------------------------------------------------
	ボタン類
----------------------------------------------------*/
/*----------------------------
	予約ボタン
-----------------------------*/
.r_btn { display: flex; justify-content: center; margin-top: 40px; }
.r_btn a { display: flex; width: 250px; height: 60px; border: 1px solid #222222; align-items: center; justify-content: center; transition: .3s; position: relative; }
.r_btn a::before { content: ''; width: 20px; height: 1px; position: absolute; background: #222222; right: 0; transition: .3s; }
.r_btn a:hover { background: #222222; color: #fff; transition: .3s; }
.r_btn a:hover::before { background: #fff; transition: .3s; }

/*----------------------------
	矢印ボタン
-----------------------------*/
/*.arw_btn {
	display: flex; width: 254px; height: 50px; margin: 0 auto; align-items: center; justify-content: center;
	position: relative;
	border-bottom: 1px solid #000;
	&::after {
		content: '';
		width: 20px;
		height: 0.9px;
		background: #000;
		position: absolute;
		bottom: 6.001px;
		right: -2.6px;
		transform: rotate(-135deg);
	}
}
*/
.arw_btn { display: block; width: 250px; line-height: 60px; text-align: center; text-decoration: none; color: #222222; /*border-bottom: 1px solid $base-color;*/ /*position: relative;
&::before{
	position: absolute;
	content: '';
	width: 210px;
	height: 1px;
	left: 32px;
	bottom: 0;
	background: $base-color;;
	
}*/ }

.arw_btn a { display: block; width: 250px; line-height: 60px; text-align: center; text-decoration: none; color: #222222; position: relative; }

.arw_btn a::before { border-bottom: 1px solid #222222; bottom: 0; content: ""; height: 1px; width: 250px; margin: auto; position: absolute; right: 0px; /*transform: rotate(45deg);*/ transition: right .3s; }

.arw_btn a::after { border-bottom: 1px solid #222222; bottom: 0; content: ""; height: 7px; width: 24px; margin: auto; position: absolute; right: -5px; top: 38px; transform: rotate(40deg); transition: right .3s; }

.arw_btn a:hover { text-align: none; }

.arw_btn a:hover::before { right: -25px; }

.arw_btn a:hover::after { right: -30px; }

/*----------------------------
	モーダルボタン
-----------------------------*/
.modal_btn { margin-top: 40px; border: 1px solid #222222; width: 285px; height: 60px; display: flex; justify-content: center; align-items: center; font-size: 15px; position: relative; }
.modal_btn::before { border-bottom: 1px solid #222222; bottom: 0; content: ""; height: 1px; width: 24px; margin: auto; position: absolute; right: 23px; /* transform: rotate(45deg); */ transition: right .3s; top: 7px; }
.modal_btn::after { border-bottom: 1px solid #222222; bottom: 0; content: ""; height: 15px; width: 5px; margin: auto; position: absolute; right: 18px; top: -7px; transform: rotate(40deg); transition: right .3s; }
.modal_btn:hover::before { right: 20px; }
.modal_btn:hover::after { right: 15px; }

.modal .modal-check { display: none; }
.modal .modal-body { position: fixed; display: none; align-items: center; justify-content: center; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.2); z-index: 100000; min-width: 1250px; min-height: 100%; }
.modal .modal-window { position: relative; z-index: 100001; /*animation: fadein .3s 1, zoomin .3s 1;*/ }
.modal .modal-label { position: absolute; top: -20px; right: -16px; display: flex; align-items: center; justify-content: center; line-height: 1; background: #bfbfbf; border-radius: 50%; width: 40px; height: 40px; cursor: pointer; transition: all .2s ease; }
.modal .modal-label:hover { background: #d9d9d9; }
.modal .modal-label:active { background: #f2f2f2; }
.modal .modal-label svg { display: flex; align-items: center; fill: #fff; }
.modal .modal-label::before { content: ''; display: block; width: 20px; height: 2px; background-color: #595656; position: absolute; top: 50%; left: 24%; transform: rotate(-45deg); }
.modal .modal-label::after { content: ''; display: block; width: 20px; height: 2px; background-color: #595656; position: absolute; top: 50%; left: 24%; transform: rotate(45deg); }
.modal .modal-inner { width: 85vw; /*max-width: 900px;*/ background: #fff; border-radius: 3px; box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2); }
@media screen and (min-width: 1500px) { .modal .modal-inner { width: 90vw; max-width: 800px; } }
.modal .modal-content { padding: 20px; }
.modal .modal-content h4 { font-size: 20px; margin-bottom: 10px; }
.modal .modal-content p { font-size: 13px; line-height: 1.8em; }
.modal .modal-check:checked + .modal-body { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; /*animation: fadeout .2s 1 forwards, hide .1s .2s 1 forwards;*/ }
.modal .modal-check:checked + .modal-body .modal-window { animation: zoomin .2s 1 forwards; }

.modal_link { cursor: pointer; transition: all 0.5s; }

@keyframes fadein { 0% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes fadeout { 0% { opacity: 1; }
  100% { opacity: 0; } }
@keyframes zoomin { 0% { transform: scale(0.9); }
  100% { transform: scale(1); } }
@keyframes zoomout { 0% { transform: scale(1); }
  100% { transform: scale(0.9); } }
@keyframes hide { 0% { visibility: visible; }
  100% { visibility: hidden; } }
/*----------------------------------------------------
	フッター
----------------------------------------------------*/
#footer { padding-top: 90px; }
#footer .bnr { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; }
#footer .bnr .bnrs { width: 100%; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; }
#footer .bnr .bnrs li a { width: 350px; height: 85px; border: 1px solid #222222; display: flex; align-items: center; justify-content: center; font-size: 20px; transition: .5s; }
#footer .bnr .bnrs li a:hover { background: #222222; color: #fff; transition: .5s; }
#footer .address { width: 1128px; margin-top: 140px; background: #222222 url("../com/footer_bg.jpg") no-repeat center bottom/cover; padding: 65px 0 70px; }
#footer .address .flex { justify-content: center; align-items: center; }
#footer .address .flex > * { width: 50%; flex-shrink: 0; flex-grow: 0; }
#footer .address h2 { padding-right: 90px; text-align: right; font-size: 0; }
#footer .address h2 img { width: 172px; }
#footer .address p { color: #fff; font-size: 14px; line-height: 1.7857142857; }
#footer .address p::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.7857142857) * .5em); content: ""; }
#footer .address p::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.7857142857) * .5em); content: ""; }
#footer .address p.contact { margin-top: 30px; font-size: 16px; display: flex; }
#footer .address p.contact > span { margin-left: 1em; }
#footer .address p.contact a { display: block; color: #FFF !important; font-size: 20px; font-family: Helvetica, "Helvetica Neue", Arial, Verdana, Roboto, "Zen Old Mincho", serif; line-height: 1; }
#footer .address p.contact .time { display: block; font-size: 14px; }
#footer .address .bnr_cor { margin-top: 45px; }
#footer .copy { padding: 10px 0; font-size: 12px; text-align: center; line-height: 1; }

/*----------------------------------------------------
	ページトップ
----------------------------------------------------*/
.spt { width: 930px; text-align: right; margin: 15px 20px 20px 0px; }

.sptl { width: 100px; float: right; margin: 15px 20px 20px 0px; }

/*----------------------------------------------------
	共通
----------------------------------------------------*/
/*背景*/
.bg01 { background: #FFF; }

.bg02 { background: #222222; }

/* リスト */
ul.dots li { position: relative; padding-left: 1em; line-height: 2; }
ul.dots li:before { content: '\0025aa'; display: block; position: absolute; top: 0; left: 0; }

ul.square li { position: relative; padding-left: 1em; line-height: 2; }
ul.square li:before { content: '■'; display: block; position: absolute; top: 0; left: 0; }

/*----------------------------------------------------
	共通　table　テーブル設定
----------------------------------------------------*/
/*
.table{
	font-size: 15px;
	line-height: 1.6;
	border-top: 1px solid $accent-color;
	border-bottom: 1px solid $accent-color;
	
	div{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		flex-wrap: wrap;

		dt,dd{
			padding: 30px;
			display: -webkit-flex;
			display: -moz-flex;
			display: -ms-flex;
			display: -o-flex;
			display: flex;
			justify-content: center;
			flex-direction: column;
		}

		&>dt{
			flex-basis: 200px;
			max-width: 200px;
			text-align: center;
			background-color: $bg-01;
			border-bottom: 1px solid #fff;
			align-items: center;
		}

		&>dd{
			flex-basis: calc(100% - 200px);
			max-width: calc(100% - 200px);
			border-bottom: 1px solid $bg-01;
			&.has-table{
				padding: 0;
			}
			.table_inner{
				div{
					border-bottom: 1px solid $bg-01;
					&:last-child{
						border-bottom: 0;
					}
					>dd{
						border-bottom: 0;
					}
				}
				
				dt{
					background: transparent;
					text-align: left;
				}
			}
		}
	
		&:last-of-type{
			>dt,>dd:last-of-type{
				border-bottom: none;
			}
		}
	}
}

.table_cont{
		border: 1px solid $gray;
		padding-left: 50px;
		padding-right: 50px;
		
		.tr{
			display: -webkit-flex;
			display: -moz-flex;
			display: -ms-flex;
			display: -o-flex;
			display: flex;
			align-items: center;
			border-bottom: 1px solid rgba($gray,0.3);
			padding-top: 50px;
			padding-bottom: 50px;
			
			h4{
				font-weight: bold;
				flex-basis: 240px;
				max-width: 240px;
				font-family: $base-font;
			}
			
			p{
				flex-basis: calc(100% - 240px);
				max-width: calc(100% - 240px);
			}
		}
	}*/
tbody { line-height: 1.85em; }
tbody tr th { width: 85px; text-align: left; }
tbody tr td { width: 130px; }

/*----------------------------------------------------
	汎用
----------------------------------------------------*/
/* 余白 */
.mar3 { margin: 3px; }

.mar5 { margin: 5px; }

.mar7 { margin: 7px; }

.mar10 { margin: 10px; }

.mt4 { margin-top: 4px; }

.mt5 { margin-top: 5px; }

.mt10 { margin-top: 10px; }

.mt15 { margin-top: 15px; }

.mt20 { margin-top: 20px; }

.mt25 { margin-top: 25px; }

.mt30 { margin-top: 30px; }

.mt35 { margin-top: 35px; }

.mt40 { margin-top: 40px; }

.mt45 { margin-top: 45px; }

.mt50 { margin-top: 50px; }

.mt60 { margin-top: 60px; }

.mt70 { margin-top: 70px; }

.mt80 { margin-top: 80px; }

.mt90 { margin-top: 90px; }

.mt100 { margin-top: 100px; }

.mt120 { margin-top: 120px; }

.mt150 { margin-top: 150px; }

.mb0 { margin-bottom: 0px !important; }

.mb5 { margin-bottom: 5px; }

.mb10 { margin-bottom: 10px; }

.mb15 { margin-bottom: 15px; }

.mb20 { margin-bottom: 20px; }

.mb30 { margin-bottom: 30px; }

.mb40 { margin-bottom: 40px; }

.mb50 { margin-bottom: 50px; }

.mb70 { margin-bottom: 70px; }

.ml1 { margin-left: 1px; }

.ml2 { margin-left: 2px; }

.ml5 { margin-left: 5px; }

.ml8 { margin-left: 8px; }

.ml10 { margin-left: 10px; }

.ml12 { margin-left: 12px; }

.ml15 { margin-left: 15px; }

.ml20 { margin-left: 20px; }

.ml22 { margin-left: 22px; }

.ml25 { margin-left: 25px; }

.ml30 { margin-left: 30px; }

.ml35 { margin-left: 35px; }

.ml40 { margin-left: 40px; }

.ml45 { margin-left: 45px; }

.ml50 { margin-left: 50px; }

.ml53 { margin-left: 53px; }

.ml60 { margin-left: 60px; }

.ml65 { margin-left: 65px; }

.ml70 { margin-left: 70px; }

.ml80 { margin-left: 80px; }

.ml100 { margin-left: 100px; }

.ml120 { margin-left: 120px; }

.ml130 { margin-left: 130px; }

.ml150 { margin-left: 150px; }

.ml170 { margin-left: 170px; }

.ml180 { margin-left: 180px; }

.ml200 { margin-left: 200px; }

.ml250 { margin-left: 250px; }

.ml300 { margin-left: 300px; }

.mr5 { margin-right: 5px; }

.mr10 { margin-right: 10px; }

.mr12 { margin-right: 12px; }

.mr15 { margin-right: 15px; }

.mr20 { margin-right: 20px; }

.mr25 { margin-right: 25px; }

.mr30 { margin-right: 30px; }

.mr35 { margin-right: 35px; }

.mr40 { margin-right: 40px; }

.pad5 { padding: 5px; }

.pad10 { padding: 10px; }

.pt0 { padding-top: 0 !important; }

.pt10 { padding-top: 10px; }

.pt15 { padding-top: 15px; }

.pt20 { padding-top: 20px; }

.pt25 { padding-top: 25px; }

.pb0 { padding-bottom: 0 !important; }

.pl10 { padding-left: 10px; }

.pl20 { padding-left: 20px; }

.pr10 { padding-right: 10px; }

.pr20 { padding-right: 20px; }

/* 横幅 */
.w100 { width: 100px; }

.w120 { width: 120px; }

.w130 { width: 130px; }

.w150 { width: 150px; }

.w160 { width: 160px; }

.w170 { width: 170px; }

.w175 { width: 175px; }

.w177 { width: 177px; }

.w190 { width: 190px; }

.w193 { width: 193px; }

.w200 { width: 200px; }

.w202 { width: 202px; }

.w205 { width: 205px; }

.w220 { width: 220px; }

.w230 { width: 230px; }

.w250 { width: 250px; }

.w260 { width: 260px; }

.w270 { width: 270px; }

.w280 { width: 280px; }

.w300 { width: 300px; }

.w305 { width: 305px; }

.w315 { width: 315px; }

.w320 { width: 320px; }

.w350 { width: 350px; }

.w360 { width: 360px; }

.w370 { width: 370px; }

.w380 { width: 380px; }

.w390 { width: 390px; }

.w400 { width: 400px; }

.w410 { width: 410px; }

.w415 { width: 415px; }

.w420 { width: 420px; }

.w430 { width: 430px; }

.w440 { width: 440px; }

.w450 { width: 450px; }

.w480 { width: 480px; }

.w500 { width: 500px; }

.w522 { width: 522px; }

.w545 { width: 545px; }

.w620 { width: 620px; }

.w720 { width: 720px; }

.w735 { width: 735px; }

.w800 { width: 800px; }

.w850 { width: 850px; }

.w860 { width: 860px; }

.w950 { width: 950px; }

/* テキスト */
.chu { font-size: 13px !important; line-height: 1.5384615385 !important; }

.txt_c { text-align: center !important; }

.txt_r { text-align: right !important; }

.ls-1 { letter-spacing: -1px; }

.ls-2 { letter-spacing: -2px; }

.txt_clm2 { columns: 2; }

.color-01 { color: #53656c !important; }

.t_white h2, .t_white h3, .t_white h4, .t_white h5, .t_white p, .t_white a, .t_white * { color: #FFF; }

/*======================================

	hack - 各種cssハック - for IE7

=======================================*/
/*======================================

	hack - 各種cssハック - for IE6

=======================================*/

/*# sourceMappingURL=common.css.map */
