@charset "UTF-8";
/*--------------------------------
    import
--------------------------------*/
@import url(./html5reset.css);
@import url(./cssreset.css);
@import url(./basic.css);
@import url(./animation.css);
@import url(./snippet.css);
:root {
  --innerBase:780px;
  --wrapBase:940px;
  --boxBase:1080px;
  --containerBase:1280px;
  --maxWidthBase:1440px;
  --inner:var(--innerBase);
  --wrap:var(--wrapBase);
  --box:var(--boxBase);
  --container:var(--containerBase);
  --maxWidth:var(--maxWidthBase);
  --spContainerPadding:5%;
  --pcContainerPadding:95px;
  --spHeaderHeight:60px;
  --pcHeaderHeight:85px;
  --baseColor:#ffffff;
  --mainColor:#003288;
  --subColor:#D1DDEF;
  --icuColor:#3395EA;
  --entColor:#059A78;
  --cssdColor:#375DB4;
  --othersColor:#696F7E;
  --whiteColor:#ffffff;
  --grayColor:#696F7E;
  --lightGrayColor:#BDC1CD;
  --softGrayColor:rgb(from #696F7E r g b / 15%);
  --paleBlueColor:#D4E0F5;
  --tintBlueColor:#E5ECF8;
  --lightBlueColor:#D1DDEF;
  --deepBlueColor:#375DB4;
  --softBlueColor:#BEC9E6;
  --grayBlueColor:#DCDEE6;
  --textHoverColor:#8098C4;
  --animationSpeed:0.4s;
  --ioAnimationSpeed:1s;
  --spMargin:40px;
  --pcMargin:50px;
  --fontSerif:"Shippori Mincho","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
  --fontGothic:"Noto Sans JP","游ゴシック体",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  --fontFamily:var(--fontGothic);
  --fontTitle:var(--fontSerif);
  --fontEn:"Lusitana", serif;
}

/*============================================================

    BASIC

============================================================*/
/*--------------------------------
    基本設定
--------------------------------*/
body {
  line-height: 1.8;
  color: var(--mainColor);
  font-family: var(--fontFamily);
  font-size: 1.6rem;
  font-weight: 500;
  text-align: justify;
  letter-spacing: 0.1em;
  word-break: break-all;
  overflow-wrap: break-word;
}
@media print, screen and (max-width: 812px) {
  body {
    font-size: min(1.6rem, 16px);
  }
}
@media print, screen and (min-width: 813px) {
  body {
    font-size: min(1.6rem, 16px);
  }
}

/*============================================================

    loader

============================================================*/
:root {
  --loaderBgColor:var(--mainColor);
  --loaderColor:rgb(from var(--whiteColor) r g b / 0.2);
  --loaderActiveColor:rgb(from var(--whiteColor) r g b / 0.8);
}

/*--------------------------------
	ページ遷移のトランジション + ローディング
--------------------------------*/
body #loader-wrapper {
  position: fixed;
  width: 100%;
  height: 100%;
  height: 100dvh;
  top: 0;
  left: 0;
  z-index: 99999;
  background-color: var(--loaderBgColor);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.8s ease;
  transition: opacity 0.8s ease;
  will-change: opacity;
}
body #loader-wrapper #loader {
  position: absolute;
  top: calc(50% - 22px);
  left: calc(50% - 22px);
  border-radius: 50%;
  width: 44px;
  height: 44px;
  border-top: 3px solid var(--loaderColor);
  border-right: 3px solid var(--loaderColor);
  border-bottom: 3px solid var(--loaderColor);
  border-left: 3px solid var(--loaderActiveColor);
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: loader 1.1s infinite linear;
  animation: loader 1.1s infinite linear;
}
body.transition #loader-wrapper {
  opacity: 1;
}

@-webkit-keyframes loader {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes loader {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/*============================================================

    LINK

============================================================*/
/*--------------------------------
    リンク基本スタイル
--------------------------------*/
a:link, a:visited {
  color: var(--mainColor);
  text-decoration: none;
}
a svg {
  fill: var(--mainColor);
}
@media print, screen and (min-width: 813px) {
  a:hover, a:active {
    text-decoration: none;
  }
}

/*--------------------------------
	SNS一覧
--------------------------------*/
.sns_lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.sns_lists li a {
  display: block;
  width: 1.7em;
  height: 1.7em;
}
.sns_lists li a svg {
  width: 85%;
  height: 85%;
  vertical-align: bottom;
  fill: var(--whiteColor);
}
.sns_lists li.sns_x a {
  width: 1.5em;
  height: 1.5em;
}
.sns_lists li.sns_x a svg {
  vertical-align: text-top;
}
@media print, screen and (min-width: 813px) {
  .sns_lists li a:hover svg {
    fill: var(--textHoverColor);
  }
}

/*--------------------------------
	salwayリンクボタン
--------------------------------*/
.salway_link_btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--mainColor);
  padding: 0.5em 1em;
  background-color: var(--whiteColor);
  position: relative;
}
.salway_link_btn a img {
  max-width: 90px;
  margin: 0;
  position: relative;
  z-index: 3;
}
.salway_link_btn a span {
  line-height: 1.4;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}
.salway_link_btn a svg {
  width: 1em;
  height: 1em;
  vertical-align: bottom;
  fill: var(--mainColor);
}
.salway_link_btn a:after {
  opacity: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgb(from var(--mainColor) r g b/30%);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
@media print, screen and (max-width: 812px) {
  .salway_link_btn a {
    gap: 1em;
    padding: 0.5em;
  }
  .salway_link_btn a span {
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 813px) {
  .salway_link_btn a:after {
    -webkit-transition: opacity var(--animationSpeed);
    transition: opacity var(--animationSpeed);
    will-change: opacity;
  }
  .salway_link_btn a:hover:after {
    opacity: 1;
  }
}

/*--------------------------------
	リンクボタン
--------------------------------*/
.link_btn {
  --linkBtnTextColor:var(--whiteColor);
  --linkBtnBgColor:var(--mainColor);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.link_btn a, .link_btn > span, .link_btn > button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 200px;
  color: var(--linkBtnTextColor);
  text-align: center;
  text-decoration: none;
  padding: 0.5em 1em;
  border-radius: 40px;
  border: solid 1px var(--linkBtnBgColor);
  background-color: var(--linkBtnBgColor);
}
.link_btn a svg, .link_btn > span svg, .link_btn > button svg {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.2em;
  height: 1.2em;
  vertical-align: bottom;
  margin-left: 0.5em;
  fill: var(--linkBtnTextColor);
}
.link_btn a span:has(+ svg), .link_btn > span span:has(+ svg), .link_btn > button span:has(+ svg) {
  display: block;
  width: 100%;
  padding-left: 1.7em;
}
.link_btn a, .link_btn > span, .link_btn > button {
  will-change: auto;
}
.link_btn a:after, .link_btn > span:after, .link_btn > button:after {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.link_btn[data-link*=top] {
  margin-top: 4rem;
}
.link_btn[data-link*=center] {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.link_btn[data-link*=right] {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.link_btn[data-link*=white] {
  --linkBtnTextColor:var(--mainColor);
  --linkBtnBgColor:var(--whiteColor);
}
.link_btn[data-link*=gray] {
  --linkBtnBgColor:var(--grayColor);
}
.link_btn[data-link*=wide] a, .link_btn[data-link*=wide] > span, .link_btn[data-link*=wide] > button {
  width: 100%;
  text-align: left;
  padding: 1.5em 1em;
  border-radius: 0;
}
.link_btn[data-link*=wide] a span:has(+ svg), .link_btn[data-link*=wide] > span span:has(+ svg), .link_btn[data-link*=wide] > button span:has(+ svg) {
  font-size: min(2rem, 20px);
  padding-left: 0;
}
@media print, screen and (max-width: 812px) {
  .link_btn[data-link*=top] {
    margin-top: 3rem;
  }
}
@media print, screen and (min-width: 813px) {
  .link_btn > button {
    -webkit-transition: all var(--animationSpeed);
    transition: all var(--animationSpeed);
  }
  .link_btn a:hover, .link_btn button:hover {
    color: var(--linkBtnBgColor);
    background-color: var(--linkBtnTextColor);
  }
  .link_btn a:hover svg, .link_btn button:hover svg {
    fill: var(--linkBtnBgColor);
  }
  .link_btn[data-link*=white] a:hover {
    border-color: var(--linkBtnTextColor);
  }
  .link_btn[data-link*=gray] a:hover {
    border-color: var(--grayColor);
  }
  .link_btn[data-link*=wide] a, .link_btn[data-link*=wide] > span, .link_btn[data-link*=wide] > button {
    padding: 2em;
  }
  .link_btn[data-link*=wide] a span:has(+ svg), .link_btn[data-link*=wide] > span span:has(+ svg), .link_btn[data-link*=wide] > button span:has(+ svg) {
    font-size: min(3rem, 30px);
  }
}

.download_btn {
  --downloadBtnColor:var(--mainColor);
  --downloadBtnHoverColor:rgb(from var(--mainColor) r g b / 70%);
}
.download_btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
  width: 100%;
  color: var(--whiteColor);
  padding: 2.5em 2em;
  padding-right: 6.4em;
  border: solid 1px var(--downloadBtnColor);
  background-color: var(--downloadBtnColor);
  position: relative;
}
.download_btn a i {
  display: block;
  width: 100%;
  font-size: 80%;
  font-style: normal;
}
.download_btn a span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.8em;
  height: 2.8em;
  border-radius: 50%;
  background-color: var(--whiteColor);
  position: absolute;
  top: calc(50% - 1.4em);
  right: 1.6em;
}
.download_btn a span svg {
  width: 55%;
  height: 55%;
  fill: var(--mainColor);
}
.download_btn.txt-center a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media print, screen and (max-width: 812px) {
  .download_btn a {
    min-height: 115px;
    padding: 2em 1em;
    padding-right: 4.8em;
  }
  .download_btn a span {
    right: 1em;
  }
  .download_btn.txt-center a, .download_btn.txt-sp-center a {
    padding: 1em 4.8em;
  }
  .download_btn.txt-sp-center a {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media print, screen and (min-width: 813px) {
  .download_btn a {
    min-height: 150px;
    font-size: min(2rem, 20px);
  }
  .download_btn a:hover {
    background-color: var(--downloadBtnHoverColor);
  }
  .download_btn.txt-center a, .download_btn.txt-pc-center a {
    padding: 1em 5.4em;
  }
  .download_btn.txt-pc-center a {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/*============================================================

    LAYOUT

============================================================*/
/*----------------------------------------------------------------
	main
----------------------------------------------------------------*/
main p, main ol, main ul, main dl {
  margin-bottom: 1.6rem;
}
main picture {
  display: block;
}
main section > *:last-child, main div > *:last-child, main article > *:last-child, main ul > *:last-child, main ol > *:last-child, main dl > *:last-child {
  margin-bottom: 0;
}
@media print, screen and (max-width: 812px) {
  main {
    padding-top: var(--spHeaderHeight);
  }
}
@media print, screen and (min-width: 813px) {
  main {
    padding-top: var(--pcHeaderHeight);
  }
}

.container {
  margin-right: auto;
  margin-left: auto;
}
.container .box, .container .wrap, .container .inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
@media print, screen and (max-width: 812px) {
  .container {
    max-width: calc(var(--container) + var(--spContainerPadding) * 2);
    min-width: 0;
    padding-left: var(--spContainerPadding);
    padding-right: var(--spContainerPadding);
  }
  .container[data-container*=wide] {
    padding-left: calc(var(--spContainerPadding) / 2);
    padding-right: calc(var(--spContainerPadding) / 2);
  }
}
@media print, screen and (min-width: 813px) {
  .container {
    max-width: calc(var(--container) + var(--pcContainerPadding) * 2);
    padding-left: var(--pcContainerPadding);
    padding-right: var(--pcContainerPadding);
  }
}

.box {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.container .box {
  max-width: var(--box) !important;
}
@media print, screen and (max-width: 812px) {
  .box {
    max-width: calc(var(--box) + var(--spContainerPadding) * 2);
    padding-left: var(--spContainerPadding);
    padding-right: var(--spContainerPadding);
  }
}
@media print, screen and (min-width: 813px) {
  .box {
    max-width: calc(var(--box) + var(--pcContainerPadding) * 2);
    padding-left: var(--pcContainerPadding);
    padding-right: var(--pcContainerPadding);
  }
}

.wrap {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.container .wrap, .box .wrap {
  max-width: var(--wrap) !important;
}
@media print, screen and (max-width: 812px) {
  .wrap {
    max-width: calc(var(--wrap) + var(--spContainerPadding) * 2);
    padding-left: var(--spContainerPadding);
    padding-right: var(--spContainerPadding);
  }
}
@media print, screen and (min-width: 813px) {
  .wrap {
    max-width: calc(var(--wrap) + var(--pcContainerPadding) * 2);
    padding-left: var(--pcContainerPadding);
    padding-right: var(--pcContainerPadding);
  }
}

.inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.container .inner, .box .inner, .wrap .inner {
  max-width: var(--inner) !important;
}
@media print, screen and (max-width: 812px) {
  .inner {
    max-width: calc(var(--inner) + var(--spContainerPadding) * 2);
    padding-left: var(--spContainerPadding);
    padding-right: var(--spContainerPadding);
  }
}
@media print, screen and (min-width: 813px) {
  .inner {
    max-width: calc(var(--inner) + var(--pcContainerPadding) * 2);
    padding-left: var(--pcContainerPadding);
    padding-right: var(--pcContainerPadding);
  }
}

[data-sp-container=sm] {
  --spContainerPadding:3%;
}

[data-sp-container=md] {
  --spContainerPadding:5%;
}

[data-sp-container=lg] {
  --spContainerPadding:10%;
}

[data-sp-container=none] {
  --spContainerPadding:0;
}

[data-pc-container=sm] {
  --pcContainerPadding:25px;
}

[data-pc-container=md] {
  --pcContainerPadding:38px;
}

[data-pc-container=lg] {
  --container:calc(var(--containerBase) - (var(--pcContainerPadding) * 2));
  --box:calc(var(--boxBase) - (var(--pcContainerPadding) * 2));
  --wrap:calc(var(--wrapBase) - (var(--pcContainerPadding) * 2));
}

[data-pc-container=none] {
  --pcContainerPadding:0;
}

/*============================================================

    HEADER

============================================================*/
header {
  display: block;
  width: 100%;
  background-color: var(--baseColor);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9990;
}
header .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  height: 100%;
  margin: 0;
}
@media print, screen and (max-width: 812px) {
  header {
    height: var(--spHeaderHeight);
  }
  header .container {
    padding-right: calc(var(--spHeaderHeight) + 1em);
  }
}
@media print, screen and (min-width: 813px) {
  header {
    height: var(--pcHeaderHeight);
  }
  header .container {
    max-width: initial;
    padding-right: calc(var(--pcHeaderHeight) + 2em);
    padding-left: calc(var(--pcContainerPadding) / 5.25);
  }
}
header #header_logo {
  position: relative;
  z-index: 10001;
}
header #header_logo img {
  height: auto;
  margin: 0;
}
@media print, screen and (max-width: 812px) {
  header #header_logo {
    width: 100%;
    max-width: 85px;
  }
}
@media print, screen and (min-width: 813px) {
  header #header_logo {
    width: 100%;
    max-width: 130px;
  }
}

/*--------------------------------
	ナビゲーション
--------------------------------*/
#navigation {
  width: 65%;
  max-width: 880px;
  height: 100vh;
  height: 100dvh;
  padding-top: var(--pcHeaderHeight);
  background-color: var(--mainColor);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9995;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#navigation .nav_cnt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: start;
      align-content: start;
  height: auto;
  min-height: 100%;
  padding: 4vh 10% 8vh;
}
#navigation .nav_cnt > * {
  width: 100%;
}
#navigation .nav_cnt #nav_link li a {
  display: block;
  color: var(--whiteColor);
  text-align: center;
  padding: 1em;
}
#navigation .nav_cnt #nav_link li:nth-child(1) > a {
  background-color: var(--icuColor);
}
#navigation .nav_cnt #nav_link li:nth-child(2) > a {
  background-color: var(--entColor);
}
#navigation .nav_cnt #nav_link li:nth-child(3) > a {
  background-color: var(--cssdColor);
}
#navigation .nav_cnt #nav_main li a {
  display: block;
  color: var(--whiteColor);
  font-size: 1.6rem;
}
#navigation .nav_cnt #nav_main li a span {
  display: block;
  color: var(--textHoverColor);
  font-size: 1.2rem;
  letter-spacing: normal;
}
#navigation .nav_cnt #nav_sub li:not(.salway_link_btn) a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5em;
  color: var(--mainColor);
  text-align: center;
  padding: 1em;
  background-color: var(--whiteColor);
  position: relative;
}
#navigation .nav_cnt #nav_sub li:not(.salway_link_btn) a svg {
  width: 2em;
  height: 2em;
  vertical-align: bottom;
  fill: var(--mainColor);
}
#navigation .nav_cnt #nav_sub li:not(.salway_link_btn) a svg.icon_contact {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}
#navigation .nav_cnt #nav_sub li:not(.salway_link_btn) a:after {
  opacity: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgb(from var(--mainColor) r g b/30%);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
