@charset "UTF-8";

/* ===================================================================
CSS information

 File Name  : common.css
 Style Info : 見出し、ボタン、表など繰り返し使うパーツのスタイルを定義
=================================================================== */

html {
  overflow-y: scroll;
  line-height: 1;
  font-size: 62.5%;
}
body {
  background: #fff;
  color: #333;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  font-size: 1.6rem;
  word-break: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  letter-spacing: 0.05em;
  /*font-feature-settings: "palt";*/
}
  @media screen and (max-width: 899px) {
    body {
      font-size: 3.73vw;
    }
  }

/*----------------------------------------------------
  link要素
--------------------------------------------------- */
a {
  text-decoration: underline;
  transition: all 0.3s ease-in-out 0s;
}
a:link {
  color: #12855B;
}
a:visited {
  color: #12855B;
}
a:hover {
  text-decoration: none;
  color: #12855B;
}
a:active {
  color: #12855B;
}
:focus-ring {
  outline: dotted 1px #F6AB00;
}
:-moz-focusring {
  outline: dotted 1px #F6AB00;
}

/*----------------------------------------------------
  img要素
--------------------------------------------------- */
img {
  line-height: 1;
  /*font-size: 0;*/
  vertical-align: top;
  height: auto;
  max-width: 100%;
  transition: all 0.2s ease-in-out 0s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*----------------------------------------------------
  見出し要素
--------------------------------------------------- */
h1,h2,h3,h4,h5,h6 {
  line-height: 1.5;
  font-weight: 600;
}

/*----------------------------------------------------
 フォントファミリー
--------------------------------------------------- */
.mincho {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Hiragino Mincho ProN W3", 'Noto Serif JP', serif;
}
.ff01 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.ff02 {
}
.ff03 {
}

/*----------------------------------------------------
 フォントカラー
--------------------------------------------------- */
.fc01 {
  color: #12855B;
}
.fc02 {
  color: #FF006F;
}
.fc03 {
  color: #FF0000;
}

/*----------------------------------------------------
  スクロールバー
--------------------------------------------------- */

/*スクロールバー全体*/
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

/*スクロールバーの軌道*/
::-webkit-scrollbar-track {
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
}

/*スクロールバーの動く部分*/
::-webkit-scrollbar-thumb {
  background-color: rgba(0,0,0,0.5);
  border-radius: 10px;
  box-shadow:0 0 0 1px rgba(255, 255, 255, .3);
}
  @media screen and (max-width: 899px) {
    ::-webkit-scrollbar {
        width: 5px;
    }
    ::-webkit-scrollbar-track {
      border-radius: 10px;
      box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
    }
    ::-webkit-scrollbar-thumb {
      background-color: rgba(0,0,0,0.5);
      border-radius: 10px;
      box-shadow:0 0 0 1px rgba(255, 255, 255, .3);
    }
  }

/*----------------------------------------------------
 共通カラム
--------------------------------------------------- */
#page {
  overflow: hidden;
}
#contents {
  position: relative;
  line-height: 2;
  padding-top: 90px;
}
#contents a:hover img{
  opacity: 0.70;
}

.wrapper {
  position: relative;
  z-index: 5;
  max-width: 1460px;
  padding-left: 30px;
  padding-right: 30px;
  margin-left: auto;
  margin-right: auto;
}
.inner {
  position: relative;
  z-index: 5;
  max-width: 1260px;
  padding-left: 30px;
  padding-right: 30px;
  margin-left: auto;
  margin-right: auto;
}
  @media screen and (max-width: 899px) {
    html, body, #page {
      min-width:100%!important;
      max-width:100%!important;
      width:100%!important;
    }
    #contents {
      line-height: 1.8;
      padding-top: 16vw;
    }
    .wrapper, .inner {
      width: 100%;
      max-width: 100%;
      padding-left: 5vw;
      padding-right: 5vw;
    }
  }

