@charset "UTF-8";

/*----------------------------------------
変数
-----------------------------------------*/
:root {
  --innerWide-maxWidth: 1440px;
  --inner-maxWidth: 1120px;
  --inner-minWidth: 960px;
  --innerSlim-maxWidth: 1000px;

  --header-height: 115px;
  --footer-logo-maxWidth: 300px;
  --inner-padding-LR: 20px;

  /* 頻出カラーまとめ */
  /* --col-blue00: #055590; */
  --col-blue01: #005aa9;
  --col-blue02: #00618f;
  --col-blue03: #00a7e3;
  --col-blue04: #5c90b7;
  --col-sky01: #f0f9ff;
  --col-sky02: #f2f7f9;
  --col-sky03: #e7eff2;

  /* グラデ */
  --grade-orange01: rgba(255, 133, 0, 1) 10%, rgba(247, 147, 0, 1) 83%;
  --grade-orange02: rgba(229, 20, 70, 1) 0%, rgba(255, 116, 55, 1) 100%;
  --grade-blue01: rgba(0, 90, 169, 1) 10%, rgba(0, 167, 227, 1) 100%;
  --grade-sky01: rgba(245, 245, 245, 1) 0%, rgba(240, 249, 255, 1) 100%;

  /* テキストなどのカラー */
  --col-black: #383C48;
  --col-gray01: #4d4d4d;
  --col-gray02: #808080;
  --col-gray03: #b3b3b3;

  /* フォント関係 */
  /* ja */
  --font-family-Notosans: 'Noto Sans JP', sans-serif;
  --font-family-ZenKakuGothic: "Zen Kaku Gothic New", 'Noto Sans JP', sans-serif;

  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 400;
  --font-weight-bold: 600;


  /* 角丸背景用 */
  --boderR-size: 415px;
}

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&#038;family=Zen+Kaku+Gothic+New:wght@300..900&#038;display=swap');

/*----------------------------------------
ロード
-----------------------------------------*/
.loading__bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background-color: #fff;
  z-index: 1000;
}

.loading {
  width: 70px;
  height: 80px;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 600;
}

/*----------------------------------------
基本設定
-----------------------------------------*/
html {
  font-size: 16px;
}

body {
  line-height: 1.5;
  font-size: 1em;
  font-family: var(--font-family-Notosans);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
  color: var(--col-black);
}

p {
  font-size: 16px;
}

a {
  color: inherit;
  overflow-wrap: anywhere;
}

.inner {
  width: 100%;
  max-width: var(--inner-maxWidth);
  padding-left: var(--inner-padding-LR);
  padding-right: var(--inner-padding-LR);
  margin: auto;
  position: relative;
}

.inner_wide {
  width: 100%;
  max-width: var(--innerWide-maxWidth);
  padding-left: var(--inner-padding-LR);
  padding-right: var(--inner-padding-LR);
  margin: auto;
  position: relative;
}

.inner_slim {
  width: 100%;
  max-width: var(--innerSlim-maxWidth);
  padding-left: var(--inner-padding-LR);
  padding-right: var(--inner-padding-LR);
  margin: auto;
  position: relative;
}

.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

#contents {
  width: 100%;
  margin-top: calc(-1 * var(--header-height));
  padding-top: calc(2 * var(--header-height));
}

.pcNoLink {
  pointer-events: none;
}

.caption {
  font-size: 12px !important;
}

.swiper {
  width: 100%;
  height: 100%;
}

.slide {
  position: relative;
}

.infinite-slider .swiper-wrapper {
  transition-timing-function: linear;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  top: 50%;
  transform: translateY(-50%);
}

.swiper-slide {
  width: 100%;
  height: 100%;
}

@keyframes fadein {
  0% {
    opacity: 0;
    -moz-opacity: 0;
    filter: alpha(opacity=0);
    visibility: visible;
  }

  100% {
    opacity: 1;
    -moz-opacity: 1;
    filter: alpha(opacity=100);
    visibility: visible;
  }
}

