@charset "UTF-8";
/* font
----------------------------------------------- */
: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;
--main: #7c706b;
--gold01: #b2b087;
--gold02: #a19e68;
--bro: #4f4a41;
}




/* 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(--main); font-size: 3.6vw; font-family: var(--gothic); -webkit-text-size-adjust: 100%; font-style: normal; line-height: 1; }
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: var(--main); 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%; background: #fbf6f1; overflow: hidden; z-index: 1; position: relative; }
.top-main { background: url(../images/top-container-bg.jpg) no-repeat top center; background-size: 100%; }
.google-map { width: 100%; position: relative; }
.google-map iframe, .google-map object, .google-map embed { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.more01 { padding: 3vw 8vw 3vw 2.5vw; margin: auto; font-size: 5.26vw; font-family: "Marcellus"; font-weight: 400; letter-spacing: 0.4vw; background: url(../images/arrow01.png) no-repeat center right 2.5vw; background-size: 2.5vw; border-bottom: 1px solid var(--gold01); position: relative; display: table; }
.more01 .title { padding: 1vw 10vw 0 2vw; margin: 0 auto; background: url(../images/arrow01.png) no-repeat center right; background-size: 6.5vw; display: table; }


.tab02 {width: 90%; margin: 0 auto 4vw; display:-webkit-box; display:-moz-box; display:box; display:-webkit-flex; display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding: 10vw 0 0;}
.tab02 li {position: relative;background:  var(--gold02); color:var(--gold02);text-align: center;width: -webkit-calc(100% / 2 - 1vw);width: calc(100% / 2 - 1vw);margin-bottom: 2%;border-radius: 8px 8px 0 0;font-feature-settings: "palt";letter-spacing: .05em;}
.tab02 li.current {background: var(--gold02);}
.tab02 li.current a { color:#fff;}
.tab02 li.current:after {content: "\f107";font-family: icon;color: #fff;position: absolute;top: 70%;right: 45%;}
.tab02 li a {padding: 4.4vw 1vw 7vw;font-size: 3vw;line-height: 1.2;color:#fff;font-weight: 600;}
.tab02 li:after {content: "\f107";font-family: icon; color:#342d34;position: absolute;top: 70%;right: 45%;color: #fff;}
.tab02 li:hover { background: var(--gold01);  transition : .5s;}
.tab02 li:hover a {  color:#fff;}
.tab02 li.current:hover a { color:#fff;}
.tab02 li:hover:after { color:#E0CBD0;}
.tab02 li.current:hover:after { color:#E0CBD0;}


/*ast(sp)*/
p.ast { font-size: 3.2vw !important; padding-left: 1em;text-indent: -1em; text-align:justify; text-justify:auto;}
p.ast:last-child { margin-bottom: 0;}
ul.ast { margin: 0 auto 8vw;}
ul.ast li { font-size: 3.2vw !important; padding-left: 1em;text-indent: -1em; text-align:justify; text-justify:auto; margin-bottom: 3%; line-height: 1.5;}
p.ast:last-child,ul.ast li:last-child { margin-bottom: 0;}




