@charset "UTF-8";

/* Reset CSS */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 1em;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

/* ol, */
ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q,
blockquote {
  quotes: none;
}

q:before,
q:after,
blockquote:before,
blockquote:after {
  content: "";
  content: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

a {
  display: inline-block;
  color: inherit;
}

a:link,
a:visited {
  text-decoration: none;
}

a:hover,
a:active,
a:focus,
a:hover img,
a:active img,
a:focus img {
  opacity: 0.7;
}

a img {
  border: none;
}

img {
  max-width: 100%;
  height: auto;
  box-sizing: content-box;
  vertical-align: middle;
  line-height: 1;
  /* 右クリック禁止 */
  pointer-events: none;
  /* SPの長押し禁止 */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  position: relative;
  max-height: 100%;
  line-height: 1.45;
  font-weight: 600;
}

.caption {
  font-size: 0.75rem !important;
}

b,
strong {
  font-weight: bold;
}

u {
  text-decoration: underline;
}

i {
  font-style: italic;
}

input[type="button"],
input[type="submit"],
input[type="reset"],
label {
  cursor: pointer;
}

input[type="button"],
input[type="submit"],
input[type="reset"] {
  border-radius: 0;
}

picture,
figure {
  display: block;
  width: 100%;
  /* 右クリック禁止 */
  pointer-events: none;
  /* SPの長押し禁止 */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none;
}

picture img,
figure img {
  display: block;
  width: 100%;
  object-fit: contain;
}

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

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

/* 以上リセット＋ベース調整 */



/*----------------------------------------
変数
-----------------------------------------*/
:root {
  --innerWide-maxWidth: 1240px;
  --inner-maxWidth: 1040px;
  --inner-minWidth: 960px;

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

  /* 頻出カラーまとめ */
  --col-greenWhite: #f0faf9;
  --col-gold01: #8d792e;
  --col-gold02: #aa965e;
  --col-gold03: #c6b979;
  --col-gold04: #efe6bb;

  /* テキストなどのカラー */
  --col-black: #444444;
  --col-gray00: #f7f8f8;
  --col-gray01: #666666;
  --col-gray02: #cccccc;

  /* グラデーション */
  --grade-gold01: #685523 3%, #8f8160 42%, #685523 84%, #755d20 100%;
  --grade-gold02: #8c7e42 3%, #b3a25b 70%, #8c7e42 94%;
  --grade-gold03: #c1b16a 0%, #eee4b5 41%, #b5a560 84%, #c2ae59 100%;

  /* フォント関係 */
  /* ja */
  --font-family-ja: "Noto Serif", serif;
  /* en */
  --font-family-en: "Cormorant", serif;
  /* en number */
  --font-family-enNum: "Cormorant Infant", serif;

}


/*----------------------------------------
各ページ共通パーツ
-----------------------------------------*/
html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
}

body {
  box-sizing: border-box;
  position: relative;
  /* アンカーリンク対策のマージンとパディング */
  margin-top: calc(-1 * var(--header-height));
  padding-top: var(--header-height);
  font-size: 1rem;
  font-family: var(--font-family-ja);
  font-feature-settings: "palt" 1;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: var(--col-black);
}

.en {
  font-family: var(--font-family-en);
}

.year_num {
  font-weight: 600;
  font-family: var(--font-family-enNum);
  letter-spacing: 0;
}

.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

#contents {
  width: 100%;
  min-height: 100svh;
  margin: auto;
  overflow: auto;
}

.mainContents {
  position: relative;
  min-height: 100svh;
  padding-top: 100px;
  padding-bottom: 100px;
  background: url(../img/common/texture.png) center center repeat;
}

.mainContents::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(36, 30, 28, 0.15) 0%, rgba(36, 30, 28, 0) 10%, rgba(36, 30, 28, 0) 90%, rgba(36, 30, 28, 0.15) 100%);
}

.inner {
  width: 100%;
  /* min-width: var(--inner-minWidth); */
  max-width: var(--inner-maxWidth);
  padding-left: var(--inner-padding-LR);
  padding-right: var(--inner-padding-LR);
  margin: auto;
  position: relative;
  z-index: 1;
}

.inner_wide {
  width: 100%;
  /* min-width: var(--inner-minWidth); */
  max-width: var(--innerWide-maxWidth);
  padding-left: var(--inner-padding-LR);
  padding-right: var(--inner-padding-LR);
  margin: auto;
  position: relative;
  z-index: 1;
}

.inner_L_wide {
  position: relative;
  margin-right: auto;
  padding: var(--inner-padding-LR) 0 var(--inner-padding-LR) calc(2 * var(--inner-padding-LR));
  width: 100%;
  max-width: calc(((100% - var(--inner-maxWidth)) / 2) + var(--inner-maxWidth) - var(--inner-padding-LR));
  background: #fff;
}

