@charset "UTF-8";
/* Scss Document */
/* =========================================================
// reset
========================================================= */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Raleway&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video, main, button {
  margin: 0;
  padding: 0;
  border: 0;
  /* outline: 0;アクセシビリティ対応の為　focusを表示	*/
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle; }

sub, sup {
  font-size: 75%; }

ul, ol {
  list-style: none; }

a {
  margin: 0;
  padding: 0;
  border: 0;
  /*outline: 0;アクセシビリティ対応の為　focusを表示	*/
  text-decoration: none; }

table, th, td {
  border-collapse: collapse;
  border-spacing: 0; }

/* 画像の下にできる隙間をなくす */
img {
  vertical-align: bottom; }

span, em, strong {
  /* 上記リセットのspan,em,strong用カスタマイズ */
  vertical-align: baseline;
  /* spanのvertical-alignをデフォルトに(ずれ防止) */
  font-weight: inherit;
  /* spanのfont-weightを伝承に */
  opacity: inherit; }

button {
  text-align: left;
  font-family: inherit;
  color: inherit; }

button:focus-visible {
  outline: none; }

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

/* =========================================================
// Font
========================================================= */
/* =========================================================
// Color
========================================================= */
/* =========================================================
//メディアクエリ
========================================================= */
/* =========================================================
 display
========================================================= */
@media screen and (max-width: 767.99px) {
  .sp-none {
    display: none !important; } }

@media print, screen and (min-width: 768px) {
  .pc-none {
    display: none !important; } }

/* =========================================================
 Structure Module
========================================================= */
html {
  font-size: 62.5%; }

body {
  line-height: 1.5;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  width: 100%;
  -webkit-text-size-adjust: 100%;
  /*iPhone や Android のブラウザの、縦向きと横向きの文字サイズを自動調整する機能をOFFにする*/
  background-color: #fff;
  color: #1b1b1b;
  font-weight: 500; }
  @media screen and (max-width: 767.99px) {
    body {
      font-size: 1.4rem; } }
  @media print, screen and (min-width: 768px) {
    body {
      font-size: 1.6rem; } }

body#bigtop {
  padding-top: 0; }

@media screen and (min-width: 768px) and (max-width: 1200px) {
  /*幅768px～1200pxの間はスクロールを出す*/
  body {
    min-width: 1200px;
    overflow: scroll; } }
@media print, screen and (min-width: 768px) {
  body {
    min-width: 1200px; } }
/* =========================================================
 Text Module
========================================================= */
p.indent {
  margin-left: 1em !important;
  /* ブロック全体を 1em 右に */
  text-indent: -1em;
  /* 先頭の1文字のみ 1em 左に */ }

p.indent2 {
  margin-left: 2em !important;
  /* ブロック全体を 1em 右に */
  text-indent: -2em;
  /* 先頭の1文字のみ 1em 左に */ }

