@charset "UTF-8";
/* =====================================================
▼ COLOR
===================================================== */
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
html { font-size: 62.5%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

@media (min-width: 769px) and (max-width: 1024px) { html { font-size: 6px; } }

body { font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", 'Hiragino Kaku Gothic Pro', "メイリオ", 'Meiryo', "ＭＳ Ｐゴシック", 'MS PGothic', Arial, sans-serif; font-size: 14px; line-height: 1.9; letter-spacing: 0.05714em; font-weight: 600; background: #F5F4F4; color: #333333; }

body.open { overflow: hidden; }

body { overflow-wrap: break-word; }

a { color: #333333; text-decoration: none; -webkit-transition-duration: 0.2s; -moz-transition-duration: 0.2s; transition-duration: 0.2s; }

a:hover { text-decoration: none; filter: alpha(opacity=6); -ms-filter: "alpha(opacity=6)"; opacity: .6; }

a:focus { outline: none; text-decoration: none; }

ul, ol { margin: 0; padding: 0; }

ul li, ol li { list-style: none; }

h1, h2, h3, h4, h5, h6 { font-weight: 700; margin: 0; }

p { margin: 0px 0px 30px 0px; padding: 0; }

p:last-child { margin-bottom: 0px; }

@media screen and (max-width: 768px) { p { margin: 0 0 8vw 0; } }

figure { margin: 0; padding: 0; line-height: 0; }

input[type="submit"] { border: none; -webkit-transition-duration: 0.2s; -moz-transition-duration: 0.2s; transition-duration: 0.2s; }

table { border-spacing: inherit; border-collapse: collapse; }

dl, dt, dd { margin: 0; padding: 0; }

* { -moz-box-sizing: border-box; box-sizing: border-box; word-break: break-word; }

img { max-width: 100%; height: auto; vertical-align: middle; }

/* clearfix (micro) */
.clearfix:before, .clearfix:after { content: ' '; display: table; }

.clearfix:after { clear: both; }

/* For IE 6/7 only */
.clearfix { *zoom: 1; }

div, p { /*word-break: break-all;*/ }

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, center, 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, ruby, section, summary, time, mark, audio, video, nav, picture { margin: 0; padding: 0; border: 0; vertical-align: baseline; }

ul, ol, li { list-style: none; }

.bold { font-weight: 600; }

.bolder { font-weight: 900; }

.f-normal { font-weight: normal !important; }

/* p,img */
.t-center { text-align: center; }

.t-left { text-align: left; }

.t-right { text-align: right; }

.img_l { float: left; margin-right: 15px; }

.img_r { float: right; margin-left: 15px; }

.page-main { display: block; position: relative; }

.js-view { opacity: 0; -webkit-transform: translate3d(0, 50px, 0); -moz-transform: translate3d(0, 50px, 0); transform: translate3d(0, 50px, 0); }

.js-view.fadein { opacity: 1; -webkit-transition: opacity 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.3s, -webkit-transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s; transition: opacity 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.3s, -webkit-transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s; -moz-transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, opacity 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.3s, -moz-transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s; transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, opacity 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.3s; transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, opacity 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.3s, -webkit-transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, -moz-transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.js-fade { opacity: 0; -webkit-transform: translateY(40px); -moz-transform: translateY(40px); -ms-transform: translateY(40px); transform: translateY(40px); -webkit-transition: all .8s linear; -moz-transition: all .8s linear; transition: all .8s linear; -webkit-transition-delay: 0.25s; -moz-transition-delay: 0.25s; transition-delay: 0.25s; }

.js-fade.fadein { opacity: 1; -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }

/************************
 .sc-fade
*************************/
@-webkit-keyframes transX { 0% { -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  47.5% { -webkit-transform: translateX(0); transform: translateX(0); }
  52.5% { -webkit-transform: translateX(0); transform: translateX(0); }
  100% { -webkit-transform: translateX(100%); transform: translateX(100%); } }
@-moz-keyframes transX { 0% { -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
      transform: translateX(-100%); }
  47.5% { -moz-transform: translateX(0); transform: translateX(0); }
  52.5% { -moz-transform: translateX(0); transform: translateX(0); }
  100% { -moz-transform: translateX(100%); transform: translateX(100%); } }
@keyframes transX { 0% { -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
      transform: translateX(-100%); }
  47.5% { -webkit-transform: translateX(0); -moz-transform: translateX(0); transform: translateX(0); }
  52.5% { -webkit-transform: translateX(0); -moz-transform: translateX(0); transform: translateX(0); }
  100% { -webkit-transform: translateX(100%); -moz-transform: translateX(100%); transform: translateX(100%); } }

.maskToRight::before { position: absolute; content: ""; width: 100%; height: 100%; left: -100%; top: 0; background: #000; -webkit-transform-origin: 100% 50%; -moz-transform-origin: 100% 50%; -ms-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-transition: left 0.3s linear, -webkit-transform 0.3s ease 0.5s; transition: left 0.3s linear, -webkit-transform 0.3s ease 0.5s; -moz-transition: left 0.3s linear, transform 0.3s ease 0.5s, -moz-transform 0.3s ease 0.5s; transition: left 0.3s linear, transform 0.3s ease 0.5s; transition: left 0.3s linear, transform 0.3s ease 0.5s, -webkit-transform 0.3s ease 0.5s, -moz-transform 0.3s ease 0.5s; z-index: 9; }

.maskToRight.on::before { -webkit-animation: transX 2s cubic-bezier(0.78, 0.07, 0, 1) normal; -moz-animation: transX 2s cubic-bezier(0.78, 0.07, 0, 1) normal; animation: transX 2s cubic-bezier(0.78, 0.07, 0, 1) normal; left: 0; -webkit-transform: scale(0, 1); -moz-transform: scale(0, 1); -ms-transform: scale(0, 1); transform: scale(0, 1); }

/* animatezoom
********************/
@-webkit-keyframes animatezoom { from { -webkit-transform: scale(0); transform: scale(0); }
  to { -webkit-transform: scale(1); transform: scale(1); } }
@-moz-keyframes animatezoom { from { -moz-transform: scale(0); transform: scale(0); }
  to { -moz-transform: scale(1); transform: scale(1); } }
@keyframes animatezoom { from { -webkit-transform: scale(0); -moz-transform: scale(0); transform: scale(0); }
  to { -webkit-transform: scale(1); -moz-transform: scale(1); transform: scale(1); } }

/* slideInFromLeft
********************/
@-webkit-keyframes slideInFromLeft { 0% { opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px); }
  30% { opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px); }
  80% { opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px); }
  100% { opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@-moz-keyframes slideInFromLeft { 0% { opacity: 0;
    -moz-transform: translateX(-100px);
         transform: translateX(-100px); }
  30% { opacity: 0;
    -moz-transform: translateX(-100px);
         transform: translateX(-100px); }
  80% { opacity: 0;
    -moz-transform: translateX(-100px);
         transform: translateX(-100px); }
  100% { opacity: 1;
    -moz-transform: translateX(0);
         transform: translateX(0); } }
@keyframes slideInFromLeft { 0% { opacity: 0;
    -webkit-transform: translateX(-100px);
       -moz-transform: translateX(-100px);
            transform: translateX(-100px); }
  30% { opacity: 0;
    -webkit-transform: translateX(-100px);
       -moz-transform: translateX(-100px);
            transform: translateX(-100px); }
  80% { opacity: 0;
    -webkit-transform: translateX(-100px);
       -moz-transform: translateX(-100px);
            transform: translateX(-100px); }
  100% { opacity: 1;
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
            transform: translateX(0); } }

/* slideOutFromLeft
********************/
@-webkit-keyframes slideOutFromLeft { 0% { opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  100% { opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px); } }
@-moz-keyframes slideOutFromLeft { 0% { opacity: 1;
    -moz-transform: translateX(0);
         transform: translateX(0); }
  100% { opacity: 0;
    -moz-transform: translateX(50px);
         transform: translateX(50px); } }
@keyframes slideOutFromLeft { 0% { opacity: 1;
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
            transform: translateX(0); }
  100% { opacity: 0;
    -webkit-transform: translateX(50px);
       -moz-transform: translateX(50px);
            transform: translateX(50px); } }

@-webkit-keyframes mvImg { 0% { opacity: 0; }
  40% { opacity: 0; }
  100% { opacity: 1; } }

@-moz-keyframes mvImg { 0% { opacity: 0; }
  40% { opacity: 0; }
  100% { opacity: 1; } }

@keyframes mvImg { 0% { opacity: 0; }
  40% { opacity: 0; }
  100% { opacity: 1; } }

@-webkit-keyframes mvFadeUp { 0% { opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px); }
  100% { opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-moz-keyframes mvFadeUp { 0% { opacity: 0;
    -moz-transform: translateY(100px);
         transform: translateY(100px); }
  100% { opacity: 1;
    -moz-transform: translateY(0);
         transform: translateY(0); } }

@keyframes mvFadeUp { 0% { opacity: 0;
    -webkit-transform: translateY(100px);
       -moz-transform: translateY(100px);
            transform: translateY(100px); }
  100% { opacity: 1;
    -webkit-transform: translateY(0);
       -moz-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes btnFixed { 0% { opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  80% { opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  100% { opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@-moz-keyframes btnFixed { 0% { opacity: 0;
    -moz-transform: translateX(100%);
         transform: translateX(100%); }
  80% { opacity: 0;
    -moz-transform: translateX(100%);
         transform: translateX(100%); }
  100% { opacity: 1;
    -moz-transform: translateX(0);
         transform: translateX(0); } }

@keyframes btnFixed { 0% { opacity: 0;
    -webkit-transform: translateX(100%);
       -moz-transform: translateX(100%);
            transform: translateX(100%); }
  80% { opacity: 0;
    -webkit-transform: translateX(100%);
       -moz-transform: translateX(100%);
            transform: translateX(100%); }
  100% { opacity: 1;
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
            transform: translateX(0); } }

/** header area
====================================== **/
.page-header { position: fixed; width: 100%; max-width: 100rem; background: #fff; z-index: 10; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -moz-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); }

@media screen and (min-width: 769px) { .page-header { top: 5.7rem; left: 50%; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); -moz-border-radius: 3.3rem; border-radius: 3.3rem; padding: 1.6rem 8.5rem; visibility: visible; opacity: 1; -webkit-transition: 0.5s; -moz-transition: 0.5s; transition: 0.5s; }
  .page-header.is_active { visibility: hidden; opacity: 0; top: 5rem; } }

@media screen and (max-width: 768px) { .page-header { padding: 6.4vw 7.46667vw; }
  .page-header:after { -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; }
  .page-header.open:after { position: absolute; content: ''; top: 0; left: 0; width: 100%; height: 19.73333vw; background: #fff; z-index: -1; -moz-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); } }

@media screen and (min-width: 769px) { .logo img { width: 13.1rem; height: auto; } }

.logo a { display: block; line-height: 0; }

@media screen and (max-width: 768px) { .logo img { width: 28.53333vw; height: auto; } }

@media screen and (min-width: 769px) { .menu { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; }
  .menu li:not(:first-child) { margin-left: 4rem; }
  .menu li a { display: inline-block; font-weight: bold; } }

@media screen and (max-width: 768px) { .menu { width: 73.06667vw; }
  .menu li a { display: block; font-size: 3.73333vw; padding: 2.66667vw 0; border-bottom: 1px solid #DEDADA; position: relative; }
  .menu li a:after { position: absolute; content: ''; width: 6.93333vw; height: 6.93333vw; right: 0; bottom: 2.66667vw; background: url(../img/arrow_down.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); }
  .menu li a span { display: block; font-size: 3.2vw; font-family: "Roboto", sans-serif; font-weight: bold; color: #0D4E89; line-height: 1.35; }
  .menu li:nth-child(4) a span, .menu li:nth-child(5) a span, .menu li:nth-child(6) a span { color: #1C6F52; } }

@media screen and (max-width: 768px) { .g-nav { position: fixed; right: -100%; top: 0; width: 100%; height: 100vh; background: #fff; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -moz-box-orient: vertical; -moz-box-direction: normal; -ms-flex-flow: column; flex-flow: column; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; opacity: 0; visibility: hidden; z-index: -1; overflow-y: auto; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; }
  .g-nav.open { right: 0; opacity: 1; visibility: visible; } }

@media (min-width: 769px) and (max-width: 1179px) { /*.page-header { padding: 2rem 1rem; } .logo { img { width: 24rem; } } .menu { li { &:not(:first-child) { margin-left: 2rem; } a { font-size: 1.3rem; } } }*/ }

@media (min-width: 769px) and (max-width: 1279px) { /*.logo { img { width: 20rem; } } .menu { li { &:not(:first-child) { margin-left: 2.5rem; } } }*/ }

/** footer area
======================================= **/
.page-footer { padding: 3rem 0; }

@media screen and (min-width: 769px) { .page-footer .container { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -moz-box-orient: horizontal; -moz-box-direction: reverse; -ms-flex-flow: row-reverse; flex-flow: row-reverse; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; position: relative; } }

@media screen and (max-width: 768px) { .page-footer { text-align: center; padding: 5.33333vw 0; } }

@media screen and (min-width: 769px) { .footer-link { position: absolute; right: 5rem; } }

.footer-link a { display: inline-block; font-size: 14px; line-height: 2.21429; letter-spacing: 0em; font-weight: bold; color: #4D4D4D; position: relative; padding-right: 3.7rem; }

.footer-link a:after { position: absolute; content: ''; width: 3.7rem; height: 3.7rem; right: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background: url(../img/icon_blank.png) left top no-repeat; -moz-background-size: cover; background-size: cover; }

@media screen and (max-width: 768px) { .footer-link a { font-size: 3.73333vw; padding-right: 9.86667vw; margin-bottom: 2.66667vw; }
  .footer-link a:after { width: 9.86667vw; height: 9.86667vw; } }

.copyright { display: inline-block; font-size: 14px; line-height: 1.71429; letter-spacing: 0em; color: #707070; font-weight: bold; }

@media screen and (min-width: 769px) { .copyright { width: 100%; text-align: center; } }

@media screen and (max-width: 768px) { .copyright { font-size: 3.73333vw; } }

.pagetop { display: none; position: fixed; background: #0069A8; width: 4.6rem; height: 4.6rem; bottom: 2rem; right: 1.5rem; cursor: pointer; -moz-border-radius: 50%; border-radius: 50%; z-index: 10; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; transition: all 0.3s ease; }

@media screen and (min-width: 769px) { .pagetop:hover { opacity: 0.7; } }

.pagetop > span { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; width: 100%; height: 100%; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; }

.pagetop img { width: 0.9rem; }

.pagetop.ab { position: absolute; bottom: 0; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

@media screen and (max-width: 768px) { .pagetop { display: none !important; width: 21.33333vw; height: 21.33333vw; bottom: 5.33333vw; right: 5.33333vw; }
  .pagetop img { width: 5.33333vw; }
  .pagetop.ab { bottom: -2.66667vw; } }

#wrapper { overflow: hidden; margin: 0 auto; }

@media screen and (min-width: 769px) { #wrapper { background: url(../img/bd_bg.png) center center no-repeat; -moz-background-size: cover; background-size: cover; background-attachment: fixed; } }

.container { max-width: 105.3rem; padding: 0 1.5rem; margin: 0 auto; }

@media screen and (max-width: 768px) { .container { padding: 0 5.86667vw; } }

#hambuger { width: 6.93333vw; height: 4.26667vw; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -moz-box-orient: vertical; -moz-box-direction: normal; -ms-flex-flow: column; flex-flow: column; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; z-index: 12; }

#hambuger span { display: inline-block; line-height: 1; font-weight: bold; text-transform: uppercase; color: #fff; -webkit-transition-duration: 375ms; -moz-transition-duration: 375ms; transition-duration: 375ms; -webkit-transition-timing-function: ease-in-out; -moz-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; }

#hambuger span.open { display: inline-block; }

#hambuger span.close { display: none; }

.nav-icon ul { position: relative; }

@media screen and (max-width: 768px) { .nav-icon ul { width: 6.93333vw; height: 4.26667vw; } }

.nav-icon ul li { list-style: none; position: absolute; background: #9A9A9A; width: 6.93333vw; height: 0.8vw; left: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-transition-duration: 375ms; -moz-transition-duration: 375ms; transition-duration: 375ms; -webkit-transition-timing-function: ease-in-out; -moz-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; -moz-border-radius: 10px; border-radius: 10px; }

.nav-icon ul li:nth-of-type(1) { top: 5%; }

.nav-icon ul li:nth-of-type(2) { top: 46%; }

.nav-icon ul li:nth-of-type(3) { top: 82%; }

@media screen and (max-width: 768px) { .nav-icon ul li { width: 5.86667vw; height: 0.53333vw; } }

.nav-icon.open ul li:nth-of-type(1) { width: 100%; top: 50%; -webkit-transform: translate(-50%, -50%) rotate(45deg); -moz-transform: translate(-50%, -50%) rotate(45deg); -ms-transform: translate(-50%, -50%) rotate(45deg); transform: translate(-50%, -50%) rotate(45deg); }

.nav-icon.open ul li:nth-of-type(3) { width: 100%; top: 50%; -webkit-transform: translate(-50%, -50%) rotate(-45deg); -moz-transform: translate(-50%, -50%) rotate(-45deg); -ms-transform: translate(-50%, -50%) rotate(-45deg); transform: translate(-50%, -50%) rotate(-45deg); }

.nav-icon.open ul li:nth-of-type(2) { opacity: 0; }

@media screen and (min-width: 769px) { .sp { display: none; }
  .show_sp { display: none !important; }
  .MissingWH { position: relative; overflow: hidden; height: 100%; width: 100%; }
  .MissingWH img { position: absolute; left: 0; top: 0; margin: 0; width: auto !important; display: none; height: auto; min-width: 100%; min-height: 100%; max-height: none; max-width: none; -webkit-transition: 0.5s ease-in-out; -moz-transition: 0.5s ease-in-out; transition: 0.5s ease-in-out; }
  a[href^=tel] { pointer-events: none; text-decoration: none; opacity: 1 !important; cursor: default !important; }
  #hambuger { display: none; } }

@media screen and (max-width: 768px) { body { font-size: 3.73333vw; }
  .show_pc { display: none !important; } }

.btn-backtop { text-align: center; }

.btn-backtop a { display: inline-block; font-size: 2.4rem; font-weight: 900; }

@media screen and (max-width: 768px) { .btn-backtop a { font-size: 8vw; } }

.btn-backtop a:hover { text-decoration: underline; }

.mode-txt { writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; -ms-writing-mode: vertical-rl; }

.btn { width: 45rem; height: 10rem; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; position: relative; font-size: 22px; line-height: 3.54545; letter-spacing: 0.04545em; font-weight: bold; color: #3E3E3E; margin: 0 auto; -moz-border-radius: 7.6rem; border-radius: 7.6rem; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; background: #FEEB4B; outline: none; cursor: pointer; -moz-box-shadow: -1px 1px 10px rgba(31, 31, 31, 0.16); box-shadow: -1px 1px 10px rgba(31, 31, 31, 0.16); }

.btn:after { position: absolute; content: ''; width: 1.5rem; height: 1.3rem; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); right: 5.8rem; background: url(../img/svg/arrow_black.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; }

@media screen and (min-width: 769px) { .btn:hover { opacity: 1; background: #FFDA40; -moz-box-shadow: -1px 1px 20px rgba(31, 31, 31, 0.25); box-shadow: -1px 1px 20px rgba(31, 31, 31, 0.25); } }

@media screen and (max-width: 768px) { .btn { width: 100%; height: 18.66667vw; font-size: 4.26667vw; }
  .btn:after { right: 10.66667vw; } }

.section-title { padding-left: 4.3rem; position: relative; }

.section-title:before, .section-title:after { position: absolute; content: ''; width: 2rem; height: 2rem; }

.section-title:before { left: 0; bottom: 0.5rem; background: #0D4E89; }

.section-title:after { left: 1rem; bottom: 1.5rem; background: #217252; z-index: 2; }

.section-title .en { display: inline-block; font-size: 20px; line-height: 1; letter-spacing: 0.04em; font-family: "Roboto", sans-serif; color: #004B80; font-weight: bold; margin-bottom: 2rem; }

.section-title .ja { font-size: 40px; line-height: 0.7; letter-spacing: 0.02em; font-weight: bold; }

@media screen and (max-width: 768px) { .section-title { padding-left: 10.13333vw; }
  .section-title:before, .section-title:after { position: absolute; content: ''; width: 3.2vw; height: 3.2vw; }
  .section-title:before { bottom: 0; }
  .section-title:after { left: 1.86667vw; bottom: 1.86667vw; }
  .section-title .en { font-size: 3.73333vw; }
  .section-title .ja { font-size: 6.4vw; } }

.anchor { display: block; padding-top: 13rem; margin-top: -13rem; visibility: hidden; }

@media screen and (max-width: 768px) { .anchor { padding-top: 21.33333vw; margin-top: -21.33333vw; } }

@media (min-width: 769px) and (max-width: 1279px) { body { font-size: 12px; }
  .container { max-width: 96%; }
  .section-title .en { font-size: 1.8rem; }
  .section-title .ja { font-size: 3.2rem; } }
