@charset "utf-8";
/*-------------------------------------------------
PC表示：960px〜
スマホ　320〜959px（brakepoint: 520px 960px）
-------------------------------------------------*/


/* -----------------------------------------------------------
アイキャッチ見出し
----------------------------------------------------------- */
.bl_eyeCatch{
  position: relative;
}
/*
ヘッダーの大きさによって
paddingとmarginの調整必要
*/
.bl_eyeCatch .text {
  position: relative;
  z-index: 3;
  margin:  100px auto 0;
  padding: 0;
  color: #000;
  text-align: center;
  /* font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "Noto Serif JP" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;   */
}
.bl_eyeCatch .text>* {
  line-height:1.4;
  font-size: 35px;
  padding: 1.3em 0.5em 1.2em 0.5em;
  letter-spacing: 0.05em; margin:0;
  font-weight: bold;
  position:relative; 
  text-align: center;
}

.bl_eyeCatch .text ._eng {
  display: block;
  font-size: 18px;
  letter-spacing: 0.1em;
  font-weight: 400;
}
/*スマホ*/
@media not screen and (min-width:960px) {
  .bl_eyeCatch .text{
    background-size: 600px auto;
    margin: auto;
    padding: 1.2em 0.5em 1.1em 0.5em;
    padding: 0;
  }
  .bl_eyeCatch .text>*{
    font-size: 24px;
  }
  .bl_eyeCatch .text ._eng {
    font-size: 14px;
  }
}

/* -----------------------------------------------------------
アイキャッチ画像があるとき
----------------------------------------------------------- */
.bl_eyeCatch .image {
  height: 80vh;
  margin: -140px 0 0;
  background-image: none;
  background-color: #000;
  position: relative;
  z-index: 1;
}

.bl_eyeCatch .image:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.0));
  pointer-events: none;
}

/*スマホ*/
@media not screen and (min-width:960px) {
  .bl_eyeCatch .image {
    height: 56.3vw;
    margin: 0;
  }
  .bl_eyeCatch .image:before {
    display: none;
  }
}

/*隣接したテキスト*/
@media screen and (min-width:520px) {
  .bl_eyeCatch .image+.text {
    margin: auto;
    padding: 0 5%;
    background: none;
    position: absolute;
    top: calc(50% + 55px);
    left: 0;
    right: 0;
    transform: translateY(-50%);
  }
  .bl_eyeCatch .image+.text>* {
    font-size: 3vw;
    padding: 0 0.3em 0 0.5em;
    display: inline-block;
    text-shadow: 0 0 0.1em rgba(0, 0, 0, 0.5), 0 0 0.2em rgba(0, 0, 0, 0.5), 0 0 0.3em rgba(0, 0, 0, 0.5), 0 0 0.4em rgba(0, 0, 0, 0.5), 0 0 0.5em rgba(0, 0, 0, 0.5);
  }
}
/* スマホ */
@media not screen and (min-width:960px) {
  .bl_eyeCatch .image+.text {
    top: 50%;
  }
  .bl_eyeCatch .image+.text>* {
    font-size: 5vw;
  }
}

/* ====================================================
アニメーション
==================================================== */


/* -----------------------------------------------------------
下から上のアニメーション
----------------------------------------------------------- */

@keyframes animation_up {
  100% {
    opacity: 1;
    transform: translateY(0vh);
  }
}

.js_animation.up {
  opacity: 0;
  transform: translateY(5vh);
}

.js_animation.up.is_active {
  animation: animation_up 1s 0s cubic-bezier(0, 0, 0, 1) both;
}


/* -----------------------------------------------------------
フェードインアニメーション
----------------------------------------------------------- */

@keyframes animation_fadein {
  100% {
    opacity: 1;
  }
}

.js_animation.fadein {
  opacity: 0;
}

.js_animation.fadein.is_active {
  animation: animation_fadein 1s 0s ease-out both;
}

@media(max-width:900px) {
  .js_animation.fadein.sp_active {
    animation: animation_fadein 1s 0s ease-out both;
  }
  /*スマホのときすぐactive*/
}


/* -----------------------------------------------------------
順番に出現するアニメーション
----------------------------------------------------------- */

@keyframes animation_order {
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}

.js_animation.order>* {
  transform: translateX(-50%);
  opacity: 0;
}

.js_animation.order.is_active>* {
  animation: animation_order 0.6s 1.1s cubic-bezier(0, 0, 0, 1) both;
}

.js_animation.order.is_active>*:nth-child(1) {
  animation-delay: 0.1s;
}

.js_animation.order.is_active>*:nth-child(2) {
  animation-delay: 0.3s;
}

.js_animation.order.is_active>*:nth-child(3) {
  animation-delay: 0.5s;
}

.js_animation.order.is_active>*:nth-child(4) {
  animation-delay: 0.7s;
}

.js_animation.order.is_active>*:nth-child(5) {
  animation-delay: 0.9s;
}

.js_animation.order.is_active>*:nth-child(6) {
  animation-delay: 1.1s;
}

.js_animation.order.is_active>*:nth-child(7) {
  animation-delay: 1.3s;
}

.js_animation.order.is_active>*:nth-child(8) {
  animation-delay: 1.5s;
}

.js_animation.order.is_active>*:nth-child(9) {
  animation-delay: 1.7s;
}

.js_animation.order.is_active>*:nth-child(10) {
  animation-delay: 1.9s;
}

/* ====================================================
header
==================================================== */

/* ヘッダーレイアウト */
.ly_headerTop {
  position: relative;
  /* max-width: 1300px; */
  padding: 10px 15px;
  margin-right: auto;
  margin-left: auto;
}

.ly_header {
  background: #fff;
  box-shadow: 0 0 0.5em rgba(0,0,0,0.1);
  position: sticky;
  width: 100%;
  z-index: 100;
  top: 0; left: 0;
  transition: .25s;
}



.ly_header {
  perspective: 1000; 
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition: transform .4s ease;
}

/* header inner */
.ly_header_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  /* position: relative; */
  max-width: 1230px;
  padding: 0 15px ;
  height: 100px; 
  margin-right: auto;
  margin-left: auto;
  /* background: #424251; */
}


/* lg */
@media screen and (min-width:960px) {
  /* pageTopにて背景のONOFFをするとき */
  .ly_header { 
    background: rgba(255, 255, 255, .5);
    box-shadow: none;
    transition: background .25s, box-shadow .2s;
    position: fixed;
  }
  .ly_header.is_active {
    background: rgba(255, 255, 255, .85);
    box-shadow: 0 0 0.5em rgba(0,0,0,0.1);
  }

  .bl_header_right {
    max-width: 500px;
    flex: .9;
    align-self: flex-end;
  }
}


@media not screen and (min-width:960px) {
  .ly_header_inner {height: 60px; min-width: 320px;}
}

.bl_header_logo { 
    z-index: 10;
    /* flex: 0 1 40%; */
  flex-shrink: 0;
}

.bl_header_logo a {
  text-decoration: none;
  transition: .2s;
}
.bl_header_logo a > * {
  display: flex;
  align-items: center;
  gap: 10px;
}

.bl_header_logo img {
  display: block;
  max-width: 100%;
  max-height: 80px;
  max-height: 1;
  image-rendering: auto;
  display: inline-block;

}

.bl_header_logo a:hover {
  opacity: .8;
}

.bl_header_logo ._name {
  display: inline-block;
  font-weight: bold;
  font-size: clamp(16px, 1.3846vw,18px);
  line-height: 1.6;
 color: #000;
}





/* lg */
@media screen and (min-width:960px) {
  .bl_header {
    image-rendering: -webkit-optimize-contrast;
  }
}

/* md */
@media not screen and (min-width:960px) {
  .ly_header_inner {
    padding: 5px 10px ;
  }
  .bl_header_logo {
    top: 50%;
    left: 10px;
  }
  .bl_header_logo img {
    max-height: 50px;
  }
}

@media not screen and (min-width:520px) {
  .bl_header_logo ._name {
    font-size: 14px;
  }
  .bl_header_logo img {
    max-height: 44px;
  }
}


/* -----------------------------------------------------------
ヘッダーナビ
----------------------------------------------------------- */
.bl_headerNav {
  flex: .9;
  max-width: 850px;
}
.bl_headerNavList {
  flex: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: auto;

}

.bl_headerNavList  ._navTitle,
.bl_headerNavList > li> a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  padding: 1em 0;
  color: #000;
  font-size: 1.6rem;
  font-weight: bolder;
  text-align: center;
  line-height: 1.4;
  text-decoration: none;
  transition: .25s;
  text-transform: uppercase;
}

.bl_headerNavList  ._navTitle {
  cursor: default;
}

/* lg */
@media screen and (min-width:960px) {
  .bl_headerNavList > li:hover > a {
    color: var(--main_color1);
   }
  .bl_headerNavList > .has_child > ._navTitle::after,
  .bl_headerNavList > .has_child > a::after {
    content: "\f107";
    font-family: "Font Awesome 6 free";
    font-weight: 600;
    transition: color .25s, transform .25s;
  }
  .bl_headerNavList > li:hover > ._navTitle::after {
    transform: translateY(2px);
  }

  .bl_headerNavList > li:hover > a::after {
    transform: translateY(2px);
    color: var(--main_color1);
   }
}


.has_child .childNav {
  position: absolute;
  width: 100%;
  padding: 30px 0;
  background: rgba(232, 238, 235, 0.95);
  z-index: 99;
  left: 0;
  pointer-events: none;
  filter: alpha(opacity=0);
  opacity: 0;
  transition: filter .4s, opacity .4s;
}

.has_child:hover .childNav {
	transition: 0.2s opacity;
	opacity: 1;
  pointer-events: auto;
}

.has_child .childNav:focus-within {
  transition: 0.2s opacity;
	opacity: 1;
  pointer-events: auto;
}

.childNav ul {
	display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 1300px;
	margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
  
}

.childNav ul>li {
	display: flex;
  align-items: stretch;
  /* min-height: inherit; */
  width: calc((100% - 20px) / 3);
  color: #000;
}

.childNav ul>li>a,
.childNav ul>li ._disabled {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  width: 100%;
  color: inherit;
  background: #fff;
  border-left: none;
  /* border-bottom: 1px solid #5e5e5e; */
  font-weight: bold;
  padding: 10px 1em;
  background-color: #fff;
  background-image: linear-gradient(to right, #00885a 0%, #8fcbb7 100%);
  background-repeat: no-repeat;
  background-size: 0 100%;
  text-decoration: none;
  transition: background-size .45s, color .4s;
}

.childNav ul>li ._disabled {
  cursor: default;
}

.childNav ul>li>a:hover{
  background-size: 100% 100%;
  color: #fff;
}

/* lg */
@media screen and (min-width:960px) {
  .childNav._picture ul>li>a {
    min-height: 70px;
  }
  .childNav._picture ul>li>a figure {
    width: 10%;
  }
  .childNav._picture ul>li>a img {
    display: block;
    margin: auto;
    max-width: 40px;
    max-height: 55px;
  }
}

@media not screen and (min-width:960px) {
	.has_child .childNav {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    border-radius: 0;
    width: auto;
    background: inherit;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    border-bottom: 0.5px solid rgba(0,0,0,0.2);
	}

  .childNav ul {
    display: block;
    padding: 1em;
    border-bottom: 0.5px solid rgba(0,0,0,0.2);
  }

  .childNav ul>li {
    border-bottom: none;
    width: 100%;
  }

  .childNav ul>li>a {
    transition: .4s;
    flex-direction: column;
    background: none;
    border-bottom: 0.5px solid rgba(0,0,0,0.2);
    padding: 1.15em 2em 1.15em 1em;
  }

  .childNav._picture ul>li>a img {
    max-width: 70px;
    max-height: 100px;
  }

  .childNav ul>li>a:hover {
    filter: unset;
    color: var(--main_color1);
    background: #e2e8ed;
  }
  .bl_hamburgerMenu_inner ._ttl {
    text-align: left;
    padding: 1.15em 2em 1.15em 1em;
    position: relative;
    font-size: 16px;
    font-weight: bold;
    display: block;
    color: #000;
    border-bottom: 0.5px solid rgba(0,0,0,0.2);
    text-decoration: none;
    transition: .25s;
  }
}

.md_triggers {

  z-index: 20;
  display: flex;
  align-items: center;
  gap: 10px;
}



/*==================================================
3本線が1本線に
===================================*/

/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.openbtn3{
  position: relative;/*ボタン内側の基点となるためrelativeを指定*/
  /* background:#fff; */
  /* border: 2px solid #222; */
  cursor: pointer;
    width: 50px;
    height:50px;
  border-radius: 5px;
}

/*ボタン内側*/
.openbtn3 span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
  background: #000;
    width: 45%;
  }


