@charset "utf-8";
/* CSS Document */
@import url("default.css");
@import url("default_sp.css") screen and (max-width: 767px);
@import url("../parts/pc_g_navi/g_navi.css") screen and (min-width: 768px);
@import url("../parts/sp_modal_bnr/sp_modal_bnr.css") screen and (max-width: 767px);
@import url("custom.css");
@import url("custom_sp.css") screen and (max-width: 767px);



.notice-toggle { display: none; }

.site-notice{
  position: relative;
  padding-top: 10px;
  background: #000;
}
.notice-inner{
    position: relative;
     display: block;
  transition: transform .28s ease, opacity .28s ease, height .28s ease;
    border-radius: 10px;
    box-sizing: border-box;
    background: #fff;
  border: 2px solid #f00;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 14px;
  font-size: 14px;
}
.notice-inner strong{
    color: #f00;
    font-weight: bold;
}
/* ×ボタン（ラベル）*/
.notice-close{
  position: absolute;
  right: 10px;
  top: 40%;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  background: transparent;
  border: none;
  padding: 4px 8px;
    color: red;        /* ← 赤色に変更 */
  font-weight: bold; /* ← 太字にする */
}

/* 非表示トリガー：チェックされたら通知を消す（アニメーション）*/
.notice-toggle:checked + .site-notice {
  opacity: 0;
  transform: translateY(-8px);
  height: 0;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  pointer-events: none;
}
@media (max-width:767px) {
  .site-notice{
  padding-top: 10px;
}
    .notice-inner{
    width: 95%;
    max-width: 95%;
        font-size: 14px;
        padding: 10px;
}
    .notice-close{
  right: 0px;
}
}
/*
未作業

余分なコンテンツ削除
余分なCSS削除

iphone footer 調整

左右欠け

フォントサイズ

最新仕様確認

@import確認

tablet
iPad


~~~~~~~~~~~~~~~
*/



/* inview
-----------------------*/
.fade {
  opacity: .2;
  transition: 1.2s;
}
.fade-in {
  opacity: 1;
}

/*
 */
/*　onoff
-------------------------------------*/
@media (min-width:768px) {
  .is-sp {
    display: none;
  }
  .is-pc {
    display: block;
  }
}
@media (max-width:767px) {
  .is-sp {
    display: block;
  }
  .is-pc {
    display: none;
  }
}

/*
 */
/*　br制御 SPのみ改行
-------------------------------------*/
@media (min-width:768px) {
  .br-is-sp {
    display: none;
    font-size: 1;
    line-height: 1;
    margin: 0 0 0 -.5em;
    padding: 0;
  }
  .br-is-pc {
    font-size: 1;
    line-height: 1;
    margin: 0 0 0 -.5em;
    padding: 0;
  }
}
@media (max-width:767px) {
  .br-is-sp {
    font-size: 1;
    line-height: 1;
    margin: 0 0 0 -.5em;
    padding: 0;
  }
  .br-is-pc {
    display: none;
    font-size: 1;
    line-height: 1;
    margin: 0 0 0 -.5em;
    padding: 0;
  }
}

/* footer
--------------------------------*/
@media (min-width:768px) {
  footer {
      background-color: #043786;
    /*margin-bottom: 80px;*/
  }
}
@media (max-width:767px) {
  footer {
    margin-bottom: 0;
  }
}

