@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap");
@import url("https://fonts.googleapis.com/css?family=Barlow:400,500,600|Cormorant+Garamond:400,400i|Noto+Sans+JP:500,700|Noto+Serif+JP:500&display=swap&subset=japanese");
@font-face { font-family: 'DIN Alternate'; src: url("../fonts/DINAlternate-Bold.eot"); src: url("../fonts/DINAlternate-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/DINAlternate-Bold.woff2") format("woff2"), url("../fonts/DINAlternate-Bold.woff") format("woff"), url("../fonts/DINAlternate-Bold.svg#DINAlternate-Bold") format("svg"); font-weight: bold; font-style: normal; font-display: swap; }

@font-face { font-family: 'AlteDIN1451MittelschriftgepraegtRegular'; src: url("../fonts/AlteDIN1451MittelschriftgepraegtRegular.eot"); src: url("../fonts/AlteDIN1451MittelschriftgepraegtRegular.eot") format("embedded-opentype"), url("../fonts/AlteDIN1451MittelschriftgepraegtRegular.woff2") format("woff2"), url("../fonts/AlteDIN1451MittelschriftgepraegtRegular.woff") format("woff"), url("../fonts/AlteDIN1451MittelschriftgepraegtRegular.ttf") format("truetype"), url("../fonts/AlteDIN1451MittelschriftgepraegtRegular.svg#AlteDIN1451MittelschriftgepraegtRegular") format("svg"); }

html { font-size: 62.5%; }