/*----------------------------------------------------
	ヘッダー
----------------------------------------------------*/
#header {
  position: relative;
  padding: 0 30px;
  z-index: 110;
}
.hd_inner {
  position: relative;
  height: 140px;
}
.site_copy {
  font-size: 1.3rem;
  font-weight: 400;
  padding-top: 12px;
  color: #666;
}
.hd_logo {
  display: block;
  position: absolute;
  left: 0;
  bottom: 22px;
  padding-left: 78px;
}
.hd_logo figure {
  position: absolute;
  left: 0;
  bottom: -28px;
}
.hd_logo_type {
  display: block;
}
.hd_tel {
  position: absolute;
  right: 130px;
  top: 30px;
}
.hd_tel dd span {
  position: relative;
  display: block;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.8;
  padding-left: 36px;
  background: url("../img/common/ico/ico_tel01.svg") 0 center no-repeat;
  background-size: 30px auto;
}
.hd_tel dd small {
  display: block;
}
.hd_btn {
  position: fixed;
  right: 30px;
  top: 20px;
  transition: all 0.3s ease-in-out;
}
.hd_btn a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  border-radius: 10px;
  padding-top: 46px;
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: url("../img/common/ico/ico_calendar01.svg") center 15px no-repeat;
  background-color: #FF006F;
}
.hd_btn a:hover {
  opacity: 0.7;
}
.hd_btn a small {
  display: none;
}
.scroll-menu-fix .hd_btn {
  top: 110px;
  right: 0;
}
.scroll-menu-fix .hd_btn a {
  width: 64px;
  height: 160px;
  border-radius: 10px 0 0 10px;
}
.scroll-menu-fix .hd_btn span {
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 0.1em;
}
  @media screen and (max-width: 899px) {
    #header {
      width: 100%;
      position: fixed;
      left: 0;
      top: 0;
      padding: 0 2.66vw;
      background: rgba(255,255,255,0.85);
      box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.1);
    }
    .hd_inner {
      position: relative;
      height: 16vw;
    }
    .site_copy {
      display: none;
    }
    .hd_logo {
      bottom: 3vw;
      padding-left: 11.33vw;
    }
    .hd_logo figure {
      bottom: -0.66vw;
    }
    .hd_logo figure img {
      width: 9.2vw;
      height: auto;
    }
    .hd_logo_type img {
      width: 52vw;
      height: auto;
    }
    .hd_tel {
      right: 16vw;
      top: 3vw;
    }
    .hd_tel dt {
      display: none;
    }
    .hd_tel dd span {
      font-size: 3.73vw;
      line-height: 10vw;
      padding-left: 0;
      width: 10vw;
      height: 10vw;
      background-size: 10vw auto;
      text-indent: -9999px;
    }
    .hd_tel dd small {
      display: none;
    }
    .hd_btn {
      right: 0;
      top: auto!important;
      bottom: 0;
      width: 100%;
    }
    .hd_btn a {
      width: 100%!important;
      height: 15vw!important;
      border-radius: 0!important;
      padding: 0!important;
      font-size: 5vw!important;
      background: none;
      background-color: rgba(255,0,111,0.85);
    }
    .hd_btn a:hover {
      opacity: 1;
    }
    .hd_btn a span {
      display: block;
      letter-spacing: 0.1em!important;
      writing-mode: horizontal-tb!important;
      text-orientation: mixed!important;
      background: url("../img/common/ico/ico_calendar01.svg") 0 center no-repeat;
      background-size: 6vw auto;
      padding-left: 10vw;
      line-height: 2;
    }
    .hd_btn a small {
      display: inline;
    }
  }

/*----------------------------------------------------
	グローバルナビ
----------------------------------------------------*/
#gNavi {
  position: absolute;
  left: 0;
  top: 140px;
  width: 100%;
  padding: 0 20px;
  background: #DFEBC3;
  z-index: 100;
}
#gNavi ul {
  display: flex;
  max-width: 1200px;
  gap: 20px;
  margin: 0 auto;
  justify-content: space-between;
}
#gNavi li {
  text-align: center;
}
#gNavi li a {
  position: relative;
  text-decoration: none;
  font-size: 1.8rem;
  display: block;
  white-space: nowrap;
  padding: 16px 0;
}
#gNavi li a:hover {
  filter: brightness(1.3);
}
#gNavi li a span {
  position: relative;
  z-index: 5;
  display: block;
  padding-top: 40px;
}
.gn-current a::after {
  position: absolute;
  left: -5px;
  bottom: 14px;
  content: "";
  width: calc(100% + 10px);
  height: 8px;
  background: rgba(255,253,0,1.00);
}
.scroll-menu-fix #gNavi {
  position: fixed;
  top: 0;
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.12);
}
  @media screen and (max-width: 899px) {
    #gNavi {
      height: 0;
    }
  }