/*
 *
/* button
------------------------------------------------------- */
.btn_wrap-02 {
  margin-top: .5em;
}
.cp_btn2_02 {
  width: 350px;
  padding: 11px 5px 10px;
  text-align: center;
  display: block;
  text-decoration: none;
  border-radius: 99px;
  display: inline-block;
  color: #fff;
  background: #B4163E;
  border: #B4163E 1px solid;
  font-size: 15px;
  /*font-weight: bold;*/
  position: relative;
}
.cp_btn2_02:hover {
  text-decoration: none;
  color: #B4163E;
  background: #fff;
  border: #B4163E 1px solid;
}
.cp_btnwrap2_02 {
  text-align: center;
  margin: 0.5em 1em 1em;
  padding: 0 0 1.5em;
}
.cp_btn2_02:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-size: 16px;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translate(0, -50%);
}
@media (max-width:767px) {
  .cp_btn2_02 {
    width: 80%;
    padding: 8px 5px 8px;
    text-align: center;
    display: block;
    text-decoration: none;
    border-radius: 99px;
    display: inline-block;
    color: #fff;
    background: #B4163E;
    border: #B4163E 1px solid;
    font-size: 12px;
    /*font-weight: bold;*/
    position: relative;
  }
  .cp_btn2_02:hover {
    text-decoration: none;
    color: #B4163E;
    background: #fff;
    border: #B4163E 1px solid;
  }
  .cp_btnwrap2_02 {
    text-align: center;
    margin: 0.5em 1em 1em;
    padding: 0 0 1.5em;
  }
  .cp_btn2_02:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-size: 16px;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translate(0, -50%);
  }
}
/*03
-------------------------------- */
.cp_btn3_03 {
  width: 350px;
  padding: 11px 5px 10px;
  text-align: center;
  display: block;
  text-decoration: none;
  border-radius: 99px;
  display: inline-block;
  color: #fff;
  background: #B4163E;
  background: #B4163E;
  border: #B4163E 1px solid;
  font-size: 15px;
  /*font-weight: bold;*/
  position: relative;
}
.cp_btn3_03:hover {
  text-decoration: none;
  color: #B4163E;
  background: #fff;
  border: #B4163E 1px solid;
}
.cp_btnwrap3_03 {
  text-align: center;
  margin: 1.5em 1em 0;
  padding: 0 0 0;
}
.cp_btn3_03:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-size: 16px;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translate(0, -50%);
}
.cp_btn3_03 {
  width: 350px;
  padding: 11px 5px 10px;
  text-align: center;
  display: block;
  text-decoration: none;
  border-radius: 99px;
  display: inline-block;
  color: #fff;
  background: #B4163E;
  border: #B4163E 1px solid;
  font-size: 15px;
  /*font-weight: bold;*/
  position: relative;
}
.cp_btn3_03:hover {
  text-decoration: none;
  color: #B4163E;
  background: #fff;
  border: #B4163E 1px solid;
}
.cp_btnwrap3_03 {
  text-align: center;
  margin: 1.5em 1em 0;
  padding: 0 0 0;
}
.cp_btn3_03:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-size: 16px;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translate(0, -50%);
}
.btn_wrap-03 {
  margin-top: .5em;
}
@media (max-width:767px) {
  .btn_wrap-03 {
    margin-top: .5em;
  }
  .cp_btn3_03 {
    margin: .5em 0 0 -100px;
    width: 140%;
    padding: 8px 5px 8px;
    text-align: center;
    display: block;
    text-decoration: none;
    border-radius: 99px;
    display: inline-block;
    color: #fff;
    background: #B4163E;
    border: #B4163E 1px solid;
    font-size: 12px;
    /*font-weight: bold;*/
    position: relative;
  }
  .cp_btn3_03:hover {
    text-decoration: none;
    color: #B4163E;
    background: #fff;
    border: #B4163E 1px solid;
  }
  .cp_btnwrap3_03 {
    text-align: center;
    margin: 1em 1em 0;
    padding: 0 0 1.5em;
    background-color: #FFF7E3;
  }
  .cp_btn3_03:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-size: 14px;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translate(0, -50%);
  }
  /**/
  .cp_btn3_03 {
    margin: .5em 0 0 -100px;
    width: 140%;
    padding: 8px 5px 8px;
    text-align: center;
    display: block;
    text-decoration: none;
    border-radius: 99px;
    display: inline-block;
    color: #fff;
    background: #B4163E;
    border: #B4163E 1px solid;
    font-size: 12px;
    /*font-weight: bold;*/
    position: relative;
  }
  .cp_btn3_03:hover {
    text-decoration: none;
    color: #B4163E;
    background: #fff;
    border: #B4163E 1px solid;
  }
  .cp_btnwrap3_03 {
    text-align: center;
    margin: 1em 1em 0;
    padding: 0 0 1.5em;
    background-color: #FFF7E3;
  }
  .cp_btn3_03:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-size: 14px;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translate(0, -50%);
  }
}
/*04
-------------------------------- */
.cp_btn4_04 {
  width: 350px;
  padding: 11px 5px 10px;
  text-align: center;
  text-decoration: none;
  border-radius: 99px;
  display: inline-block;
  color: #fff;
  background: #B4163E;
  border: #B4163E 1px solid;
  font-size: 15px;
  /*font-weight: bold;*/
  position: relative;
}
.cp_btn4_04:hover {
  text-decoration: none;
  color: #B4163E;
  background: #fff;
  border: #B4163E 1px solid;
}
.cp_btnwrap4_04 {
  text-align: center;
  margin: 1.5em 1em 0;
  padding: 0 0 0;
}
.cp_btn4_04:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-size: 16px;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translate(0, -50%);
}
.cp_btn4_04 {
  width: 350px;
  padding: 11px 5px 10px;
  text-align: center;
  text-decoration: none;
  border-radius: 99px;
  display: inline-block;
  color: #fff;
  background: #B4163E;
  border: #B4163E 1px solid;
  font-size: 15px;
  /*font-weight: bold;*/
  position: relative;
  margin: 1em;
}
.cp_btn4_04:hover {
  text-decoration: none;
  color: #B4163E;
  background: #fff;
  border: #B4163E 1px solid;
}
.cp_btnwrap4_04 {
  text-align: center;
  margin: 1.5em 1em 0;
  padding: 0 0 0;
}
.cp_btn4_04:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-size: 16px;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translate(0, -50%);
}
.btn_wrap-04 {
  margin-top: .5em;
}
@media (max-width:767px) {
  .btn_wrap-04 {
    margin-top: .5em;
  }
  .cp_btn4_04 {
    margin: .5em 0 0 -100px;
    width: 140%;
    padding: 8px 5px 8px;
    text-align: center;
    display: block;
    text-decoration: none;
    border-radius: 99px;
    display: inline-block;
    color: #fff;
    background: #B4163E;
    border: #B4163E 1px solid;
    font-size: 12px;
    /*font-weight: bold;*/
    position: relative;
  }
  .cp_btn4_04:hover {
    text-decoration: none;
    color: #B4163E;
    background: #fff;
    border: #B4163E 1px solid;
  }
  .cp_btnwrap4_04 {
    text-align: center;
    margin: 1em 1em 0;
    padding: 0 0 1.5em;
    background-color: #FFF7E3;
  }
  .cp_btn4_04:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-size: 14px;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translate(0, -50%);
  }
  /**/
  .cp_btn4_04 {
    margin: 2.2em -114px 0 0;
    width: 140%;
    padding: 8px 5px 8px;
    text-align: center;
    text-decoration: none;
    border-radius: 99px;
    display: inline-block;
    color: #fff;
    background: #B4163E;
    border: #B4163E 1px solid;
    font-size: 12px;
    /*font-weight: bold;*/
    position: relative;
  }
  .cp_btn4_04:hover {
    text-decoration: none;
    color: #B4163E;
    background: #fff;
    border: #B4163E 1px solid;
  }
  .cp_btnwrap4_04 {
    text-align: center;
    margin: 1em 1em 0;
    padding: 0 0 1.5em;
    background-color: #FFF7E3;
  }
  .cp_btn4_04:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-size: 14px;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translate(0, -50%);
  }
}

