@charset "utf-8";
:root {
  --main-color: #01c3ab;
  --black: #262f2e;
  --red:#ff0000;
  --orange:#ffa800;
  --yellow:#ffd220;
  --r_green:#e5f9f6;
  --beige:#f6f5ec;
  --font-main:"Zen Kaku Gothic New", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  --font-ou:"Outfit","Zen Kaku Gothic New", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  --font-yu: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  --font-min: "游明朝体", "Yu Mincho","YuMincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN","Shippori Mincho","Noto Serif JP", serif !important;
  --lh-sub: 1.5;
  --radius:24px;
  --radius-sp:12px;
}
/* ===============================================
# マージン
=============================================== */
.mt_00{margin-top:0!important}.mt_05{margin-top:5px!important}.mt_10{margin-top:10px!important}.mt_15{margin-top:15px!important}.mt_20{margin-top:20px!important}.mt_25{margin-top:25px!important}.mt_30{margin-top:30px!important}.mt_35{margin-top:35px!important}.mt_40{margin-top:40px!important}.mt_45{margin-top:45px!important}.mt_50{margin-top:50px!important}.mt_55{margin-top:55px!important}.mt_60{margin-top:60px!important}.mt_70{margin-top:70px!important}.mt_75{margin-top:75px!important}.mt_80{margin-top:5pc!important}.mt_85{margin-top:85px!important}.mt_90{margin-top:90px!important}.mt_95{margin-top:95px!important}.mt_100{margin-top:75pt!important}.mb_00{margin-bottom:0!important}.mb_05{margin-bottom:5px!important}.mb_10{margin-bottom:10px!important}.mb_15{margin-bottom:15px!important}.mb_20{margin-bottom:20px!important}.mb_25{margin-bottom:25px!important}.mb_30{margin-bottom:30px!important}.mb_35{margin-bottom:35px!important}.mb_40{margin-bottom:40px!important}.mb_45{margin-bottom:45px!important}.mb_50{margin-bottom:50px!important}.mb_55{margin-bottom:55px!important}.mb_60{margin-bottom:60px!important}.mb_70{margin-bottom:70px!important}.mb_75{margin-bottom:75px!important}.mb_80{margin-bottom:5pc!important}.mb_85{margin-bottom:85px!important}.mb_90{margin-bottom:90px!important}.mb_95{margin-bottom:95px!important}.mb_100{margin-bottom:75pt!important}.ml_05{margin-left:5px!important}.ml_10{margin-left:10px!important}.ml_15{margin-left:15px!important}.ml_20{margin-left:20px!important}.ml_25{margin-left:25px!important}.ml_30{margin-left:30px!important}.ml_35{margin-left:35px!important}.ml_40{margin-left:40px!important}.ml_45{margin-left:45px!important}.ml_50{margin-left:50px!important}.mr_05{margin-right:5px!important}.mr_10{margin-right:10px!important}.mr_15{margin-right:15px!important}.mr_20{margin-right:20px!important}.mr_25{margin-right:25px!important}.mr_30{margin-right:30px!important}.mr_35{margin-right:35px!important}.mr_40{margin-right:40px!important}.mr_45{margin-right:45px!important}.mr_50{margin-right:50px!important}

.pt_00{padding-top:0!important}.pt_05{padding-top:5px!important}.pt_10{padding-top:10px!important}.pt_15{padding-top:15px!important}.pt_20{padding-top:20px!important}.pt_25{padding-top:25px!important}.pt_30{padding-top:30px!important}.pt_35{padding-top:35px!important}.pt_40{padding-top:40px!important}.pt_45{padding-top:45px!important}.pt_50{padding-top:50px!important}.pt_55{padding-top:55px!important}.pt_60{padding-top:60px!important}.pt_70{padding-top:70px!important}.pt_75{padding-top:75px!important}.pt_80{padding-top:5pc!important}.pt_85{padding-top:85px!important}.pt_90{padding-top:90px!important}.pt_95{padding-top:95px!important}.pt_100{padding-top:75pt!important}.pb_00{padding-bottom:0!important}.pb_05{padding-bottom:5px!important}.pb_10{padding-bottom:10px!important}.pb_15{padding-bottom:15px!important}.pb_20{padding-bottom:20px!important}.pb_25{padding-bottom:25px!important}.pb_30{padding-bottom:30px!important}.pb_35{padding-bottom:35px!important}.pb_40{padding-bottom:40px!important}.pb_45{padding-bottom:45px!important}.pb_50{padding-bottom:50px!important}.pb_55{padding-bottom:55px!important}.pb_60{padding-bottom:60px!important}.pb_70{padding-bottom:70px!important}.pb_75{padding-bottom:75px!important}.pb_80{padding-bottom:5pc!important}.pb_85{padding-bottom:85px!important}.pb_90{padding-bottom:90px!important}.pb_95{padding-bottom:95px!important}.pb_100{padding-bottom:75pt!important}.ml_05{padding-left:5px!important}.ml_10{padding-left:10px!important}.ml_15{padding-left:15px!important}.ml_20{padding-left:20px!important}.ml_25{padding-left:25px!important}.ml_30{padding-left:30px!important}.ml_35{padding-left:35px!important}.ml_40{padding-left:40px!important}.ml_45{padding-left:45px!important}.ml_50{padding-left:50px!important}.mr_05{padding-right:5px!important}.mr_10{padding-right:10px!important}.mr_15{padding-right:15px!important}.mr_20{padding-right:20px!important}.mr_25{padding-right:25px!important}.mr_30{padding-right:30px!important}.mr_35{padding-right:35px!important}.mr_40{padding-right:40px!important}.mr_45{padding-right:45px!important}.mr_50{padding-right:50px!important}
/* ===============================================
# 幅指定
=============================================== */
.width_05{width:5%!important}.width_10{width:10%!important}.width_13{width:13%!important}.width_15{width:15%!important}.width_17{width:17%!important}.width_20{width:20%!important}.width_25{width:25%!important}.width_28{width:28%!important}.width_30{width:30%!important}.width_35{width:35%!important}.width_40{width:40%!important}.width_45{width:45%!important}.width_50{width:50%!important}.width_55{width:55%!important}.width_60{width:60%!important}.width_65{width:65%!important}.width_70{width:70%!important}.width_75{width:75%!important}.width_80{width:80%!important}.width_85{width:85%!important}.width_90{width:90%!important}.width_95{width:95%!important}.width_100{width:100%!important}

.width_1em{width:1em!important}.width_2em{width:2em!important}.width_3em{width:3em!important}.width_4em{width:4em!important}.width_5em{width:5em!important}.width_6em{width:6em!important}.width_7em{width:7em!important}.width_8em{width:8em}.width_9em{width:9em!important}.width_10em{width:10em!important}.width_11em{width:11em}.width_12em{width:12em!important}.width_13em{width:13em!important}.width_14em{width:14em!important}.width_15em{width:15em!important}.width_16em{width:16em!important}.width_17em{width:17em!important}.width_18em{width:18em!important}.width_19em{width:19em!important}.width_20em{width:20em!important}

