@charset "UTF-8";
.mainColor {
  color: #333;
}

.subColor01 {
  color: #c51315;
}

.shuiro {
  color: #CE3B27;
}

.white {
  color: #ffffff;
}

.brown {
  color: #6A3E0B;
}

.bronze {
  color: #7B6119;
}

.blue {
  color: #004597;
}

.green {
  color: #408827;
}

.gold {
  color: #BEB887;
}

.beige {
  color: #F8EFD8;
}

.headercl {
  color: #0F1A3C;
}

.footercl {
  color: #0F1A3C;
}

.footertxt {
  color: #04C8FD;
}

/*-youtube-----------------------------------------*/
.youtube {
  width: 100%;
  aspect-ratio: 16/9;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}

/*----フローチャート下矢印の画像をafterでつける----*/
li {
  list-style-type: none;
}

/*- 文字サイズ自動変更--------------------*/
/*- 文字サイズ記述見本----------*/
/*
p {
  @include module.fs(36,36,24,20,18,18);
}
p {
  @include fs2(20,10);
    @include module.fs2(36, 20);
}
*/
/*- 表示非表示-------------------*/
/* visible-xx-ijo */
@media (max-width: 575px) {
  .visible-sm-ijo {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .visible-md-ijo {
    display: none !important;
  }
}
@media (max-width: 991px) {
  .visible-lg-ijo {
    display: none !important;
  }
}
@media (max-width: 1199px) {
  .visible-xl-ijo {
    display: none !important;
  }
}
/* visible-xx-ika */
@media (min-width: 576px) {
  .visible-xs-ika {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .visible-sm-ika {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .visible-md-ika {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-ika {
    display: none !important;
  }
}
@media (min-width: 1400px) {
  .visible-xl-ika {
    display: none !important;
  }
}
/* hidden-xx-ijo */
@media (min-width: 576px) {
  .hidden-sm-ijo {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .hidden-md-ijo {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .hidden-lg-ijo {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-xl-ijo {
    display: none !important;
  }
}
/* hidden-xx-ika */
@media (max-width: 575px) {
  .hidden-xs-ika {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .hidden-sm-ika {
    display: none !important;
  }
}
@media (max-width: 991px) {
  .hidden-md-ika {
    display: none !important;
  }
}
@media (max-width: 1199px) {
  .hidden-lg-ika {
    display: none !important;
  }
}
@media (max-width: 1399px) {
  .hidden-xl-ika {
    display: none !important;
  }
}
/*- 基本パーツ-------------------*/
.align-center {
  text-align: center;
}

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

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

.align-center-pc {
  text-align: center;
}

@media (max-width: 767px) {
  .align-center-pc {
    text-align: left;
  }
}
.bold {
  font-weight: bold;
}

small {
  font-size: smaller !important;
}

.lh-2 {
  line-height: 2;
}
@media screen and (max-width: 991px) {
  .lh-2 {
    line-height: 1.8;
  }
}
@media screen and (max-width: 767px) {
  .lh-2 {
    line-height: 1.6;
  }
}

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

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

.cf::before, .cf::after {
  display: table;
  clear: both;
  content: "";
}

.alpha {
  transition: opacity 250ms;
}
.alpha:hover {
  opacity: 0.75;
}

.indent1 li,
p.indent1 {
  padding-left: 1em;
  text-indent: -1em;
}

.indent2 li,
p.indent2 {
  padding-left: 2em;
  text-indent: -2em;
}

.indent3 li,
p.indent3 {
  padding-left: 3em;
  text-indent: -3em;
}

/*-hover------------------*/
.hover a {
  -webkit-transition: 350ms;
  transition: 350ms;
}

.hover a:hover {
  opacity: 0.7;
}

a.hover {
  -webkit-transition: 350ms;
  transition: 350ms;
}

a.hover:hover {
  opacity: 0.7;
}

button.hover {
  -webkit-transition: 350ms;
  transition: 350ms;
}

button.hover:hover {
  opacity: 0.7;
}

input.hover {
  -webkit-transition: 350ms;
  transition: 350ms;
}

input.hover:hover {
  opacity: 0.7;
}

a.underline {
  text-decoration: underline;
}

a.underline:hover {
  text-decoration: none;
}

.box-shadow {
  transition: all 0.4s ease-in-out;
}

.box-shadow:hover {
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.3);
}

.mojikan {
  font-feature-settings: "palt";
  letter-spacing: 3px;
}

/*- Animate.css wow.js 用--------------------*/
.wow-fadeout {
  animation-fill-mode: forwards;
}

@keyframes fadeInUpMin {
  from {
    opacity: 0;
    transform: translate3d(0, 10%, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInUpMin {
  animation-name: fadeInUpMin;
}

@keyframes fadeInLeftMin {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInLeftMin {
  animation-name: fadeInLeftMin;
}

@keyframes fadeInRightMin {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRightMin {
  animation-name: fadeInRightMin;
}

/*- カラム落ちメモ3----grid利用--------------------*/
/*- parts-width-----------------*/
.pc-w95 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w95 {
    width: 95%;
  }
}

.pc-w90 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w90 {
    width: 90%;
  }
}

.pc-w85 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w85 {
    width: 85%;
  }
}

.pc-w80 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w80 {
    width: 80%;
  }
}

.pc-w70 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w70 {
    width: 70%;
  }
}

.pc-w60 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w60 {
    width: 60%;
  }
}

/*- parts-grid-----------------*/
.grid-pcsp2 {
  width: 100%;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2rem;
  row-gap: 2rem;
}
@media screen and (min-width: 768px) {
  .grid-pcsp2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1rem;
    row-gap: 1rem;
  }
}

html {
  font-size: 62.5%;
  overflow-x: hidden;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  scroll-behavior: smooth;
}
html body {
  background-image: url("../../images/common/bg-okome.png");
  background-repeat: repeat;
  padding-top: 89px;
  font-family: "Noto Sans JP", sans-serif;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  color: #333;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media only screen and (min-width: 1200px) {
  html body {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body {
    font-size: calc(1.56rem + (1vw - 0.992rem) * (0.193236715));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body {
    font-size: calc(1.52rem + (1vw - 0.768rem) * (0.1793721973));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body {
    font-size: calc(1.48rem + (1vw - 0.576rem) * (0.2094240838));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body {
    font-size: calc(1.44rem + (1vw - 0.421rem) * (0.2597402597));
  }
}
@media only screen and (max-width: 420px) {
  html body {
    font-size: calc(1.4rem + (1vw - 0.32rem) * (0.4));
  }
}
@media screen and (max-width: 991px) {
  html body {
    padding-top: 0px;
  }
}
@media screen and (max-width: 767px) {
  html body {
    line-height: 1.6;
  }
}
html body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.8s ease;
}
html body a {
  transition: background-color 0.3s ease, color 0.3s ease;
}
html body a:hover {
  color: #04C8FD;
}
html body .en {
  font-family: "Marcellus", serif;
  letter-spacing: 0.15em;
}
html body main {
  background-image: url("../../images/common/bg.png");
}
html body .contents-breadcrumb {
  background-color: #fff;
}
html body .contents-breadcrumb .breadcrumb {
  max-width: 1200px;
  text-align: left;
  margin: 0 auto;
}
@media only screen and (min-width: 1200px) {
  html body .contents-breadcrumb .breadcrumb a {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body .contents-breadcrumb .breadcrumb a {
    font-size: calc(1.36rem + (1vw - 0.992rem) * (0.193236715));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body .contents-breadcrumb .breadcrumb a {
    font-size: calc(1.32rem + (1vw - 0.768rem) * (0.1793721973));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body .contents-breadcrumb .breadcrumb a {
    font-size: calc(1.28rem + (1vw - 0.576rem) * (0.2094240838));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body .contents-breadcrumb .breadcrumb a {
    font-size: calc(1.24rem + (1vw - 0.421rem) * (0.2597402597));
  }
}
@media only screen and (max-width: 420px) {
  html body .contents-breadcrumb .breadcrumb a {
    font-size: calc(1.2rem + (1vw - 0.32rem) * (0.4));
  }
}
@media only screen and (min-width: 1200px) {
  html body .contents-breadcrumb .breadcrumb span {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body .contents-breadcrumb .breadcrumb span {
    font-size: calc(1.36rem + (1vw - 0.992rem) * (0.193236715));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body .contents-breadcrumb .breadcrumb span {
    font-size: calc(1.32rem + (1vw - 0.768rem) * (0.1793721973));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body .contents-breadcrumb .breadcrumb span {
    font-size: calc(1.28rem + (1vw - 0.576rem) * (0.2094240838));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body .contents-breadcrumb .breadcrumb span {
    font-size: calc(1.24rem + (1vw - 0.421rem) * (0.2597402597));
  }
}
@media only screen and (max-width: 420px) {
  html body .contents-breadcrumb .breadcrumb span {
    font-size: calc(1.2rem + (1vw - 0.32rem) * (0.4));
  }
}
html body .contents-breadcrumb .breadcrumb span.bread-list {
  padding: 0 0.625rem;
}
html body .contents-breadcrumb .breadcrumb span.bread-nolink {
  padding: 0 0.625rem;
}
html body .contents-breadcrumb .breadcrumb span.current-item {
  padding: 0 0.625rem;
}
html body .pagetop {
  position: fixed;
  z-index: 11;
  right: 20px;
  bottom: 60px;
  display: none;
  width: 80px;
  height: 80px;
  padding: 0;
  border: none;
  border-radius: 0;
  padding-top: 15px;
  background-color: #505050;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  html body .pagetop {
    width: 60px;
    height: 60px;
    right: 15px;
    bottom: 60px;
    padding-top: 0;
  }
}
@media screen and (max-width: 575px) {
  html body .pagetop {
    padding-top: 0px;
  }
}
html body .pagetop::after {
  content: "";
}
@media screen and (max-width: 991px) {
  html body .pagetop::after {
    top: 10px;
    left: calc(50% - 6px);
    border-width: 0 6px 10px 6px;
  }
}
html body .pagetop span {
  color: #ffffff;
  font-size: 1.5rem;
  display: inline-block;
}
@media screen and (max-width: 991px) {
  html body .pagetop span {
    font-size: 1.3rem;
  }
}
html body .wrapper {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media screen and (max-width: 1199px) {
  html body .wrapper {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  html body .wrapper {
    padding: 0 1rem;
  }
}
html body .wrapper .breadcrumb {
  padding: 20px 0;
}
html body .contents {
  color: #333;
  padding: 4rem 0;
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  background: #fff;
}
@media screen and (max-width: 1199px) {
  html body .contents {
    width: 90%;
  }
}
@media screen and (max-width: 991px) {
  html body .contents {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  html body .contents {
    padding: 1.75rem 0;
  }
}

/*header ------------------------------------------*/
header {
  position: fixed;
  top: 0;
  z-index: 10;
  width: 100%;
  background-color: #0F1A3C;
  height: 89px;
}
@media screen and (max-width: 991px) {
  header {
    height: 50px;
  }
}
@media screen and (max-width: 767px) {
  header {
    background-color: transparent;
    height: 0px !important;
  }
}
header .header-inner {
  position: relative;
  margin: 0px auto;
}
@media screen and (max-width: 991px) {
  header .header-inner {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  header .header-inner {
    padding: 0;
    position: absolute;
    top: 0;
    right: 0;
  }
}
header .header-inner .header-top {
  display: flex;
  justify-content: space-between;
}
header .header-inner .header-top .logo-wrapper a {
  display: inline-block;
}
header .header-inner .header-top .logo-wrapper img {
  max-width: 230px;
  height: auto;
}
@media screen and (max-width: 991px) {
  header .header-inner .header-top .logo-wrapper img {
    max-width: 200px;
  }
}
@media screen and (max-width: 575px) {
  header .header-inner .header-top .logo-wrapper img {
    max-width: 190px;
  }
}
@media screen and (max-width: 991px) {
  header .header-inner .header-top .logo-wrapper span {
    font-size: 1.3rem;
  }
}
header .header-inner .header-top .header-left > div {
  display: inline-block;
  vertical-align: middle;
}
header .header-inner .header-top .header-left .header-btn01 a {
  display: inline-block;
  color: #ffffff;
  background-color: #c51315;
  border-radius: 50px;
  line-height: 40px;
  padding: 0px 20px;
}
@media screen and (max-width: 991px) {
  header .header-inner .header-top .header-left .header-btn01 a {
    line-height: 34px;
    padding: 0px 10px;
    font-size: 1.3rem;
  }
}
header .header-inner .header-top .header-left .header-search img {
  height: 40px;
  width: auto;
}
@media screen and (max-width: 991px) {
  header .header-inner .header-top .header-left .header-search img {
    height: 34px;
  }
}
@media screen and (max-width: 767px) {
  header .header-inner .pc-nav {
    display: none;
  }
}
header .header-inner .pc-nav .parent-nav {
  display: flex;
  justify-content: center;
  height: 89px;
  align-items: center;
}
@media screen and (max-width: 991px) {
  header .header-inner .pc-nav .parent-nav {
    height: 50px;
  }
}
header .header-inner .pc-nav .parent-nav > li {
  padding: 0px 15px 3px;
}
@media screen and (max-width: 1199px) {
  header .header-inner .pc-nav .parent-nav > li {
    padding: 0px 10px 3px;
  }
}
header .header-inner .pc-nav .parent-nav > li > a {
  position: relative;
  padding: 1px 5px 5px;
  color: #ffffff;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media only screen and (min-width: 1200px) {
  header .header-inner .pc-nav .parent-nav > li > a {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  header .header-inner .pc-nav .parent-nav > li > a {
    font-size: calc(1.46rem + (1vw - 0.992rem) * (0.193236715));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  header .header-inner .pc-nav .parent-nav > li > a {
    font-size: calc(1.42rem + (1vw - 0.768rem) * (0.1793721973));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  header .header-inner .pc-nav .parent-nav > li > a {
    font-size: calc(1.38rem + (1vw - 0.576rem) * (0.2094240838));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  header .header-inner .pc-nav .parent-nav > li > a {
    font-size: calc(1.34rem + (1vw - 0.421rem) * (0.2597402597));
  }
}
@media only screen and (max-width: 420px) {
  header .header-inner .pc-nav .parent-nav > li > a {
    font-size: calc(1.3rem + (1vw - 0.32rem) * (0.4));
  }
}
header .header-inner .pc-nav .parent-nav > li > a:hover {
  color: #04C8FD;
}
header .header-inner .pc-nav .parent-nav > li > a:hover::after {
  transform: scale(1, 1);
  /*ホバー後、x軸方向に1（相対値）伸長*/
}
header .header-inner .menu-button-wrapper {
  margin-left: auto;
  z-index: 11;
  display: none;
  position: absolute;
  right: 0;
  top: 0;
  /* #menu-open */
}
@media screen and (max-width: 767px) {
  header .header-inner .menu-button-wrapper {
    display: block;
  }
}
header .header-inner .menu-button-wrapper #menuButton {
  color: #ffffff;
  font-size: 1.5rem;
  text-align: center;
  line-height: 1;
  display: inline-block;
  padding: 12px 12px 20px;
  width: 50px;
  height: 50px;
  background-color: #333;
  z-index: 1;
  position: relative;
  transition: 0.4s;
  cursor: pointer;
  border-radius: 14px 0 0 14px;
}
@media screen and (max-width: 767px) {
  header .header-inner .menu-button-wrapper #menuButton {
    background: #3784B4;
  }
}
header .header-inner .menu-button-wrapper #menuButton span {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 2px;
  background-color: #ffffff;
  transition: 0.4s;
  top: -5px;
}
header .header-inner .menu-button-wrapper #menuButton span::before {
  content: "";
  position: absolute;
  top: -8px;
  right: 0;
  width: 100%;
  background-color: #ffffff;
  opacity: 1;
  transition: 0.4s;
}
header .header-inner .menu-button-wrapper #menuButton span::after {
  content: "";
  position: absolute;
  bottom: -8px;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: #ffffff;
  transition: 0.4s;
}
header .header-inner .menu-button-wrapper.menu-open #menuButton {
  background-color: #717A90;
}
header .header-inner .menu-button-wrapper.menu-open #menuButton span {
  animation: none;
  width: 18px;
  transition: 0.4s;
  transform: translate(0, 2px) rotate(45deg);
}
header .header-inner .menu-button-wrapper.menu-open #menuButton span::before {
  transition: 0.4s;
  opacity: 0;
}
header .header-inner .menu-button-wrapper.menu-open #menuButton span::after {
  animation: none;
  width: 18px;
  transition: 0.4s;
  transform: translate(0px, -8px) rotate(90deg);
}
header .header-inner .sp-nav {
  position: fixed;
  right: 0;
  top: 0;
  height: 100%;
  width: 0;
  transition: 0.4s ease-in;
  z-index: 10;
  opacity: 0;
}
header .header-inner .sp-nav .sp-nav-inner {
  height: 100%;
  background-color: #717A90;
  padding: 60px 0 0;
}
@media screen and (max-width: 767px) {
  header .header-inner .sp-nav .sp-nav-inner {
    padding: 0;
  }
}
header .header-inner .sp-nav h1 {
  text-align: center;
  font-weight: bold;
  color: #fff;
}
@media only screen and (min-width: 1200px) {
  header .header-inner .sp-nav h1 {
    font-size: 4rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  header .header-inner .sp-nav h1 {
    font-size: calc(3.84rem + (1vw - 0.992rem) * (0.7729468599));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  header .header-inner .sp-nav h1 {
    font-size: calc(3.68rem + (1vw - 0.768rem) * (0.7174887892));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  header .header-inner .sp-nav h1 {
    font-size: calc(3.52rem + (1vw - 0.576rem) * (0.8376963351));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  header .header-inner .sp-nav h1 {
    font-size: calc(3.36rem + (1vw - 0.421rem) * (1.038961039));
  }
}
@media only screen and (max-width: 420px) {
  header .header-inner .sp-nav h1 {
    font-size: calc(3.2rem + (1vw - 0.32rem) * (1.6));
  }
}
header .header-inner .sp-nav p {
  text-align: center;
  font-weight: bold;
  color: #fff;
}
@media only screen and (min-width: 1200px) {
  header .header-inner .sp-nav p {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  header .header-inner .sp-nav p {
    font-size: calc(2.4rem + (1vw - 0.992rem) * (0));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  header .header-inner .sp-nav p {
    font-size: calc(2.4rem + (1vw - 0.768rem) * (0));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  header .header-inner .sp-nav p {
    font-size: calc(2.4rem + (1vw - 0.576rem) * (0));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  header .header-inner .sp-nav p {
    font-size: calc(2.4rem + (1vw - 0.421rem) * (0));
  }
}
@media only screen and (max-width: 420px) {
  header .header-inner .sp-nav p {
    font-size: calc(2.4rem + (1vw - 0.32rem) * (0));
  }
}
header .header-inner .sp-nav nav {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  header .header-inner .sp-nav nav {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  header .header-inner .sp-nav nav ul {
    padding-top: 30px;
    width: 90%;
    text-align: center;
  }
}
header .header-inner .sp-nav nav ul li {
  padding: 0 1rem;
  opacity: 0;
  transition: 0.6s;
  border-top: 1px solid #fff;
}
header .header-inner .sp-nav nav ul li:last-child {
  border-bottom: 1px solid #fff;
}
header .header-inner .sp-nav nav ul li a {
  color: #fff;
  position: relative;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  display: block;
  padding: 1rem 0 1rem 20px;
  font-size: 1.5rem;
  background-image: url("../../images/common/icon-arrow-right.svg");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto 12px;
  padding: 14px 0;
}
header .header-inner .sp-nav nav ul li a span {
  font-size: 1.3rem;
  font-weight: normal;
  display: block;
  margin-top: 5px;
}
header .header-inner .sp-nav .sp-nav-more {
  max-width: 220px;
  margin: 0 auto;
  margin-top: 2rem;
}
header .header-inner .sp-nav .sp-nav-more .header-btn01 a {
  display: block;
  color: #ffffff;
  background-color: #c51315;
  border-radius: 50px;
  line-height: 36px;
  padding: 0px 20px;
  text-align: center;
}
header .header-inner .sp-nav .sp-nav-more .header-search {
  margin-top: 1rem;
}
header .header-inner .sp-nav .sp-nav-more .header-search img {
  width: 100%;
  height: auto;
}
header .header-inner .sp-nav.menu-open {
  opacity: 1;
  width: 100%;
  height: 100%;
  transition: 0.4s ease-in;
}
header .header-inner .sp-nav.menu-open nav ul li {
  opacity: 1;
  transition: 0.6s;
}

/*bghover-------------------------------------------*/
.bghover-link {
  display: block;
}

.bghover-warp {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  display: inline-block;
  cursor: pointer;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.bghover {
  width: 100%;
  padding-top: 55%;
  margin: 0 auto;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all 0.8s;
}

a.bghover-link:hover .bghover-warp .bghover,
.bghover-warp:focus .bghover {
  -ms-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
}

a.bghover-link:hover .bghover-warp .bghover:before,
.bghover-warp:focus .bghover:before {
  display: block;
}

.bghover:before {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  opacity: 0;
  -webkit-transition: 0.35s ease;
  transition: 0.5s ease;
}

a.bghover-link:hover .bghover-warp .bghover:before {
  opacity: 0.3;
}

/*footer------------------------------------------*/
footer {
  background: #0F1A3C;
  color: #ffffff;
}
footer .footer_info {
  padding: 20px 0;
}
footer .footer_info dl {
  display: flex;
  justify-content: space-between;
  width: 700px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  footer .footer_info dl {
    width: 90%;
    flex-direction: column;
  }
}
footer .footer_info dl dt {
  width: 17%;
  color: #04C8FD;
}
@media screen and (max-width: 767px) {
  footer .footer_info dl dt {
    width: 100%;
  }
}
footer .footer_info dl dd {
  width: 83%;
}
@media screen and (max-width: 767px) {
  footer .footer_info dl dd {
    width: 100%;
  }
}
footer .copyright {
  background: #ffffff;
  color: #0F1A3C;
  text-align: center;
  padding: 1rem;
}
@media only screen and (min-width: 1200px) {
  footer .copyright {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  footer .copyright {
    font-size: calc(1.46rem + (1vw - 0.992rem) * (0.193236715));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  footer .copyright {
    font-size: calc(1.42rem + (1vw - 0.768rem) * (0.1793721973));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  footer .copyright {
    font-size: calc(1.38rem + (1vw - 0.576rem) * (0.2094240838));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  footer .copyright {
    font-size: calc(1.34rem + (1vw - 0.421rem) * (0.2597402597));
  }
}
@media only screen and (max-width: 420px) {
  footer .copyright {
    font-size: calc(1.3rem + (1vw - 0.32rem) * (0.4));
  }
}

/*subvisual------------------------------------------*/
.subvisual {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
.subvisual .sv-bg {
  padding-top: 31%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .subvisual .sv-bg {
    padding-top: 51.3%;
  }
}
.subvisual .sv-title-type01 {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  line-height: 1.5;
}
.subvisual .sv-title-type01 .ja {
  font-weight: 700;
}
@media only screen and (min-width: 1200px) {
  .subvisual .sv-title-type01 .ja {
    font-size: 8rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .subvisual .sv-title-type01 .ja {
    font-size: calc(7.28rem + (1vw - 0.992rem) * (3.4782608696));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .subvisual .sv-title-type01 .ja {
    font-size: calc(6.56rem + (1vw - 0.768rem) * (3.2286995516));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .subvisual .sv-title-type01 .ja {
    font-size: calc(5.84rem + (1vw - 0.576rem) * (3.7696335079));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  .subvisual .sv-title-type01 .ja {
    font-size: calc(5.12rem + (1vw - 0.421rem) * (4.6753246753));
  }
}
@media only screen and (max-width: 420px) {
  .subvisual .sv-title-type01 .ja {
    font-size: calc(4.4rem + (1vw - 0.32rem) * (7.2));
  }
}
.subvisual .sv-title-type01 .en {
  font-weight: 700;
}
@media only screen and (min-width: 1200px) {
  .subvisual .sv-title-type01 .en {
    font-size: 2.6rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .subvisual .sv-title-type01 .en {
    font-size: calc(2.48rem + (1vw - 0.992rem) * (0.5797101449));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .subvisual .sv-title-type01 .en {
    font-size: calc(2.36rem + (1vw - 0.768rem) * (0.5381165919));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .subvisual .sv-title-type01 .en {
    font-size: calc(2.24rem + (1vw - 0.576rem) * (0.6282722513));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  .subvisual .sv-title-type01 .en {
    font-size: calc(2.12rem + (1vw - 0.421rem) * (0.7792207792));
  }
}
@media only screen and (max-width: 420px) {
  .subvisual .sv-title-type01 .en {
    font-size: calc(2rem + (1vw - 0.32rem) * (1.2));
  }
}
.subvisual .sv-title-type02 {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  line-height: 1.5;
  width: 100%;
}
.subvisual .sv-title-type02 .ja {
  font-weight: 700;
  text-shadow: 0px 1px 12px #fff;
}
@media only screen and (min-width: 1200px) {
  .subvisual .sv-title-type02 .ja {
    font-size: 5.2rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .subvisual .sv-title-type02 .ja {
    font-size: calc(4.64rem + (1vw - 0.992rem) * (2.7053140097));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .subvisual .sv-title-type02 .ja {
    font-size: calc(4.08rem + (1vw - 0.768rem) * (2.5112107623));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .subvisual .sv-title-type02 .ja {
    font-size: calc(3.52rem + (1vw - 0.576rem) * (2.9319371728));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  .subvisual .sv-title-type02 .ja {
    font-size: calc(2.96rem + (1vw - 0.421rem) * (3.6363636364));
  }
}
@media only screen and (max-width: 420px) {
  .subvisual .sv-title-type02 .ja {
    font-size: calc(2.4rem + (1vw - 0.32rem) * (5.6));
  }
}
.subvisual .sv-title-type02 .en {
  text-shadow: 0px 1px 12px #fff;
}
@media only screen and (min-width: 1200px) {
  .subvisual .sv-title-type02 .en {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .subvisual .sv-title-type02 .en {
    font-size: calc(2.24rem + (1vw - 0.992rem) * (0.7729468599));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .subvisual .sv-title-type02 .en {
    font-size: calc(2.08rem + (1vw - 0.768rem) * (0.7174887892));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .subvisual .sv-title-type02 .en {
    font-size: calc(1.92rem + (1vw - 0.576rem) * (0.8376963351));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  .subvisual .sv-title-type02 .en {
    font-size: calc(1.76rem + (1vw - 0.421rem) * (1.038961039));
  }
}
@media only screen and (max-width: 420px) {
  .subvisual .sv-title-type02 .en {
    font-size: calc(1.6rem + (1vw - 0.32rem) * (1.6));
  }
}

.subvisual-simple {
  background-color: #fff;
  padding: 2rem 0;
  margin: 2rem auto 2rem;
  line-height: 1.5;
}
.subvisual-simple .ja {
  font-weight: 700;
}
@media only screen and (min-width: 1200px) {
  .subvisual-simple .ja {
    font-size: 3rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .subvisual-simple .ja {
    font-size: calc(2.84rem + (1vw - 0.992rem) * (0.7729468599));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .subvisual-simple .ja {
    font-size: calc(2.68rem + (1vw - 0.768rem) * (0.7174887892));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .subvisual-simple .ja {
    font-size: calc(2.52rem + (1vw - 0.576rem) * (0.8376963351));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  .subvisual-simple .ja {
    font-size: calc(2.36rem + (1vw - 0.421rem) * (1.038961039));
  }
}
@media only screen and (max-width: 420px) {
  .subvisual-simple .ja {
    font-size: calc(2.2rem + (1vw - 0.32rem) * (1.6));
  }
}
.subvisual-simple .en {
  font-weight: 500;
}
@media only screen and (min-width: 1200px) {
  .subvisual-simple .en {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .subvisual-simple .en {
    font-size: calc(1.76rem + (1vw - 0.992rem) * (0.193236715));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .subvisual-simple .en {
    font-size: calc(1.72rem + (1vw - 0.768rem) * (0.1793721973));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .subvisual-simple .en {
    font-size: calc(1.68rem + (1vw - 0.576rem) * (0.2094240838));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  .subvisual-simple .en {
    font-size: calc(1.64rem + (1vw - 0.421rem) * (0.2597402597));
  }
}
@media only screen and (max-width: 420px) {
  .subvisual-simple .en {
    font-size: calc(1.6rem + (1vw - 0.32rem) * (0.4));
  }
}

/*.page-link-list------------------------------------------*/
.page-link-list {
  background-color: #fff;
  padding: 5px 0;
  margin-bottom: 3rem;
}
.page-link-list ul li {
  display: inline-block;
  padding: 3px 15px 3px 5px;
}
.page-link-list ul li a {
  font-weight: 500;
  background-image: url(../../images/common/icon-circle-bottom.svg);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto 70%;
  padding-left: 25px;
  display: inline-block;
  white-space: nowrap;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .page-link-list ul li a {
    padding-left: 20px;
  }
}
.page-link-list ul li a.current {
  text-decoration: underline;
}

/*-parts-----------------------------------------*/
.section-block {
  background-color: #fff;
  padding: 4rem 0;
  margin-bottom: 3rem;
}

.youtube {
  width: 100%;
  aspect-ratio: 16/9;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}

/* ------------------------------------------*/
.pc {
  display: block;
}
@media screen and (max-width: 1600px) {
  .pc {
    display: block;
  }
}
@media screen and (max-width: 1400px) {
  .pc {
    display: block;
  }
}
@media screen and (max-width: 1199px) {
  .pc {
    display: block;
  }
}
@media screen and (max-width: 991px) {
  .pc {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 1600px) {
  .sp {
    display: none;
  }
}
@media screen and (max-width: 1400px) {
  .sp {
    display: none;
  }
}
@media screen and (max-width: 1199px) {
  .sp {
    display: none;
  }
}
@media screen and (max-width: 991px) {
  .sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

/*.notfound------------------------------------------*/
.notfound_wrap {
  padding: 100px 0;
}
@media only screen and (min-width: 1200px) {
  .notfound_wrap h2 {
    font-size: 3.2rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .notfound_wrap h2 {
    font-size: calc(3.04rem + (1vw - 0.992rem) * (0.7729468599));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .notfound_wrap h2 {
    font-size: calc(2.88rem + (1vw - 0.768rem) * (0.7174887892));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .notfound_wrap h2 {
    font-size: calc(2.72rem + (1vw - 0.576rem) * (0.8376963351));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  .notfound_wrap h2 {
    font-size: calc(2.56rem + (1vw - 0.421rem) * (1.038961039));
  }
}
@media only screen and (max-width: 420px) {
  .notfound_wrap h2 {
    font-size: calc(2.4rem + (1vw - 0.32rem) * (1.6));
  }
}
@media only screen and (min-width: 1200px) {
  .notfound_wrap h2 span {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .notfound_wrap h2 span {
    font-size: calc(2.4rem + (1vw - 0.992rem) * (0));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .notfound_wrap h2 span {
    font-size: calc(2.4rem + (1vw - 0.768rem) * (0));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .notfound_wrap h2 span {
    font-size: calc(2.4rem + (1vw - 0.576rem) * (0));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  .notfound_wrap h2 span {
    font-size: calc(2.4rem + (1vw - 0.421rem) * (0));
  }
}
@media only screen and (max-width: 420px) {
  .notfound_wrap h2 span {
    font-size: calc(2.4rem + (1vw - 0.32rem) * (0));
  }
}
.notfound_wrap .contents_text {
  margin-bottom: 50px;
}
.notfound_wrap .more {
  margin: 20px 20px 20px 0px;
}
.notfound_wrap .more a {
  padding: 20px;
  background: #fff;
  border: 1px solid #000;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.notfound_wrap .more a:hover {
  background-color: #04C8FD;
  color: #fff;
}

/*# sourceMappingURL=common.css.map */