#navigation .nav_cnt #nav_sub .salway_link_btn {
  grid-column: 1/-1;
}
#navigation .nav_cnt #nav_info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em 2em;
}
#navigation .nav_cnt #nav_info li a {
  color: var(--whiteColor);
  font-size: 1.2rem;
}
@media print, screen and (max-width: 812px) {
  #navigation {
    width: 100%;
    max-width: 335px;
    height: 100vh !important;
    height: 100dvh !important;
    padding-top: var(--spHeaderHeight);
  }
  #navigation .nav_cnt {
    padding: 0 6vw 8vh;
    row-gap: 1.5em;
  }
  #navigation .nav_cnt #nav_link {
    row-gap: 0.5em;
  }
  #navigation .nav_cnt #nav_link li a {
    font-size: min(1.3rem, 13px);
    padding: 0.5em;
  }
  #navigation .nav_cnt #nav_main {
    gap: 1em;
  }
  #navigation .nav_cnt #nav_main li a {
    line-height: 1.5;
    font-size: min(1.3rem, 13px);
  }
  #navigation .nav_cnt #nav_main li a span {
    font-size: min(1rem, 10px);
  }
  #navigation .nav_cnt #nav_main li:nth-child(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  #navigation .nav_cnt #nav_main li:nth-child(2) {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  #navigation .nav_cnt #nav_main li:nth-child(3) {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }
  #navigation .nav_cnt #nav_main li:nth-child(4) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #navigation .nav_cnt #nav_main li:nth-child(5) {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  #navigation .nav_cnt #nav_main li:nth-child(6) {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }
  #navigation .nav_cnt #nav_main li:nth-child(7) {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  #navigation .nav_cnt #nav_main li:nth-child(8) {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
  #navigation .nav_cnt #nav_sub {
    -webkit-column-gap: 1em;
       -moz-column-gap: 1em;
            column-gap: 1em;
  }
  #navigation .nav_cnt #nav_sub li:not(.salway_link_btn) a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    font-size: min(1.3rem, 13px);
    padding: 0.5em;
  }
  #navigation .nav_cnt #nav_sub li:not(.salway_link_btn).salway_link_btn a {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  #navigation .nav_cnt #nav_sub .salway_link_btn a {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  #navigation .nav_cnt #nav_info li {
    line-height: 1;
  }
  #navigation .nav_cnt #nav_info li a {
    font-size: min(1.1rem, 11px);
  }
  #navigation .nav_cnt[data-mark-icon] {
    --markIconSize:min(26vw,100px);
  }
}
@media print, screen and (min-width: 813px) {
  #navigation .nav_cnt {
    row-gap: 3em;
  }
  #navigation .nav_cnt #nav_link li:nth-child(1) a:hover {
    background-color: rgb(from var(--icuColor) r g b/70%);
  }
  #navigation .nav_cnt #nav_link li:nth-child(2) a:hover {
    background-color: rgb(from var(--entColor) r g b/70%);
  }
  #navigation .nav_cnt #nav_link li:nth-child(3) a:hover {
    background-color: rgb(from var(--cssdColor) r g b/70%);
  }
  #navigation .nav_cnt #nav_main li a:hover {
    color: var(--textHoverColor);
  }
  #navigation .nav_cnt #nav_sub li a:after {
    -webkit-transition: opacity var(--animationSpeed);
    transition: opacity var(--animationSpeed);
    will-change: opacity;
  }
  #navigation .nav_cnt #nav_sub li a:hover:after {
    opacity: 1;
  }
  #navigation .nav_cnt #nav_info li {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    line-height: 1.4;
  }
  #navigation .nav_cnt #nav_info li a:hover {
    color: var(--textHoverColor);
  }
  #navigation .nav_cnt[data-mark-icon] {
    --markIconSize:min(17vw,250px);
  }
}

/*--------------------------------
	サイドナビゲーション
--------------------------------
#side_navigation{
	position:fixed;
	z-index:10000;
	transform:translateY(-50%);
	ul{
		li{
			width:220px;
			margin-bottom:1px;
			&:last-child{margin-bottom:0;}
			a{
				display:flex;
				align-items:center;
				color:var(--whiteColor);
				font-size:1.5rem;
				background-color:var(--sideNavColor);
				i{
					display:flex;
					align-items:center;
					justify-content:center;
					// width:60px;
					// height:60px;
					svg{
						width:100%;
						height:100%;
						fill:var(--whiteColor);
						&.icon_bell{
							max-width:24px;
							max-height:24px;
						}
						&.icon_calendar{
							max-width:20px;
							max-height:18px;
						}
						&.icon_tel{
							max-width:23px;
							max-height:23px;
						}
						&.icon_reserve{
							max-width:22px;
							max-height:20px;
						}
						&.icon_mail{
							max-width:22px;
							max-height:17px;
						}
						&.icon_pin{
							max-width:20px;
							max-height:24px;
						}
					}
				}
				span{line-height:1;}
			}
		}
	}
	//======== mobile ========
	@include mq('sp') {
		top:auto;
		bottom:0;
		right:0;
		transform:none;
		ul{
			display:flex;
			flex-wrap:wrap;
			gap:1px;
			background-color:var(--whiteColor);
			li{
				width:calc(50% - 1px);
				a{
					display:flex;
					align-items:center;
					color:var(--whiteColor);
					font-size:1.5rem;
					//background-color:var(--sideNavColor);
					span{
						display:block;
						width:calc(100% - 50px);
						font-size:1.3rem;
						text-align:center;
						padding-right:25px;
					}
					i{
						width:50px;
						height:50px;
						// svg{
						// 	width:100%;
						// 	height:100%;
						// }
					}
				}

				//非表示
				&.campaign,&.calendar{
					display:none;
				}
			}
		}

		//nav表示時の挙動
		&{
			opacity:0;
			transform:translateY(100%);
			transition:var(--animationSpeed);
		}
		body.nav-show &,&.show,&.up{
			opacity:1;
			transform:translateY(0%);
		}
	}
	//======== pc ========
	  @include mq('pc') {
		transition:right var(--animationSpeed);
		//right:calc((220px - 60px) * -1);
		right:calc((220px - min(6rem,60px)) * -1);
		top:50%;
		&:hover{right:0!important;}
		ul{
			li{
				a{
					&:hover{
						background-color:var(--sideNavHoverColor);
					}
					i{
						width:6rem;
						height:6rem;
						max-width:60px;
						max-height:60px;
						svg{
							width:40%;
							height:40%;
						}
					}
				}

				//非表示
				&.tel{
					display:none;
				}
			}
		}

		//スクロール時の挙動
		header.hide:not(.show)+&{
			right:-220px;
		}
	}
	@media only screen and (min-width:1280px){
		header.hide:not(.show)+&{
			//right:calc((220px - 60px) * -1);
			right:calc((220px - min(6rem,60px)) * -1);
		}
	}
}*/
/*--------------------------------
	ハンバーガーメニュー
--------------------------------*/
#nav_btnwrapper {
  background-color: transparent;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10001;
  cursor: pointer;
}
#nav_btnwrapper #nav_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
}
#nav_btnwrapper #nav_btn #nav_btn_icon, #nav_btnwrapper #nav_btn:before, #nav_btnwrapper #nav_btn:after {
  display: block;
  width: 100%;
  height: 3px;
  background-color: var(--mainColor);
  position: absolute;
  left: 0;
  -webkit-transition: background-color 600ms;
  transition: background-color 600ms;
}
#nav_btnwrapper #nav_btn #nav_btn_icon {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#nav_btnwrapper #nav_btn:before, #nav_btnwrapper #nav_btn:after {
  content: "";
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  will-change: transform;
}
#nav_btnwrapper #nav_btn:before {
  -webkit-animation: humberger-bar01 0.3s forwards;
          animation: humberger-bar01 0.3s forwards;
}
#nav_btnwrapper #nav_btn:after {
  -webkit-animation: humberger-bar03 0.3s forwards;
          animation: humberger-bar03 0.3s forwards;
}
body.nav-show #nav_btnwrapper {
  background-color: var(--mainColor);
  -webkit-transition: background-color 0.3s 0.3s;
  transition: background-color 0.3s 0.3s;
}
body.nav-show #nav_btnwrapper #nav_btn:before, body.nav-show #nav_btnwrapper #nav_btn:after {
  background-color: var(--whiteColor);
}
body.nav-show #nav_btnwrapper #nav_btn:before {
  -webkit-animation: show-humberger-bar01 0.3s forwards;
          animation: show-humberger-bar01 0.3s forwards;
}
body.nav-show #nav_btnwrapper #nav_btn #nav_btn_icon {
  opacity: 0 !important;
}
body.nav-show #nav_btnwrapper #nav_btn:after {
  -webkit-animation: show-humberger-bar03 0.3s forwards;
          animation: show-humberger-bar03 0.3s forwards;
}
@media print, screen and (max-width: 812px) {
  #nav_btnwrapper {
    width: var(--spHeaderHeight);
    height: var(--spHeaderHeight);
    padding: 16px 14px;
  }
  #nav_btnwrapper #nav_btn #nav_btn_icon, #nav_btnwrapper #nav_btn:before, #nav_btnwrapper #nav_btn:after {
    height: 2px;
  }
}
@media print, screen and (min-width: 813px) {
  #nav_btnwrapper {
    width: var(--pcHeaderHeight);
    height: var(--pcHeaderHeight);
    padding: 20.5px 17.5px;
    -webkit-transition: background-color var(--animationSpeed);
    transition: background-color var(--animationSpeed);
    cursor: pointer;
  }
}