@keyframes fadeout {
  0% {
    opacity: 1;
    -moz-opacity: 1;
    filter: alpha(opacity=100);
    visibility: visible;
  }

  100% {
    opacity: 0;
    -moz-opacity: 0;
    filter: alpha(opacity=0);
    visibility: hidden;
  }
}



/*----------------------------------------
各ページ共通パーツ
-----------------------------------------*/

.txt_blue01 {
  color: var(--col-blue01);
}

.bgWhite {
  position: relative;
  background: #fff;
}

.bgBlue {
  position: relative;
  background: linear-gradient(90deg, var(--grade-blue01));
}

.bgSky02 {
  position: relative;
  background: var(--col-sky02);
}

.bgSky03 {
  position: relative;
  background: var(--col-sky03);
}

.bgSkyGrd {
  position: relative;
  background: linear-gradient(90deg, var(--grade-sky01));
}

.bgSkyGrdRe {
  position: relative;
  background: linear-gradient(-90deg, var(--grade-sky01));
}

main .bgWhite,
main .bgBlue,
main .bgSky02,
main .bgSky03,
main .bgSkyGrd,
main .bgSkyGrdRe {
  z-index: 0;
}

.flex {
  display: flex;
  justify-content: space-between;
}

/* リンクボタン */
main .btn_bgBlue {
  background: linear-gradient(90deg, var(--grade-blue01));
  border-radius: 2em;
}

main .btn_bgBlue {
  max-width: fit-content;
  margin: 20px auto;
}

main .btn_bgBlue a {
  position: relative;
  display: block;
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  padding: 0.5em;
}

main .btn_bgBlue.shop_box a {
  padding-left: 3.15em;
}

main .btn_bgBlue.window a {
  padding-right: 2.75em;
}

main .btn_bgBlue.shop_box a::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0.9em;
  transform: translate(0, -50%);
  width: 1.45em;
  height: 1.45em;
  background: url(../../img/common/icon/ico_shop_wh.svg) no-repeat center center;
  background-size: contain;
}

main .btn_bgBlue.window a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0.95em;
  transform: translate(0, -50%);
  width: 1.05em;
  height: 1.05em;
  background: url(../../img/common/icon/ico_window_wh.svg) no-repeat center center;
  background-size: contain;
}



/*----------------------------------------
子ページ
-----------------------------------------*/

/* ページタイトル */
.pageTittleWrap {
  position: relative;
  width: 100%;
  /* min-height: 200px; */
  padding: 67px 0px 105px;
  text-align: center;
  background: #f2f7f9;
  overflow: hidden;
}

.pageTittleWrap::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  min-height: 250px;
  background: url(../../img/common/top_img_shape.svg) no-repeat center bottom;
  background-size: 100%;
}

