@charset "UTF-8";

/* common
--------------------------------------------------- */
article{ position: relative; margin: 0 auto; padding: 205px 0 0; width: 1200px; color: #3e3a39; line-height: 1;}

/* header
--------------------------------------------------- */
article header{ display: flex; height: auto; letter-spacing: .1em; font-weight: 400; font-family: trajan-pro-3, serif; justify-content: space-between; align-items: flex-end;}
article header .ttl{ display: flex; flex-direction: column;}
article header .ttl .en{ letter-spacing: .12em; font-size: 28px;}
article header .ttl h1{ display: block; margin: 1em 0 0; color: #000; font-size: 13px;}
article header nav{ height: 100%;}
article header nav ul{ display: flex; border-left: 1px solid rgba(178,170,166,.7); font-size: 14px;}
article header nav ul > li{ padding: 1em 2em; border-right: 1px solid rgba(178,170,166,.7);}
article header nav a{ display: inline; padding: 0 0 5px;}
article header nav .current a{ border-bottom: 1px solid; color: #988575;}

/* content
--------------------------------------------------- */
article .content{ overflow: inherit; width: 1200px;}
.lead{ text-align: center; letter-spacing: .1em; font-weight: 400; font-size: 16px; font-family: trajan-pro-3, serif; line-height: 2.14;}
.block{ margin: 120px 0 0; padding: 90px 50px 0; border-top: 1px dotted rgba(178,170,166,.7);}

.list-tab{ /*position: relative;*/ position: sticky; top: 60px; z-index: 100; display: flex; margin: 0 calc(50% - 50vw); padding: 45px 0 0; border-bottom: 1px solid rgba(178,170,166,.7); background: #f6f4f0; justify-content: center;}
.list-tab > li{ margin: 0 5px;}
.tab{ display: block; padding: 15px 30px; border: 1px solid rgba(178,170,166,.7); border-bottom: none; border-radius: 5px 5px 0 0; letter-spacing: .1em; font-weight: 400; font-size: 14px; font-family: trajan-pro-3, serif; cursor: pointer;}
.tab.current{ background: rgba(178,170,166,.7);}
.tab-content{ display: none;}
.tab-content.current{ display: block;}

.tab-content > div:first-child + .block{ padding: 0; border: none;}

.block > h2{ letter-spacing: .1em; font-weight: 400; font-size: 24px; font-family: trajan-pro-3, serif;}
.block > h2 span{ display: block; padding: 1em 0 0; font-size: 14px;}
.block > h2 + p{ margin: 2em 0 0; letter-spacing: .1em; font-size: 14px; line-height: 2.14;}

.block > h3{ display: flex; margin: 90px 0 0; letter-spacing: .1em; font-weight: 400; font-size: 22px; font-family: trajan-pro-3, serif;align-items: baseline;}
.block > h3 span{ margin: 0 0 0 1em; letter-spacing: normal; font-size: 60%;}
.block > h3 span:before,
.block > h3 span:after{ display: inline-block; padding: 0 .5em; content: "［";}
.block > h3 span:after{ transform: scale(-1, 1);}
.block > h3 + p{ margin: 2em 0 0; letter-spacing: .05em; font-size: 14px; line-height: 2.14;}


.block > figure{ margin: 30px 0 0; display: flex; justify-content: space-between; width: 100%;}
.photo-main-honten,
.photo-main-ginza,
.photo-main-yokohama,
.photo-main-sendai,
.photo-main-resort{ width: 870px;}
.photo-main-honten img,
.photo-main-ginza img,
.photo-main-yokohama img,
.photo-main-sendai img,
.photo-main-resort img{ width: 100%;}
.photo-thumb{ width: 200px;}
.photo-thumb ul li{ margin: 0 0 15px;}
.photo-thumb ul li img{ width: 100%;}

.ctr2{ display: flex; margin: 25px 0 0; font-size: 14px; line-height: 1.8; justify-content: space-between;}
.ctr2-left{ width: 500px;}
.ctr2-right{ width: 500px;}

.ctr2 h3{ font-weight: bold;}
.ctr2 h4{ margin: 15px 0 0; font-weight: bold;}

.ctr2 table{ margin: 25px 0; width: 75%; border-top: 3px double rgba(178,170,166,.7); border-bottom: 3px double rgba(178,170,166,.7); font-size: 12px;}
.ctr2 table th{ padding: 10px 15px; width: 25%; border-top: 1px solid rgba(178,170,166,.7); vertical-align: top; text-align: left; white-space: nowrap; font-weight: normal;}
.ctr2 table td{ padding: 10px 15px; border-top: 1px solid rgba(178,170,166,.7); border-left: 1px solid rgba(178,170,166,.7);}

.ctr2 p a{ color: #988575; text-decoration: underline;}
.ctr2 p a:hover{ text-decoration: none;}

.ctr2 .list-bus{ margin: 0 0 0 1.4em;}
.ctr2 .list-bus li{ position: relative;}
.ctr2 .list-bus li:after{ position: absolute; top: .7em; left: -1em; display: block; width: 3px; height: 3px; border-radius: 100%; background: #000; content: '';}

.ctr2 .list-info{ margin: 15px 0 0;}
.ctr2 .list-info li{ position: relative; padding: 0 0 0 15px;}
.ctr2 .list-info li:after{ position: absolute; top: 50%; left: 0; display: block; width: 6px; height: 6px; border-right: 1px solid #988575; border-bottom: 1px solid #988575; content: ""; transform: translate(0,-50%) rotate(-45deg);}
.ctr2 .list-info li a{ color: #988575; text-decoration: underline;}
.ctr2 .list-info li a:hover{ text-decoration: none;}

.ctr2 .btn{ margin: 30px 0 0;}
.ctr2 .btn + .btn{ margin: 15px 0 0;}
.ctr2 .btn a{ display: block; width: 50%; height: 45px; border: 1px solid #3e3a39; background: rgba(255,255,255,.7); color: #3e3a39; text-align: center; font-weight: 400;font-size: 14px; font-family: trajan-pro-3, serif; line-height: 45px; }
.ctr2 .btn a:hover,
.ctr2 .btn a:active{ background: #fff; color: #988575;}
.ctr2 .btn ul{ display: flex; flex-direction: column; width: 100%;}
.ctr2 .btn ul > li{ width: 50%;}
.ctr2 .btn ul > li + li{ margin: 15px 0 0;}
.ctr2 .btn ul a{ width: 100%;}
.ctr2 .btn span{ display: block; width: 365px; height: 45px; border: 1px solid #3e3a39; background: rgba(255,255,255,.7); color: #3e3a39; text-align: center; font-size: 14px; line-height: 45px;}
.ctr2 .btn + p{ margin: 10px 0 0;}

.ctr2 .ind{ padding: 0 10em 0 1em; text-indent: -1em;}

.insta-wrap2{ margin: 60px 0 0;}
.insta-wrap2 h3{ position: relative; margin: 0 0 30px; padding: 0 0 0 15px; font-size: 14px;}
.insta-wrap2 h3:after{ position: absolute; top: 50%; left: 0; display: block; width: 6px; height: 6px; border-right: 1px solid #988575; border-bottom: 1px solid #988575; content: ""; transform: translate(0,-50%) rotate(-45deg);}
.insta-wrap2 h3 a{ color: #988575; text-decoration: underline;}
.insta-wrap2 h3 a:hover{ text-decoration: none;}
.insta-wrap2 .ecbn-selection-header,
.insta-wrap2 .ecbn-selection-header2,
.insta-wrap2 .ecbn-selection-title.vsm-selection-title,
.insta-wrap2 .ecbn-selection-description.vsm-selection-description,
.insta-wrap2 .ecbn-selection-to-nextpage.vsm-selection-to-nextpage,
.insta-wrap2 .ecbn-selection-footer{ display: none;}


.dl{ display: flex; margin: 40px auto 0; width: 50%; font-size: 14px; flex-wrap: wrap; align-items: center;}
.dl > dt{ display: flex; padding: 0 2em; width: 50%; height: 60px; border-bottom: 1px solid rgba(178,170,166,.7); align-items: center;}
.dl > dd{ display: flex; padding: 0 2em; width: 25%; height: 60px; border-bottom: 1px solid rgba(178,170,166,.7); align-items: center; justify-content: flex-end;}
.dl a{ color: #988575; text-decoration: underline;}
.dl a:hover{ text-decoration: none;}
.cap{ margin: 0 auto; padding: 2em; width: 50%; text-align: right;}

.dl-faq{ margin: 0 auto; padding: 2em 0 1em; width: 100%; border-bottom: 1px solid rgba(178,170,166,.7); font-size: 14px; line-height: 1.75;}
.dl-faq:first-of-type{ margin: 25px auto 0;}
.dl-faq > dt{ padding: 0 0 0 1em; font-weight: bold; cursor: pointer;}
.dl-faq > dt:before{ margin: 0 .5em 0 0; color: #988575; content: "Q.";}
.dl-faq > dd{ padding: 1em 1em 1em 2.5em;}

.list-tab2{ display: flex; margin: 50px 0 0; justify-content: center;}
.list-tab2 > li{ padding: 1em 2em; border-right: 1px solid rgba(178,170,166,.7); letter-spacing: .1em; font-size: 13px; cursor: pointer;}
.list-tab2 > li:first-child{ border-left: 1px solid rgba(178,170,166,.7);}
.list-tab2 span{ display: inline; padding: 0 0 5px;}
.list-tab2 .current span{ border-bottom: 1px solid; color: #988575;}

.tab-content2{ display: none;}
.tab-content2.current{ display: flex; flex-direction: column;}

.list-item{ display: flex; margin: 25px 0 0; justify-content: center; flex-wrap: wrap;}
.list-item > li{ padding: 2px 1px 0; width: 25%;}
.list-item a{ position: relative; display: block; overflow: hidden;}
.list-item img{ width: 100%;}
.list-item .caption{ position: absolute; top: 0; left: 0; display: flex; flex-direction: column; width: 100%; height: 100%; background: rgba(0,0,0,.5); color: #fff; text-align: center; letter-spacing: .1em; font-size: 12px; line-height: 1.5; opacity: 0; transition: all .5s ease; align-items: center; justify-content: center;}
.list-item .caption small{ font-size: 12px;}
.list-item .caption em{ color: #fff; font-size: 18px;}
.list-item .caption span{ margin: 1em 0 0; font-family: 'Noto Sans JP', sans-serif;}
.list-item a:hover .caption{ opacity: 1;}
.list-item .new:before{ position: absolute; top: 6px; left: -16%; z-index: 10; padding: .5em 0; width: 50%; height: auto; background: #b48e3a; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); color: #fff; content: "NEW"; text-align: center; letter-spacing: .1em; font-family: "Noto Serif JP", serif; line-height: 1; transform: rotate(-30deg);}

.tab-content2 .more{ margin: 50px 0 0;}
.tab-content2 .more a{ display: flex; margin: 0 auto; width: 220px; height: 45px; border: 1px solid #3e3a39; background: rgba(255,255,255,.7); color: #3e3a39; letter-spacing: .1em; font-weight: 400; font-family: trajan-pro-3, serif; justify-content: center; align-items: center;}
.tab-content2 .more a:hover,
.tab-content2 .more a:active{ background: #fff; color: #b28c39;}

.block.point{ margin: 120px calc(50% - 50vw) 0; padding: 90px calc(50vw - 50%) 120px; border-top: 1px solid rgba(178,170,166,.7);}
.point h2{ text-align: center;}
.list-point{ display: flex; padding: 30px 0 0; flex-wrap: wrap; justify-content: center;}
.list-point > li{ margin: 30px 0 0; padding: 0 30px; width: 25%; text-align: center;}
.list-point a{ position: relative; display: flex; flex-direction: column; border-radius: 100%; background: #fff; font-size: 13px; line-height: 1.5; filter: drop-shadow(0px 6px 6px rgba(0, 0, 0, 0.08)); align-items: center; justify-content: center; aspect-ratio: 1/1;}
.list-point span{ padding: .125em 0; color: #988575; font-weight: 500; font-size: 150%; font-family: trajan-pro-3, serif;}
.list-point i{ display: block; margin: 0 0 1em; width: 12px; height: 18px; transform: translate(-50%,0); transform: scale(1.5);}
.list-point i:after,
.list-point i:before{ position: absolute; display: block; border: 1px solid; content: "";}
.list-point i:before{ top: 0; left: 50%; width: 8px; height: 8px; border-radius: 100%; transform: translate(-50%,0);}
.list-point i:after{ top: 9px; width: 12px; height: 9px; border-bottom: 0; border-radius: 100% 100% 0 0;}