@media print,screen and (min-width :835px) {
  .w_70pc{
    width: 910px !important;
    max-width: 100%;
  }
  .w_60pc{
    width: 780px !important;
    max-width: 100%;
  }
  .w_50pc{
    width: 650px !important;
    max-width: 100%;
  }
  .w_40pc{
    width: 520px !important;
    max-width: 100%;
  }
  .w_30pc{
    width: 390px !important;
    max-width: 100%;
  }
  .w_20pc{
    width: 260px !important;
    max-width: 100%;
  }
  .width_05_pc{width:5%!important}.width_10_pc{width:10%!important}.width_15_pc{width:15%!important}.width_20_pc{width:20%!important}.width_25_pc{width:25%!important}.width_28_pc{width:28%!important}.width_30_pc{width:30%!important}.width_35_pc{width:35%!important}.width_40_pc{width:40%!important}.width_45_pc{width:45%!important}.width_50_pc{width:50%!important}.width_55_pc{width:55%!important}.width_60_pc{width:60%!important}.width_65_pc{width:65%!important}.width_70_pc{width:70%!important}.width_75_pc{width:75%!important}.width_80_pc{width:80%!important}.width_85_pc{width:85%!important}.width_90_pc{width:90%!important}.width_95_pc{width:95%!important}.width_100_pc{width:100%!important}
}
@media screen and (max-width :834px) {
  .width_05_sp{width:5%!important}.width_10_sp{width:10%!important}.width_15_sp{width:15%!important}.width_20_sp{width:20%!important}.width_25_sp{width:25%!important}.width_28_sp{width:28%!important}.width_30_sp{width:30%!important}.width_35_sp{width:35%!important}.width_40_sp{width:40%!important}.width_45_sp{width:45%!important}.width_50_sp{width:50%!important}.width_55_sp{width:55%!important}.width_60_sp{width:60%!important}.width_65_sp{width:65%!important}.width_70_sp{width:70%!important}.width_75_sp{width:75%!important}.width_80_sp{width:80%!important}.width_85_sp{width:85%!important}.width_90_sp{width:90%!important}.width_95_sp{width:95%!important}.width_100_sp{width:100%!important}
}
/* ===============================================
# フォント
=============================================== */
*[lang="en"]{font-family:var(--font-ou);}
time{font-family:var(--font-ou);text-box: trim-both cap alphabetic;}
b,em,strong,.txt_bold{font-weight: bold;}
sup {vertical-align: super;font-size: 70%;}
sub {vertical-align: sub;font-size: 70%;}
.txt_center{text-align: center !important;}
.txt_left{text-align: left!important;}
.txt_right{text-align: right!important;}
.txt_italic{font-style: italic!important;}
.txt_under{text-decoration: underline!important;}

.cms_text a,
a.txt_link{
  color: var(--main-color);
  text-decoration: underline;
}
a.txt_link .ico_blank{
  width: 16px;
  height: 16px;
  margin-left: 8px;
  display: inline-block;
  vertical-align: inherit;
}

.cms_text > p:empty{
  min-height: 1em;
}
.area_cms hr {
  margin: 40px 0;
}

