@charset "UTF-8";
/*
font-family :"Times New Roman", "游明朝", YuMincho,"ヒラギノ明朝 Pr6 W6","Hiragino Mincho Pro", "HGS明朝E","メイリオ", "ＭＳ Ｐ明朝","MS PMincho",Meiryo, serif;
font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', 'Roboto', sans-serif;
*/
/* 約物半角 */
@font-face {
  font-family: 'YakuHanJP';
  font-weight: lighter;
  src: url("../fonts/YakuHanJP-Light.woff2") format("woff2"), url("../fonts/YakuHanJP-Light.woff") format("woff"); }
@font-face {
  font-family: 'YakuHanJP';
  font-weight: normal;
  src: url("../fonts/YakuHanJP-Regular.woff2") format("woff2"), url("../fonts/YakuHanJP-Regular.woff") format("woff"); }
@font-face {
  font-family: 'YakuHanJP';
  font-weight: bold;
  src: url("../fonts/YakuHanJP-Bold.woff2") format("woff2"), url("../fonts/YakuHanJP-Bold.woff") format("woff"); }
@font-face {
  font-family: 'YakuHanMP';
  font-weight: lighter;
  src: url("../fonts/YakuHanMP-Light.woff2") format("woff2"), url("../fonts/YakuHanMP-Light.woff") format("woff"); }
@font-face {
  font-family: 'YakuHanMP';
  font-weight: normal;
  src: url("../fonts/YakuHanMP-Regular.woff2") format("woff2"), url("../fonts/YakuHanMP-Regular.woff") format("woff"); }
@font-face {
  font-family: 'YakuHanMP';
  font-weight: bold;
  src: url("../fonts/YakuHanMP-Bold.woff2") format("woff2"), url("../fonts/YakuHanMP-Bold.woff") format("woff"); }
/* 基本設定
----------------------------------------------------------------------------------*/
html, body, #wrapper {
  width: 100%;
  max-height: 100%; }

body {
  -webkit-text-size-adjust: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  line-height: 1.8;
  word-break: break-all;
  font-display: swap;
  font-weight: 400;
  color: #333;
  font-family: "YakuHanMP", "Noto Sans JP", sans-serif;
  font-size: 15px; }

h1, h2, h3, h4, h5, h6, p, span, em, b, i, dl, dt, dd, ol, ul, li, tr, th, td, div {
  letter-spacing: 0.075em;
  font-feature-settings: "palt" 1; }

ul li, ol li {
  display: inline-block;
  vertical-align: top;
  font-size: 0.9375rem;
  line-height: 1.6875rem; }

p, p a, div, ul, ol, li, li a, dl, dt, dt a, dd, dd a, section, span, em, i, strong, b {
  box-sizing: border-box;
  /*text-align: justify; text-justify: inter-ideograph;*/ }

i {
  font-style: normal; }

.flexImg {
  overflow: hidden;
  position: relative; }
  .flexImg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    font-family: 'object-fit: cover;'; }
  .flexImg.ab {
    height: 0;
    padding: 100%; }
    .flexImg.ab img {
      position: absolute;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 0;
      right: 0;
      margin: auto;
      z-index: 10; }

/* ベースレイアウト設定
----------------------------------------------------------------------------------*/
#wrapper {
  text-align: center;
  background: #fff; }

section {
  /* text-align:left;*/ }

/* hover
----------------------------------------------------------------------------------*/
a, a:link, a:visited {
  color: #4169e1;
  text-decoration: none;
  outline: none;
  transition: .5s;
  display: inline-block; }

a:hover {
  color: rgba(65, 105, 225, 0.5);
  text-decoration: none;
  transition: .5s;
  opacity: .7; }

a img {
  transition: .5s; }

/*a:hover img{ opacity: 0.6;}*/
*::selection {
  background: #4169e1;
  color: #fff; }

/* -------------------------------
  PCのみの設定
------------------------------- */
@media print, screen and (min-width: 751px) {
  .sp, .spOnly, .tbOnly {
    display: none !important; }

  .pc, .pc-tb {
    display: inline-block !important;
    vertical-align: top !important; }

  .pc-sp {
    display: inline-block !important;
    vertical-align: top !important; }

  /* スマホのみtellink有効（init.jsにも要設定） */
  a[href^="tel:"] {
    cursor: default;
    pointer-events: none; } }
/* -------------------------------
  スマホ向け設定
------------------------------- */
@media only screen and (max-width: 750px) {
  .pc, .tbOnly, .pc-tb {
    display: none !important;
    margin: 0;
    padding: 0;
    width: 0;
    height: 0; }

  .sp, .spOnly {
    display: inline-block !important;
    vertical-align: top !important; }

  .pc-sp {
    display: inline-block !important;
    vertical-align: top !important; } }
/* -------------------------------
  PC～スマホ 調整（兼タブレット）
------------------------------- */
@media screen and (min-width: 601px) and (max-width: 750px) {
  .pc, .spOnly {
    display: none !important;
    margin: 0;
    padding: 0;
    width: 0;
    height: 0; }

  .sp, .tbOnly, .pc-tb {
    display: inline-block !important;
    vertical-align: top !important; }

  .pc-sp {
    display: none !important;
    margin: 0;
    padding: 0;
    width: 0;
    height: 0; } }
