@charset "UTF-8";
/* =====================
	Makers
 ======================= */
/** -------------------- 変数定義 -------------------- **/
:root {
  /* カラー定義 */
  --c_text: #000000;
  --c_wht: #fff;
  --c_navy: #15376C;
  /* フォント定義 */
  --font_ja: YakuHanJP, "Zen Old Mincho", serif;
  --font_noto: YakuHanJP, 'Noto Sans JP', sans-serif;
  /* transition定義 */
  --anim: all 0.4s ease-out; }

body {
  font-family: var(--font_ja);
  font-size: 22px;
  line-height: 1.45;
  letter-spacing: 0;
  color: var(--c_text);
  background: url(../img/common/bg.jpg) repeat-y top center/100%; }
  body * {
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }

img {
  max-width: 100%;
  height: auto;
  display: block; }

.clearfix {
  clear: both; }

a {
  color: var(--c_text);
  -webkit-transition: var(--anim);
  transition: var(--anim);
  text-decoration: none; }
  a:hover {
    opacity: 0.7; }

/** ------------------------ COMMON STYLE ------------------------ **/
.inner {
  max-width: 1330px;
  padding: 0 15px;
  margin: 0 auto; }
  .inner.inner-narrow {
    max-width: 1110px; }

.cmn-btn {
  font-family: var(--font_noto);
  font-size: 25px;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 9px;
     -moz-column-gap: 9px;
          column-gap: 9px;
  max-width: 420px;
  margin: 0 auto;
  border: 1px solid var(--c_navy);
  color: var(--c_navy);
  padding: 6px 0; }
  .cmn-btn:after {
    content: "";
    width: 44px;
    height: 20px;
    background: url(../img/common/finger.png) no-repeat center/contain;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-transition: var(--anim);
    transition: var(--anim); }
  .cmn-btn:hover {
    opacity: 1.0; }
    .cmn-btn:hover:after {
      -webkit-transform: translateX(0.25em);
              transform: translateX(0.25em); }