/*
 */
/* 04
------------------------------------ */
/* ブロック100% */
section.top-d06 {
  text-align: center;
  padding: 3em 0 3em;
  margin: 0 auto;
  width: 100%;
  display: block;
  background-image: url(../img/top_new/bg2.png);
  background-attachment: fixed;
  background-color: #74D6EA;
}
@media (max-width:767px) {
  section.top-d06 {}
}
/* 白 */
section.top-d06 div {
  background-color: white;
  border-radius: 10px;
  padding: .5em .8em 1em;
  max-width: 1000px;
  margin: 0 auto;
}
@media (max-width:767px) {
  section.top-d06 div {
    background-color: white;
    border-radius: 7px;
    padding: 0 .5em .5em;
    width: 93%;
    margin: 0 auto;
  }
}
/* flex */
.top-d06 div ul {
  display: flex;
  flex-flow: wrap;
  padding: 0;
  justify-content: center;
}
/* グレー */
.top-d06 div ul li.box-d06 {
  padding: 1em 0;
  margin: 150px .8em 0;
  flex: 1 1 26%;
  background-color: #e5e5e5;
  border-radius: .8em;
}
@media (max-width:767px) {
  .top-d06 div ul li.box-d06 {
    padding: 1em .5em;
    margin: 7em .6em 0;
    flex: 1 1 40%;
    /* background-color: #e5e5e5;*/
    border-radius: .6em;
  }
}
/* IMG */
.top-d06 div ul li.box-d06 img {
  margin: -140px auto 0;
  display: block;
  width: 100%;
}
@media (max-width:767px) {
  .top-d06 div ul li.box-d06 img {
    margin: -7em auto 0;
    display: block;
    width: 100%;
  }
}
/* 小見出し */
.top-d06 div ul li.box-d06 h3 {
  font-size: clamp(16px, 5vw, 24px);
  color: #004e9b;
  font-weight: 700;
}
@media (max-width:767px) {
  .top-d06 div ul li.box-d06 h3 {
    font-size: clamp(12px, 3.6vw, 19px);
  }
}
/* 本文 */
.top-d06 div ul li.box-d06 p {
  font-size: clamp(12px, 4.5vw, 16px);
  text-align: justify;
  margin: .5em 1em;
}
@media (max-width:767px) {
  .top-d06 div ul li.box-d06 p {
    font-size: clamp(10px, 3.1vw, 12px);
    /* text-align:justify;*/
    margin: .2em .7em;
  }
}

/*
 */
