@charset "UTF-8";

* { -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: #645055; font-size: 3.6vw; font-family: 游ゴシック体, YuGothic, 'Yu Gothic', "游ゴシック Medium", "Yu Gothic Medium", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; -webkit-text-size-adjust: 100%; font-style: normal; line-height: 1; background: #fff2f2;display:none}
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: #645055; 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; }
.tablet { display: none; }

.wrapper { width: 100%; overflow: hidden; z-index: 1; position: relative; }
.wrapper.top-wrapper:before { display: none; }
.wrapper:before { content: ''; width: 180vw; height: 180vw; background: #fff; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; z-index: -1; position: absolute; top: -117vw; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.container { -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); }


/* font
----------------------------------------------- */
: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;
	--red:#8f2843;
	--pink:#d18481;
}

/* common sp
----------------------------------------------- */

.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); }

.more01 { width: 60vw; padding: 4vw 0; margin: auto; font-size: 4.6vw; font-weight: bold; text-align: center; background: #fff url(../images/arrow02.png) no-repeat center right 3.5vw; background-size: 20px; border: 1px solid #8b8580; -moz-border-radius: 15vw; -webkit-border-radius: 15vw; border-radius: 15vw; position: relative; display: table; }

.more04 { width: 60vw; padding: 4vw 0; margin: auto; font-size: 4.6vw; font-weight: bold; text-align: center; background: #fff url(../images/arrow04.png) no-repeat center right 3.5vw; background-size: 20px; border: 1px solid #8b8580; -moz-border-radius: 15vw; -webkit-border-radius: 15vw; border-radius: 15vw; position: relative; display: table; }

.more05 { width: 60vw; padding: 4vw 0; margin: auto; font-size: 4.6vw; font-weight: bold; text-align: center; background: #fff url(../images/arrow05.png) no-repeat center right 3.5vw; background-size: 20px; border: 1px solid #8b8580;position: relative; display: table;}

.midashi01{text-align: center;position:relative;margin-bottom:12vw;}
.midashi01 .en{font-family: "quicksand";font-weight: 700;font-size: 6vw;letter-spacing: 0.4vw;font-feature-settings: "palt";}
.midashi01 .jp{font-weight:normal;display: block;margin-top:2vw;font-size: 3.6vw;font-family:var(--gothic);}
.midashi01::first-letter{color:var(--pink);}
.midashi01::after{content: "";width: 15vw;height: 2px;background:var(--pink);position: absolute; bottom: -5vw;left: 50%;-moz-transform: translateX(-50%);-ms-transform: translateX(-50%);-webkit-transform: translateX(-50%);transform: translateX(-50%);}

.midashi02{position: relative;margin-bottom: 5vw;z-index: 2;}
.midashi02 .en{font-family: "quicksand";font-weight: 700;padding-left:3vw;font-size: 6vw;letter-spacing: 0.4vw;font-feature-settings: "palt";color:var(--red);}
.midashi02 .jp{font-weight:normal;margin-left:2vw;font-size: 3.6vw;font-family:var(--gothic);}
.midashi02::before{content: '';width: 5vw;height: 5vw;background: #fbe2e0;-moz-border-radius: 50%;-webkit-border-radius: 50%;border-radius: 50%;z-index: -1;position: absolute;top:0;left:0;}

.midashi03{text-align: center;font-weight: 600; background:#fbe2e0;color:var(--red);line-height: 1;margin-bottom: 5vw;padding: 3vw;font-size:5vw;border-radius: 40px;position: relative;}
.midashi03::after,.midashi03::before{content: "";width: 6px;height: 6px;background: #fff;position: absolute;border-radius: 30px;}
.midashi03::before{top: 50%;transform: translateY(-50%);left: 3vw;}
.midashi03::after{top: 50%;transform: translateY(-50%);right: 3vw;}

.midashi04{padding: 1vw 0vw 1vw 5.5vw;margin-bottom:5vw;background-image: linear-gradient(var(--pink) 50%, #fbe2e0 50%);background-repeat: no-repeat;background-size: 0.48rem 100%;}
.midashi04 .en{font-family: "quicksand";font-weight: 700;font-size: 6vw;letter-spacing: 0.4vw;display: block;margin-bottom: 2.5vw;line-height: 1;}
.midashi04 .en::first-letter{color: var(--pink);}

.mb10{margin-bottom: 2vw!important;}
.mb40{margin-bottom: 4vw!important;}
.mb80{margin-bottom: 10vw!important;}
.mb100{margin-bottom: 14vw!important;}
.mb0{margin-bottom: 0!important;}

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 li {font-size: 3.2vw !important;padding-left: 1em;text-indent: -1em;text-align:justify;text-justify:auto;margin-bottom: 2%;line-height: 1.5;}
span.ast{font-size: 3.2vw !important; padding-left: 1em;text-indent: -1em; text-align:justify; text-justify:auto; margin-bottom: 3%; line-height: 1.5;}

.tab01 {display: -webkit-box;display: -webkit-flex;display: box;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;align-items:center;justify-content:space-between;margin-bottom: 5vw;}
.tab01 li{position: relative;width:48%;;margin-bottom: 2vw;border: 1px solid #645055;;text-align: center;display: inline-block;text-decoration: none;color: #333;outline: none;transition: all .2s;font-size: 3.8vw;font-family: "quicksand";font-weight: 700;border-radius: 50px;font-feature-settings: "palt";letter-spacing: .04em;}
.tab01 li a { padding:5vw;}
.tab01 li:after {content: "\f105";margin: 0 6px;font-family:icon;display: inline-block;position: absolute;top: 12px;right: 8px;color:#645055;}
.tab01 li:hover{background:#645055;color:#fff;}
.tab01 li span{position: absolute;left: 50%;top:50%;transform:translate(-50%,-50%);transition: all .5s;display: block;white-space: nowrap;font-weight: 600;color: #645055;}
.tab01 li span:nth-child(2){ opacity:0; color:#fff; font-size: 3.8vw;}
.tab01 li:hover span:nth-child(1){ opacity:0;}
.tab01 li:hover span:nth-child(2){ opacity:1;}
.tab01 .current{background:#645055;}
.tab01 .current span{color:#fff;}
.tab01 .current:after{color: #fff;}


/* header sp
----------------------------------------------- */
.header { width: 100%; z-index: 10; position: relative; }
.header.top-header .header-bar { background: #fff; border: none; }
.header-seo {display: none;}
.header-logo { width: 32vw; z-index: 11; position: fixed; top: 6vw; left: 4vw; }
.header-logo img { width: 100%; }
.header-navi-button { width: 18vw; height: 16vw; background: url(../images/header-navi-button-bg.png) no-repeat center; background-size: 100%; cursor: pointer; z-index: 11; position: fixed; top: 4vw; right: 2.5vw; }
.header-navi-button .line { width: 8vw; height: 1px; background: #fff; position: absolute; left: 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-top { top: 5vw; }
.header-navi-button .line-bottom { top: 7vw; }
.header-navi-button .line-title { width: 100%; color: #fff; font-size: 3.2vw; font-family: "quicksand"; font-weight: 700; text-align: center; display: block; position: absolute; bottom: 4vw; left: 0; }
.header-navi-button .line-title:before { content: 'CLOSE'; width: 100%; opacity: 0; position: absolute; top: 0; left: 0; -moz-transform: translateY(-5px); -ms-transform: translateY(-5px); -webkit-transform: translateY(-5px); transform: translateY(-5px); -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-button .line-title span { opacity: 1; display: block; -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 { width: 100%; height: 100%; opacity: 0; visibility: hidden; z-index: 10; position: fixed; top: 0; left: 0; -moz-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); -o-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); -webkit-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
.header-navi-inner { width: 100%; height: 100%; overflow-y: auto; -ms-overflow-style: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.header-navi-inner::-webkit-scrollbar { display: none; }
.header-navi-scroll { width: 100%; height: 100%; padding: 28vw 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-items { width: 85vw; margin: 0 auto 8vw; }
.header-navi-items li { width: 100%; border-bottom: 1px dotted #fff; position: relative; }
.header-navi-items a { padding: 4vw 0; 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-items a:after { content: '\f105'; font-family: 'icon'; position: absolute; top: 50%; right: 2vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.header-navi-items .en { margin-right: 2vw; font-size: 6.5vw; font-family: "quicksand"; font-weight: 700; letter-spacing: 0.2vw; }
.header-navi-items .jp { font-size: 3.6vw; font-weight: bold; }
.header-navi-banner-items { width: 80vw; margin: 0 auto 8vw; }
.header-navi-banner-items li { width: 100%; margin-bottom: 4vw; }
.header-navi-banner-items img { width: 100%;border-radius: 10px;}

.header-navi-mail { width: 85vw; padding: 5vw 0; margin: 0 auto 6vw; color: #fff; font-size: 5vw; font-weight: bold; text-align: center; background: var(--red); -moz-border-radius: 10vw; -webkit-border-radius: 10vw; border-radius: 10vw; position: relative; }
.header-navi-mail:before { content: '\e910'; margin-right: 2vw; font-size: 5vw; font-weight: normal; font-family: 'icon'; display: inline-block; }

.header-navi-line { width: 85vw; padding: 5vw 0; margin: 0 auto 6vw; color: #fff; font-size: 5vw; font-weight: bold; text-align: center;background:#06C755;-moz-border-radius: 10vw; -webkit-border-radius: 10vw; border-radius: 10vw; position: relative; }
.header-navi-line:before { content: '\e923'; margin-right: 2vw; font-size: 5vw; font-weight: normal; font-family: 'icon'; display: inline-block; }



.header-navi-sub-items { width: 100%; margin: 0 auto 100px; 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 { color: #fff; font-size: 3.6vw; font-weight: bold; }
.header-navi-sub-items li:first-child:before { display: none; }
.header-navi-sub-items li:before { content: '|'; margin: 0 0.5vw 0 2vw; }
.header-navi-sub-items a { color: #fff; display: inline-block; }
.header-navi-mask { content: ''; width: 150vh; height: 150vh; background: rgba(239, 137, 132, 0.8); -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; z-index: -1; position: fixed; top: -150vh; right: -150vh; -moz-transition: all 1.2s cubic-bezier(0.05, 0.05, 0.31, 0.97); -o-transition: all 1.2s cubic-bezier(0.05, 0.05, 0.31, 0.97); -webkit-transition: all 1.2s cubic-bezier(0.05, 0.05, 0.31, 0.97); transition: all 1.2s cubic-bezier(0.05, 0.05, 0.31, 0.97); }

.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 .container { -webkit-filter: blur(4px); filter: blur(4px); }
.header-navi-open .header-navi-button { background: url(../images/header-navi-button-bg-active.png) no-repeat center; background-size: 100%; }
.header-navi-open .line { background: #e38681; }
.header-navi-open .line-top { top: 6vw; -moz-transform: rotate(28deg); -ms-transform: rotate(28deg); -webkit-transform: rotate(28deg); transform: rotate(28deg); }
.header-navi-open .line-bottom { top: 6vw; -moz-transform: rotate(-28deg); -ms-transform: rotate(-28deg); -webkit-transform: rotate(-28deg); transform: rotate(-28deg); }
.header-navi-open .line-title { color: #e38681; }
.header-navi-open .line-title:before { opacity: 1; -moz-transform: translateY(0); -ms-transform: translateY(0); -webkit-transform: translateY(0); transform: translateY(0); }
.header-navi-open .line-title span { opacity: 0; -moz-transform: translateY(5px); -ms-transform: translateY(5px); -webkit-transform: translateY(5px); transform: translateY(5px); }
.header-navi-open .header-navi { opacity: 1; visibility: visible; }
.header-navi-open .header-navi-mask { top: -30vh; right: -50vh; }
.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; }
.header-navi-open .animation08 { -moz-transition-delay: 0.8s; -o-transition-delay: 0.8s; -webkit-transition-delay: 0.8s; transition-delay: 0.8s; }
.header-navi-open .animation09 { -moz-transition-delay: 0.9s; -o-transition-delay: 0.9s; -webkit-transition-delay: 0.9s; transition-delay: 0.9s; }
.header-navi-open .animation10 { -moz-transition-delay: 1s; -o-transition-delay: 1s; -webkit-transition-delay: 1s; transition-delay: 1s; }
.header-navi-open .animation11 { -moz-transition-delay: 1.1s; -o-transition-delay: 1.1s; -webkit-transition-delay: 1.1s; transition-delay: 1.1s; }
.header-navi-open .animation12 { -moz-transition-delay: 1.2s; -o-transition-delay: 1.2s; -webkit-transition-delay: 1.2s; transition-delay: 1.2s; }
.header-navi-open .animation13 { -moz-transition-delay: 1.3s; -o-transition-delay: 1.3s; -webkit-transition-delay: 1.3s; transition-delay: 1.3s; }

.top-header-bnitem{display: none;}

/* hero sp
----------------------------------------------- */
.hero { width: 100%; position: relative;margin-bottom: -5vw;padding: 12vw 0 0;}
.top-hero img{width: 100%;}

.hero .hero-text{width: 80%;position: absolute;left: 50%;transform: translate(-50%, -50%);z-index: 2;top: 38%;display:none}

.hero-sub{position: absolute;right:8vw;top: 21vw;z-index: 2;}
.hero-sub img{width:22vw;}



/*
.top-hero-content { padding: 35vw 0 5vw; background: url(../images/top-hero-bg.png) no-repeat right bottom 2vw; background-size: 60vw; position: relative; }
.top-hero-title { width: 22vw; z-index: 2; position: absolute; top: 20vw; right: 5vw; }
.top-hero-subtitle { width: 16vw; z-index: 2; position: absolute; top: 20vw; right: 30vw; }
.top-hero-image { width: 80vw; z-index: 0; position: relative; }
.top-hero-image img { width: 100%; }
.top-hero-text-en { width: 44vw; z-index: 1; position: absolute; right: 4vw; bottom: -3vw; }
.top-hero-deco { width: 24vw; z-index: 1; position: absolute; bottom: -8vw; left: 4vw; -moz-transform: rotate(-30deg); -ms-transform: rotate(-30deg); -webkit-transform: rotate(-30deg); transform: rotate(-30deg); }
.top-hero-gallery-items { width: 100%; }
.top-hero-gallery-items .slick-list { padding: 12px 0; margin: -12px 0; }
.top-hero-gallery-item { width: 55vw; margin: 0 3vw; }
.top-hero-gallery-item:nth-child(even) { padding-top: 6vw; }
.top-hero-gallery-item img { width: 100%; -webkit-filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.1)); filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.1)); }
*/

.top-hero-items { width: 100%; }
.top-hero-item { width: 100vw;margin:22vw 0 3vw}

.top-hero-item img { width: 100%; }
.top-hero-item img.sp-img{display: block}
.top-hero-item img.pc-img{display: none;}

.top-hero-thumbnail { padding: 7vw 4vw; background: url(../images/top-hero-thumbnail-bg.jpg) no-repeat center; background-size: cover; }
.top-hero-thumbnail-items { width: 100%; }
.top-hero-thumbnail-item {width: 44vw;margin: 0 2vw;}
.top-hero-thumbnail-item img { width: 100%; }


.second-hero { height: 55vw; }
.second-hero-title { width: 100%; text-align: center; z-index: 1; position: absolute; bottom: 10vw; left: 0; }
.second-hero-title .en { margin-bottom: 3.5vw; color: var(--red); font-size: 10.53vw; font-family: "quicksand"; font-weight: 700; letter-spacing: 0.8vw; display: block; }
.second-hero-title .jp { margin-bottom: 4vw; font-size: 4.2vw; font-weight: bold; display: block; }
.second-hero-title .deco { width: 2vw; height: 2vw; margin: auto; background: #ef8984; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; position: relative; display: block; }
.second-hero-title .deco:before { content: ''; width: 2vw; height: 2vw; margin: auto; background: #ef8984; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; position: absolute; top: 0; left: -5vw; }
.second-hero-title .deco:after { content: ''; width: 2vw; height: 2vw; margin: auto; background: #ef8984; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; position: absolute; top: 0; right: -5vw; }

/* bread sp
----------------------------------------------- */
.breadcrumb { padding: 4vw 0 3.5vw; background: #fdf9f9; z-index: 1; position: relative; }
.breadcrumb-items { width: 90vw; margin: 0 auto; font-size: 0; }
.breadcrumb-items li { font-size: 3.4vw; position: relative; display: inline-block; }
.breadcrumb-items li:after { content: "\f105"; margin: 0 2.5vw 0 1.5vw; font-weight: normal; font-family: 'icon'; display: inline-block; }
.breadcrumb-items li:last-child { font-weight: bold; }
.breadcrumb-items li:last-child:after { display: none; }
.breadcrumb-items li:last-child a { color: #ef8984; }
.breadcrumb-items a { display: inline-block; }
.breadcrumb-items .icon-home { color: #ef8984; }

/* footer sp
----------------------------------------------- */
.footer { width: 100%; background: #fdf9f9; z-index: 1; position: relative;padding-bottom: 13vw}
.footer-contact { padding: 12vw 0; color: #fff; text-align: center; background: url(../images/footer-contact-bg.jpg) no-repeat center; background-size: cover; }
.footer-contact-title { margin-bottom: 5vw; font-size: 10.26vw; font-family: "quicksand"; font-weight: 700; letter-spacing: 0.4vw; }
.footer-contact-comment { margin-bottom: 6vw; font-size: 4.6vw; font-weight: bold; line-height: 1.6; }
.footer-contact-more { width: 85vw; padding: 4.5vw 0 4vw; margin: auto; color: #f2928c; font-size: 3.8vw; font-weight: bold; background: #fff url(../images/arrow03.png) no-repeat center right 3vw; background-size: 6vw; -moz-border-radius: 15vw; -webkit-border-radius: 15vw; border-radius: 15vw; }
.footer-left { padding: 10vw 0 5vw; }
.footer-logo { width: 60vw; margin: 0 auto 10vw; }
.footer-logo img { width: 100%; }
.footer-company { margin-bottom: 2.5vw; font-size: 4.2vw; font-weight: bold; text-align: center; letter-spacing: 0.2vw; }
.footer-address { margin-bottom: 6vw; font-size: 4.2vw; text-align: center; line-height: 1.4; letter-spacing: 0.2vw; }

.footer-contact-item li{margin-bottom: 3vw;}
.footer-contact-item li:last-child{margin-bottom: 0;}

.footer-mail { width: 90vw; padding: 4.5vw 0 4vw; margin: auto; color: #fff; font-size: 4.2vw; font-weight: bold; text-align: center; background: #902843; -moz-border-radius: 15vw; -webkit-border-radius: 15vw; border-radius: 15vw; position: relative; }
.footer-mail:after { content: '\f105'; font-family: 'icon'; position: absolute; top: 50%; right: 4vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }

.footer-navi { width: 88vw; margin: 0 auto 8vw; }
.footer-navi-title { height: 15vw; margin-bottom: 2vw; color: #61688c; font-size: 6.2vw; font-family: "quicksand"; font-weight: 700; letter-spacing: 0.2vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.footer-navi-title:after { content: ''; height: 1px; margin-left: 2.5vw; background: #ccc; flex: 1; }
.footer-navi-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-navi-items li { width: 48%; padding-left: 2.5vw; margin-bottom: 5vw; font-size: 3.6vw; position: relative; }
.footer-navi-items li:before { content: '\f105'; font-family: 'icon'; position: absolute; top: 0; left: 0; }

.pagetop{ position: absolute;top:-6vw;right: 4vw;width: 50px;}
.pagetop img{width: 100%;}

.copyright { padding: 4vw 0; color: var(--red); font-size: 3.4vw; font-family: "quicksand"; font-weight: 700; text-align: center; letter-spacing: 0.2vw; border-top: 1px solid #ccc; display: block; }
.contact-fixed {display: none}

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

.footer-fixed { z-index: 8; opacity: 0; visibility: hidden; position: fixed; bottom:16vw; right: 2.5vw; -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-campaign { width: 50vw; -moz-box-shadow: 0 0 10px rgba(191, 178, 168, 0.8); -webkit-box-shadow: 0 0 10px rgba(191, 178, 168, 0.8); box-shadow: 0 0 10px rgba(191, 178, 168, 0.8); position: relative; }
.footer-fixed-campaign.active { opacity: 0; visibility: hidden; }
.footer-fixed-campaign img { width: 100%; }
.footer-fixed-campaign .close-button { width: 5vw; height: 5vw; z-index: 1; position: absolute; top: -6.5vw; right: 0; cursor: pointer; }
.footer-fixed-campaign .close-button:before { content: ''; width: 100%; height: 1px; background: #847878; position: absolute; top: 50%; left: 50%; -moz-transform: translate(-50%, -50%) rotate(45deg); -ms-transform: translate(-50%, -50%) rotate(45deg); -webkit-transform: translate(-50%, -50%) rotate(45deg); transform: translate(-50%, -50%) rotate(45deg); }
.footer-fixed-campaign .close-button:after { content: ''; width: 100%; height: 1px; background: #847878; position: absolute; top: 50%; left: 50%; -moz-transform: translate(-50%, -50%) rotate(-45deg); -ms-transform: translate(-50%, -50%) rotate(-45deg); -webkit-transform: translate(-50%, -50%) rotate(-45deg); transform: translate(-50%, -50%) rotate(-45deg); }

.sp-footer-fixed { width: 100%; -moz-border-radius: 10px 10px 0 0; -webkit-border-radius: 10px; border-radius: 10px 10px 0 0; z-index: 8; opacity: 0; visibility: hidden; 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); }
.sp-footer-fixed.active { opacity: 1; visibility: visible; }

.sp-footer-fixed{display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between;}
.sp-footer-fixed li{width: 50%;}
.sp-footer-fixed li.line a{height: 12vw; padding-top: 4vw; color: #fff; font-size: 3.8vw; font-weight: bold; text-align: center; background:#06C755}
.sp-footer-fixed li.line span:before { content: '\e923'; margin-right: 1.5vw; font-size: 95%; font-family: 'icon'; display: inline-block;font-weight: normal}

.sp-footer-fixed li.contact a{height: 12vw; padding-top: 4vw; color: #fff; font-size: 3.8vw; font-weight: bold; text-align: center; background:var(--pink);}
.sp-footer-fixed li.contact span:before { content: '\e922'; margin-right: 1.5vw; font-size: 95%; font-family: 'icon'; display: inline-block;font-weight: normal}







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

body { font-size: 16px; }
.sp { display: none; }
.pc { display: block; }
.tablet { display: none; }
.wrapper:before { width: 2800px; height: 2800px; top: -2460px; }

/* common pc
----------------------------------------------- */
.more01 { width: 220px; padding: 15px 0; font-size: 16px; background-position: center right 12px; background-size: 20px; }
.more04 { width: 220px; padding: 15px 0; font-size: 16px; background-position: center right 12px; background-size: 20px; }
.more05 { width: 220px; padding: 15px 0; font-size: 16px; background-position: center right 12px; background-size: 20px; }

.midashi01{margin-bottom: 70px;}
.midashi01 .en{font-size: 30px;letter-spacing:2px;}
.midashi01 .jp{font-size: 16px;margin-top: 10px;}
.midashi01::after{width: 80px;bottom:-25px;}

.midashi02{margin-bottom: 30px;}
.midashi02 .en{font-size: 30px;padding-left:20px;letter-spacing: 2px;}
.midashi02 .jp{font-size:16px;margin-left:15px;}
.midashi02::before{width: 26px;height: 26px;top:-5px;left:0;}

.midashi03{font-size: 22px;margin-bottom: 30px;padding: 20px;}
.midashi03::after{right:20px;}
.midashi03::before{left:20px;}

.midashi04 {padding: 2px 20px 12px;margin-bottom: 30px;line-height: 1;}
.midashi04 .en{font-size: 30px;letter-spacing: 2px;margin-bottom: 8px;}
.midashi04 .jp{font-size: 16px;}

.mb10{margin-bottom: 10px!important;}
.mb40{margin-bottom: 40px!important;}
.mb80{margin-bottom: 80px!important;}
.mb100{margin-bottom: 100px!important;}

p.ast { font-size: 13px!important;}
ul.ast li {font-size: 13px!important;margin-bottom: 8px;}
span.ast{font-size: 13px!important;margin-bottom: 20px;}

.tab01 {margin: 0 auto 30px;}
.tab01 li{width:49%;font-size: 20px;}
.tab01 li a { padding:28px 0 20px}
.tab01 li:after {top: 16px;right: 4px;font-size: 16px;}
.tab01 li span{font-size: 16px;}
.tab01 li span:nth-child(2){font-size: 16px;}


/* header pc
----------------------------------------------- */
.header.active .header-logo { width:200px; top: 20px; }
.header-bar { height: 35px; padding: 10px 0 0;background: #FFF;}
.header-seo {display: block; color: #ef8984;width: 960px; margin: auto; font-size: 12px; }
.header-logo { width: 259px; top: 60px; left: calc(50% - 480px); -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); }
.pc-header-navi-items { max-width:1200px; margin: auto; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.pc-header-navi-items li {width: calc(100% / 9);height: 100px;text-align: center;border-right: 1px solid #e4dede;}
.pc-header-navi-items li:first-child { border-left: 1px solid #e4dede; }
	
.pc-header-navi-items li.pc-header-navi-item-top{background:url(../images/header-navi-item-bg01.png) no-repeat top 2px center;background-size:90px;}
.pc-header-navi-items li.pc-header-navi-item-about{background:url(../images/header-navi-item-bg02.png) no-repeat top 2px center;background-size:80px;}
.pc-header-navi-items li.pc-header-navi-item-flow{background:url(../images/header-navi-item-bg03.png) no-repeat top 2px center;background-size:80px;}
.pc-header-navi-items li.pc-header-navi-item-cost{background:url(../images/header-navi-item-bg08.png) no-repeat top 2px center;background-size:80px;}
.pc-header-navi-items li.pc-header-navi-item-qa{background:url(../images/header-navi-item-bg04.png) no-repeat top 5px center;background-size:80px;}
.pc-header-navi-items li.pc-header-navi-item-company{background:url(../images/header-navi-item-bg05.png) no-repeat top center;background-size:80px;}
.pc-header-navi-items li.pc-header-navi-item-contact{background:url(../images/header-navi-item-bg06.png) no-repeat top center;background-size:75px;border-left: 1px solid #e4dede;}
	
.pc-header-navi-items li.pc-header-navi-item-blog{background:url(../images/header-navi-item-bg07.png) no-repeat top center;background-size:80px;}
.pc-header-navi-items li.pc-header-navi-item-en{background:url(../images/header-navi-item-bg09.png) no-repeat top center;background-size:80px;}
	
	
.pc-header-navi-items a { width: 100%; height: 100%; padding-top: 52px;}
.pc-header-navi-items .en { margin-bottom: 6px; font-size: 20px; font-family: "quicksand"; font-weight: 700; letter-spacing: 2px; display: block; }
.pc-header-navi-items .jp { font-size:13px; display: block;font-feature-settings: "palt";letter-spacing: .04em;}
.header-navi-item-title { padding: 15px 5px; }
.header-navi-item-title.accordion { cursor: pointer; }
.header-navi-item-title.accordion:after { right: 8px; }
.header-navi-item-title:after { font-size: 15px; right: 10px; }
.header-navi-item-accordion .accordion-box { padding: 2px 0; }
.header-navi-item-accordion .accordion-box li { font-size: 14px; }
.header-navi-item-accordion .accordion-box li:before { content: ''; width: 15px; height: 1px; background: #7d7d7d; position: absolute; top: 50%; left: 10px; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.header-navi-item-accordion .accordion-box li:after { font-size: 15px; right: 10px; }
.header-navi-item-accordion .accordion-box a { padding-left: 32px; }
.header-navi-sub-items { width: 80%; }
.header-navi-sub-items li { margin-bottom: 12px; font-size: 14px; }
.header-navi-open .wrapper { -webkit-filter: blur(10px); filter: blur(10px); }
.header-navi-open .line-top, .header-navi-open .line-bottom { top: 32.5px; }
	
.top-header-bnitem{display: block;position: fixed;right: 30px;display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between;z-index: 6}
.top-header-bnitem li{margin-right: 10px;}	
	
	

/* hero pc
----------------------------------------------- */
/*
.hero{margin-bottom: 30px;padding: 50px 0 0;}
.top-hero{min-width: 2000px;position: relative;left: 50%;-moz-transform: translateX(-50%); -ms-transform: translateX(-50%);-webkit-transform: translateX(-50%); transform: translateX(-50%);}
	
.hero .hero-text{width: 400px;top:43%;transform: translate(-55%, -28%);}
.hero-sub img{width: 100px;}
.hero-sub{position: absolute;right:30%;top:35%;}
*/
	
.top-hero-item { width: 960px; opacity: 0.5;margin:90px 0 30px;}
.top-hero-item.slick-center { opacity: 1; }
	
.top-hero-item img.sp-img{display: none}
.top-hero-item img.pc-img{display: block;}
.top-hero-thumbnail { padding: 50px 0; background: url(../images/top-hero-thumbnail-bg-pc.jpg) no-repeat center; background-size: cover; }
.top-hero-thumbnail-items { width: 960px; margin: 0 auto 50px; }
.top-hero-thumbnail-item { width: 310px; margin: 0 7px; }

	
	
.second-hero { height: 330px; }
.second-hero-title { top: 80px; bottom: auto; }
.second-hero-title .en { margin-bottom: 15px; font-size: 60px; letter-spacing: 5px; }
.second-hero-title .jp { margin-bottom: 20px; font-size: 25px; }
.second-hero-title .deco { width: 10px; height: 10px; }
.second-hero-title .deco:before { width: 10px; height: 10px; left: -30px; }
.second-hero-title .deco:after { width: 10px; height: 10px; right: -30px; }

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

/* footer pc
----------------------------------------------- */
.footer{padding-bottom: 0;}
.footer-contact { padding: 80px 0; background: url(../images/footer-contact-bg-pc.jpg) no-repeat center; background-size: cover; }
.footer-contact-title { margin-bottom: 50px; font-size: 60px; letter-spacing: 2px; }
.footer-contact-comment { margin-bottom: 50px; font-size: 30px; }
.footer-contact-more {width: 100%; padding: 25px 0 23px; font-size: 20px; background-position: center right 12px; background-size: 36px; }
	
.footer-content { width: 930px; margin: 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-contact-item{max-width: 900px;margin: 0 auto;}
.footer-contact-item{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-item li{margin-bottom: 0;width: 48%;}
	
	
.footer-left { width: 380px; padding: 80px 0 60px; }
.footer-logo { width: 250px; margin-bottom: 30px; }
.footer-company { margin-bottom: 10px; font-size: 16px; letter-spacing: 2px; }
.footer-address { margin-bottom: 30px; font-size: 16px; }
.footer-mail { width: 100%; padding: 18px 0; font-size: 20px; }
.footer-right { width: 480px; padding: 80px 0 60px; }
.footer-navi { width: 100%; margin: 0; }
.footer-navi-title { height: auto; margin-bottom: 30px; font-size: 24px; letter-spacing: 2px; }
.footer-navi-title:after { margin-left: 10px; }
.footer-navi-items li { width: 48%; padding-left: 15px; margin-bottom: 25px; font-size: 16px; position: relative; }
.copyright { width: 100%; padding: 15px 0; font-size: 12px; letter-spacing: 1px; }
.pagetop { width: 64px;top: -32px; right: 0; }
.contact-fixed {position: fixed;display: block; width: 48px; top: 50%; right: 20px; bottom: auto; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);z-index: 2;}
.contact-fixed img{width: 100%;}

/* second pc
----------------------------------------------- */
.second{padding-top: 0;}
.second-text {width: 960px;min-height: 400px;padding-bottom: 120px;padding: 100px 0;}
.second-text p { margin-bottom: 30px; font-size: 16px; }
	
.footer-fixed { bottom: 25px; right: 25px; }
.footer-fixed-campaign { width: 285px; }
.footer-fixed-campaign .close-button { width: 30px; height: 30px; top: -40px; right: 2px; }
	
.sp-footer-fixed{display: none;}

}

/* =============================================
tablet-size
================================================*/
@media screen and (min-width: 736px) and (max-width: 1520px) { 
	
.pc { display: none; }
.tablet { display: block; }
.sp { display: none; }
.top-hero{ width:100%; min-width: 100vw; position: relative; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.hero .hero-text{width:25vw;top: 45%;transform: translate(-55%, -28%);}
.hero-sub img{width:6vw}
.hero-sub{position: absolute;right:30%;top:35%;}
	
.pc-header-navi-items{width:90%;max-width:auto;display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content:center; justify-content: center; }
.pc-header-navi-items li{width: calc(100% /6);margin-bottom: 15px;}
}


/* =============================================
retina用
================================================*/
@media screen and (min-width: 736px) and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 736px) and (min-resolution: 2dppx) {
.more01 { background: #fff url(../images/arrow02@2x.png) no-repeat center right 12px; background-size: 20px; }
.more04 { background: #fff url(../images/arrow04@2x.png) no-repeat center right 12px; background-size: 20px; }
.pc-header-navi-items li.pc-header-navi-item-top { background: url(../images/header-navi-item-bg01@2x.png) no-repeat top center 13px;background-size:80px;}
.pc-header-navi-items li.pc-header-navi-item-about { background: url(../images/header-navi-item-bg02@2x.png) no-repeat top center 13px;background-size:80px;}
.pc-header-navi-items li.pc-header-navi-item-flow { background: url(../images/header-navi-item-bg03@2x.png) no-repeat top center 13px;background-size:80px;}
.pc-header-navi-items li.pc-header-navi-item-qa { background: url(../images/header-navi-item-bg04@2x.png) no-repeat top center 13px;background-size:80px;}
.pc-header-navi-items li.pc-header-navi-item-company { background: url(../images/header-navi-item-bg05@2x.png) no-repeat top center 13px;background-size:80px;}
.pc-header-navi-items li.pc-header-navi-item-contact { background: url(../images/header-navi-item-bg06@2x.png) no-repeat top center 13px;background-size:80px;}
.pc-header-navi-items li.pc-header-navi-item-blog { background: url(../images/header-navi-item-bg07@2x.png) no-repeat top center 13px;background-size:80px;}
.pc-header-navi-items li.pc-header-navi-item-en { background: url(../images/header-navi-item-bg09@2x.png) no-repeat top center 13px;background-size:80px;}
.pc-header-navi-items li.pc-header-navi-item-cost{ background: url(../images/header-navi-item-bg08@2x.png) no-repeat top center 13px;background-size:80px;}
	
.top-hero-content { background-image: url(../images/top-hero-bg-pc@2x.png) ; }
.footer-contact { background-image: url(../images/footer-contact-bg-pc@2x.jpg); }
.footer-contact-more { background-image: #fff url("../images/arrow03@2x.png") ; }
}