.openbtn3 span:nth-of-type(1) {
  top:15px; 
}

.openbtn3 span:nth-of-type(2) {
  top:23px;
}

.openbtn3 span:nth-of-type(3) {
  top:31px;
}

/*activeクラスが付与されると1・3番目の要素が2番目の要素と同じ位置になり一本線に*/

.openbtn3.active span:nth-of-type(1) ,
.openbtn3.active span:nth-of-type(3){
    top: 23px;
}


:is(.bl_hamburgerMenu, .bl_telMenu) {
  position: fixed;
  height: 100%;
  z-index: 200;
  top: 0;
  left: auto;
  right: 0;
  bottom: 0;
  line-height: 1.4;
  transform: translateX(100%);
  transition: transform 0.3s;
  -webkit-backdrop-filter: saturate(200%) blur(0.2em);
  backdrop-filter: saturate(200%) blur(0.2em);
}
.bl_hamburgerMenu {
  width: 100%;
  background: rgba(255,255,255,0.9);
}
.bl_telMenu {
  overscroll-behavior-y: contain;
  overflow-y: auto;
  width: 100%;
  background: rgba(200 0 0 / .8);
}

:is(.bl_hamburgerMenu, .bl_telMenu).is_active {
  transform: translateX(0%);
}

.bl_menuOverlay {
  height: 100%;
  position: fixed;
  z-index: 199;
  top: 0;
  left: 0;
  right: 400px;
  bottom: 0;
  background: #dfe3e8bb;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
  -webkit-backdrop-filter: blur(0.2em);
  backdrop-filter: blur(0.2em);
}
.bl_menuOverlay.is_active {
  opacity: 1;
  pointer-events: auto;
}

/* PC */
@media screen and (min-width:960px) {
  .bl_hamburgerMenu,
  .bl_telMenu,
  .bl_menuOverlay {
    display: none;
  }
}

/* xs */
@media not screen and (min-width:520px) {
  .bl_hamburgerMenu {
    width: 100%;
  }
  .bl_menuOverlay {
    /* 表示しない */
    right: 100% ;
  }
}

:is(.bl_hamburgerMenu, .bl_telMenu) ._trrigerClose {
  text-align: right;
  line-height: 60px;
  padding-right: 20px;
  font-size: 40px;
  /* background: linear-gradient(to right, #1b3055 , #62708a); */
  cursor: pointer;
  border-bottom: 0.5px solid rgba(0,0,0,0.2);
}

.bl_telMenu ._trrigerClose {
  background-color: #880000;
  color: #eee;
}

._trrigerClose img {
  height: 26px;
}
.bl_hamburgerMenu_inner {
  position: relative;
  margin: auto;
  width: 100%;
  height: calc(100vh - 60px);
  padding: 0 0 60px;
  overflow-y: scroll;
}
/* .bl_hamburgerMenu_inner li:first-child {
  border-top: 0.5px solid rgba(0,0,0,0.2);
} */
.bl_hamburgerMenu_inner li>a {
  text-align: left;
  padding: 1.15em 2em 1.15em 1em;
  position: relative;
  font-size: 16px;
  font-weight: bold;
  display: block;
  color: #000;
  border-bottom: 0.5px solid rgba(0,0,0,0.2);
  text-decoration: none;
  transition: .3s;
}
.bl_hamburgerMenu_inner li>a::after {
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  content: "\f054";
  display: block;
  width: 1em;
  height: 1em;
  line-height: 1em;
  font-size: 0.8em;
  margin-top: -0.5em;
  position: absolute;
  top: 50%;
  right: 1em;
  text-align: center;
  color: var(--main_color1);
}
.bl_hamburgerMenu_inner li>a:hover {
  color: var(--main_color1);
  background: #e2e8ed;
}

.bl_telMenu {
  overflow-y: scroll;
}

.bl_telMenu ._catch {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  color: #ff0;
  font-size: 24px;
  font-weight: bold;
}
.bl_telMenu ._inner {
  background: #fff;
  padding: 30px 20px;
  box-shadow: 0 0 1em rgb(0 0 0 / 20%);
  margin-top: 40px;
}
.bl_telMenu ._inner > ._item {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 15px;
  padding: 30px 0px;
}
.bl_telMenu ._inner > ._item:first-child {
  padding-top: 0;
}
.bl_telMenu ._inner > ._item:last-child {
  padding-bottom: 0;
}
.bl_telMenu ._inner > ._item + ._item {
  border-top: 1px solid #ccc;
}
.bl_telMenu ._inner > ._item ._store {
  font-size: 20px;
  text-align: center;
  font-weight: bold;
}
.bl_telMenu ._inner > ._item ._tel {
  font-size: 26px;
  font-weight: bold;
}
.bl_telMenu ._inner > ._item ._txt {
  text-align: center;
}

/* xs */
@media not screen and (min-width:520px) {
  .bl_telMenu ._catch {
    font-size: 22px;
  }
}

/* ====================================================
footer
==================================================== */
.bg_footer {
  /* border-top: 4px solid var(--main_color1); */
    background: #f6f6f6;
}
.ly_footer {
    /* border-top: 4px solid var(--main_color1); */
    /* background: #f6f6f6; */
    padding-top: 60px;
    padding-bottom: 60px;
}

.ly_footer_inner {
  position: relative;
  max-width: 1230px;
  padding: 0 15px;
  margin-right: auto;
  margin-left: auto;
}


.bl_footer ._logo img {
  width: 80%;
  max-width: 400px;
  display: block;
  margin-right: auto;
  margin-left: auto;
}

/* md */
@media not screen and (min-width:960px) {
  .ly_footer {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* 風景bg中 */

/*コピーライト*/
.el_copyright{
  font-style: normal;
  font-size: 90%;
  /* background: var(--main_color1); */
  /* color: #fff; */
  padding: 1em;
  text-align: center;
}
.el_copyright ._copyFont {
  font-family: 'Verdana' , 'Droid Sans' ;
}
/* ページ先頭へ */
.el_pageTopButton { 
  position: fixed;
  z-index:99;
  display: flex;
  align-items: center;
  justify-content: center;
  bottom: 40px;
  right: 40px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #2e999d;
  color: #fff;
  opacity: 0;
  transition: 0.2s;
  pointer-events: none;
  text-decoration: none;
  font-size: 22px;
}

.el_pageTopButton.is_active{
  opacity:1;
  pointer-events: inherit;
}
.el_pageTopButton.is_active:hover {
  filter: brightness(90%) contrast(120%);
  /* background: #0053a7; */
}
/*スマホ*/
@media not screen and (min-width:960px) {
.el_pageTopButton{
  bottom: 30px;
  right: 30px;
  width: 40px;
  height: 40px;
  font-size: 20px;
}
}
@media print{
.el_pageTopButton{display: none;}
}

/* ====================================================
専用
==================================================== */
/* アクセス */
.bl_access {
  position: relative;
  display: flex;
  gap: 40px 8%;
}
.bl_access > ._item {
  position: relative;
  display: flex;
  width: calc((100% - 4%) / 2);
  flex-direction: column;
  align-items: center;
  row-gap: 30px;
}
.bl_access > ._item ._thumb {
  position: relative;
}
.bl_access > ._item ._thumb img {
  display: block;
  max-width: 100px;
  margin-right: auto;
  margin-left: auto;
}
.bl_access > ._item ._ttl {
  font-size: 24px;
}

.bl_access > ._item ._txt {
  flex-grow: 1;
}
/* md */
@media not screen and (min-width:960px) {
 .bl_access {
   flex-direction: column;
 }
 .bl_access > ._item {
   width: 100%;
 }
}

/* SNS・メールシェアボタン */
.bl_linkShareArea {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.bl_linkShareArea > * {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 5px;
  background: #666;
  color: #fff;
  text-decoration: none;
  font-size: 22px;
  transition: filter .25s;
}
.bl_linkShareArea > *:hover {
  filter: brightness(110%);
}
.bl_linkShareArea ._twitter {
  background-color: #55acee;
}
.bl_linkShareArea ._facebook {
  background-color: #3b5998;
}
.bl_linkShareArea ._mail {
  background-color: #1d7cf3;
}
.bl_linkShareArea ._line {
  background-color: #06c755;
  font-size: 25px;
}

.bl_ctaBox {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  background: #f7efdc;
  padding: 30px;
  text-align: center;
}
.bl_ctaBox ._tel {
  font-size: 4.2rem;
  font-family: "Noto Serif JP", serif;
}
/* md */
@media not screen and (min-width:960px) {
  .bl_ctaBox {
    padding: 20px;
  }
  .bl_ctaBox ._tel {
    font-size: 3.2rem;
  }
}
article .bl_cardList_item img {
  aspect-ratio: 3 / 2;
  width: 100%;
  object-fit: cover;
}

header > .el_lv2Heading {
  padding-top: .5em;
}

.bl_posts span.date {
  font-size: 16px;
  color: #222;
}
.bl_posts span.date::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 300;
  content: "\f017";
  margin-right: 0.5em;
}
.bl_posts span.date.date_event::before {
  content: "\f274";
}

.bl_posts .el_itemPrice {
  color: var(--main_color1);
  font-size: clamp(33px, 3.077vw,40px);
  font-weight: bold;
  margin-bottom: 20px;
}

.bl_posts .el_lv2Heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  row-gap: 5px;
}
.bl_posts .el_lv2Heading > ._ttl {
  flex: 1;
}

.bl_posts .el_lv2Heading > ._price {
  
  font-size: 160%;
  color: var(--main_color1);
}
/* md */
@media not screen and (min-width:960px) {
  .bl_posts .el_lv2Heading {
    flex-direction: column;
    align-items: flex-start;
  }
  .bl_posts .el_lv2Heading > ._price {
    font-size: 140%;
    align-self: flex-end;
  }
}

/* コンテンツボックス */
.bl_contBox {
  background: #f0f0f0;
  padding: 20px;
  /* border: 1px solid #ddd; */
}
.bl_contBox ._ttl {
  text-align: center;
  background: rgba(0,0,0,0.1);
  padding: 0.4em;
  margin: -20px -20px 1em;
  font-size: 22px;
  font-weight: bold;
}

@media not screen and (min-width:960px) {
  .bl_contBox ._ttl {
    font-size: 18px;
  }
}
.bl_contBox ._definition dt {
  font-size: clamp(18px, 1.5384vw,20px);
  padding-bottom: .3em;
  margin-bottom: .7em;
  border-bottom: 1px solid #ccc;
}
.bl_contBox ._definition dd + dt {
  margin-top: 1em;
}
/* 共通 info部分 */
.ly_mainInfo {
  border-top: 4px solid var(--main_color1);
}
.ly_mainInfo_ttl_inner {
  position: relative;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  border-bottom: 1px solid var(--main_color1);
}
.el_lv2Info {
  position: relative;
  text-align: center;
  font-size: 28px;
  letter-spacing: .05em;
  line-height: 1.4;
  font-weight: bold;
  padding: .9em 0;
}
.bl_mainInfo {
  margin-right: auto;
  margin-left: auto;
}

.bl_mainInfo ._btnsArea {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}

.bl_mainInfo ._btnsArea .el_button {
  color: #222;
  border: 3px solid #ddd;
  height: 60px;
  padding: 0 2em;
  min-width: 240px;
}


/*  */
.ly_mainInfo_cta {
  background-color: var(--sub_color);
}
.ly_mainInfo_cta > ._inner {
  max-width: 990px;
  padding:20px 15px;
  margin: auto;
}
.ly_mainInfo_cta > ._inner ._ctaArea {
  display: flex;
  align-items: center;
  gap: 20px 30px;
}

.ly_mainInfo_cta > ._inner ._txt {
  font-size: 18px;
  font-weight: bold;
}

.ly_mainInfo_cta > ._inner ._btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px 6%;
}
.ly_mainInfo_cta > ._inner ._btn .el_button {
  border-radius: 5px;
  padding: .5em 1.4em;
  min-width: 240px;
  min-height: 60px;
  font-size: 20px;
  line-height: 1.2;
}
.ly_mainInfo_cta > ._inner ._btn ._tel {
  align-items: center;
  column-gap: 15px;
  color: var(--main_color1);
  line-height: 1;
  font-weight: bold;
  background-color: #fff;
}
.ly_mainInfo_cta > ._inner ._btn ._tel img {
  max-height: 22px;
}
/* md */
@media not screen and (min-width:960px) {
  .bl_mainInfo {
    max-width: 550px;
  }

  .el_lv2Info {
    font-size: 18px;
  }

  .ly_mainInfo_cta > ._inner {
    padding: 20px 15px;
  }
  .ly_mainInfo_cta > ._inner ._ctaArea {
    flex-direction: column;
  }
  .ly_mainInfo_cta > ._inner ._txt {
    font-size: 16px;
  }
  .ly_mainInfo_cta > ._inner ._btn {
    flex-direction: column;
  }
  .ly_mainInfo_cta > ._inner ._btn .el_button {
    padding: .5em 1em;
    min-width: 260px;
    font-size: 18px;
  }
}