body { font-family: Noto Sans JP,游ゴシック体,YuGothic,游ゴシック Medium,Yu Gothic Medium,游ゴシック,Yu Gothic,ヒラギノ角ゴ Pro W3,メイリオ,sans-serif; font-size: 1.4rem; font-size: 14px; line-height: 1.7; font-weight: 500; background: #fff; color: #464646; }

body.ltie11 { font-family: "メイリオ", 'Meiryo', "ヒラギノ角ゴ Pro W3", 'Hiragino Kaku Gothic Pro', "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ＭＳ Ｐゴシック", 'MS PGothic', Arial, sans-serif; }

body { overflow-wrap: break-word; }

a { color: #231815; 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=75); -ms-filter: "alpha(opacity=75)"; opacity: .75; }

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 4vw 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; }

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

#hambuger { display: block; -moz-box-sizing: border-box; box-sizing: border-box; cursor: pointer; -ms-flex-item-align: center; -ms-grid-row-align: center; align-self: center; z-index: 99; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; position: relative; width: 8vw; height: 5.33333vw; /*&.open { position: fixed; right: 6.4rem; top: 2.5rem; }*/ }

.nav-icon { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; transition: .5s ease-in-out; }

.nav-icon span { display: block; position: absolute; height: 0.53333vw; width: 6.66667vw; background: #313131; opacity: 1; left: 50%; -webkit-transform: translateX(-50%) rotate(0deg); -moz-transform: translateX(-50%) rotate(0deg); -ms-transform: translateX(-50%) rotate(0deg); transform: translateX(-50%) rotate(0deg); -webkit-transition: .25s ease-in-out; -moz-transition: .25s ease-in-out; transition: .25s ease-in-out; }

.nav-icon span:nth-child(1) { top: 0vw; }

.nav-icon span:nth-child(2) { visibility: hidden; }

.nav-icon span:nth-child(2), .nav-icon span:nth-child(3) { top: 2vw; /*top: 50%; left: 50%; transform: translate(-50%,-50%);    */ }

.nav-icon span:nth-child(4) { top: 3.86667vw; }

.nav-icon strong { position: absolute; bottom: 0; left: 0; width: 100%; text-align: center; font-size: 1.86667vw; color: #A08C46; letter-spacing: 0.05em; display: inline-block; -webkit-transition: .25s ease-in-out; -moz-transition: .25s ease-in-out; transition: .25s ease-in-out; font-family: "Gothic A1", sans-serif; font-weight: 900; }

.nav-icon strong.mn-open { opacity: 1; visibility: visible; }

.nav-icon strong.mn-close { opacity: 0; visibility: hidden; }

.nav-icon.open span { background: #000; }

.nav-icon.open span:nth-child(1) { top: 50%; width: 0%; left: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

.nav-icon.open span:nth-child(2) { visibility: visible; -webkit-transform: translateX(-50%) rotate(45deg); -moz-transform: translateX(-50%) rotate(45deg); -ms-transform: translateX(-50%) rotate(45deg); transform: translateX(-50%) rotate(45deg); }

.nav-icon.open span:nth-child(3) { -webkit-transform: translateX(-50%) rotate(-45deg); -moz-transform: translateX(-50%) rotate(-45deg); -ms-transform: translateX(-50%) rotate(-45deg); transform: translateX(-50%) rotate(-45deg); }

.nav-icon.open span:nth-child(4) { top: 50%; width: 0%; left: 50%; }

.nav-icon.open strong.mn-open { opacity: 0; visibility: hidden; }

.nav-icon.open strong.mn-close { opacity: 1; visibility: visible; }

.js-view { opacity: 0; -webkit-transform: translate(0, 50px); -moz-transform: translate(0, 50px); -ms-transform: translate(0, 50px); transform: translate(0, 50px); -webkit-transition: all 0.8s; -moz-transition: all 0.8s; transition: all 0.8s; }

.js-view.fadein { opacity: 1; -webkit-transform: translate(0, 0); -moz-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 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% { -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%); } }
@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%); } }

.js-view { opacity: 0; -webkit-transform: translate(0, 50px); -moz-transform: translate(0, 50px); -ms-transform: translate(0, 50px); transform: translate(0, 50px); -webkit-transition: all 0.8s; -moz-transition: all 0.8s; transition: all 0.8s; }

.js-view.sc-fadein { opacity: 1; -webkit-transform: translate(0, 0); -moz-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.maskToRight::before { position: absolute; content: ""; width: 100%; height: 100%; left: -100%; top: 0; background: #000; -webkit-transform-origin: 100% 50%; -ms-transform-origin: 100% 50%; -moz-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); -ms-transform: scale(0, 1); -moz-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 { 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; padding: 1.5rem 4rem 0.5rem 4rem; z-index: 10; position: relative; background: #fff; }

@media screen and (max-width: 768px) { .page-header { padding: 2.66667vw 4vw; } }

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

.logo { line-height: 1; }

.logo a { display: inline-block; }

.logo a img { width: 26.1rem; height: auto; }

@media screen and (max-width: 768px) { .logo a img { width: 44vw; } }

.logo2 img { width: 23rem; }

@media screen and (max-width: 768px) { .logo2 { display: none; } }

.site-global { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; margin: 0 2rem 0 auto; }

.site-global li a { display: inline-block; font-size: 1.4rem; position: relative; padding-left: 1.2rem; font-weight: bold; }

.site-global li a:after { position: absolute; content: ''; width: 0.6rem; height: 0.6rem; background: #B3ACA9; left: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

.site-global li + li { margin-left: 2rem; }

@media screen and (max-width: 768px) { .site-global { margin: 0 2.66667vw 0 auto; }
  .site-global li a { padding-left: 2.66667vw; font-size: 3.2vw; }
  .site-global li a:after { width: 1.33333vw; height: 1.33333vw; }
  .site-global li + li { margin-left: 2.66667vw; } }

.g-nav { margin: 3rem 0 4rem; }

.g-nav .menu { 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; }

.g-nav .menu li a { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -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; font-size: 1.4rem; font-weight: bold; width: 15rem; height: 9.3rem; position: relative; }

.g-nav .menu li a:before { position: absolute; content: ''; width: 100%; height: 100%; top: 0; left: 0; border-left: 1px solid #9A9A9B; -webkit-transform: skewX(-27deg); -moz-transform: skewX(-27deg); -ms-transform: skewX(-27deg); transform: skewX(-27deg); }

@media screen and (min-width: 769px) { .g-nav .menu li a:after { position: absolute; content: ''; width: 100%; height: 1rem; left: 2.4rem; top: 0; background: #006BB8; -webkit-transform: scale(0, 1) skewX(-27deg); -moz-transform: scale(0, 1) skewX(-27deg); -ms-transform: scale(0, 1) skewX(-27deg); transform: scale(0, 1) skewX(-27deg); -webkit-transform-origin: right top; -moz-transform-origin: right top; -ms-transform-origin: right top; transform-origin: right top; -webkit-transition: -webkit-transform .3s; transition: -webkit-transform .3s; -moz-transition: transform .3s, -moz-transform .3s; transition: transform .3s; transition: transform .3s, -webkit-transform .3s, -moz-transform .3s; transition: transform .3s, -webkit-transform .3s; }
  .g-nav .menu li a:hover, .g-nav .menu li a.active { color: #006BB8; }
  .g-nav .menu li a:hover:after, .g-nav .menu li a.active:after { -webkit-transform-origin: left top; -moz-transform-origin: left top; -ms-transform-origin: left top; transform-origin: left top; -webkit-transform: scale(1, 1) skewX(-27deg); -moz-transform: scale(1, 1) skewX(-27deg); -ms-transform: scale(1, 1) skewX(-27deg); transform: scale(1, 1) skewX(-27deg); } }

.g-nav .menu li:last-child a:before { border-right: 1px solid #9A9A9B; -webkit-transform: skewX(-27deg); -moz-transform: skewX(-27deg); -ms-transform: skewX(-27deg); transform: skewX(-27deg); }

@media screen and (max-width: 768px) { .g-nav { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(0, 107, 184, 0.9); display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -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; margin: 0; overflow-y: auto; z-index: 9; opacity: 0; visibility: hidden; }
  .g-nav.open { opacity: 1; visibility: visible; }
  .g-nav .container { width: 100%; padding: 0 8vw; }
  .g-nav .menu { display: block; width: 100%; }
  .g-nav .menu li a { display: block; width: 100%; height: auto; font-size: 4.26667vw; color: #fff; padding: 5.33333vw 2.66667vw; }
  .g-nav .menu li a:before { position: absolute; content: ''; width: 100%; height: 100%; top: 0; left: 0; border-bottom: 1px solid #fff; border-left: none; -webkit-transform: skewX(0deg); -moz-transform: skewX(0deg); -ms-transform: skewX(0deg); transform: skewX(0deg); }
  .g-nav .menu li a.active { opacity: 0.75; }
  .g-nav .menu li:last-child a:before { border-bottom: 1px solid #fff; border-right: none; -webkit-transform: skewX(0deg); -moz-transform: skewX(0deg); -ms-transform: skewX(0deg); transform: skewX(0deg); } }

/** footer area
======================================= **/
.page-footer { text-align: center; padding: 4.5rem 1.5rem 2.5rem; border-top: 1px solid #9A9A9B; }

@media screen and (max-width: 768px) { .page-footer { padding: 8vw 4vw 5.33333vw; } }

.footer_logo a { display: inline-block; }

.footer_logo a img { width: 24.7rem; height: auto; }

@media screen and (max-width: 768px) { .footer_logo a img { width: 65.86667vw; } }

.footer-nav { margin: 2.5rem 0 3.5rem; }

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

.footer-nav ul li { display: inline-block; margin: 0 0 2rem 0; }

.footer-nav ul li a { display: inline-block; font-size: 1.5rem; color: #006BB8; border: 1px solid #006BB8; -moz-border-radius: 0.3rem; border-radius: 0.3rem; font-weight: 500; padding: 0 3.5rem; }

.footer-nav ul li + li { margin-left: 2rem; }

@media screen and (max-width: 768px) { .footer-nav ul li { display: block; }
  .footer-nav ul li a { display: block; font-size: 3.73333vw; padding: 1.33333vw; }
  .footer-nav ul li + li { margin: 4vw 0 0; } }

.copyright { text-align: center; display: block; font-size: 1.4rem; }

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

#wrapper { overflow: hidden; position: relative; }

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

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

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

@media screen and (min-width: 769px) { .show_sp { display: none !important; }
  .show_pc { display: inline-block; }
  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.46667vw; }
  .show_pc { display: none !important; }
  .show_sp { display: inline-block; }
  .s_wrap { overflow-x: auto; padding-bottom: 15px; }
  .s_wrap::-webkit-scrollbar { height: 10px; }
  .s_wrap::-webkit-scrollbar-track { background: #ececec; }
  .s_wrap::-webkit-scrollbar-thumb { background: #012873; }
  .s_wrap .tech-head { width: 1200px; font-size: 13px; }
  .s_wrap .tech-body { width: 1200px; font-size: 13px; }
  .s_wrap .section-category-list { width: 900px; font-size: 13px; } }

.page-main.no__key { padding: 9rem 0 0; margin-top: 14rem; }

@media screen and (max-width: 768px) { .page-main.no__key { padding: 10.66667vw 0 0; margin-top: 10.26667vw; } }

@media screen and (min-width: 769px) { .page-main { padding: 0 0 12rem; } }

@media screen and (max-width: 768px) { .page-main { padding: 10.66667vw 0 16vw; } }

.btn { width: 15.5rem; height: 4.2rem; 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; font-size: 1.4rem; font-family: "DIN Alternate"; border: 1px solid #fff; color: #fff; overflow: hidden; position: relative; }

.btn:after { position: absolute; content: ''; width: 1.5rem; height: 4.2rem; left: 0; top: 0; background: url(../img/arrow_right_w.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; }

.btn__blue { border: 1px solid #006BB8; color: #006BB8; }

.btn__blue:after { background: url(../img/arrow_right_bl.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; }

.pagination { text-align: center; margin: 5rem 0; 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; font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif; }

.pagination li { display: inline-block; line-height: 1; padding: 0 2rem; font-size: 2.2rem; }

.pagination li + li { margin-left: 1rem; }

@media screen and (max-width: 768px) { .pagination li { padding: 0 1.33333vw; font-size: 2.4vw; } }

.pagination li a { display: inline-block; }

.pagination li a:hover { color: #A08C46; text-decoration: underline; }

.pagination li span { display: inline-block; }

.pagination li .current { color: #A08C46; text-decoration: underline; }

input[type="checkbox"] { position: absolute; opacity: 0; z-index: -1; }

input[type="checkbox"] + span { position: relative; padding-left: 4rem; }

input[type="checkbox"] + span:before { position: absolute; content: ''; display: inline-block; width: 2.6rem; height: 2.6rem; left: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); margin-right: 0.5em; border: 1px solid #00699F; -moz-border-radius: 0.2rem; border-radius: 0.2rem; background: #fff; }

input[type="checkbox"]:checked + span:before { background: #D2D0C7; }

input[type="checkbox"]:checked + span:after { content: ''; display: block; position: absolute; top: -1.2rem; left: 1.3rem; width: .9rem; height: 3rem; border: solid #00699F; border-width: 0 .2rem .2rem 0; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

select { appearance: none; -webkit-appearance: none; -moz-appearance: none; background: transparent; background: url(../img/arrow-select.svg) no-repeat right; -moz-background-size: 12px 9px; background-size: 12px 9px; background-repeat: no-repeat; background-position-x: 94%; background-position-y: 48%; border: none; outline: none; padding: 0.8rem; width: 100%; }

.req { background: #B90000; -moz-border-radius: 0.2rem; border-radius: 0.2rem; color: #fff; font-size: 1.4rem; line-height: 1; display: inline-block; padding: 0.5rem; margin-left: 1rem; }

.lyt-frm .ipt { border: 1px solid #00699F; outline: none; -moz-border-radius: 0.2rem; border-radius: 0.2rem; width: 100%; padding: 1.3rem 1rem; }

.lyt-frm .ipt.slc { width: 12.5rem; }

@media screen and (max-width: 768px) { .lyt-frm .ipt.slc { width: 50%; } }

.lyt-frm .ipt.are { height: 23.5rem; }

.lyt-frm dl { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 0 0 3rem 0; font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif; }

@media screen and (max-width: 768px) { .lyt-frm dl { display: block; } }

.lyt-frm dl dt { width: 25rem; text-align: right; padding: 1.3rem 6rem 1.3rem 0; }

@media screen and (max-width: 768px) { .lyt-frm dl dt { width: 100%; text-align: left; padding: 0; margin-bottom: 1.33333vw; } }

.lyt-frm dl dd { width: -webkit-calc(100% - 25rem); width: -moz-calc(100% - 25rem); width: calc(100% - 25rem); }

@media screen and (max-width: 768px) { .lyt-frm dl dd { width: 100%; } }

.lyt-frm .note { font-size: 1.2rem; margin-top: 1rem; }

@media screen and (max-width: 768px) { .lyt-frm .note { font-size: 1.33333vw; } }

.lyt-frm_center { text-align: center; }

.lyt-frm_center a { text-decoration: underline; }

@media screen and (max-width: 768px) { .lyt-frm_center { text-align: left; } }

.lyt-frm .fg { font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif; font-weight: bold; margin-top: 3rem; }

.lyt-frm .wrap-btn { margin: 6rem 0 0; }

.lyt-frm .btn { width: 20rem; height: auto; border: 1px solid #00699F; outline: none; cursor: pointer; background: #fff; color: #A08C46; font-size: 1.4rem; padding: 1rem; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; display: inline-block; }

@media screen and (max-width: 768px) { .lyt-frm .btn { width: 21.33333vw; font-size: 1.6vw; } }

.lyt-frm .btn[type="submit"] { background: #00699F; color: #fff; margin-left: 4rem; }

@media screen and (max-width: 768px) { .lyt-frm .btn[type="submit"] { margin-left: 2.66667vw; } }

.lyt-frm .btn:hover { opacity: 0.75; }

.key-visual { width: 100%; height: 42.6rem; 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; background: url(../img/kv_img.jpg) center center no-repeat; -moz-background-size: cover; background-size: cover; position: relative; }

.key-visual:after { position: absolute; content: ''; width: 100%; height: 100%; left: 0; top: 0; background: rgba(0, 107, 184, 0.7); z-index: 2; }

.key-visual_title { letter-spacing: 2px; position: relative; z-index: 5; color: #fff; text-align: center; }

.key-visual_title__ja { font-size: 2.4rem; }

.key-visual_title__en { font-size: 1.6rem; margin-top: 1rem; }

@media screen and (max-width: 768px) { .key-visual { height: 53.33333vw; } }

@media screen and (min-width: 769px) { .main-contents { width: -webkit-calc((100% - 1000px) / 2 + 1000px); width: -moz-calc((100% - 1000px) / 2 + 1000px); width: calc((100% - 1000px) / 2 + 1000px); margin-left: auto; padding-left: 1.5rem; 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; } }

.main-contents .content { width: -webkit-calc(680/1440 * 100%); width: -moz-calc(680/1440 * 100%); width: calc(680/1440 * 100%); }

.main-contents .content .section-title { color: #fff; background: #4D4D4D; font-size: 1.5rem; -moz-border-radius: 1rem; border-radius: 1rem; padding: 1rem 2.5rem; letter-spacing: 2px; margin-bottom: 5rem; }

@media screen and (min-width: 769px) { .main-contents .sidebar { width: -webkit-calc(680/1440 * 100%); width: -moz-calc(680/1440 * 100%); width: calc(680/1440 * 100%); } }

.main-contents .sidebar .nav-link li a { display: block; font-size: 1.5rem; padding: 0.8rem 1.5rem 0.8rem 4.2rem; position: relative; overflow: hidden; }

.main-contents .sidebar .nav-link li a:after { position: absolute; content: ''; width: 1.5rem; height: 4.2rem; left: 0; top: 0; background: url(../img/arrow_right_w.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; }

.main-contents .sidebar .nav-link li a.active { background: #006BB8; color: #fff; }

.main-contents .sidebar .nav-link li a:hover { background: #006BB8; color: #fff; opacity: 1; }

@media screen and (max-width: 768px) { .main-contents .sidebar .nav-link li:first-child { border-top: 1px solid #006BB8; border-bottom: 1px solid #006BB8; } }

.main-contents .sidebar .nav-link li + li { margin-top: 1rem; }

@media screen and (max-width: 768px) { .main-contents .sidebar .nav-link li a { font-size: 3.73333vw; padding: 2.66667vw 4vw 2.66667vw 10.66667vw; }
  .main-contents .sidebar .nav-link li a:after { width: 4.53333vw; height: 12vw; }
  .main-contents .sidebar .nav-link li + li { margin-top: 0; border-bottom: 1px solid #006BB8; } }

@media screen and (max-width: 768px) { .main-contents { padding: 0 4vw; }
  .main-contents .content { width: 100%; margin-bottom: 13.33333vw; }
  .main-contents .content .section-title { font-size: 4vw; -moz-border-radius: 2.66667vw; border-radius: 2.66667vw; padding: 2.66667vw 4vw; margin-bottom: 10.66667vw; } }

.frm-privacy { margin: 3rem auto 0; max-width: 80rem; }

.frm-privacy_ttl { font-size: 2rem; background: #51656F; color: #fff; cursor: pointer; position: relative; padding: 1rem 4.5rem; }

@media screen and (max-width: 768px) { .frm-privacy_ttl { padding: 2.66667vw 5.33333vw; font-size: 4.8vw; } }

.frm-privacy_ctn { background: #EFEFEF; padding: 4rem 5rem 4rem; max-height: 30rem; overflow-y: auto; text-align: left; }

@media screen and (max-width: 768px) { .frm-privacy_ctn { padding: 8vw 4vw; max-height: 66.66667vw; } }

.frm-privacy_ctn dl { font-size: 1.4rem; }

.frm-privacy_ctn dl dt { display: block; width: 100%; font-weight: bold; text-align: left; margin-bottom: 1.5rem; }

.frm-privacy_ctn dl dt:not(:first-child) { margin-top: 3rem; }

.frm-privacy_ctn dl dd { display: block; width: 100%; }

.frm-privacy_ctn dl dd:last-child { margin-top: 3rem; }

.frm-privacy_ctn dl dd p + p { margin-top: 1.5rem; }

.frm-privacy_ctn dl dd ul { padding-left: 2rem; margin-top: 1.5rem; margin-left: 2rem; margin-bottom: 2rem; }

.frm-privacy_ctn dl dd ul li { list-style: disc; }

.certified-tbl { width: 100%; margin: 1.5rem 0; }

.certified-tbl th, .certified-tbl td { text-align: left; }

.certified-tbl th { width: 30%; background: #E5F3FF; padding: 1rem; border: 1px solid #ccc; }

.certified-tbl td { width: 70%; padding: 1rem; border: 1px solid #ccc; }

.tbl-recruit { margin: 4rem 0 0; }

.tbl-recruit th, .tbl-recruit td { padding: 1.5rem; border: 1px solid #000; vertical-align: middle; }

@media screen and (max-width: 768px) { .tbl-recruit th, .tbl-recruit td { padding: 1rem 0.5rem; } }

.tbl-recruit th { width: 25%; }

.mynavi { max-width: 75%; margin: 4rem 0 0 25%; }

.mynavi_txt { margin-bottom: 2rem; }

.news-list { margin-bottom: 4rem; }

.news-list .news-item { border-bottom: 1px dotted #000; }

.news-list .news-item a { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; padding: 1rem 0; font-size: 1.4rem; color: #231815; }

.news-list .news-item a time { display: inline-block; width: 20%; padding: 0 1rem; }

.news-list .news-item a em { display: inline-block; font-style: normal; }

@media screen and (max-width: 768px) { .news-list .news-item a { display: block; font-size: 3.2vw; padding: 2.66667vw; }
  .news-list .news-item a time { width: 100%; padding: 0; }
  .news-list .news-item a em { display: block; } }

.cat { background: #4D4D4D; -moz-border-radius: 0.5rem; border-radius: 0.5rem; color: #fff; font-size: 1.3rem; padding: 1rem 4rem; text-align: center; min-width: 14rem; display: inline-block; }

.cat_shape { background: #8E8E8E; }

.cat_disaster { background: #006BB8; }

.page-news_btn { margin-top: 4rem; }

.page-news_btn a { display: block; color: #fff; background: #004A9D; width: 20rem; text-align: center; padding: 1rem 0; margin: 0 auto; font-size: 1.4rem; }

.page-news .entry p + p { margin-top: 2.5rem; }

@media screen and (min-width: 769px) { .page-news .main-contents .content { width: 100%; max-width: 94rem; } }

@media screen and (min-width: 1280px) { .main-contents .content { width: 68rem; }
  .main-contents .sidebar { width: -webkit-calc(100% - 74rem); width: -moz-calc(100% - 74rem); width: calc(100% - 74rem); }
  .page-news .main-contents .content { width: 94rem; } }

.s_menu_l + .s_menu_l { margin-top: 3rem; }

.s_menu_s { margin-top: 1rem; }

.s_menu_s + .s_menu_s { margin-top: 1rem; }

@media screen and (min-width: 769px) { .row_f { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .row_f .ctn_f { width: -webkit-calc(100% - 220px); width: -moz-calc(100% - 220px); width: calc(100% - 220px); line-height: 2; }
  .row_f .img_f { width: 189px; } }

@media screen and (max-width: 768px) { .row_f .img_f { text-align: center; margin-top: 2rem; } }

@media screen and (min-width: 769px) { .page-main.page-main__en { padding-top: 5rem; }
  .page-main.page-main__en .main-contents .content .section-title { margin-bottom: 3rem; } }

@media screen and (max-width: 768px) { .page-main.page-main__en .main-contents .content .section-title { margin-bottom: 5.33333vw; } }

.txt_copy { margin: 2rem 0; padding: 0 2.5rem; }

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


.c101 { max-width: 101rem; }

.breadcrumb { background: #ececec; padding: 0.2rem 0 0.4rem; }

.breadcrumb ul { display: inline-block; }

.breadcrumb ul li { display: inline-block; vertical-align: middle; font-size: 1.2rem; line-height: 1.35; }

@media screen and (max-width: 768px) { .breadcrumb ul li { font-size: 2.66667vw; } }

.breadcrumb ul li:not(:first-child) { position: relative; padding-left: 2rem; margin-left: 1rem; }

@media screen and (max-width: 768px) { .breadcrumb ul li:not(:first-child) { margin-left: 2.66667vw; padding-left: 4.66667vw; } }

.breadcrumb ul li:not(:first-child):before { position: absolute; content: '＞'; left: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); font-size: 1.2rem; line-height: 1; }

@media screen and (max-width: 768px) { .breadcrumb ul li:not(:first-child):before { font-size: 2.66667vw; } }

.breadcrumb ul li:last-child { font-size: 1.5rem; }

@media screen and (max-width: 768px) { .breadcrumb ul li:last-child { font-size: 3.73333vw; } }

.breadcrumb ul li a { display: inline-block; color: #0246a1; text-decoration: underline; }

.breadcrumb ul li br { display: none !important; }
