@charset "UTF-8";

/* 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: var(--gothic); font-optical-sizing: auto; -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(--black); 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; }
.wrapper { width: 100%; background: #fff; overflow: hidden; z-index: 1; position: relative; }
.fade { opacity: 0; -moz-transition: 1.2s; -o-transition: 1.2s; -webkit-transition: 1.2s; transition: 1.2s; }
.fade-left { -moz-transform: translateX(-10px); -ms-transform: translateX(-10px); -webkit-transform: translateX(-10px); transform: translateX(-10px); }
.fade-right { -moz-transform: translateX(10px); -ms-transform: translateX(10px); -webkit-transform: translateX(10px); transform: translateX(10px); }
.fade-bottom { -moz-transform: translateY(10px); -ms-transform: translateY(10px); -webkit-transform: translateY(10px); transform: translateY(10px); }
.fade-active { opacity: 1; -moz-transform: translate(0); -ms-transform: translate(0); -webkit-transform: translate(0); transform: translate(0); }

/* 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;
--black: #555;
--blue: #4DCFE7; /*ブルー*/
--bluebg: #edfdff; /*薄い背景*/
}

/* common sp
----------------------------------------------- */
.midashi01 {margin-bottom: 6vw;text-align: center;line-height: 1;}
.midashi01 .en { margin-bottom: 2vw; font-size: 10vw; font-family: "Marcellus"; font-weight: 400; letter-spacing: 0.04em; display: block; }
.midashi01 .jp { font-size: 3.6vw; display: block; }
.second .midashi01 .en{font-size: 8.4vw; }

