:root{
  --color_black: #241807;
  --color_red: #DA2E2E;
  --color_blue: #1D3994;
  --color_yellow: #EDC920;
  --color_green: #4FA143;
  --font_opensans: 'Open Sans', sans-serif;
}
html {
  overflow: auto;
}
body {
  position: relative;
  overflow: hidden;
  line-height: 1.5;
  color: var(--color_black);
  font-family: 'Kosugi Maru', sans-serif;
  font-weight: 400;
}
body.fixed{
  position: fixed;
  width:100%;
  height: 100%;
}
h1, h2, h3, h4, h5, h6{
  font-weight: 400;
}
a{
  display: inline-block;
  color: var(--color_blue);
}
a:hover,
a:focus {
  opacity: 0.7;
}

/* ===============================ヘッダー======================== */
.header{
  border-bottom: 4px solid #DAF2D0;
}
.header_inner{
  padding: 12px 5% 16px;
  display: flex;
  align-items: center;
}
.header_logo-tokyo{
  height: 24px;
  margin-bottom: 4px;
}
.header_logo-tokyo a{
  height: 100%;
}
.header_logo-tokyo img{
  object-fit: contain;
  height: 100%;
}
.logo{
  width: 220px;
  margin-right: auto;
  display: flex;
  align-items: center;
}
.header_right{
  position: relative;
  margin-left: auto;
}
.header_right-top{
  margin-bottom: 8px;
  text-align: right;
  font-size: 14px;
}
.header_right-middle{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: 8px;
}
.header_right-middle >:last-child{
  margin-right: 0;
}
.btn_header{
  border-width: 1px;
  border-style: solid;
  display: flex;
  border-radius: 4px;
}
.btn_header_login{
  border-color: var(--color_yellow);
  margin-right: 16px;
}
.btn_header_regist{
  border-color: var(--color_green);
}
.btn_header .icon{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
}
.btn_header_login .icon{
  background-color: var(--color_yellow);
}
.btn_header_regist .icon{
  background-color: var(--color_green);
}
.btn_header .icon img{
  width: 24px;
  height: 24px;
}
.btn_header .text{
  padding: 16px 24px;
  color: var(--color_black);
  line-height: 1;
}
.header_right-bottom{
  font-size: 14px;
  text-align: right;
}
.naviButton{
  display: none;
}
.navi_list{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  border-left: 1px solid #E5E5E5;
  border-top: 1px solid #E5E5E5;
}
.navi_item{
  border-bottom: 1px solid #E5E5E5;
  border-right: 1px solid #E5E5E5;
}
.navi_item a{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--color_black);
  min-height: 96px;
  line-height: 1.25;