/* top-g07
------------------------------------ */
section.top-g07 {
  text-align: center;
  padding: 1em 0;
  margin: 0 auto;
  width: 1000px;
  display: block;
}
@media (max-width:767px) {
  section.top-g07 {
    text-align: center;
    padding: 2em 0;
    margin: 0 auto;
    width: 100%;
  }
}
section.top-g07 div {
  padding: .5em -8px 1em;
}
.top-g07 div ul {
  display: flex;
  flex-flow: wrap;
  padding: 0;
  justify-content: center;
}
.top-g07 div ul li.box-g07 {
  padding: 1em 0;
  margin: 0 1em 0;
  flex: 1 1 26%;
}
@media (max-width:767px) {
  .top-g07 div ul li.box-g07 {
    padding: 1em 1.2em;
    margin: 0;
    flex: 1 1 40%;
  }
}
.top-g07 div ul li.box-g07 h3 {
  font-size: clamp(13px, 6vw, 22px);
  color: white;
  font-weight: 700;
  background-color: #004e9b;
  line-height: 2em;
  margin: 0;
}
@media (max-width:767px) {
  .top-g07 div ul li.box-g07 h3 {
    font-size: clamp(13px, 4vw, 22px);
    color: white;
    font-weight: 700;
    background-color: #004e9b;
    line-height: 2em;
    margin: .5em 0 0;
  }
}
.top-g07 div ul li.box-g07 img {
  margin: 0 auto;
  display: block;
  width: 100%;
}
@media (max-width:767px) {
  .top-g07 div ul li.box-g07 img {
    margin: 0 auto;
    display: block;
    width: 100%;
  }
}
.top-g07 div ul li.box-g07 p {
  font-size: clamp(12px, 4.5vw, 16px);
  text-align: justify;
  margin: .5em .2em 0;
}
@media (max-width:767px) {
  .top-g07 div ul li.box-g07 p {
    font-size: clamp(11px, 3.5vw, 13px);
    text-align: justify;
    padding: 0;
    margin: .3em .1em 0;
  }
}
/*4 h2 subtitle */
h2.top-g07_subtitle-07 {
  margin: 0 0 0;
  /* font-size: 3rem;*/
  font-size: clamp(2rem, 3.5vw, 4rem);
  /*font-weight: bold;*/
  text-align: center;
  /*letter-spacing: .1em;*/
  color: #004ea0;
}
h2.top-g07_subtitle-07::after {
  content: "";
  margin: 0 auto 1em;
  display: block;
  width: clamp(60px, 16vw, 100px);
  height: clamp(2px, .6vh, 5px);
  background-color: #004ea0;
  bottom: -.5em;
  position: relative;
}

/* color
--------------------------------*/
.color-01 {
  background-color: red;
}
.color-02 {
  background-color: blue;
}
.color-03 {
  background-color: green;
}
.color-04 {
  background-color: black;
}
.color-05 {
  background-color: pink;
}
.color-06 {
  background-color: #F5F5F5 !important;
}
.color-07 {
  background-color: whitet;
}

/*
 */