@-webkit-keyframes humberger-bar01 {
  0% {
    top: 50%;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  50% {
    top: 50%;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: 0;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

@keyframes humberger-bar01 {
  0% {
    top: 50%;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  50% {
    top: 50%;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: 0;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@-webkit-keyframes humberger-bar03 {
  0% {
    bottom: calc(50% - 2px);
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  50% {
    bottom: calc(50% - 2px);
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    bottom: 0;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@keyframes humberger-bar03 {
  0% {
    bottom: calc(50% - 2px);
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  50% {
    bottom: calc(50% - 2px);
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    bottom: 0;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@-webkit-keyframes show-humberger-bar01 {
  0% {
    top: 0;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  50% {
    top: 50%;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: 50%;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}
@keyframes show-humberger-bar01 {
  0% {
    top: 0;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  50% {
    top: 50%;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: 50%;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}
@-webkit-keyframes show-humberger-bar03 {
  0% {
    bottom: 0;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  50% {
    bottom: calc(50% - 2px);
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    bottom: calc(50% - 2px);
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
@keyframes show-humberger-bar03 {
  0% {
    bottom: 0;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  50% {
    bottom: calc(50% - 2px);
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    bottom: calc(50% - 2px);
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
/*--------------------------------
ナビゲーション表示スタイル
--------------------------------*/
#navigation[data-sp-nav-type], #navigation[data-pc-nav-type] {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  will-change: opacity, transform;
}
@media print, screen and (max-width: 812px) {
  #navigation[data-sp-nav-type=modal] {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    -webkit-transition: var(--animationSpeed);
    transition: var(--animationSpeed);
  }
  body.nav-show #navigation[data-sp-nav-type=modal] {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  #navigation[data-sp-nav-type=slideDown] {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    -webkit-transition: var(--animationSpeed);
    transition: var(--animationSpeed);
  }
  body.nav-show #navigation[data-sp-nav-type=slideDown] {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  #navigation[data-sp-nav-type=slideRight] {
    height: calc(100% - var(--spHeaderHeight));
    height: calc(100dvh - var(--spHeaderHeight));
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
    -webkit-transition: all 600ms cubic-bezier(0.76, 0, 0.24, 1);
    transition: all 600ms cubic-bezier(0.76, 0, 0.24, 1);
  }
  body.nav-show #navigation[data-sp-nav-type=slideRight] {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  #navigation[data-sp-nav-type=slideLeft] {
    height: calc(100% - var(--spHeaderHeight));
    height: calc(100dvh - var(--spHeaderHeight));
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    -webkit-transition: all 600ms cubic-bezier(0.76, 0, 0.24, 1);
    transition: all 600ms cubic-bezier(0.76, 0, 0.24, 1);
  }
  body.nav-show #navigation[data-sp-nav-type=slideLeft] {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@media print, screen and (min-width: 813px) {
  #navigation[data-pc-nav-type=modal] {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    -webkit-transition: var(--animationSpeed);
    transition: var(--animationSpeed);
  }
  body.nav-show #navigation[data-pc-nav-type=modal] {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  #navigation[data-pc-nav-type=slideDown] {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    -webkit-transition: var(--animationSpeed);
    transition: var(--animationSpeed);
  }
  body.nav-show #navigation[data-pc-nav-type=slideDown] {
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  #navigation[data-pc-nav-type=slideRight] {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
    -webkit-transition: var(--animationSpeed);
    transition: var(--animationSpeed);
  }
  body.nav-show #navigation[data-pc-nav-type=slideRight] {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  #navigation[data-pc-nav-type=slideLeft] {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    -webkit-transition: var(--animationSpeed);
    transition: var(--animationSpeed);
  }
  body.nav-show #navigation[data-pc-nav-type=slideLeft] {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

/*--------------------------------
	nav表示時の透過背景
--------------------------------*/
body #navigation_bg {
  visibility: hidden;
  opacity: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  background-color: #463D2A;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 998;
  -webkit-transition: opacity var(--animationSpeed) ease 0s;
  transition: opacity var(--animationSpeed) ease 0s;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  will-change: opacity;
}
body.nav-show #navigation_bg {
  visibility: visible;
  opacity: 0.16;
  cursor: pointer;
}
@media print, screen and (max-width: 812px) {
  body main, body .parallax-mirror {
    -webkit-transition: none;
    transition: none;
  }
  body #navigation_bg {
    display: none;
  }
  body.nav-show main {
    -webkit-filter: none;
            filter: none;
  }
}
/*--------------------------------
	nav スクロール禁止
--------------------------------
body{
	&.nav-show{
		overflow:hidden;
		height:100%;
	}
	//======== mobile ========
	@include mq('sp') {

	}
	//======== pc ========
	@include mq('pc') {

	}
}*/
/*============================================================

    FOOTER

============================================================*/
body > aside ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2em;
  padding: 4em 1em;
}
body > aside ul li a svg {
  width: 4em;
  height: 4em;
  vertical-align: bottom;
  fill: var(--whiteColor);
}
body > aside ul li a svg.icon_contact {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}
body > aside ul li a img {
  margin: 0;
  -webkit-filter: brightness(0) invert(100%);
          filter: brightness(0) invert(100%);
}
body > aside ul li a img[src*=catalog] {
  max-width: 340px;
}
body > aside ul li a img[src*=contact] {
  max-width: 349px;
}
body > aside ul li a span {
  color: var(--whiteColor);
  font-size: 2.7rem;
}
body > aside ul li a[href="/contact/"] span {
  padding-right: 2em;
}
body > aside ul li:nth-child(1) a {
  background-color: var(--grayColor);
}
body > aside ul li:nth-child(2) a {
  background-color: var(--mainColor);
}
@media print, screen and (max-width: 812px) {
  body > aside ul li a {
    gap: 1.5em;
    padding: 2em 1em;
  }
  body > aside ul li a svg {
    width: 2.5em;
    height: 2.5em;
  }
  body > aside ul li a span {
    font-size: 2rem;
  }
  body > aside ul li:nth-child(1) {
    margin-bottom: 1em;
  }
}
@media print, screen and (min-width: 813px) {
  body > aside ul li:nth-child(1) a:hover {
    background-color: rgb(from var(--grayColor) r g b/80%);
  }
  body > aside ul li:nth-child(2) a:hover {
    background-color: rgb(from var(--mainColor) r g b/80%);
  }
  body > aside ul li a span {
    padding-left: 0.5em;
  }
}

footer {
  /*--------------------------------
  	基本設定
  --------------------------------*/
}
footer {
  color: var(--whiteColor);
  padding: 45px 0;
  background-color: var(--mainColor);
}
footer > div {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 25px;
}
@media print, screen and (max-width: 812px) {
  footer > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
footer {
  /*--------------------------------
  address
  --------------------------------*/
}
footer address #footer-logo {
  width: 130px;
  margin: 0 0 35px;
}
footer address #footer-logo img {
  margin: 0;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
footer address #footer-name {
  line-height: 1;
  margin-bottom: 15px;
}
footer address #footer-addr {
  line-height: 1.5;
  font-size: 1.2rem;
  text-align: left;
  margin-bottom: 20px;
}
footer address #footer-addr a {
  color: var(--whiteColor) !important;
}
@media print, screen and (max-width: 812px) {
  footer address {
    display: block;
    width: 100%;
  }
  footer address #footer-logo {
    width: 117px;
  }
  footer address #footer-logo img {
    width: 100%;
  }
  footer address .salway_link_btn a {
    width: 100%;
  }
}
footer {
  /*--------------------------------
  footer-aside
  --------------------------------*/
}
footer #footer-aside .sns_lists {
  margin-bottom: 20px;
}
footer #footer-aside .footer_copyright {
  line-height: 1;
  font-size: 1.2rem;
}
@media print, screen and (min-width: 813px) {
  footer #footer-aside .sns_lists {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

/*--------------------------------
    ページトップボタン
--------------------------------*/
.pagetop {
  opacity: 0;
  visibility: hidden;
  width: 40px;
  height: 40px;
  position: fixed;
  right: 5%;
  bottom: 20px;
  z-index: 500;
  pointer-events: none;
  zoom: 1;
  -webkit-transition: opacity var(--animationSpeed), visibility var(--animationSpeed);
  transition: opacity var(--animationSpeed), visibility var(--animationSpeed);
  will-change: opacity;
}
.pagetop.exist {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.pagetop.stop {
  position: absolute;
}
.pagetop a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  text-align: center;
  border: solid 1px var(--mainColor);
  background-color: var(--mainColor);
  font-size: 1.2rem;
  -webkit-transition: border-color var(--animationSpeed), background-color var(--animationSpeed);
  transition: border-color var(--animationSpeed), background-color var(--animationSpeed);
}
.pagetop a svg {
  display: block;
  width: 28px;
  height: 12px;
  fill: var(--whiteColor);
  stroke: var(--whiteColor);
  stroke-width: 2px;
  margin: 0 auto;
  -webkit-transition: fill var(--animationSpeed), stroke var(--animationSpeed);
  transition: fill var(--animationSpeed), stroke var(--animationSpeed);
}
@media print, screen and (min-width: 813px) {
  .pagetop {
    width: 50px;
    height: 50px;
    right: 30px;
  }
  .pagetop a svg {
    width: 30px;
    height: 16px;
    -webkit-transition: fill var(--animationSpeed);
    transition: fill var(--animationSpeed);
  }
  .pagetop a:hover {
    background-color: var(--whiteColor);
  }
  .pagetop a:hover svg {
    fill: var(--mainColor);
    stroke: var(--mainColor);
  }
}

/*--------------------------------
    ページトップボタン - bg_change時
--------------------------------*/
body.bg_change .pagetop a {
  border-color: var(--whiteColor);
  background-color: var(--whiteColor);
}
body.bg_change .pagetop a svg {
  fill: var(--mainColor);
  stroke: var(--mainColor);
}
@media print, screen and (min-width: 813px) {
  body.bg_change .pagetop a:hover {
    background-color: var(--mainColor);
  }
  body.bg_change .pagetop a:hover svg {
    fill: var(--whiteColor);
    stroke: var(--whiteColor);
  }
}

/*============================================================

    COMMON

============================================================*/
*[data-padding=vertical] {
  padding-top: var(--pcMargin);
  padding-bottom: var(--pcMargin);
}
*[data-padding=top] {
  padding-top: var(--pcMargin);
}
*[data-padding=bottom] {
  padding-bottom: var(--pcMargin);
}
*[data-margin=vertical] {
  margin-top: var(--pcMargin);
  margin-bottom: var(--pcMargin);
}
*[data-margin=top] {
  margin-top: var(--pcMargin);
}
*[data-margin=bottom] {
  margin-bottom: var(--pcMargin);
}
@media print, screen and (max-width: 812px) {
  *[data-padding=vertical] {
    padding-top: var(--spMargin);
    padding-bottom: var(--spMargin);
  }
  *[data-padding=top] {
    padding-top: var(--spMargin);
  }
  *[data-padding=bottom] {
    padding-bottom: var(--spMargin);
  }
  *[data-margin=vertical] {
    margin-top: var(--spMargin);
    margin-bottom: var(--spMargin);
  }
  *[data-margin=top] {
    margin-top: var(--spMargin);
  }
  *[data-margin=bottom] {
    margin-bottom: var(--spMargin);
  }
}
.page_header > .container a img {
  -webkit-filter: brightness(0%) saturate(100%) invert(12%) sepia(93%) saturate(3349%) hue-rotate(214deg) brightness(84%) contrast(103%);
          filter: brightness(0%) saturate(100%) invert(12%) sepia(93%) saturate(3349%) hue-rotate(214deg) brightness(84%) contrast(103%);
}
.page_header > .container a svg {
  height: auto;
  fill: var(--mainColor);
}
@media print, screen and (max-width: 812px) {
  .page_header {
    padding: 1em 0 1.6em;
  }
  .page_header > .container {
    text-align: center;
  }
  .page_header > .container a {
    font-size: min(2rem, 20px);
  }
  .page_header > .container a img, .page_header > .container a svg {
    max-width: 150px;
    max-height: 20px;
  }
}
@media print, screen and (min-width: 813px) {
  .page_header {
    margin-bottom: 2em;
  }
  .page_header > .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .page_header > .container a {
    display: block;
  }
  .page_header > .container a img, .page_header > .container a svg {
    display: inline;
    max-width: 260px;
  }
}

#page-header:not(.page_header) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
}
#page-header:not(.page_header) .tt_english * {
  margin-top: 0.4em;
}
#page-header:not(.page_header) .tt_english *:first-child {
  margin-top: 0;
}
#page-header:not(.page_header)[data-mark-icon]:after {
  opacity: 0.2;
}
@media print, screen and (max-width: 812px) {
  #page-header:not(.page_header) {
    min-height: 140px;
  }
  #page-header:not(.page_header) .tt_english {
    font-size: min(2rem, 20px);
  }
  #page-header:not(.page_header)[data-mark-icon] {
    --markIconSize:min(15vw,55px);
  }
}
@media print, screen and (min-width: 813px) {
  #page-header:not(.page_header) {
    min-height: 180px;
    margin-bottom: 1.6em;
  }
  #page-header:not(.page_header)[data-mark-icon] {
    --markIconSize:min(6vw,120px);
  }
}