.gn01 a span {
  background: url("../img/common/gn01.png") center 3px no-repeat;
  background-size: 36px auto;
}
.gn02 a span {
  background: url("../img/common/gn02.png") center top no-repeat;
  background-size: 22px auto;
}
.gn03 a span {
  background: url("../img/common/gn03.png") center top no-repeat;
  background-size: 34px auto;
}
.gn04 a span {
  background: url("../img/common/gn04.png") center top no-repeat;
  background-size: 30px auto;
}
.gn05 a span {
  background: url("../img/common/gn05.png") center top no-repeat;
  background-size: 32px auto;
}
.gn06 a span {
  background: url("../img/common/gn06.png") center top no-repeat;
  background-size: 50px auto;
}
.gn07 a span {
  background: url("../img/common/gn07.png") center top no-repeat;
  background-size: 30px auto;
}

/*----------------------------------------------------
	パンくずリスト
----------------------------------------------------*/
#crumbs {
  margin: 12px 0 50px;
  font-size: 1.5rem;
  line-height: 1.5;
}
#crumbs li br {
  display: none;
}
  @media screen and (max-width: 899px) {
    #crumbs {
      margin: 2.66vw 0 10.66vw 0;
      font-size: 3.46vw;
      line-height: 1.4;
    }
  }

/*----------------------------------------------------
	フッター
----------------------------------------------------*/
#footer {
  position: relative;
  z-index: 10;
}
.ft_wrap {
  background: #E8F1D5;
  padding: 60px 0;
  line-height: 1.5;
}
.ft_box {
  max-width: 1200px;
  margin: 0 auto;
  gap: 25px;
}
  @media screen and (max-width: 899px) {
    .ft_wrap {
      padding: 8vw 0;
    }
    .ft_box {
      max-width: 100%;
      gap: 0;
    }
  }

.ft_logo {
  position: relative;
  margin-bottom: 20px;
}
.ft_logo span {
  position: absolute;
  left: 0;
  bottom: calc(100% + 15px);
}
.ft_info p {
  font-size: 1.5rem;
}
  @media screen and (max-width: 899px) {
    .ft_logo {
      margin-bottom: 4vw;
      padding-left: 12.33vw;
    }
    .ft_logo span {
      bottom: 0;
    }
    .ft_logo span img {
      width: 10.66vw;
      height: auto;
    }
    .ft_logo strong {
    }
    .ft_logo strong img {
      width: 54vw;
      height: auto;
    }
    .ft_info p {
      font-size: 3.46vw;
    }
  }

.ft_reserve_btn a {
  width: clamp(234px, 23vw, 260px);
  display: block;
  background: #FF006F;
  text-align: center;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.8rem;
  border-radius: 10px;
  padding: 13px;
}
.ft_reserve_btn a:hover {
  filter: brightness(1.3);
  opacity: 0.9;
}
.ft_reserve_btn a span {
  display: inline-block;
  line-height: 1.8;
  padding-left: 34px;
  background: url("../img/common/ico/ico_calendar01.svg") 0 center no-repeat;
  background-size: 24px auto;
}
.ft_qrcode {
  margin-top: 20px;
  align-items: center;
}
.ft_qrcode dt {
margin-right: 10px;
}
.ft_qrcode dt img {
}
.ft_qrcode dd {
  font-size: clamp(1.3rem, 1.3vw, 1.5rem);
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.ft_right {
  width: 100%;
  max-width: 360px;
}
.ft_menu01 {
  gap: 20px;
}
.ft_menu01 li {
  margin-bottom: 5px;
}
.ft_menu01 li a {
  display: inline-block;
  line-height: 1.5;
  font-size: 1.5rem;
  font-weight: 500;
  padding-left: 12px;
  text-decoration: none;
  background: url("../img/common/ico/ico_arrow02c.svg") 0 5px no-repeat;
  background-size: 6px auto;
  color: #333;
}
.ft_menu01 li a:hover {
  background: url("../img/common/ico/ico_arrow02a.svg") 0 5px no-repeat;
  background-size: 6px auto;
  color: #12855B;
}
  @media screen and (max-width: 999px) {
    .ft_right {
      width: auto;
      max-width: auto;
    }
    .ft_menu01 {
      display: block;
    }
  }
  @media screen and (max-width: 899px) {
    .ft_center {
      display: none;
    }
  }

.ft_menu02 {
  padding-top: 15px;
}
.ft_menu02 a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  padding: 8px 15px;
  font-weight: 600;
  border-radius: 5px;
  border: solid 1px #12855B;
  text-decoration: none;
  background: #fff;
  line-height: 1.3;
}
.ft_menu02 a:hover {
  background: #12855B;
  color: #fff;
}
.ft_menu02 a span {
  display: inline-block;
  background: url("../img/common/ico/ico_arrow02a.svg") 0 center no-repeat;
  background-size: 6px auto;
  padding-left: 12px;
}
.ft_menu02 a:hover span {
  background: url("../img/common/ico/ico_arrow02b.svg") 0 center no-repeat;
  background-size: 6px auto;
}
  @media screen and (max-width: 999px) {
    .ft_menu02 a br {
      display: block;
    }
  }
  @media screen and (max-width: 899px) {
    .ft_right {
      display: none;
    }
  }