/* =========================================================
 Text Color
========================================================= */
.red {
  color: #d62727; }

.blue {
  color: #00a0e9; }

.orange {
  color: #f98b03; }

/* =========================================================
 Link Module
========================================================= */
a:link, a:visited {
  text-decoration: underline;
  color: #1b1b1b; }

a:active, a:focus, a:hover, a.hover {
  text-decoration: none;
  color: #1b1b1b; }

/* =========================================================
 Font
========================================================= */
@media screen and (max-width: 767.99px) {
  .font-small {
    font-size: 1.0rem; } }
@media print, screen and (min-width: 768px) {
  .font-small {
    font-size: 1.2rem; } }

@media screen and (max-width: 767.99px) {
  .font-big {
    font-size: 1.6rem; } }
@media print, screen and (min-width: 768px) {
  .font-big {
    font-size: 1.8rem; } }
@media screen and (max-width: 767.99px) {
  .font-big--lg {
    font-size: 1.8rem; } }
@media print, screen and (min-width: 768px) {
  .font-big--lg {
    font-size: 2.2rem; } }

.font-bold {
  font-weight: bold; }

/* =========================================================
 Width
========================================================= */
.w-3em {
  width: 3em; }

.w-4em {
  width: 4em; }

.w-5em {
  width: 5em; }

.w-6em {
  width: 6em; }

.w-7em {
  width: 7em; }

.w-8em {
  width: 8em; }

.w-9em {
  width: 9em; }

.w-10em {
  width: 10em; }

.w-11em {
  width: 11em; }

.w-12em {
  width: 12em; }

.w-13em {
  width: 13em; }

.w-14em {
  width: 14em; }

.w-10p {
  width: 10%; }

.w-15p {
  width: 15%; }

.w-20p {
  width: 20%; }

.w-25p {
  width: 25%; }

.w-30p {
  width: 30%; }

.w-35p {
  width: 35%; }

.w-40p {
  width: 40%; }

.w-45p {
  width: 45%; }

.w-50p {
  width: 50%; }

.w-60p {
  width: 60%; }

.w-65p {
  width: 65%; }

.w-70p {
  width: 70%; }

.w-75p {
  width: 75%; }

.w-80p {
  width: 80%; }

.w-90p {
  width: 90%; }

.w-100p {
  width: 100%; }

.w-auto {
  width: auto !important; }

@media screen and (max-width: 767.99px) {
  .sp-w-10p {
    width: 10%; }

  .sp-w-20p {
    width: 20%; }

  .sp-w-30p {
    width: 30%; }

  .sp-w-30p {
    width: 30%; }

  .sp-w-40p {
    width: 40%; }

  .sp-w-50p {
    width: 50%; }

  .sp-w-60p {
    width: 60%; }

  .sp-w-70p {
    width: 70%; }

  .sp-w-80p {
    width: 80%; }

  .sp-w-90p {
    width: 90%; }

  .sp-w-100p {
    width: 100%; }

  .sp-maxw-100p {
    max-width: 100%; }

  .sp-w-auto {
    width: auto; } }
@media print, screen and (min-width: 768px) {
  .pc-w-3em {
    width: 3em; }

  .pc-w-4em {
    width: 4em; }

  .pc-w-5em {
    width: 5em; }

  .pc-w-6em {
    width: 6em; }

  .pc-w-7em {
    width: 7em; }

  .pc-w-8em {
    width: 8em; }

  .pc-w-9em {
    width: 9em; }

  .pc-w-10em {
    width: 10em; }

  .pc-w-11em {
    width: 11em; }

  .pc-w-12em {
    width: 12em; }

  .pc-w-13em {
    width: 13em; }

  .pc-w-14em {
    width: 14em; }

  .pc-w-20em {
    width: 20em; }

  .pc-w-10p {
    width: 10%; }

  .pc-w-15p {
    width: 15%; }

  .pc-w-20p {
    width: 20%; }

  .pc-w-25p {
    width: 25%; }

  .pc-w-30p {
    width: 30%; }

  .pc-w-35p {
    width: 35%; }

  .pc-w-40p {
    width: 40%; }

  .pc-w-45p {
    width: 45%; }

  .pc-w-50p {
    width: 50%; }

  .pc-w-60p {
    width: 60%; }

  .pc-w-65p {
    width: 65%; }

  .pc-w-70p {
    width: 70%; }

  .pc-w-75p {
    width: 75%; }

  .pc-w-80p {
    width: 80%; }

  .pc-w-90p {
    width: 90%; }

  .pc-w-100p {
    width: 100%; }

  .pc-w-auto {
    width: auto; }

  .pc-w-160 {
    width: 160px; }

  .pc-w-550 {
    width: 550px; }

  .pc-w-220 {
    width: 220px; }

  .pc-w-490 {
    width: 490px; }

  .pc-w-220 {
    width: 400px; }

  .pc-w-490 {
    width: 310px; } }
.marginTop-0 {
  margin-top: 0 !important; }

.marginTop-xxs {
  margin-top: .2em !important; }

.marginTop-xs {
  margin-top: .5em !important; }

.marginTop-sm {
  margin-top: .8em !important; }

.marginTop-md {
  margin-top: 1em !important; }

.marginTop-lg {
  margin-top: 2em !important; }

.marginTop-xl {
  margin-top: 4em !important; }

.marginTop-xxl {
  margin-top: 6em !important; }

.marginTop-3xl {
  margin-top: 8em !important; }

.marginTop-4xl {
  margin-top: 12em !important; }

.marginBottom-xl {
  margin-bottom: 4em; }

.marginLRauto {
  margin-left: auto;
  margin-right: auto; }

/* =========================================================
 white-space
========================================================= */
.nowrap {
  white-space: nowrap; }

@media screen and (max-width: 767.99px) {
  .sp-nowrap {
    white-space: nowrap; } }
@media print, screen and (min-width: 768px) {
  .pc-nowrap {
    white-space: nowrap; } }
/* =========================================================
 input
========================================================= */
input[type="text"]:disabled {
  background: #ccc; }

textarea[disabled] {
  background: #ccc; }

/* =========================================================
 img
========================================================= */
img.img-switch {
  /* smp-img-switch.js(PC・SPで画像切り替え) で仕様 */
  visibility: hidden; }

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

/* =========================================================
 opacity
========================================================= */
.opacity:active, .opacity:focus, .opacity:hover, .opacity.hover {
  opacity: 0.7; }

/* =========================================================
 screenreader　スクリーンリーダー
========================================================= */
[class^="screenreader"] {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  overflow: hidden; }

/* =========================================================
 Font Awesomeのアイコンを設定する
$content:FontAwesomeのUnicode
$f-weight:font-weight
$par:padding-right    設定しない場合はnullを渡す
$pal:padding-left    設定しない場合はnullを渡す
========================================================= */
#wrap {
  position: relative;
  /* jquery.pagetop.jsで、.gotopを下部に固定するため */
  overflow: hidden;
  /* モバイル観覧での余白対策 */ }

/* siteHeader
=================================*/
.preload {
  transition: none !important; }

.siteHeader {
  position: fixed;
  transition: 0.5s ease-in-out;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 999999;
  background-color: transparent; }
  .siteHeader.bg-color, .siteHeader.show, .siteHeader.is-open {
    background-color: #fff; }
  .siteHeader.hide {
    transform: translateY(-100%); }
  @media screen and (max-width: 767.99px) {
    .siteHeader {
      height: 50px; } }
  @media print, screen and (min-width: 768px) {
    .siteHeader {
      height: 90px;
      border-bottom: none; } }
  @media screen and (max-width: 767.99px) {
    .siteHeader__inner {
      height: 50px; } }
  @media print, screen and (min-width: 768px) {
    .siteHeader__inner {
      width: 1200px;
      margin: 0 auto;
      padding: 0px 45px; } }
  .siteHeader__nav {
    width: 100%; }
    @media screen and (max-width: 767.99px) {
      .siteHeader__nav {
        height: 50px; } }
    @media print, screen and (min-width: 768px) {
      .siteHeader__nav {
        display: flex;
        align-items: center; } }
  .siteHeader__logo {
    flex-grow: 0;
    flex-shrink: 0; }
    @media screen and (max-width: 767.99px) {
      .siteHeader__logo {
        width: 218px;
        height: 50px;
        padding: 12px 0px 13px 15px; } }
    @media print, screen and (min-width: 768px) {
      .siteHeader__logo {
        width: 495px;
        height: 90px;
        padding: 19px 49px 27px 20px; } }
    .siteHeader__logoLink {
      display: block; }
  .siteHeader__navToggler {
    background-color: transparent; }
    @media screen and (max-width: 767.99px) {
      .siteHeader__navToggler {
        position: absolute;
        top: 0;
        right: 0;
        width: 35px;
        height: 50px;
        padding: 0px;
        border: none; } }
    @media print, screen and (min-width: 768px) {
      .siteHeader__navToggler {
        position: absolute;
        top: 0;
        right: 0;
        width: 90px;
        height: 90px;
        padding: 0px;
        border: none;
        z-index: 100000;
        cursor: pointer; } }
  *[aria-expanded="false"] .siteHeader__navTogglerIcon {
    background-size: cover; }
    @media screen and (max-width: 767.99px) {
      *[aria-expanded="false"] .siteHeader__navTogglerIcon {
        background-image: url(../images/btn-hamburger-open.png); } }
    @media print, screen and (min-width: 768px) {
      *[aria-expanded="false"] .siteHeader__navTogglerIcon {
        background-image: url(../images/btn-hamburger-open_pc.png); } }
  *[aria-expanded="true"] .siteHeader__navTogglerIcon {
    background-size: cover; }
    @media screen and (max-width: 767.99px) {
      *[aria-expanded="true"] .siteHeader__navTogglerIcon {
        background-image: url(../images/btn-hamburger-close.png); } }
    @media print, screen and (min-width: 768px) {
      *[aria-expanded="true"] .siteHeader__navTogglerIcon {
        background-image: url(../images/btn-hamburger-close_pc.png); } }
  .siteHeader__navTogglerIcon {
    display: block;
    background-size: 35px 50px; }
    @media screen and (max-width: 767.99px) {
      .siteHeader__navTogglerIcon {
        height: 50px;
        width: 35px; } }
    @media print, screen and (min-width: 768px) {
      .siteHeader__navTogglerIcon {
        height: 90px;
        width: 90px; } }
  .siteHeader__navList {
    width: 100%; }
  .siteHeader__navItem {
    margin: 0 15px; }
  .siteHeader__navLink {
    display: block;
    text-decoration: none !important; }
    .siteHeader__navLink:link, .siteHeader__navLink:visited {
      color: #fff; }
    .siteHeader__navLink:hover, .siteHeader__navLink:focus, .siteHeader__navLink:active, .siteHeader__navLink.active {
      color: #00aca3; }
    .siteHeader__navLink::before {
      font-family: "Font Awesome 7 Free";
      content: "";
      font-weight: 900;
      padding-left: 0;
      padding-right: 0.5em; }
    .siteHeader__navLink--window::after {
      font-family: "Font Awesome 7 Free";
      content: "";
      font-weight: 900;
      padding-left: 0.5rem;
      padding-right: 0; }
    @media screen and (max-width: 767.99px) {
      .siteHeader__navLink {
        font-size: 1.6rem;
        padding: 20px 30px !important; } }
    @media print, screen and (min-width: 768px) {
      .siteHeader__navLink {
        font-size: 1.8rem;
        padding: 10px 30px !important; } }
  .siteHeader__sns {
    position: absolute; }
    @media screen and (max-width: 767.99px) {
      .siteHeader__sns {
        top: 0;
        right: 70px; } }
    @media print, screen and (min-width: 768px) {
      .siteHeader__sns {
        top: 16px;
        right: 300px; } }
    .siteHeader__sns a {
      display: block;
      transition: 0.3s ease-out;
      text-decoration: none; }
      @media screen and (max-width: 767.99px) {
        .siteHeader__sns a {
          width: 35px;
          height: 50px;
          display: grid;
          place-content: center;
          font-size: 2.5rem;
          text-align: center; } }
      @media print, screen and (min-width: 768px) {
        .siteHeader__sns a {
          display: block;
          font-size: 3.8rem;
          text-align: center;
          letter-spacing: 0.1em; } }
      .siteHeader__sns a:active, .siteHeader__sns a:focus, .siteHeader__sns a:hover, .siteHeader__sns a.hover {
        opacity: 0.7; }
  .siteHeader__contact {
    position: absolute; }
    @media screen and (max-width: 767.99px) {
      .siteHeader__contact {
        white-space: nowrap;
        text-indent: 120%;
        overflow: hidden;
        top: 0;
        right: 35px; } }
    @media print, screen and (min-width: 768px) {
      .siteHeader__contact {
        top: 20px;
        right: 90px;
        width: 180px;
        height: 60px; } }
    .siteHeader__contact a {
      display: block;
      transition: 0.3s ease-out; }
      @media screen and (max-width: 767.99px) {
        .siteHeader__contact a {
          background-image: url(../images/btn-contact.png);
          background-size: cover;
          width: 35px;
          height: 50px; } }
      @media print, screen and (min-width: 768px) {
        .siteHeader__contact a {
          font-family: 'Raleway', sans-serif;
          font-size: 1.8rem;
          color: #fff;
          text-align: center;
          text-decoration: none;
          letter-spacing: 0.1em;
          background-color: #00c9be;
          border-radius: 50px;
          width: 100%;
          height: 100%;
          padding: 15px; }
          .siteHeader__contact a::before {
            font-family: "Font Awesome 7 Free";
            content: "";
            font-weight: 900;
            padding-left: 0;
            padding-right: 0.5em; } }
      @media screen and (max-width: 767.99px) {
        .siteHeader__contact a:hover, .siteHeader__contact a:active, .siteHeader__contact a:focus {
          opacity: 0.7; } }
      @media print, screen and (min-width: 768px) {
        .siteHeader__contact a:hover, .siteHeader__contact a:active, .siteHeader__contact a:focus {
          background-color: #00e2cf; } }

.menu-container {
  width: 100%;
  margin: 0 auto;
  z-index: 99999; }
  @media screen and (max-width: 767.99px) {
    .menu-container {
      position: fixed;
      top: 50px;
      left: 0; } }
  @media print, screen and (min-width: 768px) {
    .menu-container {
      position: fixed;
      top: 0;
      right: -380px;
      width: 380px;
      height: 100vh; } }

.menu {
  background-color: rgba(27, 27, 27, 0.98); }
  @media screen and (max-width: 767.99px) {
    .menu {
      display: none;
      overflow-y: auto;
      max-height: calc(100vh - 50px);
      max-height: calc(100dvh - 50px);
      overscroll-behavior: contain;
      padding-bottom: 30px; } }
  @media print, screen and (min-width: 768px) {
    .menu {
      height: 100vh;
      padding-top: 125px;
      transition: 0.5s ease-out;
      /* 移動する速さ */ } }
  .menu.show {
    display: block; }
    @media print, screen and (min-width: 768px) {
      .menu.show {
        transform: translateX(-380px);
        transition: all .5s; } }

/* パンくず
=================================*/
@media screen and (max-width: 767.99px) {
  .topicpath {
    display: none; } }
@media print, screen and (min-width: 768px) {
  .topicpath {
    width: 100%;
    background-color: #fff;
    margin-bottom: 15px; } }
@media print, screen and (min-width: 768px) {
  .topicpath__inner {
    width: 1200px;
    padding: 0 45px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end; } }
@media print, screen and (min-width: 768px) {
  .topicpath__item {
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    /*
    &:first-child{
        a{
            padding-left: 0;
            &::before{
                content: "";
                @include iconFontA("\f015",900);
                display: inline-block;
            }
        }
        
    }
    */ }
    .topicpath__item a {
      padding: 4px 10px;
      display: flex;
      align-items: center;
      color: #a7a7a7;
      text-decoration: none; } }
.topicpath__item:active, .topicpath__item.active {
  color: #1b1b1b !important; }
.topicpath__item::after {
  content: "-";
  display: block;
  /*
  background: url(../images/img-topicpath.png) no-repeat;
  background-size: 17px 48px;
  width: 17px;
  height: 48px;
  */ }
.topicpath__item:last-child {
  padding-left: 20px; }
  .topicpath__item:last-child::after {
    display: none; }

/* siteMaine
=================================*/
.siteMain__main > *:first-child, .siteMain__main > article > *:first-child {
  margin-top: 0 !important; }

/* psiteContents
=================================*/
@media screen and (max-width: 767.99px) {
  .siteContents {
    padding: 0 15px; } }
.siteHeader + .siteContents {
  margin-top: 0;
  padding-top: 0; }
@media screen and (max-width: 767.99px) {
  .siteContents__inner {
    padding: 36px 0 80px; } }
@media print, screen and (min-width: 768px) {
  .siteContents__inner {
    width: 1200px;
    padding: 75px 45px 145px;
    margin: 0 auto; } }
@media print, screen and (min-width: 768px) {
  .siteContents__inner--sm {
    width: 1200px;
    padding: 0 140px;
    margin: 0 auto; } }
@media print, screen and (min-width: 768px) {
  .siteContents__inner--fluid {
    width: 100%;
    padding: 0;
    margin: 0 auto; } }
.siteContents__inner > *:first-child, .siteContents__inner > article > *:first-child {
  margin-top: 0 !important; }

/* siteContents2col (2col)
=================================*/
@media screen and (max-width: 767.99px) {
  .siteContents2col {
    padding: 0 15px 85px;
    margin-top: 24px; } }
@media print, screen and (min-width: 768px) {
  .siteContents2col {
    width: 1200px;
    padding: 0 45px 110px;
    margin: 40px auto 0;
    display: flex; } }
@media print, screen and (min-width: 768px) {
  .siteContents2col__main {
    width: 825px; } }
.siteContents2col__main > *:first-child, .siteContents2col__main > article > *:first-child {
  margin-top: 0 !important; }
@media print, screen and (min-width: 768px) {
  .siteContents2col__side {
    width: 255px;
    margin-left: auto; }
    .siteContents2col__side > *:first-child {
      margin-top: 0 !important; } }
@media screen and (max-width: 767.99px) {
  .siteContents2col__side > * + * {
    margin-top: 10px; } }
@media print, screen and (min-width: 768px) {
  .siteContents2col__side > * + * {
    margin-top: 15px; } }

@media screen and (max-width: 767.99px) {
  .siteSide {
    padding-top: 40px; } }

/* siteFooter
=================================*/
.siteFooter {
  background-color: rgba(229, 229, 229, 0.7); }
  @media screen and (max-width: 767.99px) {
    .siteFooter__inner {
      padding: 15px; } }
  @media print, screen and (min-width: 768px) {
    .siteFooter__inner {
      width: 1200px;
      padding: 35px 45px;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
      position: relative; } }
  .siteFooter__logo {
    margin: 0 auto; }
    @media screen and (max-width: 767.99px) {
      .siteFooter__logo {
        margin: 0 auto 10px;
        width: 255px;
        height: 37px;
        margin-bottom: 15px; } }
    @media print, screen and (min-width: 768px) {
      .siteFooter__logo {
        width: 310px;
        height: 44px;
        margin-bottom: 15px; } }
  .siteFooter__copyright {
    text-align: center;
    width: 100%; }
    @media screen and (max-width: 767.99px) {
      .siteFooter__copyright {
        font-size: 1.2rem; } }
    @media print, screen and (min-width: 768px) {
      .siteFooter__copyright {
        padding: 15x 0 20px; } }
  @media screen and (max-width: 767.99px) {
    .siteFooter__pagetop {
      height: 40px;
      width: 40px;
      margin: 0 auto 20px; } }
  @media print, screen and (min-width: 768px) {
    .siteFooter__pagetop {
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%); } }

/* pageTop
=================================*/
/* pageTop
=================================*/
a.pageTop {
  display: block; }
  a.pageTop:hover, a.pageTop:active, a.pageTop:focus, a.pageTop.hover {
    opacity: 0.7; }
  @media screen and (max-width: 767.99px) {
    a.pageTop {
      height: 40px;
      width: 40px; } }
  @media print, screen and (min-width: 768px) {
    a.pageTop {
      height: 58px;
      width: 58px; } }
  a.pageTop img {
    width: 100%;
    height: 100%; }

/* Scss Document */
/*
body#home{
	@include pc-screen() {
		    background: url("../images/home/bg-home.jpg") no-repeat center center;
			background-size: cover;
			background-attachment: fixed;
	}
	&::after {
		@include sp-screen() {
			content: "";
			display: block;
			width: 100%;
			height: 100vh;
			position: fixed;

			left: 0;
			top: 0;
			background: url("../images/home/bg-home.jpg") no-repeat center center;
			background-size: cover;
			z-index: -1;
		}
	}
	&::before {
		content: "";
		display: block;
		width: 100%;
		height: 100vh;
		position: fixed;
		left: 0;
		top: 0;
		background: url("../images/home/bg-home-blur.jpg") no-repeat center center;
		background-size: cover;
		opacity: 0;
		transition: all 3s ease;
		@include pc-screen() {
			background-attachment: fixed;
		}
	}
	&.bg-blur::before {
		opacity: 1;
		transition: all 3s ease;
	}
}
*/
 /* =========================================================
見出し title
========================================================= */
@media screen and (max-width: 767.99px) {
  .homeTitle {
    margin-bottom: 15px; } }
@media print, screen and (min-width: 768px) {
  .homeTitle {
    margin-bottom: 50px; } }
.homeTitle .sub {
  font-family: 'Raleway', sans-serif;
  line-height: 1.0;
  letter-spacing: 0.2em;
  text-align: center; }
  @media screen and (max-width: 767.99px) {
    .homeTitle .sub {
      font-size: 3.0rem; } }
  @media print, screen and (min-width: 768px) {
    .homeTitle .sub {
      font-size: 6.0rem; } }
  .homeTitle .sub span {
    display: block;
    letter-spacing: 0.25em; }
    @media screen and (max-width: 767.99px) {
      .homeTitle .sub span {
        font-size: 2.0rem; } }
    @media print, screen and (min-width: 768px) {
      .homeTitle .sub span {
        font-size: 4.6rem; } }
.homeTitle .main {
  line-height: 1.2;
  text-align: center; }
  @media screen and (max-width: 767.99px) {
    .homeTitle .main {
      font-size: 1.6rem;
      margin-top: 1 0px; } }
  @media print, screen and (min-width: 768px) {
    .homeTitle .main {
      font-size: 2.0rem;
      margin-top: 20px; } }
@media print, screen and (min-width: 768px) {
  .homeTitle--left .sub, .homeTitle--left .main {
    text-align: left; } }

@media screen and (max-width: 767.99px) {
  .homeText {
    margin-bottom: 15px; } }
@media print, screen and (min-width: 768px) {
  .homeText {
    margin-bottom: 35px;
    text-align: center; } }
.homeText--left {
  text-align: left; }

 /* =========================================================
ボタン 
========================================================= */
.homeButtonLayout {
  margin: 0 auto; }
  @media screen and (max-width: 767.99px) {
    .homeButtonLayout {
      width: 260px; } }
  @media print, screen and (min-width: 768px) {
    .homeButtonLayout {
      width: 320px; } }
  @media print, screen and (min-width: 768px) {
    .homeButtonLayout--left {
      margin-left: 0; } }

a.homeButton {
  text-decoration: none !important;
  transition: 0.3s ease-out; }

.homeButton {
  display: block;
  width: 100%;
  position: relative;
  text-align: center;
  text-decoration: none !important;
  background-color: transparent;
  border: 2px solid #1b1b1b;
  border-radius: 50px; }
  @media screen and (max-width: 767.99px) {
    .homeButton {
      padding: 10px; } }
  @media print, screen and (min-width: 768px) {
    .homeButton {
      padding: 15px; } }
  .homeButton::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 1.5em;
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0;
    padding-right: 1em; }
  .homeButton:active, .homeButton:focus, .homeButton:hover {
    background-color: #1b1b1b;
    color: #fff !important; }
    .homeButton:active::before, .homeButton:focus::before, .homeButton:hover::before {
      color: #fff; }

.homeEntryButtonList {
  margin: 0 auto; }
  @media screen and (max-width: 767.99px) {
    .homeEntryButtonList li {
      margin-top: 10px; } }
  @media print, screen and (min-width: 768px) {
    .homeEntryButtonList li {
      margin-bottom: 10px; } }
  @media screen and (max-width: 767.99px) {
    .homeEntryButtonList li:first-child {
      margin-top: none; } }

.homeEntryButtonLayout {
  margin: 0 auto; }
  @media screen and (max-width: 767.99px) {
    .homeEntryButtonLayout {
      margin-bottom: 5px;
      width: 100%; } }
  @media print, screen and (min-width: 768px) {
    .homeEntryButtonLayout {
      margin-bottom: 10px;
      width: 410px; } }

.homeEntryButton {
  display: block;
  text-decoration: none !important;
  transition: 0.3s ease-out;
  font-family: 'Raleway', sans-serif;
  color: #fff !important;
  text-align: center;
  letter-spacing: 0.1em;
  background-color: #00c9be;
  width: 100%;
  height: 100%;
  border-radius: 50px; }
  .homeEntryButton::before {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0;
    padding-right: 0.5em; }
  @media screen and (max-width: 767.99px) {
    .homeEntryButton {
      font-size: 1.6rem;
      padding: 20px; } }
  @media print, screen and (min-width: 768px) {
    .homeEntryButton {
      font-size: 1.8rem;
      padding: 25px; } }
  .homeEntryButton:hover, .homeEntryButton:active, .homeEntryButton:focus {
    background-color: #00e2cf; }

 /* =========================================================
 homeImg
========================================================= */
@media screen and (max-width: 767.99px) {
  .homeImg {
    margin: 0 -15px; } }
@media print, screen and (min-width: 768px) {
  .homeImg {
    position: relative; } }
@media screen and (max-width: 767.99px) {
  .homeImg__image {
    width: 100%;
    margin-top: -25px; } }
@media print, screen and (min-width: 768px) {
  .homeImg__image {
    width: 100%; } }

@media screen and (max-width: 767.99px) {
  .homeTopic {
    margin: 0 15px; } }
@media print, screen and (min-width: 768px) {
  .homeTopic {
    position: absolute;
    z-index: 1;
    bottom: 70px;
    right: 0; } }
.homeTopic__wrap {
  display: flex;
  background-color: #fff; }
  @media screen and (max-width: 767.99px) {
    .homeTopic__wrap {
      border-radius: 5px;
      padding: 14px 5px;
      box-shadow: 4px 4px 5px 0px rgba(149, 149, 149, 0.4); } }
  @media print, screen and (min-width: 768px) {
    .homeTopic__wrap {
      border-top-left-radius: 10px;
      border-bottom-left-radius: 10px;
      align-items: center;
      padding: 20px 0; } }
.homeTopic__title {
  text-align: center;
  flex-shrink: 0;
  flex-grow: 0; }
  @media screen and (max-width: 767.99px) {
    .homeTopic__title {
      width: 58px;
      font-size: 1.5rem; } }
  @media print, screen and (min-width: 768px) {
    .homeTopic__title {
      letter-spacing: 0.2em;
      width: 180px;
      font-size: 2.0rem; } }
.homeTopic dl {
  flex-shrink: 1;
  flex-grow: 1;
  border-left: 2px solid #00c9be; }
  @media screen and (max-width: 767.99px) {
    .homeTopic dl {
      padding-left: 14px; } }
  @media print, screen and (min-width: 768px) {
    .homeTopic dl {
      padding: 0 32px; } }
  .homeTopic dl > dt {
    overflow-wrap: break-word; }

@media screen and (max-width: 767.99px) {
  .homeMessage {
    margin-top: 90px;
    margin-bottom: 120px; } }
@media print, screen and (min-width: 768px) {
  .homeMessage {
    margin-top: 150px;
    margin-bottom: 265px; } }
@media print, screen and (min-width: 768px) {
  .homeMessage__inner {
    width: 1200px;
    padding: 0 45px;
    margin: 0 auto; } }

@media screen and (max-width: 767.99px) {
  .homeProject {
    margin-bottom: 100px;
    margin-left: -15px;
    margin-right: -15px; } }
@media print, screen and (min-width: 768px) {
  .homeProject {
    margin-top: -50px;
    margin-bottom: 220px;
    position: relative;
    /*
		&::before{
				content: "";
				display: block;
				position: absolute;
				background-color: #fff;
				width: calc((100vw - 1110px) / 2 );
				min-width: 45px;
				height: 100%;
				top: 0;
				left: 0;
			}
    */ } }
@media print, screen and (min-width: 768px) {
  .homeProject__inner {
    width: 1200px;
    padding: 0 45px;
    margin: 0 auto;
    position: relative; } }
.homeProject__story {
  background-color: #fff; }
  @media screen and (max-width: 767.99px) {
    .homeProject__story {
      padding: 60px 15px 30px; } }
  @media print, screen and (min-width: 768px) {
    .homeProject__story {
      border-radius: 10px;
      width: 500px;
      padding: 75px 40px 80px;
      position: relative;
      z-index: 10;
      box-shadow: 3.536px 3.536px 5px 0px rgba(149, 149, 149, 0.4);
      box-shadow: 10px 11px 10px -6px rgba(0, 0, 0, 0.3); } }
@media screen and (max-width: 767.99px) {
  .homeProject__button {
    margin-top: 2em;
    width: 260px;
    margin-left: auto;
    margin-right: auto; } }
@media print, screen and (min-width: 768px) {
  .homeProject__button {
    margin-top: 2em;
    width: 320px; } }
@media print, screen and (min-width: 768px) {
  .homeProject__image {
    margin-left: auto;
    width: 690px;
    position: absolute;
    top: -40px;
    right: 0; } }

.homeVoice {
  background-image: -moz-linear-gradient(73deg, #f4fee8 0%, #e1fbfa 55%);
  background-image: -webkit-linear-gradient(73deg, #f4fee8 0%, #e1fbfa 55%);
  background-image: -ms-linear-gradient(73deg, #f4fee8 0%, #e1fbfa 55%); }
  @media screen and (max-width: 767.99px) {
    .homeVoice {
      margin-left: -15px;
      margin-right: -15px;
      padding: 50px 0 50px; } }
  @media print, screen and (min-width: 768px) {
    .homeVoice {
      padding: 125px 0 290px; } }
  @media screen and (max-width: 767.99px) {
    .homeVoice__inner {
      padding: 0 15px; } }
  @media print, screen and (min-width: 768px) {
    .homeVoice__inner {
      width: 1200px;
      padding: 0 45px;
      margin: 0 auto; } }

@media screen and (max-width: 767.99px) {
  .homeEntry {
    margin-bottom: 70px; } }
@media print, screen and (min-width: 768px) {
  .homeEntry {
    margin-bottom: 210px; } }
@media print, screen and (min-width: 768px) {
  .homeEntry__inner {
    width: 1200px;
    padding: 0 45px;
    margin: 0 auto; } }

button.homeProjectCard {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0; }

.homeProjectCard {
  position: relative; }
  .homeProjectCard__image {
    position: relative;
    width: 100%; }
    @media screen and (max-width: 767.99px) {
      .homeProjectCard__image {
        width: 100%; } }
    .homeProjectCard__image::after {
      content: "";
      display: block;
      width: 100%;
      height: 50%;
      position: absolute;
      bottom: 0;
      left: 0;
      background-image: linear-gradient(0deg, #1b1b1b 0%, rgba(27, 27, 27, 0) 100%); }
    @media screen and (max-width: 767.99px) {
      .homeProjectCard__image img {
        border-radius: 5px; } }
    @media print, screen and (min-width: 768px) {
      .homeProjectCard__image img {
        border-radius: 10px; } }
  .homeProjectCard__text {
    color: #fff;
    position: absolute;
    bottom: 0; }
    @media screen and (max-width: 767.99px) {
      .homeProjectCard__text {
        left: 15px; } }
    @media print, screen and (min-width: 768px) {
      .homeProjectCard__text {
        right: 135px; } }
    @media screen and (max-width: 767.99px) {
      .homeProjectCard__text dl {
        width: calc(100vw - 30px); } }
    @media print, screen and (min-width: 768px) {
      .homeProjectCard__text dl {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 475px; } }
    .homeProjectCard__text dl dt {
      font-weight: bold;
      margin-right: 0.5em; }
      @media screen and (max-width: 767.99px) {
        .homeProjectCard__text dl dt {
          font-size: 1.8rem; } }
      @media print, screen and (min-width: 768px) {
        .homeProjectCard__text dl dt {
          font-size: 2.2rem; } }
    @media screen and (max-width: 767.99px) {
      .homeProjectCard__text dl dd {
        font-size: 1.4rem; } }
    @media print, screen and (min-width: 768px) {
      .homeProjectCard__text dl dd {
        font-size: 1.6rem; } }

.swiperProject {
  /* 前ページ、次ページボタン共通のスタイル */
  /* 前ページボタンのスタイル */
  /* 次ページボタンのスタイル */ }
  .swiperProject .swiper-button-prev-p,
  .swiperProject .swiper-button-next-p {
    cursor: pointer;
    position: absolute;
    top: auto;
    bottom: 0;
    left: auto;
    z-index: 1; }
    @media screen and (max-width: 767.99px) {
      .swiperProject .swiper-button-prev-p,
      .swiperProject .swiper-button-next-p {
        background-size: 40px 40px;
        width: 40px;
        /* ボタンの幅 */
        height: 40px; } }
    @media print, screen and (min-width: 768px) {
      .swiperProject .swiper-button-prev-p,
      .swiperProject .swiper-button-next-p {
        background-size: 60px 60px;
        width: 60px;
        /* ボタンの幅 */
        height: 60px;
        /* ボタンの高さ */ } }
  .swiperProject .swiper-button-prev-p {
    background-image: url("../images/home/icon-prev.jpg"); }
    @media screen and (max-width: 767.99px) {
      .swiperProject .swiper-button-prev-p {
        right: 41px; } }
    @media print, screen and (min-width: 768px) {
      .swiperProject .swiper-button-prev-p {
        right: 61px; } }
  .swiperProject .swiper-button-next-p {
    background-image: url("../images/home/icon-next.jpg");
    right: 0; }

@media screen and (max-width: 767.99px) {
  .homeAnchor {
    margin-top: 30px; } }
@media print, screen and (min-width: 768px) {
  .homeAnchor {
    margin-top: 50px; } }
@media print, screen and (min-width: 768px) {
  .homeAnchor__inner {
    width: 1200px;
    padding: 0 45px;
    margin: 0 auto; } }
.homeAnchor__list {
  display: grid;
  justify-content: center; }
  @media screen and (max-width: 767.99px) {
    .homeAnchor__list {
      grid-template-columns: repeat(2, 1fr);
      grid-gap: 10px; } }
  @media print, screen and (min-width: 768px) {
    .homeAnchor__list {
      grid-template-columns: repeat(3, 356px);
      grid-gap: 15px 10px; } }

.anchorItem {
  display: inline-grid;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 1em;
  align-items: center;
  justify-content: center;
  background-color: #f6f6f6;
  width: 100%;
  height: 100%;
  border-radius: calc(infinity * 1px);
  text-decoration: none !important; }
  @media screen and (max-width: 767.99px) {
    .anchorItem {
      font-size: 1.2rem;
      padding: 0.5em 1em; } }
  @media print, screen and (min-width: 768px) {
    .anchorItem {
      font-size: 1.4rem;
      padding: 1.5em 1.8em; } }
  .anchorItem::before {
    content: ""; }
  .anchorItem::after {
    content: "";
    display: inline-block;
    inline-size: 0.5em;
    aspect-ratio: 1;
    border-block-end: 3px solid #00c9be;
    border-inline-end: 3px solid #00c9be;
    justify-self: end;
    rotate: 45deg;
    margin-top: -0.5em; }
  .anchorItem:active, .anchorItem:focus, .anchorItem:hover, .anchorItem.hover {
    opacity: 0.7; }

@media screen and (max-width: 767.99px) {
  .homeData {
    padding-top: 70px; } }
@media print, screen and (min-width: 768px) {
  .homeData {
    padding-top: 118px; } }
@media print, screen and (min-width: 768px) {
  .homeData__inner {
    width: 1200px;
    padding: 0 45px;
    margin: 0 auto; } }

@media screen and (max-width: 767.99px) {
  .homeBenefit {
    padding-top: 70px;
    padding-bottom: 60px; } }
@media print, screen and (min-width: 768px) {
  .homeBenefit {
    padding-top: 195px;
    padding-bottom: 190px; } }
@media print, screen and (min-width: 768px) {
  .homeBenefit__inner {
    width: 1200px;
    padding: 0 45px;
    margin: 0 auto; } }

.homeLife {
  /* 前ページ、次ページボタン共通のスタイル */
  /* 前ページボタンのスタイル */
  /* 次ページボタンのスタイル */ }
  @media screen and (max-width: 767.99px) {
    .homeLife {
      margin-left: -15px;
      margin-right: -15px;
      margin-bottom: 70px; } }
  @media print, screen and (min-width: 768px) {
    .homeLife {
      margin-bottom: 160px; } }
  .homeLife__inner {
    position: relative; }
    @media print, screen and (min-width: 768px) {
      .homeLife__inner {
        width: 1200px;
        padding: 0 45px;
        margin: 0 auto; } }
  .homeLife .swiper-button-prev,
  .homeLife .swiper-button-next {
    background-size: contain; }
    @media screen and (max-width: 767.99px) {
      .homeLife .swiper-button-prev,
      .homeLife .swiper-button-next {
        top: 55%;
        width: 14px;
        /* ボタンの幅 */
        height: 23px; } }
    @media print, screen and (min-width: 768px) {
      .homeLife .swiper-button-prev,
      .homeLife .swiper-button-next {
        top: 60%;
        width: 14px;
        /* ボタンの幅 */
        height: 23px;
        /* ボタンの高さ */ } }
  .homeLife .swiper-button-prev {
    background-image: url("../images/home/icon-prev.png");
    right: 0; }
  .homeLife .swiper-button-next {
    background-image: url("../images/home/icon-next.png"); }

.dataList {
  display: grid; }
  @media screen and (max-width: 767.99px) {
    .dataList {
      grid-template-columns: repeat(2, 1fr);
      column-gap: 10px;
      row-gap: 10px; }
      .dataList .item1 {
        grid-column: 1 / 3; }
      .dataList .item2 {
        grid-column: 1 / 3; } }
  @media print, screen and (min-width: 768px) {
    .dataList {
      grid-template-columns: repeat(4, 1fr);
      column-gap: 20px;
      row-gap: 20px; }
      .dataList .item1 {
        grid-column: 1 / 3; }
      .dataList .item2 {
        grid-column: 3 / 5; } }

.cardData {
  text-align: center;
  border: 1px solid #00c9be; }
  @media screen and (max-width: 767.99px) {
    .cardData {
      border-radius: 10px;
      padding: 15px 15px; } }
  @media print, screen and (min-width: 768px) {
    .cardData {
      border-radius: 20px;
      padding: 30px 20px 15px; } }
  .cardData__image {
    margin-inline: auto; }
    @media screen and (max-width: 767.99px) {
      .cardData__image {
        width: 100%; } }
    @media print, screen and (min-width: 768px) {
      .cardData__image {
        width: 220px; } }
  .cardData__title {
    font-weight: bold;
    color: #00c9be;
    margin-bottom: 0.5em; }
    @media screen and (max-width: 767.99px) {
      .cardData__title {
        font-size: 1.6rem; } }
    @media print, screen and (min-width: 768px) {
      .cardData__title {
        font-size: 2.0rem; } }
  .cardData__text {
    text-align: left; }
  @media screen and (max-width: 767.99px) {
    .cardData__note {
      font-size: 1.2rem;
      margin-top: 0.5em; } }
  @media print, screen and (min-width: 768px) {
    .cardData__note {
      font-size: 1.4rem; } }
  @media print, screen and (min-width: 768px) {
    .cardData--2column {
      padding: 30px 50px 40px; } }
  .cardData--2column .cardData__image {
    margin-bottom: 1em; }
    @media screen and (max-width: 767.99px) {
      .cardData--2column .cardData__image {
        width: 235px; } }
    @media print, screen and (min-width: 768px) {
      .cardData--2column .cardData__image {
        height: 115px;
        width: auto; }
        .cardData--2column .cardData__image img {
          height: 100%;
          width: auto;
          max-width: none; } }
  @media screen and (max-width: 767.99px) {
    .cardData--2column .cardData__title {
      font-size: 1.8rem; } }
  @media print, screen and (min-width: 768px) {
    .cardData--2column .cardData__title {
      font-size: 2.4rem; } }

.benefitList {
  display: grid; }
  @media screen and (max-width: 767.99px) {
    .benefitList {
      grid-gap: 10px; } }
  @media print, screen and (min-width: 768px) {
    .benefitList {
      grid-template-columns: repeat(3, 1fr);
      grid-gap: 20px; } }

button.cardBenefit {
  cursor: pointer;
  transition: 0.3s border ease-in; }
  button.cardBenefit::before {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0;
    padding-right: 0;
    position: absolute;
    top: 12px;
    right: 14px;
    color: #353838;
    font-size: 2.2rem;
    transition: 0.3s color ease-in; }
  button.cardBenefit:hover, button.cardBenefit:focus, button.cardBenefit:active {
    border-color: #2ebb9f; }
    button.cardBenefit:hover::before, button.cardBenefit:focus::before, button.cardBenefit:active::before {
      color: #2ebb9f; }

.cardBenefit {
  display: flex;
  align-items: center;
  gap: 15px;
  background-color: #f4f4f4;
  border: 1px solid #f4f4f4;
  position: relative;
  width: 100%;
  color: #1b1b1b; }
  @media screen and (max-width: 767.99px) {
    .cardBenefit {
      border-radius: 10px;
      padding: 20px 20px 20px 20px; } }
  @media print, screen and (min-width: 768px) {
    .cardBenefit {
      border-radius: 20px;
      padding: 24px 30px; } }
  @media screen and (max-width: 767.99px) {
    .cardBenefit__icon {
      width: 71px; } }
  @media print, screen and (min-width: 768px) {
    .cardBenefit__icon {
      width: 74px; } }
  .cardBenefit__icon img {
    width: 100%;
    height: auto; }
  .cardBenefit__title {
    font-weight: bold; }
    @media screen and (max-width: 767.99px) {
      .cardBenefit__title {
        font-size: 1.8rem; } }
    @media print, screen and (min-width: 768px) {
      .cardBenefit__title {
        font-size: 2.0rem; } }
  .cardBenefit__note {
    position: absolute; }
    @media screen and (max-width: 767.99px) {
      .cardBenefit__note {
        right: 15px;
        bottom: 8px; } }
    @media print, screen and (min-width: 768px) {
      .cardBenefit__note {
        right: 15px;
        bottom: 15px; } }
    @media screen and (max-width: 767.99px) {
      .cardBenefit__note {
        font-size: 1.2rem; } }
    @media print, screen and (min-width: 768px) {
      .cardBenefit__note {
        font-size: 1.2rem; } }

.benefitData__icon {
  aspect-ratio: 1 / 1;
  margin-inline: auto; }
  @media screen and (max-width: 767.99px) {
    .benefitData__icon {
      width: 71px; } }
  @media print, screen and (min-width: 768px) {
    .benefitData__icon {
      width: 74px; } }
.benefitData__title {
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 20px; }
  @media screen and (max-width: 767.99px) {
    .benefitData__title {
      font-size: 2.0rem; } }
  @media print, screen and (min-width: 768px) {
    .benefitData__title {
      font-size: 2.4rem; } }

button.cardLife {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0; }

a.cardLife,
button.cardLife {
  text-decoration: none; }
  a.cardLife:hover .cardLife__image, a.cardLife:focus .cardLife__image, a.cardLife:active .cardLife__image,
  button.cardLife:hover .cardLife__image,
  button.cardLife:focus .cardLife__image,
  button.cardLife:active .cardLife__image {
    box-shadow: 10px 10px 10px 0px rgba(149, 149, 149, 0.4); }
  a.cardLife:hover .cardLife__body, a.cardLife:focus .cardLife__body, a.cardLife:active .cardLife__body,
  button.cardLife:hover .cardLife__body,
  button.cardLife:focus .cardLife__body,
  button.cardLife:active .cardLife__body {
    color: #2ebb9f; }

.cardLife {
  display: block;
  padding-top: 4px; }
  .cardLife__image {
    transition: 0.3s ease-out;
    border-radius: 10px;
    box-shadow: 4px 4px 5px 0px rgba(149, 149, 149, 0.4); }
    .cardLife__image img {
      border-radius: 10px;
      aspect-ratio: 4 / 3;
      object-position: center;
      object-fit: contain; }
  .cardLife__body {
    transition: 0.3s ease-out; }
    @media screen and (max-width: 767.99px) {
      .cardLife__body {
        padding: 10px; } }
    @media print, screen and (min-width: 768px) {
      .cardLife__body {
        padding: 14px;
        text-align: left;
        font-size: 1.6rem; } }
  .cardLife__date {
    color: #808080; }
    @media screen and (max-width: 767.99px) {
      .cardLife__date {
        font-size: 1.2rem; } }
    @media print, screen and (min-width: 768px) {
      .cardLife__date {
        font-size: 1.4rem; } }
  .cardLife__title {
    display: block;
    margin-bottom: 2px; }

.lifeData__image {
  width: 100%;
  margin-bottom: 0.8em; }
  .lifeData__image img {
    border-radius: 10px;
    aspect-ratio: 4 / 3;
    object-position: center;
    object-fit: contain; }
.lifeData__date {
  color: #808080; }
  @media screen and (max-width: 767.99px) {
    .lifeData__date {
      font-size: 1.2rem; } }
  @media print, screen and (min-width: 768px) {
    .lifeData__date {
      font-size: 1.3rem; } }
.lifeData__title {
  margin-bottom: 0.3em; }
@media screen and (max-width: 767.99px) {
  .lifeData__text {
    font-size: 1.4rem; } }
@media print, screen and (min-width: 768px) {
  .lifeData__text {
    font-size: 1.4rem; } }

/* Scss Document */
.tableLayoutNews {
  display: block;
  width: 100%;
  margin-bottom: 1.8em;
  margin-top: 0.8em; }
  .tableLayoutNews__tbody {
    display: block;
    width: 100%; }
    .tableLayoutNews__tbody:last-child .tableLayoutNews__tbodyTr {
      border: none; }
  .tableLayoutNews__tbody.new .tableLayoutNews__tbodyTd::after {
    color: #ff6571;
    content: "NEW";
    display: inline-block;
    margin-left: 5px; }
  .tableLayoutNews__tbodyTr {
    border-bottom: rgba(27, 27, 27, 0.4) 1px solid; }
    @media screen and (max-width: 767.99px) {
      .tableLayoutNews__tbodyTr {
        display: block; } }
    @media print, screen and (min-width: 768px) {
      .tableLayoutNews__tbodyTr {
        display: flex;
        width: 100%; } }
  .tableLayoutNews__tbodyTh {
    display: block; }
    @media screen and (max-width: 767.99px) {
      .tableLayoutNews__tbodyTh {
        padding: 0.8em 0.8em 0 0; } }
    @media print, screen and (min-width: 768px) {
      .tableLayoutNews__tbodyTh {
        flex-grow: 0;
        flex-shrink: 0;
        width: 16.0em;
        padding: 0.7em 1.0em 0.7em 1.8em; } }
  .tableLayoutNews__tbodyTd {
    display: block; }
    @media screen and (max-width: 767.99px) {
      .tableLayoutNews__tbodyTd {
        padding: 0 0 1.2em; } }
    @media print, screen and (min-width: 768px) {
      .tableLayoutNews__tbodyTd {
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: 100%;
        padding: 0.8em; } }
    .tableLayoutNews__tbodyTd > *:first-child {
      margin-top: 0 !important; }

.newsSets {
  display: flex;
  width: auto;
  align-items: flex-start; }
  @media screen and (max-width: 767.99px) {
    .newsSets {
      align-items: center; } }
  @media print, screen and (min-width: 768px) {
    .newsSets {
      align-content: center; } }
  .newsSets__date {
    display: block;
    letter-spacing: 0; }
    @media screen and (max-width: 767.99px) {
      .newsSets__date {
        width: 8em;
        margin-right: 4px; } }
    @media print, screen and (min-width: 768px) {
      .newsSets__date {
        width: 9em;
        margin-right: 5px; } }
  .newsSets__cat {
    display: block;
    text-align: center;
    border-radius: 2em;
    border-style: solid;
    border-width: 2px;
    font-weight: bold; }
    @media screen and (max-width: 767.99px) {
      .newsSets__cat {
        font-size: 1.0rem;
        line-height: 1.2;
        padding: 0px 4px; } }
    @media print, screen and (min-width: 768px) {
      .newsSets__cat {
        font-size: 1.2rem;
        width: 90px; } }
    .newsSets__cat--01 {
      color: #008bbe;
      border-color: #008bbe; }
    .newsSets__cat--02 {
      color: #00a1be;
      border-color: #00a1be; }
    .newsSets__cat--03 {
      color: #5f4ca6;
      border-color: #5f4ca6; }
    .newsSets__cat--04 {
      color: #1b4fb7;
      border-color: #1b4fb7; }
    .newsSets__cat--05 {
      color: #129480;
      border-color: #129480; }
    .newsSets__cat--06 {
      color: #707070;
      border-color: #707070; }
  .newsSets--flexEnd {
    justify-content: flex-end; }
    @media print, screen and (min-width: 768px) {
      .newsSets--flexEnd .newsSets__date {
        margin-right: 10px; } }

.link-news {
  margin: 20px 0px 10px;
  padding-left: 1em;
  width: 100%; }
  .link-news > li {
    clear: both;
    overflow: hidden; }
  .link-news li + li {
    margin-top: 10px; }
  .link-news a {
    display: block;
    float: left;
    font-weight: bold; }
    .link-news a:link, .link-news a:visited {
      color: #1b1b1b !important;
      text-decoration: none; }
    .link-news a:hover, .link-news a:focus, .link-news a:active {
      text-decoration: underline; }
  .link-news a.pdf {
    background: #ffcac9 url(../images/icon-pdf2.png) no-repeat 5px 8px;
    border-radius: 5px; }
    @media screen and (max-width: 767.99px) {
      .link-news a.pdf {
        font-size: 1.6rem; } }
    @media print, screen and (min-width: 768px) {
      .link-news a.pdf {
        font-size: 1.8rem; } }
    .link-news a.pdf--lg {
      background-position: 5px 50%; }
  .link-news a.url {
    background: #b0c3f9 url(../images/icon-link.png) no-repeat 5px 8px;
    border-radius: 5px; }
    @media screen and (max-width: 767.99px) {
      .link-news a.url {
        font-size: 1.6rem; } }
    @media print, screen and (min-width: 768px) {
      .link-news a.url {
        font-size: 1.8rem; } }
    .link-news a.url--lg {
      background-position: 5px 50%; }
  .link-news a > span {
    display: block;
    margin-right: 10px;
    padding: 5px 0px 5px 30px;
    cursor: pointer;
    font-weight: bold; }
  .link-news a.url--lg > span {
    display: block;
    margin-right: 10px;
    padding: 10px 0 10px 32px;
    cursor: pointer;
    font-weight: bold; }
  .link-news a.pdf--lg > span {
    display: block;
    margin-right: 10px;
    padding: 10px 0 10px 32px;
    cursor: pointer;
    font-weight: bold; }

/* Scss Document */
@media screen and (max-width: 767.99px) {
  body:not(#home) {
    padding-top: 50px; } }
@media print, screen and (min-width: 768px) {
  body:not(#home) {
    padding-top: 90px; } }

/* =========================================================
 textLink icon
========================================================= */
main a:not([class*="button"]):link, main a:not([class*="button"]):visited, main a:not([class*="Button"]):link, main a:not([class*="Button"]):visited {
  color: #1b1b1b; }
main a:not([class*="button"]):hover, main a:not([class*="button"]):active, main a:not([class*="button"]):focus, main a:not([class*="button"]).hover, main a:not([class*="Button"]):hover, main a:not([class*="Button"]):active, main a:not([class*="Button"]):focus, main a:not([class*="Button"]).hover {
  color: #1b1b1b; }
main a:not([class])[href$=".pdf"]:after, main a[class^="homeButton"][href$=".pdf"]:after, main a[class^="button"][href$=".pdf"]:after {
  font-family: "Font Awesome 7 Free";
  content: "";
  font-weight: 900;
  padding-left: 0.5rem;
  padding-right: 0; }
main a:not([class])[href*=".doc"]:after, main a[class^="homeButton"][href$=".doc"]:after, main a[class^="button"][href*=".doc"]:after {
  font-family: "Font Awesome 7 Free";
  content: "";
  font-weight: 900;
  padding-left: 0.5rem;
  padding-right: 0; }
main a:not([class])[href*=".xls"]:after, main a[class^="homeButton"][href*=".xls"]:after, main a[class^="button"][href*=".xls"]:after {
  font-family: "Font Awesome 7 Free";
  content: "";
  font-weight: 900;
  padding-left: 0.5rem;
  padding-right: 0; }
main a:not([class])[href^="http"]:after, main a[class^="homeButton"][href^="http"]:after, main a[class^="homeButton"][class^="button"][href^="http"]:after, main a[class^="button"][href^="http"]:after {
  font-family: "Font Awesome 7 Free";
  content: "";
  font-weight: 900;
  padding-left: 0.5rem;
  padding-right: 0; }
main a:not([class])[href^="mailto"]:after, main a[class^="homeButton"][href^="mailto"]:after, main a[class^="homeButton"][class^="button"][href^="mailto"]:after, main a[class^="button"][href^="mailto"]:after {
  font-family: "Font Awesome 7 Free";
  content: "";
  font-weight: 900;
  padding-left: 0.5rem;
  padding-right: 0; }

/* =========================================================
 text-a
========================================================= */
.text-center {
  text-align: center; }

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

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

@media print, screen and (min-width: 768px) {
  .text-center-pc {
    text-align: center; } }

/* =========================================================
 p
========================================================= */
main p:not([class]) {
  margin-bottom: 0.8em;
  margin-top: 0.8em; }

main p:not([class]):empty {
  height: 1em; }

/* =========================================================
 strong
========================================================= */
main strong:not([class]) {
  font-weight: bold; }

/* a opacity
--------------------------------------------------------- */
/* =========================================================
 Googlemap
========================================================= */
.ggmapArea {
  margin-top: 2em;
  height: 0;
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 767.99px) {
    .ggmapArea {
      padding-bottom: 200px;
      padding-top: 30px; } }
  @media print, screen and (min-width: 768px) {
    .ggmapArea {
      padding-bottom: 350px;
      padding-top: 30px; } }
  .ggmapArea iframe, .ggmapArea object, .ggmapArea embed {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
  .ggmapArea--mat0 {
    margin-top: 0; }

/* =========================================================
 youtube
========================================================= */
.youtubeArea {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden; }
  .youtubeArea iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/* =========================================================
 Ul
========================================================= */
.baseUl {
  margin-bottom: 0.8em;
  margin-top: 0.8em; }
  .baseUl li {
    padding-left: 1.5em; }
    .baseUl li + li {
      margin-top: 0.2em; }
  .baseUl > li {
    position: relative; }
    .baseUl > li ol, .baseUl > li ul {
      margin-top: 0.2em; }
    .baseUl > li > ul > li {
      position: relative; }
      .baseUl > li > ul > li:before {
        content: "";
        display: inline-block;
        width: 0.3em;
        height: 0.3em;
        background-color: #00c9be;
        border-radius: 0.5em;
        position: absolute;
        top: calc(1em - 0.4em);
        left: 0.3em; }
  .baseUl > li:before {
    content: "";
    display: inline-block;
    width: 0.3em;
    height: 0.3em;
    background-color: #00c9be;
    border-radius: 0.5em;
    position: absolute;
    top: calc(1em - 0.4em);
    left: 0.3em; }
  @media print, screen and (min-width: 768px) {
    .baseUl--inline li {
      display: inline-block; } }
  @media print, screen and (min-width: 768px) {
    .baseUl--pc2col {
      display: flex;
      flex-wrap: wrap; } }
  @media print, screen and (min-width: 768px) {
    .baseUl--pc2col > li {
      width: 50%; } }
  @media print, screen and (min-width: 768px) {
    .baseUl--pc4col {
      display: flex;
      flex-wrap: wrap; } }
  @media print, screen and (min-width: 768px) {
    .baseUl--pc4col > li {
      width: 25%; } }

/* =========================================================
 anchorUl
========================================================= */
.anchorUl {
  margin-bottom: 0.8em;
  margin-top: 0.8em;
  background-color: rgba(27, 27, 27, 0.05); }
  @media screen and (max-width: 767.99px) {
    .anchorUl {
      padding: 0 15px 15px; } }
  @media print, screen and (min-width: 768px) {
    .anchorUl {
      padding: 16px 30px 22px; } }
  .anchorUl li {
    margin-top: 0.5em;
    display: inline-block; }
    @media screen and (max-width: 767.99px) {
      .anchorUl li {
        margin-right: 1em; } }
    @media print, screen and (min-width: 768px) {
      .anchorUl li {
        margin-right: 2.3em;
        white-space: nowrap; } }
  .anchorUl > li {
    position: relative; }
    .anchorUl > li ol, .anchorUl > li ul {
      margin-top: 0.2em; }
  .anchorUl > li:before {
    content: "";
    display: inline-block;
    background-image: url("../images/icon-arrow-green.png");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 7px auto;
    width: 7px;
    height: 7px;
    transform: rotate(90deg);
    margin-right: 10px; }

/* =========================================================
 Ul　注釈
========================================================= */
.asteriskUl {
  list-style: none;
  margin-left: 1.2em;
  margin-bottom: 0.8em;
  margin-top: 0.8em; }
  .asteriskUl--sm {
    font-size: 80%; }
  .asteriskUl > li:before {
    display: inline-block;
    width: 1.2em;
    margin-left: -1.2em;
    content: "※"; }
  .asteriskUl li + li {
    margin-top: 0.2em; }

/* =========================================================
 linkUl
========================================================= */
.linkUl {
  margin-bottom: 0.8em;
  margin-top: 0.8em; }
  .linkUl li {
    display: flex;
    align-items: center; }
    .linkUl li::before {
      content: "";
      display: block;
      background: url(../images/icon-arrow-blue.png) no-repeat;
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: 7px auto;
      width: 7px;
      height: 7px;
      background-color: transparent !important;
      margin-right: 0.8em; }
    .linkUl li + li {
      margin-top: 0.2em; }

/* =========================================================
 Ol
========================================================= */
.baseOl {
  list-style-type: decimal;
  margin-left: 1.5em;
  margin-bottom: 0.5em;
  margin-top: 0.5em; }
  .baseOl li + li {
    margin-top: 0.2em; }
  .baseOl > li ol, .baseOl > li ul {
    margin-top: 0.2em; }

/* =========================================================
 Ol　注釈数字
========================================================= */
.asteriskOl {
  counter-reset: number;
  list-style: none;
  margin-left: 2.2em;
  margin-bottom: 0.5em;
  margin-top: 0.5em; }
  .asteriskOl--sm {
    font-size: 80%; }
  .asteriskOl > li:before {
    display: inline-block;
    width: 2.2em;
    margin-left: -2.2em;
    counter-increment: number;
    content: "※" counter(number) " "; }
  .asteriskOl li + li {
    margin-top: 0.2em; }

/* =========================================================
 Dl
========================================================= */
.baseDl {
  margin-bottom: 0.5em;
  margin-top: 0.5em; }
  .baseDl dt {
    font-weight: bold;
    position: relative;
    padding-left: 1.5em;
    line-height: 1.4; }
    .baseDl dt::before {
      position: absolute;
      content: "";
      background-color: #d9cbb8;
      border-radius: 3px;
      top: 0;
      left: 0.5em;
      width: 6px;
      height: 100%; }
  @media screen and (max-width: 767.99px) {
    .baseDl dd {
      padding-left: 2.5em; } }
  @media print, screen and (min-width: 768px) {
    .baseDl dd {
      padding-left: 3.5em; } }
  .baseDl dt + dd {
    margin-top: 1em; }
  .baseDl dd + dt {
    margin-top: 1.2em; }

/* =========================================================
 Table
========================================================= */
/*------- table用スクロール-------------- */
.scroll {
  overflow-x: auto !important;
  overflow-y: hidden;
  margin-bottom: 1.5em; }
  .scroll::-webkit-scrollbar {
    /* スクロールバー本体 */
    width: 15px;
    height: 15px;
    background: #ccc; }
  .scroll::-webkit-scrollbar:horizontal {
    /* 横方向のスクロールバー本体 */
    width: 12px;
    height: 12px;
    background: #ccc; }
  .scroll::-webkit-scrollbar-thumb {
    /* スクロールバーの動く部分 */
    background: #999;
    border: #666 solid 1px;
    border-radius: 0; }
  .scroll::-webkit-scrollbar-thumb:horizontal {
    /* 横方向のスクロールバーの動く部分 */
    background: #999;
    border: #666 solid 1px;
    border-radius: 0; }
  .scroll::-webkit-scrollbar-track-piece:start {
    /* スクロールバーの動く部分の前 */
    background: #ccc; }
  .scroll::-webkit-scrollbar-track-piece:end {
    /* スクロールバーの動く部分の後ろ */
    background: #ccc; }
  .scroll::-webkit-scrollbar-corner {
    /* スクロールバー角 */
    background: transparent; }
  .scroll > * {
    margin: 0 !important; }

/* table.baseTable(tableタグのみ)
--------------------------------------------------------- */
table.baseTable {
  margin-bottom: 0.8em;
  margin-top: 0.8em;
  border-bottom: 1px solid rgba(27, 27, 27, 0.4);
  border-right: 1px solid rgba(27, 27, 27, 0.4); }
  table.baseTable--fluid {
    width: 100%; }
  table.baseTable--fixed {
    width: 0px;
    table-layout: fixed; }
  table.baseTable caption {
    caption-side: top;
    text-align: left;
    font-weight: bold;
    margin-bottom: 5px;
    color: #1b1b1b; }
    @media print, screen and (min-width: 768px) {
      table.baseTable caption {
        font-size: 1.6rem;
        margin-bottom: 12px; } }
  table.baseTable th, table.baseTable td {
    border-top: 1px solid rgba(27, 27, 27, 0.4);
    border-left: 1px solid rgba(27, 27, 27, 0.4);
    padding: 1em; }
    @media screen and (max-width: 767.99px) {
      table.baseTable th, table.baseTable td {
        padding: 0.3em; } }
    @media print, screen and (min-width: 768px) {
      table.baseTable th, table.baseTable td {
        padding-left: 20px;
        padding-right: 20px; } }
  table.baseTable td {
    background-color: transparent; }
  table.baseTable th {
    background-color: rgba(27, 27, 27, 0.05);
    border-left: 1px solid rgba(27, 27, 27, 0.4);
    border-top: 1px solid rgba(27, 27, 27, 0.4); }
  table.baseTable thead tr + tr th {
    border-left: 1px solid rgba(27, 27, 27, 0.4) !important;
    border-top: 1px solid rgba(27, 27, 27, 0.4); }
  table.baseTable th[scope="row"] {
    text-align: left; }
  table.baseTable th[scope="col"], table.baseTable td {
    text-align: left; }
    table.baseTable th[scope="col"].txal-l, table.baseTable td.txal-l {
      text-align: left !important; }
    table.baseTable th[scope="col"].txal-c, table.baseTable td.txal-c {
      text-align: center !important; }
    table.baseTable th[scope="col"].txal-r, table.baseTable td.txal-r {
      text-align: right !important; }
  table.baseTable td.veral-c {
    vertical-align: center !important; }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-2em, table.baseTable td.w-2em {
      width: calc( 0.6em + 1px + 2em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-2em, table.baseTable td.w-2em {
      width: calc( 40px + 1px + 2em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-3em, table.baseTable td.w-3em {
      width: calc( 0.6em + 1px + 3em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-3em, table.baseTable td.w-3em {
      width: calc( 40px + 1px + 3em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-4em, table.baseTable td.w-4em {
      width: calc( 0.6em + 1px + 4em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-4em, table.baseTable td.w-4em {
      width: calc( 40px + 1px + 4em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-5em, table.baseTable td.w-5em {
      width: calc( 0.6em + 1px + 5em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-5em, table.baseTable td.w-5em {
      width: calc( 40px + 1px + 5em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-6em, table.baseTable td.w-6em {
      width: calc( 0.6em + 1px + 6em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-6em, table.baseTable td.w-6em {
      width: calc( 40px + 1px + 6em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-7em, table.baseTable td.w-7em {
      width: calc( 0.6em + 1px + 7em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-7em, table.baseTable td.w-7em {
      width: calc( 40px + 1px + 7em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-8em, table.baseTable td.w-8em {
      width: calc( 0.6em + 1px + 8em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-8em, table.baseTable td.w-8em {
      width: calc( 40px + 1px + 8em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-9em, table.baseTable td.w-9em {
      width: calc( 0.6em + 1px + 9em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-9em, table.baseTable td.w-9em {
      width: calc( 40px + 1px + 9em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-10em, table.baseTable td.w-10em {
      width: calc( 0.6em + 1px + 10em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-10em, table.baseTable td.w-10em {
      width: calc( 40px + 1px + 10em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-11em, table.baseTable td.w-11em {
      width: calc( 0.6em + 1px + 11em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-11em, table.baseTable td.w-11em {
      width: calc( 40px + 1px + 11em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-12em, table.baseTable td.w-12em {
      width: calc( 0.6em + 1px + 12em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-12em, table.baseTable td.w-12em {
      width: calc( 40px + 1px + 12em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-13em, table.baseTable td.w-13em {
      width: calc( 0.6em + 1px + 13em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-13em, table.baseTable td.w-13em {
      width: calc( 40px + 1px + 13em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-14em, table.baseTable td.w-14em {
      width: calc( 0.6em + 1px + 14em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-14em, table.baseTable td.w-14em {
      width: calc( 40px + 1px + 14em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-15em, table.baseTable td.w-15em {
      width: calc( 0.6em + 1px + 15em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-15em, table.baseTable td.w-15em {
      width: calc( 40px + 1px + 15em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-16em, table.baseTable td.w-16em {
      width: calc( 0.6em + 1px + 16em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-16em, table.baseTable td.w-16em {
      width: calc( 40px + 1px + 16em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-17em, table.baseTable td.w-17em {
      width: calc( 0.6em + 1px + 17em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-17em, table.baseTable td.w-17em {
      width: calc( 40px + 1px + 17em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-18em, table.baseTable td.w-18em {
      width: calc( 0.6em + 1px + 18em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-18em, table.baseTable td.w-18em {
      width: calc( 40px + 1px + 18em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-19em, table.baseTable td.w-19em {
      width: calc( 0.6em + 1px + 19em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-19em, table.baseTable td.w-19em {
      width: calc( 40px + 1px + 19em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-20em, table.baseTable td.w-20em {
      width: calc( 0.6em + 1px + 20em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-20em, table.baseTable td.w-20em {
      width: calc( 40px + 1px + 20em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-21em, table.baseTable td.w-21em {
      width: calc( 0.6em + 1px + 21em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-21em, table.baseTable td.w-21em {
      width: calc( 40px + 1px + 21em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-22em, table.baseTable td.w-22em {
      width: calc( 0.6em + 1px + 22em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-22em, table.baseTable td.w-22em {
      width: calc( 40px + 1px + 22em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-23em, table.baseTable td.w-23em {
      width: calc( 0.6em + 1px + 23em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-23em, table.baseTable td.w-23em {
      width: calc( 40px + 1px + 23em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-24em, table.baseTable td.w-24em {
      width: calc( 0.6em + 1px + 24em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-24em, table.baseTable td.w-24em {
      width: calc( 40px + 1px + 24em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-25em, table.baseTable td.w-25em {
      width: calc( 0.6em + 1px + 25em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-25em, table.baseTable td.w-25em {
      width: calc( 40px + 1px + 25em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-25em, table.baseTable td.w-25em {
      width: calc( 0.6em + 1px + 25em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-25em, table.baseTable td.w-25em {
      width: calc( 40px + 1px + 25em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-26em, table.baseTable td.w-26em {
      width: calc( 0.6em + 1px + 26em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-26em, table.baseTable td.w-26em {
      width: calc( 40px + 1px + 26em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-27em, table.baseTable td.w-27em {
      width: calc( 0.6em + 1px + 27em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-27em, table.baseTable td.w-27em {
      width: calc( 40px + 1px + 27em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-28em, table.baseTable td.w-28em {
      width: calc( 0.6em + 1px + 28em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-28em, table.baseTable td.w-28em {
      width: calc( 40px + 1px + 28em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-29em, table.baseTable td.w-29em {
      width: calc( 0.6em + 1px + 29em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-29em, table.baseTable td.w-29em {
      width: calc( 40px + 1px + 29em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-30em, table.baseTable td.w-30em {
      width: calc( 0.6em + 1px + 30em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-30em, table.baseTable td.w-30em {
      width: calc( 40px + 1px + 30em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-31em, table.baseTable td.w-31em {
      width: calc( 0.6em + 1px + 31em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-31em, table.baseTable td.w-31em {
      width: calc( 40px + 1px + 31em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-32em, table.baseTable td.w-32em {
      width: calc( 0.6em + 1px + 32em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-32em, table.baseTable td.w-32em {
      width: calc( 40px + 1px + 32em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-33em, table.baseTable td.w-33em {
      width: calc( 0.6em + 1px + 33em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-33em, table.baseTable td.w-33em {
      width: calc( 40px + 1px + 33em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-34em, table.baseTable td.w-34em {
      width: calc( 0.6em + 1px + 34em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-34em, table.baseTable td.w-34em {
      width: calc( 40px + 1px + 34em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-35em, table.baseTable td.w-35em {
      width: calc( 0.6em + 1px + 35em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-35em, table.baseTable td.w-35em {
      width: calc( 40px + 1px + 35em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-36em, table.baseTable td.w-36em {
      width: calc( 0.6em + 1px + 36em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-36em, table.baseTable td.w-36em {
      width: calc( 40px + 1px + 36em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-37em, table.baseTable td.w-37em {
      width: calc( 0.6em + 1px + 37em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-37em, table.baseTable td.w-37em {
      width: calc( 40px + 1px + 37em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-38em, table.baseTable td.w-38em {
      width: calc( 0.6em + 1px + 38em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-38em, table.baseTable td.w-38em {
      width: calc( 40px + 1px + 38em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-39em, table.baseTable td.w-39em {
      width: calc( 0.6em + 1px + 39em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-39em, table.baseTable td.w-39em {
      width: calc( 40px + 1px + 39em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-40em, table.baseTable td.w-40em {
      width: calc( 0.6em + 1px + 40em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-40em, table.baseTable td.w-40em {
      width: calc( 40px + 1px + 40em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-41em, table.baseTable td.w-41em {
      width: calc( 0.6em + 1px + 41em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-41em, table.baseTable td.w-41em {
      width: calc( 40px + 1px + 41em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-42em, table.baseTable td.w-42em {
      width: calc( 0.6em + 1px + 42em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-42em, table.baseTable td.w-42em {
      width: calc( 40px + 1px + 42em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-43em, table.baseTable td.w-43em {
      width: calc( 0.6em + 1px + 43em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-43em, table.baseTable td.w-43em {
      width: calc( 40px + 1px + 43em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-44em, table.baseTable td.w-44em {
      width: calc( 0.6em + 1px + 44em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-44em, table.baseTable td.w-44em {
      width: calc( 40px + 1px + 44em); } }
  @media screen and (max-width: 767.99px) {
    table.baseTable th.w-45em, table.baseTable td.w-45em {
      width: calc( 0.6em + 1px + 45em); } }
  @media print, screen and (min-width: 768px) {
    table.baseTable th.w-45em, table.baseTable td.w-45em {
      width: calc( 40px + 1px + 45em); } }
  table.baseTable .nowrap {
    white-space: nowrap; }

/* tableLayoutテーブル風デザイン　(tableタグまたは、ul・dlの組み合わせ)thに背景色なし
--------------------------------------------------------- */
.tableLayout {
  display: block;
  width: 100%;
  margin-bottom: 1.5em;
  margin-top: 1.5em;
  border-top: #ccc 1px solid; }
  .tableLayout__tbody {
    display: block;
    width: 100%; }
  .tableLayout__tbodyTr {
    border-bottom: #ccc 1px solid; }
    @media screen and (max-width: 767.99px) {
      .tableLayout__tbodyTr {
        display: block; } }
    @media print, screen and (min-width: 768px) {
      .tableLayout__tbodyTr {
        display: flex;
        width: 100%; } }
  .tableLayout__tbodyTh {
    display: block; }
    @media screen and (max-width: 767.99px) {
      .tableLayout__tbodyTh {
        padding: 0.5em 0.5em 0; } }
    @media print, screen and (min-width: 768px) {
      .tableLayout__tbodyTh {
        padding: 1.3em 2em;
        flex-grow: 0;
        flex-shrink: 0;
        width: 12em; }
        .tableLayout__tbodyTh--xxs {
          width: 4em; }
        .tableLayout__tbodyTh--xs {
          width: 6em; }
        .tableLayout__tbodyTh--sm {
          width: 9em; }
        .tableLayout__tbodyTh--md {
          width: 14em; }
        .tableLayout__tbodyTh--lg {
          width: 18em; }
        .tableLayout__tbodyTh--xl {
          width: 24em; }
        .tableLayout__tbodyTh--xxl {
          width: 30em; }
        .tableLayout__tbodyTh--3l {
          width: 35em; }
        .tableLayout__tbodyTh--4l {
          width: 40em; } }
  .tableLayout__tbodyTd {
    display: block; }
    @media screen and (max-width: 767.99px) {
      .tableLayout__tbodyTd {
        padding: 0 0.5em 0.5em; } }
    @media print, screen and (min-width: 768px) {
      .tableLayout__tbodyTd {
        padding: 1.3em 2em;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: 100%; } }
    .tableLayout__tbodyTd > *:first-child {
      margin-top: 0 !important; }
    .tableLayout__tbodyTd > *:last-child {
      margin-bottom: 0 !important; }

.tableLayoutcaption__caption {
  text-align: left;
  font-weight: bold;
  margin-bottom: 5px; }
  .tableLayoutcaption__caption + * {
    margin-top: 0 !important; }

/* tableLayoutテーブル風デザイン　(tableタグまたは、ul・dlの組み合わせ) thに背景色あり
--------------------------------------------------------- */
.tableLayoutBg {
  display: block;
  width: 100%;
  margin-bottom: 1.5em;
  margin-top: 1.5em; }
  @media print, screen and (min-width: 768px) {
    .tableLayoutBg {
      border-top: rgba(27, 27, 27, 0.4) 1px solid; } }
  .tableLayoutBg__tbody {
    display: block;
    width: 100%; }
  @media screen and (max-width: 767.99px) {
    .tableLayoutBg__tbodyTr {
      display: block; } }
  @media print, screen and (min-width: 768px) {
    .tableLayoutBg__tbodyTr {
      display: flex;
      width: 100%;
      border-bottom: rgba(27, 27, 27, 0.4) 1px solid; } }
  .tableLayoutBg__tbodyTh {
    background-color: rgba(27, 27, 27, 0.05);
    display: block; }
    @media screen and (max-width: 767.99px) {
      .tableLayoutBg__tbodyTh {
        padding: 0.9em; } }
    @media print, screen and (min-width: 768px) {
      .tableLayoutBg__tbodyTh {
        padding: 1.3em 2em;
        flex-grow: 0;
        flex-shrink: 0;
        width: 12em; }
        .tableLayoutBg__tbodyTh--xxs {
          width: 4em; }
        .tableLayoutBg__tbodyTh--xs {
          width: 6em; }
        .tableLayoutBg__tbodyTh--sm {
          width: 9em; }
        .tableLayoutBg__tbodyTh--md {
          width: 14em; }
        .tableLayoutBg__tbodyTh--lg {
          width: 18em; }
        .tableLayoutBg__tbodyTh--xl {
          width: 24em; }
        .tableLayoutBg__tbodyTh--xxl {
          width: 30em; }
        .tableLayoutBg__tbodyTh--3l {
          width: 35em; }
        .tableLayoutBg__tbodyTh--4l {
          width: 40em; } }
  .tableLayoutBg__tbodyTd {
    display: block; }
    @media screen and (max-width: 767.99px) {
      .tableLayoutBg__tbodyTd {
        padding: 0.9em; } }
    @media print, screen and (min-width: 768px) {
      .tableLayoutBg__tbodyTd {
        padding: 1.3em 2em;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: 100%; } }
    .tableLayoutBg__tbodyTd > *:first-child {
      margin-top: 0 !important; }
    .tableLayoutBg__tbodyTd > *:last-child {
      margin-bottom: 0 !important; }

/* tableLayoutDotテーブル風破線デザイン　(tableタグまたは、ul・dlの組み合わせ)
--------------------------------------------------------- */
.tableLayoutDot {
  display: block;
  width: 100%;
  margin-bottom: 0.8em;
  margin-top: 0.8em;
  background: url(../images/bg_dot.png) repeat-x 0 100%;
  padding-bottom: 1px; }
  .tableLayoutDot__tbody {
    display: block;
    width: 100%; }
  @media screen and (max-width: 767.99px) {
    .tableLayoutDot__tbodyTr {
      display: block; } }
  @media print, screen and (min-width: 768px) {
    .tableLayoutDot__tbodyTr {
      display: flex;
      width: 100%;
      background-image: url(../images/bg_dot.png);
      background-position: 0 0;
      background-repeat: repeat-x;
      padding-top: 1px; } }
  .tableLayoutDot__tbodyTh {
    display: block; }
    @media screen and (max-width: 767.99px) {
      .tableLayoutDot__tbodyTh {
        background-image: url(../images/bg_dot.png);
        background-position: 0 0;
        background-repeat: repeat-x;
        padding-top: calc( 0.5em + 1px);
        font-weight: bold;
        padding: 0.8em 0.8em 0 0.8em; } }
    @media print, screen and (min-width: 768px) {
      .tableLayoutDot__tbodyTh {
        padding: 0.8em;
        flex-grow: 0;
        flex-shrink: 0;
        width: 12em; }
        .tableLayoutDot__tbodyTh--xxs {
          width: 4em; }
        .tableLayoutDot__tbodyTh--xs {
          width: 6em; }
        .tableLayoutDot__tbodyTh--sm {
          width: 9em; }
        .tableLayoutDot__tbodyTh--md {
          width: 14em; }
        .tableLayoutDot__tbodyTh--lg {
          width: 18em; }
        .tableLayoutDot__tbodyTh--xl {
          width: 24em; }
        .tableLayoutDot__tbodyTh--xxl {
          width: 30em; }
        .tableLayoutDot__tbodyTh--3l {
          width: 35em; }
        .tableLayoutDot__tbodyTh--4l {
          width: 40em; } }
  .tableLayoutDot__tbodyTd {
    display: block; }
    @media screen and (max-width: 767.99px) {
      .tableLayoutDot__tbodyTd {
        padding: 0 0.8em 0.8em 0.8em; } }
    @media print, screen and (min-width: 768px) {
      .tableLayoutDot__tbodyTd {
        padding: 0.8em;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: 100%; } }
    .tableLayoutDot__tbodyTd > *:first-child {
      margin-top: 0 !important; }
  @media screen and (max-width: 767.99px) {
    .tableLayoutDot__tbody:first-child .tableLayoutDot__tbodyTh {
      background-image: none;
      padding-top: 0; } }
  @media print, screen and (min-width: 768px) {
    .tableLayoutDot__tbody:first-child .tableLayoutDot__tbodyTr {
      background-image: none; } }

/* =========================================================
 spectImageBox アスペクト比固定画像
========================================================= */
.aspectImageBox {
  position: relative;
  width: 100%;
  display: block; }
  .aspectImageBox::before {
    content: "";
    display: block;
    padding-top: 75%; }
  .aspectImageBox--1609::before {
    padding-top: 56.25%; }
  .aspectImageBox__inner {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: #eee; }
  .aspectImageBox__image {
    position: absolute;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }

/* =========================================================
 テキストレイアウト　textLayoutCol カラム
========================================================= */
/* 画像左
--------------------------------------------------------- */
.textLayoutCol {
  margin-bottom: 1.5em;
  margin-top: 1.5em; }
  @media screen and (max-width: 767.99px) {
    .textLayoutCol {
      display: block; } }
  @media print, screen and (min-width: 768px) {
    .textLayoutCol {
      display: flex; } }
  @media print, screen and (min-width: 768px) {
    .textLayoutCol__imageArea {
      margin-right: 30px;
      margin-bottom: 0.8em;
      width: 50%;
      flex-grow: 0;
      flex-shrink: 0;
      order: 1; }
      .textLayoutCol__imageArea--xxs {
        width: 20%; }
      .textLayoutCol__imageArea--xs {
        width: 30%; }
      .textLayoutCol__imageArea--sm {
        width: 40%; } }
  .textLayoutCol__figcaption {
    text-align: center;
    margin-bottom: 0.3em;
    margin-top: 0.3em; }
  .textLayoutCol__image {
    max-width: 100%;
    height: auto; }
  @media print, screen and (min-width: 768px) {
    .textLayoutCol__textArea {
      flex-grow: 1;
      width: calc(50% - 30px);
      order: 2; }
      .textLayoutCol__textArea > *:first-child {
        margin-top: 0 !important; } }

/* 画像右
--------------------------------------------------------- */
.textLayoutColRight {
  margin-bottom: 1.5em;
  margin-top: 1.5em; }
  @media screen and (max-width: 767.99px) {
    .textLayoutColRight {
      display: block; } }
  @media print, screen and (min-width: 768px) {
    .textLayoutColRight {
      display: flex; } }
  @media print, screen and (min-width: 768px) {
    .textLayoutColRight__imageArea {
      margin-left: 30px;
      margin-bottom: 0.8em;
      width: 50%;
      flex-grow: 0;
      flex-shrink: 0;
      order: 2; }
      .textLayoutColRight__imageArea--xxs {
        width: 20%; }
      .textLayoutColRight__imageArea--xs {
        width: 30%; }
      .textLayoutColRight__imageArea--sm {
        width: 40%; } }
  .textLayoutColRight__figcaption {
    text-align: center;
    margin-bottom: 0.3em;
    margin-top: 0.3em; }
  .textLayoutColRight__image {
    max-width: 100%;
    height: auto; }
  @media print, screen and (min-width: 768px) {
    .textLayoutColRight__textArea {
      width: calc(50% - 30px);
      flex-grow: 1;
      order: 1; }
      .textLayoutColRight__textArea > *:first-child {
        margin-top: 0 !important; } }

/* =========================================================
 テキストレイアウト　textLayoutAround　テキスト回り込み
========================================================= */
/* 画像左
--------------------------------------------------------- */
.textLayoutAround {
  display: block;
  margin-bottom: 1.5em;
  margin-top: 1.5em; }
  .textLayoutAround::after {
    content: "";
    display: block;
    clear: both; }
  @media print, screen and (min-width: 768px) {
    .textLayoutAround__imageArea {
      margin-right: 30px;
      margin-bottom: 0.8em;
      width: 50%;
      float: left; }
      .textLayoutAround__imageArea--xxs {
        width: 20%; }
      .textLayoutAround__imageArea--xs {
        width: 30%; }
      .textLayoutAround__imageArea--sm {
        width: 40%; } }
  @media print, screen and (min-width: 768px) {
    .textLayoutAround__textArea > *:first-child {
      margin-top: 0 !important; } }
  .textLayoutAround__figcaption {
    text-align: center;
    margin-bottom: 0.3em;
    margin-top: 0.3em; }

/* 画像右
--------------------------------------------------------- */
.textLayoutAroundRight {
  display: block;
  margin-bottom: 1.5em;
  margin-top: 1.5em; }
  .textLayoutAroundRight::after {
    content: "";
    display: block;
    clear: both; }
  @media print, screen and (min-width: 768px) {
    .textLayoutAroundRight__imageArea {
      margin-left: 30px;
      margin-bottom: 0.8em;
      width: 50%;
      float: right; }
      .textLayoutAroundRight__imageArea--xxs {
        width: 20%; }
      .textLayoutAroundRight__imageArea--xs {
        width: 30%; }
      .textLayoutAroundRight__imageArea--sm {
        width: 40%; } }
  @media print, screen and (min-width: 768px) {
    .textLayoutAroundRight__textArea > *:first-child {
      margin-top: 0 !important; } }
  .textLayoutAroundRight__figcaption {
    text-align: center;
    margin-bottom: 0.3em;
    margin-top: 0.3em; }

/* =========================================================
 ボタンレイアウト　buttonLayout　ボタン一個　センター寄せ
========================================================= */
.buttonLayout {
  display: block;
  margin-bottom: 0.8em;
  margin-top: 0.8em; }
  .buttonLayout__inner {
    margin: 0.8em auto; }
    @media screen and (max-width: 767.99px) {
      .buttonLayout__inner {
        max-width: 280px; } }
    @media print, screen and (min-width: 768px) {
      .buttonLayout__inner {
        width: calc(1140px/12*4);
        padding-left: 15px;
        padding-right: 15px; } }
    @media print, screen and (min-width: 768px) {
      .buttonLayout__inner--lg {
        width: calc(1140px/12*5); } }
    @media screen and (max-width: 767.99px) {
      .buttonLayout__inner--sm {
        width: calc(280px/12*8); } }
    @media print, screen and (min-width: 768px) {
      .buttonLayout__inner--sm {
        width: calc(1140px/12*3); } }
    @media screen and (max-width: 767.99px) {
      .buttonLayout__inner--xs {
        width: calc(280px/12*6); } }
    @media print, screen and (min-width: 768px) {
      .buttonLayout__inner--xs {
        width: calc(1140px/12*2); } }
  @media screen and (max-width: 767.99px) {
    .buttonLayout__innerLeft {
      max-width: 280px;
      margin: 0.8em auto; } }
  @media print, screen and (min-width: 768px) {
    .buttonLayout__innerLeft {
      width: calc(1140px/12*4);
      padding-left: 15px;
      padding-right: 15px;
      margin: 0.8em auto 0.8em -15px; } }
  @media print, screen and (min-width: 768px) {
    .buttonLayout__innerLeft--lg {
      width: calc(1140px/12*5); } }
  @media screen and (max-width: 767.99px) {
    .buttonLayout__innerLeft--sm {
      width: calc(280px/12*8); } }
  @media print, screen and (min-width: 768px) {
    .buttonLayout__innerLeft--sm {
      width: calc(1140px/12*3); } }
  @media screen and (max-width: 767.99px) {
    .buttonLayout__innerLeft--xs {
      width: calc(280px/12*6); } }
  @media print, screen and (min-width: 768px) {
    .buttonLayout__innerLeft--xs {
      width: calc(1140px/12*2); } }

/* =========================================================
 ボタンレイアウト　buttonLayoutCol　ボタン　PC：センター寄せ　横並び　sp：縦並び
========================================================= */
.buttonLayoutCol {
  margin-bottom: 0.8em;
  margin-top: 0.8em; }
  @media screen and (max-width: 767.99px) {
    .buttonLayoutCol {
      display: block; } }
  @media print, screen and (min-width: 768px) {
    .buttonLayoutCol {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center; } }
  @media screen and (max-width: 767.99px) {
    .buttonLayoutCol__inner {
      max-width: 280px;
      margin: 0.8em auto; } }
  @media print, screen and (min-width: 768px) {
    .buttonLayoutCol__inner {
      display: flex;
      width: calc(1140px/12*4);
      padding-left: 15px;
      padding-right: 15px; }
      .buttonLayoutCol__inner:nth-child(n+3) {
        margin-top: 0.8em; } }
  @media print, screen and (min-width: 768px) {
    .buttonLayoutCol__inner--lg {
      width: calc(1140px/12*5); } }
  @media screen and (max-width: 767.99px) {
    .buttonLayoutCol__inner--sm {
      width: calc(280px/12*8); } }
  @media print, screen and (min-width: 768px) {
    .buttonLayoutCol__inner--sm {
      width: calc(1140px/12*3); } }
  @media screen and (max-width: 767.99px) {
    .buttonLayoutCol__inner--xs {
      width: calc(280px/12*6); } }
  @media print, screen and (min-width: 768px) {
    .buttonLayoutCol__inner--xs {
      width: calc(1140px/12*2); } }

/* =========================================================
 ボタンレイアウト　buttonLayoutList　ボタン縦並び
 ========================================================= */
.buttonLayoutList {
  margin-bottom: 0.8em;
  margin-top: 0.8em; }
  @media screen and (max-width: 767.99px) {
    .buttonLayoutList__inner + .buttonLayoutList__inner {
      margin-top: 5px; } }
  @media print, screen and (min-width: 768px) {
    .buttonLayoutList__inner + .buttonLayoutList__inner {
      margin-top: 8px; } }

/* =========================================================
 columnLayout
 ========================================================= */
.columnLayout {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0.8em;
  margin-top: 0.8em;
  width: 100%; }
  .columnLayout__item {
    flex-shrink: 0;
    flex-grow: 0; }
    @media screen and (max-width: 767.99px) {
      .columnLayout__item {
        flex-basis: 100%;
        width: 100%; } }
    @media print, screen and (min-width: 768px) {
      .columnLayout__item {
        flex-basis: 100%;
        width: 100%; } }
  @media screen and (max-width: 767.99px) {
    .columnLayout--0101 .columnLayout__item {
      flex-basis: 100%;
      width: 100%; }
      .columnLayout--0101 .columnLayout__item:nth-child(n+2) {
        margin-top: 15px; } }
  @media print, screen and (min-width: 768px) {
    .columnLayout--0101 .columnLayout__item {
      margin: 0 auto;
      flex-basis: 100%;
      width: 100%; }
      .columnLayout--0101 .columnLayout__item:nth-child(n+2) {
        margin-top: 30px; } }
  @media screen and (max-width: 767.99px) {
    .columnLayout--0201 .columnLayout__item {
      flex-basis: 100%;
      width: 100%; }
      .columnLayout--0201 .columnLayout__item:nth-child(n+2) {
        margin-top: 15px; } }
  @media print, screen and (min-width: 768px) {
    .columnLayout--0201 .columnLayout__item {
      flex-basis: calc((100% - 30px) / 2);
      width: calc((100% - 30px) / 2);
      margin-left: 30px; }
      .columnLayout--0201 .columnLayout__item:nth-child(odd) {
        margin-left: 0; }
      .columnLayout--0201 .columnLayout__item:nth-child(n+3) {
        margin-top: 30px; } }
  @media screen and (max-width: 767.99px) {
    .columnLayout--0202 .columnLayout__item {
      flex-basis: calc((100% - 15px) / 2);
      width: calc((100% - 15px) / 2);
      margin-left: 15px; }
      .columnLayout--0202 .columnLayout__item:nth-child(odd) {
        margin-left: 0; }
      .columnLayout--0202 .columnLayout__item:nth-child(n+3) {
        margin-top: 15px; } }
  @media print, screen and (min-width: 768px) {
    .columnLayout--0202 .columnLayout__item {
      flex-basis: calc((100% - 30px) / 2);
      width: calc((100% - 30px) / 2);
      margin-left: 30px; }
      .columnLayout--0202 .columnLayout__item:nth-child(odd) {
        margin-left: 0; }
      .columnLayout--0202 .columnLayout__item:nth-child(n+3) {
        margin-top: 30px; } }
  @media screen and (max-width: 767.99px) {
    .columnLayout--0301 .columnLayout__item {
      flex-basis: 100%;
      width: 100%; }
      .columnLayout--0301 .columnLayout__item:nth-child(n+2) {
        margin-top: 15px; } }
  @media print, screen and (min-width: 768px) {
    .columnLayout--0301 .columnLayout__item {
      flex-basis: calc((100% - 60px) / 3);
      width: calc((100% - 60px) / 3);
      margin-left: 30px; }
      .columnLayout--0301 .columnLayout__item:nth-child(3n+1) {
        margin-left: 0; }
      .columnLayout--0301 .columnLayout__item:nth-child(n+4) {
        margin-top: 45px; } }
  @media screen and (max-width: 767.99px) {
    .columnLayout--0301narrow .columnLayout__item {
      flex-basis: 100%;
      width: 100%; }
      .columnLayout--0301narrow .columnLayout__item:nth-child(n+2) {
        margin-top: 15px; } }
  @media print, screen and (min-width: 768px) {
    .columnLayout--0301narrow .columnLayout__item {
      flex-basis: calc((100% - 6px) / 3);
      width: calc((100% - 6px) / 3);
      margin-left: 3px; }
      .columnLayout--0301narrow .columnLayout__item:nth-child(3n+1) {
        margin-left: 0; }
      .columnLayout--0301narrow .columnLayout__item:nth-child(n+4) {
        margin-top: 30px; } }
  @media screen and (max-width: 767.99px) {
    .columnLayout--0302 .columnLayout__item {
      flex-basis: calc((100% - 15px) / 2);
      width: calc((100% - 15px) / 2);
      margin-left: 15px; }
      .columnLayout--0302 .columnLayout__item:nth-child(odd) {
        margin-left: 0; }
      .columnLayout--0302 .columnLayout__item:nth-child(n+3) {
        margin-top: 15px; } }
  @media print, screen and (min-width: 768px) {
    .columnLayout--0302 .columnLayout__item {
      flex-basis: calc((99% - 60px) / 3);
      width: calc((99% - 60px) / 3);
      margin-left: 30px; }
      .columnLayout--0302 .columnLayout__item:nth-child(3n+1) {
        margin-left: 0; }
      .columnLayout--0302 .columnLayout__item:nth-child(n+4) {
        margin-top: 30px; } }
  @media screen and (max-width: 767.99px) {
    .columnLayout--0302narrow .columnLayout__item {
      flex-basis: calc((100% - 5px) / 2);
      width: calc((100% - 5px) / 2);
      margin-left: 5px; }
      .columnLayout--0302narrow .columnLayout__item:nth-child(odd) {
        margin-left: 0; }
      .columnLayout--0302narrow .columnLayout__item:nth-child(n+3) {
        margin-top: 15px; } }
  @media print, screen and (min-width: 768px) {
    .columnLayout--0302narrow .columnLayout__item {
      flex-basis: calc((99% - 6px) / 3);
      width: calc((99% - 6px) / 3);
      margin-left: 3px; }
      .columnLayout--0302narrow .columnLayout__item:nth-child(3n+1) {
        margin-left: 0; }
      .columnLayout--0302narrow .columnLayout__item:nth-child(n+4) {
        margin-top: 45px; } }
  @media screen and (max-width: 767.99px) {
    .columnLayout--0401 .columnLayout__item {
      flex-basis: 100%;
      width: 100%; }
      .columnLayout--0401 .columnLayout__item:nth-child(n+2) {
        margin-top: 10px; } }
  @media print, screen and (min-width: 768px) {
    .columnLayout--0401 .columnLayout__item {
      flex-basis: calc((99.9% - 90px) / 4);
      width: calc((99.9% - 90px) / 4);
      margin-left: 30px; }
      .columnLayout--0401 .columnLayout__item:nth-child(4n+1) {
        margin-left: 0; }
      .columnLayout--0401 .columnLayout__item:nth-child(n+5) {
        margin-top: 30px; } }
  @media screen and (max-width: 767.99px) {
    .columnLayout--0402 .columnLayout__item {
      flex-basis: calc((100% - 15px) / 2);
      width: calc((100% - 15px) / 2);
      margin-left: 15px; }
      .columnLayout--0402 .columnLayout__item:nth-child(odd) {
        margin-left: 0; }
      .columnLayout--0402 .columnLayout__item:nth-child(n+3) {
        margin-top: 10px; } }
  @media print, screen and (min-width: 768px) {
    .columnLayout--0402 .columnLayout__item {
      flex-basis: calc((100% - 90px) / 4);
      width: calc((100% - 90px) / 4);
      margin-left: 30px; }
      .columnLayout--0402 .columnLayout__item:nth-child(4n+1) {
        margin-left: 0; }
      .columnLayout--0402 .columnLayout__item:nth-child(n+5) {
        margin-top: 30px; } }

/* =========================================================
 pageTitle
========================================================= */
.pageTitle {
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-position: center;
  background-image: url("../images/pagetitle/bg-pagetitle.jpg"); }
  @media screen and (max-width: 767.99px) {
    .pageTitle {
      margin-left: -15px;
      margin-right: -15px;
      padding: 15px;
      height: 110px; } }
  @media print, screen and (min-width: 768px) {
    .pageTitle {
      height: 360px; } }
  .pageTitle__title {
    text-align: center; }
  .pageTitle__main {
    display: block;
    font-family: 'Raleway', sans-serif; }
    @media screen and (max-width: 767.99px) {
      .pageTitle__main {
        font-size: 2.5rem;
        line-height: 1.1; } }
    @media print, screen and (min-width: 768px) {
      .pageTitle__main {
        font-size: 6.0rem; } }
  .pageTitle__sub {
    display: block; }

/* =========================================================
 title
========================================================= */
/* title01 
--------------------------------------------------------- */
.title01 {
  margin: 0 auto;
  text-align: center; }
  @media screen and (max-width: 767.99px) {
    .title01 {
      margin-bottom: 25px; } }
  @media print, screen and (min-width: 768px) {
    .title01 {
      margin-bottom: 45px; } }
  .title01__en {
    display: block;
    font-family: 'Raleway', sans-serif;
    line-height: 1.2; }
    @media screen and (max-width: 767.99px) {
      .title01__en {
        font-size: 2.4rem; } }
    @media print, screen and (min-width: 768px) {
      .title01__en {
        font-size: 3.8rem; } }
  .title01__jp {
    display: block; }
    @media print, screen and (min-width: 768px) {
      .title01__jp {
        font-size: 1.8rem; } }

/* ------------------------------------------------------
title02　
--------------------------------------------------------- */
.title02 {
  display: flex;
  font-weight: bold; }
  @media screen and (max-width: 767.99px) {
    .title02 {
      font-size: 1.5rem;
      margin-top: 20px;
      margin-bottom: 20px; } }
  @media print, screen and (min-width: 768px) {
    .title02 {
      font-size: 2.0rem;
      margin-top: 30px;
      margin-bottom: 30px; } }
  .title02::before {
    content: "";
    display: block;
    background-color: #2ebb9f;
    margin-top: 0.6em; }
    @media screen and (max-width: 767.99px) {
      .title02::before {
        width: 35px;
        height: 3px;
        margin-right: 14px; } }
    @media print, screen and (min-width: 768px) {
      .title02::before {
        width: 70px;
        height: 4px;
        margin-right: 27px; } }

/* ------------------------------------------------------
title02SM　
--------------------------------------------------------- */
.title02SM {
  display: flex;
  font-weight: bold; }
  @media screen and (max-width: 767.99px) {
    .title02SM {
      font-size: 1.4rem;
      margin-top: 20px;
      margin-bottom: 20px; } }
  @media print, screen and (min-width: 768px) {
    .title02SM {
      font-size: 1.8rem;
      margin-top: 35px;
      margin-bottom: 10px; } }
  .title02SM::before {
    content: "";
    display: block;
    background-color: #2ebb9f;
    margin-top: 0.6em; }
    @media screen and (max-width: 767.99px) {
      .title02SM::before {
        width: 25px;
        height: 3px;
        margin-right: 10px; } }
    @media print, screen and (min-width: 768px) {
      .title02SM::before {
        width: 40px;
        height: 4px;
        margin-right: 24px; } }

/* ------------------------------------------------------
title03
--------------------------------------------------------- */
.title03 {
  font-weight: bold; }
  @media screen and (max-width: 767.99px) {
    .title03 {
      font-size: 1.6rem;
      margin-top: 20px;
      margin-bottom: 0.8em; } }
  @media print, screen and (min-width: 768px) {
    .title03 {
      font-size: 1.8rem;
      margin-top: 20px;
      margin-bottom: 0.8em; } }

/* ------------------------------------------------------
title04 
--------------------------------------------------------- */
.title04 {
  font-weight: bold;
  border-left: 6px solid #959595; }
  @media screen and (max-width: 767.99px) {
    .title04 {
      font-size: 1.4rem;
      margin-top: 15px;
      margin-bottom: 13px;
      padding-left: 10px; } }
  @media print, screen and (min-width: 768px) {
    .title04 {
      font-size: 1.8rem;
      margin-top: 20px;
      margin-bottom: 10px;
      padding-left: 19px; } }

/* ------------------------------------------------------
title05
--------------------------------------------------------- */
.title05 {
  margin-top: 1.0em;
  margin-bottom: 0.8em;
  color: #00c9be;
  font-weight: bold; }

/* =========================================================
 catchphrase キャッチフレーズ
========================================================= */
.catchphrase {
  width: 100%;
  margin: 0 auto;
  color: #00c9be; }
  @media screen and (max-width: 767.99px) {
    .catchphrase {
      font-size: 2.0rem;
      margin-bottom: 15px; } }
  @media print, screen and (min-width: 768px) {
    .catchphrase {
      font-size: 2.4rem;
      margin-bottom: 20px; } }

.catchphrase2 {
  width: 100%;
  margin: 0 auto;
  color: #0a6cd1; }
  @media screen and (max-width: 767.99px) {
    .catchphrase2 {
      font-size: 1.8rem;
      margin-bottom: 15px; } }
  @media print, screen and (min-width: 768px) {
    .catchphrase2 {
      font-size: 2.0rem;
      margin-bottom: 20px; } }

/* =========================================================
 button
========================================================= */
/* button01
--------------------------------------------------------- */
a.button01, .button01 {
  display: block;
  width: 100%;
  position: relative;
  text-align: center;
  text-decoration: none !important;
  background-color: transparent;
  border: 2px solid #1b1b1b;
  border-radius: 50px;
  transition: 0.3s ease-out; }
  @media screen and (max-width: 767.99px) {
    a.button01, .button01 {
      padding: 10px; } }
  @media print, screen and (min-width: 768px) {
    a.button01, .button01 {
      padding: 15px; } }
  a.button01::before, .button01::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 1.5em;
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0;
    padding-right: 1em; }
  a.button01:active, a.button01:focus, a.button01:hover, .button01:active, .button01:focus, .button01:hover {
    background-color: #1b1b1b;
    color: #fff !important; }
    a.button01:active::before, a.button01:focus::before, a.button01:hover::before, .button01:active::before, .button01:focus::before, .button01:hover::before {
      color: #fff; }

/* button02
--------------------------------------------------------- */
a.button02, .button02 {
  display: block;
  width: 100%;
  text-align: center;
  text-decoration: none !important;
  position: relative;
  border: 1px solid #1b1b1b;
  border-radius: 50px;
  transition: 0.3s transform; }
  @media screen and (max-width: 767.99px) {
    a.button02, .button02 {
      padding: 10px; } }
  @media print, screen and (min-width: 768px) {
    a.button02, .button02 {
      padding: 10px; } }
  a.button02::before, .button02::before {
    content: "";
    display: block;
    background-image: url("../images/icon-arrow-black.png");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 7px auto;
    width: 7px;
    height: 7px;
    position: absolute;
    top: calc(50% - 3px);
    right: 2rem; }
  a.button02:active, a.button02:focus, a.button02:hover, a.button02.hover, .button02:active, .button02:focus, .button02:hover, .button02.hover {
    color: #00c9be !important;
    border: 1px solid #00c9be;
    transform: translateX(10px); }
    a.button02:active::before, a.button02:focus::before, a.button02:hover::before, a.button02.hover::before, .button02:active::before, .button02:focus::before, .button02:hover::before, .button02.hover::before {
      background-image: url("../images/icon-arrow-blue.png"); }

/* button03
--------------------------------------------------------- */
a.button03, .button03 {
  display: block;
  width: 100%;
  text-align: center;
  text-decoration: none !important;
  position: relative;
  background-color: #eee;
  border-radius: 50px;
  transition: 0.3s transform; }
  @media screen and (max-width: 767.99px) {
    a.button03, .button03 {
      padding: 10px; } }
  @media print, screen and (min-width: 768px) {
    a.button03, .button03 {
      padding: 10px; } }
  a.button03:active, a.button03:focus, a.button03:hover, a.button03.hover, .button03:active, .button03:focus, .button03:hover, .button03.hover {
    background-color: #ccc;
    transform: translateX(10px); }

/* =========================================================
アコーディオンパーツ
========================================================= */
.accordionList {
  margin-top: 0.8em;
  margin-bottom: 0.8em; }
  .accordionList__item:not(:first-child) {
    margin-top: 10px; }

.accordionData__title {
  background-color: #5fcca9;
  cursor: pointer;
  position: relative;
  color: #fff;
  font-weight: bold; }
  .accordionData__title:hover, .accordionData__title:active, .accordionData__title:focus, .accordionData__title.hover {
    opacity: 0.7; }
  @media screen and (max-width: 767.99px) {
    .accordionData__title {
      font-size: 1.8rem;
      padding: 8px 15px; } }
  @media print, screen and (min-width: 768px) {
    .accordionData__title {
      padding: 15px 35px;
      font-size: 2.4rem; } }
  .accordionData__title.active::after {
    display: none; }
  .accordionData__title::before, .accordionData__title::after {
    content: "";
    display: block;
    position: absolute;
    background-color: #fff;
    bottom: 0;
    top: 0;
    margin-bottom: auto;
    margin-top: auto; }
  @media screen and (max-width: 767.99px) {
    .accordionData__title::before {
      width: 14px;
      height: 4px;
      right: 15px; } }
  @media print, screen and (min-width: 768px) {
    .accordionData__title::before {
      width: 20px;
      height: 4px;
      right: 35px; } }
  @media screen and (max-width: 767.99px) {
    .accordionData__title::after {
      width: 4px;
      height: 14px;
      right: 20px; } }
  @media print, screen and (min-width: 768px) {
    .accordionData__title::after {
      width: 4px;
      height: 20px;
      right: 43px; } }
.accordionData__title-link {
  display: block;
  background-color: #5fcca9;
  cursor: pointer;
  position: relative;
  font-weight: bold; }
  .accordionData__title-link:link, .accordionData__title-link:visited {
    color: #fff !important;
    text-decoration: none; }
  .accordionData__title-link:hover, .accordionData__title-link:active, .accordionData__title-link:focus, .accordionData__title-link.hover {
    opacity: 0.7;
    text-decoration: none; }
  @media screen and (max-width: 767.99px) {
    .accordionData__title-link {
      font-size: 1.8rem;
      padding: 8px 15px; } }
  @media print, screen and (min-width: 768px) {
    .accordionData__title-link {
      padding: 15px 35px;
      font-size: 2.4rem; } }
  .accordionData__title-link::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    top: calc( 50% - 0.75em);
    margin-bottom: auto;
    margin-top: auto;
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0;
    padding-right: 0; }
    @media screen and (max-width: 767.99px) {
      .accordionData__title-link::after {
        right: 13px; } }
    @media print, screen and (min-width: 768px) {
      .accordionData__title-link::after {
        right: 33px; } }
.accordionData__text {
  display: none;
  background-color: #f4fcf6; }
  @media screen and (max-width: 767.99px) {
    .accordionData__text {
      padding: 25px 15px; } }
  @media print, screen and (min-width: 768px) {
    .accordionData__text {
      padding: 30px 25px 50px; } }
  .accordionData__text > *:first-child {
    margin-top: 0 !important; }
  .accordionData__text.active {
    display: block; }

/* =========================================================
 タブ
modTab 
========================================================= */
@media screen and (max-width: 767.99px) {
  .modTab {
    padding-bottom: 15px; } }
@media print, screen and (min-width: 768px) {
  .modTab {
    padding-bottom: 40px; } }
.modTab__navTabs {
  display: flex; }
  @media screen and (max-width: 767.99px) {
    .modTab__navTabs {
      flex-wrap: wrap; } }
.modTab__navItem {
  display: flex;
  flex-grow: 0;
  flex-shrink: 1; }
  @media screen and (max-width: 767.99px) {
    .modTab__navItem {
      width: 50%;
      margin-bottom: 2px !important;
      margin-top: 2px; } }
  @media print, screen and (min-width: 768px) {
    .modTab__navItem {
      width: 100%;
      margin-top: 10px; } }
  .modTab__navItem:last-child {
    margin-right: 0; }
.modTab a.modTab__navLink {
  display: block;
  width: 100%;
  text-decoration: none;
  border: 2px solid #1b1b1b;
  color: #1b1b1b !important;
  background-color: transparent;
  border-radius: 0;
  text-align: center; }
  @media screen and (max-width: 767.99px) {
    .modTab a.modTab__navLink {
      padding: 13px 7px;
      font-size: 1.2rem; } }
  @media print, screen and (min-width: 768px) {
    .modTab a.modTab__navLink {
      padding: 15px 10px; } }
  .modTab a.modTab__navLink:hover, .modTab a.modTab__navLink:active, .modTab a.modTab__navLink:focus {
    background-color: #1b1b1b;
    border-color: #1b1b1b;
    color: #fff !important; }
  .modTab a.modTab__navLink.active {
    background-color: #1b1b1b;
    border-color: #1b1b1b;
    color: #fff !important;
    position: relative;
    			/*
                &::after{
                    content: "";
                    display: block;
                    position: absolute;
                    
                    left: 0;
                    right: 0;
                    margin: 0 auto;
                    //三角形--------------------------------------
                    width: 0;
                    height: 0;
                    border: none;
                    @include sp-screen() {
                        bottom: -14px;
                        border-top: 14px solid $brand-main-color;
                        border-right: 8px solid transparent;
                        border-left: 8px solid transparent;
                    }
                    @include pc-screen() {
                        bottom: -14px;
                        border-top: 14px solid $brand-main-color;
                        border-right: 8px solid transparent;
                        border-left: 8px solid transparent;
                    }
                    //--------------------------------------------
                }
    			*/ }
.modTab__panel {
  display: none; }
  .modTab__panel.show {
    display: block; }
  .modTab__panel > *:first-child {
    margin-top: 0 !important; }

@media screen and (max-width: 767.99px) {
  .contentsList li {
    margin-bottom: 30px; } }
@media print, screen and (min-width: 768px) {
  .contentsList li {
    margin-bottom: 60px; } }

@media screen and (max-width: 767.99px) {
  .otherContents {
    margin-top: 90px; } }
@media print, screen and (min-width: 768px) {
  .otherContents {
    margin-top: 200px; } }

.modEntry {
  background-color: #b8e6e3;
  text-align: center; }
  @media screen and (max-width: 767.99px) {
    .modEntry {
      padding: 50px 30px;
      margin-top: 60px; } }
  @media print, screen and (min-width: 768px) {
    .modEntry {
      padding: 100px 30px;
      margin-top: 111px; } }
  .modEntry__title {
    font-family: 'Raleway', sans-serif; }
    @media screen and (max-width: 767.99px) {
      .modEntry__title {
        font-size: 3.5rem; } }
    @media print, screen and (min-width: 768px) {
      .modEntry__title {
        font-size: 6.0rem; } }
  .modEntry__button {
    margin: 0 auto; }
    @media screen and (max-width: 767.99px) {
      .modEntry__button {
        width: 100%; } }
    @media print, screen and (min-width: 768px) {
      .modEntry__button {
        width: 410px; } }

.entryButton {
  display: block;
  width: 100%;
  color: #fff !important;
  text-align: center;
  text-decoration: none !important;
  font-weight: bold;
  background-color: #00c9be;
  border-radius: 50px;
  transition: 0.3s ease-out; }
  @media screen and (max-width: 767.99px) {
    .entryButton {
      padding: 15px;
      margin-top: 5px; } }
  @media print, screen and (min-width: 768px) {
    .entryButton {
      padding: 20px;
      margin-top: 10px;
      font-size: 1.8rem; } }
  .entryButton:active, .entryButton:focus, .entryButton:hover, .entryButton.hover {
    opacity: 0.7; }

.entryList {
  margin: 0 auto; }
  @media screen and (max-width: 767.99px) {
    .entryList {
      margin-top: 40px; } }
  @media print, screen and (min-width: 768px) {
    .entryList {
      display: flex;
      justify-content: center;
      margin-top: 80px; } }
  @media screen and (max-width: 767.99px) {
    .entryList li {
      width: 100%; } }
  @media print, screen and (min-width: 768px) {
    .entryList li {
      width: 437px; } }
  @media screen and (max-width: 767.99px) {
    .entryList li + li {
      margin-top: 40px; } }
  @media print, screen and (min-width: 768px) {
    .entryList li + li {
      margin-left: 30px; } }
  .entryList li a::after {
    display: none; }
  .entryList li a img {
    box-shadow: 4px 4px 5px 0px rgba(149, 149, 149, 0.4);
    transition: 0.3s ease-out;
    border-radius: 10px; }
  .entryList li a:hover img, .entryList li a:focus img, .entryList li a:active img {
    box-shadow: 10px 10px 10px 0px rgba(149, 149, 149, 0.4);
    transform: translateY(-4px); }
  .entryList__title {
    font-weight: bold;
    margin-bottom: 0.8em;
    text-align: center; }
    @media print, screen and (min-width: 768px) {
      .entryList__title {
        font-size: 1.8rem; } }

/* =========================================================
 img-container 1枚画像用
========================================================= */
.img-container {
  text-align: center; }
  @media screen and (max-width: 767.99px) {
    .img-container {
      width: 100%;
      margin: 25px auto; } }
  @media print, screen and (min-width: 768px) {
    .img-container {
      width: 100%;
      margin: 50px auto; } }
  .img-container img {
    max-width: 100%;
    height: auto; }
  @media print, screen and (min-width: 768px) {
    .img-container--sm {
      width: 80%; } }

/* =========================================================
 aspectContainer aspect-ratio
========================================================= */
.aspectWrap5-4 {
  width: 100%;
  aspect-ratio: 5 / 4; }
  .aspectWrap5-4 iframe {
    width: 100%;
    height: 100%; }
  .aspectWrap5-4 img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.projectIndex {
  display: flex; }
  @media screen and (max-width: 767.99px) {
    .projectIndex {
      flex-direction: column; } }
  @media screen and (max-width: 767.99px) {
    .projectIndex__data {
      order: 2;
      padding: 10px 0; } }
  @media print, screen and (min-width: 768px) {
    .projectIndex__data {
      width: calc(100% - 635px);
      padding-top: 15px;
      padding-right: 15px; } }
  @media screen and (max-width: 767.99px) {
    .projectIndex__title {
      margin-bottom: 15px; } }
  @media print, screen and (min-width: 768px) {
    .projectIndex__title {
      padding-left: 15px;
      padding-bottom: 25px; } }
  .projectIndex__number {
    display: block;
    font-weight: bold; }
    @media screen and (max-width: 767.99px) {
      .projectIndex__number {
        font-size: 2.4rem; } }
    @media print, screen and (min-width: 768px) {
      .projectIndex__number {
        font-size: 4.8rem;
        margin-bottom: 10px; } }
  .projectIndex__text {
    display: block; }
  @media screen and (max-width: 767.99px) {
    .projectIndex__image {
      order: 1; } }
  @media print, screen and (min-width: 768px) {
    .projectIndex__image {
      width: 635px; } }
  @media screen and (max-width: 767.99px) {
    .projectIndex__image img {
      border-radius: 5px; } }
  @media print, screen and (min-width: 768px) {
    .projectIndex__image img {
      border-radius: 10px; } }

@media screen and (max-width: 767.99px) {
  .projectImg {
    margin-left: -15px;
    margin-right: -15px; } }
@media print, screen and (min-width: 768px) {
  .projectImg {
    width: 1200px;
    padding: 0 45px;
    margin: 0 auto; } }

.projectTitleWrap {
  background-color: #fff; }
  @media screen and (max-width: 767.99px) {
    .projectTitleWrap {
      width: 100%;
      padding: 15px; } }
  @media print, screen and (min-width: 768px) {
    .projectTitleWrap {
      position: relative;
      width: 825px;
      padding: 20px 40px;
      margin-top: -70px; } }

.projectTitle__number {
  font-weight: bold; }
  @media screen and (max-width: 767.99px) {
    .projectTitle__number {
      display: block;
      font-size: 2.4rem;
      margin-right: 23px; } }
  @media print, screen and (min-width: 768px) {
    .projectTitle__number {
      font-size: 4.4rem;
      margin-right: 37px; } }
@media screen and (max-width: 767.99px) {
  .projectTitle__text {
    font-size: 1.4rem;
    display: block; } }
@media print, screen and (min-width: 768px) {
  .projectTitle__text {
    font-size: 2.0rem;
    font-weight: bold; } }

@media screen and (max-width: 767.99px) {
  .projectMember {
    padding-top: 50px; } }
@media print, screen and (min-width: 768px) {
  .projectMember {
    padding-top: 70px;
    padding-bottom: 155px; } }

.swiperOtherProject {
  /* 前ページ、次ページボタン共通のスタイル */
  /* 前ページボタンのスタイル */
  /* 次ページボタンのスタイル */ }
  @media screen and (max-width: 767.99px) {
    .swiperOtherProject {
      padding: 0 15px !important; } }
  @media print, screen and (min-width: 768px) {
    .swiperOtherProject {
      padding: 0 30px !important; } }
  .swiperOtherProject .swiper-button-prev,
  .swiperOtherProject .swiper-button-next {
    transform: translateY(-50%); }
    @media screen and (max-width: 767.99px) {
      .swiperOtherProject .swiper-button-prev,
      .swiperOtherProject .swiper-button-next {
        background-size: 30px 30px;
        width: 30px;
        /* ボタンの幅 */
        height: 30px;
        top: 45%; } }
    @media print, screen and (min-width: 768px) {
      .swiperOtherProject .swiper-button-prev,
      .swiperOtherProject .swiper-button-next {
        background-size: 60px 60px;
        width: 60px;
        /* ボタンの幅 */
        height: 60px;
        /* ボタンの高さ */
        top: 50%; } }
  .swiperOtherProject .swiper-button-prev {
    background-image: url("../images/icon-prev.png");
    left: 0; }
  .swiperOtherProject .swiper-button-next {
    background-image: url("../images/icon-next.png");
    right: 0; }

a.modCardProject {
  text-decoration: none; }
  a.modCardProject:hover .modCardProject__image, a.modCardProject:focus .modCardProject__image, a.modCardProject:active .modCardProject__image {
    box-shadow: 10px 10px 10px 0px rgba(149, 149, 149, 0.4);
    transform: translateY(-4px); }
  a.modCardProject:hover .modCardProject__body, a.modCardProject:focus .modCardProject__body, a.modCardProject:active .modCardProject__body {
    color: #2ebb9f; }

.modCardProject {
  display: block;
  padding-top: 4px; }
  .modCardProject__image {
    transition: 0.3s ease-out;
    border-radius: 10px;
    box-shadow: 4px 4px 5px 0px rgba(149, 149, 149, 0.4); }
    .modCardProject__image img {
      border-radius: 10px;
      aspect-ratio: 30 / 17; }
  .modCardProject__body {
    transition: 0.3s ease-out; }
    @media screen and (max-width: 767.99px) {
      .modCardProject__body {
        padding: 5px; } }
    @media print, screen and (min-width: 768px) {
      .modCardProject__body {
        display: flex;
        align-items: center;
        padding: 5px; } }
  .modCardProject__number {
    display: block;
    font-weight: bold; }
    @media screen and (max-width: 767.99px) {
      .modCardProject__number {
        font-size: 1.9rem; } }
    @media print, screen and (min-width: 768px) {
      .modCardProject__number {
        font-size: 2.8rem;
        margin-right: 17px; } }
  .modCardProject__text {
    display: block; }

.projectData__vol {
  font-weight: bold; }
  @media screen and (max-width: 767.99px) {
    .projectData__vol {
      font-size: 1.8rem; } }
  @media print, screen and (min-width: 768px) {
    .projectData__vol {
      font-size: 2.2rem; } }
.projectData__title {
  font-weight: bold; }
  @media screen and (max-width: 767.99px) {
    .projectData__title {
      font-size: 2.0rem;
      margin-bottom: 10px; } }
  @media print, screen and (min-width: 768px) {
    .projectData__title {
      font-size: 2.4rem;
      margin-bottom: 20px; } }
.projectData__image img {
  max-width: 100%;
  height: auto;
  aspect-ratio: 30 / 17;
  object-fit: cover;
  obeject-position: center; }

button.modCardVoice {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0; }

a.modCardVoice,
button.modCardVoice {
  text-decoration: none; }
  a.modCardVoice:hover .modCardVoice__image, a.modCardVoice:focus .modCardVoice__image, a.modCardVoice:active .modCardVoice__image,
  button.modCardVoice:hover .modCardVoice__image,
  button.modCardVoice:focus .modCardVoice__image,
  button.modCardVoice:active .modCardVoice__image {
    box-shadow: 10px 10px 10px 0px rgba(149, 149, 149, 0.4);
    transform: translateY(-4px); }
  a.modCardVoice:hover .modCardVoice__body, a.modCardVoice:focus .modCardVoice__body, a.modCardVoice:active .modCardVoice__body,
  button.modCardVoice:hover .modCardVoice__body,
  button.modCardVoice:focus .modCardVoice__body,
  button.modCardVoice:active .modCardVoice__body {
    color: #2ebb9f; }

.modCardVoice {
  display: block;
  padding-top: 4px; }
  .modCardVoice__image {
    transition: 0.3s ease-out;
    border-radius: 10px;
    box-shadow: 4px 4px 5px 0px rgba(149, 149, 149, 0.4); }
    .modCardVoice__image img {
      border-radius: 10px;
      aspect-ratio: 4 / 3;
      object-fit: cover; }
  .modCardVoice__body {
    transition: 0.3s ease-out; }
    @media screen and (max-width: 767.99px) {
      .modCardVoice__body {
        padding: 10px; } }
    @media print, screen and (min-width: 768px) {
      .modCardVoice__body {
        padding: 14px;
        text-align: left;
        font-size: 1.6rem; } }
  .modCardVoice__title {
    display: block;
    margin-bottom: 2px; }
  .modCardVoice__text {
    display: block; }
  @media print, screen and (min-width: 768px) {
    .modCardVoice--flex {
      display: flex;
      align-items: center; }
      .modCardVoice--flex .modCardVoice__image {
        width: 180px; } }

.swiperOtherVoice {
  /* 前ページ、次ページボタン共通のスタイル */
  /* 前ページボタンのスタイル */
  /* 次ページボタンのスタイル */ }
  @media screen and (max-width: 767.99px) {
    .swiperOtherVoice {
      padding: 0 15px !important; } }
  @media print, screen and (min-width: 768px) {
    .swiperOtherVoice {
      padding: 0 30px !important; } }
  .swiperOtherVoice .swiper-button-prev,
  .swiperOtherVoice .swiper-button-next {
    transform: translateY(-50%); }
    @media screen and (max-width: 767.99px) {
      .swiperOtherVoice .swiper-button-prev,
      .swiperOtherVoice .swiper-button-next {
        background-size: 30px 30px;
        width: 30px;
        /* ボタンの幅 */
        height: 30px;
        top: 45%; } }
    @media print, screen and (min-width: 768px) {
      .swiperOtherVoice .swiper-button-prev,
      .swiperOtherVoice .swiper-button-next {
        background-size: 60px 60px;
        width: 60px;
        /* ボタンの幅 */
        height: 60px;
        /* ボタンの高さ */
        top: 50%; } }
  .swiperOtherVoice .swiper-button-prev {
    background-image: url("../images/icon-prev.png");
    left: 0; }
  .swiperOtherVoice .swiper-button-next {
    background-image: url("../images/icon-next.png");
    right: 0; }

@media screen and (max-width: 767.99px) {
  .voiceMain {
    margin-bottom: 50px; } }
@media print, screen and (min-width: 768px) {
  .voiceMain {
    display: flex;
    margin-bottom: 100px; } }
@media screen and (max-width: 767.99px) {
  .voiceMain__image {
    width: 100%; } }
@media print, screen and (min-width: 768px) {
  .voiceMain__image {
    width: 635px; } }
.voiceMain__data {
  color: #fff;
  background-color: #2ebb9f; }
  @media screen and (max-width: 767.99px) {
    .voiceMain__data {
      width: 100%;
      padding: 10px 25px; } }
  @media print, screen and (min-width: 768px) {
    .voiceMain__data {
      width: calc(100% - 635px);
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      padding: 30px 30px 30px 56px; } }
.voiceMain__title {
  display: block; }
  @media screen and (max-width: 767.99px) {
    .voiceMain__title {
      font-size: 2.2rem; } }
  @media print, screen and (min-width: 768px) {
    .voiceMain__title {
      font-size: 3.0rem; } }
.voiceMain__text {
  display: block; }
  @media print, screen and (min-width: 768px) {
    .voiceMain__text {
      font-size: 2.0rem; } }

@media screen and (max-width: 767.99px) {
  .voiceData__name {
    font-size: 1.6rem;
    margin-bottom: 10px; } }
@media print, screen and (min-width: 768px) {
  .voiceData__name {
    font-size: 1.8rem;
    margin-bottom: 15px; } }
.voiceData__name span {
  font-weight: bold; }
  @media screen and (max-width: 767.99px) {
    .voiceData__name span {
      font-size: 2.0rem; } }
  @media print, screen and (min-width: 768px) {
    .voiceData__name span {
      font-size: 2.4rem; } }
.voiceData__data div {
  display: flex; }

/* Scss Document */
/* ▼ ポップアップが開いている間、背後の html・body のスクロールを完全に禁止する */
/* .is-dialog-open は dialog.js でポップアップの開閉時に付け外しする */
html.is-dialog-open,
html.is-dialog-open body {
  overflow: hidden; }

/* dialog のブラウザ標準の最大幅・最大高さを打ち消す（popover のときと同じ大きさにする） */
.popupBase,
.popupBase02,
.popupBase03 {
  max-width: none;
  max-height: none; }

/* ポップアップ（ダイアログ）のスタイル */
/*プロジェクトストーリー・先輩インタビュー*/
.popupBase {
  position: fixed;
  inset: 0;
  /* 上下左右の余白を0にする（top, bottom, left, right: 0 と同じ） */
  margin: auto;
  /* inset: 0 と組み合わせることで自動で完全中央配置になる */
  padding: 5px;
  border: none;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); }
  @media screen and (max-width: 767.99px) {
    .popupBase {
      border-radius: 10px;
      width: 90vw;
      padding: 45px 15px 30px; } }
  @media print, screen and (min-width: 768px) {
    .popupBase {
      border-radius: 20px;
      width: 890px;
      padding: 25px 54px 30px 60px; } }
  .popupBase__inner {
    overflow-y: auto;
    overscroll-behavior: contain;
    width: 100%;
    height: auto;
    padding: 0 15px; }
    @media screen and (max-width: 767.99px) {
      .popupBase__inner {
        max-height: calc(75vh - 75px); } }
    @media print, screen and (min-width: 768px) {
      .popupBase__inner {
        max-height: calc(80vh - 55px); } }
    .popupBase__inner:focus-visible {
      outline: none; }

/* ポップアップ（ダイアログ）のスタイル */
/*福利厚生*/
.popupBase02 {
  position: fixed;
  inset: 0;
  /* 上下左右の余白を0にする（top, bottom, left, right: 0 と同じ） */
  margin: auto;
  /* inset: 0 と組み合わせることで自動で完全中央配置になる */
  padding: 5px;
  border: none;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); }
  @media screen and (max-width: 767.99px) {
    .popupBase02 {
      border-radius: 10px;
      width: 90vw;
      padding: 45px 15px 30px; } }
  @media print, screen and (min-width: 768px) {
    .popupBase02 {
      border-radius: 20px;
      width: 520px;
      padding: 50px 45px 30px; } }
  .popupBase02__inner {
    overflow-y: auto;
    overscroll-behavior: contain;
    width: 100%;
    height: auto;
    padding: 0 15px; }
    @media screen and (max-width: 767.99px) {
      .popupBase02__inner {
        max-height: calc(50vh - 75px); } }
    @media print, screen and (min-width: 768px) {
      .popupBase02__inner {
        max-height: calc(336px - 80px); } }
    .popupBase02__inner:focus-visible {
      outline: none; }

/* ポップアップ（ダイアログ）のスタイル */
/*カワナベの日常*/
.popupBase03 {
  position: fixed;
  inset: 0;
  /* 上下左右の余白を0にする（top, bottom, left, right: 0 と同じ） */
  margin: auto;
  /* inset: 0 と組み合わせることで自動で完全中央配置になる */
  padding: 5px;
  border: none;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); }
  @media screen and (max-width: 767.99px) {
    .popupBase03 {
      border-radius: 10px;
      width: 90vw;
      padding: 45px 15px 30px; } }
  @media print, screen and (min-width: 768px) {
    .popupBase03 {
      border-radius: 20px;
      width: 520px;
      padding: 50px 45px 30px; } }
  .popupBase03__inner {
    overflow-y: auto;
    overscroll-behavior: contain;
    width: 100%;
    height: auto;
    padding: 0 15px; }
    @media screen and (max-width: 767.99px) {
      .popupBase03__inner {
        max-height: calc(75vh - 75px); } }
    @media print, screen and (min-width: 768px) {
      .popupBase03__inner {
        max-height: calc(534px - 80px); } }
    .popupBase03__inner:focus-visible {
      outline: none; }

/* 閉じるボタンのスタイル */
.close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(0, 201, 190, 0.7);
  color: white;
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  cursor: pointer;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  z-index: 10; }

.close-btn:hover {
  background: rgba(0, 201, 190, 0.9); }

/* 背景（バックドロップ）のスタイル */
.popupBase::backdrop,
.popupBase02::backdrop,
.popupBase03::backdrop {
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
  /* pointer-events: auto; を明示（基本は自動で背後の操作をガードします） */
  pointer-events: auto; }