.pageTittleWrap .pageTittleImg,
.pageTittleWrap .pageTittleImg img {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pageTittleWrap .h1_txt_box {
  text-align: left;
  position: relative;
  z-index: 2;
}

.pageTittleWrap .h1_txt_box .h1_txt {
  font-size: 50px;
  font-weight: 900;
  margin-bottom: 0.5em;
  letter-spacing: 0.05em;
  line-height: 1.25;
}


/* パンクズ */
.breadcrumbsNavi {
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.breadcrumbsNavi li,
.breadcrumbsNavi a {
  display: inline-block;
}

.breadcrumbsNavi li a::after {
  content: "＞";
  padding: 0em 0.25em;
}

.breadcrumbsNavi li:last-child a:after {
  content: "";
}

.read_wrap {
  text-align: center;
  margin: 70px auto;
}

.read_wrap .h2_txt {
  font-size: 30px;
  margin-bottom: 0.6em;
  letter-spacing: 0.015em;
  font-weight: bold;
}

.read_wrap .read_txt,
.read_wrap .read_txt p {
  font-size: 18px;
  line-height: 1.65;
  margin-bottom: 0.5em;
  letter-spacing: 0.1em;
}

.read_wrap .read_txt p+p {
  margin-top: 1em;
}

.h2_txt_box {
  text-align: center;
  margin-bottom: 40px;
}

.h2_txt_box .h2_txt {
  font-size: 34px;
  font-weight: bold;
  margin-bottom: 0.45em;
  letter-spacing: 0.05em;
}

.h2_txt_box .read_txt {
  font-size: 18px;
  line-height: 1.65;
  letter-spacing: 0.1em;
}

.bg_BlueTR,
.bg_BlueTL {
  border-radius: 0 var(--boderR-size) 0 0;
  background: linear-gradient(90deg, var(--grade-sky01));
  padding-bottom: calc(var(--boderR-size) + 100px);
}

.bg_BlueBR,
.bg_BlueBL {
  border-radius: 0 0 var(--boderR-size) 0;
  border-radius: 0 var(--boderR-size) 0 0;
  background: linear-gradient(-90deg, var(--grade-sky01));
  padding-top: 80px;
  /* padding-bottom: calc(var(--boderR-size) + 100px); */
}


.bg_BlueTL_half,
.bg_BlueTR_half {
  position: relative;
}

.bg_BlueBL_half,
.bg_BlueBR_half {
  position: relative;
  padding-top: 80px;
}

.bg_BlueTL_half::before,
.bg_BlueTR_half::before,
.bg_BlueBL_half::before,
.bg_BlueBR_half::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  max-height: 100%;
  border-radius: 0 0 0 var(--boderR-size);
  background: linear-gradient(-90deg, var(--grade-sky01));
  z-index: -1;
}

.bg_BlueTL_half::before {
  border-radius: var(--boderR-size) 0 0 0;
}

.bg_BlueTR_half::before {
  border-radius: 0 var(--boderR-size) 0 0;
}

.bg_BlueBL_half::before {
  border-radius: 0 0 0 var(--boderR-size);
}

.bg_BlueBR_half::before {
  border-radius: 0 0 var(--boderR-size) 0;
}


.bg_BlueTL {
  border-radius: var(--boderR-size) 0 0 0;
}

.bg_BlueBL {
  border-radius: 0 0 0 var(--boderR-size);
}

.bg_WhiteTL {
  border-radius: var(--boderR-size) 0 0 0;
  background: #fff;
  padding-bottom: calc(var(--boderR-size) + 100px);
}

.bg_WhiteTR {
  border-radius: 0 var(--boderR-size) 0 0;
  background: #fff;
  padding-bottom: calc(var(--boderR-size) + 100px);
}


.bg_boderR {
  z-index: 0;
  position: relative;
}

.bg_boderR .inner {
  padding-top: 90px;
}

.bg_boderR+.bg_boderR {
  margin-top: calc(-1 * var(--boderR-size));
}

.bg_boderR:last-of-type {
  padding-bottom: 100px;
}



.verticalL_wrap {
  display: flex;
  justify-content: space-between;

}

.verticalL_wrap .verticalL_tit {
  writing-mode: vertical-lr;
  text-orientation: upright;
  font-size: 50px;
  font-weight: bold;
}

.verticalL_wrap .verticalL_txt_wrap {
  width: 100%;
  margin-left: 20px;
}

.contents_box,
.imgBoxList_wrap li {
  position: relative;
  background: #fff;
  border-radius: 20px;
}

.contents_box::before,
.imgBoxList_wrap li::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background: linear-gradient(90deg, rgba(0, 90, 169, 1) 15%, rgba(0, 167, 227, 1) 90%);
  background-size: cover;
  filter: blur(5px);
  opacity: 0.5;
  z-index: -1;
}