.ft_links {
  padding: 30px 20px;
}
.ft_links ul {
  gap: clamp(20px, 2.2vw, 30px);
}
.ft_links li {
  width: clamp(260px, 28vw, 320px);
}
.ft_links li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
  line-height: 1.4;
  text-decoration: none;
  padding: 18px 10px;
  font-feature-settings: "palt";
  background: url("../img/common/ico/ico_link01a.svg") right 6px bottom 9px no-repeat;
  background-size: 22px auto;
  border: solid 1px #ddd;
  color: #333;
}
.ft_links li a:hover {
  color: #12855B;
  border: solid 1px #12855B;
}
.ft_links li a span {
  display: block;
  color: #12855B;
  font-weight: 600;
  font-size: clamp(1.7rem, 1.75vw, 1.9rem);
}
.ft_links li a small {
  display: block;
  font-size: 1.2rem;
  margin-top: 6px;
}
  @media screen and (max-width: 899px) {
    .ft_links {
      padding: 5vw;
    }
    .ft_links ul {
      gap: 0;
    }
    .ft_links li {
      width: 70vw;
      margin: 0 auto 2.66vw auto;
    }
    .ft_links li:last-child {
      margin-bottom: 0;
    }
    .ft_links li a {
      padding: 3.33vw;
      background: url("../img/common/ico/ico_link01a.svg") right 1.33vw bottom 2vw no-repeat;
      background-size: 4.4vw auto;
    }
    .ft_links li a span {
      font-size: 4.26vw;
    }
    .ft_links li a small {
      font-size: 3.46vw;
      margin-top: 1.13vw;
    }
  }

.copyright {
  display: block;
  background: #12855B;
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
  padding: 18px;
}
  @media screen and (max-width: 899px) {
    .copyright {
      font-size: 3vw;
      padding: 4.26vw 2.66vw 18.4vw 2.66vw;
    }
  }

/*----------------------------------------------------
  共通タイトル
--------------------------------------------------- */
#lowerVisual {
  height: 180px;
  background: #4DA384;
}
.page_ttl {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: clamp(3rem, 3.2vw, 3.6rem);
  color: #fff;
}
  @media screen and (max-width: 899px) {
    #lowerVisual {
      height: 25vw;
    }
    .page_ttl {
      font-size: 6vw;
    }
  }

.sub_ttl01 {
  text-align: center;
  font-size: clamp(3rem, 3.2vw, 3.6rem);
  line-height: 1.3;
  margin-bottom: clamp(25px, 3vw, 35px);
}
  @media screen and (max-width: 899px) {
    .sub_ttl01 {
      font-size: 6vw;
      margin-bottom: 5.33vw;
      letter-spacing: 0.01em;
    }
  }

.sub_ttl02 {
  margin-bottom: clamp(30px, 4vw, 35px);
  color: #FF006F;
  font-size: clamp(2.2rem, 2.4vw, 2.8rem);
  line-height: 1.4;
  text-align: center;
}
  @media screen and (max-width: 899px) {
    .sub_ttl02 {
      margin-bottom: 4.4vw;
      font-size: 4.8vw;
    }
  }

