@charset "utf-8";


@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}

html {
  font-size: 62.5%;
}

body {
  background: #fff;
  width: 100%;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  font-family: "Noto Sans JP", serif;
  font-size: 14px;
  color: #000;
  letter-spacing: 0.15em;
  box-sizing: border-box;
  font-weight: 500;
}


.noto {
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}


.exo {
  font-family: "Exo 2", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.figtree {
  font-family: "Figtree", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.expletus {
  font-family: "Expletus Sans", serif;
  font-optical-sizing: auto;
  font-style: normal;
}


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


.inview {
  opacity: 0;
  transition: 1.2s;
  margin-top: 20px;
}

.inview.is-show {
  opacity: 1;
  margin-top: 0;
}

/* 汎用 */
a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb100 {
  margin-bottom: 100px;
}

.mr40 {
  margin-right: 40px;
}

.tal {
  text-align: left;
}

.tac {
  text-align: center;
}

.tar {
  text-align: right;
}

.st {
  font-weight: bold;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.fs16 {
  font-size: 16px;
}

.fs18 {
  font-size: 18px;
}

.flex {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flex_no_justify {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.f_min {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Yu Mincho Medium", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.f_times {
  font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif;
}

.f_arial {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

.f_gothic {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", "Yu Gothic", "メイリオ", Meiryo, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
}

.f_robotoslab {
  font-family: 'Roboto Slab', serif;
}

.f_marcellus {
  font-family: 'Marcellus', serif;
}

.f_libre {
  font-family: 'Libre Baskerville', serif;
}

.f_didot {
  font-family: 'GFS Didot', serif;
}

/* noto sans 100 300 400 500 */
.noto {
  font-family: 'Noto Sans JP', sans-serif;
}

/* Zen Kaku Gothic New */
.zen {
  font-family: 'Zen Kaku Gothic New', sans-serif;
}

/* Klee One */
.klee {
  font-family: 'Klee One', cursive;
}

/* Baskerville */
.baske {
  font-family: 'Libre Baskerville', serif;
}

.fit_img {
  display: flex;
  justify-content: center;
  align-items: center;
  /*IE用*/
  flex-direction: column;
}

.fit_img img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.regacy_fit_img {
  display: relative;
  overflow: hidden;
}

.regacy_fit_img img {
  position: absolute;
  left: -50%;
  right: -50%;
  top: -50%;
  bottom: -50%;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.ofi {
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.bx-wrapper {
  -moz-box-shadow: 0 0 0 #ccc;
  -webkit-box-shadow: 0 0 0 #ccc;
  box-shadow: 0 0 0 #ccc;
  border: none;
}

.p404 {
  margin: 200px 0 330px 0;
  text-align: center;
}

.p404 .ttl {
  font-size: 24px;
  margin-bottom: 15px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.p404 h3 {
  color: #305f86;
  font-size: 60px;
  letter-spacing: 0.02em;
}

.p404 .txt {
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.12em;
}

.p404 .txt a {
  color: #417ac7;
  text-decoration: underline;
}

.p404 .txt a:hover {
  text-decoration: none;
}

.p-country-name {
  display: none;
}


/*PC用*/
@media screen and (min-width:641px) {

  /* scroll arrow */
  #wrapper {
    /* display: table; */
    /* width:100%; */
    /* height:100%; */
    position: absolute;
    left: 400px;
    bottom: 20px;
    width: 18px;
    z-index: 1000;
  }

  #wrapper-inner {
    /* display: table-cell; */
    /* vertical-align:middle; */
    /* width:100%; */
    /* height:100%; */
  }

  #scroll-down {
    display: block;
    position: relative;
    padding-top: 43px;
    text-align: center;
  }

  .arrow-down {
    display: block;
    margin: 0 auto;
    width: 10px;
    height: 38px;
  }

  .arrow-down:after {
    content: '';
    display: block;
    margin: 0;
    padding: 0;
    width: 14px;
    height: 14px;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    behavior: url(-ms-transform.htc);
    -moz-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
  }

  #scroll-title {
    display: block;
    text-transform: uppercase;
    color: #fff;
    font-family: Helvetica Neue, Helvetica, Arial;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: .1em;
  }

  #scroll-down::before {
    -webkit-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    /* Safari 4+ */
    -moz-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    /* Fx 5+ */
    -o-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    /* Opera 12+ */
    animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    /* IE 10+, Fx 29+ */
    position: absolute;
    top: 23px;
    left: 50%;
    margin-left: 2px;
    width: 4px;
    height: 40px;
    background: #fff;
    content: ' ';
  }

  @-webkit-keyframes elasticus {
    0% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }

    50% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    50.1% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    100% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }
  }

  @-moz-keyframes elasticus {
    0% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }

    50% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    50.1% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    100% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }
  }

  @-o-keyframes elasticus {
    0% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }

    50% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    50.1% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    100% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }
  }

  @keyframes elasticus {
    0% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }

    50% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    50.1% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    100% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }
  }





  .sp {
    display: none;
  }

  #header {
    background: #FFD8D0;
    position: relative;
  }

  #header .h_inner {
    position: relative;
  }

  #header .logo {
    position: absolute;
    top: 15px;
    left: 16px;
    z-index: 1000;
  }

  #header .logo a {

    font-weight: 100;

    color: #fff;

    font-weight: 600;

    vertical-align: -webkit-baseline-middle;

  }

  #header .logo img {

    padding: 0 9px 0 0;
  }

  #header #gnav {
    padding: 32px 0 0 0px;
    position: absolute;
    right: 7vw;
    top: 10px;
    z-index: 1000;
  }



  .under #header .logo {
    position: fixed;
    top: 15px;
    left: 16px;
    z-index: 1000;
  }

  .under #header .logo a {

    font-weight: 100;

    color: #fff;

    font-weight: 600;

    vertical-align: -webkit-baseline-middle;

  }

  .under #header .logo img {

    padding: 0 9px 0 0;
  }

  .under #header #gnav {
    padding: 32px 0 0 0px;
    position: fixed;
    right: 7vw;
    top: 10px;
    z-index: 100000;
  }


  .under .float_nav {
    background: #fff;
    position: fixed;
    top: 0;
    z-index: 1000;
    padding: 43px;
    width: 100%;
  }

  #header .link_list {
    display: flex;
  }

  #header .link_list li {
    padding: 0 13px 0px;
  }

  #header .link_list li a {
    color: #fff;
    font-size: 16px;
    position: relative;
  }

  #header .link_list li a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 4px;
    background: #fff;
    bottom: -8px;
    transform: scale(0, 1);
    transform-origin: center top;
    /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
    transition: transform 0.3s;
    /*変形の時間*/
    border-radius: 10px;
  }

  #header .link_list li a:hover::after {
    transform: scale(1, 1);
    /*ホバー後、x軸方向に1（相対値）伸長*/
  }



  #header .entry {
    position: fixed;
    right: 0;
    top: 50vh;
    width: 128px;
    z-index: 1000;
  }

  #header .entry01 {
    /* width: 78px; */
  }

  #header .entry02 {
    display: none;
  }

  .under #header .entry01 {
    display: none;
  }

  .under #header .entry02 {
    display: block;
  }

  #header .m_ttl {
    color: #fff;
    font-size: 54px;
    font-weight: bold;
    padding: 338px 0 283px 174px;
  }

  #header .fish {
    position: absolute;
    bottom: 30px;
    left: 118px;
  }

  #header .main_img {
    position: absolute;
    top: 118px;
    left: 46vw;
    width: 732px;
    z-index: 1;
  }

  #top .logo01 {}

  #top .logo02 {
    display: none;
  }

  .under #header .logo a {

    color: #DA3615;

  }

  .under #header {
    background: #fff;
  }

  .under .logo01 {
    display: none;
  }

  .under .h_inner {}

  .under .logo {}

  .under #gnav li a {
    color: #DA3615;
    font-weight: bold;
  }

  .under #header .link_list li a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 4px;
    background: #DA3615;
    bottom: -8px;
    transform: scale(0, 1);
    transform-origin: center top;
    /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
    transition: transform 0.3s;
    /*変形の時間*/
    border-radius: 10px;
  }

  .under #header .link_list li a:hover::after {
    transform: scale(1, 1);
    /*ホバー後、x軸方向に1（相対値）伸長*/
  }

  .breadcrumbs {

    padding: 140px 37px 60px;

  }

  .under .en_ttl {
    color: #DA3615;
    font-size: 141px;
    font-weight: bold;
    padding: 0 0 0 42px;
  }

  .under .jp_ttl {
    color: #DA3615;
    font-size: 27px;
    font-weight: bold;
    padding: 0 0 95px 42px;
  }

  .anchor_box {
    background: #DA3615;
    padding: 50px 0;
    margin: 0 0 66px;
  }

  .anchor_box ul {
    text-align: center;
    display: flex;
    justify-content: center;
  }

  .anchor_box li {
    list-style: disc;
    color: #fff;
    padding: 0 44px 0 0;
  }

  .anchor_box li a {
    color: #fff;
    font-size: 18px;
    font-weight: 400;
  }

  .content_ttl_jp {
    color: #DA3615;
    font-size: 38px;
    font-weight: bold;
    text-align: center;
    margin: 0 0 68px;
  }

  .content_ttl_en {
    color: #DA3615;
    font-size: 60px;
    font-weight: bold;
    text-align: center;
    /* margin: 0 0 68px; */
  }

  .sub_ttl {
    text-align: center;
    font-size: 17px;
    font-weight: 600;
    margin: 0 0 63px;
  }

  .ttl {
    text-align: center;
    font-size: 61px;
    color: #DA3615;
    font-weight: bold;
    margin: 0 0 31px;
    letter-spacing: 4px;
    position: relative;
    z-index: 10;
  }



  .more {
    text-align: center;
    font-weight: bold;
    font-size: 24px;
    position: relative;
    z-index: 10;
  }

  .more a {
    font-weight: bold;
  }

  .more a:after {
    background-color: #DA3615;
    /* 線色 */
    border-radius: 5px;
    /* 線幅の半分 */
    content: "";
    display: block;
    height: 6px;
    /* 線幅 */
    width: 62px;
    margin: 5px auto 0;
  }

  .under .container {

    padding: 0 0 84px;

  }

  #footer {
    background: #DA3615;
    padding: 50px 6vw;
    color: #fff;
  }

  #footer a {
    color: #fff;

  }

  #footer .f_inner {}

  #footer .recruit_box {
    margin: 0 0 20px;
  }

  #footer .recruit_box a {
    border: solid 1px #fff;
    /* margin: 0 0 19px; */
  }

  #footer .recruit_box .l_box {
    position: relative;
    width: 80%;
  }

  #footer .recruit_box .l_box .rec_ttl {
    font-size: 24px;
    font-weight: bold;
    padding: 125px 0 0 60px;
  }

  #footer .recruit_box .l_box .recruit_img {
    position: absolute;
    right: 4vw;
    bottom: 0;
    width: 24vw;
  }

  #footer .recruit_box .r_box {
    text-align: center;
    padding: 124px 6vw;
    border-left: solid 1px #fff;
    font-size: 15px;
    font-weight: bold;
    width: 17%;
    box-sizing: border-box;
  }

  #footer .btn_box {
    width: 100%;
    margin: 0 0 84px;
  }

  #footer .btn_box li {
    width: 49%;
  }

  #footer .btn_box li a {
    color: #DA3615;
    background: #fff;
    display: block;
    font-weight: bold;
    text-align: center;
    font-size: 16px;
    padding: 26px 0;
  }

  #footer .link_box {
    border-bottom: solid 1px #fff;
    padding: 0 0 45px;
    margin: 0 0 48px;
  }

  #footer .link_box .link_list {}

  #footer .link_box .link_list li {}

  #footer .link_box .link_list li a {
    /* font-size: 14px; */
    margin: 0 0.6vw;
  }

  #footer .link_list_r {}

  #footer .copy_box {}

  #footer .copy_box .copy {}

  #footer .copy_box .figtree {}

  #footer .copy_box .figtree a {
    background: url(../images/top/pgtop.png)no-repeat left center;
    padding: 0 0 0 27px;
    background-size: contain;
  }



}



