@charset "UTF-8";
/* ===================
共通変数
===================*/
/* ===================
ブレークポイント
===================*/
/* ===================
rem計算
===================*/
/* ===================
コンテンツサイズ
===================*/
/* ａタグ基本スタイル */
/* buttonデフォルトのスタイルをリセット */
/* スタイルを一部リセット */
/* #Base
   -------------------------------------------------------------------------- */
/**
* Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します
* 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます
* 基本的にclass属性は使用しません
*/
body {
  font-family: "Arial", "BIZ UDPGothic", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  color: #000;
}

html {
  scroll-behavior: smooth;
}
@media print, screen and (min-width: 768px) {
  html {
    scroll-padding-top: 120px;
  }
}

@media only screen and (max-width: 767px) {
  #scroll_area_Off {
    overflow: hidden;
  }
}

a:link, a:visited, a:hover, a:active {
  color: #000;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
a:hover img {
  opacity: 0.7;
}

/* -----------------------------------------------------------------------------
   #Spacing
   -------------------------------------------------------------------------- */
/*
  bootstrapのユーティリティを補う為の
  margin,paddingの汎用クラス
*/
/* -----------------------------------------------------------------------------
   #Margin
   -------------------------------------------------------------------------- */
.u-m10 {
  margin: 10px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-mt80 {
  margin-top: 80px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-mb80 {
  margin-bottom: 80px !important;
}

.u-mb100 {
  margin-bottom: 100px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-mr80 {
  margin-right: 80px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

@media only screen and (max-width: 767px) {
  .u-m10_sp {
    margin: 10px !important;
  }
  .u-mt0_sp {
    margin-top: 0px !important;
  }
  .u-mt10_sp {
    margin-top: 10px !important;
  }
  .u-mt20_sp {
    margin-top: 20px !important;
  }
  .u-mt30_sp {
    margin-top: 30px !important;
  }
  .u-mt40_sp {
    margin-top: 40px !important;
  }
  .u-mt50_sp {
    margin-top: 50px !important;
  }
  .u-mt60_sp {
    margin-top: 60px !important;
  }
  .u-mb0_sp {
    margin-bottom: 0 !important;
  }
  .u-mb10_sp {
    margin-bottom: 10px !important;
  }
  .u-mb15_sp {
    margin-bottom: 15px !important;
  }
  .u-mb20_sp {
    margin-bottom: 20px !important;
  }
  .u-mb30_sp {
    margin-bottom: 30px !important;
  }
  .u-mb40_sp {
    margin-bottom: 40px !important;
  }
  .u-mb50_sp {
    margin-bottom: 50px !important;
  }
  .u-mb60_sp {
    margin-bottom: 60px !important;
  }
  .u-mr0_sp {
    margin-right: 0px !important;
  }
  .u-mr10_sp {
    margin-right: 10px !important;
  }
  .u-mr20_sp {
    margin-right: 20px !important;
  }
  .u-mr30_sp {
    margin-right: 30px !important;
  }
  .u-ml0_sp {
    margin-left: 0 !important;
  }
  .u-ml10_sp {
    margin-left: 10px !important;
  }
  .u-ml20_sp {
    margin-left: 20px !important;
  }
  .u-ml30_sp {
    margin-left: 30px !important;
  }
}
/* -----------------------------------------------------------------------------
   #Padding
   -------------------------------------------------------------------------- */
.u-p10 {
  padding: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-pt70 {
  padding-top: 70px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pt90 {
  padding-top: 90px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-pl90 {
  padding-left: 90px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

@media only screen and (max-width: 767px) {
  .u-p10_sp {
    padding: 10px !important;
  }
  .u-pt0_sp {
    padding-top: 0px !important;
  }
  .u-pt10_sp {
    padding-top: 10px !important;
  }
  .u-pt20_sp {
    padding-top: 20px !important;
  }
  .u-pt30_sp {
    padding-top: 30px !important;
  }
  .u-pt40_sp {
    padding-top: 40px !important;
  }
  .u-pt50_sp {
    padding-top: 50px !important;
  }
  .u-pt60_sp {
    padding-top: 60px !important;
  }
  .u-pt70_sp {
    padding-top: 70px !important;
  }
  .u-pt80_sp {
    padding-top: 80px !important;
  }
  .u-pt90_sp {
    padding-top: 90px !important;
  }
  .u-pt100_sp {
    padding-top: 100px !important;
  }
  .u-pb10_sp {
    padding-bottom: 10px !important;
  }
  .u-pb20_sp {
    padding-bottom: 20px !important;
  }
  .u-pb30_sp {
    padding-bottom: 30px !important;
  }
  .u-pb40_sp {
    padding-bottom: 40px !important;
  }
  .u-pb50_sp {
    padding-bottom: 50px !important;
  }
  .u-pb60_sp {
    padding-bottom: 60px !important;
  }
  .u-pl0_sp {
    padding-left: 0px !important;
  }
  .u-pl10_sp {
    padding-left: 10px !important;
  }
  .u-pl20_sp {
    padding-left: 20px !important;
  }
  .u-pl30_sp {
    padding-left: 30px !important;
  }
  .u-pl90_sp {
    padding-left: 90px !important;
  }
  .u-pr10_sp {
    padding-right: 10px !important;
  }
  .u-pr0_sp {
    padding-right: 0px !important;
  }
  .u-pr20_sp {
    padding-right: 20px !important;
  }
  .u-pr30_sp {
    padding-right: 30px !important;
  }
}
/* -----------------------------------------------------------------------------
   #Text
   -------------------------------------------------------------------------- */
/*
  bootstrapのユーティリティを補う為の
  テキスト系の汎用クラス
*/
.u-serif {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "Meiryo", serif;
}

.u-red {
  color: #C7161E !important;
}

.u-black {
  color: #000 !important;
}

.u-lineheight_175 {
  line-height: 1.75;
}

.u-lineheight_200 {
  line-height: 2;
}

.u-f10 {
  font-size: 0.625rem !important;
}

.u-f11 {
  font-size: 0.6875rem !important;
}

.u-f12 {
  font-size: 0.75rem !important;
}

.u-f13 {
  font-size: 0.8125rem !important;
}

.u-f14 {
  font-size: 0.875rem !important;
}

.u-f15 {
  font-size: 0.9375rem !important;
}

.u-f16 {
  font-size: 1rem !important;
}

.u-f17 {
  font-size: 1.0625rem !important;
}

.u-f18 {
  font-size: 1.125rem !important;
}

.u-f19 {
  font-size: 1.1875rem !important;
}

.u-f20 {
  font-size: 1.25rem !important;
}

.u-f21 {
  font-size: 1.3125rem !important;
}

.u-f22 {
  font-size: 1.375rem !important;
}

.u-f23 {
  font-size: 1.4375rem !important;
}

.u-f24 {
  font-size: 1.5rem !important;
}

.u-f25 {
  font-size: 1.5625rem !important;
}

.u-f26 {
  font-size: 1.625rem !important;
}

.u-f27 {
  font-size: 1.6875rem !important;
}

.u-f28 {
  font-size: 1.75rem !important;
}

.u-f29 {
  font-size: 1.8125rem !important;
}

.u-f30 {
  font-size: 1.875rem !important;
}

.u-f31 {
  font-size: 1.9375rem !important;
}

.u-f32 {
  font-size: 2rem !important;
}

.u-f33 {
  font-size: 2.0625rem !important;
}

.u-f34 {
  font-size: 2.125rem !important;
}

.u-f35 {
  font-size: 2.1875rem !important;
}

.u-f36 {
  font-size: 2.25rem !important;
}

.u-f37 {
  font-size: 2.3125rem !important;
}

.u-f38 {
  font-size: 2.375rem !important;
}

.u-f39 {
  font-size: 2.4375rem !important;
}

.u-f40 {
  font-size: 2.5rem !important;
}

.u-f41 {
  font-size: 2.5625rem !important;
}

.u-f42 {
  font-size: 2.625rem !important;
}

.u-f43 {
  font-size: 2.6875rem !important;
}

.u-f44 {
  font-size: 2.75rem !important;
}

.u-f45 {
  font-size: 2.8125rem !important;
}

.u-f46 {
  font-size: 2.875rem !important;
}

.u-f47 {
  font-size: 2.9375rem !important;
}

.u-f48 {
  font-size: 3rem !important;
}

.u-f49 {
  font-size: 3.0625rem !important;
}

.u-f50 {
  font-size: 3.125rem !important;
}

.u-f55 {
  font-size: 3.4375rem !important;
}

@media only screen and (max-width: 767px) {
  .u-f10_sp {
    font-size: 0.625rem !important;
  }
  .u-f11_sp {
    font-size: 0.6875rem !important;
  }
  .u-f12_sp {
    font-size: 0.75rem !important;
  }
  .u-f13_sp {
    font-size: 0.8125rem !important;
  }
  .u-f14_sp {
    font-size: 0.875rem !important;
  }
  .u-f15_sp {
    font-size: 0.9375rem !important;
  }
  .u-f16_sp {
    font-size: 1rem !important;
  }
  .u-f17_sp {
    font-size: 1.0625rem !important;
  }
  .u-f18_sp {
    font-size: 1.125rem !important;
  }
  .u-f19_sp {
    font-size: 1.1875rem !important;
  }
  .u-f20_sp {
    font-size: 1.25rem !important;
  }
  .u-f21_sp {
    font-size: 1.3125rem !important;
  }
  .u-f22_sp {
    font-size: 1.375rem !important;
  }
  .u-f23_sp {
    font-size: 1.4375rem !important;
  }
  .u-f24_sp {
    font-size: 1.5rem !important;
  }
  .u-f25_sp {
    font-size: 1.5625rem !important;
  }
  .u-f26_sp {
    font-size: 1.625rem !important;
  }
  .u-f27_sp {
    font-size: 1.6875rem !important;
  }
  .u-f28_sp {
    font-size: 1.75rem !important;
  }
  .u-f29_sp {
    font-size: 1.8125rem !important;
  }
  .u-f30_sp {
    font-size: 1.875rem !important;
  }
  .u-f31_sp {
    font-size: 1.9375rem !important;
  }
  .u-f32_sp {
    font-size: 2rem !important;
  }
  .u-f33_sp {
    font-size: 2.0625rem !important;
  }
  .u-f34_sp {
    font-size: 2.125rem !important;
  }
  .u-f35_sp {
    font-size: 2.1875rem !important;
  }
  .u-f36_sp {
    font-size: 2.25rem !important;
  }
  .u-f37_sp {
    font-size: 2.3125rem !important;
  }
  .u-f38_sp {
    font-size: 2.375rem !important;
  }
  .u-f39_sp {
    font-size: 2.4375rem !important;
  }
  .u-f40_sp {
    font-size: 2.5rem !important;
  }
  .u-f41_sp {
    font-size: 2.5625rem !important;
  }
  .u-f42_sp {
    font-size: 2.625rem !important;
  }
  .u-f43_sp {
    font-size: 2.6875rem !important;
  }
  .u-f44_sp {
    font-size: 2.75rem !important;
  }
  .u-f45_sp {
    font-size: 2.8125rem !important;
  }
  .u-f46_sp {
    font-size: 2.875rem !important;
  }
  .u-f47_sp {
    font-size: 2.9375rem !important;
  }
  .u-f48_sp {
    font-size: 3rem !important;
  }
  .u-f49_sp {
    font-size: 3.0625rem !important;
  }
  .u-f50_sp {
    font-size: 3.125rem !important;
  }
}
/* #Show
  -------------------------------------------------------------------------- */
/*
PCとスマホの表示・非表示切り替え
*/
@media print, screen and (min-width: 768px) {
  .u-show_sp {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .u-show_sp {
    display: inherit;
  }
}

@media print, screen and (min-width: 768px) {
  .u-show_pc {
    display: inherit;
  }
}
@media only screen and (max-width: 767px) {
  .u-show_pc {
    display: none !important;
  }
}

header dl, header dt, header dd, header ul, header ol, header li, header h1, header h2, header h3, header h4, header h5, header h6, header p, header th, header td, header figure {
  margin: 0;
  padding: 0;
  font-weight: normal;
}
header ul, header ol {
  list-style: none;
}
header caption {
  padding-top: 0;
  padding-bottom: 0;
  color: #000;
  caption-side: top;
}
header a:link, header a:visited, header a:hover, header a:active {
  color: #000;
}
header a:hover img {
  opacity: 0.7;
}
header button {
  padding: 0;
  background-color: transparent;
  border: none;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
header {
  position: relative;
  width: 100%;
  z-index: 999;
  background-color: #122649;
}

.h_wrapper {
  padding-inline: 12px;
  margin-inline: auto;
}
@media print, screen and (min-width: 768px) {
  .h_wrapper {
    display: flex;
    justify-content: space-between;
    max-width: 1214px;
  }
}
@media only screen and (max-width: 767px) {
  .h_wrapper {
    padding-bottom: 5px;
  }
}

.h_main {
  position: relative;
  display: flex;
  justify-content: space-between;
}
@media print, screen and (min-width: 768px) {
  .h_main {
    padding: 10px 0;
  }
}
@media only screen and (max-width: 767px) {
  .h_main {
    padding: 5px 70px 5px 0;
  }
}
@media only screen and (max-width: 767px) {
  .h_main h1 {
    max-width: 180px;
  }
}

@media print, screen and (min-width: 768px) {
  nav a:link {
    color: #fff;
  }
  nav a:visited {
    color: #fff;
  }
  nav a:hover {
    color: #fff;
  }
  nav a:active {
    color: #fff;
  }
}

.h_layout01 {
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .h_layout01 {
    background-color: #fff;
  }
}

.h_gnv {
  font-size: 1rem;
}
@media print, screen and (min-width: 768px) {
  .h_gnv {
    display: flex;
    height: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .h_gnv > li {
    border-bottom: 1px solid #B4B4B4;
  }
  .h_gnv > li:first-child {
    border-top: 1px solid #B4B4B4;
  }
}

.gnv_ttl {
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .gnv_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 30px;
    height: 100%;
    position: relative;
  }
  .gnv_ttl:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}
@media only screen and (max-width: 767px) {
  .gnv_ttl {
    display: block;
    padding: 15px;
    width: 100%;
    height: 100%;
  }
  .gnv_ttl:hover {
    background-color: #ddd;
    text-decoration: none;
  }
}

@media print, screen and (min-width: 768px) {
  .dropdown_menu dl {
    position: relative;
    width: 100%;
    height: 100%;
  }
  .dropdown_menu dd {
    display: none;
    position: absolute;
    z-index: 999;
    top: 100%;
    left: 0;
    min-width: calc(100% + 50px);
    background-color: #000;
    white-space: nowrap;
    text-align: left;
  }
  .dropdown_menu dd a:link {
    color: #fff;
  }
  .dropdown_menu dd a:visited {
    color: #fff;
  }
  .dropdown_menu dd a:hover {
    color: #fff;
  }
  .dropdown_menu dd a:active {
    color: #fff;
  }
  .dropdown_menu dd a {
    display: block;
    padding: 10px 15px;
  }
  .dropdown_menu dd a:hover {
    background-color: #666;
  }
}
@media only screen and (max-width: 767px) {
  .dropdown_menu dt {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .dropdown_menu dt:after {
    content: "＋";
    display: block;
    color: #717071;
    font-size: 22px;
  }
  .dropdown_menu .is-select dt:after {
    content: "－";
  }
  .dropdown_menu dd {
    display: none;
  }
  .dropdown_menu dd a:link {
    color: #fff;
  }
  .dropdown_menu dd a:visited {
    color: #fff;
  }
  .dropdown_menu dd a:hover {
    color: #fff;
  }
  .dropdown_menu dd a:active {
    color: #fff;
  }
  .dropdown_menu dd {
    background-color: #000;
  }
  .dropdown_menu dd a {
    display: block;
    padding: 10px 15px 10px 30px;
  }
  .dropdown_menu dd a:hover {
    background-color: #666;
  }
}

.drawer-hamburger button {
  padding: 0;
  background-color: transparent;
  border: none;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.drawer-hamburger {
  position: absolute;
  font-size: 10px;
  font-weight: bold;
  top: 18px;
  width: 50px;
  padding: 7px 0 22px;
  text-align: center;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .drawer-hamburger {
    display: none;
  }
}

@media print, screen and (min-width: 768px) {
  .drawer-nav {
    height: 100%;
  }
}

@media only screen and (max-width: 767px) {
  .drawer-overlay {
    top: header_height_sp;
    background-color: rgba(174, 168, 37, 0.5);
  }
  .drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-hamburger {
    right: 0px !important;
  }
  .drawer-hamburger-icon, .drawer-hamburger-icon:before, .drawer-hamburger-icon:after {
    width: 28px !important;
    height: 3px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 10px;
    -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    background-color: #fff;
  }
  .drawer-hamburger-icon:before, .drawer-hamburger-icon:after {
    position: absolute;
    top: -8px;
    left: 0;
    content: " ";
  }
  .drawer-hamburger-icon:after {
    top: 8px;
  }
  .drawer-open .drawer-hamburger-text-open, .drawer-open .drawer-hamburger-text-close {
    opacity: 0;
  }
  .drawer-open .drawer-hamburger-text-close {
    opacity: 1;
  }
  .drawer-hamburger-text-open, .drawer-hamburger-text-close {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 5px;
    -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .drawer-hamburger-text-close {
    opacity: 0;
  }
  .drawer--right.drawer-open .drawer-nav {
    left: 0;
  }
  .drawer-nav {
    position: fixed;
    z-index: 101;
    top: 0;
    padding-left: 50px;
    padding-right: 0;
    background-color: transparent;
  }
  .drawer--right .drawer-nav {
    top: 83px !important;
    left: 100%;
    width: 100%;
    height: calc(100vh - 83px);
    overflow: auto;
    -webkit-transition: left 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: left 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  }
}
footer dl, footer dt, footer dd, footer ul, footer ol, footer li, footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, footer p, footer th, footer td, footer figure {
  margin: 0;
  padding: 0;
  font-weight: normal;
}
footer ul, footer ol {
  list-style: none;
}
footer caption {
  padding-top: 0;
  padding-bottom: 0;
  color: #000;
  caption-side: top;
}
footer a:link, footer a:visited, footer a:hover, footer a:active {
  color: #000;
}
footer a:hover img {
  opacity: 0.7;
}
footer {
  background-color: #F2F2F2;
  font-size: 0.875rem;
}
footer small {
  display: block;
  padding: 15px 0;
  font-size: 0.875rem;
  color: #fff;
  background-color: #122649;
  text-align: center;
}
footer a {
  text-decoration: none;
}
footer a:hover {
  text-decoration: underline;
}

.pagetop {
  position: absolute;
  top: -38px;
}
@media print, screen and (min-width: 1225px) {
  .pagetop {
    right: -38px;
  }
}
@media only screen and (max-width: 1224px) {
  .pagetop {
    right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .pagetop {
    right: 10px;
  }
}

/* #Content
-------------------------------------------------------------------------- */
/*doc

*/
@media print, screen and (min-width: 768px) {
  a[href^=tel] {
    pointer-events: none;
  }
}

.ttl_style01 {
  font-size: 1.5rem;
  border-bottom: 1px solid #B4B4B4;
  padding-bottom: 10px;
}

.layout_mainimg01 {
  background-size: cover;
  background-position: center top;
  width: 100%;
  height: 250px;
  display: flex;
  align-items: end;
  justify-content: center;
}
.layout_mainimg01 h2 {
  padding-bottom: 15px;
  border-bottom: 6px solid #B3B3B3;
  width: 280px;
  font-size: 1.75rem;
  font-weight: bold;
  margin-bottom: 0;
  line-height: 1;
}

.btn_style01 {
  display: inline-block;
  margin-inline: auto;
  padding: 12px 10px;
  text-align: center;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
  font-size: 1rem;
  width: 220px;
  background-color: #122649;
}
.btn_style01:link, .btn_style01:visited, .btn_style01:active, .btn_style01:hover {
  color: #fff;
}
.btn_style01:hover {
  opacity: 0.7;
  text-decoration: none;
}

.btn_style02 {
  display: inline-block;
  padding: 10px;
  width: 100%;
  max-width: 400px;
  font-size: 1.25rem;
  border: 2px solid #006837;
  background-color: #fff;
  border-radius: 9999px;
  font-weight: bold;
}
.btn_style02:link, .btn_style02:visited, .btn_style02:active {
  color: #006837;
}
.btn_style02:hover {
  background-color: #006837;
  color: #fff;
  text-decoration: none;
}

.stretched-link:hover::after {
  background-color: rgba(244, 244, 244, 0.7);
}

@media only screen and (max-width: 767px) {
  .table_scroll {
    overflow-x: scroll; /* スクロールする */
    white-space: nowrap; /* 自動改行しない */
  }
}
/* フェードインアニメーション */
.top_slider {
  position: relative;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .top_slider {
    overflow-x: hidden;
  }
}

.swiper-slide {
  position: relative;
  width: 100%;
}
.swiper-slide picture img {
  object-fit: cover;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .swiper-slide picture img {
    height: auto;
    display: block;
    max-height: 533px;
  }
}

@media print, screen and (min-width: 768px) {
  .slide_txt {
    padding-inline: 15px;
    text-align: center;
    width: 100%;
    position: absolute;
    top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .slide_txt {
    display: none;
  }
}

.btn_slide {
  text-align: center;
  display: inline-block;
  padding: 10px 32px;
  margin-right: -20px;
  font-weight: bold;
  clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%);
  background-color: #fff;
  cursor: pointer;
}
.btn_slide.swiper-slide-thumb-active {
  background: #006837;
  color: #fff;
}
.btn_slide:hover {
  opacity: 0.7;
}

.top_780wrapper {
  padding-inline: 12px;
  max-width: 804px;
  margin-inline: auto;
}

.top_840wrapper {
  padding-inline: 12px;
  max-width: 864px;
  margin-inline: auto;
}

.layout_top01 {
  padding-inline: 12px;
  width: 100%;
  height: 440px;
  display: flex;
  align-items: end;
  justify-content: center;
  color: #fff;
  text-align: center;
  background-size: cover;
  background-position: center top;
}

.layout_about01 > div {
  margin-bottom: 30px;
}
@media print, screen and (min-width: 768px) {
  .layout_about01 > div {
    display: flex;
    align-items: center;
  }
}
.layout_about01 dt {
  background-color: #0068B7;
  color: #fff;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .layout_about01 dt {
    margin-right: 30px;
    width: 250px;
    height: 126px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media only screen and (max-width: 767px) {
  .layout_about01 dt {
    padding: 15px;
    margin-bottom: 15px;
  }
}
.layout_about01 dd {
  font-size: 1.125rem;
  line-height: 1.75;
}

.tbl_about01 {
  line-height: 1.75;
}
.tbl_about01 td, .tbl_about01 th {
  border: 1px solid #E6E6E6;
}
@media print, screen and (min-width: 768px) {
  .tbl_about01 td, .tbl_about01 th {
    padding: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .tbl_about01 td, .tbl_about01 th {
    padding: 10px;
  }
}
.tbl_about01 th {
  text-align: center;
  vertical-align: middle;
  font-weight: normal;
  background-color: #F6F6F6;
}
@media print, screen and (min-width: 768px) {
  .tbl_about01 th {
    width: 230px;
  }
}
@media only screen and (max-width: 767px) {
  .tbl_about01 th {
    width: 100px;
  }
}

.googlemap {
  border: 1px solid #C8C8C9;
  margin-bottom: 10px;
}
.googlemap iframe {
  display: block;
  width: 100%;
  aspect-ratio: 100/45;
  height: auto;
}

.ttl_activity01 {
  font-size: 1.5rem;
  font-weight: bold;
  border-block: 1px solid #B3B3B3;
  padding: 15px;
  text-align: center;
}

.ttl_activity02 {
  font-size: 1.125rem;
  font-weight: bold;
  color: #0068B7;
}

.ttl_activity03 {
  display: block;
  font-weight: bold;
  color: #006837;
  margin-left: -15px;
}

.list_activity01 {
  line-height: 1.75;
}
.list_activity01 dt {
  font-size: 1.25rem;
  color: #122649;
}
.list_activity01 dd {
  margin-bottom: 30px;
  font-size: 0.9375rem;
  padding-left: 15px;
}

.layout_disclosure01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  border: 1px solid #878788;
  font-size: 0.9375rem;
  text-decoration: none;
}
.layout_disclosure01:hover {
  background-color: #eee;
  text-decoration: none;
}

/*投稿ページ*/
.news_archive {
  background-color: #fff;
  border: 1px solid #CCCCCC;
}
.news_archive > div {
  border-bottom: 1px solid #CCCCCC;
  display: flex;
  align-items: center;
}
.news_archive > div:last-child {
  border-bottom: none;
}
@media only screen and (max-width: 767px) {
  .news_archive > div {
    flex-wrap: wrap;
  }
}
.news_archive dd, .news_archive dt {
  padding: 10px;
  font-weight: normal;
}
.news_archive dd {
  flex-shrink: 0;
}
.news_archive dt {
  cursor: pointer;
}
.news_archive dt:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 767px) {
  .news_archive dt {
    width: 100%;
    padding-top: 0;
  }
}
.news_archive time {
  margin-left: 10px;
  font-size: 0.875rem;
  color: #808080;
}
.news_archive dt {
  font-size: 0.9375rem;
}

.tag_cat {
  background-color: #E6E6E6;
  border-radius: 9999px;
  display: inline-block;
  padding: 5px;
  text-align: center;
  font-size: 0.875rem;
  width: 140px;
  line-height: 1;
}

.newMark {
  background-color: #900;
  color: #FFF;
  font-size: 12px;
  padding: 3px 6px;
  margin: 0 10px;
  border-radius: 3px;
}

/* Pager style（外部化可） */
.pager {
  margin-top: 30px;
  text-align: center;
  padding: 10px;
  clear: both;
}

/*ページャーボタン*/
.pager a {
  border: 1px solid #999;
  border-radius: 5px 5px 5px 5px;
  color: #333;
  font-size: 0.875rem;
  padding: 3px 7px;
  text-decoration: none;
  margin: 0 3px;
}

/*現在のページのボタン*/
.pager a.current {
  background: #999;
  color: #fff;
}

.pager a:hover {
  background: #999;
  color: #fff;
}

.overPagerPattern {
  padding: 0 2px;
}

.news_single {
  font-size: 0.9375rem;
}
.news_single .ttl_news {
  background-color: #eaf4fd;
}
@media print, screen and (min-width: 768px) {
  .news_single .ttl_news {
    display: flex;
    align-items: center;
    padding: 10px 20px;
  }
}
@media only screen and (max-width: 767px) {
  .news_single .ttl_news {
    padding: 10px;
  }
}
.news_single h2 {
  line-height: 1.25;
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .news_single h2 {
    margin-top: 10px;
  }
}
.news_single time {
  margin-left: 10px;
  margin-top: 20px;
  font-size: 1rem;
}
.news_single .wysiwyg {
  margin-top: 30px;
  margin-bottom: 10px;
  font-size: 1rem;
  text-align: justify;
  text-justify: inter-ideograph;
  line-height: 2;
}
@media print, screen and (min-width: 768px) {
  .news_single .wysiwyg {
    padding: 0 20px;
  }
}
.news_single .wysiwyg img {
  display: block;
  margin: 10px auto;
  margin-bottom: 10px;
  max-width: 100%;
  height: auto;
}
.news_single .wysiwyg pre {
  font-size: 1rem;
  line-height: 2;
}
.news_single .backORcloseBtn {
  margin-top: 50px;
}

.privacy {
  font-size: 1rem;
}
.privacy dl {
  width: 100%;
}
.privacy dt {
  padding: 10px 20px;
  font-size: 1.125rem;
  background-color: #E7E7E7;
  border: 1px solid #B7B7B7;
  border-right: none;
  border-left: none;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .privacy dt {
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .privacy dt {
    margin-bottom: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .privacy dd, .privacy p {
    margin-bottom: 50px;
    line-height: 2.25;
  }
}
@media only screen and (max-width: 767px) {
  .privacy dd, .privacy p {
    margin-bottom: 30px;
    line-height: 1.75;
  }
}
@media print, screen and (min-width: 768px) {
  .privacy dd {
    padding-left: 20px;
  }
}

@media only screen and (max-width: 767px) {
  form table, form tbody, form tr, form th, form td, form caption {
    display: block;
  }
}

@media print, screen and (min-width: 768px) {
  .layout_contact01 {
    min-height: 500px;
    max-width: 1000px;
    margin-inline: auto;
  }
}

.form_table {
  width: 100%;
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .form_table {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .form_table {
    margin-bottom: 30px;
  }
}
.form_table th, .form_table td {
  text-align: left;
  font-size: 1rem;
}
@media print, screen and (min-width: 768px) {
  .form_table th, .form_table td {
    border-bottom: 1px solid #D0D0D0;
    padding: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .form_table th, .form_table td {
    padding: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .form_table tr:first-child th, .form_table tr:first-child td {
    border-top: 1px solid #D0D0D0;
  }
}
.form_table th {
  position: relative;
  background-color: #F3F3F3;
}
@media print, screen and (min-width: 768px) {
  .form_table th {
    width: 300px;
    padding-right: 60px;
    padding-left: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .form_table th {
    margin-bottom: 5px;
  }
}
.form_table th .req {
  position: absolute;
  right: 20px;
}
.form_table input[type=text], .form_table textarea {
  padding: 10px;
  width: 100%;
}
.form_table select {
  padding: 10px;
}

.req {
  display: inline-block;
  padding: 3px 5px;
  color: #fff;
  font-size: 0.75rem;
  background-color: #B11C23;
}

.layout_contact02 {
  margin-bottom: 30px;
  padding: 50px 20px;
  border: 1px solid #D0D0D0;
  text-align: center;
}
.layout_contact02 label {
  margin-top: 20px;
  display: inline-block;
  padding: 20px;
  width: 100%;
  max-width: 520px;
  background-color: #F3F3F3;
}

.btn_form, .btn_toppage, .btn_entry, .btn_send, .btn_confirm {
  padding: 0;
  background-color: transparent;
  border: none;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  display: block;
  margin-inline: auto;
  width: 100%;
  max-width: 400px;
  line-height: 60px;
  text-align: center;
  font-size: 1rem;
  background-color: #4682C3;
  color: #fff;
  font-weight: normal;
}
.btn_form:link, .btn_toppage:link, .btn_entry:link, .btn_send:link, .btn_confirm:link, .btn_form:visited, .btn_toppage:visited, .btn_entry:visited, .btn_send:visited, .btn_confirm:visited, .btn_form:hover, .btn_toppage:hover, .btn_entry:hover, .btn_send:hover, .btn_confirm:hover, .btn_form:active, .btn_toppage:active, .btn_entry:active, .btn_send:active, .btn_confirm:active {
  color: #fff;
}
.btn_form:hover, .btn_toppage:hover, .btn_entry:hover, .btn_send:hover, .btn_confirm:hover {
  opacity: 0.7;
  text-decoration: none;
  cursor: pointer;
}

.layout_send {
  display: flex;
  justify-content: space-around;
}
.layout_send button {
  max-width: 350px;
  margin-right: 10px;
  margin-left: 10px;
}

#thanks {
  margin-top: 50px;
  display: flex;
  justify-content: center;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  #thanks {
    margin-top: 25px;
  }
}
#thanks a {
  display: block;
  margin-left: auto;
  margin-right: auto;
}