.inner_R_wide {
  position: relative;
  margin-left: auto;
  padding: calc(2 * var(--inner-padding-LR)) 0 var(--inner-padding-LR) var(--inner-padding-LR);
  width: 100%;
  max-width: calc(((100% - var(--inner-maxWidth)) / 2) + var(--inner-maxWidth) - var(--inner-padding-LR));
  background: #fff;
}

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

.soon {
  opacity: .5;
  pointer-events: none;
}



/* テキスト関連 */
p {
  font-size: 1rem;
  line-height: 1.75;
}

.txtS {
  font-size: 80%;
}

.txtL {
  text-align: left;
}

.txtC {
  text-align: center;
}

.txtR {
  text-align: right;
}


/* 汎用背景 */
.bg_green_box {
  background: #e5f6f5;
  padding: var(--inner-padding-LR);
}


/*----------------------------------------
スワイパー
-----------------------------------------*/
.booklist_wrap {
  width: fit-content;
}

.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%);
  margin-top: 0;
}

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

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: 0.2;
  filter: drop-shadow(1px 1px 6px rgba(0, 0, 0, 0));
}

.swiper-button-next,
.swiper-button-prev {
  color: #fff;
  height: 100%;
  top: 50%;
  transform: translate(0, -50%);
  padding: 2em 1em;
  width: fit-content;
  filter: drop-shadow(1px 1px 6px rgba(0, 0, 0, 1));
}

.swiper-button-next {
  left: unset;
  right: 0;
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 9px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 9px));
  background: unset;
  border: 1px solid #fff;
  opacity: 0.7;
}

.swiper-pagination-bullet-active {
  background: #fff;
  border: 1px solid #fff;
  opacity: 1;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 1.75em);
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 6px);
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  background: rgba(0, 0, 0, 0.25);
  filter: blur(1);
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after,
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "";
}

.swiper-button-next:after,
.swiper-button-prev:after {
  display: block;
  width: 2rem;
  height: 3rem;
  background: url(../img/common/icon_arrow.svg) center center no-repeat;
  background-size: contain;
}

.swiper-button-prev:after {
  transform: rotate(180deg);
}

.booklist_wrap .swiper-slide {
  width: auto;
  height: auto;
}

.booklist_wrap .swiper-slide:last-child {
  padding-right: 15em;
}



/*----------------------------------------

子ページ用 汎用パーツ

-----------------------------------------*/

/*----------------------------------------
ページタイトル
-----------------------------------------*/
.pagetitle_wrap {
  background: url(../img/common/top_img.jpg) center center no-repeat;
  background-size: cover;
  min-height: 180px;
}

.pagetitle_wrap hgroup {
  padding-top: var(--header-height);
  padding-bottom: var(--header-height);
  text-align: center;
  color: #fff;
}

main .mainCopy {
  font-size: 6rem;
  line-height: 1;
  text-align: center;
}

main .subCopy {
  font-size: 1.2rem;
  line-height: 1;
  text-align: center;
}

.pageTittleWrap {
  margin: auto;
  width: 100%;
  text-align: center;
  margin-bottom: 90px;
}

.pageTittleWrap .titleBox {
  margin: 60px auto;
}

.pageTittleWrap .pageTittleEn {
  font-size: 3rem;
  font-family: var(--font-family-poppins);
  color: var(--col-blue01);
}

.pageTittleWrap .pageTittleJa {
  margin-top: -0.15em;
  font-size: 1.5rem;
}

.pageTittleWrap .pageTittleImg img {
  width: 100%;
  height: auto;
  background: #494949;
}

/* パンクズ */
.breadcrumbsNavi {
  display: flex;
}

.breadcrumbsNavi li {
  display: inline-block;
  font-size: 12px;
}

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

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

/*----------------------------------------
見出し関連
-----------------------------------------*/
h2 {
  font-size: 2rem;
  border-bottom: 1px solid var(--col-gold01);
  margin-bottom: 0.5em;
}

h3 {
  font-size: 1.85rem;
}

h4.txtG {
  margin-top: 2em;
  margin-bottom: 0.15em;
  font-size: 1.15rem;
  letter-spacing: 0;
}

.contents_tit,
.sub_tit {
  font-weight: bold;
  font-size: 1.5rem;
  color: var(--col-gold03);
}

.contents_tit strong,
.sub_tit strong {
  font-size: 130%;
}


/*----------------------------------------
リスト系
-----------------------------------------*/
/* リスト_インデックスあり */
.list_dotindex li {
  position: relative;
  padding-left: 1em;
}

.list_dotindex li::before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
}


/* リスト_アイコン付 */
.list_icon li {
  text-align: center;
  padding: 10px;
  border: 1px solid var(--col-gray02);
}

.list_icon li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.list_icon li+li {
  margin-top: 5px;
}