/*SP用*/
@media screen and (max-width:640px) {

  /* scroll arrow */
  #wrapper {
    /* display: table; */
    /* width:100%; */
    /* height:100%; */
    position: absolute;
    right: 8vw;
    bottom: 20vw;
    width: 18px;
    z-index: 1000;
  }

  #wrapper-inner {
    /* display: table-cell; */
    /* vertical-align:middle; */
    /* width:100%; */
    /* height:100%; */
  }

  #scroll-down {
    display: block;
    position: relative;
    padding-top: 43px;
    text-align: center;
  }

  .arrow-down {
    display: block;
    margin: 0 auto;
    width: 10px;
    height: 38px;
  }

  .arrow-down:after {
    content: '';
    display: block;
    margin: 0;
    padding: 0;
    width: 14px;
    height: 14px;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    behavior: url(-ms-transform.htc);
    -moz-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
  }

  #scroll-title {
    display: block;
    text-transform: uppercase;
    color: #fff;
    font-family: Helvetica Neue, Helvetica, Arial;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: .1em;
  }

  #scroll-down::before {
    -webkit-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    /* Safari 4+ */
    -moz-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    /* Fx 5+ */
    -o-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    /* Opera 12+ */
    animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    /* IE 10+, Fx 29+ */
    position: absolute;
    top: 23px;
    left: 50%;
    margin-left: 2px;
    width: 4px;
    height: 40px;
    background: #fff;
    content: ' ';
  }

  @-webkit-keyframes elasticus {
    0% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }

    50% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    50.1% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    100% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }
  }

  @-moz-keyframes elasticus {
    0% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }

    50% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    50.1% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    100% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }
  }

  @-o-keyframes elasticus {
    0% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }

    50% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    50.1% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    100% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }
  }

  @keyframes elasticus {
    0% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }

    50% {
      -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -o-transform-origin: 0% 0%;
      transform-origin: 0% 0%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    50.1% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
    }

    100% {
      -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
      -moz-transform-origin: 0% 100%;
      -o-transform-origin: 0% 100%;
      transform-origin: 0% 100%;
      -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
      -moz-transform: scale(1, 0);
      -o-transform: scale(1, 0);
      transform: scale(1, 0);
    }
  }


  .pc {
    display: none;
  }

  #header {
    background: #FFD8D0;
  }

  #header .h_inner {
    position: relative;
  }

  #header .logo {
    position: absolute;
    top: 3vw;
    left: 3vw;
    padding: 1.7vw 0 1px 12vw;
    font-size: 2.7vw;
    z-index: 1000;
  }

  #header .logo a {

    color: #fff;

    font-weight: 600;

    vertical-align: -webkit-baseline-middle;

    margin: 0 0 0px;

    padding: 0px 0 0;

  }

  #header .logo img {

    padding: 0px 9px 0 0;

    position: absolute;

    top: 1px;

    left: 0;

    width: 8vw;

  }

  #header #gnav {
    /* padding: 32px 0 0 0px; */
    /* position: absolute; */
    /* right: 7vw; */
    /* top: 10px; */
  }

  #header .link_list {
    /* display: flex; */
  }

  #header .link_list li {
    /* padding: 0 13px 0px; */
    background: #DA3615;
  }

  #header .link_list li a {
    /* color: #fff;
    font-size: 16px;
    position: relative; */
  }

  #header .link_list li a::after {
    /* position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 4px;
    background: #fff;
    bottom: -8px;
    transform: scale(0, 1);
    transform-origin: center top;
    */
    /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
    /* transition: transform 0.3s; */
    /*変形の時間*/
    /* border-radius: 10px;  */
  }

  #header .link_list li a:hover::after {
    /* transform: scale(1, 1); */
    /*ホバー後、x軸方向に1（相対値）伸長*/
  }



  #gnav {
    position: fixed;
    z-index: 1009;
    top: 0;
    right: -120%;
    width: 100vw;
    height: 100vh;
    background: #DA3615;
    transition: all .6s
  }

  #gnav.panelactive {
    right: 0
  }

  #gnav.panelactive #gnav-list {
    position: fixed;
    z-index: 999;
    width: 100vw;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch
  }

  #gnav ul {
    position: absolute;
    z-index: 999;
    top: 7vw;
    left: 7vw;
    background: #DA3615;
  }

  #gnav li {
    list-style: none;
    position: relative;
    display: block;
    margin: 0 0 3.8vw;
  }

  #gnav li a {
    color: #fff;
    text-decoration: none;
    display: block;
    text-transform: uppercase;
    letter-spacing: .3vw;
    font-weight: 600;
    font-size: 9vw;
    background: #DA3615;
  }

  #gnav li a.gpt {
    color: #FFBBAD
  }

  #gnav li a:hover {
    color: #012903
  }

  #gnav .copy {
    color: #fff;
    font-size: 7.5vw;
    display: block;
    position: absolute;
    bottom: 2vw;
    left: 8vw
  }

  #gnav li a:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    height: 100%;
    width: 100%;
    background-color: #DA3615;
  }

  #gnav li:nth-child(1) a:after {
    transition: height .15s ease .4s
  }

  #gnav li:nth-child(2) a:after {
    transition: height .15s ease .5s
  }

  #gnav li:nth-child(3) a:after {
    transition: height .15s ease .6s
  }

  #gnav li:nth-child(4) a:after {
    transition: height .15s ease .7s
  }

  #gnav li:nth-child(5) a:after {
    transition: height .15s ease .8s
  }

  #gnav li:nth-child(6) a:after {
    transition: height .15s ease .9s
  }

  #gnav li:nth-child(7) a:after {
    transition: height .15s ease 1.0s
  }

  #gnav li:nth-child(8) a:after {
    transition: height .15s ease 1.1s
  }

  #gnav li:nth-child(9) a:after {
    transition: height .15s ease 1.2s
  }

  #gnav li:nth-child(10) a:after {
    transition: height .15s ease 1.3s
  }

  #gnav li:nth-child(11) a:after {
    transition: height .15s ease 1.4s
  }

  #gnav li:nth-child(12) a:after {
    transition: height .15s ease 1.5s
  }

  #gnav.panelactive li a:after {
    height: 0
  }

  .openbtn1 {
    position: fixed;
    z-index: 9999;
    top: 10px;
    right: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px
  }

  .test {
    position: fixed;
    top: 10px;
    right: 10px
  }

  .openbtn1 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 2px;
    border-radius: 2px;
    background-color: #fff;
    width: 45%
  }

  .under .openbtn1 span {

    background-color: #DA3615;
  }

  .openbtn1 span:nth-of-type(1) {
    top: 15px;
    width: 56%
  }

  .openbtn1 span:nth-of-type(2) {
    top: 23px;
    width: 56%;
    right: 8px;
    left: auto;
    display: none;
  }

  .openbtn1 span:nth-of-type(3) {
    top: 25px;
    left: auto;
    right: 8px;
    /* display: none; */
    width: 56%;
  }

  .openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%
  }

  .openbtn1.active span:nth-of-type(2) {
    opacity: 0
  }

  .openbtn1.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%
  }

  .under .openbtn1.active span {
    background: #fff;
  }



  #header .entry {
    position: fixed;
    right: 0;
    bottom: 40vw;
    z-index: 10000;
    width: 68px;
  }


    #header .entry01 {
  }

  #header .entry02 {
    display: none;
  }

  .under #header .entry01 {
    display: none;
  }

  .under #header .entry02 {
    display: block;
  }


  #header .m_ttl {
    color: #fff;
    font-size: 35px;
    font-weight: bold;
    padding: 124vw 0 127px 18px;
    line-height: 1.8;
  }

  #header .fish {
    position: absolute;
    bottom: 30px;
    left: 118px;
  }

  #header .main_img {
    position: absolute;
    top: 118px;
    left: 46vw;
    width: 34vw;
  }

  #top .logo01 {}

  #top .logo02 {
    display: none;
  }

  .under #header .logo a {

    color: #DA3615;

  }

  .under #header {
    background: #fff;
  }

  .under .logo01 {
    display: none;
  }

  .under .h_inner {}

  .under .logo {}

  .under #gnav li a {
    /* color: #DA3615; */
    font-weight: bold;
  }

  .under #header .link_list li a::after {
    /* position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 4px;
    background: #DA3615;
    bottom: -8px;
    transform: scale(0, 1);
    transform-origin: center top; */
    /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
    /* transition: transform 0.3s; */
    /*変形の時間*/
    /* border-radius: 10px; */
  }

  .under #header .link_list li a:hover::after {
    /* transform: scale(1, 1); */
    /*ホバー後、x軸方向に1（相対値）伸長*/
  }

  .breadcrumbs {
    padding: 102px 19px 39px;
    font-size: 2.8vw;
    box-sizing: border-box;
  }

  .under .en_ttl {
    color: #DA3615;
    font-size: 13vw;
    font-weight: bold;
    padding: 0 0 0 19px;
    box-sizing: border-box;
  }

  .under .jp_ttl {
    color: #DA3615;
    font-size: 3.6vw;
    font-weight: bold;
    padding: 0 0 65px 19px;
    box-sizing: border-box;
  }

  .anchor_box {
    background: #DA3615;
    padding: 60px 0;
    margin: 0px 0 48px;
  }

  .anchor_box ul {
    text-align: center;
    display: flex;
    justify-content: center;
  }

  .anchor_box li {
    list-style: disc;
    color: #fff;
    padding: 0 40px 0 0;
  }

  .anchor_box li:nth-last-child(1) {
    list-style: disc;
    color: #fff;
    padding: 0 0px 0 0;
  }

  .anchor_box li a {
    color: #fff;
    font-size: 14px;
    font-weight: 400;
  }

  .content_ttl_jp {
    color: #DA3615;
    font-size: 38px;
    font-weight: bold;
    text-align: center;
    margin: 0 0 68px;
  }

  .content_ttl_en {
    color: #DA3615;
    font-size: 46px;
    font-weight: bold;
    text-align: center;
    /* margin: 0 0 68px; */
  }

  .sub_ttl {
    text-align: center;
    font-size: 17px;
    font-weight: 600;
    margin: 0 0 42px;
  }

  .ttl {
    text-align: center;
    font-size: 61px;
    color: #DA3615;
    font-weight: bold;
    margin: 0 0 31px;
    letter-spacing: 4px;
    position: relative;
    z-index: 10;
  }



  .more {
    text-align: center;
    font-weight: bold;
    font-size: 24px;
    position: relative;
    z-index: 10;
  }

  .more a {
    font-weight: bold;
  }

  .more a:after {
    background-color: #DA3615;
    /* 線色 */
    border-radius: 5px;
    /* 線幅の半分 */
    content: "";
    display: block;
    height: 6px;
    /* 線幅 */
    width: 62px;
    margin: 5px auto 0;
  }

  .under .container {

    padding: 0 0 84px;

  }

  #footer {
    background: #DA3615;
    padding: 55px 3vw 29px;
    color: #fff;
    box-sizing: border-box;
  }

  #footer a {
    color: #fff;

  }

  #footer .f_inner {}

  #footer .recruit_box {
    margin: 0 0 20px;
  }

  #footer .recruit_box a {
    border: solid 1px #fff;
    /* margin: 0 0 19px; */
  }

  #footer .recruit_box .l_box {
    position: relative;
    width: 100%;
    /* padding: 16vw 0 0; */
  }

  #footer .recruit_box .l_box .rec_ttl {
    font-size: 24px;
    font-weight: bold;
    padding: 8vw 0 55vw 0;
    text-align: center;
  }

  #footer .recruit_box .l_box .recruit_img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 76vw;
    left: 0;
    margin: 0 auto;
  }

  #footer .recruit_box .r_box {
    text-align: center;
    padding: 124px 6vw;
    border-left: solid 1px #fff;
    font-size: 15px;
    font-weight: bold;
    width: 17%;
    box-sizing: border-box;
    display: none;
  }

  #footer .btn_box {
    width: 100%;
    margin: 0 0 40px;
    display: block;
  }

  #footer .btn_box li {
    width: 100%;
    margin: 0 0 18px;
  }

  #footer .btn_box li a {
    color: #DA3615;
    background: #fff;
    display: block;
    font-weight: bold;
    text-align: center;
    font-size: 16px;
    padding: 26px 0;
  }

  #footer .link_box {
    border-bottom: solid 1px #fff;
    padding: 0px 0 5px;
    margin: 0 0 165px;
    position: relative;
  }

  #footer .link_box .link_list {
    width: 338px;
  }

  #footer .link_box .link_list li {
    width: 155px;
    margin: 0 0 30px;
  }

  #footer .link_box .link_list li a {
    /* font-size: 14px; */
    margin: 0 0.6vw;
  }

  #footer .link_list_r {
    position: absolute;
    top: 196px;
    display: block;
    font-weight: 400;
  }

  #footer .copy_box {}

  #footer .copy_box .copy {
    order: 1;
    font-size: 9px;
    text-align: center;
    margin: 0 auto;
  }

  #footer .copy_box .figtree {
    order: 0;
    text-align: center;
    margin: 0 auto 43px;
    width: 114px;
  }

  #footer .copy_box .figtree a {
    background: url(../images/top/pgtop.png)no-repeat left center;
    padding: 0 0 0 27px;
    background-size: contain;
  }



}