.page_nav {
  width: 100%;
  background-color: var(--baseColor);
  position: sticky;
  left: 0;
  z-index: 9990;
}
.page_nav ul.column {
  gap: 0;
}
.page_nav ul li {
  border-right: solid 1px var(--baseColor);
}
.page_nav ul li:last-child {
  border-right: none;
}
.page_nav ul li a, .page_nav ul li > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  height: 100%;
  color: var(--whiteColor);
  background-color: var(--mainColor);
  position: relative;
}
.page_nav ul li a svg, .page_nav ul li > span svg {
  width: 1em;
  height: 1em;
  fill: var(--whiteColor);
}
.page_nav ul li a svg.arrow_right, .page_nav ul li > span svg.arrow_right {
  position: absolute;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.page_nav ul li.or-icu a, .page_nav ul li.or-icu > span {
  background-color: var(--icuColor);
}
.page_nav ul li.ent a, .page_nav ul li.ent > span {
  background-color: var(--entColor);
}
.page_nav ul li.cssd a, .page_nav ul li.cssd > span {
  background-color: var(--cssdColor);
}
.page_nav ul li.others a, .page_nav ul li.others > span {
  background-color: var(--othersColor);
}
@media print, screen and (max-width: 812px) {
  .page_nav {
    margin-top: 1.2em;
    top: var(--spHeaderHeight);
  }
  .page_nav ul li a, .page_nav ul li > span {
    letter-spacing: normal;
    line-height: 1.4;
    padding: 0.7em 0 1.7em;
  }
  .page_nav ul li a > span, .page_nav ul li > span > span {
    display: block;
    width: 100%;
    text-align: center;
  }
  .page_nav ul li a > span .disp_sp, .page_nav ul li > span > span .disp_sp {
    display: inline !important;
  }
  .page_nav ul li a svg, .page_nav ul li > span svg {
    bottom: 0.3em;
    left: calc(50% - 0.5em);
  }
}
@media print, screen and (min-width: 813px) {
  .page_nav {
    margin-top: 1.6em;
    top: var(--pcHeaderHeight);
  }
  .page_nav ul li a, .page_nav ul li > span {
    font-size: min(2rem, 20px);
    padding: 0.7em 0.5em;
  }
  .page_nav ul li a > span .disp_pc, .page_nav ul li > span > span .disp_pc {
    display: inline !important;
  }
  .page_nav ul li a svg.arrow_right, .page_nav ul li > span svg.arrow_right {
    top: calc(50% - 0.4em);
    right: 1em;
  }
  .page_nav ul li a:hover, .page_nav ul li > span:hover {
    background-color: rgb(from var(--mainColor) r g b/70%);
  }
  .page_nav ul li.or-icu a:hover, .page_nav ul li.or-icu > span:hover {
    background-color: color-mix(in srgb, var(--icuColor) 70%, var(--whiteColor));
  }
  .page_nav ul li.ent a:hover, .page_nav ul li.ent > span:hover {
    background-color: color-mix(in srgb, var(--entColor) 70%, var(--whiteColor));
  }
  .page_nav ul li.cssd a:hover, .page_nav ul li.cssd > span:hover {
    background-color: color-mix(in srgb, var(--cssdColor) 70%, var(--whiteColor));
  }
  .page_nav ul li.others a:hover, .page_nav ul li.others > span:hover {
    background-color: color-mix(in srgb, var(--othersColor) 70%, var(--whiteColor));
  }
}

.page_mainvisual {
  width: 100%;
  overflow: hidden;
}
.page_mainvisual img {
  width: 100%;
}
@media print, screen and (max-width: 812px) {
  .page_mainvisual img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .page_mainvisual[data-mark-icon] {
    --markIconSize:min(39vw,145px);
  }
}
@media print, screen and (min-width: 813px) {
  .page_mainvisual[data-mark-icon] {
    --markIconSize:60%;
  }
  .page_mainvisual[data-mark-icon]:after {
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-position: right bottom;
            mask-position: right bottom;
  }
}

*[data-mark-icon] {
  --markIconSize:26vw;
  position: relative;
}
*[data-mark-icon]:after {
  display: block;
  content: "";
  width: var(--markIconSize);
  height: var(--markIconSize);
  -webkit-mask-image: url("../images/mark.svg");
          mask-image: url("../images/mark.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  background-color: white;
  position: absolute;
  aspect-ratio: 1/1;
  z-index: 1;
}
.slide *[data-mark-icon]:after {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
*[data-mark-icon][data-mark-icon*=top]:after {
  top: 0;
}
*[data-mark-icon][data-mark-icon*=right]:after {
  right: 0;
}
*[data-mark-icon][data-mark-icon*=bottom]:after {
  bottom: 0;
}
*[data-mark-icon][data-mark-icon*=left]:after {
  left: 0;
}
*[data-mark-icon][data-mark-icon*=blue]:after {
  background-color: var(--mainColor);
}
*[data-mark-icon].io:after {
  -webkit-transition: opacity var(--ioAnimationSpeed) ease 0.5s, -webkit-transform var(--ioAnimationSpeed) ease 0.5s;
  transition: opacity var(--ioAnimationSpeed) ease 0.5s, -webkit-transform var(--ioAnimationSpeed) ease 0.5s;
  transition: opacity var(--ioAnimationSpeed) ease 0.5s, transform var(--ioAnimationSpeed) ease 0.5s;
  transition: opacity var(--ioAnimationSpeed) ease 0.5s, transform var(--ioAnimationSpeed) ease 0.5s, -webkit-transform var(--ioAnimationSpeed) ease 0.5s;
  opacity: 0;
  -webkit-transform: translate3d(0, 60px, 0);
          transform: translate3d(0, 60px, 0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  will-change: opacity, transform;
}
*[data-mark-icon].io.move:after {
  opacity: 1 !important;
  -webkit-transform: translate3d(0, 0, 0) !important;
          transform: translate3d(0, 0, 0) !important;
}
@media print, screen and (max-width: 812px) {
  .box_cnt {
    padding: 1.6em;
  }
}
@media print, screen and (min-width: 813px) {
  .box_cnt {
    padding: 3.8em 3.15em;
  }
}

.breadcrumbs {
  padding-top: 1.6em;
}
.breadcrumbs ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3em;
}
.breadcrumbs ul li {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: min(1.2rem, 12px);
  text-align: left;
}
.breadcrumbs ul li a, .breadcrumbs ul li > span, .breadcrumbs ul li:after {
  color: rgb(from var(--mainColor) r g b/50%);
  letter-spacing: 0.05em;
}
.breadcrumbs ul li:after {
  content: ">";
  padding-left: 0.3em;
}
.breadcrumbs ul li:last-child:after {
  display: none;
}
@media print, screen and (max-width: 812px) {
  .breadcrumbs {
    margin-bottom: var(--spMargin);
  }
}
@media print, screen and (min-width: 813px) {
  .breadcrumbs {
    margin-bottom: var(--pcMargin);
  }
  .breadcrumbs ul li a:hover {
    color: var(--mainColor);
  }
}

.column_cnt {
  --leftBgColor:var(--lightBlueColor);
  --rightBgColor:var(--softBlueColor);
}
.column_cnt > div > section:nth-child(1) {
  background-color: var(--leftBgColor);
}
.column_cnt > div > section:nth-child(2) {
  background-color: var(--rightBgColor);
}
@media print, screen and (max-width: 812px) {
  .column_cnt > div.container {
    padding-left: 0;
    padding-right: 0;
  }
  .column_cnt > div.container section {
    padding-left: var(--spContainerPadding);
    padding-right: var(--spContainerPadding);
  }
  .column_cnt > div.container section .article_lists article {
    height: auto !important;
  }
}
@media print, screen and (min-width: 813px) {
  .column_cnt {
    position: relative;
  }
  .column_cnt > div.column {
    -webkit-column-gap: 1em;
       -moz-column-gap: 1em;
            column-gap: 1em;
  }
  .column_cnt > div > section {
    display: grid;
    grid-template-rows: auto 1fr auto;
  }
  .column_cnt > div > section .tt_english {
    margin-bottom: 1em;
  }
  .column_cnt > div > section:nth-child(1) {
    padding-right: 12%;
  }
  .column_cnt > div > section:nth-child(2) {
    padding-left: 12%;
  }
  .column_cnt:before, .column_cnt:after {
    display: block;
    content: "";
    width: 40%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: -1;
  }
  .column_cnt:before {
    background-color: var(--leftBgColor);
    left: 0;
  }
  .column_cnt:after {
    background-color: var(--rightBgColor);
    right: 0;
  }
  .column_cnt .article_lists article > div {
    height: 100%;
  }
}

/*--------------------------------
    journal
--------------------------------*/
.journal_cnt .tt_english {
  margin-bottom: 1.6em;
}
.journal_cnt > div > div > section .tt_main {
  padding: 0 1em;
}
@media print, screen and (max-width: 812px) {
  .journal_cnt > div > div > section {
    padding: 2em 0.5em;
    margin-bottom: 2em;
  }
  .journal_cnt > div > div > section:last-child {
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 813px) {
  .journal_cnt > div > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .journal_cnt > div > div > * {
    width: 46%;
  }
  .journal_cnt > div > div > section {
    padding: 2em 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 0;
  }
  .journal_cnt .slide {
    padding: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 0;
  }
  .journal_cnt .slide .slick-list {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-height: 0;
  }
  .journal_cnt .slide .slick-track {
    height: 100%;
  }
  .journal_cnt .slide .slick-slide {
    height: auto;
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
  .journal_cnt .slide *[data-arrow][data-arrow=left] {
    left: calc(-1 * min(3.2vw, 50px) / 2);
  }
  .journal_cnt .slide *[data-arrow][data-arrow=right] {
    right: calc(-1 * min(3.2vw, 50px) / 2);
  }
}

.salway_cnt > div picture {
  margin-bottom: 1.4em;
}
.salway_cnt > div picture img {
  width: 100%;
}
.salway_cnt > div > div:not(.link_btn) {
  text-align: center;
}
.salway_cnt > div > div:not(.link_btn) .tt_sub {
  font-size: 2rem;
  margin-bottom: 1em;
}
@media print, screen and (max-width: 812px) {
  .salway_cnt > div picture img {
    max-width: 270px;
  }
}
@media print, screen and (min-width: 813px) {
  .salway_cnt > div picture img {
    max-width: 500px;
  }
}

.youtube {
  width: 100%;
  margin: 0 auto;
}
.youtube iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  border: none;
}
/*--------------------------------
    カラムわけ
--------------------------------*/
.column {
  display: grid;
}
.column > * img {
  width: 100%;
  max-width: none;
  min-width: 0;
  height: auto;
  margin: 0 auto;
}
.column > * img + p {
  margin-top: 1em;
}
.column.align-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.column.align-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.column.align-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.column.justify-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.column.justify-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.column.justify-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.column.reverse {
  direction: rtl;
}
.column.reverse > * {
  direction: ltr;
}
@media print, screen and (max-width: 812px) {
  .column.align-sp-top {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .column.align-sp-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .column.align-sp-bottom {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .column.justify-sp-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .column.justify-sp-center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .column.justify-sp-right {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .column.reverse-sp {
    direction: rtl;
  }
  .column.reverse-sp > * {
    direction: ltr;
  }
  .column[data-sp-col="1"] {
    row-gap: 1.6em;
    grid-template-columns: 1fr;
  }
  .column[data-sp-col="1"][class*=justify] {
    grid-template-columns: auto;
  }
  .column[data-sp-col="2"] {
    gap: 1.6em 1em;
    grid-template-columns: 1fr 1fr;
  }
  .column[data-sp-col="2"][class*=justify] {
    grid-template-columns: auto auto;
  }
  .column[data-sp-col="3"] {
    gap: 1.6em;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .column[data-sp-col="3"][class*=justify] {
    grid-template-columns: auto auto auto;
  }
  .column[data-sp-col="4"] {
    gap: 1.6em;
    grid-template-columns: repeat(4, 1fr);
  }
  .column[data-sp-col="4"][class*=justify] {
    grid-template-columns: auto auto auto auto;
  }
}
@media print, screen and (min-width: 813px) {
  .column.align-pc-top {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .column.align-pc-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .column.align-pc-bottom {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .column.justify-pc-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .column.justify-pc-center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .column.justify-pc-right {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .column.reverse-pc {
    direction: rtl;
  }
  .column.reverse-pc > * {
    direction: ltr;
  }
  .column.row, .column[data-pc-col="1"] {
    row-gap: 1.6em;
    grid-template-columns: 1fr !important;
  }
  .column.row[class*=justify], .column[data-pc-col="1"][class*=justify] {
    grid-template-columns: auto !important;
  }
  .column[data-pc-col="2"] {
    gap: 1.6em;
    grid-template-columns: 1fr 1fr;
  }
  .column[data-pc-col="2"][class*=justify] {
    grid-template-columns: auto auto;
  }
  .column[data-pc-col="3"] {
    gap: 1.6em;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .column[data-pc-col="3"][class*=justify] {
    grid-template-columns: auto auto auto;
  }
  .column[data-pc-col="4"] {
    gap: 1.6em;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .column[data-pc-col="4"][class*=justify] {
    grid-template-columns: auto auto auto auto;
  }
  .column[data-pc-col="5"] {
    gap: 1.6em;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
  .column[data-pc-col="5"][class*=justify] {
    grid-template-columns: auto auto auto auto auto;
  }
  .column[data-pc-col="1:2"] {
    gap: 1.6em 4%;
    grid-template-columns: 1fr 2fr;
  }
  .column[data-pc-col="1:2"][class*=justify] {
    grid-template-columns: auto auto;
  }
  .column[data-pc-col="1:3"] {
    gap: 1.6em 4%;
    grid-template-columns: 1fr 3fr;
  }
  .column[data-pc-col="1:3"][class*=justify] {
    grid-template-columns: auto auto;
  }
  .column[data-pc-col="1:4"] {
    gap: 1.6em 4%;
    grid-template-columns: 1fr 4fr;
  }
  .column[data-pc-col="1:4"][class*=justify] {
    grid-template-columns: auto auto;
  }
  .column[data-pc-col="1:5"] {
    gap: 1.6em 4%;
    grid-template-columns: 1fr 5fr;
  }
  .column[data-pc-col="1:5"][class*=justify] {
    grid-template-columns: auto auto;
  }
  .column[data-pc-col="2:1"] {
    gap: 1.6em 4%;
    grid-template-columns: 2fr 1fr;
  }
  .column[data-pc-col="2:1"][class*=justify] {
    grid-template-columns: auto auto;
  }
  .column[data-pc-col="3:1"] {
    gap: 1.6em 4%;
    grid-template-columns: 3fr 1fr;
  }
  .column[data-pc-col="3:1"][class*=justify] {
    grid-template-columns: auto auto;
  }
  .column[data-pc-col="4:1"] {
    gap: 1.6em 4%;
    grid-template-columns: 4fr 1fr;
  }
  .column[data-pc-col="4:1"][class*=justify] {
    grid-template-columns: auto auto;
  }
  .column[data-pc-col="5:1"] {
    gap: 1.6em 4%;
    grid-template-columns: 5fr 1fr;
  }
  .column[data-pc-col="5:1"][class*=justify] {
    grid-template-columns: auto auto;
  }
}

*[data-bg*=white] {
  background-color: var(--whiteColor);
}
*[data-bg*=blue] {
  background-color: var(--mainColor);
}
*[data-bg*=blue] *:not(.link_btn, .link_btn *, .article_lists, .article_lists *) {
  color: var(--whiteColor);
}
*[data-bg*=gray] {
  background-color: var(--grayColor);
}
*[data-bg*=softGray] {
  background-color: var(--softGrayColor);
}
*[data-bg*=paleBlue] {
  background-color: var(--lightBlueColor);
}
*[data-bg*=tintBlue] {
  background-color: var(--tintBlueColor);
}
*[data-bg*=lightBlue] {
  background-color: var(--lightBlueColor);
}
*[data-bg*=deepBlue] {
  background-color: var(--deepBlueColor);
}
*[data-bg*=deepBlue] *:not(.link_btn, .link_btn *, .article_lists, .article_lists *) {
  color: var(--whiteColor);
}
*[data-bg*=softBlue] {
  background-color: var(--softBlueColor);
}
*[data-bg*=grayBlue] {
  background-color: var(--grayBlueColor);
}
*[data-bg*=or-icu] {
  background-color: var(--icuColor);
}
*[data-bg*=or-icu] *:not(.link_btn, .link_btn *) {
  color: var(--whiteColor);
}
*[data-bg*=ent] {
  background-color: var(--entColor);
}
*[data-bg*=ent] *:not(.link_btn, .link_btn *) {
  color: var(--whiteColor);
}
*[data-bg*=cssd] {
  background-color: var(--cssdColor);
}
*[data-bg*=cssd] *:not(.link_btn, .link_btn *) {
  color: var(--whiteColor);
}
*[data-bg*=others] {
  background-color: var(--othersColor);
}
*[data-bg*=others] *:not(.link_btn, .link_btn *) {
  color: var(--whiteColor);
}
/*--------------------------------
	強調
--------------------------------*/
/*--------------------------------
	テキスト汎用性
--------------------------------*/
.txt-left {
  text-align: left;
}
.txt-center {
  text-align: center;
}
.txt-right {
  text-align: right;
}
.txt-bold {
  font-weight: bold;
}
@media print, screen and (max-width: 812px) {
  .txt-sp-left {
    text-align: left;
  }
  .txt-sp-center {
    text-align: center;
  }
  .txt-sp-right {
    text-align: right;
  }
  .txt-sp-bold {
    font-weight: bold;
  }
}
@media print, screen and (min-width: 813px) {
  .txt-pc-left {
    text-align: left;
  }
  .txt-pc-center {
    text-align: center;
  }
  .txt-pc-right {
    text-align: right;
  }
  .txt-pc-bold {
    font-weight: bold;
  }
}

/*--------------------------------
	テキスト縦書き
--------------------------------*/
*[data-text*=vertical]:not([data-text*="pc:"]):not([data-text*="sp:"]) {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
}
@media print, screen and (max-width: 812px) {
  *[data-text*="sp:vertical"] {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    -webkit-font-feature-settings: normal;
            font-feature-settings: normal;
  }
}
@media print, screen and (min-width: 813px) {
  *[data-text*="pc:vertical"] {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    -webkit-font-feature-settings: normal;
            font-feature-settings: normal;
  }
}

/*--------------------------------
	ruby
--------------------------------*/
ruby {
  ruby-align: center;
  -webkit-ruby-align: center;
}
@media print, screen and (min-width: 813px) {
  ruby ruby > rt {
    padding-bottom: 0.2em;
  }
}

/*--------------------------------
	箇条書きリスト
--------------------------------*/
ul[data-list] > li {
  margin-bottom: 0.5em;
}
ul[data-list] > li:last-child {
  margin-bottom: 0;
}
ul[data-list=disc] {
  list-style-type: disc;
  padding-left: 1.5em;
}
ul[data-list=diamond] > li {
  text-indent: -1.35em;
  padding-left: 1.5em;
  margin-bottom: 0.5rem;
}
ul[data-list=diamond] > li:before {
  content: "◆ ";
}
ul[data-list=squareline] > li {
  padding-left: 1.5em;
  margin-bottom: 0.5rem;
  position: relative;
  z-index: -1;
}
ul[data-list=squareline] > li:before {
  display: inline-block;
  content: "";
  width: 1em;
  height: 1em;
  border: solid 1px var(--beigeColor);
  position: absolute;
  top: 0.7rem;
  left: 0;
  z-index: 0;
}
@media print, screen and (max-width: 812px) {
  ul[data-list=squareline] > li:before {
    top: 0.6rem;
  }
}
ul[data-list=notes] > li {
  text-align: left;
  letter-spacing: normal;
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 0.3rem;
}
ul[data-list=notes] > li:before {
  content: "※";
}
/*--------------------------------
	番号付きリスト
--------------------------------*/
ol[data-list=decimal] {
  list-style-type: decimal;
  padding-left: 1.5em;
}
ol[data-list=decimal] > li {
  margin-bottom: 0.5rem;
}
ol[data-list=decimal] > li:last-child {
  margin-bottom: 0;
}
ol[data-list=katakana] {
  list-style-type: katakana;
  padding-left: 2em;
}
ol[data-list=paren] > li {
  text-align: left;
  letter-spacing: normal;
  text-indent: -1.5em;
  padding-left: 1.5em;
  margin-bottom: 0.5rem;
  counter-increment: num;
}
ol[data-list=paren] > li:last-child {
  margin-bottom: 0;
}
ol[data-list=paren] > li:before {
  content: "(" counter(num) ") ";
}
/*--------------------------------
	定義リスト
--------------------------------*/
dl[data-list] > div {
  margin-bottom: 0.3rem;
}
dl[data-list] > div:last-child {
  margin-bottom: 0;
}
dl[data-list=bracket] > div > dt:before {
  content: "＜";
}
dl[data-list=bracket] > div > dt:after {
  content: "＞";
}
dl[data-list=space] > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1em;
}
dl[data-list=space] > div > dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media print, screen and (max-width: 812px) {
  dl[data-list=space] > div {
    display: block;
  }
  dl[data-list=space] > div > dt, dl[data-list=space] > div > dd {
    display: inline;
  }
}
dl[data-list=colon] {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
}
dl[data-list=colon] > div {
  display: contents;
}
dl[data-list=colon] > div > dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
dl[data-list=colon] > div > dt:after {
  content: "：";
  margin-left: 0.5em;
}
dl[data-list=colon] > div > dd {
  padding-left: 0.5em;
}
dl[data-list=square] > div {
  margin-bottom: 3rem;
}
dl[data-list=square] > div:last-child {
  margin-bottom: 0;
}
dl[data-list=square] > div > dt:before {
  content: "■ ";
}
.toggles .toggle_cnt {
  display: none;
}
.accordion[data-accordion*=faq] summary {
  list-style-type: none;
}
.accordion[data-accordion*=faq] .accordion_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  cursor: pointer;
}
.accordion[data-accordion*=faq] .accordion_btn:before {
  content: "Q";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  text-align: center;
}
.accordion[data-accordion*=faq] .accordion_btn span {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.accordion[data-accordion*=faq] .accordion_btn:after {
  content: "";
  position: absolute;
  border-right: solid 1px var(--mainColor);
  border-bottom: solid 1px var(--mainColor);
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.accordion[data-accordion*=faq] .accordion_cnt > div .tt_answer {
  margin-bottom: 0.5em;
}
.accordion[data-accordion*=faq][open] .accordion_btn:after, .accordion[data-accordion*=faq].is-open .accordion_btn:after {
  height: 0;
  border-right-color: transparent;
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}
@media print, screen and (max-width: 812px) {
  .accordion[data-accordion*=faq] .accordion_btn, .accordion[data-accordion*=faq] .accordion_cnt {
    padding: 1em;
    padding-right: 3em;
  }
  .accordion[data-accordion*=faq] .accordion_btn, .accordion[data-accordion*=faq] .accordion_btn .tt_answer, .accordion[data-accordion*=faq] .accordion_cnt, .accordion[data-accordion*=faq] .accordion_cnt .tt_answer {
    gap: 0 1em;
  }
  .accordion[data-accordion*=faq] .accordion_btn:after {
    width: 12px;
    height: 12px;
    top: calc(50% - 3px);
    right: 1em;
  }
  .accordion[data-accordion*=faq][open] .accordion_btn:after, .accordion[data-accordion*=faq].is-open .accordion_btn:after {
    width: 18px;
    top: 50%;
    right: 0.8em;
  }
  .accordion[data-accordion*=faq] .accordion_cnt {
    padding-top: 0;
  }
  .accordion[data-accordion*=faq] .accordion_cnt > div .tt_answer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: 0.5em;
  }
  .accordion[data-accordion*=faq] .accordion_cnt > div .tt_answer:before {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    content: "A";
    text-align: center;
  }
  .accordion[data-accordion*=faq] .accordion_cnt > div > div {
    margin-left: 1.75em;
  }
}
@media print, screen and (min-width: 813px) {
  .accordion[data-accordion*=faq] .accordion_btn, .accordion[data-accordion*=faq] .accordion_cnt {
    padding: 1.4em 1.6em 1.4em 1em;
    padding-right: calc(1.6em + 30px + 0.5em);
  }
  .accordion[data-accordion*=faq] .accordion_btn:before {
    line-height: 1.35;
    width: 50px;
    font-size: min(2.5rem, 25px);
  }
  .accordion[data-accordion*=faq] .accordion_btn span {
    font-size: min(2rem, 20px);
  }
  .accordion[data-accordion*=faq] .accordion_btn:after {
    width: 20px;
    height: 20px;
    top: calc(50% - 5px);
    right: 1.6em;
  }
  .accordion[data-accordion*=faq] .accordion_btn, .accordion[data-accordion*=faq] .accordion_btn:before {
    -webkit-transition: color var(--animationSpeed), border-color var(--animationSpeed);
    transition: color var(--animationSpeed), border-color var(--animationSpeed);
  }
  .accordion[data-accordion*=faq] .accordion_btn:hover {
    color: var(--textHoverColor);
  }
  .accordion[data-accordion*=faq] .accordion_btn:hover:after {
    border-right-color: var(--textHoverColor);
    border-bottom-color: var(--textHoverColor);
  }
  .accordion[data-accordion*=faq] .accordion_cnt {
    padding-top: 0;
  }
  .accordion[data-accordion*=faq] .accordion_cnt > div {
    margin-left: 50px;
  }
  .accordion[data-accordion*=faq] .accordion_cnt > div .tt_answer {
    font-size: min(2rem, 20px);
  }
  .accordion[data-accordion*=faq] .accordion_cnt > div .tt_answer:before {
    content: "A.";
    margin-right: 0.3em;
  }
  .accordion[data-accordion*=faq][open] .accordion_btn:after, .accordion[data-accordion*=faq].is-open .accordion_btn:after {
    width: 28px;
    top: 50%;
    right: calc(1.6em - 5px);
  }
}

.faq_cnt .accordion {
  border-bottom: solid 1px rgb(from var(--mainColor) r g b/25%);
}
.faq_cnt .accordion:first-child {
  border-top: solid 1px rgb(from var(--mainColor) r g b/25%);
}
/*
.accordion[data-accordion*="faq"]{
	//======== 共通 ========
	summary{list-style-type:none;}
	.accordion_btn{
		display:flex;
        align-items:flex-start;
		position:relative;
		cursor:pointer;
		&:before{
			content:"Q";
            flex-shrink:0;
            text-align:center;
		}
		span{flex:1;}
	}
	.accordion_cnt{
		&>div{
			.tt_answer{
				margin-bottom:0.5em;
			}
		}
	}

	//======== mobile ========
	@include mq('sp') {
		.accordion_btn,.accordion_cnt{
			padding:1em;
			&,.tt_answer{
				gap:0 1em;
			}
		}
		.accordion_btn {

		}
		.accordion_cnt{
			padding-top:0;
			&>div{
				.tt_answer{
					display:flex;
					align-items:flex-start;
					margin-bottom:0.5em;
					&:before{
						flex-shrink:0;
						content:"A";
						text-align:center;
					}
				}
				&>div{
					margin-left:calc(1em + 0.75em);
				}
			}
		}
	}
	//======== pc ========
	@include mq('pc') {
		.accordion_btn,.accordion_cnt{
			padding:1.4em 1.6em 1.4em 1em;
			padding-right:calc(1.6em + 30px + 0.5em);
		}
		.accordion_btn{
			&:before{
				line-height:1.35;
				width:50px;
				font-size:min(2.5rem,25px);
			}
			span{font-size:min(2rem,20px);}
			&:after{
                content:"";
                width:20px;
                height:20px;
                border-right:solid 1px var(--mainColor);
                border-bottom:solid 1px var(--mainColor);
                position:absolute;
                top:calc(50% - 5px);
                right:1.6em;
                transform:translateY(-50%) rotate(45deg);
                //transition:all var(--animationSpeed);
            }
			//hover処理
			&,&:before,&:after{transition:color var(--animationSpeed),border-color var(--animationSpeed);}
			&:hover{
				color:var(--textHoverColor);
				&:after{
					border-right-color:var(--textHoverColor);
					border-bottom-color:var(--textHoverColor);
				}
			}
		}
		.accordion_cnt{
			padding-top:0;
			&>div{
				margin-left:50px;
				.tt_answer{
					font-size:min(2rem,20px);
					&:before{
						content:"A.";
						margin-right:0.3em;
					}
				}
				&>div{

				}
			}
		}

		//open時
		&[open],&.is-open{
            .accordion_btn:after{
                height:0;
                border-right-color:transparent;
                transform:translateY(-50%) rotate(0deg); // 45度回転を戻してマイナスにする
                width:28px;
				top:50%;
				right:calc(1.6em - 5px);
            }
        }
	}
}
*/
.accordion[data-accordion*=search] {
  --accordionArrowIconSize:1em;
  --accordionCloseIconSize:1.6em;
}
.accordion[data-accordion*=search] .accordion_cnt {
  display: none;
}
@media print, screen and (max-width: 812px) {
  .accordion[data-accordion*=search] > .accordion_btn {
    margin-bottom: 0;
  }
  .accordion[data-accordion*=search] > .accordion_btn > span {
    display: block;
    text-align: center;
    padding: 1em calc(1.5em + var(--accordionArrowIconSize) + 0.5em);
    position: relative;
    cursor: pointer;
  }
  .accordion[data-accordion*=search] > .accordion_btn > span:before, .accordion[data-accordion*=search] > .accordion_btn > span:after {
    display: block;
    content: "";
    width: var(--accordionArrowIconSize);
    height: 1px;
    background-color: var(--mainColor);
    position: absolute;
    top: 50%;
    right: 1.5em;
  }
  .accordion[data-accordion*=search] > .accordion_btn > span:before {
    right: calc(1.5em + var(--accordionArrowIconSize) - var(--accordionArrowIconSize) * 0.35);
    -webkit-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg);
  }
  .accordion[data-accordion*=search] > .accordion_btn > span:after {
    -webkit-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg);
  }
  .accordion[data-accordion*=search] > .accordion_btn.is-open > span:before, .accordion[data-accordion*=search] > .accordion_btn.is-open > span:after {
    width: var(--accordionCloseIconSize);
  }
  .accordion[data-accordion*=search] > .accordion_btn.is-open > span:before {
    right: 1.5em;
    -webkit-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg);
  }
  .accordion[data-accordion*=search] > .accordion_btn.is-open > span:after {
    -webkit-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg);
  }
}
@media print, screen and (min-width: 813px) {
  .accordion[data-accordion*=search] .accordion_cnt {
    width: 100%;
    padding-top: 4.5em;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10002;
  }
  .accordion[data-accordion*=search] .accordion_cnt #search_close {
    width: var(--pcHeaderHeight);
    height: var(--pcHeaderHeight);
    padding: 27px 22px;
    background-color: transparent;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
  }
  .accordion[data-accordion*=search] .accordion_cnt #search_close > span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
    position: relative;
  }
  .accordion[data-accordion*=search] .accordion_cnt #search_close > span:before, .accordion[data-accordion*=search] .accordion_cnt #search_close > span:after {
    display: block;
    content: "";
    width: 100%;
    height: 3px;
    background-color: var(--mainColor);
    position: absolute;
    left: 0;
    -webkit-transition: background-color 600ms;
    transition: background-color 600ms;
  }
  .accordion[data-accordion*=search] .accordion_cnt #search_close > span:before {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .accordion[data-accordion*=search] .accordion_cnt #search_close > span:after {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}

.accordion[data-accordion*=product] {
  --accordionArrowIconSize:1em;
  --accordionCloseIconSize:1.6em;
}
.accordion[data-accordion*=product] .accordion_btn {
  display: block;
  list-style: none;
  text-align: center;
  padding: 1em calc(1.5em + var(--accordionArrowIconSize) + 0.5em);
  position: relative;
  cursor: pointer;
}
.accordion[data-accordion*=product] .accordion_btn::-webkit-details-marker {
  display: none;
}
.accordion[data-accordion*=product] .accordion_btn:before, .accordion[data-accordion*=product] .accordion_btn:after {
  display: block;
  content: "";
  width: var(--accordionArrowIconSize);
  height: 1px;
  background-color: var(--whiteColor);
  position: absolute;
  top: 50%;
  right: 1.5em;
}
.accordion[data-accordion*=product] .accordion_btn:before {
  right: calc(1.5em + var(--accordionArrowIconSize) - var(--accordionArrowIconSize) * 0.35);
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.accordion[data-accordion*=product] .accordion_btn:after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
.accordion[data-accordion*=product][open] .accordion_btn:before, .accordion[data-accordion*=product][open] .accordion_btn:after, .accordion[data-accordion*=product].is-open .accordion_btn:before, .accordion[data-accordion*=product].is-open .accordion_btn:after {
  width: var(--accordionCloseIconSize);
}
.accordion[data-accordion*=product][open] .accordion_btn:before, .accordion[data-accordion*=product].is-open .accordion_btn:before {
  right: 1.5em;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.accordion[data-accordion*=product][open] .accordion_btn:after, .accordion[data-accordion*=product].is-open .accordion_btn:after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
/*.accordion{
	//======== 共通 ========
	--accordionPadding:1em;

	.accordion_btn{
		padding-right:1.5em;
		padding-left:1.5em;
		border-bottom:solid 1px var(--baseColor);
		&:last-child,&.open{border-bottom:none;}
	}
	.accordion_cnt{
		display:none;
	}

	//プラスアイコン
	&[data-accordion*="plus"] .accordion_btn{
		--accordionIconWidth:1.2em;
		--accordionIconWeight:1px;
		padding-right:calc(var(--accordionPadding) + var(--accordionIconWidth) + 1em);
		position:relative;
		&:before,&:after{
			display:block;
			content:"";
			position:absolute;
			top:50%;
			background-color:var(--blackColor);
			transition:transform var(--animationSpeed);
			transform:translateY(-50%);
		}
		//横線（-）のスタイル
		&:before{
			width:var(--accordionIconWidth);
			height:var(--accordionIconWeight);
			right:var(--accordionPadding);

		}
		//縦線（|）のスタイル
		&:after{
			width:var(--accordionIconWeight);
			height:var(--accordionIconWidth);
			right:calc(var(--accordionPadding) + (var(--accordionIconWidth) / 2) - (var(--accordionIconWeight) / 2));
		}
		&.open:after{
			transform:translate(-50%, -50%) rotate(90deg);
		}
	}

	//style
	&[data-accordion*="faq"]{
		.accordion_btn{
			padding-top:1em;
			padding-bottom:1em;
			padding-left:var(--accordionPadding);
			margin-bottom:0;
			border:solid 1px var(--beigeColor);
			background-color:var(--beigeColor);
			&>span:before{
				content:"Q ";
			}
		}
		.accordion_cnt{
			padding:1.5em var(--accordionPadding);
			background-color:#FBFAF9;
			position:relative;
			&>div{
				display:flex;
				column-gap:0.5em;
				&:before{
					display:block;
					content:"A.";
					flex-shrink:0;
				}
				dl[data-list]>div{margin-bottom:0;}
				ul[data-list="notes"]{margin-top:0.3em;}
				a:not([href^="tel:"], .link_btn a, .link_txt a){
					color:var(--blackColor);
					&:not([href^="tel:"]){text-decoration:underline;}
				}
				a[href^="tel:"]{color:var(--blackColor);}
			}
			.link_btn{margin-top:1em;}
		}
	}

	//======== mobile ========
	@include mq('sp') {

	}
	//======== pc ========
	@include mq('pc') {
		--accordionPadding:3em;

		.accordion_btn{
			padding-right:3em;
			padding-left:3em;
			cursor:pointer;
			transition:background-color var(--animationSpeed),color var(--animationSpeed);
		}

		//プラスアイコン
		&[data-accordion*="plus"] .accordion_btn{
			--accordionIconWidth:1.2em;
		}

		//style
		&[data-accordion*="faq"]{
			.accordion_btn{
				padding-top:1.2em;
				padding-bottom:1.2em;
				&:hover{
					border-color:#B99960;
					background-color:var(--whiteColor);
				}
			}
		}
	}
}*/
/*============================================================

    HEADING

============================================================*/
.tt_english {
  line-height: 1.5;
  color: var(--mainColor);
  font-size: min(3rem, 30px);
  margin-bottom: 1em;
}
.tt_english img {
  width: auto;
}
.tt_english p, .tt_english img {
  margin: 0;
}
.tt_english p {
  margin-bottom: 0;
}
.tt_english * {
  margin-top: 0.6em;
}
.tt_english *:first-child {
  margin-top: 0;
}
.tt_english *.white {
  color: var(--whiteColor);
}
@media print, screen and (max-width: 812px) {
  .tt_english {
    font-size: 2.5rem;
  }
  .tt_english img:not([alt*="SALWAY JOURNAL"]) {
    zoom: 0.65;
  }
}
@media print, screen and (min-width: 813px) {
  .tt_english {
    margin-bottom: 1.6em;
  }
  .tt_english[data-title*=row] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 1em;
  }
  .tt_english[data-title*=row] > * {
    line-height: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 0;
  }
}

.tt_main {
  line-height: 1.6;
  color: var(--mainColor);
  font-weight: 500;
  margin-bottom: 0.5em;
}
.tt_main[data-title*=white] {
  color: var(--whiteColor);
}
@media print, screen and (max-width: 812px) {
  .tt_main {
    font-size: 2.5rem;
    margin-bottom: 0.7em;
  }
  .tt_main[data-title*=small] {
    font-size: 2rem;
  }
  .tt_main[data-title*=large] {
    font-size: 2.5rem;
  }
}
@media print, screen and (min-width: 813px) {
  .tt_main {
    font-size: min(3.5rem, 35px);
  }
  .tt_main[data-title*=small] {
    font-size: min(3rem, 30px);
  }
  .tt_main[data-title*=large] {
    font-size: min(5rem, 50px);
  }
}

.tt_sub {
  line-height: 1.6;
  color: var(--mainColor);
  font-weight: 500;
  margin-bottom: 0.7em;
}
@media print, screen and (max-width: 812px) {
  .tt_sub[data-title*=small] {
    font-size: 1.4rem;
  }
  .tt_sub[data-title*=large] {
    font-size: 2rem;
  }
}
@media print, screen and (min-width: 813px) {
  .tt_sub {
    font-size: min(2rem, 20px);
  }
  .tt_sub[data-title*=small] {
    font-size: min(1.8rem, 18px);
  }
  .tt_sub[data-title*=large] {
    font-size: min(2.5rem, 25px);
  }
}

.tt_bg {
  --bgTitleTextColor:var(--mainColor);
  --bgTitleBgColor:var(--paleBlueColor);
  color: var(--bgTitleTextColor);
  padding: 0.6em 1em;
  margin-bottom: 1em;
  background-color: var(--bgTitleBgColor);
}
.tt_bg[data-title*=blue] {
  --bgTitleTextColor:var(--whiteColor);
  --bgTitleBgColor:var(--mainColor);
}
@media print, screen and (max-width: 812px) {
  .tt_bg[data-title*=large] {
    font-size: min(2rem, 20px);
  }
}
@media print, screen and (min-width: 813px) {
  .tt_bg {
    font-size: min(2rem, 20px);
  }
  .tt_bg[data-title*=large] {
    font-size: min(3rem, 30px);
  }
}

.tt_line {
  line-height: 1.8;
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-decoration-color: rgb(from var(--mainColor) r g b/15%);
  text-underline-offset: 0.4em;
}
/*============================================================

    POSTS LIST

============================================================*/
/*--------------------------------
	記事一覧 共通
--------------------------------*/
*[data-post-lists] article > div {
  position: relative;
}
*[data-post-lists] article > div picture {
  aspect-ratio: 3/2;
}
*[data-post-lists] article > div picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media all and (-ms-high-contrast: none) {
  *[data-post-lists] article > div picture img {
    font-family: "object-fit: cover;";
  }
}
*[data-post-lists] article > div .postTitle a:after, *[data-post-lists] article > div .link_txt a:after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
*[data-post-lists] article > div .postTag a, *[data-post-lists] article > div .postCategory a, *[data-post-lists] article > div .postTerm a {
  position: relative;
  z-index: 3;
}
@media print, screen and (min-width: 813px) {
  *[data-post-lists] article {
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    will-change: opacity, transform;
  }
  *[data-post-lists] article > div picture {
    overflow: hidden;
  }
  *[data-post-lists] article > div picture img {
    -webkit-transition: -webkit-transform var(--animationSpeed), -webkit-filter var(--animationSpeed);
    transition: -webkit-transform var(--animationSpeed), -webkit-filter var(--animationSpeed);
    transition: transform var(--animationSpeed), filter var(--animationSpeed);
    transition: transform var(--animationSpeed), filter var(--animationSpeed), -webkit-transform var(--animationSpeed), -webkit-filter var(--animationSpeed);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    will-change: opacity, transform;
  }
  *[data-post-lists] article:hover > div picture img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    -webkit-filter: brightness(105%);
            filter: brightness(105%);
  }
}

/*--------------------------------
	記事一覧 タイプ
--------------------------------*/
*[data-post-lists*=list] article > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 0.7em 0.5em;
  font-size: min(1.6rem, 16px);
  padding: 1.3em 0;
  border-bottom: solid 1px rgb(from var(--mainColor) r g b/25%);
}
*[data-post-lists*=list] article > div:not(:has(.postCategory)) {
  row-gap: 0.3em;
  padding-block: 1.5em;
}
*[data-post-lists*=list] article > div .postDate {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: var(--mainColor);
  font-size: min(1.2rem, 12px);
  margin-bottom: 0;
}
*[data-post-lists*=list] article > div .postCategory {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-bottom: 0;
}
*[data-post-lists*=list] article > div .postTitle {
  width: 100%;
}
*[data-post-lists*=list] article > div .postTitle a {
  color: var(--mainColor);
}
*[data-post-lists*=list] article:first-child > div {
  border-top: solid 1px rgb(from var(--mainColor) r g b/25%);
}
*[data-post-lists*=list][data-post-lists*=exhibition] article > div {
  padding-block: 1.3em;
}
*[data-post-lists*=list][data-post-lists*=exhibition] article > div .postDate {
  font-size: min(1.6rem, 16px);
}
@media print, screen and (max-width: 812px) {
  *[data-post-lists*=list][data-post-lists*=exhibition] article > div {
    line-height: 1.6;
  }
}
@media print, screen and (min-width: 813px) {
  *[data-post-lists*=list] article > div {
    padding-inline: 2em;
    -webkit-transition: background-color var(--animationSpeed);
    transition: background-color var(--animationSpeed);
  }
  *[data-post-lists*=list] article > div:hover {
    background-color: color-mix(in srgb, var(--tintBlueColor) 50%, var(--whiteColor));
  }
  *[data-post-lists*=list][data-post-lists*=exhibition] article > div:hover {
    background-color: inherit;
  }
}

*[data-post-lists*=card] article > div {
  display: grid !important;
  grid-template-rows: auto 1fr;
  height: 100%;
  border: solid 1px var(--mainColor);
  background-color: var(--whiteColor);
}
*[data-post-lists*=card] article > div > div {
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  gap: 0;
  padding: 1em;
}
*[data-post-lists*=card] article > div > div .postCategory {
  margin-bottom: 0.3em;
}
*[data-post-lists*=card] article > div > div .postTitle {
  line-height: 1.4;
  font-size: 1.8rem;
  font-size: min(1.8rem, 18px);
  margin-bottom: 0.5em;
}
*[data-post-lists*=card] article > div > div .postTitle a {
  color: var(--mainColor);
}
*[data-post-lists*=card] article > div > div .postDate {
  color: var(--mainColor);
  font-size: 1.2rem;
  font-size: min(1.2rem, 12px);
  margin-bottom: 0;
}
*[data-post-lists*=card] article > div > div .postTag li a {
  font-size: 1.2rem;
  font-size: min(1.2rem, 12px);
}
*[data-post-lists*=card] article[data-article*=new] > div:before {
  display: grid;
  place-items: center;
  content: "NEW";
  width: 80px;
  height: 80px;
  line-height: 1;
  color: var(--whiteColor);
  font-weight: bold;
  border-radius: 50%;
  background-color: var(--mainColor);
  position: absolute;
  top: -20px;
  left: -12px;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  z-index: 2;
}
[data-bg*=blue] *[data-post-lists*=card] article[data-article*=new] > div:before {
  border: solid 2px var(--whiteColor);
}
@media print, screen and (max-width: 812px) {
  *[data-post-lists*=card] article[data-article*=new] > div:before {
    width: 50px;
    height: 50px;
    font-size: min(1.4rem, 14px);
    top: -12px;
    left: -8px;
  }
}
@media print, screen and (min-width: 813px) {
  *[data-post-lists*=card] article:hover > div > div .postTitle a {
    color: var(--textHoverColor);
  }
  *[data-post-lists*=card] article[data-article*=new] > div:before {
    font-size: min(2.2rem, 22px);
  }
}

*[data-post-lists*=case] article > div {
  display: grid !important;
  grid-template-rows: auto 1fr;
  height: 100%;
  border: solid 1px var(--mainColor);
  background-color: var(--whiteColor);
}
*[data-post-lists*=case] article > div > div {
  display: grid;
  grid-template-rows: auto auto;
  gap: 0.5em 0;
  padding: 1em;
}
*[data-post-lists*=case] article > div > div .postTitle {
  line-height: 1.4;
  font-size: 1.8rem;
  font-size: min(1.8rem, 18px);
  margin-bottom: 0.5em;
}
*[data-post-lists*=case] article > div > div .postTitle a {
  color: var(--mainColor);
}
*[data-post-lists*=case] article > div > div .postClient {
  font-size: min(1.4rem, 14px);
}
@media print, screen and (max-width: 812px) {
  *[data-post-lists*=case] article > div > div .postClient {
    font-size: min(1.28rem, 12.8px);
  }
}
@media print, screen and (min-width: 813px) {
  *[data-post-lists*=case] article > div {
    grid-template-columns: 25% 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition: background-color var(--animationSpeed);
    transition: background-color var(--animationSpeed);
  }
  *[data-post-lists*=case] article > div picture {
    height: 100%;
  }
  *[data-post-lists*=case] article > div picture img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  *[data-post-lists*=case] article > div:hover {
    background-color: color-mix(in srgb, var(--tintBlueColor) 50%, var(--whiteColor));
  }
}

*[data-post-lists*=product] article > div {
  display: grid !important;
  grid-template-rows: auto 1fr;
  height: 100%;
  background-color: var(--icuColor);
}
*[data-post-lists*=product] article > div > div {
  display: grid;
  grid-template-rows: auto 1fr;
  padding: 1em;
}
*[data-post-lists*=product] article > div > div:has(> :nth-child(2)) {
  row-gap: 0.5em;
}
*[data-post-lists*=product] article > div > div .postTitle {
  line-height: 1.5;
  text-align: left;
}
*[data-post-lists*=product] article > div > div .postTitle a {
  color: var(--whiteColor);
}
*[data-post-lists*=product] article > div > div .postTitle a svg {
  width: 1em;
  height: 1em;
  vertical-align: bottom;
  margin-left: 0.2em;
  fill: var(--whiteColor);
  -webkit-transform: translateY(-0.1em);
          transform: translateY(-0.1em);
}
*[data-post-lists*=product] article > div > div .postExcerpt {
  color: rgb(from var(--whiteColor) r g b/70%);
  margin-bottom: 0;
}
*[data-post-lists*=product] article[data-article=or-icu] > div {
  background-color: var(--icuColor);
}
*[data-post-lists*=product] article[data-article=ent] > div {
  background-color: var(--entColor);
}
*[data-post-lists*=product] article[data-article=cssd] > div {
  background-color: var(--cssdColor);
}
*[data-post-lists*=product] article[data-article=others] > div {
  background-color: var(--othersColor);
}
@media print, screen and (max-width: 812px) {
  *[data-post-lists*=product] article > div > div {
    padding: 1em 0.7em;
  }
  *[data-post-lists*=product] article > div > div .postExcerpt {
    line-height: 1.4;
    font-size: 1.2rem;
    font-size: min(1.2rem, 12px);
  }
}
@media print, screen and (min-width: 813px) {
  *[data-post-lists*=product] article > div {
    -webkit-transition: background-color var(--animationSpeed);
    transition: background-color var(--animationSpeed);
  }
  *[data-post-lists*=product] article > div > div .postTitle {
    font-size: 1.8rem;
    font-size: min(1.8rem, 18px);
  }
  *[data-post-lists*=product] article > div > div .postExcerpt {
    color: rgb(from var(--whiteColor) r g b/70%);
    font-size: 1.4rem;
    font-size: min(1.4rem, 14px);
    margin-bottom: 0;
  }
  *[data-post-lists*=product] article:hover > div {
    background-color: rgb(from var(--icuColor) r g b/70%);
  }
  *[data-post-lists*=product] article:hover > div picture img {
    -webkit-filter: brightness(100%);
            filter: brightness(100%);
  }
  *[data-post-lists*=product] article:hover[data-article=or-icu] > div {
    background-color: color-mix(in srgb, var(--icuColor) 70%, var(--whiteColor));
  }
  *[data-post-lists*=product] article:hover[data-article=ent] > div {
    background-color: color-mix(in srgb, var(--entColor) 70%, var(--whiteColor));
  }
  *[data-post-lists*=product] article:hover[data-article=cssd] > div {
    background-color: color-mix(in srgb, var(--cssdColor) 70%, var(--whiteColor));
  }
  *[data-post-lists*=product] article:hover[data-article=others] > div {
    background-color: color-mix(in srgb, var(--othersColor) 70%, var(--whiteColor));
  }
}

*[data-post-lists*=qanda] article {
  border-bottom: solid 1px rgb(from var(--mainColor) r g b/25%);
}
*[data-post-lists*=qanda] article:first-child {
  border-top: solid 1px rgb(from var(--mainColor) r g b/25%);
}
*[data-post-lists*=qanda] article > div {
  padding: 1.6em 0;
  padding-right: calc(min(3.2vw, 50px) + 1em + 1em);
  position: relative;
}
*[data-post-lists*=qanda] article > div .postCategory {
  margin-bottom: 0.7em;
}
*[data-post-lists*=qanda] article > div div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: min(3.2vw, 50px);
  height: min(3.2vw, 50px);
  border: solid 1px var(--mainColor);
  border-radius: 50%;
  background-color: var(--whiteColor);
  position: absolute;
  top: calc(50% - min(3.2vw, 50px) / 2);
  right: 1em;
  z-index: 2;
  cursor: pointer;
}
*[data-post-lists*=qanda] article > div div span {
  display: block;
  width: 12px;
  height: 25px;
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
}
*[data-post-lists*=qanda] article > div div span svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--mainColor);
}
@media print, screen and (max-width: 812px) {
  *[data-post-lists*=qanda] article > div {
    padding: 1.6em 0;
  }
  *[data-post-lists*=qanda] article > div div {
    display: none;
  }
}
@media print, screen and (min-width: 813px) {
  *[data-post-lists*=qanda] article > div {
    padding-inline: 2em;
    -webkit-transition: background-color var(--animationSpeed);
    transition: background-color var(--animationSpeed);
  }
  *[data-post-lists*=qanda] article > div .postCategory {
    margin-bottom: 1.3em;
  }
  *[data-post-lists*=qanda] article > div div {
    -webkit-transition: background-color var(--animationSpeed), -webkit-transform var(--animationSpeed);
    transition: background-color var(--animationSpeed), -webkit-transform var(--animationSpeed);
    transition: background-color var(--animationSpeed), transform var(--animationSpeed);
    transition: background-color var(--animationSpeed), transform var(--animationSpeed), -webkit-transform var(--animationSpeed);
    will-change: transform;
  }
  *[data-post-lists*=qanda] article > div div span svg {
    -webkit-transition: fill var(--animationSpeed);
    transition: fill var(--animationSpeed);
  }
  *[data-post-lists*=qanda] article > div:hover {
    background-color: rgba(229, 236, 248, 0.5);
  }
  *[data-post-lists*=qanda] article > div:hover div {
    background-color: var(--mainColor);
  }
  *[data-post-lists*=qanda] article > div:hover div span svg {
    fill: var(--whiteColor);
  }
}

*[data-post-lists*=catalog] article > div {
  display: grid !important;
  grid-template-rows: auto 1fr;
  height: 100%;
}
*[data-post-lists*=catalog] article > div > div {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 0;
  padding: 1em;
}
*[data-post-lists*=catalog] article > div > div .postTitle {
  line-height: 1.5;
  text-align: left;
}
*[data-post-lists*=catalog] article > div > div .postTitle a {
  color: var(--whiteColor);
}
*[data-post-lists*=catalog] article > div > div .postTitle a svg {
  width: 1em;
  height: 1em;
  vertical-align: bottom;
  margin-left: 0.2em;
  fill: var(--whiteColor);
  -webkit-transform: translateY(-0.1em);
          transform: translateY(-0.1em);
}
*[data-post-lists*=catalog] article > div > div .link_btn > span {
  min-width: initial;
}
*[data-post-lists*=catalog] article[data-article=or-icu] > div {
  background-color: var(--icuColor);
}
*[data-post-lists*=catalog] article[data-article=ent] > div {
  background-color: var(--entColor);
}
*[data-post-lists*=catalog] article[data-article=cssd] > div {
  background-color: var(--cssdColor);
}
*[data-post-lists*=catalog] article[data-article=others] > div {
  background-color: var(--othersColor);
}
@media print, screen and (max-width: 812px) {
  *[data-post-lists*=catalog] article > div > div {
    padding: 1em 0.5em;
  }
  *[data-post-lists*=catalog] article > div > div .link_btn > span span:has(+ svg) {
    padding-left: 0;
  }
}
@media print, screen and (min-width: 813px) {
  *[data-post-lists*=catalog] article > div {
    -webkit-transition: background-color var(--animationSpeed);
    transition: background-color var(--animationSpeed);
  }
  *[data-post-lists*=catalog] article > div > div .postTitle {
    font-size: 1.8rem;
    font-size: min(1.8rem, 18px);
  }
  *[data-post-lists*=catalog] article > div > div .link_btn > span, *[data-post-lists*=catalog] article > div > div .link_btn > span svg {
    -webkit-transition: all var(--animationSpeed);
    transition: all var(--animationSpeed);
  }
  *[data-post-lists*=catalog] article:hover > div picture img {
    -webkit-filter: brightness(100%);
            filter: brightness(100%);
  }
  *[data-post-lists*=catalog] article:hover > div > div .link_btn a, *[data-post-lists*=catalog] article:hover > div > div .link_btn > span {
    color: var(--mainColor);
    background-color: var(--whiteColor);
  }
  *[data-post-lists*=catalog] article:hover > div > div .link_btn a svg, *[data-post-lists*=catalog] article:hover > div > div .link_btn > span svg {
    fill: var(--mainColor);
  }
  *[data-post-lists*=catalog] article:hover[data-article=or-icu] > div {
    background-color: color-mix(in srgb, var(--icuColor) 70%, var(--whiteColor));
  }
  *[data-post-lists*=catalog] article:hover[data-article=or-icu] > div > div .link_btn a, *[data-post-lists*=catalog] article:hover[data-article=or-icu] > div > div .link_btn > span {
    color: var(--icuColor);
    background-color: var(--whiteColor);
  }
  *[data-post-lists*=catalog] article:hover[data-article=or-icu] > div > div .link_btn a svg, *[data-post-lists*=catalog] article:hover[data-article=or-icu] > div > div .link_btn > span svg {
    fill: var(--icuColor);
  }
  *[data-post-lists*=catalog] article:hover[data-article=ent] > div {
    background-color: color-mix(in srgb, var(--entColor) 70%, var(--whiteColor));
  }
  *[data-post-lists*=catalog] article:hover[data-article=ent] > div > div .link_btn a, *[data-post-lists*=catalog] article:hover[data-article=ent] > div > div .link_btn > span {
    color: var(--entColor);
    background-color: var(--whiteColor);
  }
  *[data-post-lists*=catalog] article:hover[data-article=ent] > div > div .link_btn a svg, *[data-post-lists*=catalog] article:hover[data-article=ent] > div > div .link_btn > span svg {
    fill: var(--entColor);
  }
  *[data-post-lists*=catalog] article:hover[data-article=cssd] > div {
    background-color: color-mix(in srgb, var(--cssdColor) 70%, var(--whiteColor));
  }
  *[data-post-lists*=catalog] article:hover[data-article=cssd] > div > div .link_btn a, *[data-post-lists*=catalog] article:hover[data-article=cssd] > div > div .link_btn > span {
    color: var(--cssdColor);
    background-color: var(--whiteColor);
  }
  *[data-post-lists*=catalog] article:hover[data-article=cssd] > div > div .link_btn a svg, *[data-post-lists*=catalog] article:hover[data-article=cssd] > div > div .link_btn > span svg {
    fill: var(--cssdColor);
  }
  *[data-post-lists*=catalog] article:hover[data-article=others] > div {
    background-color: color-mix(in srgb, var(--othersColor) 70%, var(--whiteColor));
  }
  *[data-post-lists*=catalog] article:hover[data-article=others] > div > div .link_btn a, *[data-post-lists*=catalog] article:hover[data-article=others] > div > div .link_btn > span {
    color: var(--othersColor);
    background-color: var(--whiteColor);
  }
  *[data-post-lists*=catalog] article:hover[data-article=others] > div > div .link_btn a svg, *[data-post-lists*=catalog] article:hover[data-article=others] > div > div .link_btn > span svg {
    fill: var(--othersColor);
  }
}

/*--------------------------------
	カテゴリ
--------------------------------*/
.postCategory {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
}
.postCategory li {
  line-height: 1;
}
.postCategory li a, .postCategory li > span {
  display: block;
  color: var(--whiteColor);
  font-size: min(1.2rem, 12px);
  padding: 0.3em 0.5em 0.4em;
  border: solid 1px var(--mainColor);
  background-color: var(--mainColor);
}
.postCategory li.or-icu a, .postCategory li.or-icu > span {
  border-color: var(--icuColor);
  background-color: var(--icuColor);
}
.postCategory li.ent a, .postCategory li.ent > span {
  border-color: var(--entColor);
  background-color: var(--entColor);
}
.postCategory li.cssd a, .postCategory li.cssd > span {
  border-color: var(--cssdColor);
  background-color: var(--cssdColor);
}
.postCategory li.others a, .postCategory li.others > span {
  border-color: var(--othersColor);
  background-color: var(--othersColor);
}
@media print, screen and (min-width: 813px) {
  .postCategory li a:hover, .postCategory li a:active, .postCategory li > span:hover, .postCategory li > span:active {
    color: var(--mainColor);
    background-color: var(--whiteColor);
  }
  .postCategory li.or-icu a:hover {
    color: var(--icuColor);
    background-color: var(--whiteColor);
  }
  .postCategory li.ent a:hover {
    color: var(--entColor);
    background-color: var(--whiteColor);
  }
  .postCategory li.cssd a:hover {
    color: var(--cssdColor);
    background-color: var(--whiteColor);
  }
  .postCategory li.others a:hover {
    color: var(--othersColor);
    background-color: var(--whiteColor);
  }
}

/*--------------------------------
	タグ
--------------------------------*/
.postTag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 0.5em;
  line-height: 1;
}
.postTag li {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-bottom: 0.2em;
}
.postTag li a {
  color: var(--mainColor);
}
@media print, screen and (max-width: 812px) {
  .postTag li a {
    font-size: 1.1rem;
  }
}
@media print, screen and (min-width: 813px) {
  .postTag li a:hover {
    color: var(--textHoverColor);
  }
}

/*--------------------------------
	hashtag
--------------------------------*/
.hashtag:before {
  content: "#";
}

/*--------------------------------
	日付
--------------------------------*/
.postDate {
  color: var(--blackColor);
}
/*--------------------------------
    検索結果なし
--------------------------------*/
.noresult, .nopost {
  text-align: center;
}

.nopost {
  padding: 0 0 3em 0;
}
@media print, screen and (min-width: 813px) {
  .nopost {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 0 3em 0;
  }
}

/*--------------------------------
    検索コンテンツ
--------------------------------*/
.searchKeyword {
  max-width: 430px;
}
.searchKeyword form {
  width: 100%;
  position: relative;
}
.searchKeyword form input[type=text] {
  width: 100%;
  height: 45px;
  padding: 0 calc(40px + 0.5em) 0 0.5em;
  border-radius: 0;
  border: none;
  background-color: var(--whiteColor);
}
.searchKeyword form input::-webkit-input-placeholder {
  color: var(--textHoverColor);
}
.searchKeyword form input::-moz-placeholder {
  color: var(--textHoverColor);
}
.searchKeyword form input:-ms-input-placeholder {
  color: var(--textHoverColor);
}
.searchKeyword form input::-ms-input-placeholder {
  color: var(--textHoverColor);
}
.searchKeyword form input::placeholder {
  color: var(--textHoverColor);
}
.searchKeyword form input::-webkit-input-placeholder {
  color: var(--textHoverColor);
}
.searchKeyword form input:-ms-input-placeholder {
  color: var(--textHoverColor);
}
.searchKeyword form input::-ms-input-placeholder {
  color: var(--textHoverColor);
}
.searchKeyword form button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 100%;
  padding: 0;
  border: none;
  background-color: var(--whiteColor);
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
}
.searchKeyword form button svg {
  display: block;
  width: 60%;
  height: 60%;
  fill: var(--mainColor);
}
@media print, screen and (min-width: 813px) {
  .searchKeyword {
    min-width: initial;
    margin-right: auto;
    margin-left: auto;
  }
  .searchKeyword.container {
    padding-inline: calc(var(--pcContainerPadding) / 2.5);
  }
  .searchKeyword form button svg {
    -webkit-transition: fill var(--animationSpeed);
    transition: fill var(--animationSpeed);
  }
  .searchKeyword form button:hover svg {
    fill: var(--textHoverColor);
  }
}

/*--------------------------------
	pagination
--------------------------------*/
.pagination ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pagination ul li a, .pagination ul li span:not(.dots) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--mainColor);
  font-size: min(2.2rem, 22px);
  padding-bottom: 0.1em;
  border-radius: 50%;
  border: solid 1px var(--mainColor);
}
.pagination ul li a.current, .pagination ul li span:not(.dots).current {
  color: var(--whiteColor);
  background-color: var(--mainColor);
}
.pagination ul li a.prev, .pagination ul li a.next, .pagination ul li span:not(.dots).prev, .pagination ul li span:not(.dots).next {
  border-radius: 0;
  border: none;
}
.pagination ul li a.prev svg, .pagination ul li a.next svg, .pagination ul li span:not(.dots).prev svg, .pagination ul li span:not(.dots).next svg {
  width: 50%;
  height: 50%;
  fill: var(--mainColor);
}
@media print, screen and (max-width: 812px) {
  .pagination {
    margin-top: 3rem;
  }
  .pagination ul {
    gap: 0.8em;
  }
  .pagination ul li a, .pagination ul li span:not(.dots) {
    width: 40px;
    height: 40px;
    font-size: min(2rem, 20px);
  }
  .pagination ul li a.prev svg, .pagination ul li a.next svg, .pagination ul li span:not(.dots).prev svg, .pagination ul li span:not(.dots).next svg {
    width: 65%;
    height: 65%;
  }
}
@media print, screen and (min-width: 813px) {
  .pagination {
    margin-top: 4rem;
  }
  .pagination ul {
    gap: 1.6em;
  }
  .pagination ul li a:not(.current):hover, .pagination ul li span:not(.dots):not(.current):hover {
    color: var(--whiteColor);
    background-color: var(--mainColor);
  }
  .pagination ul li a:not(.current):hover.prev, .pagination ul li a:not(.current):hover.next, .pagination ul li span:not(.dots):not(.current):hover.prev, .pagination ul li span:not(.dots):not(.current):hover.next {
    background-color: transparent;
  }
  .pagination ul li a:not(.current):hover.prev svg, .pagination ul li span:not(.dots):not(.current):hover.prev svg {
    -webkit-transform: translateX(-3px);
            transform: translateX(-3px);
  }
  .pagination ul li a:not(.current):hover.next svg, .pagination ul li span:not(.dots):not(.current):hover.next svg {
    -webkit-transform: translateX(3px);
            transform: translateX(3px);
  }
}