/* 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;}


/* midashi */
.midashi01 {width: 100%;margin: 0 auto 5vw;position: relative;}
.midashi01 .en {margin-bottom: 1vw;font-size: 7vw;color: var(--gold01);font-family: "Marcellus";font-weight: 400; letter-spacing: 0.6vw;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-align-items: center;align-items: center;}
.midashi01 .en:after { content: ''; height: 1px; margin: 0.5vw 0 0 2vw; background: #c6c6c7; flex: 1; }
.midashi01 .jp {font-size: 3vw;display: block;line-height: 1.4;}

.midashi02{padding: 3vw 0;text-align:center;font-size: 4.8vw;border-bottom: 1px solid var(--gold01);border-top: 1px solid var(--gold01);margin-bottom: 5vw;font-family: var(--mincho);}

.midashi03,.second-text .midashi03{margin-bottom: 6vw;text-align: center;z-index: 2;position: relative;}
.midashi03 .en,.second-text .midashi03 .en{margin-bottom: 1.5vw;font-size: 9vw;font-family: "Marcellus"; font-weight: 400;letter-spacing: 0.6vw;line-height: 1.1;letter-spacing: 0.6vw;display: block;}
.midashi03 .jp,.second-text .midashi03 .jp{font-size: 3.4vw;font-family: var(--mincho);display: block;font-feature-settings: "palt";letter-spacing: .06em;}





/* header sp
----------------------------------------------- */
.header { width: 100%; z-index: 10; position: absolute; }
.header-logo { width: 30vw; z-index: 1; position: absolute; top: 5vw; left: 4vw; }
.header-logo img { width: 100%; }

.header-social-items { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: center; align-items: center; position: absolute; top: 4vw; right: 20vw; }
.header-social-items li { width: 10vw; height: 10vw; margin: 0 1.5vw; font-size: 6.05vw; }
.header-social-items a { height: 100%; color: #fff; background: var(--gold01); -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-navi-button { width: 12vw; height: 8vw; cursor: pointer; z-index: 11; position: fixed; top: 5vw; right: 5vw; -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: 100%; height: 1px; background: #979188; position: absolute; 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-navi-button .line-top { top: 2.5vw; }
.header-navi-button .line-bottom { top: 5.5vw; }

.header-navi-button.active .line { background: #5e514d;}

.header-navi { width: 100%; height: 100%; background: #fbf6f1; opacity: 0; visibility: hidden; z-index: 10; 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); }

.header-navi-inner { width: 100%; height: 100%; background: url(../images/header-navi-bg01.jpg) no-repeat top center; background-size: 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%; 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: 30vw; z-index: 1; position: absolute; top: 5vw; left: 4vw; }
.header-navi-logo img { width: 100%; }
.header-navi-left { padding: 26vw 0 6vw; }
.header-navi-items { width: 90vw; margin: 0 auto; }
.header-navi-item { width: 100%; margin-bottom: 8vw; position: relative; }

.header-navi-item-title { font-size: 6.58vw; font-family: "Marcellus"; font-weight: 400; letter-spacing: 0.5vw; position: relative; }
.header-navi-item-title.accordion:after { content: '\f107'; color: var(--purple02); font-size: 4.61vw; font-family: 'icon'; position: absolute; top: 50%; right: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-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); }
.header-navi-item-title.open:after { -moz-transform: translateY(-50%) rotate(180deg); -ms-transform: translateY(-50%) rotate(180deg); -webkit-transform: translateY(-50%) rotate(180deg); transform: translateY(-50%) rotate(180deg); }

.header-navi-item-box { padding: 2vw 0 1px; display: none; }
.header-navi-initems { width: 100%; }
.header-navi-initems li { width: 100%; font-size: 4.21vw; border-bottom: 1px dotted #d3cec8; position: relative; }
.header-navi-initems a { padding: 4vw 2.5vw; }

.header-navi-right { padding: 12vw 5vw 100px; background: url(../images/header-navi-bg02.jpg) no-repeat top center; background-size: cover; }
.header-navi-tel { margin-bottom: 2.5vw; color: #fff; font-size: 6.58vw; font-family: var(--mincho); font-weight: 400; letter-spacing: 0.4vw; display: table; }
.header-navi-tel:before { content: '\f095'; margin-right: 1vw; font-size: 75%; font-family: 'icon'; display: inline-block; }

.header-navi-opening { margin-bottom: 8vw; color: #fff; font-size: 3.68vw; line-height: 1.8; letter-spacing: 0.2vw; }
.header-navi-social-items { margin-bottom: 8vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.header-navi-social-items li { width: 12vw; height: 12vw; margin-right: 2.5vw; font-size: 7.24vw; }
.header-navi-social-items a { height: 100%; color: #fff; background: var(--gold01); -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-navi-sub-items { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.header-navi-sub-items li { color: #fff; font-size: 3.68vw; font-family: "Marcellus"; font-weight: 400; letter-spacing: 0.4vw; }
.header-navi-sub-items li:first-child:before { display: none; }
.header-navi-sub-items li:before { content: '|'; margin: 0 2vw 0 3vw; display: inline-block; }
.header-navi-sub-items a { color: #fff; display: inline-block; }

.animation { opacity: 0; visibility: hidden; -moz-transform: translateY(5px); -ms-transform: translateY(5px); -webkit-transform: translateY(5px); transform: translateY(5px); -moz-transition: all 0.65s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.65s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.65s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.65s cubic-bezier(0.76, 0, 0.24, 1); }

.header-navi-open { width: 100%; height: 100%; position: fixed; }
.header-navi-open .header-navi-button { top: 5vw; }
.header-navi-open .header-navi-button .line-top { top: 4vw; -moz-transform: rotate(20deg); -ms-transform: rotate(20deg); -webkit-transform: rotate(20deg); transform: rotate(20deg); }
.header-navi-open .header-navi-button .line-bottom { top: 4vw; -moz-transform: rotate(-20deg); -ms-transform: rotate(-20deg); -webkit-transform: rotate(-20deg); transform: rotate(-20deg); }
.header-navi-open .header-navi { opacity: 1; visibility: visible; left: 0; }
.header-navi-open .animation { opacity: 1; 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; }




/* hero sp
----------------------------------------------- */
.hero { width: 100%; z-index: 1; position: relative; }

.top-hero-image01 { width: 100%; height: 105vw; background: url(../images/top-hero-image02.jpg) no-repeat top center; background-size: cover;}
.top-hero-image02 { width: 100%; height: 105vw; background: url(../images/top-hero-image03.jpg) no-repeat top center; background-size: cover;}

.top-hero-text { width: 100%; padding: 1px 5vw 14vw; margin: 0 auto; background: url(../images/top-hero-bg.jpg) no-repeat top center; background-size: cover; }
.top-hero-logo { width: 74vw; margin: -5vw auto 5vw 0; }
.top-hero-logo img { width: 100%; }
.top-hero-subtitle { margin-bottom: 4vw; color: #fff; }
.top-hero-subtitle .title { margin-bottom: 2vw; font-size: 5.79vw; font-family: var(--mincho); font-weight: 600; line-height: 1.6; display: block; }
.top-hero-subtitle .sub { font-size: 3.68vw; line-height: 1.6; display: block; }

.top-hero-title span { padding: 1vw 2vw; margin-bottom: 1.5vw; font-size: 3.4vw; background: #f1f0ef; display: table; }
.second-hero { height: 60vw; background: url(../images/second-hero-bg.jpg) no-repeat top center; background-size: cover; }
.second-hero-title {max-width: 80%;color: #fff;z-index: 1;position: absolute;top: 60%;left: 10vw;-moz-transform: translateY(-50%);-ms-transform: translateY(-50%);-webkit-transform: translateY(-50%);transform: translateY(-50%);margin: 0 auto;}
.second-hero-title .en { margin-bottom:4vw; font-size: 11vw; font-family: "Marcellus"; font-weight: 400; letter-spacing: 0.6vw; display: block;}
.second-hero-title .jp { font-size: 4vw; font-family: var(--mincho); display: block; }




/* bread sp
----------------------------------------------- */
.breadcrumb { padding: 4vw 0 3.5vw; border-bottom: 1px solid #ccc; 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:after { content: '\f105'; margin: 0 2vw 0 1vw; font-family: 'icon'; display: inline-block; }
.breadcrumb-items li:last-child:after { display: none; }
.breadcrumb-items li:last-child a { color: var(--gold01); font-weight: bold; }
.breadcrumb-items a { display: inline-block; }



/* footer sp
----------------------------------------------- */
.footer { width: 100%; padding-bottom: 16vw; z-index: 1; position: relative; }
.footer-contact { padding: 15vw 0 10vw; background: url(../images/footer-contact-bg.jpg) no-repeat center; background-size: cover; }
.footer-contact-head { margin-bottom: 6vw; }
.footer-contact-title { margin-bottom: 4vw; color: #fff; text-align: center; }
.footer-contact-title .en { margin-bottom: 2vw; font-size: 10vw; font-family: "Marcellus"; font-weight: 400; letter-spacing: 0.6vw; display: block; }
.footer-contact-title .jp { font-size: 4.2vw; display: block; }

.footer-contact-head-comment { color: #fff; font-size: 3.9vw; text-align: center; line-height: 1.8; }
.footer-contact-items { width: 90vw; margin: 0 auto; }
.footer-contact-items li { width: 100%; height: 24vw; margin-bottom: 5vw; text-align: center; position: relative; }
.footer-contact-items li.contact a { background: var(--gold02) url(../images/arrow02.png) no-repeat center right 5vw; background-size: 3.5vw; }
.footer-contact-items li.contact .footer-contact-item-title .title:before { content: '\e922'; margin-right: 1.5vw; font-size: 85%; font-family: 'icon'; display: inline-block; }
.footer-contact-items li.tel a { background: var(--bro) url(../images/arrow02.png) no-repeat center right 5vw; background-size: 3.5vw; }
.footer-contact-items li.tel .footer-contact-item-title .title { font-family: var(--mincho); letter-spacing: 0.6vw; }
.footer-contact-items li.tel .footer-contact-item-title .title:before { content: '\f095'; margin-right: 1vw; font-size: 85%; font-family: 'icon'; display: inline-block; }
.footer-contact-items a { width: 100%; height: 100%; padding-top: 0.5vw; color: #fff; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }

.footer-contact-item-title .title { margin-bottom: 2vw; font-size: 6.84vw; font-family: "Marcellus"; font-weight: 400; letter-spacing: 0.4vw; display: block; }
.footer-contact-item-title .sub { font-size: 3.68vw; display: block; }

.pagetop { width: 100%; padding: 4vw 0 3.5vw; color: #fff; font-size: 5.26vw; font-family: "Marcellus"; font-weight: 400; text-align: center; letter-spacing: 0.6vw; background: var(--bro);}
.pagetop:after { content: '\f106'; margin-left: 2.5vw; font-family: 'icon'; display: inline-block; }

.footer-content { padding: 14vw 0; }
.footer-left { margin-bottom: 8vw; }
.footer-logo { width: 35vw; margin: 0 auto 6vw; position: relative; }
.footer-logo img { width: 100%; }
.footer-social-items { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; }
.footer-social-items li { width: 12vw; height: 12vw; margin-right: 2.5vw; font-size: 7.24vw; }
.footer-social-items a { height: 100%; color: #fff; background: var(--gold01); -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; }

.footer-navi { width: 90vw; margin: 0 auto; }
.footer-navi-title { padding: 4vw 2vw 3.5vw; font-size: 6.58vw; font-family: "Marcellus"; font-weight: 400; letter-spacing: 0.4vw; border-bottom: 1px solid var(--main); 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: 2.5vw; -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: var(--main); 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: var(--main); 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.95vw; line-height: 1.2; border-bottom: 1px solid var(--main); position: relative; }
.footer-navi-items li:after { content: '\f105'; font-size: 3.16vw; font-family: 'icon'; position: absolute; top: 50%; right: 3vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.footer-navi-items a { padding: 4vw 2vw 3.5vw; }

.copyright { width: 100%; padding: 6vw 0; font-size: 3.68vw; font-family: "Marcellus"; font-weight: 400; text-align: center; letter-spacing: 0.4vw; border-top: 1px solid #ded9cc; display: block; }

.footer-fixed { width: 100%; z-index: 8; opacity: 0; visibility: hidden; position: fixed; bottom: 0; left: 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); }
.footer-fixed.active { opacity: 1; visibility: visible; }

.footer-fixed-items { width: 100%; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.footer-fixed-items li { width: 50%; height: 16vw; font-size: 5vw; font-family: "Marcellus"; font-weight: 400; text-align: center; letter-spacing: 0.4vw; position: relative; }
.footer-fixed-items li.contact a { background: var(--gold02); }
.footer-fixed-items li.contact a:before { content: '\e922'; margin-right: 1.5vw; font-size: 85%; font-family: 'icon'; display: inline-block; }
.footer-fixed-items li.tel a { background: var(--bro); }
.footer-fixed-items li.tel a:before { content: '\f095'; margin-right: 1vw; font-size: 85%; font-family: 'icon'; display: inline-block; }
.footer-fixed-items a { width: 100%; height: 100%; padding-top: 0.5vw; color: #fff; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }



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








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


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


/* common pc ----------------------------------------------- */
.top-container { background: url(../images/top-container-bg-pc.jpg) no-repeat top 900px left; background-size: 1995px; }
.top-main { background: none; }
.more01 { padding: 10px 35px 10px 5px; font-size: 20px; letter-spacing: 2px; background-position: center right 10px; background-size: 12px; }

/* 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;}


/* midashi */
.midashi01 { margin-bottom: 40px; }
.midashi01 .en {margin-bottom: 4px;font-size: 30px;letter-spacing: 6px;}
.midashi01 .en:after { margin-left: 20px; }
.midashi01 .jp { font-size: 13px; }
	
.midashi02{padding: 20px 0;margin-bottom: 30px;font-size: 24px;}
	
.midashi03,.second-text .midashi03{margin-bottom: 50px;}
.midashi03 .en,.second-text .midashi03 .en{margin-bottom: 2px;font-size: 40px;letter-spacing: 4px;}
.midashi03 .jp,.second-text .midashi03 .jp{font-size: 15px;}

	
	
.tab02 {margin: 0 auto;max-width: 1200px;padding: 50px 0 0} 
.tab02 li {margin-bottom: 12px;width: -webkit-calc(100% / 4 - 8px);width: calc(100% / 4 - 8px);}
.tab02 li a {padding: 20px 10px 40px;;font-size: 16px;line-height: 1.3;}
.tab02 li:after {position: absolute;top: 70%;right: 48%;}
.tab02 li.current:after {color:#fff;position: absolute;top: 70%;right: 48%;}


/* header pc ----------------------------------------------- */
.header-logo { width: 178px; top: 32px; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.header-social-items { top: 35px; right: auto; left: calc(50% - 600px); }
.header-social-items li { width: 45px; height: 45px; margin: 0 10px 0 0; font-size: 25px; }
.header-contact { width: 215px; height: 60px; padding-top: 12px; color: #fff; text-align: center; background: var(--gold02); position: absolute; top: 30px; right: calc(50% - 515px); }
.header-contact .en { margin-bottom: 5px; font-size: 18px; font-family: "Marcellus"; font-weight: 400; letter-spacing: 2px; display: block; }
.header-contact .en:before { content: '\e922'; margin-right: 5px; font-size: 95%; font-family: 'icon'; display: inline-block; }
.header-contact .jp { font-size: 12px; display: block; }


.header-navi-button { width: 60px; height: 40px; top: 36px; right: calc(50% - 600px); }
.header-navi-button .line { background: #fff; }
.header-navi-button .line-top { top: 14px; }
.header-navi-button .line-bottom { top: 26px; }
.header-navi-button.active .line { background: #5e514d;}


.header-navi-logo { width: 180px; top: 30px; left: calc(50% - 600px); }
.header-navi-inner { background: none; }
.header-navi-content { width: 100%; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.header-navi-left { width: calc(50% + 5vw); min-height: 100vh; padding: clamp(30px, 20vw, 160px) clamp(30px, 30vw, 370px) clamp(30px, 5vw, 60px) 2vw; background: url(../images/header-navi-bg01-pc.jpg) no-repeat top center; background-size: 100%; }
.header-navi-items { width: 260px; margin: 0 0 0 auto; }
.header-navi-item { margin-bottom: 60px; }
.header-navi-item-title { font-size: 32px; letter-spacing: 2px; }
.header-navi-item-title.accordion { cursor: pointer; }
.header-navi-item-title.accordion:after { font-size: 28px; }
.header-navi-initems li { font-size: 16px; }
.header-navi-initems a { padding: 15px 0; }
.header-navi-item-box { padding-top: 20px; }
.header-navi-right { width: calc(50% - 5vw); padding: clamp(30px, 15vw, 145px) 2vw clamp(20px, 10vw, 60px) clamp(20px, 15vw, 70px); background: none; z-index: 1; position: relative; }
.header-navi-right:before { content: ''; width: 100%; height: 100vh; background: url(../images/header-navi-bg02-pc.jpg) no-repeat center; background-size: cover; z-index: -1; position: absolute; top: 0; left: 0; }
.header-navi-pickup { width: 310px; }
.header-navi-pickup-title { margin-bottom: 35px; color: #fff; font-size: 16px; font-family: "Marcellus"; font-weight: 400; letter-spacing: 2px; }
.header-navi-pickup-items { width: 100%; padding-bottom: 25px; margin-bottom: 40px; border-bottom: 1px solid #fff; }
.header-navi-pickup-items li { width: 100%; margin-bottom: 20px; }
.header-navi-pickup-items a { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: center; align-items: center; }
.header-navi-pickup-item-image { width: 130px; margin-right: 15px; }
.header-navi-pickup-item-title { color: #fff; font-size: 14px; font-weight: bold; line-height: 1.6; }
.header-navi-tel { margin-bottom: 15px; font-size: 25px; letter-spacing: 2px; }
.header-navi-tel:before { margin-right: 5px; }
.header-navi-opening { margin-bottom: 40px; font-size: 14px; letter-spacing: 2px; }
.header-navi-social-items { margin-bottom: 40px; }
.header-navi-social-items li { width: 45px; height: 45px; margin-right: 10px; font-size: 25px; }
.header-navi-sub-items li { font-size: 14px; letter-spacing: 2px; }
.header-navi-sub-items li:before { margin: 0 8px 0 15px; }
.header-navi-open .header-navi-button { top: 36px; }
.header-navi-open .header-navi-button .line-top, .header-navi-open .header-navi-button .line-bottom { top: 20px; }


.header-global-items {max-width: 960px; padding-top: 20px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center;margin: 0 auto;}
.header-global-items li {width:calc(100% / 5);text-align: center; border-right: 1px solid #aeaaa6; position: relative; }



.header-global-items li:first-child { border-left: 1px solid #aeaaa6; }
.header-global-items li.current:after, .header-global-items li:hover:after { -moz-transform: scale(1); -ms-transform: scale(1); -webkit-transform: scale(1); transform: scale(1); }
.header-global-items li.current a, .header-global-items li:hover a { opacity: 1; }
.header-global-items li:after { content: ''; width: 100%; height: 2px; background: #bbaeaa; position: absolute; bottom: 0; left: 0; -moz-transform: scale(0); -ms-transform: scale(0); -webkit-transform: scale(0); transform: scale(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); }
.header-global-items a { padding: 14px 0; }
.header-global-items .jp { margin-bottom: 8px; font-size: 16px; font-family: var(--mincho); display: block; }
.header-global-items .en { color: var(--gold02); font-size: 14px; font-family: "Marcellus"; font-weight: 400; letter-spacing: 1px; display: block; }


/* hero pc ----------------------------------------------- */
.top-hero { height: 900px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.top-hero-image01 { width: 50%; height: 100%; background: url(../images/top-hero-image-pc02.jpg) no-repeat center; background-size: cover;}
.top-hero-image02 { width: 50%; height: 100%; background: url(../images/top-hero-image-pc03.jpg) no-repeat center; background-size: cover;}

.top-hero-text {width: 50%;height: 100%;padding: 0;margin: 0 auto;background: url(../images/top-hero-bg-pc.jpg) no-repeat top center;background-size: cover;position: relative;}
.top-hero-text-inner { position: absolute; bottom: 100px; left: 75px; }
.top-hero-logo { width: 425px; margin: 0 0 45px; }
.top-hero-subtitle { margin-bottom: 35px; }
.top-hero-subtitle .title { margin-bottom: 12px; font-size: 40px; }
.top-hero-subtitle .sub { font-size: 16px; }
.top-hero-title span { padding: 6px 8px 5px; margin: 0 0 10px 0; font-size: 16px; }

.second-hero { height: 375px; background: url(../images/second-hero-bg-pc.jpg) no-repeat top center; background-size: cover; }
.second-hero-title { top: 145px; -moz-transform: translateY(0); -ms-transform: translateY(0); -webkit-transform: translateY(0); transform: translateY(0); }
.second-hero-title .en { margin-bottom: 30px; font-size: 50px; letter-spacing: 6px; }
.second-hero-title .jp { font-size: 18px; }


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


/* footer pc ----------------------------------------------- */
.footer { padding: 0; }
.footer-contact { padding: 100px 0; background: url(../images/footer-contact-bg-pc.jpg) no-repeat center; background-size: cover; }
.footer-contact-head { margin-bottom: 60px; }
.footer-contact-title { margin-bottom: 30px; }
.footer-contact-title .en { margin-bottom: 10px; font-size: 60px; letter-spacing: 5px; }
.footer-contact-title .jp { font-size: 16px; }
.footer-contact-head-comment { font-size: 16px; }
.footer-contact-items { max-width: 840px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; }
.footer-contact-items li { width: 48%; height: 100px; margin: 0; }
.footer-contact-items li.contact a { background-position: center right 25px; background-size: 15px; }
.footer-contact-items li.contact .footer-contact-item-title .title:before { margin-right: 8px; }
.footer-contact-items li.tel a { background-position: center right 25px; background-size: 15px; }
.footer-contact-items li.tel .footer-contact-item-title .title { letter-spacing: 4px; }
.footer-contact-items li.tel .footer-contact-item-title .title:before { margin-right: 5px; }
.footer-contact-items a { padding: 0; }
.footer-contact-item-title .title { margin-bottom: 8px; font-size: 30px; letter-spacing: 4px; }
.footer-contact-item-title .sub { font-size: 12px; }


.pagetop { width: 100%; padding: 20px 0 17px; font-size: 25px; letter-spacing: 4px; }
.pagetop:after { margin-left: 15px; }


.footer-content { width: 1200px; padding: 100px 0; margin: 0 auto; 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-left { width: 250px; margin: 0; }
.footer-logo { width: 178px; margin: 0 0 30px; }
.footer-social-items { -webkit-justify-content: flex-start; justify-content: flex-start; }
.footer-social-items li { width: 45px; height: 45px; margin-right: 10px; font-size: 25px; }
.footer-right { width: 860px; padding-top: 20px; }
.footer-navi { 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; }
.footer-navi-title { width: 100%; padding: 0; margin-bottom: 25px; font-size: 20px; letter-spacing: 2px; border: none; }
.footer-navi-items { display: grid; grid-auto-flow: column; grid-template-rows: repeat(4, auto); -webkit-justify-content: space-between; justify-content: space-between; }
.footer-navi-items li { width: clamp(100px, 24vw, 265px); margin-left: 20px; font-size: 15px; border-color: #e9e4da; }
.footer-navi-items li:after { font-size: 14px; opacity: 0.5; right: 10px; }
.footer-navi-items a { padding: 20px 5px; }
.copyright { padding: 30px 0 26px; font-size: 14px; letter-spacing: 2px; }


/* second pc ----------------------------------------------- */
.second-text {width: clamp(600px, 90%, 1200px);min-height: 600px; padding: 50px 0 140px; }
.second-text p { margin-bottom: 30px; font-size: 15px; }

}






/* =============================================
tablet-size
================================================*/

@media screen and (min-width: 760px) and (max-width:1200px){
	
.top-hero-image01 { width: 100%; height:70vw;}
.top-hero-text { width: 100%;height: 50vw;}
	
.tab02 li {margin-bottom: 12px;width: -webkit-calc(100% / 2 - 8px);width: calc(100% / 2 - 8px);}

.top-hero-logo{width:60vw}
.top-hero-text-inner{width: 80%}
.top-hero-subtitle .title{font-size: 30px;}
	
.header-social-items{left: calc(50% - 45vw);}
.header-contact{right: calc(50% - 40vw);}
.header-navi-button{right: calc(50% - 49vw);}
.header-contact{width: 150px;right: calc(50% - 37vw);}
.header-navi-logo{left: calc(50% - 49vw);}
	
.footer-content{display: block;width: 90%;margin: 0 auto}
.footer-left{margin: 0 auto 30px;}
.footer-social-items{justify-content: center;}
.footer-left{width: 180px;}
.footer-right{width:90%;margin: 0 auto;}


}


@media screen and (min-width: 760px) and (max-width:1024px){
	
.top-hero-logo{width:60vw}
	
}



/* =============================================
retina用
================================================*/

@media screen and (min-width: 736px) and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 736px) and (min-resolution: 2dppx) {
.top-container { background: url(../images/top-container-bg-pc@2x.jpg) no-repeat top 900px left; background-size: 1995px; }
.header-navi-left { background: url(../images/header-navi-bg01-pc@2x.jpg) no-repeat top center; background-size: 100%; }

.header-navi-right:before { background: url(../images/header-navi-bg02-pc@2x.jpg) no-repeat center; background-size: cover; }
.top-hero-image01 {background: url(../images/top-hero-image-pc02@2x.jpg) no-repeat center;background-size: cover;}
.top-hero-image02 { background: url(../images/top-hero-image-pc03@2x.jpg) no-repeat center; background-size: cover; }

.top-hero-text {background: url(../images/top-hero-bg-pc@2x.jpg) no-repeat top center;background-size: cover;}
.second-hero { background: url(../images/second-hero-bg-pc@2x.jpg) no-repeat top center; background-size: cover; }
.footer-contact { background: url(../images/footer-contact-bg-pc@2x.jpg) no-repeat center; background-size: cover; }
}