.bl_btns{
  display: flex;
  flex-direction: column;
}
.bl_btns_item {
  width: 100%;
  max-width: 500px;
  min-height: 50px;
  /* font-size: 90%; */
  font-weight: bold;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bl_btns .el_button {
  padding: .3em 2em;
  min-width: 250px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bl_btns_item + .bl_btns_item {
  margin-top: 20px;
}

/* lg */
@media screen and (min-width:960px) {
  .bl_btns {
    flex-direction: row;
    justify-content: center;
    gap: 20px;
  }
  .bl_btns .el_button {
    min-height: 60px;
  }
}

/* ====================================================
ページレイアウト
   ==================================================== */

/* main（IE対応） */
main { display: block; padding: 0; margin: 0;}




/* コンテンツ（レイアウト用） */
.ly_cont {
  position: relative;
  max-width: 1230px;
  padding: 60px 15px ;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

.ly_cont._pdLarge {
  padding: 100px 15px;
}

@media not screen and (min-width:960px) {
  .ly_cont {
    padding: 40px 15px ;
  }
  .ly_cont._pdLarge {
    padding: 60px 15px;
  }
}

.ly_cont > .bl_cont:first-child {
  padding-top: 0;
}

.ly_narrow {
  max-width: 1060px;
  margin-right: auto;
  margin-left: auto;
}

.ly_narrow_more {
  max-width: 890px;
  margin-right: auto;
  margin-left: auto;
}

.ly_links {
  max-width: 1230px;
  padding: 0 15px;
  margin-right: auto;
  margin-left: auto;
}

/* counter */
.counter__r {
  counter-reset: number 0;
}

/* map padding-top huck */
.bl_mapArea {
  position: relative;
  max-width: 100%;
  margin: auto;
}

.bl_mapArea::before {
  content: "";
  display: block;
  padding-top: 50%;
}

.bl_mapArea iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;

  height: 100%;
  border: 0;
}

@media not screen and (min-width:520px) {
  .bl_mapTop::before {
    padding-top: 75%;
  }
}

/* ====================================================
エレメント
==================================================== */

.el_txt {
  margin-bottom: 1em;
}

.el_default {
  color: var(--root_color);
  font-size: 1.6rem;
  font-weight: var(--font-weight);
}

.el_caution {
  padding-left: 1em;
  text-indent: -1em;
}

.el_underLine {
  background-image: linear-gradient(transparent 70%, #f7cfd8 0%)
}

.el_underLine._purple {
  background-image: linear-gradient(transparent 70%, #6c4f7e70 0%)
}



.el_catch {
  font-size: clamp(24px, 100vw * (36/1230) , 36px);
}

.el_label {
  display: inline-block;
  padding: .2em .3em;
  letter-spacing: .05em;
  background-color: #e25c00;
  color: #fff;
  font-size: .75em;
  font-weight: bold;
}

.el_label._darkOrange {
  background-color: darkorange;
}

.el_lv2Top {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
  text-align: center;
  margin-bottom: 1em;
  text-align: center;
  line-height: 1.0;
  font-weight: 400;
  font-size: 35px;
  letter-spacing: 0.05em;
}

.el_lv2Top::after {
  content: '';
  position: relative;
  margin-top: 0.5em;
  width: 60px;
  height: .5px;
  background-color: #000;
}

.el_lv2Heading {
  position: relative;
  padding-bottom: .4em;
  margin-bottom: 1em;
  border-bottom: 4px solid #d7d7d7;
  font-size: 26px;
  line-height: 1.2;
}

.el_lv2Heading::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  width: 80px;
  height: 4px;
  background-color: var(--main_color1);
}

.el_lv2News {
  position: relative;
  margin-bottom: 1.5em;
  font-size: 30px;
  line-height: 1.2;
  text-align: center;
}

.el_lv3Heading {
  position: relative;
  border-bottom: 1px solid #e4babb;
  padding-bottom: 0.6em;
  margin-bottom: 1em;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 400;
}



.el_lv4Heading {
  position: relative;
  border-left: 0.25em solid var(--sub_color);
  background: rgba(0,0,0,0.04);
  font-size: 20px;
  line-height: 1.2;
  padding: .4em 0 .35em .5em;
  margin: 0.7em 0;
}


.el_lv5Heading {
  font-size: 18px;
  margin-bottom: .25em;
}

.el_lv2Font { font-size: 30px; font-weight: bold;}
.el_lv3Font { font-size: 22px; font-weight: bold;}
.el_lv4Font { font-size: 20px; font-weight: bold;}
.el_lv5Font { font-size: 18px; font-weight: bold;}


/* md */
@media not screen and (min-width:960px) {
  .el_lv2Top { font-size: 28px; }
  .el_lv2Heading { font-size: 22px; }

  .el_lv2News { font-size: 24px; }

  .el_lv3Heading { font-size: 20px; }
  .el_lv4Heading, .el_lv4Line{ font-size: 16px; }
  .el_lv5Heading{ font-size: 16px; }

  .el_lv2Font { font-size: 20px;}
  .el_lv3Font { font-size: 18px;}
  .el_lv4Font { font-size: 16px;}

}

/* ====================================================
スクロールを促すデザイン
==================================================== */
.el_toScroll {
  background: rgba(53, 60, 74, 0.4);
  color: #fff;
  position: fixed;
  z-index: 101;
  bottom: 60px;
  right: 40px;
  display: inline-block;
  width: 40px;
  height: 200px;
  opacity: 1;
  transition: 0.2s box-shadow, 0.6s opacity;
  border-radius: 99em;
}

/* md */
@media not screen and (min-width:960px) {
  .el_toScroll {
    display: none;
  }
}

.el_toScroll:hover {
  opacity: 0.8;
}

.el_toScroll.is_hidden {
  opacity: 0;
  pointer-events: none;
}

.el_toScroll .Text {
  display: inline-block;
  line-height: 1;
  font-size: 14px;
  position: relative;
  top: 15px;
  left: 27px;
  transform-origin: left top;
  transform: rotate(90deg);
}

.el_toScroll::before {
  display: block;
  background: #fff;
  content: "";
  width: 1px;
  position: absolute;
  left: 50%;
  bottom: 20px;
  height: 85px;
  animation: SCROLL_before 4s 0s linear infinite normal;
}

@keyframes SCROLL_before {
  0% {
    bottom: 20px;
    height: 85px;
  }
  10% {
    bottom: 20px;
    height: 0px;
  }
  20% {
    bottom: auto;
    top: 95px;
    height: 0px;
  }
  50% {
    top: 95px;
    height: 85px;
  }
}

.el_toScroll::after {
  display: block;
  background: #fff;
  content: "";
  width: 1px;
  position: absolute;
  transform-origin: left bottom;
  transform: rotate(35deg);
  left: 50%;
  bottom: 20px;
  height: 20px;
  animation: SCROLL_after 4s 0s linear infinite normal;
}

@keyframes SCROLL_after {
  10% {
    bottom: 20px;
    height: 20px;
  }
  17% {
    bottom: 0px;
    height: 0px;
  }
  50% {
    bottom: 20px;
    height: 0px;
  }
  60% {
    bottom: 20px;
    height: 20px;
  }
}

/* -----------------------------------------------------------
ボタン
----------------------------------------------------------- */
.el_button, input.el_button{
  padding: 0.7em 2em;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  /* border-radius: 5px; */
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--main_color1);
  border: 1px solid transparent;
  /* box-shadow: 0 0 0 1px rgb(255 255 255 / 30%) inset, 0 0 0.3em rgb(0 0 0 / 30%); */
  text-decoration: none;
  transition: filter .25s;
}

.el_button._paddingL {
  padding: 0.7em 2em;
 }

.el_button._borderR {
 border-radius: 5px;
}
.el_button:not(._rev):hover{
  filter: brightness(85%) contrast(130%);
  } 

.el_button._black {
  background-color: #000;
}
.el_button._black:hover {
  filter: unset;
  color: #000;
  background-color: #fff;
  border: 1px solid currentColor;
}


/*色分け*/
.el_button._rev{
  color: #006b47 ;
  background: #fff;
  border-color: #006b47 ;
}

.el_button._rev:hover{
  /* background-color: var(--main_color1);
  border-color: currentColor;
  color: #fff; */
  filter: brightness(85%) contrast(130%);
} 

.el_button._contact {
  flex-direction: column;
  padding: .7em 1em;
  gap: 5px;
  font-size:16px;
}

.el_button._contact:hover{
  filter: brightness(90%) contrast(120%);
} 

.el_button.__maxCont {
  width: max-content;
  
}

/*ボタン　アイコン*/
.el_button._icon {
  color: #222;
  display: inline-flex;
  align-items: center;
  gap: 10px 16px;
}

.el_button._icon img {
  max-width: 35px;
  height: auto;
  pointer-events: none;
}

.el_button._green {
  background-color: #2db000;
  /* color: #fff; */
}


.el_button._icon:hover{
  filter: brightness(85%) contrast(120%);
} 


/*ボタン　アイコン*/
:is(._next, ._prev).el_button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding-left: 3em;
  padding-right: 3em;
}
:is(._next, ._prev).el_button::after {
  position: absolute;
  right: 15px;
  font-family:"Font Awesome 6 Free";
  font-weight:600;
  display:inline-block;
  margin-left: 1em;
  font-size: .7em;
}

.el_button._next::after {
  content: "\f054";
}
.el_button._prev::after {
  content: "\f053";
}

/*ボタン　アイコン*/
.el_button._pdf{
  display: flex;
  justify-content: center;
  align-items: center;
  /* padding-left: 3em; */
  padding-right: 3em;
}
.el_button._pdf:before{
  font-family:"Font Awesome 6 Free";
  font-weight:600;
  content: "\f1c1";
  display:block;
  margin-right: 1em;
  /* position:absolute; */
  /* top:50%; */
  /* right:1em; */
  /* transform: translateY(-50%); */
}

.el_button._link{
  padding-left: 3em; padding-right: 3em;
}
.el_button._link:after {
  font-family:"Font Awesome 6 Free";
  font-weight:600;
  content: "\f35d";
  display:block;
  
  position:absolute;
  top:50%; 
  right:1em;
  transform: translateY(-50%);
  font-size: 0.7em;
}

/* ====================================================
モジュール
==================================================== */

/* コンテンツエリア */
.bl_cont {
  position: relative;
  padding-top: 30px;
  padding-bottom: 30px;
  margin-right: auto;
  margin-left: auto;
}

@media not screen and (min-width:960px) {
  .bl_cont {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

/* 最後にbl_contが来るときに、padding-bottomを消す */
.bl_cont:last-child {
  padding-bottom: 0;
}

.bl_lv4cont {
  position: relative;
  padding-top: 15px;
  padding-bottom: 15px;
  margin-right: auto;
  margin-left: auto;
}

.el_lv3Heading + .bl_lv4cont {
  padding-top: 0;
}

/* h2+narrow直下の時padding-topをなくす */
h2 + .ly_narrow > .bl_cont:first-child, h2 + .bl_cont {
  padding-top: 0;
}

/* メディア */
.bl_media {
  display: flex;
  align-items: center;
  gap: 30px 6%;
}

.bl_media_imgWrapper {
  flex: 0 1 27.58333%;
}

.bl_media_imgWrapper  img {
  display:block;
  max-width:100%;
  margin-left:auto;
  margin-right:auto; 
}
.bl_media_imgWrapper figcaption {
  padding-top: 10px;
}

.bl_media_body {
  flex: 1;
}

.bl_media_body > *:last-child {
  margin-bottom: 0;
}

.bl_media_ttl {
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: bold;
  margin-top: 0;
}

.bl_media_txt,
.bl_media_txt *:first-child {
  margin-top: 0;
}

/* メディア　逆位置 */
.bl_media.bl_media__rev {
  flex-direction: row-reverse;
}

@media not screen and (min-width:960px) {
  .bl_media,
  .bl_media.bl_media__rev {
    flex-direction: column;
  }
  .bl_media_body {
    width: 100%;
    max-width: 100%;
  }
  
}

/* メディア 画像半分サイズ */
.bl_halfMedia {
  display: flex;
  align-items: center;
  gap: 30px 8%;
}

.bl_halfMedia_imgWrapper {
  flex: 0 1 48.33333%;
}

.bl_halfMedia_imgWrapper figcaption {
  padding-top: 10px;
}

.bl_halfMedia_imgWrapper img {
  display:block;
  max-width:100%;
  margin-left:auto;
  margin-right:auto; 
}

.bl_halfMedia_body {
  flex: 1;
}

.bl_halfMedia_body > *:last-child {
  margin-bottom: 0;
}

.bl_halfMedia_ttl {
  margin-bottom: 10px;
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 0;
}

.bl_halfMedia_txt {
  margin-top: 0;
}

.bl_halfMedia.bl_halfMedia__rev {
  flex-direction: row-reverse;
}


@media not screen and (min-width:960px) {
  .bl_halfMedia,
  .bl_halfMedia.bl_halfMedia__rev {
    flex-direction: column;
  }

  /* figureの縮小 */
  .bl_halfMedia_imgWrapper {
    margin: 0 auto ;
  }

  .bl_halfMedia_body {
    width: 100%;
    max-width: 100%;
  }
}

/* メディア 画像37%サイズ */
.bl_middleMedia {
  display: flex;
  align-items: center;
  gap: 30px 8%;
}

.bl_middleMedia_imgWrapper {
  flex: 0 1 37.33333%;
}

.bl_middleMedia_imgWrapper img {
  display:block;
  max-width:100%;
  margin-left:auto;
  margin-right:auto; 
}

.bl_middleMedia_body {
  flex: 1;
}

.bl_middleMedia_body > *:last-child {
  margin-bottom: 0;
}

.bl_middleMedia_ttl {
  margin-bottom: 10px;
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 0;
}


.bl_middleMedia.bl_middleMedia__rev {
  flex-direction: row-reverse;
}


@media not screen and (min-width:960px) {
  .bl_middleMedia,
  .bl_middleMedia.bl_middleMedia__rev {
    flex-direction: column;
  }
  /* figureの縮小 */
  .bl_middleMedia_imgWrapper {
    margin: 0 auto;
  }
  .bl_middleMedia_body {
    width: 100%;
    max-width: 100%;
  }
}

/* --------------------------------------------
メールフォーム
-----------------------------------------------*/
/*任意と必須アイコン*/
.el_lv4Heading .must,
.mailform .must {
  position: relative;
  float: right;
  border: 1px solid #c00;
  color: #c00;
  background: #fff;
  /* display: inline-block; */
  font-size: 13px;
  font-weight: bold;
  line-height: 1.5em;
  padding: 0 0.3em;
}

.el_lv4Heading .any,
.mailform .any  {
  position: relative;
  float: right;
  border: 1px solid #ccc;
  color: #777;
  background: #fff;
  /* display: inline-block; */
  font-size: 13px;
  font-weight: bold;
  line-height: 1.5em;
  padding: 0 0.3em;
}

.el_lv4Heading .must,
.el_lv4Heading .any {
  top: -2px;
  float: none;
  display: inline-block;
  margin-left: .5em;
}

@media not screen and (min-width:960px) {
  .mailform .must, .mailform .any {
    float: none;
    display: inline-block;
    top: -1px;
    margin-left: .5em;
  }
  .el_lv4Heading .must,
  .el_lv4Heading .any {
    top: -1px;
  }
}

/* --------------------------------------------
card
-----------------------------------------------*/
.bl_boxList {
  display: flex;
  flex-direction: column;
  gap:  30px 4.5%;
}

.bl_boxList_item {
  position: relative;
  display: flex;
  flex-direction: column;
}

@media not screen and (min-width:960px) {
  .bl_boxList ._order1 {
    order: 1;
  }
  
  .bl_boxList ._order0 {
    order: 0;
  }
}

/* センタリング */
.bl_boxList_item img {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width:960px) {
  .bl_boxList {
    flex-direction: row;
  }
  .bl_boxList_item {
    width: calc((100% - 4.5%) / 2 );
  }
  
}

.bl_cardList {
  display: flex;
  flex-direction: column;
  gap:  20px 3%;
  overflow: hidden;
}
.bl_cardList_item {
  position: relative;
}

/* センタリング */
.bl_cardList_item img {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
/* xs */
@media not screen and (min-width:520px) {
  .bl_cardList.xs_cl1{
    display: flex;
    flex-direction: column;
  }
  .bl_cardList.xs_cl1 .bl_cardList_item {
    width: 100%;
  }
}
/* md */
@media screen and (min-width:520px) {
  .bl_cardList.lg_cl3,.bl_cardList.lg_cl4 {
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .bl_cardList.lg_cl3 .bl_cardList_item,
  .bl_cardList.lg_cl4 .bl_cardList_item {
    width: calc((100% - 3%) / 2);
  }
}

 @media not screen and (min-width:960px) {
  .bl_cardList.md_cl1 {
    flex-direction: column;
  }
  .bl_cardList.md_cl1 .bl_cardList_item {
    width: 100%;
  }
  .bl_cardList.md_cl1 .bl_cardList_item:not(first-child) {
    margin-top: 40px;
  }

    /* スマホの時マルチカラム */
  .bl_cardList.md_cl2,.bl_cardList.md_cl3 {
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap:  20px 4%;
  }

  .bl_cardList.md_cl2 .bl_cardList_item {
    width: calc((100% - 4%) / 2);
  }

  .bl_cardList.md_cl3 .bl_cardList_item {
    width: calc((100% - 8%) / 3);
  }
 }
 
/* lg */
@media screen and (min-width:960px) {
  .bl_cardList {
    flex-direction: row;
    /* justify-content: space-between; */
    flex-wrap: wrap;
  }
  
  .bl_cardList_item {
    width: calc((100% - 4%) / 2);
  }


  .bl_cardList.lg_cl3 .bl_cardList_item
  {
    width: calc((100% - 6%) / 3);

  }

  /* PCの時４カラム */
  .bl_cardList.lg_cl4 .bl_cardList_item {
    width: calc((100% - 9%) / 4);
  }


  /* 1枚か複数枚の時で判定が変わるflex */
  .bl_cardList.lg_mulchPic {
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
  }
  .bl_cardList.lg_mulchPic .bl_cardList_item {
    width: auto;
    max-width: 960px;
    max-height: 760px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* カードグリッド */
.bl_cardGrid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px 4%;
}

@media not screen and (min-width:520px) {
  .bl_cardGrid.xs_cl2 {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  } 
}

@media not screen and (min-width:960px) {
  .bl_cardGrid.md_cl2 {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }  
  .bl_cardGrid.md_cl3 {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 3%;
  }  
}
@media screen and (min-width:960px) {    
  .bl_cardGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 4.5%;
  }
  .bl_cardGrid.lg_cl3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 3%;
  }
  .bl_cardGrid.lg_cl4 {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px 3%;
  }
}


/* -----------------------------------------------------------
テーブル（ノーマル）
----------------------------------------------------------- */
table.bl_normalTable {
  padding: 0;
  width: 100%;

}

table.bl_normalTable th {
  border: 1px solid #ccc;
  background: #f2f7ee;
  padding: 0.7em;
  font-weight: bold;
  vertical-align: middle;
}

table.bl_normalTable td {
  border: 1px solid #ccc;
  padding: 0.7em .7em .7em 1.5em;
  vertical-align: middle;
}

/*スマホ*/

@media not screen and (min-width:960px) {
  table.bl_normalTable {
    display: block;
    width: auto;
    margin: 0;
  }
  table.bl_normalTable col {
    display: none;
  }
  table.bl_normalTable tbody {
    display: block;
  }
  table.bl_normalTable tr {
    display: block;
  }
  table.bl_normalTable tr:last-child {}
  table.bl_normalTable th {
    display: block;
    border: none;
    padding: 0.5em 10px;
  }
  table.bl_normalTable td {
    display: block;
    border: none;
    padding: 0.5em 10px 1.5em;
  }
}

table.bl_normalTable.border tr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

table.bl_normalTable.border tr:first-child {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}

table.bl_normalTable.border th {
  border: none;
  background: inherit;
  vertical-align: top;
}

table.bl_normalTable.border td {
  border: none;
  background: inherit;
  vertical-align: top;
}


/*スマホ*/

@media not screen and (min-width:960px) {
  table.bl_normalTable.border {
    margin-bottom: 1em;
  }
  table.bl_normalTable.border tr {
    padding: 0;
    margin-bottom: 0;
  }
  table.bl_normalTable.border th {
    padding: 1em 10px 0.5em;
    border-bottom: none;
  }
  table.bl_normalTable.border td {
    padding: 0 10px 1em;
    border-bottom: none;
  }
}
/* -----------------------------------------------------------
bl_normalTable.hold（変形させない）
----------------------------------------------------------- */
/*スマホ*/
@media not screen and (min-width:960px) {
  .bl_normalTable.hold{display: table; width: 100%; margin:0 0 1em; font-size: 90%;}
  .bl_normalTable.hold col{display: table-column;}
  .bl_normalTable.hold tbody{display:table-row-group;}
  .bl_normalTable.hold tr{display:table-row; margin-bottom:0;}
  .bl_normalTable.hold th{display:table-cell; border:1px solid #bbb; padding:0.7em;}
  .bl_normalTable.hold td{display:table-cell; border:1px solid #ccc; padding:0.7em;}
}

/* --------------------------------------------
リスト点あり
-----------------------------------------------*/
.bl_discList {
  padding: 0 0 0 1em;
}

.bl_discList > li {
  list-style: disc;
  line-height: 1.6;
  margin: 1em 0;
}

.bl_discList._sMargin > li {
  margin: 0 0 .4em;
}

.bl_discList._inside {
  padding-left: 2em;
  /* list-style: disc inside; */
}

.bl_discList > li {
  list-style: disc;
  line-height: 1.6;
  margin: 1em 0;
}

.bl_discList:is(._try, ._icon, ._circle, ._check) {
  padding: 0;
}

.bl_discList:is(._try, ._icon, ._circle, ._check) > li {
  list-style: none;
  display: flex;
}

.bl_discList:is(._try, ._circle, ._check) > li {
  align-items: flex-start;
}

.bl_discList:is(._try,  ._circle, ._check) > li::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  position: relative;
  top: .1em;
  font-size: .8em;
  margin-right: 1em;
  padding-left: .3em;
}

.bl_discList._try > li::before {
  content: "\f0da";
}

.bl_discList._check > li::before {
  content: "\f058";
  top: 0;
  margin-right: .7em;
  font-size: 1em;
  font-weight: 400;
}

.bl_discList._circle.__dl {
  font-size: 18px;
}

.bl_discList._circle.__dl > li {
  margin-bottom: 1.4em;
}

.bl_discList._circle ._txt {
  margin-top: .3em;
  font-size: 16px;
}

.bl_discList._circle > li::before {
  content: "\f192";
  color: #796baf;
}

@media not screen and (min-width:960px) {
  .bl_discList._circle.__dl {
    font-size: 16px;
  }
}

.bl_discList._icon > li > a {
  display: flex;
  gap: 15px;
  align-items: baseline;
  text-decoration: none;
}

.bl_discList._icon > li > a span {
  text-decoration: underline;
}
.bl_discList._icon > li > a:hover span {
  text-decoration: none;
}


.bl_discList._icon a::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  position: relative;
  content: '\f0da';
  padding-left: .5rem;
  width: 1em;
  font-size: 1.4em;
  color: #222;
}

.bl_discList._icon a[href$=".pdf"]::before {
  content: '\f1c1';
  color: #c80a0a;
  padding-left: .5rem;
}

.bl_discList._icon a[href$=".xls"]::before,
.bl_discList._icon a[href$=".xlss"]::before {
  color: #217346;
  content: '\f1c3';
  padding-left: .5rem;
}


/* --------------------------------------------
ラベルリスト
-----------------------------------------------*/

.bl_labelList {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.bl_labelList > li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  padding: 0.2em 0.5em;
  background-color: var(--sub_color);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
}

/* --------------------------------------------
順序ありリスト
-----------------------------------------------*/
.bl_orderList {
  counter-reset: bl_orderList;
}

.bl_orderList > *:last-child {
  margin-bottom: 0;
}

.bl_orderList > li {
  position: relative;
  padding-left: 1.4em;
  margin-bottom: 10px;
}

.bl_orderList > li::before {
  content: counter(bl_orderList) '. ';
  position: absolute;
  top: 0;
  left: 0;
  color: #000;
  /* font-weight: bold; */
  counter-increment: bl_orderList;
}

.bl_orderList._bold > li::before {
  font-weight: bold;
}

/* --------------------------------------------
ぱんくずリスト
-----------------------------------------------*/
.ly_breadCrumb {
  max-width: 1230px;
  padding-right: 15px;
  padding-left: 15px;
  margin: 1.5em auto .5em;
}

.ly_breadCrumb._bottom {
  margin: 1.5em auto;
}

.bl_breadCrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.bl_breadCrumb a {
  text-decoration: none;
  color: inherit;
  transition: color .1s;
}

.bl_breadCrumb a:hover {
  color: var(--main_color1);
}

.bl_breadCrumb > li {
  font-size: 14px;
  font-weight: normal;
  color: #000;
  margin-right: .7em;
}
/* .bl_breadCrumb li .home::before {
  content: '\f015';
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 4px;
} */

.bl_breadCrumb > li:not(:last-child)::after {
  content: '\f105';
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  margin-left: 0.7em;
  font-size: .8em;
}

/* md */
@media not screen and (min-width:960px) {
  .ly_breadCrumb > li {
    margin-top: 1em;
  }
    .bl_breadCrumb {
    overflow-x: scroll;
    /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
    -ms-overflow-style: none;
    /*Firefoxへの対応*/
    scrollbar-width: none;
  }
  .bl_breadCrumb::-webkit-scrollbar {
    display: none;
  }
}

/* ====================================================
ヘルパーグループ
==================================================== */

/* clearfix */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 

/* -----------------------------------------------------------
子要素の輪郭を丸くする
----------------------------------------------------------- */
.hp_borderR5 > * { border-radius: 5px !important;}
.hp_borderR10 > * { border-radius: 10px !important;}
.hp_borderR15 > * { border-radius: 15px !important;}
.hp_borderR20 > * { border-radius: 20px !important;}
.hp_borderR25 > * { border-radius: 25px !important;}
.hp_borderR30 > * { border-radius: 30px !important;}
.hp_borderR35 > * { border-radius: 35px !important;}
.hp_borderR40 > * { border-radius: 40px !important;}
.hp_borderR45 > * { border-radius: 45px !important;}

/* -----------------------------------------------------------
子要素の画像の角を丸くする
----------------------------------------------------------- */
.hp_img_borderR5 img { border-radius: 5px !important;}
.hp_img_borderR10 img { border-radius: 10px !important;}
.hp_img_borderR15 img { border-radius: 15px !important;}
.hp_img_borderR20 img { border-radius: 20px !important;}
.hp_img_borderR25 img { border-radius: 25px !important;}
.hp_img_borderR30 img { border-radius: 30px !important;}
.hp_img_borderR35 img { border-radius: 35px !important;}
.hp_img_borderR40 img { border-radius: 40px !important;}
.hp_img_borderR45 img { border-radius: 45px !important;}


/* ====================================================
ボックスモデル
==================================================== */

.hp_centering {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 100% !important;
}

@media not screen and (min-width:960px) {
  .md_centering {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
  }
}
/* -----------------------------------------------------------
PC調整
----------------------------------------------------------- */
.img_center{ display:block; margin-left:auto; margin-right:auto;  max-width:100%;}

@media screen and (min-width:960px) {
  .lg_hidden{ display:none !important;}
  .center_left{ text-align:center;}
  .left_center{ text-align:left;}
  .right_center{ text-align:right;}
  .right_left{ text-align:right;}
}
/* -----------------------------------------------------------
スマホ調整
----------------------------------------------------------- */
@media not screen and (min-width:960px) {
.md_hidden{ display:none !important;}
.center_left{ text-align:left;}
.left_center{ text-align:center;}
.right_center{ text-align:center;}
.right_left{ text-align:left;}
}

@media screen and (min-width:520px) {
  .center_xs_left {
    text-align: center;
  }
  .xs_only {
    display: none;
  }
}


@media not screen and (min-width:520px) {
  .center_xs_left {
    text-align: left;
  }
  .xs_hidden {
    display: none !important;
  }
  .xs_only {
    display: block;
  }
}

@media not screen and (min-width:960px) {
  .md_blockType{ display: block; }
}

@media not screen and (min-width:960px) {
  .md_flexType{ display: flex !important;}
}


/* --------------------------------------------
padding
-----------------------------------------------*/

.pd0 {padding: 0px;}
.pd5 {padding: 5px;}
.pd10 {padding: 10px;}
.pd15 {padding: 15px;}
.pd20 {padding: 20px;}
.pd30 {padding: 30px;}
.pd40 {padding: 40px;}
.pd50 {padding: 50px;}
.pd60 {padding: 60px;}

.ptb0 {padding-top: 0; padding-bottom: 0;}
.ptb5 {padding-top: 5px; padding-bottom: 5px;}
.ptb10 {padding-top: 10px; padding-bottom: 10px;}
.ptb15 {padding-top: 15px; padding-bottom: 15px;}
.ptb20 {padding-top: 20px; padding-bottom: 20px;}
.ptb30 {padding-top: 30px; padding-bottom: 30px;}
.ptb_30 {padding-top: -30px; padding-bottom: -30px;}
.ptb40 {padding-top: 40px; padding-bottom: 40px;}
.ptb50 {padding-top: 50px; padding-bottom: 50px;}
.ptb60 {padding-top: 60px; padding-bottom: 60px;}

.ptb0_5em {padding-top: 0.5em;padding-bottom: 0.5em;}
.ptb1em {padding-top: 1em;padding-bottom: 1em;}

.pt0 {padding-top: 0;}
.pt10 {padding-top: 5px;}
.pt10 {padding-top: 10px;}
.pt15 {padding-top: 15px;}
.pt20 {padding-top: 20px;}
.pt30 {padding-top: 30px;}
.pt_30 {padding-top: -30px;}
.pt40 {padding-top: 40px;}
.pt50 {padding-top: 50px;}
.pt60 {padding-top: 60px;}
.pt70 {padding-top: 70px;}
.pt80 {padding-top: 80px;}
.pt90 {padding-top: 90px;}

.pb0 {padding-bottom: 0;}
.pb10 {padding-bottom: 5px;}
.pb10 {padding-bottom: 10px;}
.pb15 {padding-bottom: 15px;}
.pb20 {padding-bottom: 20px;}
.pb30 {padding-bottom: 30px;}
.pb_30 {padding-bottom: -30px;}
.pb40 {padding-bottom: 40px;}
.pb50 {padding-bottom: 50px;}
.pb60 {padding-bottom: 60px;}
.pb70 {padding-bottom: 70px;}
.pb80 {padding-bottom: 80px;}
.pb90 {padding-bottom: 90px;}

/* padding right left */

.pdrl0_5em {padding-right: 0.5em;  padding-left: 0.5em; }
.pdrl1em {padding-right: 1em;  padding-left: 1em; }

.pdrl5 {padding-right: 5px;  padding-left: 5px; }
.pdrl10 {padding-right: 10px;  padding-left: 10px; }
.pdrl15 {padding-right: 15px;  padding-left: 15px; }
.pdrl20 {padding-right: 20px;  padding-left: 20px; }
.pdrl25 {padding-right: 25px;  padding-left: 25px; }
.pdrl30 {padding-right: 30px;  padding-left: 30px; }
.pdrl35 {padding-right: 35px;  padding-left: 35px; }
.pdrl40 {padding-right: 40px;  padding-left: 40px; }
.pdrl45 {padding-right: 45px;  padding-left: 45px; }


/* --------------------------------------------
margin
-----------------------------------------------*/
.mg5 {margin: 5px;}
.mg10 {margin: 10px;}
.mg15 {margin: 15px;}
.mg20 {margin: 20px;}
.mg30 {margin: 30px;}
.mg40 {margin: 40px;}
.mg50 {margin: 50px;}
.mg60 {margin: 60px;}

.mtb0 {margin-top: 0px; margin-bottom: 0px;}
.mtb5 {margin-top: 5px; margin-bottom: 5px;}
.mtb10 {margin-top: 10px; margin-bottom: 10px;}
.mtb20 {margin-top: 20px; margin-bottom: 20px;}
.mtb30 {margin-top: 30px; margin-bottom: 30px;}
.mtb_30 {  margin-top: -30px; margin-bottom: -30px;}
.mtb40 {  margin-top: 40px; margin-bottom: 40px;}
.mtb50 {  margin-top: 50px; margin-bottom: 50px;}
.mtb60 {  margin-top: 60px; margin-bottom: 60px;}

.mtb16 {margin-top: 16px;margin-bottom: 16px;}
.mtb1em {margin-top: 1em;margin-bottom: 1em;}

.mt0 {margin-top: 0px;}
.mt5 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt15 {margin-top: 15px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt40 {  margin-top: 40px;}
.mt50 {  margin-top: 50px;}
.mt60 {  margin-top: 60px;}
.mt70 {  margin-top: 70px;}
.mt80 {  margin-top: 80px;}
.mt90 {  margin-top: 90px;}
.mt1em { margin-top: 1em;}
.mt0_5em { margin-top: 0.5em; }


.mb0 {margin-bottom: 0px;}
.mb5 {margin-bottom: 5px;}
.mb10 {margin-bottom: 10px;}
.mb20 {margin-bottom: 20px;}
.mb30 {margin-bottom: 30px;}
.mb40 {  margin-bottom: 40px;}
.mb50 {  margin-bottom: 50px;}
.mb60 {  margin-bottom: 60px;}
.mb70 {  margin-bottom: 70px;}
.mb80 {  margin-bottom: 80px;}
.mb90 {  margin-bottom: 90px;}

/* margin right left */
.mr0_5em {margin-right: 0.5em;}
.ml0_5em {margin-left: 0.5em;}
.mr1em {margin-right: 1em;}
.ml1em {margin-left: 1em;}
.mlr {margin: 0 1em;}

.ch_mAuto > * { margin-right: auto;margin-left: auto; }
.mAuto {margin-right: auto;margin-left: auto;}

.spacel { margin-left: 1em;}
.spacer {margin-right: 1em;}

@media not screen and (min-width:960px) {
  .spacel { margin-left: 0;}
  .spacer {margin-right: 0;}
}

.mrl0_5em {margin-right: 0.5em;  margin-left: 0.5em; }
.mrl1em {margin-right: 1em;  margin-left: 1em; }

.mrl5 {margin-right: 5px;  margin-left: 5px; }
.mrl10 {margin-right: 10px;  margin-left: 10px; }
.mrl15 {margin-right: 15px;  margin-left: 15px; }
.mrl20 {margin-right: 20px;  margin-left: 20px; }
.mrl25 {margin-right: 25px;  margin-left: 25px; }
.mrl30 {margin-right: 30px;  margin-left: 30px; }
.mrl35 {margin-right: 35px;  margin-left: 35px; }
.mrl40 {margin-right: 40px;  margin-left: 40px; }
.mrl45 {margin-right: 45px;  margin-left: 45px; }


/* ====================================================
ヘルパー padding margin top bottom
==================================================== */

/* padding */
.hp_pd0 {padding: 0 !important;}
.hp_pd5 {padding: 5px !important;}
.hp_pd10 {padding: 10px !important;}
.hp_pd15 {padding: 15px !important;}
.hp_pd20 {padding: 20px !important;}
.hp_pd30 {padding: 30px !important;}
.hp_pd40 {padding: 40px !important;}
.hp_pd50 {padding: 50px !important;}
.hp_pd60 {padding: 60px !important;}

.hp_ptb0 {padding-top: 0 !important; padding-bottom: 0 !important;}
.hp_ptb5 {padding-top: 5px !important; padding-bottom: 5px !important;}
.hp_ptb10 {padding-top: 10px !important; padding-bottom: 10px !important;}
.hp_ptb15 {padding-top: 15px !important; padding-bottom: 15px !important;}
.hp_ptb20 {padding-top: 20px !important; padding-bottom: 20px !important;}
.hp_ptb25 {padding-top: 25px !important; padding-bottom: 25px !important;}
.hp_ptb30 {padding-top: 30px !important; padding-bottom: 30px !important;}
.hp_ptb_30 {padding-top: -30px !important; padding-bottom: -30px !important;}
.hp_ptb40 {padding-top: 40px !important; padding-bottom: 40px !important;}
.hp_ptb50 {padding-top: 50px !important; padding-bottom: 50px !important;}
.hp_ptb60 {padding-top: 60px !important; padding-bottom: 60px !important;}

.hp_ptb0_5em {padding-top: 0.5em !important;padding-bottom: 0.5em !important;}
.hp_ptb1em {padding-top: 1em !important;padding-bottom: 1em !important;}

.hp_pt0 {padding-top: 0 !important;}
.hp_pt5 {padding-top: 5px !important;}
.hp_pt10 {padding-top: 10px !important;}
.hp_pt20 {padding-top: 20px !important;}
.hp_pt30 {padding-top: 30px !important;}
.hp_pt_30 {  padding-top: -30px !important;}
.hp_pt40 {  padding-top: 40px !important;}
.hp_pt50 {  padding-top: 50px !important;}
.hp_pt60 {  padding-top: 60px !important;}
.hp_pt70 {  padding-top: 70px !important;}
.hp_pt80 {  padding-top: 80px !important;}
.hp_pt90 {  padding-top: 90px !important;}

.hp_pb0 {padding-bottom: 0 !important;}
.hp_pb5 {padding-bottom: 5px !important;}
.hp_pb10 {padding-bottom: 10px !important;}
.hp_pb20 {padding-bottom: 20px !important;}
.hp_pb30 {padding-bottom: 30px !important;}
.hp_pb_30 {  padding-bottom: -30px !important;}
.hp_pb40 {  padding-bottom: 40px !important;}
.hp_pb50 {  padding-bottom: 50px !important;}
.hp_pb60 {  padding-bottom: 60px !important;}
.hp_pb70 {  padding-bottom: 70px !important;}
.hp_pb80 {  padding-bottom: 80px !important;}
.hp_pb90 {  padding-bottom: 90px !important;}

/* padding right left */
.hp_pdrl15 {padding-right: 15px !important;  padding-left: 15px !important; }


.hp_pl0 { padding-left: 0 !important; }
.hp_pr0 { padding-right: 0 !important; }

/* margin */
.hp_mg5 {margin: 5px !important;}
.hp_mg10 {margin: 10px !important;}
.hp_mg15 {margin: 15px !important;}
.hp_mg20 {margin: 20px !important;}
.hp_mg30 {margin: 30px !important;}
.hp_mg40 {margin: 40px !important;}
.hp_mg50 {margin: 50px !important;}
.hp_mg60 {margin: 60px !important;}

.hp_mtb0 {margin-top: 0px !important; margin-bottom: 0px !important;}
.hp_mtb10 {margin-top: 10px !important; margin-bottom: 10px !important;}
.hp_mtb15 {margin-top: 15px !important; margin-bottom: 15px !important;}
.hp_mtb20 {margin-top: 20px !important; margin-bottom: 20px !important;}
.hp_mtb30 {margin-top: 30px !important; margin-bottom: 30px !important;}
.hp_mtb_30 {  margin-top: -30px !important; margin-bottom: -30px !important;}
.hp_mtb40 {  margin-top: 40px !important; margin-bottom: 40px !important;}
.hp_mtb50 {  margin-top: 50px !important; margin-bottom: 50px !important;}
.hp_mtb60 {  margin-top: 60px !important; margin-bottom: 60px !important;}

.hp_mtb16 {margin-top: 16px !important;margin-bottom: 16px !important;}
.hp_mtb1em {margin-top: 1em !important;margin-bottom: 1em !important;}

.hp_mt0 {margin-top: 0px !important;}
.hp_mt5 {margin-top: 5px !important;}
.hp_mt10 {margin-top: 10px !important;}
.hp_mt15 {margin-top: 15px !important;}
.hp_mt20 {margin-top: 20px !important;}
.hp_mt30 {margin-top: 30px !important;}
.hp_mt_30 {  margin-top: -30px !important;}
.hp_mt40 {  margin-top: 40px !important;}
.hp_mt50 {  margin-top: 50px !important;}
.hp_mt60 {  margin-top: 60px !important;}
.hp_mt70 {  margin-top: 70px !important;}
.hp_mt80 {  margin-top: 80px !important;}
.hp_mt90 {  margin-top: 90px !important;}

.hp_mb0 {margin-bottom: 0px !important;}
.hp_mb5 {margin-bottom: 5px !important;}
.hp_mb10 {margin-bottom: 10px !important;}
.hp_mb15 {margin-bottom: 15px !important;}
.hp_mb20 {margin-bottom: 20px !important;}
.hp_mb30 {margin-bottom: 30px !important;}
.hp_mb_30 {  margin-bottom: -30px !important;}
.hp_mb40 {  margin-bottom: 40px !important;}
.hp_mb50 {  margin-bottom: 50px !important;}
.hp_mb60 {  margin-bottom: 60px !important;}
.hp_mb70 {  margin-bottom: 70px !important;}
.hp_mb80 {  margin-bottom: 80px !important;}
.hp_mb90 {  margin-bottom: 90px !important;}

/* margin right left */
.hp_mr0_5em {margin-right: 0.5em !important;}
.hp_ml0_5em {margin-left: 0.5em !important;}
.hp_mr1em {margin-right: 1em !important;}
.hp_ml1em {margin-left: 1em !important;}
.hp_mlr {margin: 0 1em !important;}

.hp_mrl0_5em {margin-right: 0.5em !important; margin-left: 0.5em !important;}

.hp_mA {margin-right: auto !important;margin-left: auto !important;}


/* ====================================================
lg padding margin top bottom
==================================================== */

@media screen and (min-width:960px) {
  /* padding */
.lg_pd0 {padding: 0 !important;}
.lg_pd5 {padding: 5px !important;}
.lg_pd10 {padding: 10px !important;}
.lg_pd15 {padding: 15px !important;}
.lg_pd20 {padding: 20px !important;}
.lg_pd30 {padding: 30px !important;}
.lg_pd40 {padding: 40px !important;}
.lg_pd50 {padding: 50px !important;}
.lg_pd60 {padding: 60px !important;}

.lg_ptb0 {padding-top: 0 !important; padding-bottom: 0 !important;}
.lg_ptb5 {padding-top: 5px !important; padding-bottom: 5px !important;}
.lg_ptb10 {padding-top: 10px !important; padding-bottom: 10px !important;}
.lg_ptb15 {padding-top: 15px !important; padding-bottom: 15px !important;}
.lg_ptb20 {padding-top: 20px !important; padding-bottom: 20px !important;}
.lg_ptb30 {padding-top: 30px !important; padding-bottom: 30px !important;}
.lg_ptb_30 {padding-top: -30px !important; padding-bottom: -30px !important;}
.lg_ptb40 {padding-top: 40px !important; padding-bottom: 40px !important;}
.lg_ptb50 {padding-top: 50px !important; padding-bottom: 50px !important;}
.lg_ptb60 {padding-top: 60px !important; padding-bottom: 60px !important;}
.lg_ptb70 {padding-top: 70px !important; padding-bottom: 70px !important;}
.lg_ptb80 {padding-top: 80px !important; padding-bottom: 80px !important;}
.lg_ptb90 {padding-top: 90px !important; padding-bottom: 90px !important;}
.lg_ptb100 {padding-top: 100px !important; padding-bottom: 100px !important;}

.lg_ptb0_5em {padding-top: 0.5em !important;padding-bottom: 0.5em !important;}
.lg_ptb1em {padding-top: 1em !important;padding-bottom: 1em !important;}

.lg_pt0 {padding-top: 0 !important;}
.lg_pt5 {padding-top: 5px !important;}
.lg_pt10 {padding-top: 10px !important;}
.lg_pt15 {padding-top: 15px !important;}
.lg_pt20 {padding-top: 20px !important;}
.lg_pt30 {padding-top: 30px !important;}
.lg_pt_30 {  padding-top: -30px !important;}
.lg_pt40 {  padding-top: 40px !important;}
.lg_pt50 {  padding-top: 50px !important;}
.lg_pt60 {  padding-top: 60px !important;}
.lg_pt70 {  padding-top: 70px !important;}
.lg_pt80 {  padding-top: 80px !important;}
.lg_pt90 {  padding-top: 90px !important;}

.lg_pb0 {padding-bottom: 0 !important;}
.lg_pb5 {padding-bottom: 5px !important;}
.lg_pb10 {padding-bottom: 10px !important;}
.lg_pb15 {padding-bottom: 15px !important;}
.lg_pb20 {padding-bottom: 20px !important;}
.lg_pb30 {padding-bottom: 30px !important;}
.lg_pb_30 {  padding-bottom: -30px !important;}
.lg_pb40 {  padding-bottom: 40px !important;}
.lg_pb50 {  padding-bottom: 50px !important;}
.lg_pb60 {  padding-bottom: 60px !important;}
.lg_pb70 {  padding-bottom: 70px !important;}
.lg_pb80 {  padding-bottom: 80px !important;}
.lg_pb90 {  padding-bottom: 90px !important;}

/* padding right left */
.lg_pdrl15 {padding-right: 15px !important;  padding-left: 15px !important; }

.lg_pr0 {padding-right: 0 !important;}
.lg_pr5 {padding-right: 5px !important;}
.lg_pr10 {padding-right: 10px !important;}
.lg_pr20 {padding-right: 20px !important;}
.lg_pr30 {padding-right: 30px !important;}
.lg_pr_30 {  padding-right: -30px !important;}
.lg_pr40 {  padding-right: 40px !important;}
.lg_pr50 {  padding-right: 50px !important;}
.lg_pr60 {  padding-right: 60px !important;}
.lg_pr70 {  padding-right: 70px !important;}
.lg_pr80 {  padding-right: 80px !important;}
.lg_pr90 {  padding-right: 90px !important;}

.lg_pl0 {padding-left: 0 !important;}
.lg_pl5 {padding-left: 5px !important;}
.lg_pl10 {padding-left: 10px !important;}
.lg_pl20 {padding-left: 20px !important;}
.lg_pl30 {padding-left: 30px !important;}
.lg_pl_30 {  padding-left: -30px !important;}
.lg_pl40 {  padding-left: 40px !important;}
.lg_pl50 {  padding-left: 50px !important;}
.lg_pl60 {  padding-left: 60px !important;}
.lg_pl70 {  padding-left: 70px !important;}
.lg_pl80 {  padding-left: 80px !important;}
.lg_pl90 {  padding-left: 90px !important;}

/* margin */
.lg_mg0 {margin: 0 !important;}
.lg_mg5 {margin: 5px !important;}
.lg_mg10 {margin: 10px !important;}
.lg_mg15 {margin: 15px !important;}
.lg_mg20 {margin: 20px !important;}
.lg_mg30 {margin: 30px !important;}
.lg_mg40 {margin: 40px !important;}
.lg_mg50 {margin: 50px !important;}
.lg_mg60 {margin: 60px !important;}

.lg_mtb0 {margin-top: 0px !important; margin-bottom: 0px !important;}
.lg_mtb10 {margin-top: 10px !important; margin-bottom: 10px !important;}
.lg_mtb20 {margin-top: 20px !important; margin-bottom: 20px !important;}
.lg_mtb30 {margin-top: 30px !important; margin-bottom: 30px !important;}
.lg_mtb_30 {  margin-top: -30px !important; margin-bottom: -30px !important;}
.lg_mtb40 {  margin-top: 40px !important; margin-bottom: 40px !important;}
.lg_mtb50 {  margin-top: 50px !important; margin-bottom: 50px !important;}
.lg_mtb60 {  margin-top: 60px !important; margin-bottom: 60px !important;}

.lg_mtb16 {margin-top: 16px !important;margin-bottom: 16px !important;}
.lg_mtb1em {margin-top: 1em !important;margin-bottom: 1em !important;}

.lg_mt0 {margin-top: 0px !important;}
.lg_mt10 {margin-top: 10px !important;}
.lg_mt20 {margin-top: 20px !important;}
.lg_mt30 {margin-top: 30px !important;}
.lg_mt_30 {  margin-top: -30px !important;}
.lg_mt40 {  margin-top: 40px !important;}
.lg_mt50 {  margin-top: 50px !important;}
.lg_mt60 {  margin-top: 60px !important;}
.lg_mt70 {  margin-top: 70px !important;}
.lg_mt80 {  margin-top: 80px !important;}
.lg_mt90 {  margin-top: 90px !important;}

.lg_mb0 {margin-bottom: 0px !important;}
.lg_mb10 {margin-bottom: 10px !important;}
.lg_mb20 {margin-bottom: 20px !important;}
.lg_mb30 {margin-bottom: 30px !important;}
.lg_mb_30 {  margin-bottom: -30px !important;}
.lg_mb40 {  margin-bottom: 40px !important;}
.lg_mb50 {  margin-bottom: 50px !important;}
.lg_mb60 {  margin-bottom: 60px !important;}
.lg_mb70 {  margin-bottom: 70px !important;}
.lg_mb80 {  margin-bottom: 80px !important;}
.lg_mb90 {  margin-bottom: 90px !important;}

/* margin right left */
.lg_mr0_5em {margin-right: 0.5em !important;}
.lg_ml0_5em {margin-left: 0.5em !important;}
.lg_mr1em {margin-right: 1em !important;}
.lg_ml1em {margin-left: 1em !important;}
.lg_mlr {margin: 0 1em !important;}

.lg_mr0 {margin-right: 0px !important;}
.lg_mr10 {margin-right: 10px !important;}
.lg_mr20 {margin-right: 20px !important;}
.lg_mr30 {margin-right: 30px !important;}
.lg_mr40 {  margin-right: 40px !important;}
.lg_mr50 {  margin-right: 50px !important;}
.lg_mr60 {  margin-right: 60px !important;}
.lg_mr70 {  margin-right: 70px !important;}
.lg_mr80 {  margin-right: 80px !important;}
.lg_mr90 {  margin-right: 90px !important;}

.lg_mr40 {margin-right: 40px !important;}

.lg_mAuto,.lg_mA {margin-right: auto !important;margin-left: auto !important;}

.lg_spacel { margin-left: 0.5em !important;}
.lg_spacer {margin-right: 0.5em !important;}
}

/* ====================================================
md padding margin top bottom
==================================================== */

@media not screen and (min-width:960px) {
  /* padding */
.md_pd0 {padding: 0 !important;}
.md_pd5 {padding: 5px !important;}
.md_pd10 {padding: 10px !important;}
.md_pd15 {padding: 15px !important;}
.md_pd20 {padding: 20px !important;}
.md_pd30 {padding: 30px !important;}
.md_pd40 {padding: 40px !important;}
.md_pd50 {padding: 50px !important;}
.md_pd60 {padding: 60px !important;}

.md_ptb0 {padding-top: 0 !important; padding-bottom: 0 !important;}
.md_ptb10 {padding-top: 10px !important; padding-bottom: 10px !important;}
.md_ptb20 {padding-top: 20px !important; padding-bottom: 20px !important;}
.md_ptb30 {padding-top: 30px !important; padding-bottom: 30px !important;}
.md_ptb_30 {padding-top: -30px !important; padding-bottom: -30px !important;}
.md_ptb40 {padding-top: 40px !important; padding-bottom: 40px !important;}
.md_ptb50 {padding-top: 50px !important; padding-bottom: 50px !important;}
.md_ptb60 {padding-top: 60px !important; padding-bottom: 60px !important;}

.md_ptb0_5em {padding-top: 0.5em !important;padding-bottom: 0.5em !important;}
.md_ptb1em {padding-top: 1em !important;padding-bottom: 1em !important;}

.md_pt0 {padding-top: 0 !important;}
.md_pt10 {padding-top: 10px !important;}
.md_pt20 {padding-top: 20px !important;}
.md_pt30 {padding-top: 30px !important;}
.md_pt_30 {  padding-top: -30px !important;}
.md_pt40 {  padding-top: 40px !important;}
.md_pt50 {  padding-top: 50px !important;}
.md_pt60 {  padding-top: 60px !important;}
.md_pt70 {  padding-top: 70px !important;}
.md_pt80 {  padding-top: 80px !important;}
.md_pt90 {  padding-top: 90px !important;}

.md_pb0 {padding-bottom: 0 !important;}
.md_pb10 {padding-bottom: 10px !important;}
.md_pb20 {padding-bottom: 20px !important;}
.md_pb30 {padding-bottom: 30px !important;}
.md_pb_30 {  padding-bottom: -30px !important;}
.md_pb40 {  padding-bottom: 40px !important;}
.md_pb50 {  padding-bottom: 50px !important;}
.md_pb60 {  padding-bottom: 60px !important;}
.md_pb70 {  padding-bottom: 70px !important;}
.md_pb80 {  padding-bottom: 80px !important;}
.md_pb90 {  padding-bottom: 90px !important;}

/* padding right left */
.md_pdrl15 {padding-right: 15px !important;  padding-left: 15px !important; }

/* margin */
.md_mg5 {margin: 5px !important;}
.md_mg10 {margin: 10px !important;}
.md_mg15 {margin: 15px !important;}
.md_mg20 {margin: 20px !important;}
.md_mg30 {margin: 30px !important;}
.md_mg40 {margin: 40px !important;}
.md_mg50 {margin: 50px !important;}
.md_mg60 {margin: 60px !important;}

.md_mtb0 {margin-top: 0px !important; margin-bottom: 0px !important;}
.md_mtb10 {margin-top: 10px !important; margin-bottom: 10px !important;}
.md_mtb20 {margin-top: 20px !important; margin-bottom: 20px !important;}
.md_mtb30 {margin-top: 30px !important; margin-bottom: 30px !important;}
.md_mtb_30 {  margin-top: -30px !important; margin-bottom: -30px !important;}
.md_mtb40 {  margin-top: 40px !important; margin-bottom: 40px !important;}
.md_mtb50 {  margin-top: 50px !important; margin-bottom: 50px !important;}
.md_mtb60 {  margin-top: 60px !important; margin-bottom: 60px !important;}

.md_mtb16 {margin-top: 16px !important;margin-bottom: 16px !important;}
.md_mtb1em {margin-top: 1em !important;margin-bottom: 1em !important;}

.md_mt0 {margin-top: 0px !important;}
.md_mt5 {margin-top: 5px !important;}
.md_mt10 {margin-top: 10px !important;}
.md_mt20 {margin-top: 20px !important;}
.md_mt30 {margin-top: 30px !important;}
.md_mt_30 {  margin-top: -30px !important;}
.md_mt40 {  margin-top: 40px !important;}
.md_mt50 {  margin-top: 50px !important;}
.md_mt60 {  margin-top: 60px !important;}
.md_mt70 {  margin-top: 70px !important;}
.md_mt80 {  margin-top: 80px !important;}
.md_mt90 {  margin-top: 90px !important;}

.md_mb0 {margin-bottom: 0px !important;}
.md_mb5 {margin-bottom: 5px !important;}
.md_mb10 {margin-bottom: 10px !important;}
.md_mb20 {margin-bottom: 20px !important;}
.md_mb30 {margin-bottom: 30px !important;}
.md_mb_30 {  margin-bottom: -30px !important;}
.md_mb40 {  margin-bottom: 40px !important;}
.md_mb50 {  margin-bottom: 50px !important;}
.md_mb60 {  margin-bottom: 60px !important;}
.md_mb70 {  margin-bottom: 70px !important;}
.md_mb80 {  margin-bottom: 80px !important;}
.md_mb90 {  margin-bottom: 90px !important;}

/* margin right left */
.md_mr0_5em {margin-right: 0.5em !important;}
.md_ml0_5em {margin-left: 0.5em !important;}
.md_mr1em {margin-right: 1em !important;}
.md_ml1em {margin-left: 1em !important;}
.md_mlr {margin: 0 1em !important;}

.md_mA {margin-right: auto !important;margin-left: auto !important;}

.md_spacel { margin-left: 0.5em !important;}
.md_spacer {margin-right: 0.5em !important;}
}

/* ====================================================
色・フォント・テキスト
==================================================== */

/* site color */
.hp_color1 {
  color: var(--main_color1) !important;
}


.hp_color2 {
  color: var(--main_color2) !important;
}

.hp_subColor1 {
  color: var(--sub_color) !important;
}

/* lg */
@media screen and (min-width:960px) {
  .lg_color1 {
    color: var(--main_color1) !important;
  }
  .lg_color2 {
    color: var(--main_color2) !important;
  }
  
  .lg_subColor1 {
    color: var(--sub_color) !important;
  }
}

/* CUD */
.hp_colorLightgray {
  color: #C8C8CB !important;
}
.hp_colorGray {
  color: #84919E !important;
}

/* accent */
.hp_colorRed {
  color: #c00 !important;
}

.hp_colorYellow {
  color: #FFF100 !important;
}

.hp_colorGreen {
  color: #03AF7A !important;
}
.hp_colorBlue {
  color: #005AFF !important;
}
.hp_colorSky {
  color: #4DC4FF !important;
}
.hp_colorPink {
  color: #FF8080 !important;
}
.hp_colorOrange {
  color: #F6AA00 !important;
}
.hp_colorPurple {
  color: #990099 !important;
}
.hp_colorBrown {
  color: #804000 !important;
}

/* 通常 */
.hp_cWhite {
  color: #fff !important;
}

.hp_cRed {
  color: #e25c00!important;
}
.hp_cGreen {
  color: #019700 !important;
}

/* ====================================================
ヘルパーグループ
==================================================== */
/* フォント関係 */

.hp_mincho {
  font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}

.hp_default {
  color: var(--root_color);
  font-size: 1.6rem;
  font-weight: var(--font-weight);
}

.hp_fontSize__s { font-size: 80%;}
.hp_fontSize__ml { font-size: 110%;}
.hp_fontSize__l { font-size: 120%;}
.hp_fontSize__xl { font-size: 140%;}
.hp_fontSize__xxl {font-size: 160%;}

@media not screen and (min-width:960px) {
  .hp_fontSize__s { font-size: 80%;}
  .hp_fontSize__ml { font-size: 105%;}
  .hp_fontSize__l { font-size: 110%;}
  .hp_fontSize__xl { font-size: 120%;}
  .hp_fontSize__xxl {font-size: 140%;}
}

/* xs */
@media not screen and (min-width:520px) {
  .hp_fontSize__ml { font-size: 100%;}
}

.hp_textNormal, .hp_normal {font-weight: var(--font-weight) !important;}
.hp_textBold, .hp_bold {font-weight: bold !important;}
.hp_textBolder, .hp_bolder { font-weight: bolder !important;}

.hp_tCenter, .hp_center {text-align: center !important;}
.hp_tRight, .hp_right {text-align: right !important;}
.hp_tLeft, .hp_left {  text-align: left !important;}
.hp_tJustify {text-align: justify !important;}
.hp_childTextJustify > * { text-align: justify;}
.hp_childTextCenter > * { text-align: center;}

/* lg */
@media screen and (min-width:960px) {
  .lg_tCenter, .lg_center {text-align: center !important;}
  .lg_tRight, .lg_right {text-align: right !important;}
  .lg_tLeft, .lg_left {text-align: left !important;}
  .lg_childTextCenter > * { text-align: center;}
}

@media not screen and (min-width:960px) {
  .md_tCenter, .md_center {text-align: center !important;}
  .md_tRight, .md_right {text-align: right !important;}
  .md_tLeft, .md_left {text-align: left !important;}
  .md_childTextCenter > * { text-align: center;}
}

/* テキストの前後にコロンを置く */
.hp_beforeColon::before {
  content: '：' !important;
  padding-left: 1em !important;
  text-indent: -1em !important;
}

.hp_afterColon::after {
  content: '：' !important;
  padding-right: -1em !important;
  text-indent: 1em !important;
}



/* スクロール関係 */
.hp_OF_auto{
  overflow: auto !important;
}


/* 幅関係 */
@media not screen and (min-width:960px) {
  .md_w100per {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .md_maxw150 {
    max-width: 150px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .md_maxw200 {
    max-width: 200px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .md_maxw240 {
    max-width: 240px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .md_maxw300 {
    max-width: 300px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .md_maxw400 {
    max-width: 400px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .md_maxw500 {
    max-width: 500px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .md_minw260 {
    min-width: 260px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

.hp_maxw150 {max-width: 150px !important;}
.hp_maxw500 {max-width: 500px !important;}


/* 特殊 */
.hp_ib {display: inline-block;}

.hp_borderItem {
  padding: 30px !important;
  border: 1px solid rgba(0, 0, 0, 0.3) !important;
  box-shadow: 0 0 0.5em rgb(0 0 0 / 10%) !important;
  border-radius: 5px;
}

.hp_borderItem_notPt {
  padding: 0 30px 30px !important;
  border: 1px solid rgba(0, 0, 0, 0.3) !important;
  box-shadow: 0 0 0.5em rgb(0 0 0 / 10%) !important;
  border-radius: 5px;
}

.hp_border {
  border: 1px solid #ccc;
}

/* ====================================================
オリジナルグループ
   ==================================================== */

/* --------------------------------------------
flex プロパティ
-----------------------------------------------*/
/* 子要素の高さを合わせるために使う */
.fx_childAlign {
  align-items: stretch;
}
.fx_childAlign > * {
  display: flex;
  align-items: center;
}

/* 孫要素の高さを合わせるために使う */
.fx_grandChildAlign {
  align-items: stretch;
}
.fx_grandChildAlign > * {
  display: flex;
  align-items: stretch;
}



@media screen and (min-width:960px) {
  /* lg サイズ調整用 */
  .lg_fx_flex1 { flex: 1; }
  .lg_fx_w10per { flex: 0 1 10%; }
  .lg_fx_w15per { flex: 0 1 15%; }
  .lg_fx_w20per { flex: 0 1 20%; }
  .lg_fx_w25per { flex: 0 1 25%; }
  .lg_fx_w30per { flex: 0 1 30%; }
  .lg_fx_w33per { flex: 0 1 33.3333%; }
  .lg_fx_w35per { flex: 0 1 35%; }
  .lg_fx_w40per { flex: 0 1 40%; }
  .lg_fx_w45per { flex: 0 1 45%; }

  /* flex-direction */
  .lg_fd_row { flex-direction:  row !important;}
  .lg_fd_rowRev { flex-direction:  row-reverse !important;}
  .lg_fd_col { flex-direction:  column !important;}
  .lg_fd_colRev { flex-direction:  column-reverse !important;}

  /* justify-content */
  .lg_jc_fxStart { justify-content: flex-start !important; }
  .lg_jc_fxEnd { justify-content: flex-end !important; }
  .lg_jc_center { justify-content: center !important; }
  .lg_jc_spaceBetween { justify-content: space-between !important; }
  .lg_jc_spaceAround { justify-content: space-around !important; }

  /* align-items */
  .lg_ai_stretch { align-items: stretch !important; }
  .lg_ai_baseLine { align-items: baseline !important; }
  .lg_ai_fxStart { align-items: flex-start !important;}
  .lg_ai_fxEnd { align-items: flex-end !important;}
  .lg_ai_center { align-items: center !important; }

  /* align-content */
  .lg_ac_fxStart { align-content: flex-start !important; }
  .lg_ac_fxEnd { align-content: flex-end !important; }
  .lg_ac_center { align-content: center !important; }
  .lg_ac_spaceBetween { align-content: space-between !important; }
  .lg_ac_spaceAround { align-content: space-around !important; }

  /* align-self */
  .lg_as_fxStart { align-self: flex-start !important; }
  .lg_as_fxEnd { align-self: flex-end !important; }
  .lg_as_center { align-self: center !important; }
  .lg_as_spaceBetween { align-self: space-between !important; }
  .lg_as_spaceAround { align-self: space-around !important; }

}

@media not screen and (min-width:960px) {
  /* lg サイズ調整用 */
  .md_fx_flex1 { flex: 1; }
  .md_fx_w10per { flex: 0 1 10%; }
  .md_fx_w15per { flex: 0 1 15%; }
  .md_fx_w20per { flex: 0 1 20%; }
  .md_fx_w25per { flex: 0 1 25%; }
  .md_fx_w30per { flex: 0 1 30%; }
  .md_fx_w33per { flex: 0 1 33.3333%; }
  .md_fx_w35per { flex: 0 1 35%; }
  .md_fx_w40per { flex: 0 1 40%; }
  .md_fx_w45per { flex: 0 1 45%; }

  /* flex-direction */
  .md_fd_row { flex-direction:  row !important;}
  .md_fd_rowRev { flex-direction:  row-reverse !important;}
  .md_fd_col { flex-direction:  column !important;}
  .md_fd_colRev { flex-direction:  column-reverse !important;}

  /* justify-content */
  .md_jc_fxStart { justify-content: flex-start !important; }
  .md_jc_fxEnd { justify-content: flex-end !important; }
  .md_jc_center { justify-content: center !important; }
  .md_jc_spaceBetween { justify-content: space-between !important; }
  .md_jc_spaceAround { justify-content: space-around !important; }

  /* align-items */
  .md_ai_stretch { align-items: stretch !important; }
  .md_ai_fxStart { align-items: flex-start !important;}
  .md_ai_fxEnd { align-items: flex-end !important;}
  .md_ai_center { align-items: center !important; }

  /* align-content */
  .md_ac_fxStart { align-content: flex-start !important; }
  .md_ac_fxEnd { align-content: flex-end !important; }
  .md_ac_center { align-content: center !important; }
  .md_ac_spaceBetween { align-content: space-between !important; }
  .md_ac_spaceAround { align-content: space-around !important; }
}


/* flex-direction */
.fx_fd_row { flex-direction:  row ;}
.fx_fd_rowRev { flex-direction:  row-reverse;}
.fx_fd_col { flex-direction:  column;}
.fx_fd_colRev { flex-direction:  column-reverse;}

/* justify-content */
.fx_jc_fxStart { justify-content: flex-start; }
.fx_jc_fxEnd { justify-content: flex-end; }
.fx_jc_center { justify-content: center; }
.fx_jc_spaceBetween { justify-content: space-between; }
.fx_jc_spaceAround { justify-content: space-around; }

/* align-items */
.fx_ai_stretch { align-items: stretch; }
.fx_ai_fxStart { align-items: flex-start;}
.fx_ai_fxEnd { align-items: flex-end;}
.fx_ai_center { align-items: center; }

/* align-content */
.fx_ac_fxStart { align-content: flex-start; }
.fx_ac_fxEnd { align-content: flex-end; }
.fx_ac_center { align-content: center; }
.fx_ac_spaceBetween { align-content: space-between; }
.fx_ac_spaceAround { align-content: space-around; }


/* --------------------------------------------
background
-----------------------------------------------*/

@media not screen and (min-width:960px) {
  .md_bg_scroll {
    background-attachment: scroll !important;
  }
}

/* --------------------------------------------
テーブル調整
-----------------------------------------------*/

/* thタグの大きさ調整 */

.tb_thWauto th {width: auto ;}
.tb_thW10 th { width: 10%;}
.tb_thW25 th { width: 25%;}
.tb_thW30 th { width: 30%;}
.tb_thW40 th { width: 40%;}
.tb_thW50 th { width: 50%;}
.tb_thW60 th { width: 60%;}
.tb_thW70 th { width: 70%;}

@media screen and (min-width:960px) {
  .lg_thWauto th {width: auto ;}
  .lg_thW10 th { width: 10%;}
  .lg_thW15 th { width: 15%;}
  .lg_thW20 th { width: 20%;}
  .lg_thW25 th { width: 25%;}
  .lg_thW30 th { width: 30%;}
  .lg_thW40 th { width: 40%;}
  .lg_thW50 th { width: 50%;}
  .lg_thW60 th { width: 60%;}
  .lg_thW70 th { width: 70%;}
}

.tb_tdSmall td { width: 7em; text-align: center;}

.hp_w10 { width: 10% !important; max-width: 100%;}
.hp_w20 { width: 20% !important; max-width: 100%;}
.hp_w30 { width: 30% !important; max-width: 100%;}
.hp_w40 { width: 40% !important; max-width: 100%;}
.hp_w45 { width: 45% !important; max-width: 100%;}
.hp_w50 { width: 50% !important; max-width: 100%;}
.hp_w60 { width: 60% !important; max-width: 100%;}
.hp_w70 { width: 70% !important; max-width: 100%;}
.hp_w80 { width: 80% !important; max-width: 100%;}
.hp_w90 { width: 90% !important;max-width: 100%;}
.hp_w100 { width: 100% !important; max-width: 100%;}

.hp_maxw150 {width: 100% !important; max-width: 150px !important;}
.hp_maxw200 {width: 100% !important; max-width: 200px !important;}
.hp_maxw250 {width: 100% !important; max-width: 250px !important;}
.hp_maxw300 {width: 100% !important; max-width: 300px !important;}
.hp_maxw350 {width: 100% !important; max-width: 350px !important;}


@media screen and (min-width:960px) {
  .lg_w10 { width: 10% !important;}
  .lg_w20 { width: 20% !important;}
  .lg_w30 { width: 30% !important;}
  .lg_w40 { width: 40% !important;}
  .lg_w45 { width: 45% !important;}
  .lg_w50 { width: 50% !important;}
  .lg_w60 { width: 60% !important;}
  .lg_w70 { width: 70% !important;}
  .lg_w80 { width: 80% !important;}
  .lg_w90 { width: 90% !important;}
  .lg_w100 { width: 100% !important;}

  /* 要素をずらす */
  .lg_top_30 { position: relative; top: -30px;}
  .lg_top_40 { position: relative; top: -40px;}
  .lg_top_50 { position: relative; top: -50px;}
  .lg_top_60 { position: relative; top: -60px;}
  .lg_thumb_70,.lg_top_70 { position: relative; top: -70px;}
}
@media not screen and (min-width:960px) {
  .md_w10 { width: 10% !important;}
  .md_w20 { width: 20% !important;}
  .md_w30 { width: 30% !important;}
  .md_w40 { width: 40% !important;}
  .md_w50 { width: 50% !important;}
  .md_w60 { width: 60% !important;}
  .md_w70 { width: 70% !important;}
  .md_w80 { width: 80% !important;}
  .md_w90 { width: 90% !important;}
  .md_w100 { width: 100% !important;}
}

@media not screen and (min-width:520px) {
  .xs_w10 { width: 10% !important;}
  .xs_w20 { width: 20% !important;}
  .xs_w30 { width: 30% !important;}
  .xs_w40 { width: 40% !important;}
  .xs_w50 { width: 50% !important;}
  .xs_w60 { width: 60% !important;}
  .xs_w70 { width: 70% !important;}
  .xs_w80 { width: 80% !important;}
  .xs_w90 { width: 90% !important;}
  .xs_w100 { width: 100% !important;}
}