@charset "UTF-8";
* {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

*, h1, h2, h3, h4, h5, p {
  padding: 0;
  margin: 0;
}

html {
  font-size: 10px;
  overflow-y: scroll;
  overflow-x: hidden;
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  html {
    overflow-x: hidden;
    width: 100%;
  }
}

body {
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  position: relative;
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  body {
    width: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  body {
    overflow-x: hidden;
    width: 100%;
  }
}

a {
  text-decoration: none;
}

ul, li {
  list-style: none;
}

*:focus {
  outline: none;
}

img {
  vertical-align: bottom;
  border: 0px;
  width: 100%;
  height: 100%;
}

section {
  position: relative;
}

.pc-none {
  display: none;
}
@media screen and (min-width: 1501px) {
  .pc-none {
    display: none;
  }
}
@media screen and (min-width: 1281px) and (max-width: 1500px) {
  .pc-none {
    display: none;
  }
}
@media screen and (min-width: 961px) and (max-width: 1280px) {
  .pc-none {
    display: none;
  }
}
@media screen and (min-width: 696px) and (max-width: 960px) {
  .pc-none {
    display: block;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  .pc-none {
    display: block;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .pc-none {
    display: block;
  }
}
@media screen and (max-width: 375px) {
  .pc-none {
    display: block;
  }
}

.sp-none {
  display: block;
}
@media screen and (min-width: 1501px) {
  .sp-none {
    display: block;
  }
}
@media screen and (min-width: 1281px) and (max-width: 1500px) {
  .sp-none {
    display: block;
  }
}
@media screen and (min-width: 961px) and (max-width: 1280px) {
  .sp-none {
    display: block;
  }
}
@media screen and (min-width: 696px) and (max-width: 960px) {
  .sp-none {
    display: none;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  .sp-none {
    display: none;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .sp-none {
    display: none;
  }
}
@media screen and (max-width: 375px) {
  .sp-none {
    display: none;
  }
}

.page_top {
  background-color: #ff7488;
  color: #fff;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  position: fixed;
  right: -50px;
  bottom: 25%;
  height: 27px;
  width: 134px;
  text-align: center;
  vertical-align: middle;
  line-height: 1.75;
  z-index: 999999;
  letter-spacing: 1px;
  font-size: 15px;
}
.page_top a {
  color: #fff;
}

/****************************************
		1. General Setting
*****************************************/
html, body, div, span, applet, object, iframe, strong,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, legend, caption,
tbody, tfoot, thead, table, label, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  list-style: none;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

* {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.clearfix:before,
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

html {
  overflow-x: hidden;
  background-color: #fff;
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  html {
    width: 99%;
    margin: 0 auto;
  }
}

body {
  font-family: "Noto Sans JP", "Inconsolata", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "ms pgothic", "osaka", sans-serif;
  font-size: 14px;
  color: #000;
}

img {
  vertical-align: text-bottom;
}

iframe {
  width: 100% !important;
}

.clear {
  clear: both;
  line-height: 0;
}

/****************************************
costomize_propety
*****************************************/
main {
  position: relative;
  top: -100px;
}
@media screen and (min-width: 1501px) {
  main {
    max-width: 1500px;
    margin: 0 auto;
  }
}

.wrap {
  width: 90%;
  margin: 70px auto 0;
}

.text-box {
  font-size: 21px;
  line-height: 1.55;
}
.text-box p {
  margin: 26px 0 0 0;
}

header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  background: rgba(0, 0, 0, 0.6);
  height: 70px;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  header {
    background: rgb(0, 0, 0);
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  header {
    background: rgb(0, 0, 0);
  }
}
@media screen and (max-width: 375px) {
  header {
    background: rgb(0, 0, 0);
  }
}
header .inner {
  max-width: 1500px;
  margin: 0 auto;
  display: block;
  width: 100%;
}
header .home-link {
  display: inline-block;
  width: 19%;
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  header .home-link {
    display: block;
    width: 32%;
    margin: 0 auto;
    position: relative;
    right: 23px;
  }
}
@media screen and (max-width: 375px) {
  header .home-link {
    display: block;
    width: 32%;
    margin: 0 auto;
    position: relative;
    right: 23px;
  }
}
header .home-link .head-logo {
  display: block;
  width: 50%;
  vertical-align: top;
  position: relative;
  z-index: 9;
  margin: 0.75vw auto 0;
}
@media screen and (min-width: 696px) and (max-width: 960px) {
  header .home-link .head-logo {
    display: block;
    width: 100%;
    position: relative;
    top: 17px;
    left: 16px;
    margin: 0;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  header .home-link .head-logo {
    display: block;
    width: 100%;
    position: relative;
    top: 17px;
    left: 16px;
    margin: 0;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  header .home-link .head-logo {
    display: block;
    width: 100%;
    position: relative;
    top: 17px;
    left: 16px;
    margin: 0;
  }
}
@media screen and (max-width: 375px) {
  header .home-link .head-logo {
    display: block;
    width: 100%;
    position: relative;
    top: 17px;
    left: 16px;
    margin: 0;
  }
}
header .home-link .head-logo .sp-info {
  display: none;
}
header .head-nav {
  width: 80%;
  text-align: center;
  display: inline-block;
}
@media screen and (min-width: 696px) and (max-width: 960px) {
  header .head-nav {
    display: none;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  header .head-nav {
    display: none;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  header .head-nav {
    display: none;
  }
}
@media screen and (max-width: 375px) {
  header .head-nav {
    display: none;
  }
}
header .head-nav ul li {
  display: inline-block;
  width: 15%;
  text-align: center;
}
header .head-nav ul li a {
  display: inline-block;
  color: #fff;
  font-size: 17px;
  -webkit-appearance: none;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}
header .head-nav ul li a rt {
  font-size: 12.5px;
  color: #eee;
}
header .head-nav ul li a:hover {
  cursor: pointer;
  color: #fff;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-transform: scale(1.35);
          transform: scale(1.35);
}
header .head-nav .head_contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  display: inline-block;
  width: 15%;
  top: -1px;
  left: 0px;
  padding: 5px 0px 8px;
  text-align: center;
  z-index: 3;
}
footer {
  width: 100%;
  padding: 60px 0 0 0;
  background-color: #000;
  color: #fff;
  background-image: url(/img/foot_company_back.gif);
  background-position: center 25px;
  background-size: 30%;
  background-repeat: no-repeat;
  position: relative;
  top: 0px;
}
@media screen and (min-width: 696px) and (max-width: 960px) {
  footer .footer-design {
    padding: 0 0 60px 0;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  footer .footer-design {
    padding: 0 0 60px 0;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  footer .footer-design {
    padding: 0 0 60px 0;
  }
}
@media screen and (max-width: 375px) {
  footer .footer-design {
    padding: 0 0 60px 0;
  }
}
footer .footer-design .foot-contact {
  margin: 50px auto 90px;
  width: 75%;
}
@media screen and (min-width: 696px) and (max-width: 960px) {
  footer .footer-design .foot-contact {
    width: 85%;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  footer .footer-design .foot-contact {
    width: 85%;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  footer .footer-design .foot-contact {
    width: 85%;
  }
}
@media screen and (max-width: 375px) {
  footer .footer-design .foot-contact {
    width: 85%;
  }
}
footer .footer-design .foot-contact .foot-contact-button {
  display: block;
  width: 100%;
}
footer .footer-design .foot-contact .foot-contact-button a {
  padding: 50px 0 60px 100px;
  color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  background: rgba(0, 0, 0, 0.35);
  border: solid 0.5px #fff;
  border-radius: 5px;
  backdrop-filter: blur(2px);
  -webkit-filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.6));
  filter: drop-shadow(0px 0px 15px rgb(0, 0, 0));
  -webkit-appearance: none;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
  -webkit-transition-property: transform;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}
@media screen and (min-width: 696px) and (max-width: 960px) {
  footer .footer-design .foot-contact .foot-contact-button a {
    padding: 6vw 0 0 7vw;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  footer .footer-design .foot-contact .foot-contact-button a {
    padding: 6vw 0 0 7vw;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  footer .footer-design .foot-contact .foot-contact-button a {
    padding: 6vw 0 0 7vw;
  }
}
@media screen and (max-width: 375px) {
  footer .footer-design .foot-contact .foot-contact-button a {
    padding: 6vw 0 0 7vw;
  }
}
footer .footer-design .foot-contact .foot-contact-button a p {
  display: inline-block;
  width: 66%;
  margin: 0 auto 30px;
  font-size: 5vw;
  text-shadow: 0px 0px 8px #000;
  color: #fff;
}
footer .footer-design .foot-contact .foot-contact-button a .circle-arrow {
  display: inline-block;
  width: 18%;
  position: relative;
  top: 5px;
  color: #fff;
}
footer .footer-design .foot-contact .foot-contact-button a .circle-arrow img {
  width: 100%;
  height: 100%;
}
footer .footer-design .foot-contact .foot-contact-button a:hover {
  cursor: pointer;
  color: #fff;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
          box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
  -webkit-transform: scale(1.15);
  transform: scale(1.15);
}
footer .footer-design .full_width_nav {
  display: block;
  width: 100%;
  background-color: #272727;
  padding: 12px 0;
  text-align: center;
}
@media screen and (min-width: 696px) and (max-width: 960px) {
  footer .footer-design .full_width_nav {
    text-align: left;
    padding: 3% 0 3% 12%;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  footer .footer-design .full_width_nav {
    text-align: left;
    padding: 3% 0 3% 12%;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  footer .footer-design .full_width_nav {
    text-align: left;
    padding: 3% 0 3% 12%;
  }
}
@media screen and (max-width: 375px) {
  footer .footer-design .full_width_nav {
    text-align: left;
    padding: 3% 0 3% 12%;
  }
}
footer .footer-design .full_width_nav ul {
  display: block;
  width: 100%;
}
footer .footer-design .full_width_nav ul li {
  display: inline-block;
  width: 10%;
}
@media screen and (min-width: 696px) and (max-width: 960px) {
  footer .footer-design .full_width_nav ul li {
    display: inline-block;
    width: 32%;
    margin: 5px 0;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  footer .footer-design .full_width_nav ul li {
    display: inline-block;
    width: 32%;
    margin: 5px 0;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  footer .footer-design .full_width_nav ul li {
    display: inline-block;
    width: 32%;
    margin: 5px 0;
  }
}
@media screen and (max-width: 375px) {
  footer .footer-design .full_width_nav ul li {
    display: inline-block;
    width: 32%;
    margin: 5px 0;
  }
}
footer .footer-design .full_width_nav ul li a {
  display: inline-block;
  color: #fff;
  -webkit-appearance: none;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}
@media screen and (min-width: 696px) and (max-width: 960px) {
  footer .footer-design .full_width_nav ul li a {
    text-decoration: underline;
    color: #fff;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  footer .footer-design .full_width_nav ul li a {
    text-decoration: underline;
    color: #fff;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  footer .footer-design .full_width_nav ul li a {
    text-decoration: underline;
    color: #fff;
  }
}
@media screen and (max-width: 375px) {
  footer .footer-design .full_width_nav ul li a {
    text-decoration: underline;
    color: #fff;
  }
}
footer .footer-design .full_width_nav ul li a:hover {
  cursor: pointer;
  color: #fff;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-transform: scale(1.35);
          transform: scale(1.35);
}
footer .footer-design .foot_info_inner {
  position: relative;
  bottom: -44px;
}
footer .footer-design .foot_info_inner .foot_info {
  margin: 50px 0 0 0;
}
footer .footer-design .copyright {
  display: block;
  position: relative;
  margin: 50px 0 0 0;
  padding: 0;
  top: 0;
  text-align: left;
}
footer .footer-design .copyright a {
  color: #fff;
  text-decoration: underline;
}
footer .footer-design .copyright a:link, footer .footer-design .copyright a:visited, footer .footer-design .copyright a:hover, footer .footer-design .copyright a:active {
  color: #fff;
  text-decoration: underline;
}
footer .footer-design .ending-logo {
  display: block;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 696px) and (max-width: 960px) {
  footer .footer-design .ending-logo {
    display: none;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  footer .footer-design .ending-logo {
    display: none;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  footer .footer-design .ending-logo {
    display: none;
  }
}
@media screen and (max-width: 375px) {
  footer .footer-design .ending-logo {
    display: none;
  }
}
footer .footer-design .ending-logo img {
  width: 125px;
  height: auto;
  display: block;
  margin: 0 auto;
  padding: 15px 0;
}

/* sp-menu */
/* スマホ閲覧時のハンバーガーメニュー */
#hanburger {
  display: none; /* チェックボックスを非表示 */
}

.hamburger-menu {
  display: none;
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .hamburger-menu {
    display: block;
    position: relative;
    z-index: 999999;
  }
}
@media screen and (max-width: 375px) {
  .hamburger-menu {
    display: block;
    position: relative;
    z-index: 999999;
  }
}

.menu_button { /* ボタンのスタイル */
  width: 50px; /* 幅 */
  height: 50px; /* 高さ */
  position: fixed;
  top: 20px;
  right: 20px;
  background: #b5325d; /* 背景色 */
  z-index: 9999;
}

.menu_button::before { /* アイコンのスタイル */
  font-family: "Font Awesome 5 Free";
  content: "\f0c9"; /* アイコン「３本線」 */
  font-weight: 900;
  position: absolute;
  color: #fff;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

#hanburger:checked + .menu_button::before { /* アイコンのスタイル（チェック済み） */
  content: "\f00d"; /* アイコン「×印」 */
}

.global_menu { /* メニュー全体のスタイル */
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0;
  color: #333; /* 文字色 */
  overflow-y: scroll;
  text-align: center;
  z-index: 99999;
  background-color: rgba(0, 0, 0, 0.9);
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .global_menu {
    padding: 0;
    display: none;
  }
}
@media screen and (max-width: 375px) {
  .global_menu {
    padding: 0;
    display: none;
  }
}

#hanburger:checked ~ .global_menu { /* メニュー全体のスタイル（チェック済） */
  visibility: visible; /* メニューを表示 */
}

.global_menu a { /* 各項目のスタイル */
  display: block;
  width: 100%;
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .global_menu a {
    padding: 0;
  }
}
@media screen and (max-width: 375px) {
  .global_menu a {
    padding: 0;
  }
}

.menu:not(:last-child) {
  margin-bottom: 20px;
}

.menu > a { /* 親項目のスタイル */
  font-weight: bold;
  padding: 0;
  color: #fff;
}

.child_menu > li > a {
  padding: 0;
  font-size: 0.8em;
}

.under_top {
  background-color: #000;
  height: 84px;
  width: 85%;
  margin: 0 auto;
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .under_top {
    height: 0;
  }
}
@media screen and (max-width: 375px) {
  .under_top {
    height: 0;
  }
}

.menu_button {
  display: none; /* ハンバーガーメニューのボタンを非表示 */
}

/* ②メガメニューのスタイル */
.menu_contents {
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.85);
  position: absolute;
  top: 100%;
  right: -850px;
  width: 68vw;
  height: 25vw;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.menu_contents h3 {
  height: 50px;
  display: block;
  width: 100%;
  text-align: left;
  margin: 32px 0 0 30px;
  font-size: 28px;
  letter-spacing: 2px;
  font-style: italic;
  text-shadow: 2px 1px 4px rgba(0, 0, 0, 0.9);
}
.menu_contents h3 span {
  margin: 0 0 0 20px;
  letter-spacing: 0px;
  font-size: 25px;
  font-style: normal;
}

.menu_contents li a {
  color: #fff;
}

/*  ============================================   */
.gm_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  font-weight: bold;
}

.gm_menu a {
  text-decoration: none;
  color: #fff;
  text-shadow: 2px 1px 4px rgba(0, 0, 0, 0.9);
}

.gm_menu .menu_list > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  white-space: nowrap;
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}

.gm_menu .menu_list > a:hover {
  color: #fff;
  opacity: 0.4;
}

.gm_menu .menu_list:nth-child(1)::before {
  display: block;
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 13px;
  right: -19px;
  width: 5px;
  height: 5px;
  border: 5px solid transparent;
  border-left-color: transparent;
  border-left-style: solid;
  border-left-width: 5px;
  border-left: 6px solid #FFF;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  -webkit-transform-origin: 2px 5px;
          transform-origin: 2px 5px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-filter: drop-shadow(2px 1px 1px rgba(0, 0, 0, 0.5));
          filter: drop-shadow(2px 1px 1px rgba(0, 0, 0, 0.5));
}

.gm_menu .menu_list:last-child {
  margin: 0 20px 0 0;
}

/* ②メガメニューのスタイル */
.menu_contents {
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.85);
  position: absolute;
  top: 100%;
  right: -850px;
  width: 68vw;
  height: 25vw;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.menu_contents h3 {
  height: 50px;
  display: block;
  width: 100%;
  text-align: left;
  margin: 32px 0 0 30px;
  font-size: 28px;
  letter-spacing: 2px;
  font-style: italic;
  text-shadow: 2px 1px 4px rgba(0, 0, 0, 0.9);
}
.menu_contents h3 span {
  margin: 0 0 0 20px;
  letter-spacing: 0px;
  font-size: 25px;
  font-style: normal;
}

.menu_contents li a {
  color: #fff;
}

/*  ============================================   */
.menu-btn {
  position: fixed;
  top: -4px;
  right: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 60px;
  width: 60px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 90;
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  .menu-btn {
    top: 0px;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .menu-btn {
    top: 0px;
  }
}
@media screen and (max-width: 375px) {
  .menu-btn {
    top: 0px;
  }
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
  content: "";
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #fff;
  position: absolute;
  -webkit-box-shadow: 0px 0px 2px #000;
          box-shadow: 0px 0px 2px #000;
}

.menu-btn span:before {
  bottom: 8px;
}

.menu-btn span:after {
  top: 8px;
}

#menu-btn-check:checked ~ .menu-btn span {
  background-color: rgba(255, 255, 255, 0); /*メニューオープン時は真ん中の線を透明にする*/
  -webkit-box-shadow: none;
          box-shadow: none;
}

#menu-btn-check:checked ~ .menu-btn span::before {
  bottom: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

#menu-btn-check:checked ~ .menu-btn span::after {
  top: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

#menu-btn-check {
  display: none;
}

.menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%;
  z-index: 80;
  background-color: rgba(0, 0, 0, 0.9);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  overflow-y: scroll;
  padding: 10px 0 250px 0;
  min-height: 1200px;
  overflow-x: hidden;
}

.menu-content ul {
  padding: 5px 0 0 0;
}

.menu-content ul li {
  list-style: none;
  margin: 3vh 0 0 0;
}
@media screen and (min-width: 696px) and (max-width: 960px) {
  .menu-content ul li {
    list-style: none;
    margin: 1.2vh 0 26px 18px;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  .menu-content ul li {
    list-style: none;
    margin: 1.2vh 0 26px 18px;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .menu-content ul li {
    list-style: none;
    margin: 1.2vh 0 26px 18px;
  }
}
@media screen and (max-width: 375px) {
  .menu-content ul li {
    list-style: none;
    margin: 1.2vh 0 26px 18px;
  }
}

.menu-content ul li a {
  display: block;
  width: 100%;
  font-size: 32px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #ffffff;
  text-decoration: none;
  padding: 9px 3% 5px 0;
  position: relative;
  margin: 10px 0px 0px 3%;
  font-style: italic;
  font-weight: bold;
}

.menu-content ul li a p {
  font-size: 10vw;
  border-bottom: 1px solid #fff;
  display: inline;
}
.menu-content ul li a p:before {
  content: " ▶ ";
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  top: -7px;
  left: -5px;
  padding: 0;
  font-size: 12px;
}

.menu-content ul li:nth-child(1) a {
  margin: 10px 0px 0px 3%;
}

.sp_menu_child li {
  display: inline-block;
  width: 48.5%;
  vertical-align: top;
}
.sp_menu_child li a img {
  width: 100%;
  text-align: center;
  margin: 0 auto;
  display: block;
}
.sp_menu_child li a p {
  font-size: 20px;
  font-style: normal;
  font-weight: lighter;
  margin: 8px 0 0 0;
  text-align: center;
  line-height: 1.1;
}

#menu-btn-check:checked ~ .menu-content {
  left: 0; /*メニューを画面内へ*/
}

.mnc_hide {
  opacity: 0;
  z-index: -99999999;
  display: none;
}

.mnc_show {
  display: block;
  opacity: 1;
  z-index: 99999;
}

.scroll_fixed {
  background-color: rgba(0, 0, 0, 0.85) !important;
  top: 45px !important;
}

.scroll_top {
  top: 0px !important;
}

/****************************************
↓ 未整理
*****************************************/
.sp_header {
  display: none;
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  .sp_header {
    display: block;
    width: 100%;
    padding: 0;
    background-color: #000;
    text-align: center;
    height: 12.5vw;
    z-index: 999;
    position: absolute;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .sp_header {
    display: block;
    width: 100%;
    padding: 0;
    background-color: #000;
    text-align: center;
    height: 12.5vw;
    z-index: 999;
    position: absolute;
  }
}
@media screen and (max-width: 375px) {
  .sp_header {
    display: block;
    width: 100%;
    padding: 0;
    background-color: #000;
    text-align: center;
    height: 12.5vw;
    z-index: 999;
    position: absolute;
  }
}
.sp_header img {
  width: 50%;
  text-align: center;
  margin: 11px auto 0;
  padding: 1vw 0 0;
  height: auto;
}

.global_menu { /* メニュー全体のスタイル */
  width: 100%;
  position: relative;
  color: #333; /* 文字色 */
  text-align: center;
  background: none;
}

.global_menu li {
  display: inline-block;
  position: relative;
  margin: 0 30px 0 0;
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  .global_menu li {
    display: block;
    text-align: left;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .global_menu li {
    display: block;
    text-align: left;
  }
}
@media screen and (max-width: 375px) {
  .global_menu li {
    display: block;
    text-align: left;
  }
}

.global_menu a { /* 各項目のスタイル */
  display: block;
  padding: 0;
  cursor: pointer;
  -webkit-transition: all 0.35s ease-in;
  transition: all 0.35s ease-in;
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  .global_menu a {
    padding: 10px 30px;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .global_menu a {
    padding: 10px 30px;
  }
}
@media screen and (max-width: 375px) {
  .global_menu a {
    padding: 10px 30px;
  }
}

.global_menu a:hover { /* 各項目のスタイル */
  display: block;
  padding: 0;
}

@media screen and (min-width: 431px) and (max-width: 695px) {
  .menu {
    font-size: 18px;
    display: block;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .menu {
    font-size: 18px;
    display: block;
  }
}
@media screen and (max-width: 375px) {
  .menu {
    font-size: 18px;
    display: block;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  .menu a {
    font-size: 9vw;
    margin-bottom: 20vw;
    text-decoration: underline;
    color: #fff;
    font-weight: bold;
    font-family: "Inconsolata", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "ms pgothic", "osaka", sans-serif;
    font-style: italic;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .menu a {
    font-size: 9vw;
    margin-bottom: 20vw;
    text-decoration: underline;
    color: #fff;
    font-weight: bold;
    font-family: "Inconsolata", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "ms pgothic", "osaka", sans-serif;
    font-style: italic;
  }
}
@media screen and (max-width: 375px) {
  .menu a {
    font-size: 9vw;
    margin-bottom: 20vw;
    text-decoration: underline;
    color: #fff;
    font-weight: bold;
    font-family: "Inconsolata", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "ms pgothic", "osaka", sans-serif;
    font-style: italic;
  }
}
.menu a:hover {
  opacity: 0.85;
}

.child_menu > li > a { /* 子項目のスタイル */
  font-size: 0.8em;
}

.child_menu { /* 下層メニューのスタイル */
  width: 100%;
  position: absolute;
  top: 0; /* topを0に */
  left: 0;
  padding: 0px;
  color: #333; /* 文字色 */
  opacity: 0;
  -webkit-transition: 1.5s top, 1.5s opacity;
  transition: 1.5s top, 1.5s opacity; /* アニメーション設定 */
}
.child_menu li {
  display: inline-block;
  width: 30%;
  vertical-align: top;
}
.child_menu li a {
  cursor: pointer;
  -webkit-transition: all 0.35s ease-in;
  transition: all 0.35s ease-in;
}
.child_menu li a:hover {
  opacity: 0.5;
}
.child_menu li:nth-child(3) {
  visibility: hidden;
}
.child_menu img {
  width: 100%;
  height: 100%;
}
.child_menu p {
  text-align: center;
  font-size: 1.35vw;
  font-style: italic;
  margin: 8px 0 0 0;
  text-shadow: 2px 1px 4px rgba(0, 0, 0, 0.9);
}

/*  ============================================   */
/* スマホ閲覧時のハンバーガーメニュー */
#hanburger {
  display: none; /* チェックボックスを非表示 */
}

.hamburger-menu {
  display: none;
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  .hamburger-menu {
    display: block;
    position: relative;
    z-index: 999999;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .hamburger-menu {
    display: block;
    position: relative;
    z-index: 999999;
  }
}
@media screen and (max-width: 375px) {
  .hamburger-menu {
    display: block;
    position: relative;
    z-index: 999999;
  }
}

.menu_button { /* ボタンのスタイル */
  width: 50px; /* 幅 */
  height: 50px; /* 高さ */
  position: fixed;
  top: 20px;
  right: 20px;
  background: #b5325d; /* 背景色 */
  z-index: 9999;
}

.menu_button::before { /* アイコンのスタイル */
  font-family: "Font Awesome 5 Free";
  content: "\f0c9"; /* アイコン「３本線」 */
  font-weight: 900;
  position: absolute;
  color: #fff;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

#hanburger:checked + .menu_button::before { /* アイコンのスタイル（チェック済み） */
  content: "\f00d"; /* アイコン「×印」 */
}

.global_menu { /* メニュー全体のスタイル */
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0;
  color: #333; /* 文字色 */
  overflow-y: scroll;
  text-align: center;
  z-index: 99999;
  background-color: rgba(0, 0, 0, 0.9);
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  .global_menu {
    padding: 0;
    display: none;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .global_menu {
    padding: 0;
    display: none;
  }
}
@media screen and (max-width: 375px) {
  .global_menu {
    padding: 0;
    display: none;
  }
}

#hanburger:checked ~ .global_menu { /* メニュー全体のスタイル（チェック済） */
  visibility: visible; /* メニューを表示 */
}

.global_menu a { /* 各項目のスタイル */
  display: block;
  width: 100%;
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  .global_menu a {
    padding: 0;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .global_menu a {
    padding: 0;
  }
}
@media screen and (max-width: 375px) {
  .global_menu a {
    padding: 0;
  }
}

.menu:not(:last-child) {
  margin-bottom: 20px;
}

.menu > a { /* 親項目のスタイル */
  font-weight: bold;
  padding: 0;
  color: #fff;
}

.child_menu > li > a {
  padding: 0;
  font-size: 0.8em;
}

.under_top {
  background-color: #000;
  height: 84px;
  width: 85%;
  margin: 0 auto;
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  .under_top {
    height: 0;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .under_top {
    height: 0;
  }
}
@media screen and (max-width: 375px) {
  .under_top {
    height: 0;
  }
}

@media screen and (min-width: 481px) {
  /* PC閲覧時のメガメニュー */
  #tick_news {
    position: sticky;
    z-index: 999999;
  }
  #tick_news .nav_wrap {
    width: 1200px;
    margin: 0 auto;
  }
  #tick_news .menu_button {
    display: none; /* ハンバーガーメニューのボタンを非表示 */
  }
  #tick_news .global_menu { /* メニュー全体のスタイル */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    padding: 0;
    color: #fff;
    visibility: visible;
    overflow-y: visible;
    width: 85%;
    margin: 0 auto;
    height: 90px;
    top: 105px;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background-color: rgba(0, 0, 0, 0.35);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  #tick_news .nav_Logo {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 25%;
    margin: 19px 4% 0 2%;
    text-align: left;
    -webkit-filter: drop-shadow(2px 1px 1px rgba(0, 0, 0, 0.5));
            filter: drop-shadow(2px 1px 1px rgba(0, 0, 0, 0.5));
  }
  #tick_news .nav_Logo img {
    width: 200px;
    -webkit-filter: drop-shadow(1px 1px 3px black);
            filter: drop-shadow(1px 1px 3px black);
    height: 53px;
  }
  #tick_news .menu, #tick_news .child_menu > li {
    display: inline-block;
    width: 29%;
    margin: 0 3% 0 0;
  }
  #tick_news .menu:not(:last-child) {
    margin-bottom: 0;
  }
  #tick_news .menu > a { /* 親項目のスタイル */
    font-weight: normal;
    padding: 0;
    color: #fff;
    margin: 0;
    text-shadow: 2px 1px 4px rgba(0, 0, 0, 0.9);
  }
  #tick_news .child_menu { /* 下層メニューのスタイル */
    width: 100%;
    position: absolute;
    top: 85px;
    left: 0;
    padding: 0;
    color: #333;
    display: block;
    opacity: 1;
  }
  #tick_news .child_menu > li > a {
    padding: 0;
  }
} /* end //min-width: 481px




/* --- */
@media screen and (min-width: 481px) {
  /* PC閲覧時のメガメニュー */
  .nav_wrap {
    width: 1200px;
    margin: 0 auto;
  }
  .menu_button {
    display: none; /* ハンバーガーメニューのボタンを非表示 */
  }
  .global_menu { /* メニュー全体のスタイル */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    padding: 0;
    color: #fff;
    visibility: visible;
    overflow-y: visible;
    width: 85%;
    margin: 0 auto;
    height: 90px;
    top: 39px;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background-color: rgba(0, 0, 0, 0.35);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .nav_Logo {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 25%;
    margin: 19px 4% 0 2%;
    text-align: left;
    -webkit-filter: drop-shadow(2px 1px 1px rgba(0, 0, 0, 0.5));
            filter: drop-shadow(2px 1px 1px rgba(0, 0, 0, 0.5));
  }
  .nav_Logo img {
    width: 200px;
    -webkit-filter: drop-shadow(1px 1px 3px black);
            filter: drop-shadow(1px 1px 3px black);
    height: 53px;
  }
  .menu, .child_menu > li {
    display: inline-block;
    width: 29%;
    margin: 0 3% 0 0;
  }
  .menu:not(:last-child) {
    margin-bottom: 0;
  }
  .menu > a { /* 親項目のスタイル */
    font-weight: normal;
    padding: 0;
    color: #fff;
    margin: 0;
    text-shadow: 2px 1px 4px rgba(0, 0, 0, 0.9);
  }
  .child_menu { /* 下層メニューのスタイル */
    width: 100%;
    position: absolute;
    top: 85px;
    left: 0;
    padding: 0;
    color: #333;
    display: block;
    opacity: 1;
  }
  .child_menu > li > a {
    padding: 0;
  }
} /* end //min-width: 481px



/* --- */
.menu_body {
  position: relative;
  width: 70%;
  padding: 0;
  color: #fff;
  margin: 0 auto;
  display: inline-block;
  vertical-align: top;
  font-size: 18px;
  margin: 33px 0 0 0;
  text-align: right;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

li {
  list-style: none;
}

.accordionBtn {
  position: relative;
  border: none;
  width: 100%;
  background-color: inherit;
  color: #fff;
  cursor: pointer;
  text-align: left;
  padding: 15px 0 15px 20px;
  font-size: 1em;
  font-weight: bold;
  text-shadow: 2px 1px 4px rgba(0, 0, 0, 0.9);
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .accordionBtn {
    padding: 0;
    color: #fff;
    font-weight: bold;
    font-family: "Inconsolata", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "ms pgothic", "osaka", sans-serif;
    font-style: italic;
    font-size: 9vw;
    margin: 10vw 0;
    text-decoration: underline;
  }
}
@media screen and (max-width: 375px) {
  .accordionBtn {
    padding: 0;
    color: #fff;
    font-weight: bold;
    font-family: "Inconsolata", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "ms pgothic", "osaka", sans-serif;
    font-style: italic;
    font-size: 9vw;
    margin: 10vw 0;
    text-decoration: underline;
  }
}

li.active button::before {
  -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

li.active button::after {
  -webkit-transform: translateY(-50%) rotate(135deg);
          transform: translateY(-50%) rotate(135deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

ul.active {
  overflow-y: auto;
}

/*  ============================================   */
/*  ============================================   */
.br-pc {
  display: block;
  margin: 0px;
  line-height: 0.1;
  padding: 0;
  height: 0;
}
@media screen and (max-width: 375px) {
  .br-pc {
    display: none;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .br-pc {
    display: none;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  .br-pc {
    display: none;
  }
}
@media screen and (min-width: 696px) and (max-width: 960px) {
  .br-pc {
    display: none;
  }
}

.br-sp {
  display: none;
}
@media screen and (max-width: 375px) {
  .br-sp {
    display: block;
    margin: 0px;
    line-height: 0.1;
    padding: 0;
    height: 0;
  }
}
@media screen and (min-width: 376px) and (max-width: 430px) {
  .br-sp {
    display: block;
    margin: 0px;
    line-height: 0.1;
    padding: 0;
    height: 0;
  }
}
@media screen and (min-width: 431px) and (max-width: 695px) {
  .br-sp {
    display: block;
    margin: 0px;
    line-height: 0.1;
    padding: 0;
    height: 0;
  }
}
@media screen and (min-width: 696px) and (max-width: 960px) {
  .br-sp {
    display: block;
    margin: 0px;
    line-height: 0.1;
    padding: 0;
    height: 0;
  }
}

.page_top {
  background-color: #333;
  color: #fff;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  position: fixed;
  right: -50px;
  bottom: 15%;
  height: 27px;
  width: 134px;
  text-align: center;
  vertical-align: middle;
  line-height: 1.75;
  z-index: 999999;
  letter-spacing: 1px;
  font-size: 15px;
}
.page_top a {
  color: #fff;
}

.pankuzu {
  background-color: #f7f7f7;
  padding: 11px 0;
  border-bottom: 1px solid #e0e0e0;
  font-size: 13px;
}
.pankuzu .inner {
  max-width: 1500px;
  margin: 0 auto;
}
.pankuzu .inner .breadcrumbs {
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  list-style-type: none;
}
.pankuzu .inner .breadcrumbs .breadcrumb-item {
  padding: 0 0.5rem;
}
.pankuzu .inner .breadcrumbs .breadcrumb-item a:link, .pankuzu .inner .breadcrumbs .breadcrumb-item a:visited, .pankuzu .inner .breadcrumbs .breadcrumb-item a:hover, .pankuzu .inner .breadcrumbs .breadcrumb-item a:active {
  color: #E00035;
}
/*# sourceMappingURL=base.css.map */