.fGreen,.color_main{color: var(--main-color) !important;}
.fRed,.color_red{color: var(--font-red) !important;}
.fOrange,.color_orange{color: var(--orange) !important;}
.fBlack,.color_black{color: var(--black) !important;}
.fWhite,.color_white{color: #fff !important;}
.bg_main{ background-color: var(--main-color) !important;}
.bg_rgreen{ background-color: var(--r_green) !important;}
.bg_beige{ background-color: var(--beige) !important;}
.font60{font-size:60%}.font65{font-size:65%}.font70{font-size:70%}.font75{font-size:75%}.font80{font-size:80%}.font85{font-size:85%}.font90{font-size:90%}.font95{font-size:95%}.font105{font-size:105%}.font110{font-size:110%}.font120{font-size:120%}.font125{font-size:125%}.font130{font-size:130%}.font140{font-size:140%}.font145{font-size:145%}.font150{font-size:150%}.font155{font-size:155%}.font160{font-size:160%}.font165{font-size:165%}

.round{
  border-radius: var(--radius);
  overflow: hidden;
}
 .thumb{
  position: relative;
  padding-top: 66.66%;
  overflow: hidden;
}
.thumb > *{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cms_text + *,
.cmn_p + *{
  margin-top: 20px;
}
@media (min-width :835px){
  .txt_center_pc{text-align: center !important;}
}
@media screen and (max-width :834px) {
  .round{
    border-radius: var(--radius-sp);
  }
}
/* セクションタイトル
----------------------*/
.sec_ttl{
  font-size: 3.6rem;
  font-weight: 500;
  text-align: center;
  line-height: var(--lh-sub);
  color: var(--main-color);
  letter-spacing:0.12em;
}
.sec_ttl>span{
  position: relative;
  display: inline-block;
}
.sec_ttl>span::before{
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  z-index: 0;
}
@media screen and (max-width :834px) {
  .sec_ttl{
    font-size: 3rem;
  }
}

/* カテゴリ
----------------------*/
.cmn_cate{
  display: flex;
  gap: 6px;
}
.cmn_cate > *{
  padding: 8px 19px;
  font-size: 1.6rem;
  font-weight: 500;
  border-radius: 16px;
  color: #fff;
  text-align: center;
  line-height: 1;
  background-color: var(--orange);
}

.cmn_cate > *.is_white{
  background-color:#fff;
  color: var(--main-color);
}
.cmn_cate > *.is_yellow{
  background-color:var(--yellow);
  color: var(--black);
}
@media screen and (max-width :834px) {
  .cmn_cate{
    gap: 3px;
  }
  .cmn_cate > *{
    padding: 3px 12px;
    font-size: 1.2rem;
    border-radius: 8px;
  }
}
/* ボタン
----------------------*/
.cmn_btn+.cmn_btn{
  margin-top: 24px;
}
.cmn_btn{
  text-align: center;
}
.cmn_btn > a,
.cmn_btn .link{
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 5px 43px;
  text-align: center;
  line-height: var(--lh-sub);
  color: var(--black);
  font-weight: 700;
  letter-spacing: 0.06em;
  border: solid 1px var(--main-color);
  border-radius: var(--radius);
  background: url(../img/ico_arrow.svg)no-repeat center right 12px;
  background-size:28px auto ;
  background-color: #fff;
  transition: all ease 0.5s;
  text-decoration: none;
}
.cmn_btn.is_small > a,
.cmn_btn .link.is_small{
  width: 260px;
}
.cmn_btn.is_middle > a,
.cmn_btn .link.is_middle{
  width: 432px;
}
.cmn_btn.is_large > a,
.cmn_btn .link.is_large{
  width: 864px;
}
.cmn_btn .link.is_green{
  color: #fff;
  background-color: var(--main-color);
  background-image: url(../img/ico_arrow_orange.svg);
}
.cmn_btn .link.is_orange{
  color: #fff;
  background-color: var(--orange);
  border-color: var(----orange);
  background-image: url(../img/ico_arrow_mypage.svg);
}
.cmn_btn .link.is_black{
  color: #fff;
  border-color: var(--black);
  background-color: var(--black);
  background-image: url(../img/ico_arrow_black.svg);
}
.cmn_btn .link.is_left{
  text-align: left;
  padding-left: 12px;
  margin-left: 0;
  margin-right: auto;
  display: flex;
}
.cmn_btn > a .ico_blank,
.cmn_btn .link .ico_blank{
  width: 16px;
  height: 16px;
  margin-left: 8px;
  display: inline-block;
  vertical-align: inherit;
}

.cmn_btn.is_page_back{
  margin-top:80px;
}
.cmn_btn.is_page_back .link{
  border-color: var(--r_green);
  background-color: var(--r_green);
  background-image: url(../img/ico_arrow_back.svg);
  background-position: left 12px center;
}
.cmn_btn.type_flex{
  display: flex;
  justify-content: center;
  gap: 20px;
}
.cmn_btn +*:not(.cmn_btn){
  margin-top: 36px;
}
@media (hover: hover) and (pointer: fine) {
  .cmn_btn .link:hover{
    opacity: 0.5;
  }
}
@media screen and (max-width :834px) {
  .cmn_btn+.cmn_btn{
    margin-top: 15px;
  }
  .cmn_btn .link{
    min-height: 50px;
    padding: 5px 40px;
    font-size: 1.4rem;
    background-position: right 13px center;
    background-size:24px auto ;
  }
  .cmn_btn .link.is_left{
    text-align: left;
    padding-left: 13px;
  }
  .cmn_btn.is_page_back{
    margin-top:60px;
  }
  .cmn_btn.is_page_back .link{
    background-position: left 13px center;
  }
  .cmn_btn.type_flex{
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  .cmn_btn +*:not(.cmn_btn){
    margin-top: 32px;
  }
}
/* MAP
----------------------*/
.cmn_map .map{
  position: relative;
  width: 100%;
  padding-top:33.33%;
  height: 0;
  overflow: hidden;
  border-radius: var(--radius);
}
.cmn_map iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.cmn_map +*{
  margin-top: 36px;
}
@media screen and (max-width: 834px) {
  .cmn_map .map{
    padding-top:61.6%;
  }
  .cmn_map +*{
    margin-top: 32px;
  }
}
/* お知らせ一覧
----------------------*/
.cmn_news{
  background-image: radial-gradient(circle, #d6d2c0 1px, transparent 1px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 6px 2px;
}
.cmn_news li{
  background-image: radial-gradient(circle, #d6d2c0 1px, transparent 1px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 2px;
}
.cmn_news li>*{
  display: flex;
  padding:14px 5px;
  transition: opacity 0.5s ease;
}
.cmn_news li time{
  display: inline-block;
  margin-top: 6px;
  width: 8em;
  color: var(--main-color);
  line-height: 1;
  text-box: trim-both cap alphabetic;
}
.cmn_news li .ttl{
  flex: 1;
  line-height: var(--lh-sub);
  color: var(--black);
}
@media (hover: hover) and (pointer: fine) {
  .cmn_news li>a:hover{
    opacity: 0.5;
  }
}
@media screen and (max-width :834px) {
  .cmn_news li>*{
    display: block;
    padding:18px 0;
  }
  .cmn_news li time{
    display: block;
    margin-top: 0;
    line-height: 1;
    margin-bottom: 3px;
  }
  .cmn_news li .ttl{
    line-height: 1.5;
  }
}
/* 記事内タイトル
----------------------*/
.cmn_ttl_contents .area_date{
  display: flex;
  align-items: center;
}
.cmn_ttl_contents .area_date >*+.txt_date{
  margin-left: 24px;
}
.cmn_ttl_contents .txt_date{
  display: block;
  font-size: 1.4rem;
  font-weight: 100;
}
.cmn_ttl_contents .box_sns .list_sns{
  display: flex;
  gap: 0 8px;
}
.cmn_ttl_contents .box_sns{
  margin-left: auto;
}
.cmn_ttl_contents .box_sns .list_sns li{
  width: 32px;
}
.cmn_ttl_contents .box_sns .list_sns li img{
  display: block;
}
.cmn_ttl_contents .ttl_contents{
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 3.5px;
  line-height: 1.4;
  margin-top: 10px;
  position: relative;
  padding-bottom: 28px;
}
.cmn_ttl_contents .ttl_contents::before{
  content: "";
  display: block;
  width: 80px;
  height: 8px;
  background-image: radial-gradient(circle, var(--orange) 4px, transparent 4px), radial-gradient(circle, var(--main-color) 4px, transparent 4px);
  background-position: 4px -10px, 22px -10px;
  background-size: 36px 28px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.cmn_ttl_contents +*{
  margin-top: 100px;
}
@media screen and (max-width :834px) {
  .cmn_ttl_contents .cmn_cate >*{
    font-size: 1.3rem;
    padding: 5px 15px;
    border-radius: 15px;
  }
  .cmn_ttl_contents .area_date >*+.txt_date{
    margin-left: 12px;
  }  
  .cmn_ttl_contents .txt_date{
    font-size: 1.2rem;
  }
  .cmn_ttl_contents .box_sns .list_sns{
    gap: 0 12px;
  }
  .cmn_ttl_contents .box_sns .list_sns li{
    width: 24px;
  }
  .cmn_ttl_contents .ttl_contents{
    font-size: 2.4rem;
    line-height: 1.5;
    margin-top: 7px;
    padding-bottom: 22px;
    letter-spacing: 3px;
  }
  .cmn_ttl_contents .ttl_contents::before{
    width: 63px;
    background-image: radial-gradient(circle, var(--orange) 3px, transparent 3px), radial-gradient(circle, var(--main-color) 3px, transparent 3px);
    background-position: 3px -10px, 17px -10px;
    background-size: 28px 26px;
  }
  .cmn_ttl_contents +*{
    margin-top: 48px;
  }
}

/* SPECIAL CONTENTS用タイトル
----------------------*/
.cmn_ttl_special{
  display: flex;
  gap: 0 7.4%;
  align-items: center;
}
.cmn_ttl_special .area_img{
  width: 768px;
  margin-left: -308px;
}
.cmn_ttl_special .area_img img{
  display: block;
  border-radius: 80px;
}
.cmn_ttl_special .area_ttl{
  width: 50%;
  position: relative;
}
.cmn_ttl_special .area_ttl::before{
  content: "";
  display: block;
  width: 131px;
  height: 110px;
  background: url(../img/bg_main02.svg)no-repeat center/contain;
  position: absolute;
  left: 0;
  bottom: -10px;
  z-index: -1;
}
.cmn_ttl_special .area_ttl .ttl_special{
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.4;
  position: relative;
  letter-spacing: 3.5px;
  margin-top: 8px;
  padding-bottom: 33px;
}
.cmn_ttl_special .area_ttl .ttl_special::before{
  content: "";
  display: block;
  width: 80px;
  height: 8px;
  background-image: radial-gradient(circle, var(--orange) 4px, transparent 4px), radial-gradient(circle, var(--main-color) 4px, transparent 4px);
  background-position: 4px -10px, 22px -10px;
  background-size: 36px 28px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.cmn_ttl_special .area_ttl .txt_name{
  font-weight: 500;
  margin-top: 27px;
}
.cmn_ttl_special .area_ttl .txt_time{
  font-size: 1.4rem;
}
.cmn_ttl_special +*{
  margin-top: 80px;
}
@media screen and (max-width :834px) {
  .cmn_ttl_special{
    flex-direction: column;
  }
  .cmn_ttl_special .area_img{
    width: 118.2vw;
    margin-left: -38.71vw;
    max-width: 768px;
  }
  .cmn_ttl_special .area_img img{
    border-radius: 60px;
  }
  .cmn_ttl_special .area_ttl{
    width: 100%;
    margin-top: 20px;
  }
  .cmn_ttl_special .area_ttl::before{
    content: none;
  }
  .cmn_ttl_special .area_ttl .cmn_cate >*{
    padding: 6px 14px;
    border-radius: 15px;
  }
  .cmn_ttl_special .area_ttl .ttl_special{
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 3px;
    padding-bottom: 26px;
  }
  .cmn_ttl_special .area_ttl .ttl_special::before{
    width: 63px;
    background-image: radial-gradient(circle, var(--orange) 3px, transparent 3px), radial-gradient(circle, var(--main-color) 3px, transparent 3px);
    background-position: 3px -10px, 17px -10px;
    background-size: 28px 26px;
  }
  .cmn_ttl_special .area_ttl .txt_name{
    margin-top: 7px;
    font-size: 1.5rem;
    line-height: 1.6;
  }
  .cmn_ttl_special .area_ttl .txt_time{
    font-size: 1.2rem;
    margin-top: 9px;
    display: block;
  }
  .cmn_ttl_special +*{
    margin-top: 60px;
  }
}
/* アンカー
----------------------*/
.cmn_anc .list_anc{
  display: flex;
  justify-content: center;
  gap: 22px 36px;
  flex-wrap: wrap;
}
.cmn_anc .list_anc li a{
  position: relative;
  display: flex;
  color: var(--black);
  align-items: center;
  gap: 0 8px;
}
.cmn_anc .list_anc li a span{
  border-bottom: 1px solid #d7d8d8;
  line-height: 1.3;
}
.cmn_anc .list_anc li a::after{
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background: url(../img/ico_arrow_down.svg);
  flex-shrink: 0;
}
.cmn_anc +*{
  margin-top: 80px;
}
@media screen and (max-width :834px) {
  .cmn_anc .list_anc{
    gap: 14px 3.428%;
    justify-content: flex-start;
  }
  .cmn_anc .list_anc li{
    width: 48.285%;
  }
  .cmn_anc +*{
    margin-top: 50px;
  }
}
/* 大見出し
----------------------*/
.cmn_ttl01{
  font-size: 3rem;
  font-weight: 500;
  background-color: var(--main-color);
  border-radius: 16px;
  color: #fff;
  padding: 8px 16px;
  letter-spacing: 4px;
  line-height: 1.2;
}
.cmn_ttl01 +*{
  margin-top: 36px;
}
*+ .cmn_ttl01{
  margin-top: 60px;
}
@media screen and (max-width :834px) {
  .cmn_ttl01{
    font-size: 2.4rem;
    border-radius: 8px;
    padding: 8px 10px;
    letter-spacing: 3px;
  }
  .cmn_ttl01 +*{
    margin-top: 20px;
  }
  *+ .cmn_ttl01{
    margin-top: 50px;
  }
}
/* 中見出し
----------------------*/
*+ .cmn_ttl02{
  margin-top: 56px;
}
.cmn_ttl02{
  font-size: 2.6rem;
  font-weight: 500;
  position: relative;
  padding-bottom: 16px;
  letter-spacing: 4px;
  line-height: 1.384;
}
.cmn_ttl02::before{
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background-color: var(--main-color);
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 10px;
}
.cmn_ttl02::after{
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  background-color: var(--orange);
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 10px;
}
.cmn_ttl02 +*{
  margin-top: 36px;
}
*+ .cmn_ttl02{
  margin-top: 56px;
}
@media screen and (max-width :834px) {
  .cmn_ttl02{
    font-size: 2rem;
    line-height: 1.3;
    padding-bottom: 10px;
  }
  .cmn_ttl02::before{
    height: 2px;
  }
  .cmn_ttl02::after{
    height: 2px;
    width: 42px;
  }
  .cmn_ttl02 +*{
    margin-top: 24px;
  }
  *+ .cmn_ttl02{
    margin-top: 30px;
  }
}
/* 小見出し
----------------------*/
.cmn_ttl03{
  font-size: 2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  letter-spacing: 1px;
  line-height: 1.4;
}
.cmn_ttl03::before{
  content: "";
  display: block;
  width: 20px;
  height: 4px;
  border-radius: 10px;
  margin-right: 10px;
  background-color: var(--main-color);
  flex-shrink: 0;
}
.cmn_ttl03 +*,
*+ .cmn_ttl03{
  margin-top: 56px;
}
@media screen and (max-width :834px) {
  .cmn_ttl03{
    font-size: 1.8rem;
    font-weight: 400;
  }
  .cmn_ttl03::before{
    width: 12px;
    height: 2px;
    margin-right: 5px;
  }
  .cmn_ttl03 +*,
  *+ .cmn_ttl03{
    margin-top: 30px;
  }
}
/* 大見出し（Q&A用）
----------------------*/
.cmn_ttl04{
  font-size: 3rem;
  font-weight: 500;
  background-color: var(--r_green);
  border-radius: 16px;
  padding: 8px 16px;
  letter-spacing: 4px;
  line-height: 1.2;
}
.cmn_ttl04 +*{
  margin-top: 36px;
}
*+ .cmn_ttl04{
  margin-top: 56px;
}
@media screen and (max-width :834px) {
  .cmn_ttl04{
    font-size: 2.4rem;
    border-radius: 8px;
    padding: 8px 10px;
    letter-spacing: 3px;
  }
  .cmn_ttl04 +*{
    margin-top: 24px;
  }
  *+ .cmn_ttl04{
    margin-top: 30px;
  }
}
/* 大見出し（SPECIAL CONTENTS用）
----------------------*/
.cmn_ttl05{
  font-size: 3rem;
  font-weight: 500;
  color: var(--main-color);
  letter-spacing: 2px;
  line-height: 1.2;
}
.cmn_ttl05 +*{
  margin-top: 36px;
}
*+ .cmn_ttl05{
  margin-top: 56px;
}
@media screen and (max-width :834px) {
  .cmn_ttl05{
    font-size: 2.1rem;
  }
  .cmn_ttl05 +*{
    margin-top: 24px;
  }
  *+ .cmn_ttl05{
    margin-top: 30px;
  }
}
/* 大見出し(枠内見出し用)
----------------------*/
.cmn_ttl06{
  font-size: 2.4rem;
  background-image: radial-gradient(circle, var(--main-color) 1px, transparent 1px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 2px;
  text-align: center;
  padding-bottom: 14px;
  font-weight: 500;
}
.cmn_ttl06 +*{
  margin-top: 13px;
}
@media screen and (max-width :834px) {
  .cmn_ttl06{
    font-size: 2rem;
    line-height: 1.3;
    padding-bottom: 18px;
  }
  .cmn_ttl06 +*{
    margin-top: 10px;
  }
}
/* 中見出し(枠内見出し用)
----------------------*/
.cmn_ttl07{
  font-size: 2.4rem;
  text-align: center;
  font-weight: 500;
}
.cmn_ttl07 +*{
  margin-top: 30px;
}
@media screen and (max-width :834px) {
  .cmn_ttl07{
    font-size: 2rem;
  }
  .cmn_ttl07 +*{
    margin-top: 15px;
  }
}
/* 中見出し(ドット)
----------------------*/
.cmn_ttl08{
  font-size: 2.6rem;
  font-weight: 500;
  position: relative;
  padding-bottom: 10px;
}
.cmn_ttl08::before{
  content: "";
  display: block;
  width: 80px;
  height: 8px;
  background-image: radial-gradient(circle, var(--orange) 4px, transparent 4px), radial-gradient(circle, var(--main-color) 4px, transparent 4px);
  background-position: 4px -10px, 22px -10px;
  background-size: 36px 28px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.cmn_ttl08 +*{
  margin-top: 28px;
}
@media screen and (max-width :834px) {
  .cmn_ttl08{
    font-size: 2rem;
  }
  .cmn_ttl08::before{
    width: 63px;
    background-image: radial-gradient(circle, var(--orange) 3px, transparent 3px), radial-gradient(circle, var(--main-color) 3px, transparent 3px);
    background-position: 3px -10px, 17px -10px;
    background-size: 28px 26px;
  }
  .cmn_ttl08 +*{
    margin-top: 10px;
  }
}

/* アコーディオン
----------------------*/
.cmn_ttl_acd .ttl{
  font-size: 2.2rem;
  font-weight: 500;
  background-color: var(--main-color);
  border-radius: 16px;
  color: #fff;
  padding: 8px 62px 8px 16px;
  letter-spacing: 4px;
  line-height: 1.2;
  position: relative;
  min-height: 60px;
  display: flex;
  align-items: center;
}
.cmn_ttl_acd .ttl::before{
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url(../img/ico_arrow_down_w.svg)no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  transition: transform .2s ease;
}
.cmn_ttl_acd .ttl.is_open::before{
  transform: translateY(-50%) rotate(180deg);
}
.cmn_ttl_acd .content{
  position: relative;
  border-radius: 0;
  opacity: 0;
  overflow: hidden;
  transition: opacity 0.3s ease, max-height 0.5s ease;
}
.cmn_ttl_acd .content .acd_inner{
  padding: 32px 40px;
}
.cmn_ttl_acd .content.is_open::before{
  opacity: 1;
}
.cmn_ttl_acd .content.is_open::after{
  opacity: 1;
}
.cmn_ttl_acd .content.is_open{
  border-radius: 16px 0 0 0;
  overflow: visible;
  opacity: 1;
}
.cmn_ttl_acd .content:not(.is_open){
  max-height: 0;
}
.cmn_ttl_acd + .cmn_ttl_acd{
  margin-top: 30px;
}
.cmn_ttl_acd +*{
  margin-top: 72px;
}
@media screen and (max-width :834px) {
  .cmn_ttl_acd .ttl{
    font-size: 2rem;
    border-radius: 8px;
    padding: 8px 32px 8px 10px;
    min-height: 45px;
    letter-spacing: 0;
  }
  .cmn_ttl_acd .ttl::before{
    width: 21px;
    height: 21px;
    right: 10px;
  }
  .cmn_ttl_acd .content .acd_inner{
    padding: 20px 10px;
  }
  .cmn_ttl_acd + .cmn_ttl_acd{
    margin-top: 15px;
  }
  .cmn_ttl_acd +*{
    margin-top: 30px;
  }
}

/* 挨拶用コピー
----------------------*/
.cmn_message{
  display: flex;
  gap: 5%;
}
.cmn_message .area_txt{
  width: 60%;
}
.cmn_message .area_txt .txt_catch{
  color: var(--main-color);
  font-size: 2.6rem;
  letter-spacing: 3px;
  line-height: 1.384;
  font-weight: 500;
  margin-top: -6px;
}
.cmn_message .area_txt .txt_catch +*{
  margin-top: 20px;
}
.cmn_message .area_img{
  width: 35%;
}
.cmn_message .area_img img{
  border-radius: var(--radius);
}
.cmn_message .area_img figcaption{
  text-align: right;
  margin-top: 12px;
}
.cmn_message .area_img figcaption .name{
  font-size: 2rem;
}
.cmn_message +*{
  margin-top: 60px;
}
@media screen and (max-width :834px) {
  .cmn_message{
    flex-direction: column-reverse;
    align-items: center;
  }
  .cmn_message .area_txt{
    width: 100%;
    margin-top: 35px;
  }
  .cmn_message .area_txt .txt_catch{
    font-size: 2rem;
    line-height: 1.3;
    letter-spacing: 2.5px;
  }
  .cmn_message .area_txt .txt_catch +*{
    margin-top: 8px;
  }
  .cmn_message .area_img{
    width: 88.57%;
  }
  .cmn_message .area_img img{
    border-radius: var(--radius-sp);
  }
  .cmn_message .area_img figcaption{
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.5;
  }
  .cmn_message .area_img figcaption .name{
    font-size: 1.8rem;
  }
}


/* リスト
----------------------*/
/* 通常リスト */
.cms_text ul:not(.cmn_link) > li,
.cmn_discList > li{
  position: relative;
  padding-left: 24px;
}
.cms_text ul:not(.cmn_link) > li + li,
.cmn_discList > li + li{
  margin-top: 8px;
}
.cms_text ul:not(.cmn_link) > li::before,
.cmn_discList > li::before{
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 10px;
  position: absolute;
  top: 13px;
  left: 10px;
  background-color: var(--main-color);
  font-size: 8px;
  display: inline-block;
}
@media screen and (max-width :834px) {
  .cms_text ul:not(.cmn_link) > li,
  .cmn_discList > li{
    padding-left: 20px;
  }
  .cms_text ul:not(.cmn_link) > li::before,
  .cmn_discList > li::before{
    top: 11px;
    left: 5px;
  }
}
/* 数字リスト */
.cms_text ol,
.cmn_deciList{
  list-style-type: none;
  counter-reset: number;
  text-indent: 0;
}
.cms_text ol > li,
.cmn_deciList > li{
  position: relative;
  padding-left: 30px;
  counter-increment: number;
}
.cms_text ol > li + li,
.cmn_deciList > li + li{
  margin-top: 10px;
}
.cms_text ol > li::before,
.cmn_deciList > li::before{
  position: absolute;
  left: 0;
  top: 4px;
  width: 24px;
  height: 24px;
  min-width: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  counter-increment: count 1;
  content: counter(number);
  background: var(--orange);
  color: #fff;
  font-family: var(--font-main);
  font-weight: 700;
  border-radius: 20px;
  line-height: 1;
}
.cmn_deciList +*{
  margin-top: 36px;
}
@media screen and (max-width :834px) {
  .cms_text ol > li,
  .cmn_deciList > li{
    padding-left: 20px;
  }
  .cms_text ol > li::before,
  .cmn_deciList > li::before{
    width: 16px;
    height: 16px;
    font-size: 1.2rem;
    top: 6px;
  }
  .cmn_deciList +*{
    margin-top: 24px;
  }

}
/* アイコン */
.cmn_list_ico li{
  position: relative;
  padding-left:17px ;
}
.cmn_list_ico li+li{
  margin-top: 4px;
}
.cmn_list_ico li::before{
  content: '';
  width: 9px;
  height: 9px;
  position: absolute;
  left: 0;
  top: 12px;
  background: url(../img/ico_list.svg)no-repeat center center;
  background-size: contain;
}
.cmn_list_ico li>a{
  color: var(--black);
  text-decoration: none;
}

/* リンクリスト
----------------------*/
.cmn_link + .cmn_link,
.cmn_link > li + li{
  margin-top: 8px;
}
.cmn_link a{
  color: var(--black);
  text-decoration: none;
  position: relative;
  margin-left: 28px;
}
.cmn_link a span{
  border-bottom: 1px solid #d7d8d8;
}
.cmn_link a::before{
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background:url(../img/ico_arrow.svg)no-repeat center/contain;
  position: absolute;
  left: -28px;
  top: 13px;
  transform: translateY(-50%);
}
.cmn_link li img[src*=".svg"] {
  max-width: 27px;
  margin-left: 5px;
  vertical-align: middle;
}
.cmn_link li img.ico_blank{
  width: 18px;
}
.cmn_link +*{
  margin-top: 36px;
}
@media screen and (max-width :834px){
  .cmn_link +*{
    margin-top: 32px;
  }
  .cmn_link + .cmn_link,
  .cmn_link > li + li{
    margin-top: 6px;
  }
  .cmn_link a{
    margin-left: 23px;
  }
  .cmn_link a::before{
    width: 18px;
    height: 18px;
    left: -23px;
    top: 15px;
  }
  .cmn_link li img[src*=".svg"]{
    max-width: 20px;
  }
  .cmn_link li img.ico_blank{
    width: 16px;
  }
}
/* 表組み
----------------------*/
.cms_text table:not(.pc_scroll):not(.sp_scroll){
  max-width: 100%;
}
.cms_text table,
.cmn_tableStyle{
  width: 100%;
  table-layout: fixed;
  border: 1px solid #d6d2c0;
}
.cms_text table th,
.cmn_tableStyle th{
  background-color: var(--main-color);
  color: #fff;
  font-weight: 700;
  vertical-align: middle;
  height: 50px;
  padding: 7px 1em;
  line-height: 1.3;
}
.cms_text table td,
.cmn_tableStyle td{
  padding: 11px 1em;
}
.cms_text table th + th,
.cmn_tableStyle thead th + th{
  background-image: radial-gradient(circle, #fff 1px, transparent 1px);
  background-position: left top;
  background-repeat: repeat-y;
  background-size: 2px 6px;
}
.cmn_tableStyle.slim th,
.cmn_tableStyle.slim td{
  padding: 5px 8px;
}
.cmn_tableStyle tbody th{
  background-color: var(--beige);
  color: var(--black);
}
.cmn_tableStyle tbody th + th,
.cmn_tableStyle tbody th + td,
.cmn_tableStyle tbody td + td,
.cms_text table th + td,
.cms_text table td + td{
  background-image: radial-gradient(circle, #d6d2c0 1px, transparent 1px);
  background-position: left top;
  background-repeat: repeat-y;
  background-size: 2px 6px;
}
.cmn_tableStyle tbody tr:nth-child(n+2) th:first-child,
.cmn_tableStyle tbody tr:nth-child(n+2) td:first-child,
.cms_text table tr:nth-child(n+2) th:first-child,
.cms_text table tr:nth-child(n+2) td:first-child{
  background-image: radial-gradient(circle, #d6d2c0 1px, transparent 1px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 6px 2px;
}
.cmn_tableStyle tbody tr:nth-child(n+2) th:not(:first-child),
.cmn_tableStyle tbody tr:nth-child(n+2) td:not(:first-child),
.cms_text table tr:nth-child(n+2) th:not(:first-child),
.cms_text table tr:nth-child(n+2) td:not(:first-child){
  background-image: radial-gradient(circle, #d6d2c0 1px, transparent 1px), radial-gradient(circle, #d6d2c0 1px, transparent 1px);
  background-position: left top, left top;
  background-repeat: repeat-x, repeat-y;
  background-size: 6px 2px, 2px 6px;
}
.cms_text table td,
.cmn_tableStyle.vm td,
.cmn_tableStyle.vm th,
.cmn_tableStyle tr.vm td,
.cmn_tableStyle tr.vm th,
.cmn_tableStyle td.vm{
  vertical-align: middle;
}
/* クラッキの表は普通の線 */
.cms_text table th,
.cms_text table td,
.cms_text table th + th,
.cms_text table th + td,
.cms_text table td + td,
.cms_text table tr:nth-child(n+2) th:first-child,
.cms_text table tr:nth-child(n+2) td:first-child,
.cms_text table tr:nth-child(n+2) th:not(:first-child),
.cms_text table tr:nth-child(n+2) td:not(:first-child),
.cms_text table tr:nth-child(n+2) th:not(:first-child),
.cms_text table tr:nth-child(n+2) td:not(:first-child){
  border: 1px solid #d6d2c0;
  background-image: none;
}
.cms_text table +*,
.cmn_tableStyle +*{
  margin-top: 36px;
}
@media screen and (max-width :834px) {
  .cms_text table th,
  .cmn_tableStyle th{
    height: 40px;
    padding: 5px 1em;
  }
  .cms_text table td,
  .cmn_tableStyle td{
    padding: 12px 1em;
  }
  .cms_text table +*,
  .cmn_tableStyle +*{
    margin-top: 32px;
  }
}
/* cmn_scroll_area */
.cmn_scroll_area{
  position: relative;
  z-index: 1;
  scrollbar-color: var(--main-color) #E3E3E3;
  scrollbar-width: thin;
}
.cmn_scroll_area::-webkit-scrollbar{
  height:10px;
}
.cmn_scroll_area::-webkit-scrollbar{
  background: #E3E3E3;
}
.cmn_scroll_area::-webkit-scrollbar-thumb{
  background: var(--main-color);
  border-radius: 0;
}
.cmn_scroll_area +*{
  margin-top: 36px;
}
@media screen and (max-width :1200px) and (min-width :835px){
  .cmn_scroll_area.pc{
    width: 100%;
    padding-bottom: 10px;
    margin-bottom: 10px;
    position: relative;
    overflow-x: auto;
    overflow-y: visible;
  }
  .cmn_scroll_area.pc > *{
    width: 1300px !important;
    max-width: inherit;
    margin-bottom: 0;
  }
}
@media screen and (max-width :834px){
  .cmn_scroll_area{
    padding-bottom: 10px;
    margin-bottom: 10px;
    position: relative;
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
  }
  .cmn_scroll_area > *{
    width: 1300px !important;
    margin-bottom: 0;
    max-width: inherit;
  }
  .cmn_scroll_area.w1200 > *{
    width:1200px !important;
  }
  .cmn_scroll_area.w1100 > *{
    width:1100px !important;
  }
  .cmn_scroll_area.w1000 > *{
    width:1000px !important;
  }
  .cmn_scroll_area.w900 > *{
    width:900px !important;
  }
  .cmn_scroll_area.w800 > *{
    width:800px !important;
  }
  .cmn_scroll_area.w700 > *{
    width:700px !important;
  }
  .cmn_scroll_area +*{
    margin-top: 32px;
  }
}

/* 2列表組み
----------------------*/
.cmn_tableStyle2{
  width: 100%;
  table-layout: fixed;
  border: solid 1px #d6d2c0;
}
.cmn_tableStyle2 th{
  width: 17em;
  background-color: var(--main-color);
  color: #fff;
  font-weight: 700;
  vertical-align: middle;
  height: 50px;
  padding: 10px 20px;
}
.cmn_tableStyle2 td{
  padding: 11px 1em;
  line-height: 1.353;
}
.cmn_tableStyle2 tr:nth-child(n+2) th{
  background-image: radial-gradient(circle, #fff 1px, transparent 1px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 6px 2px;
}
.cmn_tableStyle2 tr:nth-child(n+2) td{
  background-image: radial-gradient(circle, #d6d2c0 1px, transparent 1px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 6px 2px;
}
.cmn_tableStyle2 +*{
  margin-top: 36px;
}
@media screen and (max-width :834px) {
  .cmn_tableStyle2 th{
    width: 8.5em;
    height: 40px;
    padding: 5px 1em;
  }
  .cmn_tableStyle2 td{
    padding: 10px 1em;
  }
  .cmn_tableStyle2 +*{
    margin-top: 32px;
  }
}

/* 定義リスト
----------------------*/
.cmn_defList dl > div{
  display: flex;
}
.cmn_defList dl > div > dt{
  width: 270px;
  margin-right: 7px;
  padding: 13px 0;
  font-weight: bold;
  background-image: radial-gradient(circle, var(--main-color) 1px, transparent 1px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 6px 2px;
}
.cmn_defList dl > div > dd{
  flex: 1;
  padding: 13px 0 13px 1em;
  background-image: radial-gradient(circle, #d6d2c0 1px, transparent 1px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 6px 2px;
}
.cmn_defList dl > div:last-child > dt{
  background-image: radial-gradient(circle, var(--main-color) 1px, transparent 1px), radial-gradient(circle, var(--main-color) 1px, transparent 1px);
  background-position: left top, left bottom;
  background-repeat: repeat-x, repeat-x;
  background-size: 6px 2px, 6px 2px;
}
.cmn_defList dl > div:last-child > dd{
  background-image: radial-gradient(circle, #d6d2c0 1px, transparent 1px), radial-gradient(circle, #d6d2c0 1px, transparent 1px);
  background-position: left top, left bottom;
  background-repeat: repeat-x, repeat-x;
  background-size: 6px 2px, 6px 2px;
}
.cmn_defList +*{
  margin-top: 36px;
}
@media screen and (max-width :834px) {
  .cmn_defList dl > div{
    flex-direction: column;
  }
  .cmn_defList dl > div > dt,
  .cmn_defList dl > div:last-child > dt{
    width: 100%;
    padding: 6px 0;
    background-image: radial-gradient(circle, var(--main-color) 1px, transparent 1px);
    background-position: left top;
    background-repeat: repeat-x;
    background-size: 6px 2px;
  }
  .cmn_defList dl > div > dd{
    width: 100%;
    padding: 6px 0;
    background-image: radial-gradient(circle, #d6d2c0 1px, transparent 1px);
    background-position: left top;
    background-repeat: repeat-x;
    background-size: 6px 2px;
  }
  .cmn_defList dl > div:last-child > dd{
    background-image: radial-gradient(circle, #d6d2c0 1px, transparent 1px), radial-gradient(circle, var(--main-color) 1px, transparent 1px);
    background-position: left top, left bottom;
    background-repeat: repeat-x, repeat-x;
    background-size: 6px 2px, 6px 2px;
  }
  .cmn_defList +*{
    margin-top: 32px;
  }
}

/* ギャラリー
----------------------*/
.cmn_gallery{
  text-align: center;
}
.cmn_gallery figure{
  width: 100%;
}
.cmn_gallery figcaption{
  color: var(--black);
  text-align: center;
}
.cmn_gallery.center{
  margin-right: auto;
  margin-left: auto;
}
.cmn_gallery +*{
  margin-top: 56px;
}
@media screen and (min-width :835px) {
  /*1列*/
  .cmn_gallery.col1 figure{
    display: inline-block;
    width: auto;
    max-width:100%;
  }
  .cmn_gallery.col1 figure:nth-child(n+2){
    margin-top: 50px;
  }
  /*2列*/
  .cmn_gallery.col2{
    display: flex;
    flex-wrap: wrap;
    gap: 50px 3%;
  }
  .cmn_gallery.col2 figure{
    width: 48.5%;
  }
  /*3列*/
  .cmn_gallery.col3{
    display: flex;
    flex-wrap: wrap;
    gap: 60px 3.2%;
  }
  .cmn_gallery.col3 figure{
    width: 31.2%;
  }
  .cmn_gallery.col3 figure:nth-child(n+4){
    margin-top: 60px;
  }
}
@media screen and (max-width :834px) {
  .cmn_gallery figure:nth-child(n+2){
    margin-top: 10px;
  }
  .cmn_gallery +*{
    margin-top: 30px;
  }
  /*スマホでスクロール*/
  .cmn_gallery.cmn_gallery_scroll figure {
    width: 1200px;
  }
  .cmn_gallery.cmn_gallery_scroll figcaption{
    text-align: left;
  }
  .cmn_gallery.cmn_gallery_scroll{
    position: relative;
    width: 100%;
    overflow-x: auto;
    margin-bottom: 30px;
    padding-bottom: 5px;
  }
  .cmn_gallery.cmn_gallery_scroll figure > *{
    margin-bottom: 5px;
  }
  .cmn_gallery.cmn_gallery_scroll.w1000 figure,
  .cmn_gallery.cmn_gallery_scroll .w1000 figure {
    width:1000px;
  }
  .cmn_gallery.cmn_gallery_scroll.w900 figure,
  .cmn_gallery.cmn_gallery_scroll .w900 figure {
    width:900px;
  }
  .cmn_gallery.cmn_gallery_scroll.w800 figure,
  .cmn_gallery.cmn_gallery_scroll .w800 figure {
    width:800px;
  }
  .cmn_gallery.cmn_gallery_scroll.w700 figure,
  .cmn_gallery.cmn_gallery_scroll .w700 figure {
    width:700px;
  }
  .cmn_gallery.cmn_gallery_scroll.w600 figure,
  .cmn_gallery.cmn_gallery_scroll .w600 figure {
    width:600px;
  }
  .cmn_gallery.cmn_gallery_scroll::-webkit-scrollbar{
    height:2px;
  }
  .cmn_gallery.cmn_gallery_scroll::-webkit-scrollbar{
    background: #E3E3E3;
  }
  .cmn_gallery.cmn_gallery_scroll::-webkit-scrollbar-thumb{
    background: var(--main-color);
    border-radius: 0;
  }
}

/* 写真＋テキスト
----------------------*/
.cmn_textPhoto {
	width: 100%;
  display: flex;
  gap: 3%;
}
.cmn_textPhoto.is_right{
  flex-direction: row-reverse;
}
.cmn_textPhoto .photo{
  margin: 0 auto;
  width: 48.5%;
}
.cmn_textPhoto .photo figure:nth-child(n+2){
  margin-top: 20px;
}
.cmn_textPhoto figcaption{
  text-align: left;
  color: var(--black);
}
.cmn_textPhoto .photo.movie{
  width: 48.5%;
}
.cmn_textPhoto .photo .area_iframe{
  aspect-ratio: 16 / 9;
  position: relative;
  }
.cmn_textPhoto .photo iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.cmn_textPhoto +*{
  margin-top: 36px;
}
@media (min-width :835px){
  .cmn_textPhoto .text{
    flex: 1;
  }
}
@media screen and (max-width :834px){
  .cmn_textPhoto{
    flex-direction: column;
  }
  .cmn_textPhoto.is_right{
    flex-direction: column-reverse;
  }
  .cmn_textPhoto .photo,
  .cmn_textPhoto .photo.movie,
  .cmn_textPhoto .text{
    width: 100%;
  }
  .cmn_textPhoto +*{
    margin-top: 30px;
  }
}

/* 動画
----------------------*/
.cmn_movie{
  text-align: center;
}
.cmn_movie .box_movie{
  max-width: 100%;
  margin: 0 auto;
}
.cmn_movie .box_movie .area_iframe{
  width: 100%;
  padding-top: 56.25%;
  position: relative;
}
.cmn_movie .box_movie .area_iframe iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.cmn_movie .box_movie .caption{
  text-align: center;
  color: var(--black);
}
.cmn_movie +*{
  margin-top: 40px;
}
@media screen and (min-width :835px) {
  /*1列*/
  .cmn_movie.col1 .box_movie{
    width:745px;
  }
  .cmn_movie.col1 .box_movie:nth-child(n+2){
    margin-top: 60px;
  }
  /*2列*/
  .cmn_movie.col2{
    display: flex;
    flex-wrap: wrap;
    gap: 60px 3%;
  }
  .cmn_movie.col2 .box_movie{
    width: 48.5%;
  }
  /*3列*/
  .cmn_movie.col3{
    display: flex;
    flex-wrap: wrap;
    gap: 60px 3.2%;
  }
  .cmn_movie.col3 .box_movie{
    width: 31.2%;
  }
}
@media screen and (max-width :834px){
  .cmn_movie figure:nth-child(n+2){
    margin-top: 10px;
  }
  .cmn_movie figure img{
    border-radius: 12px;
  }
  .cmn_movie +*{
    margin-top: 30px;
  }
}

/* 2カラムボックス
----------------------*/
.cmn_layout_col2_pc{
	width: 100%;
  display: flex;
	align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
@media print, screen and (min-width :835px){
  .cmn_layout_col2_pc >*{
    width: 48.5%;
    margin-left: 3%;
  }
   .cmn_layout_col2_pc >*:nth-child(2n+1){
    margin-left: 0;
  }
  .cmn_layout_col2_pc >*:nth-child(n+3){
    margin-top: 20px;
  }
}
@media screen and (max-width :834px){
  .cmn_layout_col2_pc{
    display: block;
  }
  .cmn_layout_col2_pc >*:nth-child(n+2){
    margin-top: 20px;
  }
}

/* 枠
----------------------*/
.box_frame{
  border-radius: var(--radius);
  padding: 30px;
}
.box_frame.is_green{
  background-color: var(--r_green);
}
.box_frame.is_beige{
  background-color: var(--beige);
}
.box_frame +*{
  margin-top: 36px;
}
@media screen and (max-width :834px){
  .box_frame{
    padding: 18px 20px;
    border-radius: 12px;
  }
  .box_frame +*{
    margin-top: 32px;
  }
}

/* メール・FAX・電話
----------------------*/
.cmn_tel{
  padding-left: 34px;
  background: url("../img/ico_tel.svg")no-repeat left/contain;
  background-size: 17px auto;
}
.cmn_fax{
  padding-left: 34px;
  background: url("../img/ico_fax.svg")no-repeat left/contain;
  background-size: 24px auto;
}
.cmn_tel a,
.cmn_fax a{
  font-size: 2rem;
  color: var(--black);
  font-weight: 700;
  font-family: var(--font-yu);
}
.cmn_mail{
  padding-left: 34px;
  background: url("../img/ico_mail.svg")no-repeat left/contain;
  background-size: 22px auto;
}
.cmn_mail a{
  font-size: 1.6rem;
  color: var(--black);
  font-weight: 600;
  font-family: var(--font-yu);
}
@media screen and (max-width: 834px) {
  .cmn_tel{
    background-size: 13px auto;
    padding-left: 20px;
  }
  .cmn_fax{
    background-size: 18px auto;
    padding-left: 20px;
  }
  .cmn_tel a,
  .cmn_fax a{
    font-size: 1.8rem;
  }
  .cmn_mail{
    background-size: 17px auto;
    padding-left: 20px;
  }
  .cmn_mail a{
    font-size: 1.6rem;
  }
}

/* スライダーコントロール
----------------------*/
.cmn_slide_control{
  position: relative;
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: center;
  margin-top: 36px;
}
.cmn_slide_control .swiper-pagination {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 16px;
}
.cmn_slide_control .swiper-pagination-bullet {
  position: relative;
  display: block;
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 50%;
  transition: background 0.3s;
}
.cmn_slide_control .swiper-pagination-bullet-active {
  background: var(--main-color);
}
.cmn_slide_control .swiper-autoplay-toggle{
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  width: 20px;
  height: 20px;
}

.cmn_slide_control .swiper-autoplay-toggle .is-play {
  display: none;
}
.cmn_slide_control .swiper-autoplay-toggle.is-stopped .is-pause {
  display: none;
}
.cmn_slide_control .swiper-autoplay-toggle.is-stopped .is-play {
  display: block;
}

.cmn_slide_control .swiper-button-prev svg,
.cmn_slide_control .swiper-button-next svg{
  display: none;
}
.cmn_slide_control .swiper-button-prev,
.cmn_slide_control .swiper-button-next{
  position: absolute;
  top: 50%;
  right: 7.89%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  background: url(../img/ico_arrow_swiper.svg) no-repeat center center;
}
.cmn_slide_control .swiper-button-prev {
  right: calc(7.89% + 54px);
  transform:translateY(-50%) scale(-1,1);
}

.is_noslide .swiper-wrapper{
  justify-content: center;
}
.is_noslide .cmn_slide_control{
  display: none;
}
@media screen and (max-width :834px) {
  .cmn_slide_control{
    padding: 0 45px;
    gap:12px;
    margin-top: 35px;
  }
  .cmn_slide_control .swiper-pagination {
    gap: 12x;
  }
  .cmn_slide_control .swiper-pagination-bullet {
    width:8px;
    height: 8px;
  }
  .cmn_slide_control .swiper-autoplay-toggle{
    width: 18px;
    height: 18px;
  }
  .cmn_slide_control .swiper-button-prev,
  .cmn_slide_control .swiper-button-next{
    right: 0;
    width: 40px;
    height: 40px;
  }
  .cmn_slide_control .swiper-button-prev {
    right:auto;
    left: 0;
  }
}

/* パーツ間調整 */
.cms_text + .cmn_ttl01,
.cmn_tableStyle + .cmn_ttl01,
.cmn_tableStyle2 + .cmn_ttl01,
.cmn_btn + .cmn_ttl01,
.cmn_link + .cmn_ttl01,
.cmn_map + .cmn_ttl01,
.cmn_defList + .cmn_ttl01{
  margin-top: 60px;
}
.cmn_tableStyle + .cmn_ttl02,
.cmn_tableStyle + .cmn_ttl03,
.cmn_textPhoto + .cmn_ttl02,
.cmn_ttl01 + .cmn_ttl02,
.cmn_ttl02 + .cmn_ttl03,
.cms_text + .cmn_ttl02,
.cms_text + .cmn_ttl03,
.cms_text + .cmn_gallery,
.cmn_btn + .cmn_ttl02,
.cmn_btn + .cmn_ttl03,
.cmn_btn + .cmn_ttl04,
.cmn_btn + .cmn_ttl05,
.cmn_deciList + .cmn_ttl04{
  margin-top: 56px;
}
.cmn_ttl01 + .cmn_message,
.cmn_ttl03 + .cmn_textPhoto,
.cmn_discList + .cmn_btn{
  margin-top: 36px;
}
.cmn_ttl03 + .cmn_defList,
.cms_text + .cmn_link,
.cmn_ttl02 + .cmn_link,
.cmn_ttl03 + .cmn_link,
.cmn_ttl04 + .cmn_link,
.cmn_ttl05 + .cmn_link,
.cmn_ttl02 + .cms_text,
.cmn_ttl03 + .cms_text,
.cmn_ttl04 + .cms_text,
.cmn_ttl05 + .cms_text,
.cmn_ttl03 + .cmn_gallery,
.cmn_ttl03 + .cmn_tableStyle,
.cmn_ttl03 + .cmn_tableStyle2{
  margin-top: 24px;
}
.cmn_ttl03 + .cms_text,
.cmn_ttl03 + .cmn_p,
.cmn_p + .cmn_tel{
  margin-top: 14px;
}
@media screen and (max-width :834px) {
  .cmn_defList + .cmn_ttl01{
    margin-top: 70px;
  }
  .cms_text + .cmn_ttl01,
  .cmn_tableStyle + .cmn_ttl01,
  .cmn_tableStyle2 + .cmn_ttl01,
  .cmn_btn + .cmn_ttl01,
  .cmn_link + .cmn_ttl01,
  .cmn_map + .cmn_ttl01{
    margin-top: 50px;
  }
  .cmn_tableStyle + .cmn_ttl02,
  .cmn_tableStyle + .cmn_ttl03,
  .cmn_textPhoto + .cmn_ttl02,
  .cmn_ttl01 + .cmn_ttl02,
  .cmn_ttl02 + .cmn_ttl03,
  .cms_text + .cmn_ttl02,
  .cms_text + .cmn_ttl03,
  .cms_text + .cmn_gallery,
  .cmn_btn + .cmn_ttl02,
  .cmn_btn + .cmn_ttl03,
  .cmn_btn + .cmn_ttl04,
  .cmn_btn + .cmn_ttl05,
  .cmn_deciList + .cmn_ttl04{
    margin-top: 30px;
  }
  .cmn_ttl01 + .cmn_message,
  .cmn_ttl03 + .cmn_textPhoto,
  .cmn_discList + .cmn_btn{
    margin-top: 30px;
  }
  .cmn_ttl03 + .cmn_defList,
  .cms_text + .cmn_link,
  .cmn_ttl02 + .cmn_link,
  .cmn_ttl03 + .cmn_link,
  .cmn_ttl04 + .cmn_link,
  .cmn_ttl05 + .cmn_link,
  .cmn_ttl02 + .cms_text,
  .cmn_ttl03 + .cms_text,
  .cmn_ttl04 + .cms_text,
  .cmn_ttl05 + .cms_text,
  .cmn_ttl03 + .cmn_gallery,
  .cmn_ttl03 + .cmn_tableStyle,
  .cmn_ttl03 + .cmn_tableStyle2{
    margin-top: 14px;
  }
  .cmn_ttl03 + .cms_text,
  .cmn_ttl03 + .cmn_p,
  .cmn_p + .cmn_tel{
    margin-top: 7px;
  }
}