.sub_ttl02 small {
  color: #333;
  font-size: 1.8rem;
  font-weight: 500;
  display: block;
  margin-bottom: 5px;
}
  @media screen and (max-width: 899px) {
    .sub_ttl02 small {
      font-size: 3.46vw;
      margin-bottom: 1.33vw;
    }
  }

.sub_ttl03 {
  margin-bottom: clamp(30px, 3.5vw, 40px);
  font-size: clamp(2.8rem, 2.8vw, 3.2rem);
  padding-bottom: 12px;
  border-bottom: solid 2px #4DA384;
  line-height: 1.5;
}
  @media screen and (max-width: 899px) {
    .sub_ttl03 {
      margin-bottom: 5vw;
      font-size: 5.6vw;
      padding-bottom: 2vw;
      border-bottom: solid 1px #4DA384;
    }
  }

.sub_ttl04 {
  position: relative;
  margin-bottom: 20px;
  padding-left: 30px;
  font-size: clamp(2rem, 2vw, 2.4rem);
  font-weight: 600;
  line-height: 1.4;
}
.sub_ttl04::before {
  position: absolute;
  left: 0;
  top: 8px;
  z-index: 5;
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #12855B;
}
  @media screen and (max-width: 899px) {
    .sub_ttl04 {
      margin-bottom: 3.33vw;
      padding-left: 6vw;
      font-size: 4.8vw;
    }
    .sub_ttl04::before {
      top: 1.33vw;
      z-index: 5;
      content: "";
      width: 4.6vw;
      height: 4.6vw;
    }
  }

/*----------------------------------------------------
  共通ボタン
--------------------------------------------------- */
.pagetop {
  position: fixed;
  right: 15px;
  bottom: 15px;
  z-index: 100;
  display:none;
}
.pagetop a {
  position:relative;
  display:flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width:50px;
  height:50px;
  padding-top:12px;
  border-radius: 50%;
  text-align:center;
  background-color: rgba(18,133,91,0.75);
  font-size:1.3rem;
  font-weight: 600;
  font-family: 'Roboto', sans-serif;
  color:#fff;
  text-decoration:none;
  transition: all 0.3s ease-in-out 0s;
}
.pagetop a:hover {
  filter: brightness(1.2);
}
.pagetop a:after{
  position:absolute;
  left: 50%;
  top: 5px;
  margin-left:-5px;
  content:"";
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-bottom: 7px solid #fff;
}
  @media screen and (max-width: 899px) {
    .pagetop {
      display: none!important;
      right: 3vw;
      bottom: 18vw;
    }
    .pagetop a {
      width:12vw;
      height:12vw;
      padding-top:3vw;
      font-size: 3.46vw;
    }
    .pagetop a:hover {
      filter: brightness(1);
    }
    .pagetop a:after{
      top: 1.33vw;
      margin-left:-1.33vw;
      border-top: 1.8vw solid transparent;
      border-right: 1.33vw solid transparent;
      border-left: 1.33vw solid transparent;
      border-bottom: 1.8vw solid #fff;
    }
  }

.btn01 {
  position: relative;
  z-index: 5;
}
.btn01 a {
  position: relative;
  display: inline-block;
  min-width: 260px;
  padding: 8px 40px;
  text-align: center;
  color: #12855B;
  border: solid 2px #12855B;
  background: url("../img/common/ico/ico_arrow01a.svg") right 12px center no-repeat;
  background-size: 16px auto;
  text-decoration: none;
  font-size: 1.8rem;
  font-weight: 600;
  border-radius: 10px;
}
.btn01 a:hover {
  color: #fff;
  background: url("../img/common/ico/ico_arrow01b.svg") right 12px center no-repeat;
  background-size: 16px auto;
  background-color: #12855B;
}
.btn01 a span {
  position: relative;
  z-index: 10;
}
  @media screen and (max-width: 899px) {
    .btn01 a {
      min-width: 60vw;
      padding: 2vw 9vw;
      border: solid 1px #12855B;
      background: url("../img/common/ico/ico_arrow01a.svg") right 3vw center no-repeat;
      background-size: 4vw auto;
      font-size: 4.26vw;
      border-radius: 2vw;
      font-weight: 500;
    }
    .btn01 a:hover {
      color: #12855B;
      background: url("../img/common/ico/ico_arrow01a.svg") right 3vw center no-repeat;
      background-size: 4vw auto;
      background-color: none;
    }
  }

