@charset "utf-8";

:root {
  --main-color: #5bbeba;
  --grayf1-color: #353f41;
  --grayf2-color: #f8f8f8;
  --grayf3-color: #ebebeb;
  --orange-color: #f26a2e;
  --white: #fff;
  --black: #000;
}

/* 汎用 */
a {
	text-decoration: none;
	color: #090909;
	transition: opacity .3s cubic-bezier(.4, .1, .3, 1);
}

a:hover {
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}

a img{
	transition: opacity .3s cubic-bezier(.4, .1, .3, 1);
}
a:hover img {
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
  opacity: .6;
	transition: 0.7s;
}
.red { color: #B70000; }

.mb10 {
  margin-bottom: 10px;
}
.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;
}
.mb80 {
  margin-bottom: 80px;
}
.mb90 {
  margin-bottom: 90px;
}
.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;
}
.fs24 {
  font-size: 24px;
}
.fw300 {
  font-weight: 300;
}
.fw400 {
  font-weight: 400;
}
.fw500 {
  font-weight: 500;
}
.fw600 {
  font-weight: 600;
}
.fw700 {
  font-weight: 700;
}
.fw800 {
  font-weight: 800;
}
.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", "Hiragino Mincho Pro", serif;
}
.f_hira {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro",
    sans-serif;
}
.f_gothic {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体",
    "Yu Gothic M", "YuGothic", sans-serif;
}
.f_hirago {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ",
    sans-serif;
}

/* メインの日本語フォント 太字 */
.f_min_bold {
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif;
  font-weight: 600;
}
.f_hira_bold {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro",
    sans-serif;
  font-weight: 600;
}
.f_gothic_bold {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体",
    "Yu Gothic M", "YuGothic", sans-serif;
  font-weight: 600;
}
.f_hirago_bold {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ",
    sans-serif;
  font-weight: 600;
}

/* 英字用フォント */
.f_din {
  font-family: "din-2014", sans-serif;
}
.f_times {
  font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia,
    serif;
}
.f_arial {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-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;";
}
.price__list li .list__tit span {
  font-weight: 500;
}
.price__list li .list__tit span small {
  display: block;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
}
/*PC用*/
@media print, screen {
  .pc {
    display: block !important;
  }
  .sp {
    display: none !important;
  }
  .h_menu,
  #sp_global_nav {
    display: none;
  }
}
/* mv */
@media print, screen {
  .mv__simple {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1920px;
    height: 160px;
    color: var(--white);
    text-align: center;
    background-color: var(--main-color);
  }
  .mv__simple .tit {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
  }
}
@media screen and (max-width: 768px) {
  .mv__simple {
    max-width: inherit;
    height: 28.985vw;
  }
  .mv__simple .tit {
    font-size: 6.28vw;
  }
  .mv__simple .tit.detail {
    font-size: 5.797vw;
  }
}
@media print, screen {
  .mv__normal {
    justify-content: flex-end;
    align-items: flex-start;
    margin: 40px auto 0;
    padding: 116px 170px 0 0;
    width: 100%;
    max-width: 1480px;
    height: 498px;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
    box-sizing: border-box;
  }
  .mv__normal .tit__box {
    padding: 40px 50px;
    width: 572px;
    max-width: 100%;
    background-color: var(--white);
    box-sizing: border-box;
  }
  .mv__normal .tit__box .tit {
    color: var(--orange-color);
    font-size: 56px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.06em;
    display: block;
  }
  .mv__normal .tit__box .lead {
    margin-top: 16px;
    font-size: 18px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  .mv__normal .img__main {
    display: none;
  }
}
@media screen and (max-width: 1600px) {
  .mv__normal {
    margin: 2.5vw auto 0;
    padding: 7.25vw 10.625vw 0 0;
    width: 92.5%;
    height: 31.125vw;
  }
  .mv__normal .tit__box {
    padding: 2.4vw 3.125vw;
    width: 35.75vw;
  }
  .mv__normal .tit__box .tit {
    font-size: 3.5vw;
  }
  .mv__normal .tit__box .lead {
    margin-top: 1vw;
    font-size: 1.125vw;
  }
}
@media screen and (max-width: 768px) {
  .mv__normal {
    margin: 7.246vw auto 0;
    padding: 0 0 38.647vw;
    width: 100%;
    max-width: inherit;
    height: auto;
    background: none;
    position: relative;
  }
  .mv__normal .tit__box {
    padding: 7.971vw 0 14.492vw;
    width: 100%;
    text-align: center;
  }
  .mv__normal .tit__box>div {
    width: 89.371vw;
    margin: 0 auto;
}
  .mv__normal .tit__box .tit {
    font-size: 5.797vw;
  }
  .mv__normal .tit__box .lead {
    margin-top: 3.864vw;
    font-size: 3.864vw;
  }
  .mv__normal .img__main {
    display: block;
    margin: 0 auto;
    width: 89.371vw;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
  }
}

/*SP用*/
@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  img {
    max-width: 100%;
    height: auto;
    width: auto;
  }
  body {
    min-width: auto !important;
    overflow: inherit !important;
  }
  .sp_tac {
    text-align: center !important;
  }
  .sp_tar {
    text-align: right !important;
  }
  .sp_mb15 {
    margin-bottom: 15px !important;
  }
  .sp_mb20 {
    margin-bottom: 20px !important;
  }
  div,
  p,
  dd,
  dl,
  dt,
  th,
  td,
  span,
  li {
    box-sizing: border-box;
  }

  /* メインの日本語フォント 太字 */
  .f_min_bold {
    font-weight: 700;
  }
  .f_hira_bold {
    font-weight: 700;
  }
  .f_gothic_bold {
    font-weight: 700;
  }
  .f_hirago_bold {
    font-weight: 700;
  }
}

/* 印刷用 */
@media print {
  body {
    zoom: 0.6;
    -webkit-print-color-adjust: exact;
  }
}

/* 印刷用 IE10以上 */
@media print and (-ms-high-contrast: none) {
  @page {
    size: A4;
    margin: 12.7mm 9.7mm;
  }
  body {
    zoom: 1.8;
    width: 1200px;
    transform: scale(0.5);
    transform-origin: 0 0;
  }
}