/*--------------------------------
	pagelink
--------------------------------*/
.pagelink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1em;
  margin-bottom: 0;
}
.pagelink li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3em;
}
.pagelink li a.pagedisable {
  opacity: 0;
  pointer-events: none;
}
.pagelink li:nth-child(2) a {
  color: var(--whiteColor);
  padding: 0.7em 1.6em;
  border-radius: 30px;
  border: solid 1px var(--mainColor);
  background-color: var(--mainColor);
}
.pagelink li:nth-child(1) a, .pagelink li:nth-child(1) > span, .pagelink li:nth-child(3) a, .pagelink li:nth-child(3) > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.pagelink li:nth-child(1) a i, .pagelink li:nth-child(1) > span i, .pagelink li:nth-child(3) a i, .pagelink li:nth-child(3) > span i {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.6em;
  height: 1.6em;
}
.pagelink li:nth-child(1) a i svg, .pagelink li:nth-child(1) > span i svg, .pagelink li:nth-child(3) a i svg, .pagelink li:nth-child(3) > span i svg {
  width: 100%;
  height: 100%;
  fill: var(--mainColor);
}
@media print, screen and (max-width: 812px) {
  .pagelink {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1em 1em;
  }
  .pagelink li {
    width: calc((100% - 1em) / 2);
    position: relative;
  }
  .pagelink li.pageindex {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .pagelink li.pageindex a {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.5em 1.6em;
  }
  .pagelink li a.pageprev, .pagelink li a.pagenext {
    gap: 0.7em;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 1.2rem;
  }
  .pagelink li a.pageprev i, .pagelink li a.pagenext i {
    width: 1.2em;
    height: 1.2em;
  }
  .pagelink li a.pageprev {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .pagelink li a.pagenext {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media print, screen and (min-width: 813px) {
  .pagelink li a span {
    -webkit-transition: color var(--animationSpeed);
    transition: color var(--animationSpeed);
  }
  .pagelink li a i {
    -webkit-transition: background-color var(--animationSpeed);
    transition: background-color var(--animationSpeed);
  }
  .pagelink li a:hover {
    color: var(--textHoverColor);
  }
  .pagelink li a:hover i svg {
    fill: var(--textHoverColor);
  }
  .pagelink li:nth-child(2) a:hover {
    color: var(--mainColor);
    background-color: var(--whiteColor);
  }
}

/*--------------------------------
	Editor
--------------------------------*/
.postContents {
  line-height: 2;
  word-break: break-all;
  overflow-wrap: break-word;
  color: var(--mainColor);
}
.postContents:after {
  content: "";
  display: block;
  clear: both;
}
.postContents > *:first-child {
  margin-top: 0;
}
.postContents a:not(.link_btn a):not(.link_txt a):link, .postContents a:not(.link_btn a):not(.link_txt a):visited {
  color: var(--mainColor);
  text-decoration: underline;
}
.postContents img {
  display: block;
  max-width: 100%;
  height: auto;
}
.postContents p {
  margin: 0 auto 1.5em;
}
.postContents p > img {
  margin: 0 auto 1.5em;
}
.postContents strong {
  color: var(--accentColor);
  font-weight: bold;
}
.postContents em {
  color: var(--textAccentColor);
  font-style: italic;
}
.postContents .wp-caption {
  max-width: 100%;
}
.postContents figure.wp-caption {
  margin: 0 auto 1.5em;
}
.postContents figure.wp-caption img {
  margin: 0 auto;
}
.postContents figure.wp-caption .wp-caption-text {
  margin: 0.8em auto 0;
  font-size: 90%;
  text-align: center;
}
.postContents .aligncenter {
  margin: 0 auto 1em;
}
.postContents .alignleft {
  float: left;
  margin: 0 1em 1em 0;
}
.postContents .alignright {
  float: right;
  margin: 0 0 1em 1em;
}
.postContents blockquote {
  color: #666;
  font-style: italic;
  margin: 1.12em 40px;
}
.postContents pre {
  white-space: normal;
}
.postContents ul, .postContents ol {
  margin: 1.12em 0;
}
.postContents ul {
  list-style-type: disc;
  padding-left: 1em;
}
.postContents ol {
  list-style-type: decimal;
  padding-left: 1.2em;
}
.postContents h1, .postContents h2, .postContents h3, .postContents h4, .postContents h5, .postContents h6 {
  font-weight: 500;
  text-align: left;
}
.postContents h1, .postContents h2 {
  margin: 2em 0 0.75em;
}
.postContents h3, .postContents h4 {
  margin: 1.2em 0 0.75em;
}
.postContents h5, .postContents h6 {
  margin: 1em 0 0.75em;
}
.postContents h1 {
  font-size: 2.2rem;
}
.postContents h2 {
  font-size: 2rem;
  padding: 0.2em 1.6em;
  background-color: var(--subColor);
}
.postContents h3, .postContents h4 {
  font-size: 2rem;
  text-decoration: underline;
  text-decoration-thickness: 4px;
  text-decoration-color: var(--subColor);
  text-underline-offset: 0.5em;
}
.postContents h5 {
  font-size: 2rem;
}
.postContents h6 {
  font-size: 1.8rem;
}
.postContents iframe[src*=youtube] {
  display: block;
  width: 100%;
  height: auto;
  min-height: 474px;
  margin: 0 auto;
}
.postContents *:last-child {
  margin-bottom: 0;
}
@media print, screen and (max-width: 812px) {
  .postContents {
    font-size: 1.5rem;
  }
  .postContents h1 {
    font-size: 2.1rem;
  }
  .postContents h2 {
    font-size: 1.8rem;
  }
  .postContents h3 {
    font-size: 1.8rem;
  }
  .postContents h4 {
    font-size: 1.7rem;
  }
  .postContents h5 {
    font-size: 1.7rem;
  }
  .postContents h6 {
    font-size: 1.6rem;
  }
  .postContents iframe[src*=youtube] {
    min-height: 190px;
  }
}
@media print, screen and (min-width: 813px) {
  .postContents a:not(.link_btn a):not(.link_txt a):hover, .postContents a:not(.link_btn a):not(.link_txt a):active {
    color: var(--accentColor);
    text-decoration: none;
  }
}

/*--------------------------------
	目次（TOC）
--------------------------------*/
#toc_container {
  padding: 3rem 6rem;
  margin: 6rem 0;
  background-color: var(--subColor);
}
#toc_container .toc_title {
  display: none;
}
#toc_container .toc_list {
  padding: 0;
  margin-top: 0;
}
#toc_container .toc_list a {
  color: var(--linkColor);
  text-decoration: none;
}
#toc_container .toc_list > li {
  margin-bottom: 1.5em;
  list-style-type: none;
}
#toc_container .toc_list > li:last-child {
  margin-bottom: 0;
}
#toc_container .toc_list > li > a {
  font-size: 2rem;
  font-size: min(2rem, 20px);
  font-weight: 500;
}
#toc_container .toc_list > li ul {
  padding-left: 1em;
  margin-top: 0;
  margin-bottom: 0;
}
#toc_container .toc_list > li ul li {
  margin-bottom: 0.75em;
  list-style-type: none;
}
#toc_container .toc_list > li ul li:last-child {
  margin-bottom: 0;
}
#toc_container .toc_list > li ul li a {
  font-size: 1.6rem;
  font-size: min(1.6rem, 16px);
  font-weight: 500;
}
#toc_container .toc_list > li ul li ul {
  padding-left: 1em;
  margin-top: 0;
  margin-bottom: 0;
}
#toc_container .toc_list > li ul li ul li {
  margin-bottom: 0;
  list-style-type: none;
}
#toc_container .toc_list > li ul li ul li:last-child {
  margin-bottom: 0;
}
#toc_container .toc_list > li ul li ul li a {
  font-size: 1.4rem;
  font-size: min(1.4rem, 14px);
  font-weight: normal;
}
@media print, screen and (max-width: 812px) {
  #toc_container {
    padding: 2.5rem 2rem;
    margin: 5rem 0;
  }
  #toc_container .toc_list > li {
    margin-bottom: 1em;
  }
  #toc_container .toc_list > li > a {
    font-size: 1.6rem;
  }
  #toc_container .toc_list > li ul {
    margin-top: 0.5em;
  }
  #toc_container .toc_list > li ul li a {
    font-size: 1.4rem;
  }
  #toc_container .toc_list > li ul li ul {
    margin-top: 0.5em;
  }
  #toc_container .toc_list > li ul li ul li a {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 813px) {
  #toc_container .toc_list a:hover {
    opacity: 0.7;
  }
  #toc_container .toc_list > li {
    margin-bottom: 1.5em;
    list-style-type: none;
  }
  #toc_container .toc_list > li:last-child {
    margin-bottom: 0;
  }
  #toc_container .toc_list > li ul {
    padding-left: 2em;
  }
}

/*--------------------------------
	.tt_archive
--------------------------------*/
.tt_archive {
  margin-bottom: 1em;
}
@media print, screen and (min-width: 813px) {
  .tt_archive {
    margin-bottom: 1.7em;
  }
}

/*============================================================

    BUG

============================================================*/
/*----------------------------------------------------
	バグ対応
----------------------------------------------------*/
::-webkit-full-page-media, :future, :root summary::-webkit-details-marker {
  display: none;
}

::-webkit-full-page-media, :future, :root body.products.single #case .slide[data-slide=carousel] .slick-list,
::-webkit-full-page-media, :future, :root body.products.single #case .slide[data-slide=carousel] .slick-track,
::-webkit-full-page-media, :future, :root body.products.single #case .slide[data-slide=carousel] .slick-slide {
  height: auto !important;
}

::-webkit-full-page-media, :future, :root body.products.single #case .slide[data-slide=carousel] .slick-slide > div {
  height: auto !important;
}

@media print, screen and (min-width: 813px) {
  ::-webkit-full-page-media, :future, :root a {
    will-change: auto !important;
  }
}/*# sourceMappingURL=com.css.map */