/** ------------------------ HEADER ------------------------ **/
.header {
  position: relative;
  height: 90px; }
  .header .header-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 90px;
    z-index: 1000;
    background: url(../img/common/bg.jpg) no-repeat top center/100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-column-gap: 2em;
       -moz-column-gap: 2em;
            column-gap: 2em; }
  .header .header-logo {
    width: 300px;
    margin-right: auto;
    padding-left: 60px; }
  .header .gnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 1.25em;
       -moz-column-gap: 1.25em;
            column-gap: 1.25em;
    height: 100%; }
    .header .gnav-list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: 100%; }
      .header .gnav-list > li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        height: 100%; }
        .header .gnav-list > li:last-child a {
          border-right: 0; }
        .header .gnav-list > li > a {
          padding: 0.2em 1em;
          display: block;
          border-right: 1px solid var(--c_text); }
          .header .gnav-list > li > a > img {
            height: 13px; }
        .header .gnav-list > li.gnav-list-parent:hover .gnav-list-children {
          visibility: visible;
          opacity: 1.0; }
        .header .gnav-list > li .gnav-list-children {
          position: absolute;
          top: 100%;
          left: 0;
          width: 100%;
          background: rgba(255, 255, 255, 0.88);
          padding: 50px 0;
          opacity: 0;
          visibility: hidden;
          -webkit-transition: var(--anim);
          transition: var(--anim); }
          .header .gnav-list > li .gnav-list-children ul {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            gap: 20px;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center; }
            .header .gnav-list > li .gnav-list-children ul > li {
              -webkit-box-flex: 0;
                  -ms-flex: 0 1 27.15%;
                      flex: 0 1 27.15%; }
              .header .gnav-list > li .gnav-list-children ul > li .thumb {
                margin-bottom: 12px; }
    .header .gnav-lang {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .header .gnav-lang li {
        padding: 0 0.75em;
        position: relative; }
        .header .gnav-lang li:after {
          content: "";
          width: 1px;
          height: 100%;
          background: var(--c_text);
          -webkit-transform: rotate(10deg);
                  transform: rotate(10deg);
          position: absolute;
          right: 0;
          top: 0; }
        .header .gnav-lang li:first-child {
          padding-left: 0; }
        .header .gnav-lang li:last-child {
          padding-right: 0; }
          .header .gnav-lang li:last-child:after {
            display: none; }
        .header .gnav-lang li a {
          display: block;
          padding: 0.1em 0; }
        .header .gnav-lang li img {
          height: 13px; }
        .header .gnav-lang li.is-current a {
          border-bottom: 1px solid var(--c_text); }
  .header .menu-btn {
    margin-right: 50px;
    width: 48px;
    height: 24px;
    width: 2.4em;
    height: 1.2em;
    position: relative;
    cursor: pointer; }
    .header .menu-btn span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 1px;
      background: var(--c_text);
      -webkit-transition: var(--anim);
      transition: var(--anim); }
      .header .menu-btn span:first-child {
        top: 0; }
      .header .menu-btn span:nth-child(2), .header .menu-btn span:nth-child(3) {
        top: 0;
        bottom: 0;
        margin: auto; }
      .header .menu-btn span:last-child {
        bottom: 0; }
    .header .menu-btn.is-open span:first-child, .header .menu-btn.is-open span:last-child {
      opacity: 0; }
    .header .menu-btn.is-open span:nth-child(2) {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .header .menu-btn.is-open span:nth-child(3) {
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }
  .header .menu-mask {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: var(--anim);
    transition: var(--anim); }
    .header .menu-mask.is-show {
      visibility: visible;
      opacity: 1.0; }
  .header .menu {
    position: fixed;
    top: 90px;
    right: 0;
    height: calc(100% - 90px);
    z-index: 500;
    background: rgba(255, 255, 255, 0.88);
    padding: 40px;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transition: var(--anim);
    transition: var(--anim); }
    .header .menu.is-open {
      -webkit-transform: translateX(0);
              transform: translateX(0); }
    .header .menu .menu-inner {
      width: 100%;
      min-height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      row-gap: 70px; }
    .header .menu .menu-list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      row-gap: 40px; }
      .header .menu .menu-list > li a {
        display: block; }
      .header .menu .menu-list > li img {
        margin: 0 auto;
        height: 26px; }
    .header .menu .menu-lang {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      .header .menu .menu-lang > li {
        padding: 0 1em; }
        .header .menu .menu-lang > li a {
          display: block;
          padding: 0 0 4px; }
        .header .menu .menu-lang > li img {
          height: 20px; }
        .header .menu .menu-lang > li.is-current a {
          border-bottom: 1px solid var(--c_text); }

/** ------------------------ FOOTER ------------------------ **/
.footer .footer-sec01 {
  padding: 3.125% 0 3.6458333333%; }

.footer .footer-sns {
  margin-bottom: 4.6153846154%; }
  .footer .footer-sns-list {
    margin-top: 2.3076923077%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 3.4615384615%;
       -moz-column-gap: 3.4615384615%;
            column-gap: 3.4615384615%; }
    .footer .footer-sns-list > li {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 3.0769230769%;
              flex: 0 1 3.0769230769%; }

.footer .footer-link-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .footer .footer-link-list > li {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 32.3076923077%;
            flex: 0 1 32.3076923077%; }
    .footer .footer-link-list > li .cmn-btn {
      width: 100%; }

.footer .footer-sec02 {
  background: var(--c_navy);
  color: var(--c_wht);
  padding: 60px 0; }
  .footer .footer-sec02 a {
    color: var(--c_wht); }

.footer .footer-address {
  text-align: center;
  margin-top: 1em; }

.footer .footer-copyright {
  text-align: center;
  padding: 16px 0; }

/* PCのみ
  ------------------------ */
@media (min-width: 700px) {
  .sm-only {
    display: none !important; } }

/* タブレット
  ------------------------ */
/* スマホ
  ------------------------ */
@media (max-width: 699px) {
  body {
    font-size: 16px; }
  .pc-only {
    display: none !important; }
  /** ------------------------ COMMON STYLE ------------------------ **/
  .cmn-btn {
    font-size: 18px;
    width: 80%; }
  /** ------------------------ HEADER ------------------------ **/
  .header {
    height: 45px; }
    .header .header-container {
      height: 45px; }
    .header .header-logo {
      width: 150px;
      padding-left: 20px; }
    .header .menu-btn {
      width: 24px;
      height: 12px;
      margin-right: 20px; }
    .header .menu-mask {
      display: none; }
    .header .menu {
      top: 45px;
      width: 100%;
      height: calc(100% - 45px);
      padding: 20px 15px; }
      .header .menu .menu-list > li img {
        height: 20px; }
      .header .menu .menu-lang > li img {
        height: 14px; }
  /** ------------------------ FOOTER ------------------------ **/
  .footer .footer-sec01 {
    padding: 30px 0; }
  .footer .footer-sns {
    margin-bottom: 30px; }
    .footer .footer-sns-list {
      margin-top: 15px;
      -webkit-column-gap: 15px;
         -moz-column-gap: 15px;
              column-gap: 15px; }
      .footer .footer-sns-list > li {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 24px;
                flex: 0 1 24px; }
  .footer .footer-link-list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: 15px; }
    .footer .footer-link-list > li {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 80%;
              flex: 0 1 80%; }
  .footer .footer-sec02 {
    padding: 30px 0; }
  .footer .footer-address {
    font-size: 14px; }
  .footer .footer-copyright {
    font-size: 12px; } }