.more01 { padding-right: 16vw; font-size: 3.6vw; font-family: "Marcellus"; font-weight: 400; letter-spacing: 0.02em; position: relative; display: table; }
.more01:before { content: ''; width: 12vw; height: 1px; background: var(--black); opacity: 0.8; z-index: 1; position: absolute; top: 50%; right: 2vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.more01:after { content: ''; width: 4vw; height: 4vw; background: #76dbda; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; z-index: 0; position: absolute; top: 50%; right: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }

/* header sp
----------------------------------------------- */
.header { width: 100%; z-index: 10; position: absolute; top: 0; left: 0; }
.header-content { position: relative; }
.header-logo { width: 38vw; z-index: 1; position: absolute; top: 5vw; left: 5vw; }
.header-logo img { width: 100%; }
.header-navi-button { width: 12vw; height: 8vw; cursor: pointer; z-index: 11; position: fixed; top: 5.5vw; right: 6vw; mix-blend-mode: difference; -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: #fff; 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: calc(50% - 1vw); }
.header-navi-button .line-bottom { top: calc(50% + 1vw); }

.header-navi { width: 100%; height: 100%; background: var(--bluebg); visibility: hidden; opacity: 0; z-index: 10; position: fixed; top: 0; right: 0; -moz-transition: cubic-bezier(0.76, 0, 0.24, 1) 0.5s; -o-transition: cubic-bezier(0.76, 0, 0.24, 1) 0.5s; -webkit-transition: cubic-bezier(0.76, 0, 0.24, 1) 0.5s; transition: cubic-bezier(0.76, 0, 0.24, 1) 0.5s; -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.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%; margin-left: auto; overflow-y: auto; z-index: 2; position: relative; -ms-overflow-style: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.header-navi-scroll::-webkit-scrollbar { display: none; }
.header-navi-content { padding-bottom: 100px; position: relative; }
.header-navi-image { width: 100%; }

.header-navi-contact-items { width: 90vw; margin: -6vw auto 4vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; }
.header-navi-contact-items li { width: 48%; text-align: center; position: relative; }
.header-navi-contact-items li:before { content: ''; width: calc(100% - 5px); height: calc(100% - 5px); border: 1px solid #fff; opacity: 0.8; pointer-events: none; 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%); }
.header-navi-contact-items a { padding: 4vw 0 3.5vw; color: #fff; background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzRkY2VmNyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzc1ZTNjZiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #4dcef7), color-stop(100%, #75e3cf)); background: -moz-linear-gradient(left, #4dcef7, #75e3cf); background: -webkit-linear-gradient(left, #4dcef7, #75e3cf); background: linear-gradient(to right, #4dcef7, #75e3cf); }
.header-navi-contact-items .en {margin-bottom: 1.5vw;font-size: 3.6vw;font-family: "Marcellus";font-weight: 400;letter-spacing: 0.06em;display: block;}
.header-navi-contact-items .jp { font-size: 4vw; font-weight: bold; display: block; }

.header-navi-items { width: 90vw; margin: 0 auto 8vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; }
.header-navi-item { width: 48%; position: relative; }
.header-navi-item.full { width: 100%; }

.header-navi-item-title { padding: 4vw 1vw 3.5vw; border-bottom: 1px solid #ccc; cursor: pointer; position: relative; }
.header-navi-item-title.accordion:after { display: none; }
.header-navi-item-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); }
.header-navi-item-title:after { content: '\f105'; font-size: 3.16vw; font-family: 'icon'; position: absolute; top: 50%; right: 2.5vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.header-navi-item-title .en { margin-bottom: 1.5vw; font-size: 5.8vw; font-family: "Marcellus"; font-weight: 400; letter-spacing: 0.04em; display: block; }
.header-navi-item-title .jp {font-size: 3.4vw;display: block;color: #888;}
.header-navi-item-title .plus { width: 2.5vw; height: 2.5vw; position: absolute; top: 50%; right: 1.5vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.header-navi-item-title .plus:before { content: ''; width: 100%; height: 1px; background: var(--black); 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%); }
.header-navi-item-title .plus:after { content: ''; width: 1px; height: 100%; background: var(--black); 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); }

.header-navi-item-box { padding: 4vw 0; display: none; }
.header-navi-initems { width: 100%; }
.header-navi-initems li { width: 100%; margin-bottom: 2.5vw; position: relative; }
.header-navi-initems 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-initem-image { width: 45%; margin-right: 4vw; }
.header-navi-initem-title { flex: 1; }
.header-navi-initem-title .en { margin-bottom: 1vw; font-size: 5.53vw; font-family: "Marcellus"; font-weight: 400; letter-spacing: 0.02em; display: block; }
.header-navi-initem-title .jp { font-size: 3.4vw; display: block; }

.header-navi-sub-items { width: 100%; margin: 0 auto; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; }
.header-navi-sub-items li { font-size: 3.4vw; }
.header-navi-sub-items li:first-child:before { display: none; }
.header-navi-sub-items li:before { content: '|'; margin: 0 1.5vw 0 3vw; display: inline-block; }
.header-navi-sub-items a { 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.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 .line-top { top: 4vw; -moz-transform: rotate(15deg); -ms-transform: rotate(15deg); -webkit-transform: rotate(15deg); transform: rotate(15deg); }
.header-navi-open .header-navi-button .line-bottom { top: 4vw; -moz-transform: rotate(-15deg); -ms-transform: rotate(-15deg); -webkit-transform: rotate(-15deg); transform: rotate(-15deg); }
.header-navi-open .header-navi { opacity: 1; visibility: visible; }
.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.1s; -o-transition-delay: 0.1s; -webkit-transition-delay: 0.1s; transition-delay: 0.1s; }
.header-navi-open .animation02 { -moz-transition-delay: 0.2s; -o-transition-delay: 0.2s; -webkit-transition-delay: 0.2s; transition-delay: 0.2s; }
.header-navi-open .animation03 { -moz-transition-delay: 0.3s; -o-transition-delay: 0.3s; -webkit-transition-delay: 0.3s; transition-delay: 0.3s; }
.header-navi-open .animation04 { -moz-transition-delay: 0.4s; -o-transition-delay: 0.4s; -webkit-transition-delay: 0.4s; transition-delay: 0.4s; }
.header-navi-open .animation05 { -moz-transition-delay: 0.5s; -o-transition-delay: 0.5s; -webkit-transition-delay: 0.5s; transition-delay: 0.5s; }
.header-navi-open .animation06 { -moz-transition-delay: 0.6s; -o-transition-delay: 0.6s; -webkit-transition-delay: 0.6s; transition-delay: 0.6s; }
.header-navi-open .animation07 { -moz-transition-delay: 0.7s; -o-transition-delay: 0.7s; -webkit-transition-delay: 0.7s; transition-delay: 0.7s; }

/* hero sp
----------------------------------------------- */
.container{position: relative;z-index: 9;}
.hero { width: 100%; position: relative; }
.top-hero-image {background: url(../images/top-hero-image.jpg) bottom center no-repeat;height: 170vw;background-size: cover;}

.top-hero-title {width: 100%;text-align: center;z-index: 1;position: absolute;top: 30vw;left: 0;}
.top-hero-title .jp { margin-bottom: 4vw; font-size: 3.6vw; font-weight: bold; letter-spacing: 0.02em; display: block; }
.top-hero-title .jp span {/* color: var(--blue); */}
.top-hero-title .en { font-size: 10vw; font-family: "Marcellus"; font-weight: 400; line-height: 1.4; letter-spacing: 0.04em; display: block; }

.second-hero { height: 60vw; background: var(--bluebg); }
.second-hero-title { width: 100%; text-align: center; position: absolute; bottom: 12vw; left: 0; }
.second-hero-title .en {margin-bottom: 2vw;font-size: 12vw;font-family: "Marcellus";font-weight: 400;letter-spacing: 0.06em;display: block;text-transform: uppercase;}
.second-hero-title .jp { font-size: 3.6vw; display: block; }

/* bread sp
----------------------------------------------- */
.breadcrumb { padding: 5vw 0; z-index: 1; position: relative; }
.breadcrumb-items { width: 90vw; margin: 0 auto; font-size: 0; }
.breadcrumb-items li { font-size: 3.6vw; position: relative; display: inline-block; }
.breadcrumb-items li:after { content: '\f105'; margin: -0.5vw 3vw 0 2vw; font-family: 'icon'; opacity: 0.5; display: inline-block; }
.breadcrumb-items li:last-child:after { display: none; }
.breadcrumb-items li:last-child a { color: var(--blue); font-weight: bold; }
.breadcrumb-items a { display: inline-block; }

/* footer sp
----------------------------------------------- */
.footer { padding-bottom: 24vw; z-index: 1; position: relative; }
.footer-contact { padding: 14vw 0; background: url(../images/footer-contact-bg.jpg) no-repeat center bottom; background-size: cover; z-index: 1; position: relative; }
.footer-contact-title { margin-bottom: 5vw; font-size: 11vw; font-family: "Marcellus"; font-weight: 400; letter-spacing: 0.04em; text-align: center; }
.footer-contact-comment { margin-bottom: 8vw; font-size: 3.6vw; text-align: center; line-height: 1.8; }
.footer-contact-more { margin: 0 auto; }
.pagetop { width: 15vw; position: absolute; right: 5vw; bottom: -7.5vw; }
.pagetop img { width: 100%; }
.footer-content { padding: 14vw 0 6vw; }
.footer-logo { width: 55vw; margin: 0 auto 8vw; position: relative; }
.footer-logo img { width: 100%; }

.footer-navi { width: 90vw; margin: 0 auto 8vw; }
.footer-navi-title { padding: 5.5vw 0 5vw; font-size: 4.4vw; font-family: "Marcellus"; font-weight: 400; letter-spacing: 0.04em; border-top: 1px solid #dcdddc; border-bottom: 1px solid #dcdddc; 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: var(--black); 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(--black); 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.6vw; border-bottom: 1px solid #dcdddc; position: relative; }
.footer-navi-items li:after { content: '\f105'; 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 0 4vw; }

.footer-social-items { margin: 0 auto; 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; }
.footer-social-items li { margin: 0 2.5vw; font-size: 7.24vw; }
.copyright { font-size: 3.4vw; text-align: center; letter-spacing: 0.02em; display: block; }
.footer-fixed {width: 100%;z-index: 10;opacity: 0;visibility: hidden;position: fixed;bottom: 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);}
.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; -webkit-justify-content: space-between; justify-content: space-between; }
.footer-fixed-items li {width: calc(100% / 2);height: 14vw;font-size: 4vw;text-align: center;position: relative;}
.footer-fixed-items li.web a {background: #90989a;}
.footer-fixed-items li.web a:before { content: '\e922'; margin-right: 1.5vw; font-family: 'icon'; display: inline-block; }
.footer-fixed-items li.tel a { background: #90989a; }
.footer-fixed-items li.tel a:before { content: '\f095'; margin-right: 1.5vw; font-family: 'icon'; display: inline-block; }
.footer-fixed-items li.line a { background: #62d1be; }
.footer-fixed-items li.line a:before { content: '\e906'; margin-right: 1.5vw; font-family: 'icon'; display: inline-block; }
.footer-fixed-items a { height: 100%; padding-top: 6vw; color: #fff; }

/* modal footer
----------------------------------------------- */
#modal-footer-hpb,#modal-footer-insta{display:none;}
.modal-footer {padding: 8vw 8vw 7vw;}
.modal-footer .ttl{font-size: 5vw;margin-bottom: 4vw;text-align: center;}
.modal-footer a{padding: 4.5vw 6vw 4vw;color: #fff;font-size: 4vw;text-align: center;background: var(--blue);background-size: 3vw;position: relative;margin-bottom: 2vw;font-weight: bold;}
.modal-footer a:after {content: '\f105';font-size: 80%;font-family: 'icon';position: absolute;top: 50%;right: 20px;-moz-transform: translateY(-50%);-ms-transform: translateY(-50%);-webkit-transform: translateY(-50%);transform: translateY(-50%);}
.modal-footer .ttl{font-size: 5vw;display: -webkit-box;display: -moz-box;display: -webkit-flex;display: box;display: flex;justify-content: center;-webkit-justify-content: center;align-items: center;-webkit-align-items: center;letter-spacing: .04em;margin-bottom: 5vw;font-family: "Marcellus";font-weight: 400;}
.modal-footer .ttl .icon{margin-right: 10px;font-size: 80%;}

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


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

/* common pc 
----------------------------------------------- */
.midashi01 { margin-bottom: 50px; }
.midashi01 .en { margin-bottom: 10px; font-size: 50px; }
.midashi01 .jp { font-size: 15px; }
.second .midashi01 .en{font-size: 40px; }

.more01 { padding-right: 80px; font-size: 16px;}
.more01:before { width: 58px; right: 8px; }
.more01:after { width: 16px; height: 16px; }

/* header pc 
----------------------------------------------- */
.header-content { width: clamp(730px, 90%, 1200px); margin: auto; }
.header-logo { width: 260px; top: 30px; left: 0; }
.header-navi-button {width: 100px;height: 40px;top: 40px;right: 2%;}
.header-navi-button .line-top { top: 14px; }
.header-navi-button .line-bottom { top: 26px; }
.header-navi { width: 380px; -moz-box-shadow: 0 0 18px rgba(0, 0, 0, 0.1); -webkit-box-shadow: 0 0 18px rgba(0, 0, 0, 0.1); box-shadow: 0 0 18px rgba(0, 0, 0, 0.1); }
.header-navi-content { padding-bottom: 60px; }
.header-navi-contact-items { width: 340px; margin: -25px auto 20px; }
.header-navi-contact-items a {padding: 20px 0;}
.header-navi-contact-items .en {margin-bottom: 8px;font-size: 14px;}
.header-navi-contact-items .jp {font-size: 17px;}
.header-navi-items { width: 340px; margin-bottom: 40px; }
.header-navi-item-title {padding: 20px 6px 20px;}
.header-navi-item-title:after { font-size: 15px; right: 5px; }
.header-navi-item-title .en {margin-bottom: 8px;font-size: 26px;}
.header-navi-item-title .jp {font-size: 14px;}
.header-navi-item-title .plus { width: 10px; height: 10px; right: 2px; }
.header-navi-item-box { padding: 15px 0 5px; }
.header-navi-initems li { margin-bottom: 15px; }
.header-navi-initem-image { width: 170px; margin-right: 15px; }
.header-navi-initem-title .en {margin-bottom: 8px;font-size: 24px;}
.header-navi-initem-title .jp { font-size: 12px; }
.header-navi-sub-items li {font-size: 15px;}
.header-navi-sub-items li:before { margin: 0 5px 0 10px; }
.header-navi-mask {width: 100vw;height: 100vh;background: rgba(255, 255, 255, 0.2);-webkit-backdrop-filter: blur(4px);backdrop-filter: blur(4px);opacity: 0;visibility: hidden;z-index: 9;cursor: pointer;position: fixed;top: 0;right: 0;-moz-transition: all 0.2s cubic-bezier(0.76, 0, 0.24, 1);-o-transition: all 0.2s cubic-bezier(0.76, 0, 0.24, 1);-webkit-transition: all 0.2s cubic-bezier(0.76, 0, 0.24, 1);transition: all 0.2s cubic-bezier(0.76, 0, 0.24, 1);}
.header-navi-open .header-navi-button {width: 55px;height: 28px;top: 14px;right: 15px;}
.header-navi-open .header-navi-button .line-top, .header-navi-open .header-navi-button .line-bottom { top: 14px; }
.header-navi-open .header-navi-mask { opacity: 1; visibility: visible; }

/* hero pc 
----------------------------------------------- */
/* .top-hero-image { min-width: 2000px; position: relative; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); } */
.top-hero-image {background: url(../images/top-hero-image-pc.jpg) bottom center no-repeat;height: 1000px;background-size: cover;}
.top-hero-title {-moz-transform: translate(-72%,-50%);-ms-transform: translate(-72%,-50%);-webkit-transform: translate(-72%,-50%);transform: translate(-72%,-50%);top: 50%;left: 50%;}
.top-hero-title .jp { margin-bottom: 20px; font-size: 18px;  }
.top-hero-title .en {font-size: clamp(2.813rem, 1.821rem + 2.155vw, 3.438rem);}
.second-hero { height: 330px; }
.second-hero-title { bottom: 80px; }
.second-hero-title .en { margin-bottom: 12px; font-size: 55px;}
.second-hero-title .jp { font-size: 16px; }

/* bread pc 
----------------------------------------------- */
.breadcrumb { padding: 24px 0; position: relative; }
.breadcrumb-items { width: clamp(730px, 90%, 1200px); }
.breadcrumb-items li { font-size: 15px; }
.breadcrumb-items li:after { margin: 0 10px 0 8px; }

/* footer pc 
----------------------------------------------- */
.footer { padding-bottom: 60px; }
.footer-contact { padding: 80px 0; background: url(../images/footer-contact-bg-pc.jpg) no-repeat center bottom; background-size: cover; }
.footer-contact-title { margin-bottom: 20px; font-size: 50px; }
.footer-contact-comment { margin-bottom: 50px; font-size: 16px; }
.pagetop { width: 60px; top: -30px; right: calc(50% - 500px); bottom: auto; }
.footer-content { width: clamp(730px, 90%, 1200px); padding: 90px 0 10px; margin: 0 auto; position: relative; 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-logo { width: 260px; margin: 0; }
.footer-navi { width: auto; margin: 0; }
.footer-navi-items { width: auto; padding-top: 10px; display: grid; grid-auto-flow: column; grid-template-rows: repeat(4, auto); }
.footer-navi-items li { width: 160px; margin-bottom: 25px; font-size: 14px; border: none; }
.footer-navi-items li:after { display: none; }
.footer-navi-items a { padding: 0; }
.footer-social-items { margin: 0; position: absolute; top: 180px; left: 0; -webkit-justify-content: flex-start; justify-content: flex-start; }
.footer-social-items li { margin: 0 16px 0 0; font-size: 28px; }
.copyright { width: clamp(730px, 90%, 1200px); margin: 0 auto; font-size: 12px; text-align: left; }
.footer-fixed { width: auto; top: 50%; right: 0; bottom: auto; left: auto; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.fixed-contact {padding: 30px 20px;color: #fff;font-size: 18px;font-weight: bold;background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzRkY2VmNyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzdiZTdlNiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4dcef7), color-stop(100%, #7be7e6));background: -moz-linear-gradient(top, #4dcef7, #7be7e6);background: -webkit-linear-gradient(top, #4dcef7, #7be7e6);background: linear-gradient(to bottom, #4dcef7, #7be7e6);text-orientation: upright;-ms-writing-mode: tb-rl;writing-mode: tb-rl;}
.fixed-contact:before { content: '\e922'; margin-bottom: 10px; font-size: 110%; font-family: 'icon'; display: inline-block; }

/* modal footer
----------------------------------------------- */
.modal-footer {padding: 40px 40px 30px;}
.modal-footer .ttl{font-size: 5vw;margin-bottom: 4vw;text-align: center;}
.modal-footer a{padding: 20px;font-size: 16px;margin-bottom: 10px;}
.modal-footer a:after {content: '\f105';font-size: 80%;font-family: 'icon';position: absolute;top: 50%;right: 20px;-moz-transform: translateY(-50%);-ms-transform: translateY(-50%);-webkit-transform: translateY(-50%);transform: translateY(-50%);}
.modal-footer .ttl{font-size: 24px;margin-bottom: 30px;}

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

/* ============================================= 
retina用
================================================*/
@media screen and (min-width: 736px) and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 736px) and (min-resolution: 2dppx) { 
.footer-contact { background-image: url(../images/footer-contact-bg-pc@2x.jpg) ; } 
}