/* PC/SP Footer 当サイトおすすめ　バナー
--------------------------------------------------*/
.footer_bn_link {
  padding: 1em 0;
  margin: 0;
}
.footer_bn_link a {
  width: 1000px;
  display: block;
  margin: 0 auto;
}
@media (max-width:767px) {
  .footer_bn_link {
    padding: .6em 1em;
    margin: 0;
  }
  .footer_bn_link a {
    width: 100%;
    display: block;
    margin: 0 auto;
  }
}
@keyframes banner-gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.footer_bn_link {
  height: auto;
  background: linear-gradient(-45deg, #612400, #B27802, #8B4F01, #B27702, #612400, #E4AB03);
  background-size: 300% 300%;
  animation: banner-gradient 10s ease infinite;
}

/*
*/
/* footer navi
-------------------------------*/
.d-footer_copyright p a {
  color: white;
  font-size: 15px;
}
@media (max-width:767px) {
  .d-footer_copyright p a {
    color: white;
    font-size: 12px;
  }
}

/*
*/
/* profile
--------------------------------------------------------*/
section h2.midashi_profile {
  margin-top: 40px;
  font-size: 20px;
  background-color: #0e62a9;
  color: #fff;
  text-align: center;
  /*font-weight: bold;*/
  line-height: 46px;
  height: 46px;
  margin: 0 auto;
}
.site_contents_profile section {
  background-color: white;
  width: min(100%, 1000px);
  margin-top: 20px !important;
  margin: 0 auto;
}
/*tabel002*/
.tbl_002 {
  text-align: left;
  padding: 0px;
  height: auto;
  width: 100%;
  margin: 0;
  border: 1px solid #ccc;
  border-collapse: collapse;
  font-size: 14px;
}
.tbl_002 th {
  font-weight: normal;
  background-color: #F0F0F0;
  width: 20%;
  height: auto;
  padding: 8px .8em 8px 1em;
  border: 1px solid #ccc;
  border-collapse: collapse;
  vertical-align: middle;
}
.tbl_002 td {
  padding: 8px .8em 8px 1.2em;
  height: auto;
  width: auto;
  border: 1px solid #ccc;
  border-collapse: collapse;
  vertical-align: middle;
  text-align: left;
  font-size: 14px;
}
.access_map {
  margin: 0 0 2em;
}
@media (max-width:767px) {
  .site_contents_profile section h2.midashi_profile {
    margin-top: 0px;
  }
  .site_contents_profile section {
    background-color: white;
    width: 100%;
    margin-top: 14px;
  }
  .tbl_002 {
    text-align: left;
    padding: 0px;
    height: auto;
    width: 100%;
    margin: 0;
    border: 1px solid #ccc;
    border-collapse: collapse;
    font-size: 12px;
  }
  .tbl_002 th {
    font-weight: normal;
    background-color: #F0F0F0;
    width: 6.5em;
    height: auto;
    padding: 8px .6em 8px .6em;
    border: 1px solid #ccc;
    border-collapse: collapse;
    vertical-align: middle;
  }
  .tbl_002 td {
    padding: 8px .6em 8px .6em;
    height: auto;
    width: auto;
    border: 1px solid #ccc;
    border-collapse: collapse;
    vertical-align: middle;
    text-align: left;
    font-size: 12px;
  }
  .access_map {
    margin: 0 0 2em;
  }
}


/*
*/
/* privacy policy
----------------------------------------*/
/*.add_privacy {
  margin: 2em 1em;
  border: 1px solid #ccc;
  padding: 2em 4em 2em 5em;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.6;
}*//***********************kaunin*/

.add_privacy {
  background-color: #000;
  margin: 2em auto;
  border: 1px solid #fff;
  padding: 2em 4em 2em 4em;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.6;
  width: 1000px;
  
}
.add_privacy_option {
    background-color: #fff;
    margin: 5em auto;
    border: 1px solid #fff;
    padding: 2em 4em 2em 4em;
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.6;
    width: 1000px;
}
@media (max-width:767px) {
  
  .add_privacy {
    margin: 0px 1em 2em;/*25px 1em 2em;*/
    border: 1px solid #ccc;
    padding: 1.2em 1em 2em 1em;
    border-radius: 8px;
    font-size: 11px;
    line-height: 1.6;
    width: calc(100% - 2em);
  }
  .add_privacy_option{width:100%;}
}
.noto-sesif-h2 {
  font-size: 115%;
  line-height: 1.6;
  /*font-weight: bold;*/
  margin-top: 1em;
  text-indent: -1.2em;
}
.policy_content p {
  padding: 0;
  margin: .5em 0 0 -1.5em;
  text-align: justify;
}
.detail_business p.note {
  padding: 0;
  margin: .5em 0 0 -1.5em;
  text-align: justify;
}
.noto-sesif {
  font-size: 115%;
  line-height: 2;
  /*font-weight: bold;*/
  margin-top: 1em;
  margin-left: -1.2em;
  border-bottom: 1px dotted #ccc;
}
.policy_content ul li, .detail_business ul li {
  list-style-type: decimal;
  text-align: justify;
}
div.signi p {
  text-align: right;
}
/*tabel022::::::::add
--------------------------------------*/
.tbl_022 {
  text-align: left;
  padding: 0px;
  height: auto;
  width: calc(100% + 1.5em);
  margin: 0 -1.5em .5em -1.5em !important;
  border: 1px solid #ccc;
  border-collapse: collapse;
  font-size: 14px;
}
.tbl_022 th {
  font-weight: normal;
  background-color: #F0F0F0;
  width: 11em;
  height: auto;
  padding: 8px .8em 8px 1em;
  border: 1px solid #ccc;
  border-collapse: collapse;
  vertical-align: middle;
  text-align: center;
}
.tbl_022 td {
  padding: 8px .8em 8px 1.2em;
  height: auto;
  width: 25%;
  border: 1px solid #ccc;
  border-collapse: collapse;
  vertical-align: middle;
  text-align: left;
  font-size: 14px;
}
@media (max-width:767px) {
  .tbl_022 {
    text-align: left;
    padding: 0px;
    height: auto;
    width: calc(100% + 1.5em);
    margin: 0 -1.5em 1em -1.5em !important;
    border: 1px solid #ccc;
    border-collapse: collapse;
    font-size: 10px;
    line-height: 1.3;
  }
  .tbl_022 th {
    font-weight: normal;
    background-color: #F0F0F0;
    width: 6em;
    height: auto;
    padding: .5em .3em .5em .6em;
    border: 1px solid #ccc;
    border-collapse: collapse;
    vertical-align: middle;
  }
  .tbl_022 td {
    padding: .5em .4em .5em .6em;
    height: auto;
    width: auto;
    border: 1px solid #ccc;
    border-collapse: collapse;
    vertical-align: middle;
    text-align: left;
    font-size: 10px;
    line-height: 1.3;
  }
}
/*tabel003
--------------------------------------*/
.tbl_003 {
  text-align: left;
  padding: 0px;
  height: auto;
  width: 100%;
  margin: 0 0 .5em;
  border: 1px solid #ccc;
  border-collapse: collapse;
  font-size: 14px;
}
.tbl_003 th {
  font-weight: normal;
  background-color: #F0F0F0;
  width: 20%;
  height: auto;
  padding: 8px .8em 8px 1em;
  border: 1px solid #ccc;
  border-collapse: collapse;
  vertical-align: middle;
  text-align: center;
}
.tbl_003 td {
  padding: 8px .8em 8px 1.2em;
  height: auto;
  width: auto;
  border: 1px solid #ccc;
  border-collapse: collapse;
  vertical-align: middle;
  text-align: center;
  font-size: 14px;
}
@media (max-width:767px) {
  .tbl_003 {
    text-align: left;
    padding: 0px;
    height: auto;
    width: 100%;
    margin: 0 0 .5em;
    border: 1px solid #ccc;
    border-collapse: collapse;
    font-size: 12px;
  }
  .tbl_003 th {
    font-weight: normal;
    background-color: #F0F0F0;
    width: 6.5em;
    height: auto;
    padding: 8px .6em 8px .6em;
    border: 1px solid #ccc;
    border-collapse: collapse;
    vertical-align: middle;
  }
  .tbl_003 td {
    padding: 8px .6em 8px .6em;
    height: auto;
    width: auto;
    border: 1px solid #ccc;
    border-collapse: collapse;
    vertical-align: middle;
    text-align: center;
    font-size: 12px;
  }
}
/*tabel004
--------------------------------------*/
.tbl_004 {
  text-align: left;
  padding: 0px;
  height: auto;
  width: calc(100% + 1.5em);
  margin: 0 -1.5em .5em -1.5em !important;
  border: 1px solid #ccc;
  border-collapse: collapse;
  font-size: 14px;
}
.tbl_004 th {
  font-weight: normal;
  background-color: #F0F0F0;
  width: 11em;
  height: auto;
  padding: 8px .8em 8px 1em;
  border: 1px solid #ccc;
  border-collapse: collapse;
  vertical-align: middle;
  text-align: center;
}
/*.tbl_004 th:nth-child(2) {
		width: auto;
}*/
/*.tbl_004 th::nth-child(3) {
	width: auto;
}*/
.tbl_004 td {
  padding: 8px .8em 8px 1.2em;
  height: auto;
  width: 25%;
  border: 1px solid #ccc;
  border-collapse: collapse;
  vertical-align: middle;
  text-align: left;
  font-size: 14px;
}
@media (max-width:767px) {
  .tbl_004 {
    text-align: left;
    padding: 0px;
    height: auto;
    width: calc(100% + 1.5em);
    margin: 0 -1.5em 1em -1.5em !important;
    border: 1px solid #ccc;
    border-collapse: collapse;
    font-size: 10px;
    line-height: 1.3;
  }
  .tbl_004 th {
    font-weight: normal;
    background-color: #F0F0F0;
    width: 6em;
    height: auto;
    padding: .5em .3em .5em .6em;
    border: 1px solid #ccc;
    border-collapse: collapse;
    vertical-align: middle;
  }
  .tbl_004 td {
    padding: .5em .4em .5em .6em;
    height: auto;
    width: auto;
    border: 1px solid #ccc;
    border-collapse: collapse;
    vertical-align: middle;
    text-align: left;
    font-size: 10px;
    line-height: 1.3;
  }
}
/*tabel005*/
.contents_box .tbl_005 {
  text-align: left;
  padding: 0px;
  height: auto;
  width: 100%;
  margin: 0;
  border: 1px solid #ccc;
  border-collapse: collapse;
  font-size: 14px;
}
.contents_box .tbl_005 th {
  font-weight: normal;
  background-color: #F0F0F0;
  width: 30%;
  height: auto;
  padding: 8px .8em 8px 1em;
  border: 1px solid #ccc;
  border-collapse: collapse;
  vertical-align: middle;
  word-break: break-all
}
.contents_box .tbl_005 td {
  padding: 8px .8em 8px 1.2em;
  height: auto;
  width: auto;
  border: 1px solid #ccc;
  border-collapse: collapse;
  vertical-align: middle;
  text-align: justify;
  font-size: 14px;
  word-break: break-all
}
@media (max-width:767px) {
  .contents_box .tbl_005 {
    text-align: left;
    padding: 0px;
    height: auto;
    width: 100%;
    margin: 0 0 1.5em;
    border: 1px solid #ccc;
    border-collapse: collapse;
    font-size: 11px;
    line-height: 1.4;
  }
  .contents_box .tbl_005 th {
    font-weight: normal;
    background-color: #F0F0F0;
    width: 30% !important;
    height: auto;
    padding: 8px .6em 8px .6em;
    border: 1px solid #ccc;
    border-collapse: collapse;
    vertical-align: middle;
    word-break: break-all
  }
  .contents_box .tbl_005 td {
    padding: 8px .6em 8px .8em;
    height: auto;
    width: auto;
    border: 1px solid #ccc;
    border-collapse: collapse;
    vertical-align: middle;
    text-align: justify;
    font-size: 11px;
    word-break: break-all
  }
}
/*会員登録の下の文字
----------------------*/
@media (min-width:768px) {
  div.footer_p_my {
    margin: 0;
    padding: 0;
    background-color: #5E1401;
    width: 100%;
  }
  p.btn-bottom_text-pc {
    font-size: 12px;
    line-height: 1.5;
    margin: 0 auto;
    padding: .2em 0;
    background-color: #5E1401;
    color: yellow !important;
    font-weight: normal !important;
    width: 960px;
  }
}
@media (max-width:767px) {
  p.btn-bottom_text-sp {
    font-size: clamp(8px, 2.5vw, 10px);
    line-height: 1.5;
    margin: 0;
    padding: 0;
    text-align: center;
    background-color: #5E1401;
    color: yellow;
    font-weight: normal !important;
    /*letter-spacing: normal;*/
  }
}
/* [c-]  wrap + button NEW20210706
------------------------------------------------------- */
div.c-btn_wrap {
  margin: 0 auto 1em;
  padding: 0 0 1em;
  width: 100%;
}
.c-btn_01 {
  width: clamp(180px, 56vw, 380px); /**/
  margin: 0 auto;
  padding: .7em 5px;
  text-align: center;
  display: block;
  text-decoration: none;
  border-radius: 99px;
  color: white;
  background: #B4163E;
  border: #B4163E 2px solid;
  font-size: clamp(12px, 3vw, 15px); /**/
  /*font-weight: bold;*/
  position: relative;
  transition: all .3s ease-in-out;
}
.c-btn_01:hover {
  text-decoration: none;
  color: #B4163E;
  background: white !important;
  border: #B4163E 2px solid;
  transition: all .1s ease-in-out;
  /*filter: drop-shadow(3px 3px 2px rgba(207,0,0,0.9));*/
}
.c-btn_01:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-size: clamp(11px, 3vw, 14px); /**/
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translate(0, -50%);
}
/* [c-]  wrap + button NEW20210706
------------------------------------------------------- */
div.c-btn_wrap_91 {
  margin: 0 auto 1em 0;
  padding: 0 0 1em;
  width: 100%;
}
.c-btn_91 {
  width: clamp(110px, 56vw, 240px); /**/
  margin: .5em 1.5em 0;
  padding: .4em 5px;
  text-align: center;
  display: block;
  text-decoration: none;
  border-radius: 4px;
  color: #B4163E;
  background: white;
  border: #B4163E 1px solid;
  font-size: clamp(12px, 3vw, 15px); /**/
  /*font-weight: bold;*/
  position: relative;
  transition: all .3s ease-in-out;
}
.c-btn_91:hover {
  text-decoration: none;
  color: #B4163E;
  background: white !important;
  border: #B4163E 1px solid;
  transition: all .1s ease-in-out;
}
.c-btn_91:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-size: clamp(11px, 3vw, 14px); /**/
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translate(0, -50%);
}
@media (max-width:767px) {
  div.c-btn_wrap_91 {
    margin: 0 auto 1em 0;
    padding: 0 0 1em;
    width: 100%;
  }
  .c-btn_91 {
    width: clamp(140px, 50vw, 172px); /**/
    margin: .5em 1.1em 0;
    padding: .2em 5px;
    text-align: center;
    display: block;
    text-decoration: none;
    border-radius: 4px;
    color: #B4163E;
    background: white;
    border: #B4163E 1px solid;
    font-size: clamp(11px, 3vw, 13px); /**/
    /*font-weight: bold;*/
    position: relative;
    transition: all .3s ease-in-out;
  }
  .c-btn_91:hover {
    text-decoration: none;
    color: #B4163E;
    background: white !important;
    border: #B4163E 1px solid;
    transition: all .1s ease-in-out;
  }
  .c-btn_91:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-size: clamp(11px, 3vw, 14px); /**/
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translate(0, -50%);
  }
}
/* main_bottom_text
----------------------------------*/
p.main_bottom_text {
  background-color: #ffcc01;
  padding: .4em 0;
  margin: 0;
  width: 100%;
  font-size: 16px;
}
@media (max-width:767px) {
  p.main_bottom_text {
    background-color: #ffcc01;
    padding: .5em .5em;
    margin: 0;
    width: 100%;
    font-size: clamp(10px, 3vw, 12px);
    line-height: 1.6;
    text-align: center;
  }
}
/***************************************************************************************************************************************************************************************************************************************/
/***************************************************************************************************************************************************************************************************************************************/
/*
*/
/* plan__01
------------------------------------------------ */
section.plan__01 {
  background-color: #000;
  text-align: center;
  padding: 1em 0 0;
  margin: 1em auto .5em;
  width: 1000px;
  display: block;
}
@media (max-width:767px) {
  section.plan__01 {
    background-color: #000;
    text-align: center;
    padding: 2em 0 .5em;
    margin: 0 auto;
    width: 100%;
  }
}
/* h2 */
.plan__01 div > h2 {
  font-size: clamp(32px, 10.0vw, 40px);
  color: #d5f2f6;
  border-bottom: 1px solid #555;
  display: inline-block;
  line-height: 1.5;
  padding: 0 1em;
}
.plan__01 div > h2 > span {
  color: inherit;
  font-size: clamp(11px, 4.0vw, 16px);
  display: block;
  font-family: Roboto, sans-serif;
  line-height: 1;
}
/* ul flex */
.plan__01 div ul {
  display: flex;
  flex-flow: wrap;
  padding: 2em 0 0;
  justify-content: center;
}
@media (max-width:767px) {
  .plan__01 div ul {
    display: flex;
    flex-direction: column;
    padding: 0em 0;
    justify-content: center;
  }
}
/* li */
.plan__01 div ul li {
  border-radius: 8px;
  padding: 1.6em 1.5em 0.3em;
  margin: 1em .6em 2em;
  flex: 1 1 45%;
    height: 410px;
background-color: #2e2e2e;
}
@media (max-width:767px) {
  .plan__01 div ul li {
    background-color: #2e2e2e;
    border-radius: 8px;
    padding: 1em 1.2em;
    margin: 1em .6em 1.5em;
    flex: 1 1 40%;
  }
}
/* img */
.plan__01 div ul li img {
  margin: 0 auto 1em;
  display: block;
  width: 100%;
  aspect-ratio: 2/1;
}
@media (max-width:767px) {
  .plan__01 div ul li img {
    margin: 0 auto 1em;
    display: block;
    width: 100%;
    aspect-ratio: 2/1;
  }
}
/* h3 */
.plan__01 div ul li h3 {
  font-size: clamp(13px, 4.5vw, 18px);
  line-height: 1.5;
  display: block;
    color:#fff;
    margin-top:0;
    margin-bottom:0;
}
.plan__01 div ul li h3 > span {
  font-size: clamp(14px, 6.0vw, 24px);
  line-height: 1;
  display: block;
  margin-bottom: 0;
}
/* p span span span */
.plan__01 div ul li p {
  font-size: clamp(16px, 5vw, 20px);
  line-height: 1;
  margin: .3em 0;
color:#fff;
}
.plan__01 div ul li p > span:nth-of-type(1) {
  font-size: clamp(16px, 5vw, 20px);
  margin: 0 0 0 -.4em;
}
.plan__01 div ul li p > span:nth-of-type(2) {
  font-size: 180%;
  font-family: Roboto, sans-serif;
  vertical-align: -2%;
  margin: 0 0 0 0;
}
.plan__01 div ul li p > span:nth-of-type(3) {
  font-size: 80%;
}
/* plan__01 END ----------------- */
/* button_01
-------------------------------------- */
.button__01 a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 17px auto 0;
    max-width: 96%;
    padding: 0.5em 0 0.4em;
    color: #ffffff;
    transition: .3s ease-in-out;
    font-size: clamp(13px, 4.0vw, 16px);
    background: #0e62a9;
    border-radius: 3px;
    /* border: 1px solid black; */
    box-shadow: 0.1rem 0.1rem 0px 0rem #043786;
    line-height: 1.5;
    text-decoration: none;
}
.button__01 a:active {
  filter: brightness(120%);
  color: #FFC600;
  transition: all .5s ease-in-out;
}
.button__01 a:hover {
  transform: translate3d(.2rem, .2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all .2s;
  background-color: black;
  color: white;
}
.button__01 a::before {
  /*content: "\f1eb";*/
/*  content: "\f14d";*/
  position: relative;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 9px;
  color: black;
  font-size: 110%;
  transform: translateY(-1px);
}
.button__01 a:hover::before {
  /*content: "\f1eb";*/
/*  content: "\f14d";*/
  position: relative;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 9px;
  font-size: 110%;
  transform: translateY(-1px);
  color: white;
}
/* button_01 END --------- */

/*
 */
/* footer nav
--------------------------------------------------*/
section.footer__nav-wrap {
  display: flex;
  justify-content: center;
  widh: 100%;
  max-width:1100px;
  margin: 0 auto;
  color:#fff;
  font-size:clamp(12px,3.5vw,14px);

}
@media (max-width:767px) {
  section.footer__nav-wrap {
    display: block;
    justify-content: center;
    flex-direction: column;
    widh: 100%;
    margin: 0 auto;
  }
}
.footer__nav {
  width: 48%;
  display: flex;
  justify-content: center;
  margin: 0 0;
}
@media (max-width:767px) {
  .footer__nav {
    width: 100%;
    display: block;
    justify-content: center;
    margin: 0 0;
  }
}
.footer__nav p {
  width: 7em;
  display: block
}
.footer__nav ul {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
/*  height: 5em;**/
}
/*.footer__nav ul li {
  flex: 1 1 auto;
}*/

/* footer nav END ----*/
  #video{
    object-fit: cover;
    width:1920px;
    margin:0 0 1em;
    height:650px;

  }

/* video
----------------------------------------*/
@media (max-width:767px) {
  #video{
    object-fit: cover;
    width:100%;
    margin:0em 0 1em;
    height:570px;

  }
  #main_img img {
     position:absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
  }
}

/*--form-------------------------------------*/
.form_table_list{
  width: auto;
}
.form_table_list th{
  width: 30%;
    border: 1px solid #CCC;
    text-align: left;
    background: #D5F2F6;
    padding: 10px;
}
.form_table_list td {
    width: auto;
    border: 1px solid #CCC;
    text-align: left;
    padding: 10px;
    background-color: #ffffff;
}