.btn02 {
  position: relative;
  z-index: 5;
}
.btn02 a {
  position: relative;
  display: inline-block;
  min-width: clamp(280px, 25vw, 320px);
  padding: 12px 45px;
  text-align: center;
  color: #12855B;
  border: solid 2px #12855B;
  background: url("../img/common/ico/ico_arrow01a.svg") right 15px center no-repeat;
  background-size: 20px auto;
  text-decoration: none;
  font-size: clamp(1.8rem, 1.8vw, 2rem);
  font-weight: 600;
  border-radius: 10px;
}
.btn02 a:hover {
  color: #fff;
  background: url("../img/common/ico/ico_arrow01b.svg") right 15px center no-repeat;
  background-size: 20px auto;
  background-color: #12855B;
}
.btn02 a span {
  position: relative;
  z-index: 10;
}
  @media screen and (max-width: 899px) {
    .btn02 a {
      min-width: 60vw;
      padding: 2vw 9vw;
      border: solid 1px #12855B;
      background: url("../img/common/ico/ico_arrow01a.svg") right 3vw center no-repeat;
      background-size: 4vw auto;
      font-size: 4.26vw;
      border-radius: 2vw;
      font-weight: 500;
    }
    .btn02 a:hover {
      color: #12855B;
      background: url("../img/common/ico/ico_arrow01a.svg") right 3vw center no-repeat;
      background-size: 4vw auto;
      background-color: none;
    }
  }

/*----------------------------------------------------
  共通テーブル
--------------------------------------------------- */
.tbl01 {
  line-height: 1.6;
}
.tbl01 th {
  width: 22%;
  min-width: 200px;
  padding: 20px clamp(20px, 2vw, 30px);
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
  background: #F2F2F2;
  text-align: left;
  vertical-align: middle;
  font-weight: 500;
}
.tbl01 td {
  vertical-align: middle;
  padding: 20px clamp(20px, 2vw, 30px);
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
}
  @media screen and (max-width: 899px) {
    .tbl01,
    .tbl01 tbody,
    .tbl01 tr,
    .tbl01 td {
      display: block;
      width: 100%;
    }
    .tbl01 {
      line-height: 1.5;
    }
    .tbl01 th {
      min-width: 100%;
      padding: 3.33vw 4vw;
      border-top: none;
    }
    .tbl01 tr:first-child th {
      border-top: solid 1px #ddd;
    }
    .tbl01 td {
      padding: 4vw 0;
      border-top: none;
    }
  }