/*  font-size: 18px; */
  padding: 4px;
}
.navi_item a img{
  width: 40px;
  height: 40px;
  margin-bottom: 8px;
}
/* ヘッダーログイン時 */
.login_info{
  margin-right: 24px;
}
.btn_header_login.btn_header .text{
  background-color: var(--color_yellow);
  padding-left: 0;
}
/* ===============================フッター======================== */
.footer_top{
  background-color: #fffbee;
  padding: 80px 0;
  margin-top: 100px;
}
.footer_top_inner{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.footer_navi > *:last-child{
  margin-bottom: 0;
}
.footer_navi_item{
  list-style: none;
  margin-bottom: 24px;
}
.footer_navi-child{
  margin-top: 16px;
}
.footer_navi-child > *:last-child{
  margin-bottom: 0;
}
.footer_navi-child li{
  list-style: none;
  margin-bottom: 16px;
  margin-left: 18px;
}
.footer_navi_item a{
  position: relative;
  padding-left: 16px;
  color: var(--color_black);
}
.footer_navi-child a{
  position: relative;
  padding-left: 12px;
  font-size: 14px;
  color: var(--color_black);
}
.footer_navi_item a::before{
  position: absolute;
  content: "";
  background-image: url(../img/arrow_right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  left: 0;
  top: 7px;
  width: 12px;
  height: 12px;
}
.footer_navi-child a::before{
  position: absolute;
  content: "";
  background-image: url(../img/arrow_right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  left: 0;
  top: 6px;
  width: 8px;
  height: 8px;
}
.footer_middle{
  padding: 24px 0;
}
.footer_navi-simple{
  display: flex;
  justify-content: center;
}
.footer_navi_item-simple{
  list-style: none;
}
.footer_navi_item-simple + .footer_navi_item-simple{
  border-left: 1px solid #BABBBF;
}
.footer_navi_item-simple a{
  color: var(--color_black);
  padding: 0 24px;
}
.footer_bottom{
  background-color: #666;
  padding: 40px 0;
  text-align: center;
  color: #fff;
}
.footer_bottom_text{
  margin-bottom: 24px;
}
.copyright{
  font-size: 14px;
}

/* ========================================
共通部品
============================================ */
.sp {
  display: none;
}
.inner{
  width: 100%;
  max-width: 1130px;
  padding: 0 15px;
  margin: 0 auto;
}
.text-red{
  color: var(--color_red);
}
.link{
  text-decoration: underline;
}
.section{
  padding: 50px 0;/*100⇒50*/
  margin-bottom: 80px;
}
.section_head-sub{
  font-size: 18px;
  text-align: center;
  margin-bottom: 20px;
}
.section_head{
  padding-top: 40px;/*追加*/
  margin-bottom: 48px;
  font-size: 38px;
  line-height: 1.2;
  text-align: center;
  position: relative;/*追加*/
}
.section_head span{
  display: inline-block;
  position: relative;
  padding-bottom: 24px;
}
.section_head span::before{
  position: absolute;
  content: "";
  width: 40px;
  height: 2px;
  background-color: var(--color_yellow);
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}
.section_head span > span{
  padding-bottom: 0;
}
.section_head span > span::before{
  content: none;
}

.common-heading_head{
  font-size: 38px;
  text-align: center;
  border-bottom: 2px solid var(--color_yellow);
  padding: 16px;
  padding-top: 60px;
  line-height: 1.2;
  margin-bottom: 30px;/*40⇒30*/
  margin-top: 30px;/*追加*/
}

.card_list{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}
.card{
  border: 2px solid #FFF7DC;
  border-radius: 8px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 40px 7.6%;
}
.card_title{
/*  font-size: 28px;*/
  text-align: center;
  margin-bottom: 16px;
  line-height: 1.3;
}
.card_figure{
  height: 144px;
}
.card_figure img{
  height: 100%;
  object-fit: contain;
}
.card_body{
  display: flex;
  flex-direction: column;
}
.card_text{
/*  font-size: 18px;*/
}
.card_text-caution{
  color: var(--color_red);
}
.card_tel{
  display: flex;
  font-family: var(--font_opensans);
  font-weight: 700;
  font-size: 140%;
  align-items: center;
  color: var(--color_red);
}
.card_tel img{
  width: 48px;
  height: 48px;
}

/* メディア */
.mediaWrap > *:not(:last-child){
  margin-bottom: 80px;
}
.media{
  display: flex;
}
.media-reverse{
  flex-direction: row-reverse;
}
.media_row{
  width: 50%;
}
.media_row_inner{
  margin-left: 11%;
  margin-top: 40px;
}
.media_figure{
  width: 100%;
}
.media_figure img{
  width: 70%;　/*100→70*/
  object-fit: contain;
  /*padding-left: 40px; 追加*/  
}
.media_text{
  font-size: 120%;
  line-height: 1.75;
}
.media-reverse .media_row_inner{
  margin-right: 11%;
  margin-left: 0;
}
/* ボタン類 */
.btn{
  font-size: 18px;
  text-align: center;
  background-color: var(--color_yellow);
  border-radius: 4px;
  padding: 16px 40px;
  color: var(--color_black);
  line-height: 1;
}
.btn span{
  position: relative;
  padding-left: 24px;
  display: block;
}
.btn span::before{
  position: absolute;
  content: "";
  background-image: url(../img/icon_download.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 16px;
  height: 16px;
  left: 0;
  top: 2px;
}
.btn-arrow{
  border-bottom: 1px solid var(--color_red);
  align-self: flex-start;
  text-decoration: none;
}
.btn-arrow span{
  position: relative;
  color: var(--color_red);
  padding-right: 22px;
  text-decoration: none;
  align-self: flex-start;
}
.btn-arrow span::before{
  position: absolute;
  content: "";
  background-image: url(../img/arrow_right_red.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 12px;
  height: 12px;
  right: 4px;
  top: 1px;
}
.common-btn.btn-color_orange{
  border-color: #D36015;
}
.btn-arrow.btn-color_orange span{
  color: #D36015;
}
.btn-arrow.btn-color_orange span::before{
  background-image: url(../img/arrow_right_orange.svg);
}
.badge{
  font-size: 14px;
  background-color: var(--color_red);
  color: #fff;
  padding: 2px 9px;
  text-transform: uppercase;
  font-family: var(--font_opensans);
  text-align: center;
  margin-left: 8px;
}
.badge-green{
  background-color: #8BC882;
}
/* ========================================
トップ
============================================ */
.p-top_navi{
  background-image: url(../img/p-top_navi_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 48px 0 24px;
}
.navi_list-sub{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.navi_item-sub{
  list-style: none;
  width: 32%;
  margin-right: 2%;
  margin-bottom: 24px;
}
.navi_item-sub:nth-of-type(3n){
  margin-right: 0;
}
.navi_item-sub:last-child{
  margin-right: 0;
}
.navi_item-sub a{
  border: 2px solid #FFC8B4;
  border-radius: 8px;
  padding: 24px 4px 24px 24px;
  display: flex;
  align-items: center;
  color: var(--color_red);
/*  font-size: 28px;*/
  background-color: #fff;
}
.navi_list-sub_step .navi_item-sub a{
  flex-direction: column;
  text-align: center;
}
.navi_item-sub_icon{
  margin-right: 8px;
  width: 48px;
  height: 48px;
  min-width: 48px;
}
.navi_item-sub_text{
  font-size: 28px;
}
.navi_item-sub_text-small{
  display: block;
  color: var(--color_black);
  font-size: 18px;
  line-height: 1;
}
.mainvisual{
  background-image: url(../img/mainvisual_bg.jpg);
}
.mainvisual_inner{
/*  background-image: url(../img/mainvisual.jpg);*/
  background-image: url(../img/top-eyecatch.jpg);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 13% 0;
  display: flex;
  align-items: center;
}
.mainvisual_text{
  font-size: clamp(20px, 2.74vw, 32px);
}

/* TOPまずはご相談くださいセクション */
.p-top_advice_content_cards{
  margin-bottom: 24px;
}
.p-top_advice_caution{
  color: var(--color_red);
}
.p-top_bg-yellow{
  background-image: url(../img/p-top_bg-yellow.png);
  background-repeat: no-repeat;
  background-size: cover;
}

/* TOPイベント・新着情報セクション */
.p-top_event_content{
  display: flex;
  justify-content: space-between;
}
.p-top_event_content > *:last-child{
  margin-bottom: 0;
}
.p-top_event_row{
  width: 42%;
}
.p-top_event_row > *:last-child{
  margin-bottom: 0;
}
.p-top_event_row-col{
  margin-bottom: 48px;
}
.p-top_event_row-col > *:last-child{
  margin-bottom: 0;
}
.p-top_event_title{
  font-size: 140%;
  margin-bottom: 24px;
  line-height: 1.2;
  display: flex;
  align-items: center;
  font-weight:200;
  color:#600;  
}
.p-top_event_list > *:last-child{
  margin-bottom: 0;
}
.p-top_event_item{
  margin-bottom: 16px;
  list-style: none;
}
.p-top_event_item > *:last-child{
  margin-bottom: 0;
}
.p-top_event_item p{
  margin-bottom: 8px;
  font-size: 120%;
}
.p-top_event_item a{
  margin-bottom: 8px;
}
.p-top_event_row-col_right{
  padding-left: 16px;
}
.p-top_event_title-sec{
  position: relative;
  font-size: 120%;
  line-height: 1.2;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  font-weight:200;
}
.p-top_event_title-sec::before{
  position: absolute;
  content: "";
  background-color: #D36015;
  width: 8px;
  height: 8px;
  left: -16px;
  top: 8px;
}
.p-top_leaflet{
  padding-bottom: 80px;
  background-image: url(../img/bobble_bottom_bg.jpg);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
}
.p-top_leaflet_desc{
  font-size: 120%;
  line-height: 1.77;
  margin-bottom: 80px;
  text-align: center;
}
.leaflet_list{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 80px 2.6%;
}
.leaflet_item{
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.leaflet_item_figure{
  margin-bottom: 24px;
}
.leaflet_item_name{
  margin-bottom: 16px;
  font-size: 24px;
  line-height: 1.2;
}
.leaflet_item_size{
  margin-bottom: 24px;
  line-height: 1.2;
}
.leaflet_item_btn{
  white-space: nowrap;
  min-width: 250px;
}
.p-top_aff_content{
  position: relative;
}
.swiper{
  margin-bottom: 50px;
}
.swiper-slide{
  height: 50px;
  width: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.swiper-slide img{
  height: 100%;
  object-fit: contain;
}
.p-top_aff .swiper-pagination{
  bottom: -50px;
}
.p-top_aff .swiper-pagination-bullet-active{
  background-color: #d36015;
}

.p-top_about_content {/*追加*/
	padding-bottom: 40px;
	padding-top: 20px;
}
.p-top_support_content {/*追加*/
	padding-bottom: 40px;
	padding-top: 20px;
}

/* ========================================
下層ページ共通============================================ */
.common-heading_h2{
  font-size: 34px;
  border-left: 8px solid var(--color_yellow);
  padding: 24px;
  line-height: 1.2;
  background-color: #fffbee;
  margin-bottom: 30px;/*40⇒30*/
  margin-top: 20px;/*追加*/
}
.common-heading_h3{
  font-size: 28px;
  border-top: 2px solid var(--color_yellow);
  padding: 24px 16px;
  line-height: 1.2;
  background-color: #fffbee;
  margin-bottom: 30px;/*40⇒30*/
  margin-top: 20px;/*追加*/
}
.common-heading_h4{
  font-size: 24px;
  padding: 16px;
  line-height: 1.2;
  background-color: #fffbee;
  margin-bottom: 30px;/*40⇒30*/
  margin-top: 20px;/*追加*/
}
.common-heading_h5{
  font-size: 24px;
  border-bottom: 2px solid var(--color_yellow);
  padding: 16px;
  padding-top: 0;
  line-height: 1.2;
  margin-bottom: 30px;/*40⇒30*/
  margin-top: 30px;/*追加*/
}
.common-heading_h6{
  font-size: 20px;
  border-bottom: 1px dashed #BABBBF;
  padding: 16px;
  padding-top: 0;
  line-height: 1.2;
  margin-bottom: 30px;/*40⇒30*/
  margin-top: 20px;/*追加*/
}
.common-btn{
  border: 2px solid var(--color_red);
  border-radius: 4px;
  color: var(--color_red);
  padding: 16px 40px;
  background-color: #fff;
}
.common-list{
  margin-top: 20px;/*追加*/
  margin-bottom: 64px;
}
.common-list > *:last-child{
  margin-bottom: 0;
}
.common-list li{
  position: relative;
  list-style: none;
  padding-left: 16px;
  margin-bottom: 24px;
  font-size: 120%;
}
.common-list li::before{
  position: absolute;
  content: "";
  background-color: #D36015;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  left: 0;
  top: 8px;
}
.common-numlist{
  margin-top: 25px;/*追加*/
  margin-bottom: 64px;/*64⇒30*/
  counter-reset: number 0;
}
.common-numlist > *:last-child{
  margin-bottom: 0;
}
.common-numlist li{
  position: relative;
  list-style: none;
  padding-left: 50px;
  margin-bottom: 40px;
  font-size: 120%;
}
.common-numlist li::before,
.common-numlist li::after{
  position: absolute;
  content: "";
}
.common-numlist li::before{
  counter-increment: number 1;
  content: counter(number) "";
  left: 12px;/*16⇒10*/
  z-index: 2;
  font-family: var(--font_opensans);
  font-weight: 400;
}
.common-numlist li::after{
  width: 35px;/*40⇒35*/
  height: 35px;/*40⇒35*/
  border-radius: 50%;
  background-color: var(--color_yellow);
  left: 0;
  top: -8px;
  z-index: 1;
}
.faq_list > *:last-child{
  margin-bottom: 0;
}
.faq_item{
  margin-bottom: 40px;
}
.faq_item dt,
.faq_item dd{
/*  display: flex;*/
}
.faq_item dt{
  margin-bottom: 8px;
}
.faq_item_icon{
/*  width: 24px;*/
  margin-right: 16px;
  font-size: 120%;
  font-family: var(--font_opensans);
  font-weight: 400;
}
.faq_item_text{
  font-size: 120%;
  margin-top: 6px;
}
.faq_item dt .faq_item_icon{
  color: var(--color_red);
}
.faq_item dt .faq_item_text{
  color: var(--color_red);
  font-size: 120%;
  margin-top: 4px;
}
.section-bg_yellow{
  background-image: url(../img/p-top_bg-yellow.png);
  background-size: cover;
}
.advice_top{
  margin-bottom: 80px;
}
.advice_title{
  font-size: 140%;
  margin-top: 24px;/*add*/
  margin-bottom: 24px;
  color:#800;
}
.advice_list .common-numlist{
  position: relative;
}
.advice_list .common-numlist::before{
  position: absolute;
  content: "";
  background-color: var(--color_yellow);
  width: 4px;
  height: 100%;
  left: 18px;
  top: 0%;
}
.advice_bottom{
  width: 800px;
  margin: 0 auto;
}
.advice_text{
  margin-bottom: 48px;
  font-size: 120%;
}
.advice_list > *:not(:last-child){
  margin-bottom: 48px;
}
.advice_item{
  list-style: none;
}
.advice_item > *:not(:last-child){
  margin-bottom: 8px;
}
.bird{
  background-image: url(../img/bobble_top_bg.jpg);
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 100px 0;
}
.bird_inner{
  position: relative;
  padding-top: 100px;
}
.bird_inner::before{
  position: absolute;
  content: "";
  background-image: url(../img/bird_head_deco.png);
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 50px;
  width: 388px;
}
.bird_text{
  font-size: 120%;
  text-align: left;/*　中央⇒左寄せ　*/
  line-height: 2;
}
.leaflet_single{
  background-image: url(../img/bobble_bottom_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  padding-top: 100px;
}
.leaflet_single_content{
  display: flex;
}
.leaflet_single_figure{
  width: 50%;
  align-self: flex-end;
}
.leaflet_single_figure img{
  width: 390px;
  max-width: 90%;
  margin: 0 auto;
}
.leaflet_single_row{
  width: 50%;
}
.leaflet_single_title{
  font-size: 34px;
  line-height: 1.3;
  padding-bottom: 24px;
  margin-bottom: 40px;
}
.leaflet_single_title span{
  position: relative;
}
.leaflet_single_title span::before{
  position: absolute;
  content: "";
  background-color: var(--color_yellow);
  width: 40px;
  height: 2px;
  bottom: -24px;
  left: 0;
}
.leaflet_single_text{
  font-size: 18px;
  line-height: 1.77;
  margin-bottom: 40px;
}
.leaflet_single .btn{
  font-size: 24px;
  padding: 28px 40px;
}
.leaflet_single .btn span{
  padding-left: 32px;
}
.leaflet_single .btn span::before{
  width: 24px;
  height: 24px;
  top: 0;
}

/* ========================================
下層ページ============================================ */
.p-under_bg-pink{
  background-image: url(../img/p-top_navi_bg.jpg);
  background-size: cover;
}
.p-under_navi_list{
  margin-bottom: 56px;
}
.p-under_navi_text{
/*  font-size: 18px;*/
  text-align: center;
  margin-bottom: 48px;
}
.event_list-simple{
  padding-left: 16px;
  margin-bottom: 40px;
}
.event_list-simple .event_list > *:last-child{
  margin-bottom: 0;
}
.event_list-simple .event_item{
  position: relative;
  list-style: none;
  margin-bottom: 16px;
}
.event_list-simple .event_item::before{
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  left: -16px;
  top: 8px;
  background-color: var(--color_yellow);
}
.event_list-simple .event_item_head{
  display: flex;
}
.event_list-simple .event_item_title a{
  text-decoration: underline;
  color: var(--color_black);
}
.event_list-simple .event_item-sec{
  list-style: none;
  margin-bottom: 8px;
}
.event_list-simple .event_item_head-sec{
  display: flex;
}
.event_list-simple .event_item_title-sec a{
  text-decoration: underline;
  color: var(--color_black);
/*  font-size: 14px;*/
}


@media screen and (max-width:769px) {
  /* ===============================ヘッダー======================== */
  .header{
    position: relative;
    background-color: #fff;
    border-bottom-width: 2px;
  }
  .header_inner{
    padding: 9px 8px;
    align-items: center;
  }
  .logo{
    width: 110px;
  }
  .header_right{
    padding-right: 0;
  }
  .header_right-top{
    margin-bottom: 0;
  }
  .header_right .btn_header_regist{
    display: none;
  }
  .btn_header .icon{
    padding: 8px;
  }
  .btn_header .icon img{
    width: 16px;
    height: 16px;
  }
  .btn_header .text{
    padding: 10px 16px;
    font-size: 12px;
  }
  .header_right-middle{
    margin-bottom: 0;
  }
  .header_right .header_logo-tokyo{
    display: none;
  }
  .naviButton{
    width: 54px;
    height: 54px;
    border-radius: 4px;
    background-color: var(--color_green);
    z-index: 20;
    transition: all 0.4s ease;
    border: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .naviButton:focus{
    outline: none;
  }
  .naviButton p{
    color: #fff;
    text-align: center;
    font-size: 10px;
    line-height: 1;
  }
  .naviButton_inner{
    position: relative;
    width: 32px;
    height: 16px;
    margin-bottom: 8px;
  }
  .naviButton_bar {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    border-radius: 4px;
    transition: all 0.4s ease
  }
  .naviButton_bar:nth-of-type(1) {
    top: 0;
  }
  .naviButton_bar:nth-of-type(2) {
    top: 7px;
  }
  .naviButton_bar:nth-of-type(3) {
    bottom: 0;
  }
  .naviButton.active .naviButton_bar:nth-of-type(1) {
    -webkit-transform: translateY(7px) rotate(-45deg);
    transform: translateY(7px) rotate(-45deg);
  }
  .naviButton.active .naviButton_bar:nth-of-type(2) {
    display: none;
  }
  .naviButton.active .naviButton_bar:nth-of-type(3) {
    -webkit-transform: translateY(-7px) rotate(45deg);
    transform: translateY(-7px) rotate(45deg);
  }
  .naviWrap {
    position: fixed;
    right: -100%;
    top: 0;
    z-index: 10;
    background-color: #fff;
    width: 100%;
    height: 100vh;
    transition: all .4s ease;
    padding-top: 74px;
  }
  .naviWrap::before{
    position: absolute;
    content: "";
    width: 100%;
    height: 2px;
    background-color: #DAF2D0;
    top: 72px;
    left: 0;
    right: 0;
  }
  .naviWrap.active{
    right: 0;
  }
  .naviWrap_inner{
    height: 100%;
    overflow-y: scroll;
    padding-bottom: 40px;
    height: calc(100% - 40px);
  }
  .navi{
    margin-bottom: 40px;
  }
  .navi_list{
    grid-template-columns: 1fr;
    border: none;
  }
  .navi_item a{
    flex-direction: row;
    justify-content: flex-start;
    padding: 10px 4.25%;
    min-height: 62px;
    font-size: 16px;
    text-align: left;
  }
  .navi_item a img{
    margin-right: 32px;
    width: 32px;
    height: 32px;
    margin-bottom: 0;
  }
  .navi_top .btn_header{
    border: none;
    border-bottom: 1px solid #E5E5E5;
    min-height: 62px;
    width: 100%;
    align-items: center;
    margin-right: 0;
  }
  .navi_top .btn_header .icon{
    padding: 16px;
  }
  .navi_top .btn_header .icon img{
    width: 32px;
    height: 32px;
  }
  .navi_top .btn_header .text{
    font-size: 16px;
  }
  .navi_bottom_inner{
    width: 91.5%;
    margin: 0 auto;
    flex-direction: column;
    display: flex;
  }
  .navi_bottom .link{
    margin-top: 8px;
  }
  /* ヘッダーログイン時 */
  .has-login.header_right-middle{
    display: block;
    margin-right: 16px;
  }
  .login_info{
    font-size: 10px;
    line-height: 1.2;
    margin-bottom: 2px;
    margin-right: 0;
  }
  .btn_header_login.btn_header {
    display: inline-flex;
    white-space: nowrap;
  }
  .btn_header_login.btn_header .icon{
    padding: 6px;
  }
  .btn_header_login.btn_header .text{
    padding-top: 7px;
    padding-bottom: 7px;
  }
  .naviWrap .btn_header_login .icon{
    padding: 16px;
  }
  .naviWrap .btn_header_login .text{
    background-color: inherit;
    padding: 10px 16px;
  }

  /* ===============================フッター======================== */
  .footer_top{
    padding: 48px 0;
  }
  .footer_top_inner{
    grid-template-columns: 1fr;
  }
  .footer_top_inner > *:last-child{
    margin-bottom: 0;
  }
  .footer_navi{
    margin-bottom: 24px;
  }
  .footer_middle{
    padding: 40px 0;
  }
  .footer_navi-simple{
    flex-direction: column;
  }
  .footer_navi-simple > *:last-child{
    margin-bottom: 0;
  }
  .footer_navi_item-simple{
    margin-bottom: 16px;
  }
  .footer_navi_item-simple + .footer_navi_item-simple{
    border: none;
  }
  .footer_navi_item-simple a{
    font-size: 14px;
    padding: 0;
  }
  .footer_bottom{
    padding: 24px 0;
    text-align: left;
  }
  .footer_bottom_text{
    font-size: 14px;
    margin-bottom: 16px;
    line-height: 1.7;
  }
  .copyright{
    font-size: 12px;
  }

  /* ========================================
  共通部品
  ============================================ */
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .inner{
    width: 91.5%;
    padding: 0;
  }
  .section{
    padding: 80px 0;
  }
  .section_head{
	padding-top: 40px;/*追加*/
    margin-bottom: 40px;
    font-size: 140%;
  }
  .card_list{
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .card{
    padding: 24px;
  }
  .card_title{
    font-size: 20px;
  }
  .card_figure{
    height: 94px;
  }
  .card_tel{
    font-size: 120%;
  }
  .card_tel img{
    width: 40px;
    height: 40px;
  }
  /* メディア */
  .media{
    flex-direction: column;
  }
  .media_row{
    width: 100%;
  }
  .media_row_inner{
    margin-left: 0;
    margin-bottom: 0;
    margin-top: 0;
  }
  .media_figure{
    max-width: 400px;
    margin: 0 auto 40px;
  }
  .media-reverse .media_row_inner{
    margin-right: 0;
  }
  /* ========================================
  トップ
  ============================================ */
  .p-top_navi{
    padding-top: 40px;
  }
  .navi_item-sub{
    width: 100%;
    margin-right: 0;
    margin-bottom: 16px;
  }
  .navi_item-sub a{
    padding: 16px 4px 16px 16px;
  }
  .navi_item-sub_text{
	font-size: 140%;
  }
  .navi_item-sub_text-small{
	display: block;
	color: var(--color_black);
	font-size: 100%;
    line-height: 1;
  }
  .mainvisual{
    padding-bottom: 70.4%;
    background-image: url(../img/mainvisual_sp.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom center;
  }
  .mainvisual .inner{
    display: contents;
  }
  .mainvisual_inner{
    padding: 24px 0;
    background-image: url(../img/mainvisual_bg.jpg);
    background-size: cover;
  }
  .mainvisual_text{
    font-size: 16px;
    width: 91.5%;
    margin: 0 auto;
  }


  /* TOPイベント・新着情報セクション */
  .p-top_event_content{
    flex-direction: column;
  }
  .p-top_event_row{
    width: 100%;
    margin-bottom: 40px;
  }
  .p-top_event_row-col{
    margin-bottom: 40px;
  }
  .p-top_leaflet{
    background-size: contain;
  }
  .p-top_leaflet_desc{
    text-align: left;
    margin-bottom: 40px;
  }
  .p-top_event_title{
    font-size: 20px;
  }
  .leaflet_list{
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .leaflet_item_figure{
    margin-bottom: 16px;
    width: 100px;
  }
  .leaflet_item_name{
    margin-bottom: 8px;
    font-size: 20px;
  }
  .leaflet_item_size{
    margin-bottom: 16px;
  }
  /* ========================================
  下層ページ共通============================================ */
  .common-heading_h2{
    font-size: 24px;
    padding: 16px 24px;
    margin-bottom: 24px;
  }
  .common-heading_h3{
    font-size: 20px;
    margin-bottom: 24px;
    padding: 16px;
  }
  .common-heading_h4{
    font-size: 18px;
    margin-bottom: 24px;
    padding: 16px;
  }
  .common-heading_h5{
    font-size: 18px;
    margin-bottom: 24px;
  }
  .common-heading_h6{
    font-size: 18px;
    margin-bottom: 24px;
  }
  .common-list{
	margin-top: 20px;/*追加*/
    margin-bottom: 40px;
  }
  .common-list li{
    font-size: 120%;
  }
  .common-numlist{
	margin-top: 20px;/*追加*/
    margin-bottom: 40px;
  }
  .common-numlist li{
    margin-bottom: 24px;
  }
  .faq_item{
    margin-bottom: 32px;
  }
  .faq_item dt .faq_item_text{
/*    font-size: 120%;*/
    margin-top: 6px;
  }
  .advice_top{
    margin-bottom: 48px;
  }
  .advice_list .common-numlist{
    margin-bottom: 0;
  }
  .advice_bottom{
    width: 100%;
  }
  .advice_text{
    margin-bottom: 40px;
  }
  .advice_list > *:not(:last-child){
    margin-bottom: 40px;
  }
  .bird{
    background-size:100% auto;
    padding: 80px 0;
  }
  .bird_inner{
    padding-top: 80px;
  }
  .bird_inner::before{
    height: 40px;
    width: 100%;
    background-position: center center;
  }
  .leaflet_single{
    padding-top: 80px;
  }
  .leaflet_single_content{
    flex-direction: column;
  }
  .leaflet_single_figure{
    order: 2;
    margin: 0 auto;
    min-width: 200px;
    text-align: center;
  }
  .leaflet_single_row{
    width: 100%;
    order: 1;
    margin-bottom: 40px;
  }
  .leaflet_single_title{
    font-size: 24px;
    text-align: center;
  }
  .leaflet_single_title span::before{
    left: 50%;
  }
  .leaflet_single .btn{
    font-size: 20px;
    padding: 16px 20px;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
  }
  .leaflet_single .btn span{
    text-align: left;
    display: flex;
  }
  .leaflet_single .btn span::before{
    top: 50%;
    transform: translateY(-50%);
  }
  .table_scroller{
    margin: 0 calc(50% - 50vw);
    padding: 0 calc(50vw - 50%) 10px;
    width: 100vw;
  }
  .scroll-hint-icon{
    top: 200px;
    height: 90px;
  }


}



/* ========================================
追加分============================================ */
.info_tocontets_center{
  margin-bottom: 48px;
  text-align: center;
  font-size: 120%;
}
.right { 
    text-align: right;
    display: block;
}
/*送信フォームのボタン*/
.button {
  display       : inline-block;
  border-radius : 10%;          /* 角丸       */
  font-size     : 13pt;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 10px 10px;   /* 余白       */
  background    : #ff7f00;     /* 背景色     */
  color         : #ffffff;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
  box-shadow    : 2px 2px 4px #666666;  /* 影の設定 */
  border        : 2px solid #ff7f00;    /* 枠の指定 */
  margin-top: 20px;
}
.button:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : #ff7f00;     /* 背景色     */
  background    : #ffffff;     /* 文字色     */
}
.big1 {font-size: 140%;}
.big2 {font-size: 160%;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.mini {font-size: 85%;}
.normal {font-size: 100%; line-height: 1.75;}
.pr {font-size: 10px;}
.color_red { color:#F00; }
.color_blue { color:#00F; }
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.l {text-align: left !important;}
.back_y{background-color:#faf0e6;
margin:10px; padding:10px;}