.imgBoxList_wrap li .list_inner {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.imgBoxList_wrap li+li {
  margin-top: 30px;
}

.imgBoxList_wrap li:nth-child(odd) .list_inner {
  flex-direction: row-reverse;
}

.imgBoxList_wrap li .img_wrap {
  width: 42.5%;
  background: #f2f2ec;
  overflow: hidden;
  border-radius: 10px 0 0 10px;
}

.imgBoxList_wrap li:nth-child(odd) .img_wrap {
  border-radius: 0 10px 10px 0;
}

.imgBoxList_wrap li .img_wrap picture,
.imgBoxList_wrap li .img_wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.imgBoxList_wrap li .txt_wrap {
  width: 57.5%;
  padding: 35px 30px 35px 0px;
}

.imgBoxList_wrap li:nth-child(odd) .txt_wrap {
  padding: 35px 0px 35px 20px;
}

.imgBoxList_wrap li:nth-child(2n) .txt_wrap .title_box,
.imgBoxList_wrap li:nth-child(2n) .txt_wrap .txt_box {
  padding-left: 30px;
}

.imgBoxList_wrap li:nth-child(odd) .txt_wrap .title_box,
.imgBoxList_wrap li:nth-child(odd) .txt_wrap .txt_box {
  padding-right: 30px;
}


.imgBoxList_wrap li .txt_wrap .title_box {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.imgBoxList_wrap li .txt_wrap hr {
  border: 2px solid #dcdcdc;
  margin: 5px 0 18px;
  opacity: 1;
}

.imgBoxList_wrap li .txt_wrap p+p {
  margin-top: 1.25em;
}


/* カラム */
.column2,
.column3,
.column4 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

/* 2カラム */
.column2>* {
  width: 48%;
}

.column2.card>* {
  background: #fff;
}

.column2.card .item .imgBox {
  position: relative;
  width: 100%;
}

.column2.card .item .imgBox .title {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  font-size: 2.25rem;
  text-align: center;
  color: #fff;
}

.column2.card .item .txtBox {
  padding: 60px;
}

/* 3カラム */
.column3>* {
  width: 32%;
}

/* 4カラム */
.column4>* {
  width: 24%;
}


/* ボタン_矢印付き */
.btnWrap.arrowOrange {
  position: relative;
  display: block;
  width: fit-content;
  padding-right: 2.05em;
  letter-spacing: 0em;
  background: linear-gradient(var(--grade-orange01));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.btnWrap.arrowOrange::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 0.4em;
  width: 1.25em;
  height: 1.25em;
  transform: translate(0, -50%);
  background: url(../../img/common/icon/ico_more_arrowR.svg) center center no-repeat;
  background-size: contain;
}

a:hover .btnWrap.arrowOrange::before,
.btnWrap.arrowOrange:hover::before {
  right: 0;
  transition: all 0.25s linear;
}

a:hover .btnWrap.arrowOrange,
.btnWrap.arrowOrange:hover {
  filter: grayscale(1);
  transition: all 0.25s ease-in-out;
}



/*----------------------------------------
  タブ切り替え複数設置可能
-----------------------------------------*/
.tab-group {
  display: flex;
  justify-content: space-between;
}

/* タブボタン */
.tab-group.menu2n {
  width: 98%;
  margin: 0 auto;
  font-size: 27px;
  font-weight: bold;
}

.tab_wrap.menuSimple .tab__item button {
  background: none;
  border: none;
  color: #000;
}

.tab_wrap.menuSimple .tab__item:hover button {
  opacity: 0.7;
}

.tab_wrap.menuSimple .tab__item button,
.tab_wrap .tab__content .tab__content-item {
  background: #F2F2F2;
}

.tab__menu {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 50px;
  padding: 0;
  margin: 0;
}

.tab__menu-item {
  list-style: none;
  width: 200px;
  padding: 8px 5px;
  /* メニューに高さを付ける */
  text-align: center;
  margin-right: 6px;
  background-color: #cdcdcd;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  cursor: pointer;
  transition: all .3s;
  /* アニメーション */
}

.tab__menu-item:last-of-type {
  margin-right: 0px;
}

/* タブメニューが2列の場合 */
.tab-group.menu2n .tab__item {
  width: calc(100% / 2 - 5px);
}

.tab-group.menu2n .tab__item:last-child {
  width: calc(100% / 2);
}

/* タブメニューが３列の場合 */
.tab-group.menu3n .tab__item {
  width: calc(100% / 3 - 5px);
}

.tab-group.menu3n .tab__item:last-child {
  width: calc(100% / 3);
}

.tab__item {
  margin: 0 auto;
  justify-content: space-between;
}

.tab__item button {
  width: 100%;
  height: 100%;
  display: block;
  flex-grow: 1;
  padding: 18px;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  border-radius: 10px 10px 0 0;
}

.tab__item:hover button,
.tab__item.is-active button {
  filter: drop-shadow(2px 2px 5px rgba(0, 90, 169, .5));
  transform: translateZ(0);
  will-change: filter;
}

/* タブパネル */
.tab_wrap .tab__content-item {
  display: none;
}

.tab_wrap .tab__content-item {
  position: relative;
  border-radius: 20px;
  padding: 20px;
}

.tab_wrap .tab__content-item .tab_inner {
  padding: 0;
  margin: 60px auto;
}

.tab_wrap .tab__content-item.is-active,
.tab_wrap.menuSimple .tab__item.is-active button,
.tab_wrap .tab__content.is-active .tab__content-item {
  display: block;
  background: var(--col-sky01);
}



/*==================================================
featherlight書き換え
===================================*/
.featherlight .featherlight-content {
  padding: 0;
  overflow: visible;
}

.featherlight .featherlight-close-icon {
  background: none;
  color: #FFF;
  font-size: 1.5rem;
  transform: translateY(-100%);
}

.featherlight-next,
.featherlight-previous {
  top: 0;
  right: 0;
}

.featherlight-previous {
  left: 0;
}

.featherlight-next:hover span,
.featherlight-previous:hover span {
  display: none;
}

.featherlight .featherlight-content {
  background: none;
}

.featherlightAppear .inner {
  display: flex;
  justify-content: space-between;
  padding: 0;
  min-width: none;
  max-width: 940px;
  min-height: 300px;
  background: #fff;
}

.featherlightAppear .inner>.imgBox {
  width: 40%;
}

.featherlightAppear .inner>.imgBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.featherlightAppear .inner>.txtBox {
  width: 60%;
  padding: var(--inner-padding-LR);
  padding-right: 50px;
  position: relative;
}

.featherlightAppear .inner>.txtBox .tittleEn {
  position: absolute;
  top: 50%;
  right: -0.12em;
  transform: translate(0%, -50%);
  font-family: var(--font-family-marcellus);
  font-size: 1.5rem;
  writing-mode: vertical-rl;
  line-height: 1;
  display: block;
  height: 100%;
  text-align: center;
}

.featherlightAppear .inner>.txtBox .tittleEn.longTxt {
  font-size: 1.35rem;
}

.featherlightAppear .inner>.txtBox .titleWrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.featherlightAppear .inner>.txtBox .title {
  font-weight: 600;
  font-size: 1.1rem;
}

.P_mark img {
  width: 100px;
}

sup {
  font-size: 70%;
  vertical-align: baseline;
  position: relative;
  top: -0.35em;
}

sub {
  font-size: 70%;
  /* vertical-align: bottom; */
  position: relative;
  bottom: -0em;
}



@media only screen and (max-width: 1163px) {
  html {
    font-size: 1.35vw;
  }

  /*----------------------------------------
  変数
  -----------------------------------------*/
  :root {
    --inner-minWidth: none;
    --boderR-size: 22vw;
  }

  html {
    font-size: 13px;
    width: var(--inner-minWidth);
  }

  body {
    width: var(--inner-minWidth);
  }

  p {
    font-size: 1.5vw;
  }

  #contents .inner {
    min-width: auto;
  }

  /* リンクボタン */
  main .btn_bgBlue a {
    font-size: 1.65vw;
  }


  /*----------------------------------------
  子ページ
  -----------------------------------------*/

  .pageTittleWrap .h1_txt_box .h1_txt {
    font-size: 5vw;
  }


  .read_wrap .read_txt,
  .h2_txt_box .read_txt,
  .read_wrap .read_txt p,
  .h2_txt_box .read_txt p {
    font-size: 1.55vw;
  }

  .read_wrap .h2_txt,
  .h2_txt_box .h2_txt {
    font-size: 2.75vw;
  }


  /* .verticalL_wrap .verticalL_tit {
    font-size: 5.15vw;
  } */

  .verticalL_wrap .verticalL_txt_wrap {
    margin-left: 2vw;
  }

  .imgBoxList_wrap li .txt_wrap .title_box {
    font-size: 2.65vw;
  }

  .imgBoxList_wrap li .txt_wrap {
    padding: 35px 2.5vw 35px 0px;
  }

  .imgBoxList_wrap li:nth-child(odd) .txt_wrap {
    padding: 35px 0px 35px 2.5vw;
  }

  .imgBoxList_wrap li:nth-child(2n) .txt_wrap .title_box,
  .imgBoxList_wrap li:nth-child(2n) .txt_wrap .txt_box {
    padding-left: 2.5vw;
  }

  .imgBoxList_wrap li:nth-child(odd) .txt_wrap .title_box,
  .imgBoxList_wrap li:nth-child(odd) .txt_wrap .txt_box {
    padding-right: 2.5vw;
  }

  .imgBoxList_wrap li .txt_wrap .title_box {
    font-size: 2.25vw;
  }


  /*----------------------------------------
    タブ切り替え複数設置可能
  -----------------------------------------*/
  /* タブボタン */
  .tab-group.menu2n {
    font-size: 2.5vw;
  }

}

@media only screen and (max-width: 959px) {

  p {
    font-size: 1.7vw;
  }

  /* リンクボタン */
  main .btn_bgBlue a {
    font-size: 1.85vw;
  }

  /*----------------------------------------
  子ページ
  -----------------------------------------*/

  /* ページタイトル */
  .pageTittleWrap {
    padding: 67px 0px 105px;
  }

  .pageTittleWrap::after {
    min-height: 250px;
  }

  .pageTittleWrap .h1_txt_box .h1_txt {
    font-size: 5vw;
  }


  .read_wrap .read_txt,
  .h2_txt_box .read_txt,
  .read_wrap .read_txt p,
  .h2_txt_box .read_txt p {
    font-size: 1.85vw;
  }

  .read_wrap .h2_txt,
  .h2_txt_box .h2_txt {
    font-size: 3.15vw;
  }


  .verticalL_wrap .verticalL_tit {
    font-size: 5.15vw;
  }

  .verticalL_wrap .verticalL_txt_wrap {
    margin-left: 2vw;
  }


  .imgBoxList_wrap li .txt_wrap .title_box {
    font-size: 2.65vw;
  }

  .imgBoxList_wrap li .txt_wrap {
    padding: 35px 2.5vw 35px 0px;
  }

  .imgBoxList_wrap li:nth-child(odd) .txt_wrap {
    padding: 35px 0px 35px 2.5vw;
  }

  .imgBoxList_wrap li:nth-child(2n) .txt_wrap .title_box,
  .imgBoxList_wrap li:nth-child(2n) .txt_wrap .txt_box {
    padding-left: 2.5vw;
  }

  .imgBoxList_wrap li:nth-child(odd) .txt_wrap .title_box,
  .imgBoxList_wrap li:nth-child(odd) .txt_wrap .txt_box {
    padding-right: 2.5vw;
  }


  .imgBoxList_wrap li .txt_wrap .title_box {
    font-size: 2.75vw;
  }

  .bg_BlueBR,
  .bg_BlueBL,
  .bg_BlueBL_half,
  .bg_BlueBR_half {
    padding-top: 8vw;
  }

  .bg_BlueTL_half::before,
  .bg_BlueTR_half::before,
  .bg_BlueBL_half::before,
  .bg_BlueBR_half::before {
    height: 100vh;
  }

  .bg_WhiteTL,
  .bg_BlueTR,
  .bg_BlueTL {
    padding-bottom: calc(var(--boderR-size) + 16vw);
  }

  .bg_boderR:last-of-type {
    padding-bottom: 10vw;
  }

  /*----------------------------------------
    タブ切り替え複数設置可能
  -----------------------------------------*/
  /* タブボタン */
  .tab-group.menu2n {
    font-size: 2.5vw;
  }

  .tab_wrap .tab__content-item {
    border-radius: 2vw;
  }
}


/*==========================================================================================
ここからSP
==========================================================================================*/
@media only screen and (max-width: 767px) {

  /*----------------------------------------
  変数
  -----------------------------------------*/
  :root {
    --inner-maxWidth: 767px;
    --inner-minWidth: none;
    --boderR-size: 22vw;

    --header-height: 21vw;
    --inner-padding-LR: 4vw;
  }

  html,
  body {
    font-size: 3.75vw;
    width: 100%;
    scroll-padding-top: var(--header-height);
  }

  p {
    font-size: 3.75vw;
  }


  /*----------------------------------------
  各ページ共通パーツ
  -----------------------------------------*/
  .inner {
    padding: 0 var(--inner-padding-LR);
  }

  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  .pcNoLink {
    pointer-events: unset;
  }

  .caption {
    font-size: 3.25vw !important;
  }

  .column2>*,
  .column3>*,
  .column4>* {
    width: 100%;
  }

  /* タブボタンサイズ */
  .tab__item button {
    font-size: 1rem;
    padding: 4vw;
  }


  /* リンクボタン */

  main .btn_bgBlue {
    width: fit-content;
    max-width: unset;
    margin: 20px auto;
  }

  main .btn_bgBlue a {
    font-size: 4vw;
  }

  main .btn_bgBlue.window a {
    padding-right: 3em;
  }

  main .btn_bgBlue.shop_box a {
    padding-left: 3em;
  }



  /*----------------------------------------
  子ページ
  -----------------------------------------*/
  /* ページタイトル */
  .pageTittleWrap {
    padding: 12vw 0px 15vw;
  }

  .pageTittleWrap::after {
    min-height: 250px;
  }

  .pageTittleWrap .h1_txt_box .h1_txt {
    font-size: 7.5vw;
  }

  .read_wrap {
    margin: 12vw auto;
  }

  .read_wrap .read_txt,
  .h2_txt_box .read_txt,
  .read_wrap .read_txt p,
  .h2_txt_box .read_txt p {
    font-size: 4vw;
  }

  .read_wrap .h2_txt,
  .h2_txt_box .h2_txt {
    font-size: 5.75vw;
  }

  .h2_txt_box .h2_txt {
    text-align: left;
  }

  .bg_boderR .inner {
    padding-top: 12vw;
  }


  .verticalL_wrap {
    flex-wrap: wrap;
  }

  .verticalL_wrap .verticalL_tit {
    font-size: 5.85vw;
    writing-mode: unset;
    text-orientation: unset;
    margin-bottom: 0.5em;
  }

  .verticalL_wrap .verticalL_tit picture,
  .verticalL_wrap .verticalL_tit picture img {
    height: 11vw;
  }

  .verticalL_wrap .verticalL_txt_wrap {
    margin-left: 0;
  }

  .imgBoxList_wrap li .list_inner {
    flex-wrap: wrap;
  }

  .imgBoxList_wrap li .img_wrap,
  .imgBoxList_wrap li .txt_wrap {
    width: 100%;
  }

  .imgBoxList_wrap li:nth-child(odd) .list_inner {
    flex-direction: unset;
  }

  .imgBoxList_wrap li+li {
    margin-top: var(--inner-padding-LR);
  }

  .imgBoxList_wrap li .img_wrap,
  .imgBoxList_wrap li:nth-child(odd) .img_wrap {
    height: 60vw;
    border-radius: 10px 10px 0 0;
  }

  .imgBoxList_wrap li .txt_wrap,
  .imgBoxList_wrap li:nth-child(odd) .txt_wrap {
    padding: 6vw 4vw;
  }

  .imgBoxList_wrap li:nth-child(2n) .txt_wrap .title_box,
  .imgBoxList_wrap li:nth-child(2n) .txt_wrap .txt_box,
  .imgBoxList_wrap li:nth-child(odd) .txt_wrap .title_box,
  .imgBoxList_wrap li:nth-child(odd) .txt_wrap .txt_box {
    padding-left: 0;
    padding-right: 0;
  }

  .imgBoxList_wrap li .txt_wrap .title_box {
    font-size: 4.85vw;
  }


  /*----------------------------------------
    タブ切り替え複数設置可能
  -----------------------------------------*/
  /* タブボタン */
  .tab-group.menu2n {
    font-size: 2.5vw;
  }
}