.list_icon li .icon {
  display: block;
  width: 15%;
  margin: auto;
}

.list_icon li .txtBox {
  width: 75%;
  height: fit-content;
  margin-top: .5em;
  display: block;
  font-weight: bold;
  line-height: 1.35;
  letter-spacing: 0;
  text-align: left;
}

.list_icon li .tit {
  font-size: 1.5rem;
}


/*----------------------------------------
列表示
-----------------------------------------*/
.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%;
}


/*----------------------------------------
ボタン系
-----------------------------------------*/
.noLink {
  /* opacity: 0.5; */
  pointer-events: none;
}


/* 斜めボタン */
.btn_wrap {
  display: inline-block;
  padding: 0.5em 1.5em 0.5em 6.5em;
  width: fit-content;
  min-width: 14em;
  background: linear-gradient(-45deg, var(--grade-gold01));
  /* background: #8c7e42; */
  color: #fff;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.2em;
  transform: skew(-25deg);
  overflow: hidden;
}

.btn_wrap::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(/erarchive/assets/img/common/texture.png) repeat center center;
  mix-blend-mode: overlay;
}

.btn_wrap:has(.en) {
  padding-top: 0.65em;
  padding-bottom: 0.65em;
}

.btn_wrap.more .en {
  width: fit-content;
  min-width: 7em;
  font-size: 1em;
  line-height: 1.25;
  letter-spacing: 0.16em;
}

.btn_wrap.lightG {
  background: linear-gradient(-45deg, var(--grade-gold02));
}

.btn_wrap p {
  transform: skew(25deg);
}

.btn_wrap strong {
  font-size: 120%;
}

.btn_wrap:hover {
  transform: skew(-25deg) scale(1.05);
  transition: 0.15s ease-in-out;
  opacity: 1;
}

/* 矢印_前 */
.btn_wrap .icon_btnArrowLeft {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 4.6em;
  height: 1px;
  background: #fff;
}

.btn_wrap .icon_btnArrowLeft::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(50%, -50%) skew(25deg);
  width: 0.5em;
  height: 0.5em;
  background: #fff;
  border-radius: 50%;
  filter: blur(0.15em);
}

.btn_wrap:hover .icon_btnArrowLeft:before {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(50%, -50%) skew(25deg);
  width: 2.15em;
  height: 2.15em;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.8);
  animation: btnFadein 0.15s ease-in-out forwards;
}

@keyframes btnFadein {
  0% {
    opacity: 0;
    transform: translate(50%, -50%) skew(25deg) scale(0.75);
  }

  100% {
    opacity: 1;
    -moz-opacity: 1;
    transform: translate(50%, -50%) skew(25deg) scale(1);
  }
}



/*----------------------------------------
  横スクロール
-----------------------------------------*/
.scrollX {
  overflow-x: auto;
  -ms-overflow-style: none;
  width: 100%;
}

.scrollX a {
  display: block;
}

.scrollX a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.inner_L_wide.scrollX {
  padding-left: var(--inner-padding-LR);
}

.inner_R_wide.scrollX {
  padding-right: var(--inner-padding-LR);
}


/*----------------------------------------
  タブ切り替え 複数設置可能
-----------------------------------------*/
.tab__content-item {
  display: none;
}

.tab__content-item.is-active {
  display: block;
}

.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;
}

.tab__menu-item.is-active {
  background-color: rgba(48, 172, 249);
  color: #ffffff;
  padding: 12px 5px;
}

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

/* タブメニューが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: 0.5em 0;
  list-style: none;
  text-align: center;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #4c71a9;
  font-size: 1rem;
}

.tab__item.is-active button {
  background: #074782;
  color: #FFF;
  transition: all 0.2s ease-out;
}


/* タブ ボタンシンプル */
.menuSimple .tab__item button {
  background: none;
  border: none;
  /* border-bottom: 2px solid #d3d3d3;
  color: #000; */
}

.menuSimple .tab__item:hover button {
  opacity: 0.7;
  /* border-bottom: 2px solid var(--col-blue04); */
}

.menuSimple .tab__item.is-active button {
  color: var(--col-blue02);
  /* border-bottom: 2px solid var(--col-blue02); */
}

/* タブ 表示パネル部分 */
.panel-group {
  border-top: none;
  background: #fff;
  margin-top: 3px;
}

.panel {
  display: none;
}

.panel.is-show {
  display: block;
}


/*----------------------------------------
もっと見るボタン
-----------------------------------------*/
.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 600px;
  border: solid 1px #000;
  padding: 10px;
}

.text-ellipsis {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-align: initial;
  transition: .3s;
  max-height: 48px;
}