/*----------------------------------------------------
  共通メニュー
--------------------------------------------------- */

  /*スマホナビ*/
  @media screen and (max-width: 899px) {
    /*transition*/
    .trs {
      -webkit-transition: all .1s ease;
      -moz-transition: all .1s ease;
      -ms-transition: all .1s ease;
      -o-transition: all .1s ease;
      transition: all .1s ease;
    }
    /*trp*/
    .trp {
      -webkit-transition: opacity .1s ease;
      -moz-transition: opacity .1s ease;
      -ms-transition: opacity .1s ease;
      -o-transition: opacity .1s ease;
      transition: opacity .1s ease;
      opacity: 1;
      filter: alpha(opacity=100);
    }
    .trp:hover {
      opacity: .6;
      filter: alpha(opacity=60);
    }
    /* trs-dr */
    .trs-dr05 {
      -webkit-transition-duration: .5s;
      -moz-transition-duration: .5s;
      -ms-transition-duration: .5s;
      -o-transition-duration: .5s;
      transition-duration: .5s;
    }
    /* trs-tf */
    .trs-tfCb {
      -webkit-transition-timing-function: cubic-bezier(0, .96, .4, .99);
      -moz-transition-timing-function: cubic-bezier(0, .96, .4, .99);
      -ms-transition-timing-function: cubic-bezier(0, .96, .4, .99);
      -o-transition-timing-function: cubic-bezier(0, .96, .4, .99);
      transition-timing-function: cubic-bezier(0, .96, .4, .99);
    }
    .menuTrigger {
      position: absolute;
      z-index: 50;
      top: 0;
      right: 0;
      display: block;
      width: 16vw;
      height: 16vw;
      cursor: pointer;
      transition: .3s;
      background: #12855B;
    }
    .menuTrigger.open {
      z-index: 100;
      position: fixed;
      top: 0;
    }
    .menuIcon_line {
      position: absolute;
      left: 50%;
      top: 50%;
      width: 8vw;
      height: 1px;
      background: #fff;
    }
    .menuIcon_line:nth-of-type(1) {
      transform: translate(-50%, -2.33vw);
    }
    .menuIcon_line:nth-of-type(2) {
      transform: translate(-50%, -50%);
    }
    .menuIcon_line:nth-of-type(3) {
      transform: translate(-50%, 2.33vw);
    }
    /* open */
    .menuTrigger.open .menuIcon_line {
      background: #fff;
    }
    .menuTrigger.open .menuIcon_line:nth-of-type(1) {
      top: 50%;
      transform: translate(-50%, -50%) rotate(45deg);
    }
    .menuTrigger.open .menuIcon_line:nth-of-type(2) {
      opacity: 0;
    }
    .menuTrigger.open .menuIcon_line:nth-of-type(3) {
      top: 50%;
      transform: translate(-50%, -50%) rotate(-45deg);
    }
    #hbNav {
      position: fixed;
      top: 0;
      left: 0;
      display: none;
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      background-color: rgba(18,133,91,0.95);
      z-index: 50;
      overflow-y: visible;
      overflow-x: hidden;
      -webkit-overflow-scrolling: auto;
      overflow-scrolling: auto;
    }
    .hb_inner {
      box-sizing: border-box;
      display: table;
      width: 100%;
      height: 100%;
      padding: 20vw 5vw;
    }
    .hb_inner a {
      color: #fff;
      text-decoration: none;
    }
    .hb_menu01 li {
      border-bottom: solid 1px rgba(255,255,255,0.3);
    }
    .hb_menu01 li a {
      display: block;
      padding: 4vw 0 4vw 12vw;
      font-size: 4.4vw;
    }
    .hb01 {
      background: url("../img/common/hb01.png") 1.33vw center no-repeat;
      background-size: 7.8vw auto;
    }
    .hb02 {
      background: url("../img/common/hb02.png") 3vw center no-repeat;
      background-size: 4.4vw auto;
    }
    .hb03 {
      background: url("../img/common/hb03.png") 1.66vw center no-repeat;
      background-size: 7vw auto;
    }
    .hb04 {
      background: url("../img/common/hb04.png") 1.9vw center no-repeat;
      background-size: 6.4vw auto;
    }
    .hb05 {
      background: url("../img/common/hb05.png") 1.8vw center no-repeat;
      background-size: 6.4vw auto;
    }
    .hb06 {
      background: url("../img/common/hb06.png") 0.4vw center no-repeat;
      background-size: 9vw auto;
    }
    .hb07 {
      background: url("../img/common/hb07.png") 1.8vw center no-repeat;
      background-size: 6.4vw auto;
    }
    .hb_menu02 {
      margin-top: 6.66vw;
    }
    .hb_menu02 li a {
      display: inline-block;
      line-height: 1.5;
      font-size: 3.73vw;
      font-weight: 500;
      padding-left: 3.33vw;
      text-decoration: none;
      background: url("../img/common/ico/ico_arrow02b.svg") 0 5px no-repeat;
      background-size: 1.8vw auto;
      color: #fff;
    }
    .hb_menu03 {
      padding-top: 6.66vw;
    }
    .hb_menu03 a {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding: 3vw 1.33vw;
      font-weight: 600;
      border-radius: 1.33vw;
      border: solid 1px #12855B;
      text-decoration: none;
      background: #fff;
      line-height: 1.3;
      color: #12855B;
      letter-spacing: 0;
      font-size: 4vw;
    }
    .hb_menu03 a:hover {
      background: #12855B;
      color: #fff;
    }
    .hb_menu03 a span {
      display: inline-block;
      background: url("../img/common/ico/ico_arrow02a.svg") 0 center no-repeat;
      background-size: 1.8vw auto;
      padding-left: 3.33vw;
    }
  }
