@charset "UTF-8";
/* 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: #311e04; font-size: 3.5vw; font-family: var(--gothic); -webkit-text-size-adjust: 100%; font-style: normal; line-height: 1; background: var(--white); }
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: #311e04; 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; }
.en { font-family: "Cormorant Garamond"; font-optical-sizing: auto; font-weight: 500; letter-spacing: 0.05rem; }

/* font & color
----------------------------------------------- */
:root { --mincho: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "MS P明朝", serif; --gothic: 游ゴシック体, YuGothic, 'Yu Gothic', "游ゴシック Medium", "Yu Gothic Medium", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; --black: #311e04; --white: #fffbf7; --red: #8c0000; --gray01: #eee; --gray02: #ccc; }

/* common sp
----------------------------------------------- */
.wrapper { width: 100%; overflow: hidden; z-index: 1; position: relative; }
.container {padding-top: 20vw;}

.midashi01 {margin-bottom: 12vw;text-align: left;position: relative;display: table;}
.midashi01 .en {margin-bottom: 4vw;font-size: 8.95vw;font-family: "Cormorant Garamond";font-optical-sizing: auto;font-weight: 500;letter-spacing: 0.06rem;display: block;}
.midashi01 .jp { font-size: 3.68vw; font-family: var(--mincho); display: block; }

.more {width: 70vw;padding: 6vw 0;margin: auto;font-size: 4vw;font-family: "Jost";font-optical-sizing: auto;font-weight: 300;text-align: center;letter-spacing: 0.4vw;background: #d7cbbf;-moz-border-radius: 15vw;-webkit-border-radius: 15vw;border-radius: 15vw;position: relative;}
.more:after { content: ''; width: 2vw; height: 2vw; background: var(--red); -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; position: absolute; top: 50%; right: 8vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.more02 {width: 50vw;padding: 8vw 0;margin: auto;font-size: 4vw;font-family: "Jost";font-optical-sizing: auto;font-weight: 300;letter-spacing: 0.4vw;border-bottom: 1px solid #93968f;position: relative;}
.more02:after { content: ''; width: 2vw; height: 2vw; background: var(--red); -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; position: absolute; top: 50%; right: 2.5vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }

.tab { margin-bottom: 6vw; }
.tab li { margin-bottom: 2vw; }
.tab li a { padding: 4vw 0; color: var(--white); font-size: 4vw; font-family: var(--mincho); font-weight: 600; text-align: center; background: var(--red); border-radius: 50px; position: relative; }
.tab li a::after { content: ''; width: 2vw; height: 2vw; background: var(--white); -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; position: absolute; top: 50%; right: 6.5vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }

/* margin(sp) */
div.mb10,p.mb10,ul.mb10,li.mb10,span.mb10,h2.mb10,h3.mb10,h4.mb10,h5.mb10,h6.mb10,table.mb10,img.mb10 { margin-bottom: 2vw;}
div.mb20,p.mb20,ul.mb20,li.mb20,span.mb20,h2.mb20,h3.mb20,h4.mb20,h5.mb20,h6.mb20,table.mb20,img.mb20 { margin-bottom: 4vw;}
div.mb40,p.mb40,ul.mb40,li.mb40,span.mb40,h2.mb40,h3.mb40,h4.mb40,h5.mb40,h6.mb40,table.mb40,img.mb40 { margin-bottom: 6vw;}
div.mb60,p.mb60,ul.mb60,li.mb60,span.mb60,h2.mb60,h3.mb60,h4.mb60,h5.mb60,h6.mb60,table.mb60,img.mb60 { margin-bottom: 8vw;}
div.mb80,p.mb80,ul.mb80,li.mb80,span.mb80,h2.mb80,h3.mb80,h4.mb80,h5.mb80,h6.mb80,table.mb80,img.mb80 { margin-bottom: 10vw;}
div.mb100,p.mb100,ul.mb100,li.mb100,span.mb100,h2.mb100,h3.mb100,h4.mb100,h5.mb100,h6.mb100,table.mb100,img.mb100  { margin-bottom: 14vw;}
div.mb0,p.mb0,ul.mb0,li.mb0,span.mb0,h2.mb0,h3.mb0,h4.mb0,h5.mb0,h6.mb0,table.mb0,img.mb0  { margin-bottom: 0;}
/* padding(sp) */
div.pb10,p.pb10,ul.pb10,li.pb10,span.pb10,h2.pb10,h3.pb10,h4.pb10,h5.pb10,h6.pb10,table.pb10,img.pb10 { padding-bottom: 2vw;}
div.pb20,p.pb20,ul.pb20,li.pb20,span.pb20,h2.pb20,h3.pb20,h4.pb20,h5.pb20,h6.pb20,table.pb20,img.pb20 { padding-bottom: 4vw;}
div.pb40,p.pb40,ul.pb40,li.pb40,span.pb40,h2.pb40,h3.pb40,h4.pb40,h5.pb40,h6.pb40,table.pb40,img.pb40 { padding-bottom: 6vw;}
div.pb60,p.pb60,ul.pb60,li.pb60,span.pb60,h2.pb60,h3.pb60,h4.pb60,h5.pb60,h6.pb60,table.pb60,img.pb60 { padding-bottom: 8vw;}
div.pb80,p.pb80,ul.pb80,li.pb80,span.pb80,h2.pb80,h3.pb80,h4.pb80,h5.pb80,h6.pb80,table.pb80,img.pb80 { padding-bottom: 10vw;}
div.pb100,p.pb100,ul.pb100,li.pb100,span.pb100,h2.pb100,h3.pb100,h4.pb100,h5.pb100,h6.pb100,table.pb100,img.pb100  { padding-bottom: 14vw;}
div.pb0,p.pb0,ul.pb0,li.pb0,span.pb0,h2.pb0,h3.pb0,h4.pb0,h5.pb0,h6.pb0,table.pb0,img.pb0  { padding-bottom: 0;}
/* padding(sp) */
div.pt10,p.pt10,ul.pt10,li.pt10,span.pt10,h2.pt10,h3.pt10,h4.pt10,h5.pt10,h6.pt10,table.pt10,img.pt10 { padding-top: 2vw;}
div.pt20,p.pt20,ul.pt20,li.pt20,span.pt20,h2.pt20,h3.pt20,h4.pt20,h5.pt20,h6.pt20,table.pt20,img.pt20 { padding-top: 4vw;}
div.pt40,p.pt40,ul.pt40,li.pt40,span.pt40,h2.pt40,h3.pt40,h4.pt40,h5.pt40,h6.pt40,table.pt40,img.pt40 { padding-top: 6vw;}
div.pt60,p.pt60,ul.pt60,li.pt60,span.pt60,h2.pt60,h3.pt60,h4.pt60,h5.pt60,h6.pt60,table.pt60,img.pt60 { padding-top: 8vw;}
div.pt80,p.pt80,ul.pt80,li.pt80,span.pt80,h2.pt80,h3.pt80,h4.pt80,h5.pt80,h6.pt80,table.pt80,img.pt80 { padding-top: 10vw;}
div.pt100,p.pt100,ul.pt100,li.pt100,span.pt100,h2.pt100,h3.pt100,h4.pt100,h5.pt100,h6.pt100,table.pt100,img.pt100  { padding-top: 14vw;}
div.pt0,p.pt0,ul.pt0,li.pt0,span.pt0,h2.pt0,h3.pt0,h4.pt0,h5.pt0,h6.pt0,table.pt0,img.pt0  { padding-top: 0;}

.social-items { margin-bottom: 10vw; display: flex; -webkit-justify-content: center; justify-content: center; gap: 0 8%; }
.social-items li { width: fit-content; font-size: 8vw; }
.social-items a { display: inline-block; color: var(--white); }

/* header sp
----------------------------------------------- */
.header {width: 100%;height: 20vw;background: var(--black);z-index: 10;position: fixed;top: 0;left: 0;-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-content { width: 100%; height: 100%; position: relative; }
.header-logo { width: 42vw; position: absolute; top: 50%; left: 1vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.header-logo img { width: 130%; }
.header-tel {width: 10vw;height: 10vw;padding-top: 0.5vw;font-size: 6vw;text-align: center;background: #fff;-moz-border-radius: 50%;-webkit-border-radius: 50%;border-radius: 50%;z-index: 11;position: absolute;top: 50%;right: 30vw;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-justify-content: center;justify-content: center;-webkit-align-items: center;align-items: center;-moz-transform: translateY(-50%);-ms-transform: translateY(-50%);-webkit-transform: translateY(-50%);transform: translateY(-50%);}
.header-contact {width: 10vw;height: 10vw;font-size: 5vw;text-align: center;background: #fff;-moz-border-radius: 50%;-webkit-border-radius: 50%;border-radius: 50%;z-index: 11;position: absolute;top: 50%;right: 17vw;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-justify-content: center;justify-content: center;-webkit-align-items: center;align-items: center;-moz-transform: translateY(-50%);-ms-transform: translateY(-50%);-webkit-transform: translateY(-50%);transform: translateY(-50%);}
.header-navi-button {width: 15vw;height: 15vw;cursor: pointer;z-index: 11;position: absolute;top: 4.5vw;right: 0vw;-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 { height: 1px; left: 2vw; background: #fff; position: absolute; -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 { width: 8vw; top: 2vw; }
.header-navi-button .line-middle { width: 6.5vw; top: 4vw; }
.header-navi-button .line-bottom { width: 5vw; top: 6vw; }
.header-navi-button .line-title { width: 100%; color: #fff; font-size: 2.63vw; font-family: "Jost"; font-optical-sizing: auto; font-weight: 300; text-align: center; letter-spacing: 0.02rem; position: absolute; bottom: 4.5vw; left: -1.8vw; }
.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.5s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.5s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.5s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.5s cubic-bezier(0.76, 0, 0.24, 1); -moz-animation: header-navi-bg 15s ease infinite; -webkit-animation: header-navi-bg 15s ease infinite; animation: header-navi-bg 15s ease infinite; }
@keyframes header-navi-bg {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.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: 20vw 0 1px; 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-logo { width: 60vw; margin: 4vw auto 10vw; }
.header-navi-logo img { width: 100%; }
.header-navi-items { width: 75vw; margin: 0 auto 10vw; }
.header-navi-item { width: 100%; margin-bottom: 10vw; position: relative; }
.header-navi-item-title { color: #fff; overflow: hidden; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: baseline; align-items: baseline; }
.header-navi-item-title.accordion:after { content: ''; width: 2vw; height: 2vw; margin-left: 4vw; background: var(--white); display: inline-block; clip-path: polygon(0 0, 100% 0, 50% 100%); transition: all 0.6s; }
.header-navi-item-title.accordion.open:after { transform: rotateX(540deg); } 
.header-navi-item-title .en { margin-right: 2.5vw; font-size: 8vw; font-family: "Cormorant Garamond"; font-optical-sizing: auto; font-weight: 500; letter-spacing: 0.05rem; display: block; }
.header-navi-item-title .jp { font-size: 3.68vw; display: block; }
.header-navi-item-box { padding: 4vw 0 1vw; display: none; }
.header-navi-item-box ul { padding: 1vw 0 1vw 8vw; border-left: 1px solid #675a42; }
.header-navi-item-box li { width: 100%; margin-bottom: 5vw; }
.header-navi-item-box li:last-child { margin: 0; }
.header-navi-item-box a { color: #fff; }
.header-navi-item-box .en { margin-bottom: 1vw; font-size: 5.26vw; font-family: "Cormorant Garamond"; font-optical-sizing: auto; font-weight: 500; letter-spacing: 0.05rem; display: block; }
.header-navi-item-box .jp { font-size: 3.42vw; display: block; }
.header-navi-social-items { margin-bottom: 20vw; }
.animation { visibility: hidden; -moz-transform: translateY(125%); -ms-transform: translateY(125%); -webkit-transform: translateY(125%); transform: translateY(125%); -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 .line-top { top: 6vw; -moz-transform: rotate(25deg); -ms-transform: rotate(25deg); -webkit-transform: rotate(25deg); transform: rotate(25deg); }
.header-navi-open .line-bottom { width: 8vw; top: 6vw; -moz-transform: rotate(-25deg); -ms-transform: rotate(-25deg); -webkit-transform: rotate(-25deg); transform: rotate(-25deg); }
.header-navi-open .line-middle, .header-navi-open .line-title { opacity: 0; visibility: hidden; }
.header-navi-open .header-navi { opacity: 1; visibility: visible; top: 0; }
.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.4s; -o-transition-delay: 0.4s; -webkit-transition-delay: 0.4s; transition-delay: 0.4s; }
.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 { padding-top: 5vw; }
.top-hero-content { position: relative; }
.top-hero-image01 { width: 90vw; margin: 0 auto 30vw 0; }
.top-hero-image01 img { width: 100%; }
.top-hero-image02 { width: 40vw; margin-left: auto; }
.top-hero-image02 img { width: 100%; }
.top-hero-text { width: 100%; padding: 0 5vw; z-index: 1; position: absolute; bottom: 18.5vw; left: 0; }
.top-hero-text .top-hero-more { width: 50vw; margin-left: 0; }
.top-hero-logo { width: 100%; margin: 0 auto 4vw; }
.top-hero-logo img { width: 100%; }
.top-hero-comment { width: 100%; margin-bottom: 4vw; font-size: 3.42vw; font-family: "Jost"; font-optical-sizing: auto; font-weight: 300; text-align: justify; text-justify: inter-ideograph; font-feature-settings: "palt"; line-height: 1.8; letter-spacing: 0.02rem; position: relative; }
.top-hero-comment .white { width: 35vw; height: 100%; color: #fff; overflow: hidden; position: absolute; top: 0; right: 0; }
.top-hero-comment .white p { width: 90vw; position: absolute; top: 0; right: 0; }

.second-hero { height: 45vw; }
.second-hero-title { width: 88vw; position: absolute; top: 50%; right: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.second-hero-title:before { content: ''; width: 2.8vw; height: 2.8vw; background: url(../images/deco01.png) no-repeat center; background-size: 100%; position: absolute; top: -6vw; left: -4vw; }
.second-hero-title .en { margin-bottom: 2vw; font-size: 10vw; font-family: "Cormorant Garamond"; font-optical-sizing: auto; font-weight: 500; letter-spacing: 0.1rem;  display: block; }
.second-hero-title .jp { font-size: 3.68vw; font-family: var(--mincho); display: block; }

/* bread sp
----------------------------------------------- */
.breadcrumb { padding: 4vw 0; z-index: 1; position: relative; }
.breadcrumb-items { width: 80vw; margin: 0 auto; font-size: 0; }
.breadcrumb-items li { font-size: 3.16vw; font-family: var(--mincho); position: relative; display: inline-block; }
.breadcrumb-items li:last-child:after { display: none; }
.breadcrumb-items li.current a { color: var(--red); font-family: var(--mincho); font-weight: 600; }
.breadcrumb-items li:after { content: ''; width: 8vw; height: 1px; margin: 1.5vw 3vw 0 2.5vw; vertical-align: top; background: #50504f; display: inline-block; }
.breadcrumb-items a { display: inline-block; }

/* footer sp
----------------------------------------------- */
.footer { width: 100%; padding-bottom: 14vw; background: var(--black); z-index: 1; position: relative; }
.footer-content { padding: 14vw 0 4vw; }
.footer-logo { width: 70vw; margin: 0 auto 4vw; }
.footer-logo img { width: 100%; }
.footer-navi { width: 70vw; margin: 0 auto; }
.footer-navi-box { margin-bottom: 12vw; }
.footer-navi-title { margin-bottom: 10vw;color: #988f82; font-size: 7.63vw; font-family: "Cormorant Garamond";font-optical-sizing: auto; font-weight: 500; letter-spacing: 0.05rem; line-height: 0.6; border-bottom: 1px solid #988f82;}
.footer-navi-items { width: 100%; }
.footer-navi-items li {width: 100%;margin-bottom: 8vw;color: #fff;font-size: 3.68vw;position: relative;}
.footer-navi-items li.set { font-size: 3.16vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.footer-navi-items li.set a { display: inline-block; }
.footer-navi-items li.set a:first-child:before { display: none; }
.footer-navi-items li.set a:before { content: '|'; margin: 0 2vw 0 3vw; display: inline-block; }
.footer-navi-items a { color: #fff; }
.footer-navi-items a .en { font-size: 140%; }
.pagetop { padding: 6vw 1vw 1vw 0.8vw; color: #fff; font-size: 3.42vw; font-family: "Cormorant Garamond"; font-optical-sizing: auto; font-weight: 500; letter-spacing: 0.05rem; -ms-writing-mode: tb-rl; writing-mode: tb-rl; position: absolute; top: 10vw; right: 4vw; }
.pagetop:before { content: ''; width: 4vw; height: 4vw; background: url(../images/pagetop.png) no-repeat center; background-size: 1.2vw; border: 0.5px solid #fff; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; position: absolute; top: 0; left: 0.4vw; }
.copyright {height: 20vw;margin-bottom: 8vw;padding: 8vw 0;color: #fff;font-size: 3.68vw;font-family: "Cormorant Garamond";font-optical-sizing: auto;font-weight: 500;letter-spacing: 0.05rem;text-align: center;border-top: 0.5px solid #fff;border-bottom: 0.5px solid #fff;}
.footer-fixed { width: 100%; background: var(--black); opacity: 0; visibility: hidden; z-index: 8; position: fixed; bottom: 0; left: 0; -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-fixed.active { opacity: 1; visibility: visible; }
.footer-fixed-items {width: 100%;height: 18vw;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;}
.footer-fixed-items li { width: 50%; text-align: center; position: relative; }
.footer-fixed-items li:first-child:before { display: none; }
.footer-fixed-items li:before { content: ''; width: 1px; height: calc(100% - 8vw); background: #fff; opacity: 0.5; position: absolute; top: 50%; left: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.footer-fixed-items a {width: 100%;height: 100%;padding: 6vw 0;color: #fff;}
.footer-fixed-items .title {padding: 0.5vw 0 0.5vw 2vw;margin: auto;font-size: 5vw;font-family: "Jost";font-optical-sizing: auto;font-weight: 300;letter-spacing: 0.08rem;display: table;}
.footer-fixed-items .title.tel:before { content: '\f095'; margin-right: 1.5vw; font-family: 'icon'; display: inline-block; }
.footer-fixed-items .title.contact:before { content: '\e910'; margin-right: 1.5vw; font-family: 'icon'; display: inline-block; }

/* second sp
----------------------------------------------- */
.second { z-index: 1; position: relative; }
.second-text { width: 80vw; min-height: 100vw; padding-bottom: 14vw; margin: auto; }
.second-text p { margin-bottom: 4vw; font-size: 3.29vw; line-height: 1.8; }

/* =============================================
pc-size
================================================*/
@media screen and (min-width: 736px) {
body { font-size: 14px; }
.sp { display: none; }
.pc { display: block; }

/* common pc
----------------------------------------------- */
.container { padding-top: 100px; }

.midashi01 { margin-bottom: 60px; }
.midashi01 .en { margin-bottom: 20px; font-size: 60px; }
.midashi01 .jp { font-size: 16px; }

.more { width: 360px; padding: 28px 0 25px; font-size: 18px; }
.more:after { width: 10px; height: 10px; right: 35px; }
.more02 { width: 190px; padding: 25px 5px; margin: 0; font-size: 20px; }
.more02:after { width: 10px; height: 10px; right: 20px; }

.tab { margin-bottom: 30px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; gap: 0 20px; }
.tab li { width: 48%; margin-bottom: 0; }
.tab li a { padding: 20px 0; font-size: 18px; }
.tab li a::after { width: 10px; height: 10px; right: 40px; }
/* margin(pc) */
div.mb10,p.mb10,ul.mb10,li.mb10,span.mb10,h2.mb10,h3.mb10,h4.mb10,h5.mb10,h6.mb10,table.mb10,img.mb10 { margin-bottom: 10px; }
div.mb20,p.mb20,ul.mb20,li.mb20,span.mb20,h2.mb20,h3.mb20,h4.mb20,h5.mb20,h6.mb20,table.mb20,img.mb20 { margin-bottom: 20px; }
div.mb40,p.mb40,ul.mb40,li.mb40,span.mb40,h2.mb40,h3.mb40,h4.mb40,h5.mb40,h6.mb40,table.mb40,img.mb40 { margin-bottom: 40px; }
div.mb60,p.mb60,ul.mb60,li.mb60,span.mb60,h2.mb60,h3.mb60,h4.mb60,h5.mb60,h6.mb60,table.mb60,img.mb60 { margin-bottom: 60px; }
div.mb80,p.mb80,ul.mb80,li.mb80,span.mb80,h2.mb80,h3.mb80,h4.mb80,h5.mb80,h6.mb80,table.mb80,img.mb80 { margin-bottom: 80px; }
div.mb100,p.mb100,ul.mb100,li.mb100,span.mb100,h2.mb100,h3.mb100,h4.mb100,h5.mb100,h6.mb100,table.mb100,img.mb100  { margin-bottom: 100px;}
/* padding(pc) */
div.pb10,p.pb10,ul.pb10,li.pb10,span.pb10,h2.pb10,h3.pb10,h4.pb10,h5.pb10,h6.pb10,table.pb10,img.pb10 { padding-bottom: 10px; }
div.pb20,p.pb20,ul.pb20,li.pb20,span.pb20,h2.pb20,h3.pb20,h4.pb20,h5.pb20,h6.pb20,table.pb20,img.pb20 { padding-bottom: 20px; }
div.pb40,p.pb40,ul.pb40,li.pb40,span.pb40,h2.pb40,h3.pb40,h4.pb40,h5.pb40,h6.pb40,table.pb40,img.pb40 { padding-bottom: 40px; }
div.pb60,p.pb60,ul.pb60,li.pb60,span.pb60,h2.pb60,h3.pb60,h4.pb60,h5.pb60,h6.pb60,table.pb60,img.pb60 { padding-bottom: 60px; }
div.pb80,p.pb80,ul.pb80,li.pb80,span.pb80,h2.pb80,h3.pb80,h4.pb80,h5.pb80,h6.pb80,table.pb80,img.pb80 { padding-bottom: 80px; }
div.pb100,p.pb100,ul.pb100,li.pb100,span.pb100,h2.pb100,h3.pb100,h4.pb100,h5.pb100,h6.pb100,table.pb100,img.pb100  { padding-bottom: 100px;}
/* padding(pc) */
div.pt10,p.pt10,ul.pt10,li.pt10,span.pt10,h2.pt10,h3.pt10,h4.pt10,h5.pt10,h6.pt10,table.pt10,img.pt10 { padding-top: 10px; }
div.pt20,p.pt20,ul.pt20,li.pt20,span.pt20,h2.pt20,h3.pt20,h4.pt20,h5.pt20,h6.pt20,table.pt20,img.pt20 { padding-top: 20px; }
div.pt40,p.pt40,ul.pt40,li.pt40,span.pt40,h2.pt40,h3.pt40,h4.pt40,h5.pt40,h6.pt40,table.pt40,img.pt40 { padding-top: 40px; }
div.pt60,p.pt60,ul.pt60,li.pt60,span.pt60,h2.pt60,h3.pt60,h4.pt60,h5.pt60,h6.pt60,table.pt60,img.pt60 { padding-top: 60px; }
div.pt80,p.pt80,ul.pt80,li.pt80,span.pt80,h2.pt80,h3.pt80,h4.pt80,h5.pt80,h6.pt80,table.pt80,img.pt80 { padding-top: 80px; }
div.pt100,p.pt100,ul.pt100,li.pt100,span.pt100,h2.pt100,h3.pt100,h4.pt100,h5.pt100,h6.pt100,table.pt100,img.pt100  { padding-top: 100px;}

.social-items { margin-bottom: 30px; gap: 0 30px; }
.social-items li { font-size: 30px; }
.social-items li .icon-hpb1:before { font-size: 28px; }

/* header pc
----------------------------------------------- */
.header { height: 100px; }
.header-content { width: 900px; margin: auto; }
.header-logo { width: 260px; left: -20px; }
.header-tel { width: 270px; height: 75px; padding: 0; -moz-border-radius: 40px; -webkit-border-radius: 40px; border-radius: 40px; background: var(--red); right: 140px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
.header-tel .icon { width: 40px; height: 40px; margin-right: 12px; color: var(--red); font-size: 22px; background: #fff; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
.header-tel .title { color: #fff; font-size: 16px; font-family: "Jost"; font-optical-sizing: auto; font-weight: 300; text-align: left; line-height: 1.25; }
.header-contact { width: 40px; height: 40px; font-size: 22px; right: 75px; }
.header-navi-button { width: 60px; height: 60px; top: 20px; right: 0; }
.header-navi-button .line { left: 10px; }
.header-navi-button .line-top { width: 40px; top: 12px; }
.header-navi-button .line-middle { width: 35px; top: 20px; }
.header-navi-button .line-bottom { width: 30px; top: 28px; }
.header-navi-button .line-title { font-size: 12px; left: 0; bottom: 10px; }
.header-navi { background: url(../images/header-navi-bg-pc.jpg) no-repeat top center; background-size: cover; animation: none; }
.header-navi-scroll { padding-top: 170px; }
.header-navi-content { width: 1020px; margin: auto; }
.header-navi-logo { width: 260px; margin: 0; position: absolute; top: 20px; }
.header-navi-box { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: flex-start; align-items: flex-start; }
.header-navi-items { width: auto; min-width: 440px; margin: 0; }
.header-navi-item { margin-bottom: 40px; }
.header-navi-item ul { padding-left: 40px; margin-top: 40px; border-left: 1px solid #7c7362; display: block; }
.header-navi-item li { width: 100%; margin-bottom: 40px; overflow: hidden; }
.header-navi-item li a { color: #fff; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: baseline; align-items: baseline; }
.header-navi-item li .en { margin-right: 15px; font-size: 30px; font-family: "Cormorant Garamond"; font-optical-sizing: auto; font-weight: 500; letter-spacing: 0.05rem; }
.header-navi-item li .jp { font-size: 14px; }
.header-navi-item-title .en { margin-right: 15px; font-size: 30px; }
.header-navi-item-title .jp { font-size: 14px; }
.header-navi-open .line-top, .header-navi-open .line-bottom { width: 40px; top: 30px; }
.header-navi-social-items {  display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-align-items: center; align-items: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; }

/* hero pc
----------------------------------------------- */
.top-hero { padding-top: 60px; }
.top-hero-content { width: 960px; padding-left: 30px; margin: auto; background: url(../images/logo-mark.png) no-repeat top 40px right; background-size: 550px; }
.top-hero-image01 { width: 670px; margin-bottom: 30px; }
.top-hero-image02 { width: 330px; margin: 0; position: absolute; top: 180px; right: -125px; }
.top-hero-text { padding: 0; position: relative; bottom: 0; left: 0; }
.top-hero-logo { width: 678px; margin: 0 0 25px; }
.top-hero-comment { margin-bottom: 25px; font-size: 16px; }

.second-hero { height: 350px; }
.second-hero-title { width: 90%; max-width: 940px; padding-left: 35px; left: 50%; -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
.second-hero-title:before { width: 16px; height: 16px; top: -40px; left: 0; }
.second-hero-title .en { margin: 0 20px 20px 0; font-size: 60px; }
.second-hero-title .jp { font-size: 18px; }

/* bread pc
----------------------------------------------- */
.breadcrumb { padding: 20px 0; }
.breadcrumb-items { width: 940px; }
.breadcrumb-items li { font-size: 14px; }
.breadcrumb-items li:after { width: 30px; margin: 7px 10px 0; }

/* footer pc
----------------------------------------------- */
.footer { padding: 0; }
.footer-content { width: 900px; padding: 40px 0 80px; margin: auto; position: relative; }
.footer-logo { width: 265px; margin-bottom: 10px; }
.footer-navi { width: 100%; }
.pc-footer-navi-inner { 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; }
.pc-footer-navi-box { 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; }
.pc-footer-navi-box:nth-child(1) { width: 450px; }
.pc-footer-navi-box:nth-child(2) { width: 375px; }
.pc-footer-navi-title { width: 100%; margin-bottom: 25px; color: #fff; font-size: 20px; font-family: "Cormorant Garamond"; font-optical-sizing: auto; font-weight: 500; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.pc-footer-navi-title:after { content: ''; height: 1px; margin-left: 40px; background: #fff; opacity: 0.5; flex: 1; }
.pc-footer-navi-items li { margin-bottom: 15px; font-size: 14px; }
.pc-footer-navi-items a { color: #fff; }

.pagetop { padding: 5px 5px 5px 30px; font-size: 15px; -ms-writing-mode: lr-tb; writing-mode: lr-tb; top: 50px; right: 0; }
.pagetop:before { width: 18px; height: 18px; background: url(../images/pagetop.png) no-repeat center; background-size: 5px; top: 4px; left: 0; }
.copyright { width: 100%; height: auto; margin-bottom: 0; padding: 35px 0 30px; font-size: 15px; }

/* second pc
----------------------------------------------- */
.second-text { width: 90%; max-width: 940px; min-height: 600px; padding-bottom: 140px; }
.second-text p { margin-bottom: 30px; font-size: 16px; }
}

/* 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 top center; background-size: cover; }
.top-hero-content { background: url(../images/logo-mark@2x.png) no-repeat top 40px right; background-size: 550px; }
.second-hero-title:before { background: url(../images/deco01@2x.png) no-repeat center; background-size: 100%; }
.pagetop:before { background: url(../images/pagetop@2x.png) no-repeat center; background-size: 5px; } }