/*----------------------------------------
アコーディオン
-----------------------------------------*/
.toggle_title {
  position: relative;
  background: var(--col-green01);
  color: #fff;
  font-size: 1.25em;
  font-weight: bold;
  padding: 0.5em;
  padding-right: 2.5em;
  margin-bottom: 0.5em;
}

.toggle_contents dd {
  display: none;
}

span.toggle_btn {
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  display: block;
  width: 1em;
  height: 1em;
  z-index: 2;
}

.toggle_btn:before,
.toggle_btn:after {
  display: block;
  content: '';
  background-color: #fff;
  position: absolute;
  width: 1em;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.toggle_btn:before {
  left: 0;
  transform: rotate(-90deg) translate(1px, 0);
  transition: .2s;
}

.selected .toggle_btn:before {
  opacity: 0;
  transform: rotate(0deg) translate(1px, 0);
  transition: .2s;
}



@media only screen and (max-width: 1200px) {
  /* html {
    font-size: 1.5vw;
  } */

}

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

  /*----------------------------------------
  変数
  -----------------------------------------*/
  :root {
    --inner-minWidth: 959px;
  }


  /*----------------------------------------
  各ページ共通パーツ
  -----------------------------------------*/
  html {
    /* font-size: 1.85vw; */
    width: 100%;
  }

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

}


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

  /*----------------------------------------
  変数
  -----------------------------------------*/
  :root {
    --inner-maxWidth: 767px;
    --inner-minWidth: 320px;

    --header-height: 17vw;
    --inner-padding-LR: 5vw;
  }


  /*----------------------------------------
  各ページ共通パーツ
  -----------------------------------------*/
  /* html {
    font-size: 3.7vw;
  } */

  body {
    margin-top: calc(-1 * var(--header-height));
    padding-top: var(--header-height);
  }

  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  #contents {
    width: 100%;
    /* padding-top: var(--header-height); */
  }

  .inner {
    min-width: auto;
    padding: 0 var(--inner-padding-LR);
  }

  .bg_green_box {
    background: #e5f6f5;
    padding: var(--inner-padding-LR);
  }

  p {
    font-size: 0.95rem;
  }


  /*----------------------------------------
  スワイパー
  -----------------------------------------*/
  .swiper-button-next,
  .swiper-button-prev {
    padding: 1.15em 0.5em;
  }

  .booklist_wrap .swiper-slide:last-child {
    padding-right: 5em;
  }

  .swiper-button-next:after,
  .swiper-button-prev:after {
    width: 1.5rem;
    height: 2.15rem;
  }

  /*----------------------------------------

  子ページ用 汎用パーツ
  
  -----------------------------------------*/

  /*----------------------------------------
  ページタイトル
  -----------------------------------------*/
  .mainContents {
    padding-top: 18vw;
  }

  .mainContents::before {
    background: linear-gradient(90deg, rgba(36, 30, 28, 0.075) 0%, rgba(36, 30, 28, 0) 10%, rgba(36, 30, 28, 0) 90%, rgba(36, 30, 28, 0.075) 100%);
  }

  .pagetitle_wrap {
    background: url(../img/common/top_img_sp.jpg) center center no-repeat;
    background-size: cover;
    min-height: 10vw;
  }

  .pagetitle_wrap hgroup {
    padding-top: calc(var(--header-height) + 7vw);
    padding-bottom: 15vw;
  }

  main .mainCopy {
    font-size: 4rem;
  }

  .bgImg_wrap .inner {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }

  .contents_tit,
  .sub_tit {
    font-size: 1.3rem;
  }

  /*----------------------------------------
  見出し系
  -----------------------------------------*/
  h4.txtG {
    font-size: 1.1rem;
  }


  /*----------------------------------------
  リスト系
  -----------------------------------------*/
  /* リスト_インデックスあり */
  .list_dotindex li {
    position: relative;
    padding-left: 1em;
  }

  .list_dotindex li::before {
    content: '・';
    position: absolute;
    top: 0;
    left: 0;
    width: 1em;
    height: 1em;
  }

  /* アイコン付リスト */
  .list_icon li a {
    flex-wrap: wrap;
    flex-direction: column;
  }

  .list_icon li+li {
    margin-top: 5px;
  }

  .list_icon li .icon {
    width: 35%;
    margin: auto;
  }

  .list_icon li .txtBox {
    width: 100%;
    text-align: center;
  }

  .list_icon li .tit {
    font-size: 4vw;
  }


  /*----------------------------------------
  列表示
  -----------------------------------------*/
  .column2>*,
  .column3>*,
  .column4>* {
    width: 100%;
  }


  /*----------------------------------------
    タブ切り替え 複数設置可能
  -----------------------------------------*/
  /* タブボタンサイズ */
  .tab__item button {
    font-size: 1rem;
  }


  /*----------------------------------------
  アコーディオン
  -----------------------------------------*/
  .toggle_title {
    font-size: 4vw;
  }

}