@charset "UTF-8";
/* font / color
----------------------------------------------- */
:root { --gothic: 游ゴシック体, YuGothic, 'Yu Gothic', "游ゴシック Medium", "Yu Gothic Medium", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; --mincho: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "MS P明朝", serif;
--black: #585858;
--gold: #b9a881; /*ゴールド*/
}



/* default sp
	----------------------------------------------- */
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, section, summary, time, mark, audio, video { padding: 0; margin: 0; font: inherit; word-wrap: break-word; border: 0; vertical-align: baseline; outline: none; }
body { padding: 0; margin: 0; color: var(--black); font-size: 3.5vw; font-family: 游ゴシック体, YuGothic, 'Yu Gothic', "游ゴシック Medium", "Yu Gothic Medium", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; -webkit-text-size-adjust: 100%; font-style: normal; line-height: 1; background: #fbfbf7; }
article, aside, canvas, details, figcaption, figure, header, footer, hgroup, main, menu, nav, section, summary { display: block; }
blockquote, q { quotes: none; }
strong, b { font-weight: bold; }
ul, ol, li { list-style: none; }
table { border-spacing: 0; border-collapse: collapse; }
img, video, object { height: auto; border: none; display: block; }
ins { background: none; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
hr { height: 1px; padding: 0; margin: 1em 0; border: 0; border-top: 1px solid #ccc; display: block; }
*::before, *::after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
a { color: #585858; text-decoration: none; display: block; -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
a:hover { opacity: 0.6; }

.clearfix::after { content: ''; display: block; clear: both; }
.pc { display: none; }
.sp { display: block; }



/* common sp
----------------------------------------------- */
.wrapper { width: 100%; overflow: hidden; z-index: 1; position: relative; }
.loading { z-index: 100; position: fixed; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; }
.loading::before, .loading::after { content: ''; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.loading::before { background: var(--brown); -webkit-transform: translateZ(0); transform: translateZ(0); transition: -webkit-transform 0.8s cubic-bezier(0.43, 0.05, 0.17, 1); transition: transform 0.8s cubic-bezier(0.43, 0.05, 0.17, 1); transition: transform 0.8s cubic-bezier(0.43, 0.05, 0.17, 1), -webkit-transform 0.8s cubic-bezier(0.43, 0.05, 0.17, 1); }
.loading::after { background: #000; -webkit-transform: translateZ(0); transform: translateZ(0); transition: -webkit-transform 0.8s cubic-bezier(0.43, 0.05, 0.17, 1); transition: transform 0.8s cubic-bezier(0.43, 0.05, 0.17, 1); transition: transform 0.8s cubic-bezier(0.43, 0.05, 0.17, 1), -webkit-transform 0.8s cubic-bezier(0.43, 0.05, 0.17, 1); }

body:not(.visited).home .loading::before { transition: none; }
body.loaded.leave-before.leave .loading::after, body.loaded.leave-before.leave .loading::before { transition: -webkit-transform 0.6s cubic-bezier(0.36, 0.04, 0.23, 1); transition: transform 0.6s cubic-bezier(0.36, 0.04, 0.23, 1); transition: transform 0.6s cubic-bezier(0.36, 0.04, 0.23, 1), -webkit-transform 0.6s cubic-bezier(0.36, 0.04, 0.23, 1); -webkit-transform: translateZ(0); transform: translateZ(0); }
body.loaded.leave-before.leave .loading::after { transition-delay: 0.1s; }
body.loaded.leave-before::after, body.loaded.leave-before::before { transition: none; -webkit-transform: translate3d(0, 120%, 0); transform: translate3d(0, 120%, 0); }
body.loaded .loading::after, body.loaded .loading::before { -webkit-transform: translate3d(0, -120%, 0); transform: translate3d(0, -120%, 0); }
body.loaded .loading::before { transition-delay: 0.1s; }

.more01 { width: 60vw; padding: 4vw 0; color: #fff; font-size: 5.26vw; font-family: "cormorant"; font-weight: 400; text-align: center; letter-spacing: 0.4vw; background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Q0YzVhMiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2I4YTc4MSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #d4c5a2), color-stop(100%, #b8a781)); background: -moz-linear-gradient(left, #d4c5a2, #b8a781); background: -webkit-linear-gradient(left, #d4c5a2, #b8a781); background: linear-gradient(to right, #d4c5a2, #b8a781); position: relative; }
.more01::after { content: '\f105'; font-size: 60%; font-family: 'icon'; line-height: 1.8; pointer-events: none; position: absolute; top: 50%; right: 4vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }



/* header sp
----------------------------------------------- */
.header { width: 100%; z-index: 10; position: fixed; top: 0; left: 0; }

.header-navi-button { width: 30vw; height: 14vw; background: #fff; z-index: 10; position: absolute; top: 0; right: 38vw; cursor: pointer; -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi-button .line { width: 6vw; height: 1px; background: #ccc; position: absolute; left: 5vw; -moz-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi-button .line-top { top: 6vw; }
.header-navi-button .line-bottom { top: 8vw; }
.header-navi-button .line-title { padding-top: 0.5vw; font-size: 3.2vw; font-family: "cormorant"; font-weight: 400; letter-spacing: 0.4vw; position: absolute; top: 50%; right: 5vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.header-navi-button .line-title:before { content: 'CLOSE'; padding-top: 0.5vw; opacity: 0; visibility: hidden; position: absolute; top: 0; left: 0; }
.header-navi-button .line-title span { -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }

.header-contact { width: 38vw; height: 14vw; padding-top: 0.8vw; color: #fff; font-size: 3.95vw; font-family: "cormorant"; font-weight: 400; text-align: center; letter-spacing: 0.4vw; background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Q0YzVhMiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2I4YTc4MSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #d4c5a2), color-stop(100%, #b8a781)); background: -moz-linear-gradient(left, #d4c5a2, #b8a781); background: -webkit-linear-gradient(left, #d4c5a2, #b8a781); background: linear-gradient(to right, #d4c5a2, #b8a781); position: absolute; top: 0; right: 0; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
.header-contact::before { content: '\e910'; padding-top: 0.2vw; margin-right: 1vw; font-size: 3.95vw; font-family: 'icon'; display: inline-block; }
.header-navi { width: 100%; height: 100%; background: url(../images/header-navi-bg.jpg) no-repeat top center; background-size: cover; opacity: 0; visibility: hidden; z-index: 9; position: fixed; top: -100vw; right: 0; -moz-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi-inner { width: 100%; height: 100%; overflow-y: auto; -ms-overflow-style: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.header-navi-inner::-webkit-scrollbar { display: none; }
.header-navi-scroll { width: 100%; height: 100%; padding: 18vw 0 100px; overflow-y: auto; position: relative; -ms-overflow-style: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.header-navi-scroll::-webkit-scrollbar { display: none; }
.header-navi-items { width: 80vw; margin: 0 auto 8vw; }
.header-navi-item { width: 100%; margin-bottom: 12vw; position: relative; }
.header-navi-item a { overflow: hidden; }
.header-navi-item ul {width: 100%;padding-bottom: 1px;margin: 5vw auto -4vw;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;}
.header-navi-item ul.vertical { display: block; }
.header-navi-item li {padding-left: 5vw;margin: 0 5vw 5vw 0;font-size: 3.4vw;position: relative;width: 100%;}
.header-navi-item li:before { content: ''; width: 0; height: 1px; background: #3d3d3d; opacity: 0; visibility: hidden; position: absolute; top: 50%; left: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); -moz-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -moz-transition-delay: 0.5s; -o-transition-delay: 0.5s; -webkit-transition-delay: 0.5s; transition-delay: 0.5s; }
.header-navi-item li a {color: #b7b7b6;max-width: max-content;}
.header-navi-item li span { display: block; }
.header-navi-item-title { color: #fff; font-size: 9.2vw; font-family: "cormorant"; font-weight: 400; letter-spacing: 0.4vw; display: block; position: relative; cursor: pointer; }
.header-navi-company-items { width: 80vw; margin: 0 auto; }
.header-navi-company-items li { width: 100%; margin-bottom: 6vw; color: #b7b7b6; overflow: hidden; }
.header-navi-company-items li.tel { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.header-navi-company-items li.tel a { margin-right: 2.5vw; letter-spacing: 0.4vw; }
.header-navi-company-items a { color: #b7b7b6; }
.header-navi-company-title { width: 100%; margin-bottom: 2.5vw; font-size: 3.9vw; font-family: "cormorant"; font-weight: 400; letter-spacing: 0.4vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.header-navi-company-title:after { content: ''; height: 1px; margin-left: 2.5vw; background: #3d3d3d; flex: 1; }
.header-navi-company-date { font-size:3vw; line-height: 1.6; }

.animation { visibility: hidden; -moz-transform: translateY(100%); -ms-transform: translateY(100%); -webkit-transform: translateY(100%); transform: translateY(100%); -moz-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); }

.header-navi-open { width: 100%; height: 100%; position: fixed; }
.header-navi-open .header-navi-button { right: 0; }
.header-navi-open .line-top { top: 7vw; -moz-transform: rotate(160deg); -ms-transform: rotate(160deg); -webkit-transform: rotate(160deg); transform: rotate(160deg); }
.header-navi-open .line-bottom { top: 7vw; -moz-transform: rotate(-160deg); -ms-transform: rotate(-160deg); -webkit-transform: rotate(-160deg); transform: rotate(-160deg); }
.header-navi-open .line-title:before { opacity: 1; visibility: visible; }
.header-navi-open .line-title span { opacity: 0; visibility: hidden; }
.header-navi-open .header-navi { opacity: 1; visibility: visible; top: 0; }
.header-navi-open .header-navi-item li:before { width: 3vw; opacity: 1; visibility: visible; }
.header-navi-open .animation { visibility: visible; -moz-transform: translateY(0); -ms-transform: translateY(0); -webkit-transform: translateY(0); transform: translateY(0); }
.header-navi-open .animation01 { -moz-transition-delay: 0.3s; -o-transition-delay: 0.3s; -webkit-transition-delay: 0.3s; transition-delay: 0.3s; }
.header-navi-open .animation02 { -moz-transition-delay: 0.6s; -o-transition-delay: 0.6s; -webkit-transition-delay: 0.6s; transition-delay: 0.6s; }




/* hero sp
----------------------------------------------- */
.hero { width: 100%; position: relative; }
.top-hero-items-container .swiper-pagination { padding-left: 5vw; text-align: left; z-index: 5; bottom: 16vw; }
.top-hero-items-container .swiper-pagination-bullet { width: 12vw; height: 0.8vw; background: #9f9e9f; -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; opacity: 1; }
.top-hero-items-container .swiper-pagination-bullet-active { background: #c9b58f; }
.top-hero-items { width: 100%; }
.top-hero-item { opacity: 1 !important; }
.top-hero-item.swiper-slide-active { z-index: 2; }
.top-hero-item.swiper-slide-active .top-hero-item-content { width: 100%; -moz-transition-delay: 0s; -o-transition-delay: 0s; -webkit-transition-delay: 0s; transition-delay: 0s; -moz-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); }
.top-hero-item.swiper-slide-active .top-hero-item-image { -moz-transition-delay: 0s; -o-transition-delay: 0s; -webkit-transition-delay: 0s; transition-delay: 0s; -moz-transform: scale(1); -ms-transform: scale(1); -webkit-transform: scale(1); transform: scale(1); transition-duration: 2.5s; }
.top-hero-item-content { width: 0; overflow: hidden; -moz-transition-delay: 1.5s; -o-transition-delay: 1.5s; -webkit-transition-delay: 1.5s; transition-delay: 1.5s; }
.top-hero-item-image { width: 100vw; height: 110vh; -moz-transform: scale(1.05); -ms-transform: scale(1.05); -webkit-transform: scale(1.05); transform: scale(1.05); -moz-transition-delay: 2s; -o-transition-delay: 2s; -webkit-transition-delay: 2s; transition-delay: 2s; }
.top-hero-item-image01 { background: url(../images/top-hero-item-image01.jpg) no-repeat center; background-size: cover; }
.top-hero-title { width: 100%; padding: 0 5vw; color: #fff; z-index: 2; position: absolute; bottom: 28vw; left: 0; }
.top-hero-title .logo { width: 84vw; margin-bottom: 6vw; }
.top-hero-title .text { font-size: 3.8vw; font-family: "cormorant"; font-weight: 400; line-height: 1.4; letter-spacing: 0.4vw; display: block; }
.top-hero-view { padding-left: 20vw; color: #fff; font-size: 3.4vw; font-family: "cormorant"; font-weight: 400; letter-spacing: 0.4vw; z-index: 1; position: absolute; right: 6vw; bottom: 28vw; -moz-transform: rotate(-90deg); -ms-transform: rotate(-90deg); -webkit-transform: rotate(-90deg); transform: rotate(-90deg); -moz-transform-origin: top right; -ms-transform-origin: top right; -webkit-transform-origin: top right; transform-origin: top right; }
.top-hero-view::before { content: ''; width: 16vw; height: 1px; background: #8b8686; position: absolute; top: 50%; left: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.top-hero-view::after { content: ''; width: 4vw; height: 4vw; border: 1px solid #cbcbca; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; position: absolute; top: 50%; left: -2vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }

.second-hero { height: 68vw; }
.second-hero-title { padding: 0 5vw; position: absolute; bottom: 12vw; left: 0; }
.second-hero-title .en { margin-bottom: 2.5vw; font-size: 15.8vw; font-family: "cormorant"; font-weight: 400; letter-spacing: 0.4vw; display: block; }
.second-hero-title .jp { font-size: 4.4vw; font-family: var(--mincho); display: block; }




/* bread sp
----------------------------------------------- */
.breadcrumb { padding: 3vw 0 2.5vw; background:#eae5e1;z-index: 1; position: relative; }
.breadcrumb-items { width: 90vw; margin: 0 auto; font-size: 0; }
.breadcrumb-items li { font-size: 3.16vw; position: relative; display: inline-block; }
.breadcrumb-items li:last-child:after { display: none; }
.breadcrumb-items li:last-child a { color: var(--gold); font-weight: bold; }
.breadcrumb-items li:after { content: "\f105"; margin: 0 2.5vw 0 1.5vw; font-weight: normal; font-family: 'icon'; opacity: 0.4; display: inline-block; }
.breadcrumb-items a { display: inline-block; }


/* midashi */
.midashi01 { padding-bottom: 5vw; margin-bottom: 6.5vw; text-align: center; position: relative; }
.midashi01:after { content: ''; width: 14vw; height: 1px; background: #fff; opacity: 0.5; position: absolute; bottom: 0; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.midashi01 .en {margin-bottom: 3.5vw;color: #fff;font-size: 9vw;font-family: "cormorant";font-weight: 400;letter-spacing: 0.4vw;display: block;}
.midashi01 .en:first-letter { color: var(--gold); }
.midashi01 .jp { font-size: 3.6vw; display: block; }

.midashi02 {margin-bottom: 6vw;position: relative;}
.midashi02 .en { margin-bottom: 2vw; font-size: 7.6vw;font-family: "cormorant";font-weight: 400;letter-spacing: 0.4vw; display: block;line-height: 1;}
.midashi02 .en:first-letter { color: var(--gold);}
.midashi02 .jp { font-size: 3.6vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: baseline; align-items: baseline;}
.midashi02 .jp:after { content: ''; width: 18vw; height: 1px; margin-left: 4vw; background: #9a9a9a; display: block;}

.midashi03 {margin-bottom: 8vw;border-bottom: 1px solid var(--gold);padding-bottom: 5vw;position: relative;}
.midashi03:before{content: "";width: 20vw;height: 4px;background: #fff;position: absolute;bottom: -3px;left: 50%;-ms-transform: translate(-50%, 0);-webkit-transform: translate(-50%, 0);transform: translate(-50%, 0);}
.midashi03 .jp{font-size: 5vw;text-align: center;display: block;margin-bottom: 2vw;line-height: 1.2;}
.midashi03 .en{font-family: "cormorant";font-weight: 400;letter-spacing: 0.4vw;text-align: center;display: block;color: var(--gold);font-size: 86%;}
.midashi03 .jp span { font-size: 70%;}

.midashi04 {width: 100%;margin: 0 auto 5vw;position: relative;}
.midashi04 .en {font-size: 4.6vw;font-family: "miller-banner";font-weight: 300;letter-spacing: .04em;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-align-items: center;align-items: center;line-height: 1.4;}
.midashi04 .en:after {content: '';height: 1px;margin: 0.5vw 0 0 2vw;background: var(--gold);flex: 1;}
.midashi04 .jp {font-size: 3vw;display: block;line-height: 1.4;color: var(--gold);}

p.ast { font-size: 88% ; padding-left: 1em;text-indent: -1em; text-align:justify; text-justify:auto;}
ul.ast li { font-size: 88% ; padding-left: 1em;text-indent: -1em; text-align:justify; text-justify:auto; margin-bottom: 2%; line-height: 1.5;}
ul.ast li a{display: inline-block;padding-left: 10px;}
span.ast{font-size: 88%;}


.tbl {width: 100%;}
.tbl th,.tbl td {vertical-align:middle;line-height: 1.6;letter-spacing: .04em;}
.tbl th {text-align:center;width: 30%;font-weight: 600;padding: 3% 3% 3% 0;color: var(--gold);}
.tbl tr:first-child {border-top: 1px solid #e6e3dc;}
.tbl td {width: 70%;padding: 3% 0;}
.tbl tr{border-bottom: 1px solid #e6e3dc;}
.tbl tr:last-child { border-bottom: none;}
.tbl td a span:before {margin-right: 3px;font-family:icon;content:'\f095';font-size: 80%;}
.tbl td a.link{display: inline;font-weight: 600;text-decoration: underline;color: var(--gold);}
.tbl td li{text-indent:-1em;padding-left: 1px;}
.tbl td dl{margin-bottom: 4vw;}
.tbl td dl:last-child{margin-bottom: 0;}
.tbl td dt{font-weight: 600;}




/* footer sp
----------------------------------------------- */
.footer { width: 100%; padding: 16vw 0; background: #282726 url(../images/footer-bg.jpg) no-repeat center bottom; background-size: 100%; z-index: 1; position: relative; }
.footer-logo { width: 55vw; margin: 0 auto 8vw; }
.footer-logo img { width: 100%; }
.footer-navi { width: 90vw; margin: 0 auto 10vw; }
.footer-navi-title { padding: 5vw 2vw; color: #fff; font-size: 5.7vw; font-family: "cormorant"; font-weight: 400; letter-spacing: 0.4vw; border-bottom: 1px solid #666; position: relative; }
.footer-navi-title.open .plus::after { -moz-transform: translate(-50%, -50%) rotate(90deg); -ms-transform: translate(-50%, -50%) rotate(90deg); -webkit-transform: translate(-50%, -50%) rotate(90deg); transform: translate(-50%, -50%) rotate(90deg); }
.footer-navi-title .plus { width: 2.5vw; height: 2.5vw; position: absolute; top: 50%; right: 2vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.footer-navi-title .plus::before { content: ''; width: 100%; height: 1px; background: #666; position: absolute; top: 50%; left: 50%; -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
.footer-navi-title .plus::after { content: ''; width: 1px; height: 100%; background: #666; position: absolute; top: 50%; left: 50%; -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
.footer-navi-items { width: 100%; display: none; }
.footer-navi-items li { width: 100%; font-size: 3.68vw; border-bottom: 1px solid #666; position: relative; }
.footer-navi-items li::after { content: '\f105'; font-size: 90%; font-family: 'icon'; opacity: 0.5; position: absolute; top: 50%; right: 2.5vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.footer-navi-items a { padding: 4.5vw 2vw; color: #fff; }
.copyright { color: #fff; font-size: 3.2vw; font-family: "cormorant"; font-weight: 400; text-align: center; letter-spacing: 0.4vw; }



/* second sp
----------------------------------------------- */
.second {min-height: 100vw;margin: 0 auto;position: relative;font-size: 3.5vw; line-height: 1.8;font-feature-settings: "palt";letter-spacing: .04em;text-align: justify;text-justify: auto; z-index: 1; }
.second-text {padding: 6vw 0 12vw;width: 88vw;margin: 0 auto;}
.second p { margin-bottom: 4vw; }










/* =============================================
pc-size
================================================*/
@media screen and (min-width: 736px) {

/* default pc ----------------------------------------------- */
body { font-size: 15px; }
.sp { display: none; }
.pc { display: block; }


/* common pc ----------------------------------------------- */
.more01 { width: 230px; padding: 15px 0; font-size: 20px; letter-spacing: 2px; }
.more01::after { line-height: 2; right: 15px; }


/* header pc ----------------------------------------------- */
.header { width: auto; height: 50px; background: #fff; -moz-box-shadow: 0 0 15px rgba(0, 0, 0, 0.08); -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.08); box-shadow: 0 0 15px rgba(0, 0, 0, 0.08); right: 0; left: auto; }
.header-content { width: 100%; height: 100%; position: relative; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: center; align-items: center; }
.header-global-items { padding: 2px 0 0 25px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.header-global-items li { margin: 0 12px; font-size: 12px; font-family: "cormorant"; font-weight: 400; letter-spacing: 2px; }
.header-navi-button { width: 120px; height: 100%; position: relative; right: auto; }
.header-navi-button .line { width: 24px; left: 20px; }
.header-navi-button .line-top { top: 22px; }
.header-navi-button .line-bottom { top: 28px; }

.header-navi-button .line-title { padding-top: 2px; font-size: 12px; letter-spacing: 2px; right: 20px; }
.header-contact { width: auto; height: 100%; padding: 1px 20px 0; font-size: 15px; letter-spacing: 1px; position: relative; }
.header-contact::before { margin-right: 5px; font-size: 15px; position: relative; top: -2px; }
.header-navi { background: url(../images/header-navi-bg-pc.jpg) no-repeat center left; background-size: cover; -moz-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi-scroll { padding: 160px 0 80px; }
.header-navi-scroll::before { content: ''; width: calc(50vw - 480px); height: 100vh; background: url(../images/header-navi-image.jpg) no-repeat center left; background-size: cover; opacity: 0; position: fixed; top: 0; left: 0; -moz-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -moz-transition-delay: 0.3s; -o-transition-delay: 0.3s; -webkit-transition-delay: 0.3s; transition-delay: 0.3s; }
.header-navi-content { width: 670px; margin: 0 auto; }
.header-navi-items { width: 100%; margin-bottom: 20px; }
.header-navi-item { margin-bottom: 80px; }
.header-navi-item ul { margin: 20px auto -10px; }
.header-navi-item li { padding-left: 22px; margin: 0 25px 20px 0; font-size: 15px; }
.header-navi-item li::before { width: 20px; }
.header-navi-item-title { font-size: 50px; letter-spacing: 2px; }
.header-navi-company-items { width: 100%; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; }
.header-navi-company-items li { width: 48%; margin: 0; }
.header-navi-company-title { margin-bottom: 12px; font-size: 15px; letter-spacing: 2px; }
.header-navi-company-title:after { margin-left: 12px; }
.header-navi-company-date { font-size: 12px; letter-spacing: 2px; }
.header-navi-open .header-navi-button { position: absolute; right: 0; }
.header-navi-open .line-top, .header-navi-open .line-bottom { top: 25px; }
.header-navi-open .line-title::before { padding-top: 1px; }
.header-navi-open .header-navi { -moz-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi-open .header-navi-scroll::before { opacity: 1; }
.header-navi-open .header-navi-item li::before { width: 12px; }



/* hero pc ----------------------------------------------- */
.top-hero-items-container .swiper-pagination { width: 1200px; padding-left: 0; margin-left: -6px; text-align: center; bottom: 80px; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.top-hero-items-container .swiper-pagination-bullet { width: 70px; height: 3px; margin: 0 8px !important; background: #fff; }
.top-hero-items-container .swiper-pagination-bullet-active { background: #c9b58f; }
.top-hero-item-image { height: 950px; }
.top-hero-item-image01 { background: url(../images/top-hero-item-image01-pc.jpg) no-repeat center; background-size: cover; }
.top-hero-title { padding: 0; top: 50%; bottom: auto; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.top-hero-title .logo { width: 630px; margin: 0 auto 30px; }
.top-hero-title .text { font-size: 16px; text-align: center; letter-spacing: 2px; }
.top-hero-view { padding-left: 75px; font-size: 16px; letter-spacing: 2px; right: calc(50% - 600px); bottom: 220px; }
.top-hero-view::before { width: 60px; background: #ccc; }
.top-hero-view:after { width: 16px; height: 16px; left: -8px; }
.second-hero { height: 300px; }
.second-hero-title { width: 1200px; padding: 0; top: 50%; left: 50%; bottom: auto; -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
.second-hero-title .en { margin-bottom: 10px; font-size: 80px; letter-spacing: 4px; }
.second-hero-title .jp { font-size: 18px; }



/* bread pc ----------------------------------------------- */
.breadcrumb { padding: 12px 0 10px; }
.breadcrumb-items { width: 1200px; }
.breadcrumb-items li { font-size: 12px; }
.breadcrumb-items li:after { margin: 0 12px 0 10px; }


ul.ast li {margin-bottom: 4px;}


/* midashi */
.midashi01{ padding-bottom: 30px; margin-bottom: 40px; }
.midashi01:after { width: 75px; }
.midashi01 .en {margin-bottom: 12px;font-size: 50px;letter-spacing: 2px;}
.midashi01 .jp { font-size: 15px; }

.midashi02 { margin-bottom: 40px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: baseline; align-items: baseline; }
.midashi02 .en {margin: 0 15px 0 0;font-size: 42px;letter-spacing: 2px;}
.midashi02 .jp { font-size: 15px; }
.midashi02 .jp:after { width: 75px; margin-left: 15px; }

.midashi03 {margin-bottom: 60px;padding-bottom: 30px;}
.midashi03:after{width: 100px;bottom: -20px;}
.midashi03 .jp{font-size: 26px;display: block;width: auto; margin-bottom: 10px;}
.midashi03 .en{font-size: 14px;margin-bottom: 0;}

.midashi04 {margin-bottom: 40px;}
.midashi04 .en {margin-bottom: 2px;font-size: 28px;}
.midashi04 .en:after { margin-left: 20px; }
.midashi04 .jp { font-size: 13px; }


.tbl td {width: 77%;padding: 18px 0;}
.tbl th {text-align:center;width: 20%;padding: 18px 10px;position: relative;}
.tbl td a {font-size: 26px;}
.tbl td a.link{font-size: 15px;}
.tbl td dl{margin-bottom:30px;}



/* footer pc ----------------------------------------------- */
.footer { padding: 140px 0; background: url(../images/footer-bg-pc.jpg) no-repeat top center; background-size: cover; }
.footer-logo { width: 265px; margin-bottom: 120px; }
.footer-navi {width: 1200px;margin-bottom: 80px;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;-webkit-justify-content: space-between;justify-content: space-between;-webkit-align-items: flex-start;align-items: flex-start;}
.footer-navi-box { width: 310px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; }
.footer-navi-box:first-child {width: 480px;margin-bottom: 30px;}
.footer-navi-title { width: 100%; padding: 0; margin-bottom: 25px; font-size: 16px; letter-spacing: 2px; border: none; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.footer-navi-title::after { content: ''; height: 1px; margin-left: 15px; background: #5d5b5b; flex: 1; }
.footer-navi-items {width: 100%;display: grid;grid-auto-flow: column;grid-template-rows: repeat(6, auto);-webkit-justify-content: space-between;justify-content: space-between;}
.footer-navi-items li { width: 100%; margin-bottom: 20px; font-size: 14px; border-bottom: none; }
.footer-navi-items li::after { display: none; }
.footer-navi-items a { padding: 0; }
.copyright { width: 1200px; margin: 0 auto; font-size: 12px; text-align: right; letter-spacing: 1px; }


/* second pc ----------------------------------------------- */
.second{font-size: 15px;min-height: 600px;}
.second p{margin-bottom: 30px;}
.second-text {max-width: 1200px;padding: 80px 0;}
}









/* =============================================
retina用
================================================*/
@media screen and (min-width: 736px) and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 736px) and (min-resolution: 2dppx) {
.header-navi { background: url(../images/header-navi-bg-pc@2x.jpg) no-repeat center left; background-size: cover; }
.header-navi-scroll::before { background: url(../images/header-navi-image@2x.jpg) no-repeat center left; background-size: cover; }
.top-hero-item-image01 { background: url(../images/top-hero-item-image01-pc@2x.jpg) no-repeat center; background-size: cover; }
.footer { background: url(../images/footer-bg-pc@2x.jpg) no-repeat top center; background-size: cover; }
}
