@charset "UTF-8";
/* ===================================================================
	file name: defult.css
=================================================================== */
/* contents
----------------------------------------
 * reset                  /*リセット
 * default settings       /*デフォルトセッティング
 * font                   /*フォント･テキスト関係
 * clearfix               /*クリアフィックス
 * float/display/flex     /*フロート・ディスプレイ関係
 * rollover               /*cssロールオーバー
 * fade Animation         /*フェード アニメーション
 * margin                 /*マージン調整
 * padding                /*パディング調整
 * scrollbar              /*フスクロールバー
 * CSS Animation          /*CSS アニメション
 * js Animation           /*jS アニメーション
 * popup modal            /*モーダルウィンドウ設定

---------------------------------------- */
/* =========================================================
 * reset                  /*リセット
========================================================= */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
blockquote,
body,
div,
dl,
dt,
dd,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
li,
ol,
p,
pre,
select,
span,
textarea,
td,
th,
ul,
figure,
figcaption {
  margin: 0px;
  padding: 0px; }

fieldset,
img {
  border: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: 500; }

ol {
  list-style-type: none; }

ul {
  list-style-type: none; }
  ul li {
    list-style-type: none; }
    ul li img {
      line-height: 0;
      font-size: 0;
      vertical-align: top; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption,
th {
  text-align: left; }

iframe {
  border: none; }

a:focus {
  outline: none; }

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal; }

/* IE */
* html ul li dl,
* html ol li dl {
  display: inline; }
*:first-child + html ul li dl,
*:first-child + html ol li dl {
  display: inline; }

/* =========================================================
 * default settings       /*デフォルトセッティング
========================================================= */
* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  word-break: break-all;
  /*CJK (中国語、台湾語、日本語、韓国語) 以外のテキストにおいて、単語中などでの文字の改行に関する禁則処理を解除し、どの文字の間でも改行するようにします。*/ }

html,
body {
  font-size: 62.5%;
  overflow: auto; }

body {
  overflow: hidden;
  -webkit-text-size-adjust: 100%;
  font: inherit;
  font-size: clamp(12px, 0.7291666667vw, 14px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.4;
  font-feature-settings: "palt";
  /*日本語フォントの文字間隔（カーニング）全角スペースを詰める調整、句読点や括弧などの約物を含めた文字間をしっかり詰めてくれます。*/
  color: #4E4E4E;
  background: #fff; }

main {
  display: block; }

/*リンクテキスト全般の設定*/
a {
  width: 100%;
  height: 100%;
  display: block;
  text-decoration: none;
  color: #4E4E4E;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out; }
  a:hover {
    opacity: .7;
    -webkit-opacity: .7;
    -moz-opacity: .7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)"; }

.disabled {
  pointer-events: none; }

.soon {
  pointer-events: none;
  opacity: .5; }

.hide,
.hidden {
  visibility: hidden; }

/*テキスト周りのタグ*/
p {
  line-break: strict;
  text-align: justify; }

/*注釈 annotation*/
.txtanno {
  font-size: 0.5208333333vw !important;
  font-weight: 400;
  line-height: 1.2 !important;
  text-align: left;
  display: block;
  text-indent: -1em;
  padding-left: 1em;
  margin: 1em 0; }

/*上付き*/
.txtsup {
  vertical-align: super; }

/*下付き*/
.txtsub {
  vertical-align: sub; }

/*画像全般の設定*/
img {
  max-width: 100%;
  height: auto;
  border: none; }

/*videoタグ*/
video {
  max-width: 100%; }

/*iframeタグ*/
iframe {
  width: 100%; }

/*レスポンシブ切り替え表示の設定*/
.pc {
  display: block; }

.sp {
  display: none; }

@media screen and (max-width: 767px) {
  body {
    min-width: 100%;
    font-size: clamp(12px, 3.2vw, 14px); }

  /*リンクテキスト全般の設定*/
  a {
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    transition: none; }
    a:hover {
      opacity: 1;
      -webkit-opacity: 1;
      -moz-opacity: 1;
      filter: alpha(opacity=100);
      /* IE lt 8 */
      -ms-filter: "alpha(opacity=100)";
      /* IE 8 */ }

  /*画像全般の設定*/
  img {
    width: 100%; }

  /*テキスト周りのタグ*/
  /*注釈 annotation*/
  .txtanno {
    font-size: 2.6666666667vw !important; }

  /*レスポンシブ切り替え表示の設定*/
  .pc {
    display: none; }

  .sp {
    display: block; } }
/* =========================================================
 * font                   /*フォント･テキスト関係
========================================================= */
/* ウェイト・サイズ */
.fNormal {
  font-weight: normal; }

.fBold {
  font-weight: bold; }

.fItalic {
  font-style: italic; }

.f09 {
  font-size: 75% !important; }

/* base 13px = 9px  */
.f10 {
  font-size: 77% !important; }

/* base 13px = 10px */
.f11 {
  font-size: 85% !important; }

/* base 13px = 11px */
.f12 {
  font-size: 93% !important; }

/* base 13px        */
.f13 {
  font-size: 100% !important; }

/* base 13px = 13px */
.f14 {
  font-size: 108% !important; }

/* base 13px = 14px */
.f15 {
  font-size: 116% !important; }

/* base 13px = 15px */
.f16 {
  font-size: 124% !important; }

/* base 13px = 16px */
.f17 {
  font-size: 131% !important; }

/* base 13px = 17px */
.f18 {
  font-size: 139% !important; }

/* base 13px = 18px */
.f19 {
  font-size: 147% !important; }

/* base 13px = 18px */
.f20 {
  font-size: 154% !important; }

/* base 13px = 18px */
/* カラー */
　
.txtC {
  text-align: center; }

.txtR {
  text-align: right; }

.txtL {
  text-align: left; }

/* テキストインデント */
.hidetxt,
.hd {
  line-height: 150;
  overflow: hidden; }
  .hidetxt a,
  .hd a {
    overflow: hidden; }

/*Montserrat*/
/*Lato*/
/*Roboto Condensed & Roboto*/
/*Noto Sans Japanese*/
.montserrat {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal; }

.lato {
  font-family: "Lato", sans-serif;
  font-optical-sizing: auto; }

.roboto-condensed {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-style: normal; }

.roboto {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto; }

.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal; }

.noto-serif-jp {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal; }

/* =========================================================
 * clearfix               /*クリアフィックス
========================================================= */
/* For modern browsers */
.clearfix {
  zoom: 1;
  /* For IE 6/7 (trigger hasLayout) */ }
  .clearfix:before, .clearfix:after {
    content: "";
    display: table; }
  .clearfix:after {
    clear: both; }

/* =========================================================
 * float/display/flex     /*フロート・ディスプレイ関係
========================================================= */
/* float*/
.flotL {
  display: inline;
  float: left; }

.flotR {
  display: inline;
  float: right; }

.ovhid {
  overflow: hidden;
  zoom: 1; }

/*display*/
.block {
  display: block; }

.none {
  display: none; }

.inline {
  display: inline; }

.inlineb {
  display: inline-block; }

.bnone {
  border: none !important; }

/*flex*/
.flex {
  display: flex; }

.flexjcA {
  justify-content: space-around; }

.flexjcB {
  justify-content: space-between; }

.flexjcC {
  justify-content: center; }

.flexrow-r {
  flex-direction: row-reverse; }

.flexrow {
  flex-direction: row; }

.flexaiB {
  align-items: baseline; }

.flexaiS {
  align-items: flex-start; }

.flexaiE {
  align-items: flex-end; }

.flexaiC {
  align-items: center; }

/* =========================================================
 * rollover               /*cssロールオーバー
========================================================= */
.hover a:hover img {
  opacity: .7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )"; }

/* =========================================================
 * fade Animation         /*フェード アニメーション
========================================================= */
.fade,
.fadein,
.fadein-top,
.fadein-left,
.fadein-right,
.opening,
.fadein-popup {
  position: relative;
  opacity: 0;
  transition: opacity 0.875s ease-in-out , transform 0.875s ease-in-out; }

.fade {
  transform: translate(0, 0); }

.fadein {
  transform: translate(0, 50px); }

.fadein-top {
  transform: translate(0, -50px); }

.fadein-left {
  transform: translate(-50px, 0); }

.fadein-right {
  transform: translate(50px, 0); }

.fadein-popup {
  translate: none;
  rotate: none;
  scale: none;
  transform: translateY(20px) scale(0.8) !important;
  transition: opacity 0.5s ease-in-out , transform 0.5s ease-in-out; }

.fade.scrollin,
.fadein.scrollin,
.fadein-top.scrollin,
.fadein-left.scrollin,
.fadein-right.scrollin,
.opening.active {
  opacity: 1;
  transform: translate(0, 0); }

.fadein-popup.scrollin {
  transform: translate(0, 0) scale(1) !important;
  animation: popup 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards; }

.fadein-topleft {
  animation: topleft 10s infinite linear 1s both; }

.fadein-topright {
  animation: topright 6.3s infinite linear 1s both; }

.fadein-topright02 {
  animation: topright 9.5s infinite linear 1s both; }

.fadein-bottomleft {
  animation: bottomleft 5.5s infinite linear 1s both; }

.fadein-bottomright {
  animation: bottomright 5.5s infinite linear 1s both; }

@keyframes topleft {
  0% {
    transform: translate(-50%, -50%); }
  100% {
    transform: translate(250%, 250%); } }
@keyframes topright {
  0% {
    transform: translate(50%, 50%); }
  100% {
    transform: translate(-100%, 200%); } }
@keyframes bottomleft {
  0% {
    transform: translate(-50%, -50%); }
  100% {
    transform: translate(150%, -250%); } }
@keyframes bottomright {
  0% {
    transform: translate(50%, 50%); }
  100% {
    transform: translate(-150%, 250%); } }
@keyframes popup {
  0% {
    opacity: 0; }
  80%, 100% {
    opacity: 1; } }
/* =========================================================
 * margin                 /*マージン調整
========================================================= */
.mt00 {
  margin-top: 0 !important; }

.mt05 {
  margin-top: 0.2604166667vw !important; }

.mt10 {
  margin-top: 0.5208333333vw !important; }

.mt12 {
  margin-top: 0.625vw !important; }

.mt15 {
  margin-top: 0.78125vw !important; }

.mt20 {
  margin-top: 1.0416666667vw !important; }

.mt25 {
  margin-top: 1.3020833333vw !important; }

.mt30 {
  margin-top: 1.5625vw !important; }

.mt35 {
  margin-top: 1.8229166667vw !important; }

.mt40 {
  margin-top: 2.0833333333vw !important; }

.mt45 {
  margin-top: 2.34375vw !important; }

.mt50 {
  margin-top: 2.6041666667vw !important; }

.mt55 {
  margin-top: 2.8645833333vw !important; }

.mt60 {
  margin-top: 3.125vw !important; }

.mt65 {
  margin-top: 3.3854166667vw !important; }

.mt70 {
  margin-top: 3.6458333333vw !important; }

.mt75 {
  margin-top: 3.90625vw !important; }

.mt80 {
  margin-top: 4.1666666667vw !important; }

.mt85 {
  margin-top: 4.4270833333vw !important; }

.mt90 {
  margin-top: 4.6875vw !important; }

.mt95 {
  margin-top: 4.9479166667vw !important; }

.mt100 {
  margin-top: 5.2083333333vw !important; }

.mr00 {
  margin-right: 0 !important; }

.mr05 {
  margin-right: 0.2604166667vw !important; }

.mr10 {
  margin-right: 0.5208333333vw !important; }

.mr12 {
  margin-right: 0.625vw !important; }

.mr15 {
  margin-right: 0.78125vw !important; }

.mr20 {
  margin-right: 1.0416666667vw !important; }

.mr25 {
  margin-right: 1.3020833333vw !important; }

.mr30 {
  margin-right: 1.5625vw !important; }

.mr35 {
  margin-right: 1.8229166667vw !important; }

.mr40 {
  margin-right: 2.0833333333vw !important; }

.mr45 {
  margin-right: 2.34375vw !important; }

.mr50 {
  margin-right: 2.6041666667vw !important; }

.mr55 {
  margin-right: 2.8645833333vw !important; }

.mr60 {
  margin-right: 3.125vw !important; }

.mr65 {
  margin-right: 3.3854166667vw !important; }

.mr70 {
  margin-right: 3.6458333333vw !important; }

.mr75 {
  margin-right: 3.90625vw !important; }

.mr80 {
  margin-right: 4.1666666667vw !important; }

.mr85 {
  margin-right: 4.4270833333vw !important; }

.mr90 {
  margin-right: 4.6875vw !important; }

.mr95 {
  margin-right: 4.9479166667vw !important; }

.mr100 {
  margin-right: 5.2083333333vw !important; }

.mb00 {
  margin-bottom: 0 !important; }

.mb05 {
  margin-bottom: 0.2604166667vw !important; }

.mb10 {
  margin-bottom: 0.5208333333vw !important; }

.mb12 {
  margin-bottom: 0.625vw !important; }

.mb15 {
  margin-bottom: 0.78125vw !important; }

.mb20 {
  margin-bottom: 1.0416666667vw !important; }

.mb25 {
  margin-bottom: 1.3020833333vw !important; }

.mb30 {
  margin-bottom: 1.5625vw !important; }

.mb35 {
  margin-bottom: 1.8229166667vw !important; }

.mb40 {
  margin-bottom: 2.0833333333vw !important; }

.mb45 {
  margin-bottom: 2.34375vw !important; }

.mb50 {
  margin-bottom: 2.6041666667vw !important; }

.mb55 {
  margin-bottom: 2.8645833333vw !important; }

.mb60 {
  margin-bottom: 3.125vw !important; }

.mb65 {
  margin-bottom: 3.3854166667vw !important; }

.mb70 {
  margin-bottom: 3.6458333333vw !important; }

.mb75 {
  margin-bottom: 3.90625vw !important; }

.mb80 {
  margin-bottom: 4.1666666667vw !important; }

.mb85 {
  margin-bottom: 4.4270833333vw !important; }

.mb90 {
  margin-bottom: 4.6875vw !important; }

.mb95 {
  margin-bottom: 4.9479166667vw !important; }

.mb100 {
  margin-bottom: 5.2083333333vw !important; }

.ml00 {
  margin-left: 0 !important; }

.ml05 {
  margin-left: 0.2604166667vw !important; }

.ml10 {
  margin-left: 0.5208333333vw !important; }

.ml12 {
  margin-left: 0.625vw !important; }

.ml15 {
  margin-left: 0.78125vw !important; }

.ml20 {
  margin-left: 1.0416666667vw !important; }

.ml25 {
  margin-left: 1.3020833333vw !important; }

.ml30 {
  margin-left: 1.5625vw !important; }

.ml35 {
  margin-left: 1.8229166667vw !important; }

.ml40 {
  margin-left: 2.0833333333vw !important; }

.ml45 {
  margin-left: 2.34375vw !important; }

.ml50 {
  margin-left: 2.6041666667vw !important; }

.ml55 {
  margin-left: 2.8645833333vw !important; }

.ml60 {
  margin-left: 3.125vw !important; }

.ml65 {
  margin-left: 3.3854166667vw !important; }

.ml70 {
  margin-left: 3.6458333333vw !important; }

.ml75 {
  margin-left: 3.90625vw !important; }

.ml80 {
  margin-left: 4.1666666667vw !important; }

.ml85 {
  margin-left: 4.4270833333vw !important; }

.ml90 {
  margin-left: 4.6875vw !important; }

.ml95 {
  margin-left: 4.9479166667vw !important; }

.ml100 {
  margin-left: 5.2083333333vw !important; }

@media screen and (max-width: 767px) {
  .mt00 {
    margin-top: 0 !important; }

  .mt05 {
    margin-top: 2.6666666667vw !important; }

  .mt10 {
    margin-top: 5.3333333333vw !important; }

  .mt12 {
    margin-top: 6.4vw !important; }

  .mt15 {
    margin-top: 8vw !important; }

  .mt20 {
    margin-top: 10.6666666667vw !important; }

  .mt25 {
    margin-top: 13.3333333333vw !important; }

  .mt30 {
    margin-top: 16vw !important; }

  .mt35 {
    margin-top: 18.6666666667vw !important; }

  .mt40 {
    margin-top: 21.3333333333vw !important; }

  .mt45 {
    margin-top: 24vw !important; }

  .mt50 {
    margin-top: 26.6666666667vw !important; }

  .mt55 {
    margin-top: 29.3333333333vw !important; }

  .mt60 {
    margin-top: 32vw !important; }

  .mt65 {
    margin-top: 34.6666666667vw !important; }

  .mt70 {
    margin-top: 37.3333333333vw !important; }

  .mt75 {
    margin-top: 40vw !important; }

  .mt80 {
    margin-top: 42.6666666667vw !important; }

  .mt85 {
    margin-top: 45.3333333333vw !important; }

  .mt90 {
    margin-top: 48vw !important; }

  .mt95 {
    margin-top: 50.6666666667vw !important; }

  .mt100 {
    margin-top: 53.3333333333vw !important; }

  .mr00 {
    margin-right: 0 !important; }

  .mr05 {
    margin-right: 2.6666666667vw !important; }

  .mr10 {
    margin-right: 5.3333333333vw !important; }

  .mr12 {
    margin-right: 6.4vw !important; }

  .mr15 {
    margin-right: 8vw !important; }

  .mr20 {
    margin-right: 10.6666666667vw !important; }

  .mr25 {
    margin-right: 13.3333333333vw !important; }

  .mr30 {
    margin-right: 16vw !important; }

  .mr35 {
    margin-right: 18.6666666667vw !important; }

  .mr40 {
    margin-right: 21.3333333333vw !important; }

  .mr45 {
    margin-right: 24vw !important; }

  .mr50 {
    margin-right: 26.6666666667vw !important; }

  .mr55 {
    margin-right: 29.3333333333vw !important; }

  .mr60 {
    margin-right: 32vw !important; }

  .mr65 {
    margin-right: 34.6666666667vw !important; }

  .mr70 {
    margin-right: 37.3333333333vw !important; }

  .mr75 {
    margin-right: 40vw !important; }

  .mr80 {
    margin-right: 42.6666666667vw !important; }

  .mr85 {
    margin-right: 45.3333333333vw !important; }

  .mr90 {
    margin-right: 48vw !important; }

  .mr95 {
    margin-right: 50.6666666667vw !important; }

  .mr100 {
    margin-right: 53.3333333333vw !important; }

  .mb00 {
    margin-bottom: 0 !important; }

  .mb05 {
    margin-bottom: 2.6666666667vw !important; }

  .mb10 {
    margin-bottom: 5.3333333333vw !important; }

  .mb12 {
    margin-bottom: 6.4vw !important; }

  .mb15 {
    margin-bottom: 8vw !important; }

  .mb20 {
    margin-bottom: 10.6666666667vw !important; }

  .mb25 {
    margin-bottom: 13.3333333333vw !important; }

  .mb30 {
    margin-bottom: 16vw !important; }

  .mb35 {
    margin-bottom: 18.6666666667vw !important; }

  .mb40 {
    margin-bottom: 21.3333333333vw !important; }

  .mb45 {
    margin-bottom: 24vw !important; }

  .mb50 {
    margin-bottom: 26.6666666667vw !important; }

  .mb55 {
    margin-bottom: 29.3333333333vw !important; }

  .mb60 {
    margin-bottom: 32vw !important; }

  .mb65 {
    margin-bottom: 34.6666666667vw !important; }

  .mb70 {
    margin-bottom: 37.3333333333vw !important; }

  .mb75 {
    margin-bottom: 40vw !important; }

  .mb80 {
    margin-bottom: 42.6666666667vw !important; }

  .mb85 {
    margin-bottom: 45.3333333333vw !important; }

  .mb90 {
    margin-bottom: 48vw !important; }

  .mb95 {
    margin-bottom: 50.6666666667vw !important; }

  .mb100 {
    margin-bottom: 53.3333333333vw !important; }

  .ml00 {
    margin-left: 0 !important; }

  .ml05 {
    margin-left: 2.6666666667vw !important; }

  .ml10 {
    margin-left: 5.3333333333vw !important; }

  .ml12 {
    margin-left: 6.4vw !important; }

  .ml15 {
    margin-left: 8vw !important; }

  .ml20 {
    margin-left: 10.6666666667vw !important; }

  .ml25 {
    margin-left: 13.3333333333vw !important; }

  .ml30 {
    margin-left: 16vw !important; }

  .ml35 {
    margin-left: 18.6666666667vw !important; }

  .ml40 {
    margin-left: 21.3333333333vw !important; }

  .ml45 {
    margin-left: 24vw !important; }

  .ml50 {
    margin-left: 26.6666666667vw !important; }

  .ml55 {
    margin-left: 29.3333333333vw !important; }

  .ml60 {
    margin-left: 32vw !important; }

  .ml65 {
    margin-left: 34.6666666667vw !important; }

  .ml70 {
    margin-left: 37.3333333333vw !important; }

  .ml75 {
    margin-left: 40vw !important; }

  .ml80 {
    margin-left: 42.6666666667vw !important; }

  .ml85 {
    margin-left: 45.3333333333vw !important; }

  .ml90 {
    margin-left: 48vw !important; }

  .ml95 {
    margin-left: 50.6666666667vw !important; }

  .ml100 {
    margin-left: 53.3333333333vw !important; } }
/* ======================================================
 * padding                /*パディング調整
====================================================== */
.pt00 {
  padding-top: 0 !important; }

.pt05 {
  padding-top: 0.2604166667vw !important; }

.pt10 {
  padding-top: 0.5208333333vw !important; }

.pt12 {
  padding-top: 0.625vw !important; }

.pt15 {
  padding-top: 0.78125vw !important; }

.pt20 {
  padding-top: 1.0416666667vw !important; }

.pt25 {
  padding-top: 1.3020833333vw !important; }

.pt30 {
  padding-top: 1.5625vw !important; }

.pt35 {
  padding-top: 1.8229166667vw !important; }

.pt40 {
  padding-top: 2.0833333333vw !important; }

.pt45 {
  padding-top: 2.34375vw !important; }

.pt50 {
  padding-top: 2.6041666667vw !important; }

.pt55 {
  padding-top: 2.8645833333vw !important; }

.pt60 {
  padding-top: 3.125vw !important; }

.pt65 {
  padding-top: 3.3854166667vw !important; }

.pt70 {
  padding-top: 3.6458333333vw !important; }

.pt75 {
  padding-top: 3.90625vw !important; }

.pt80 {
  padding-top: 4.1666666667vw !important; }

.pt85 {
  padding-top: 4.4270833333vw !important; }

.pt90 {
  padding-top: 4.6875vw !important; }

.pt95 {
  padding-top: 4.9479166667vw !important; }

.pt100 {
  padding-top: 5.2083333333vw !important; }

.pr00 {
  padding-right: 0 !important; }

.pr05 {
  padding-right: 0.2604166667vw !important; }

.pr10 {
  padding-right: 0.5208333333vw !important; }

.pr12 {
  padding-right: 0.625vw !important; }

.pr15 {
  padding-right: 0.78125vw !important; }

.pr20 {
  padding-right: 1.0416666667vw !important; }

.pr25 {
  padding-right: 1.3020833333vw !important; }

.pr30 {
  padding-right: 1.5625vw !important; }

.pr35 {
  padding-right: 1.8229166667vw !important; }

.pr40 {
  padding-right: 2.0833333333vw !important; }

.pr45 {
  padding-right: 2.34375vw !important; }

.pr50 {
  padding-right: 2.6041666667vw !important; }

.pr55 {
  padding-right: 2.8645833333vw !important; }

.pr60 {
  padding-right: 3.125vw !important; }

.pr65 {
  padding-right: 3.3854166667vw !important; }

.pr70 {
  padding-right: 3.6458333333vw !important; }

.pr75 {
  padding-right: 3.90625vw !important; }

.pr80 {
  padding-right: 4.1666666667vw !important; }

.pr85 {
  padding-right: 4.4270833333vw !important; }

.pr90 {
  padding-right: 4.6875vw !important; }

.pr95 {
  padding-right: 4.9479166667vw !important; }

.pr100 {
  padding-right: 5.2083333333vw !important; }

.pb00 {
  padding-bottom: 0 !important; }

.pb05 {
  padding-bottom: 0.2604166667vw !important; }

.pb10 {
  padding-bottom: 0.5208333333vw !important; }

.pb12 {
  padding-bottom: 0.625vw !important; }

.pb15 {
  padding-bottom: 0.78125vw !important; }

.pb20 {
  padding-bottom: 1.0416666667vw !important; }

.pb25 {
  padding-bottom: 1.3020833333vw !important; }

.pb30 {
  padding-bottom: 1.5625vw !important; }

.pb35 {
  padding-bottom: 1.8229166667vw !important; }

.pb40 {
  padding-bottom: 2.0833333333vw !important; }

.pb45 {
  padding-bottom: 2.34375vw !important; }

.pb50 {
  padding-bottom: 2.6041666667vw !important; }

.pb55 {
  padding-bottom: 2.8645833333vw !important; }

.pb60 {
  padding-bottom: 3.125vw !important; }

.pb65 {
  padding-bottom: 3.3854166667vw !important; }

.pb70 {
  padding-bottom: 3.6458333333vw !important; }

.pb75 {
  padding-bottom: 3.90625vw !important; }

.pb80 {
  padding-bottom: 4.1666666667vw !important; }

.pb85 {
  padding-bottom: 4.4270833333vw !important; }

.pb90 {
  padding-bottom: 4.6875vw !important; }

.pb95 {
  padding-bottom: 4.9479166667vw !important; }

.pb100 {
  padding-bottom: 5.2083333333vw !important; }

.pl00 {
  padding-left: 0 !important; }

.pl05 {
  padding-left: 0.2604166667vw !important; }

.pl10 {
  padding-left: 0.5208333333vw !important; }

.pl12 {
  padding-left: 0.625vw !important; }

.pl15 {
  padding-left: 0.78125vw !important; }

.pl20 {
  padding-left: 1.0416666667vw !important; }

.pl25 {
  padding-left: 1.3020833333vw !important; }

.pl30 {
  padding-left: 1.5625vw !important; }

.pl35 {
  padding-left: 1.8229166667vw !important; }

.pl40 {
  padding-left: 2.0833333333vw !important; }

.pl45 {
  padding-left: 2.34375vw !important; }

.pl50 {
  padding-left: 2.6041666667vw !important; }

.pl55 {
  padding-left: 2.8645833333vw !important; }

.pl60 {
  padding-left: 3.125vw !important; }

.pl65 {
  padding-left: 3.3854166667vw !important; }

.pl70 {
  padding-left: 3.6458333333vw !important; }

.pl75 {
  padding-left: 3.90625vw !important; }

.pl80 {
  padding-left: 4.1666666667vw !important; }

.pl85 {
  padding-left: 4.4270833333vw !important; }

.pl90 {
  padding-left: 4.6875vw !important; }

.pl95 {
  padding-left: 4.9479166667vw !important; }

.pl100 {
  padding-left: 5.2083333333vw !important; }

@media screen and (max-width: 767px) {
  .pt00 {
    padding-top: 0 !important; }

  .pt05 {
    padding-top: 2.6666666667vw !important; }

  .pt10 {
    padding-top: 5.3333333333vw !important; }

  .pt12 {
    padding-top: 6.4vw !important; }

  .pt15 {
    padding-top: 8vw !important; }

  .pt20 {
    padding-top: 10.6666666667vw !important; }

  .pt25 {
    padding-top: 13.3333333333vw !important; }

  .pt30 {
    padding-top: 16vw !important; }

  .pt35 {
    padding-top: 18.6666666667vw !important; }

  .pt40 {
    padding-top: 21.3333333333vw !important; }

  .pt45 {
    padding-top: 24vw !important; }

  .pt50 {
    padding-top: 26.6666666667vw !important; }

  .pt55 {
    padding-top: 29.3333333333vw !important; }

  .pt60 {
    padding-top: 32vw !important; }

  .pt65 {
    padding-top: 34.6666666667vw !important; }

  .pt70 {
    padding-top: 37.3333333333vw !important; }

  .pt75 {
    padding-top: 40vw !important; }

  .pt80 {
    padding-top: 42.6666666667vw !important; }

  .pt85 {
    padding-top: 45.3333333333vw !important; }

  .pt90 {
    padding-top: 48vw !important; }

  .pt95 {
    padding-top: 50.6666666667vw !important; }

  .pt100 {
    padding-top: 53.3333333333vw !important; }

  .pr00 {
    padding-right: 0 !important; }

  .pr05 {
    padding-right: 2.6666666667vw !important; }

  .pr10 {
    padding-right: 5.3333333333vw !important; }

  .pr12 {
    padding-right: 6.4vw !important; }

  .pr15 {
    padding-right: 8vw !important; }

  .pr20 {
    padding-right: 10.6666666667vw !important; }

  .pr25 {
    padding-right: 13.3333333333vw !important; }

  .pr30 {
    padding-right: 16vw !important; }

  .pr35 {
    padding-right: 18.6666666667vw !important; }

  .pr40 {
    padding-right: 21.3333333333vw !important; }

  .pr45 {
    padding-right: 24vw !important; }

  .pr50 {
    padding-right: 26.6666666667vw !important; }

  .pr55 {
    padding-right: 29.3333333333vw !important; }

  .pr60 {
    padding-right: 32vw !important; }

  .pr65 {
    padding-right: 34.6666666667vw !important; }

  .pr70 {
    padding-right: 37.3333333333vw !important; }

  .pr75 {
    padding-right: 40vw !important; }

  .pr80 {
    padding-right: 42.6666666667vw !important; }

  .pr85 {
    padding-right: 45.3333333333vw !important; }

  .pr90 {
    padding-right: 48vw !important; }

  .pr95 {
    padding-right: 50.6666666667vw !important; }

  .pr100 {
    padding-right: 53.3333333333vw !important; }

  .pb00 {
    padding-bottom: 0 !important; }

  .pb05 {
    padding-bottom: 2.6666666667vw !important; }

  .pb10 {
    padding-bottom: 5.3333333333vw !important; }

  .pb12 {
    padding-bottom: 6.4vw !important; }

  .pb15 {
    padding-bottom: 8vw !important; }

  .pb20 {
    padding-bottom: 10.6666666667vw !important; }

  .pb25 {
    padding-bottom: 13.3333333333vw !important; }

  .pb30 {
    padding-bottom: 16vw !important; }

  .pb35 {
    padding-bottom: 18.6666666667vw !important; }

  .pb40 {
    padding-bottom: 21.3333333333vw !important; }

  .pb45 {
    padding-bottom: 24vw !important; }

  .pb50 {
    padding-bottom: 26.6666666667vw !important; }

  .pb55 {
    padding-bottom: 29.3333333333vw !important; }

  .pb60 {
    padding-bottom: 32vw !important; }

  .pb65 {
    padding-bottom: 34.6666666667vw !important; }

  .pb70 {
    padding-bottom: 37.3333333333vw !important; }

  .pb75 {
    padding-bottom: 40vw !important; }

  .pb80 {
    padding-bottom: 42.6666666667vw !important; }

  .pb85 {
    padding-bottom: 45.3333333333vw !important; }

  .pb90 {
    padding-bottom: 48vw !important; }

  .pb95 {
    padding-bottom: 50.6666666667vw !important; }

  .pb100 {
    padding-bottom: 53.3333333333vw !important; }

  .pl00 {
    padding-left: 0 !important; }

  .pl05 {
    padding-left: 2.6666666667vw !important; }

  .pl10 {
    padding-left: 5.3333333333vw !important; }

  .pl12 {
    padding-left: 6.4vw !important; }

  .pl15 {
    padding-left: 8vw !important; }

  .pl20 {
    padding-left: 10.6666666667vw !important; }

  .pl25 {
    padding-left: 13.3333333333vw !important; }

  .pl30 {
    padding-left: 16vw !important; }

  .pl35 {
    padding-left: 18.6666666667vw !important; }

  .pl40 {
    padding-left: 21.3333333333vw !important; }

  .pl45 {
    padding-left: 24vw !important; }

  .pl50 {
    padding-left: 26.6666666667vw !important; }

  .pl55 {
    padding-left: 29.3333333333vw !important; }

  .pl60 {
    padding-left: 32vw !important; }

  .pl65 {
    padding-left: 34.6666666667vw !important; }

  .pl70 {
    padding-left: 37.3333333333vw !important; }

  .pl75 {
    padding-left: 40vw !important; }

  .pl80 {
    padding-left: 42.6666666667vw !important; }

  .pl85 {
    padding-left: 45.3333333333vw !important; }

  .pl90 {
    padding-left: 48vw !important; }

  .pl95 {
    padding-left: 50.6666666667vw !important; }

  .pl100 {
    padding-left: 53.3333333333vw !important; } }
/* =========================================================
 * scrollbar              /*フスクロールバー
========================================================= */
/* Chrome, Safari 対応 */
::-webkit-scrollbar {
  display: none;
  -webkit-appearance: none;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */ }

/*垂直方向のスクロールバーに適用*/
/*::-webkit-scrollbar:horizontal{
    display: none;
    -webkit-appearance: none;
}*/
/*水平方向のスクロールバーに適用*/
/*::-webkit-scrollbar:vertical{
    display: none;
    -webkit-appearance: none;
}*/
/* =========================================================
 * CSS Animation          /*CSS アニメション
========================================================= */
/*<div class="scroll">
	<div class="scroll--inner">
		<span>Scroll</span>
		<div class="bar"></div>
	</div>
</div>*/
.scroll {
  position: absolute;
  bottom: 10em;
  right: 2.5%;
  z-index: 9;
  font-size: clamp(14px, 0.7291666667vw, 14px);
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  writing-mode: vertical-lr;
  /* 縦書きにする */
  text-align: left; }
  .scroll--inner {
    position: relative; }
    .scroll--inner span {
      box-sizing: border-box;
      font-feature-settings: normal;
      display: inline;
      box-sizing: border-box; }
    .scroll--inner .bar {
      width: 2px;
      height: 6em;
      overflow: hidden;
      position: absolute;
      top: 5em;
      left: 50%;
      transform: translateX(-50%); }
      .scroll--inner .bar:before {
        content: '';
        display: block;
        position: absolute;
        width: 1px;
        height: 100%;
        top: 0;
        left: 50%;
        border-left: 1px solid #4E4E4E;
        transform: translateX(-50%);
        -webkit-animation: arrow-move 2.2s 0.5s ease-in-out infinite;
        animation: arrow-move 2.2s 0.5s ease-in-out infinite; }

@media screen and (max-width: 767px) {
  .scroll {
    display: none; } }
/*メインビジュのSCROLL*/
/*
-webkit-animation: arrow-move 2.2s 0.5s ease-in-out infinite;
animation: arrow-move 2.2s 0.5s ease-in-out infinite;
*/
@keyframes arrow-move {
  0% {
    top: -100%; }
  50% {
    top: 0; }
  100% {
    top: 100%; } }
@-webkit-keyframes arrow-move {
  0% {
    top: -100%; }
  50% {
    top: 0; }
  100% {
    top: 100%; } }
/*
-webkit-animation: 
animation: 
*/
@keyframes animationZoom {
  100% {
    transform: scale(1.1); } }
/*
-webkit-animation: 
animation: 
*/
@keyframes slideshow {
  0% {
    opacity: 0;
    transform: scale(1.2, 1.2); }
  10% {
    opacity: 1;
    transform: scale(1, 1); }
  28% {
    opacity: 1;
    transform: scale(1, 1); }
  38% {
    opacity: 0;
    transform: scale(1, 1); }
  100% {
    opacity: 0;
    transform: scale(1, 1); } }
/*#noise*/
.noise {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden; }
  .noise:after {
    content: "";
    width: calc(100% + 20rem);
    height: calc(100% + 20rem);
    background-image: url(../images/common/noise.png);
    background-position: 50%;
    position: absolute;
    left: -10rem;
    top: -10rem;
    will-change: transform;
    -webkit-animation: noise 1s steps(2) infinite;
    animation: noise 1s steps(2) infinite; }

@media all and (-ms-high-contrast: none) {
  .noise {
    display: none; } }
/* =========================================================
 * js Animation           /*jS アニメーション
========================================================= */
/*1文字ずつ出現させるためのCSS*/
.eachTextAnime span {
  opacity: 0; }

.eachTextAnime.appeartext span {
  animation: text_anime_on .1s ease-out forwards; }

@keyframes text_anime_on {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 1; } }
/* =========================================================
 * popup modal            /*モーダルウィンドウ設定
========================================================= */
.mfp-bg {
  background-color: rgba(0, 0, 0, 0.8);
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out; }

.mfp-close {
  text-indent: -9999px;
  font-family: serif;
  font-size: 64px;
  right: -10px !important;
  padding-right: 0 !important;
  top: -50px !important; }

/* overlay animate in */
.mfp-bg.mfp-ready {
  opacity: .8; }

/* overlay animate out */
.mfp-bg.mfp-removing {
  opacity: 0; }

/* content at start */
.mfp-wrap {
  /* content animate it */
  /* content animate out */ }
  .mfp-wrap .modal-content {
    transform: translateY(-30px);
    opacity: 0;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out; }
  .mfp-wrap.mfp-ready .modal-content {
    transform: translateY(0);
    opacity: 1; }
  .mfp-wrap.mfp-removing .modal-content {
    transform: translateY(30px);
    opacity: 0; }

.mfp-iframe-holder .mfp-content {
  width: 125vmin !important;
  max-width: 90% !important; }

main {
  overflow: hidden;
  display: block;
  position: relative; }
  main .header {
    width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    padding: 0 0 0 2%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: all .3s;
    z-index: 999; }
    main .header .nav-list {
      transition: all .3s; }
      main .header .nav-list .menu-nav .menu {
        cursor: pointer;
        display: block;
        margin-top: 1em;
        position: relative;
        z-index: 1000;
        padding: .5em;
        transition: all .3s; }
        main .header .nav-list .menu-nav .menu .icon {
          width: 2.8645833333vw;
          max-width: 55px;
          height: 2.8645833333vw;
          max-height: 55px;
          margin: 0 auto;
          position: relative;
          transition: all .4s; }
          main .header .nav-list .menu-nav .menu .icon span {
            position: absolute;
            width: 95%;
            height: 2px;
            left: 50%;
            z-index: 1001;
            transform: translateX(-50%);
            background-color: #4E4E4E;
            transition: all .4s;
            box-sizing: border-box;
            cursor: pointer;
            isolation: isolate;
            mix-blend-mode: normal;
            /* もしくは mix-blend-mode を指定しない */ }
            main .header .nav-list .menu-nav .menu .icon span:nth-of-type(1) {
              top: 25%; }
            main .header .nav-list .menu-nav .menu .icon span:nth-of-type(2) {
              top: 50%;
              transform: translate(-50%, -50%); }
            main .header .nav-list .menu-nav .menu .icon span:nth-of-type(3) {
              bottom: 25%; }
        main .header .nav-list .menu-nav .menu .txt-menu,
        main .header .nav-list .menu-nav .menu .txt-close {
          font-size: clamp(11px, 0.8854166667vw, 17px);
          font-family: "Montserrat", sans-serif;
          font-weight: 500;
          line-height: 1;
          text-align: center;
          margin-top: -.2em; }
        main .header .nav-list .menu-nav .menu .txt-menu {
          display: block; }
        main .header .nav-list .menu-nav .menu .txt-close {
          display: none; }
        main .header .nav-list .menu-nav .menu.active .icon span:nth-of-type(1) {
          top: 50%;
          -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translateY(-50%, -50%) rotate(-45deg); }
        main .header .nav-list .menu-nav .menu.active .icon span:nth-of-type(2) {
          display: none; }
        main .header .nav-list .menu-nav .menu.active .icon span:nth-of-type(3) {
          top: 50%;
          -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg); }
        main .header .nav-list .menu-nav .menu.active .txt-menu {
          display: none; }
        main .header .nav-list .menu-nav .menu.active .txt-close {
          display: block; }
      main .header .nav-list .menu-nav .globalnav {
        display: none;
        width: 100%;
        height: 100vh;
        background-color: #EDEDED;
        position: fixed;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1;
        padding: 2.5em 0; }
        main .header .nav-list .menu-nav .globalnav--inner {
          width: 100%;
          height: 100%;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          padding-bottom: 5em;
          margin-top: 2em;
          line-height: 1;
          letter-spacing: .1em; }
          main .header .nav-list .menu-nav .globalnav--inner--wrap {
            width: 85vw;
            max-width: 1040px;
            margin: 0 auto; }
            main .header .nav-list .menu-nav .globalnav--inner--wrap--navs {
              font-size: clamp(15px, 1.25vw, 24px);
              font-weight: 500;
              letter-spacing: .08em; }
              main .header .nav-list .menu-nav .globalnav--inner--wrap--navs li {
                margin-top: 3em; }
                main .header .nav-list .menu-nav .globalnav--inner--wrap--navs li:nth-of-type(n+2) {
                  margin-top: 2em; }
                main .header .nav-list .menu-nav .globalnav--inner--wrap--navs li a {
                  display: flex;
                  justify-content: center;
                  align-items: center;
                  color: #fff;
                  background-color: #1BB794;
                  padding: 1em; }
                  main .header .nav-list .menu-nav .globalnav--inner--wrap--navs li a h2 {
                    line-height: 1.6;
                    text-align: center;
                    display: inline-block;
                    padding-right: 2em;
                    position: relative; }
                    main .header .nav-list .menu-nav .globalnav--inner--wrap--navs li a h2:after {
                      content: '';
                      display: block;
                      position: absolute;
                      width: 1.3em;
                      height: .85em;
                      background: url("../images/common/icon_arrow-wh.svg") no-repeat center center/cover;
                      top: 50%;
                      right: 0;
                      transform: translateY(-50%); }
            main .header .nav-list .menu-nav .globalnav--inner--wrap .bnr-contact {
              background-color: #fff;
              font-size: clamp(20px, 1.7708333333vw, 34px);
              line-height: 1;
              letter-spacing: .1em;
              text-align: center;
              padding: 1em 1em 2em;
              margin-top: 1.8em; }
              main .header .nav-list .menu-nav .globalnav--inner--wrap .bnr-contact p {
                display: inline-block;
                font-size: clamp(13px, 1.1458333333vw, 22px);
                margin-top: 2em; }
                main .header .nav-list .menu-nav .globalnav--inner--wrap .bnr-contact p a {
                  display: inline;
                  color: #008BFF;
                  text-decoration: underline;
                  margin-left: 1em; }
    main .header .contact-btn {
      font-size: clamp(13px, 1.1458333333vw, 22px);
      font-weight: bold;
      line-height: 1;
      letter-spacing: .1em; }
      main .header .contact-btn a {
        color: #fff;
        background-color: #1BB794;
        padding: .8em 1.5em; }
  main article .inner {
    width: 62.5vw;
    max-width: 1200px;
    margin: 0 auto; }
    main article .inner--wrap {
      width: 86.7%;
      margin: 0 auto; }
  main article .breadcrumb-wrapper .breadcrumb {
    font-size: clamp(10px, 0.8333333333vw, 16px);
    line-height: 1.6; }
    main article .breadcrumb-wrapper .breadcrumb .item {
      display: inline-block;
      color: #A6A6A6; }
      main article .breadcrumb-wrapper .breadcrumb .item a {
        color: #A6A6A6; }
        main article .breadcrumb-wrapper .breadcrumb .item a.link {
          text-decoration: underline; }
      main article .breadcrumb-wrapper .breadcrumb .item:nth-of-type(n+2) {
        padding-left: 1.5em;
        margin-left: .5em;
        position: relative; }
        main article .breadcrumb-wrapper .breadcrumb .item:nth-of-type(n+2):before {
          content: ">";
          display: block;
          position: absolute;
          top: 50%;
          left: 0;
          transform: translateY(-50%); }
  main article .contact {
    background-color: #FDFCF8;
    font-size: clamp(29px, 2.34375vw, 45px);
    line-height: 1;
    letter-spacing: .1em;
    text-align: center;
    padding: 2em 1em 2.5em; }
    main article .contact p {
      display: inline-block;
      font-size: clamp(13px, 1.1458333333vw, 22px);
      margin-top: 3.5em; }
      main article .contact p a {
        display: inline;
        color: #008BFF;
        text-decoration: underline;
        margin-left: 1em; }
  main .footer {
    font-size: clamp(13px, 1.1458333333vw, 22px);
    letter-spacing: .1em;
    text-align: center;
    color: #fff;
    background-color: #838383;
    padding: 2.5em 1em;
    position: relative; }
    main .footer .inner h2 {
      font-weight: 400; }
    main .footer .inner ul {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: clamp(9px, 0.8333333333vw, 16px);
      margin-top: 2em; }
      main .footer .inner ul li {
        margin: 1em 2.5em 0; }
        main .footer .inner ul li a {
          color: #fff; }
          main .footer .inner ul li a:hover {
            text-decoration: underline; }
    main .footer .inner .copyright {
      font-size: clamp(9px, 0.7291666667vw, 14px);
      letter-spacing: .05em;
      text-align: center;
      margin-top: 2em; }

.pages article {
  padding-top: 8.6em; }
  .pages article .main h1 {
    font-size: clamp(20px, 2.1875vw, 42px);
    line-height: 1.5;
    letter-spacing: .2em;
    text-align: center;
    padding-bottom: .5em;
    margin-top: 1.5em;
    position: relative; }
    .pages article .main h1:after {
      content: '';
      display: block;
      position: absolute;
      width: 1.5em;
      height: 4px;
      background-color: #1BB794;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%); }
    .pages article .main h1 span {
      font-size: clamp(18px, 1.7708333333vw, 34px);
      letter-spacing: .1em; }
    .pages article .main h1 em {
      display: block;
      font-size: clamp(14px, 1.1458333333vw, 22px);
      line-height: 1;
      letter-spacing: .1em;
      margin-top: 1em; }
  .pages article .main p {
    font-size: clamp(14px, 1.1458333333vw, 22px);
    line-height: 1;
    letter-spacing: .1em;
    text-align: center;
    margin-top: 1em; }
    .pages article .main p span {
      display: inline-block;
      background-color: #fff;
      padding: 0 1em;
      position: relative; }
      .pages article .main p span:before {
        content: '';
        display: block;
        position: absolute;
        width: 150%;
        height: 1px;
        background-color: #000;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: -1; }
  .pages article .container--block {
    font-size: clamp(13px, 1.1458333333vw, 22px);
    line-height: 2;
    letter-spacing: .06em; }
    .pages article .container--block h2 {
      font-size: clamp(20px, 1.9270833333vw, 37px);
      line-height: 1;
      letter-spacing: .1em;
      text-align: center;
      padding-bottom: .8em;
      position: relative; }
      .pages article .container--block h2:after {
        content: '';
        display: block;
        position: absolute;
        width: 1.5em;
        height: 4px;
        background-color: #E1DB49;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%); }
    .pages article .container--block .comment {
      font-size: clamp(11px, 0.9375vw, 18px);
      line-height: 1;
      margin-top: 1em;
      text-align: right;
      text-indent: -1em;
      padding-left: 1em; }
  .pages article .contact {
    margin-top: 3em; }

#pagetop {
  cursor: pointer;
  width: 3.3854166667vw;
  max-width: 65px;
  height: 3.3854166667vw;
  max-height: 65px;
  font-size: clamp(10px, 1.1458333333vw, 22px);
  font-family: "Montserrat", sans-serif;
  line-height: 1;
  color: #fff;
  background: #309140;
  border: none;
  padding: 0;
  margin: 0;
  position: fixed;
  right: 0;
  bottom: 1em;
  z-index: 90;
  transition: all 0.3s ease;
  /*&.-js-fixed{
    position: fixed;
  }*/ }
  #pagetop:before {
    content: "";
    display: block;
    position: absolute;
    width: .75em;
    height: 2em;
    border: solid #309140;
    border-width: 1px 0 0 1px;
    transform: skewY(48deg) translateX(-50%);
    transform-origin: left bottom;
    bottom: 80%;
    left: 50%;
    margin: 0 0 0 .37em; }
  #pagetop:hover {
    background: #1BB794; }
    #pagetop:hover:before {
      height: 3em;
      border-color: #1BB794; }
  #pagetop.is-inview {
    position: absolute;
    top: -25%;
    right: 0; }

@media screen and (max-width: 767px) {
  main .header {
    padding: 0 0 0 5%; }
    main .header .nav-list .menu-nav .menu .icon {
      width: 9.0666666667vw;
      height: 9.0666666667vw; }
      main .header .nav-list .menu-nav .menu .icon span {
        width: 95%; }
    main .header .nav-list .menu-nav .menu .txt-menu,
    main .header .nav-list .menu-nav .menu .txt-close {
      font-size: clamp(11px, 2.9333333333vw, 17px); }
    main .header .nav-list .menu-nav .globalnav--inner--wrap--navs {
      font-size: clamp(15px, 4vw, 24px); }
      main .header .nav-list .menu-nav .globalnav--inner--wrap--navs li {
        margin-top: 2em; }
    main .header .nav-list .menu-nav .globalnav--inner--wrap .bnr-contact {
      font-size: clamp(20px, 5.3333333333vw, 34px);
      padding: 1em; }
      main .header .nav-list .menu-nav .globalnav--inner--wrap .bnr-contact p {
        font-size: clamp(13px, 3.4666666667vw, 22px);
        margin-top: 2em; }
        main .header .nav-list .menu-nav .globalnav--inner--wrap .bnr-contact p a {
          display: block;
          margin: 1em auto 0; }
    main .header .contact-btn {
      font-size: clamp(13px, 3.4666666667vw, 22px); }
      main .header .contact-btn a {
        padding: 1em; }
    main .header.scrolled .nav-list .menu-nav {
      background-color: rgba(255, 255, 255, 0.95); }
  main article .inner {
    width: 92.5vw; }
    main article .inner--wrap {
      width: 92.5%; }
  main article .breadcrumb-wrapper .breadcrumb {
    width: 90vw;
    font-size: clamp(10px, 2.6666666667vw, 16px);
    margin-top: 2em; }
  main article .contact {
    font-size: clamp(29px, 7.7333333333vw, 45px);
    padding: 2em 1em; }
    main article .contact p {
      display: inline-block;
      font-size: clamp(17px, 4.5333333333vw, 22px);
      margin-top: 2em; }
      main article .contact p a {
        display: inline-block;
        font-size: clamp(14px, 3.7333333333vw, 22px);
        text-align: center;
        margin: 2em auto 0; }
  main .footer {
    font-size: clamp(13px, 3.4666666667vw, 22px);
    padding: 2.5em 1em; }
    main .footer .inner ul {
      font-size: clamp(11px, 2.9333333333vw, 16px);
      margin-top: 1em; }
    main .footer .inner .copyright {
      font-size: clamp(10px, 2.6666666667vw, 14px); }

  .pages article {
    padding-top: 5em; }
    .pages article .main h1 {
      font-size: clamp(20px, 5.3333333333vw, 42px); }
      .pages article .main h1:after {
        height: 2px; }
      .pages article .main h1 span {
        font-size: clamp(18px, 4.8vw, 36px); }
      .pages article .main h1 em {
        font-size: clamp(14px, 3.7333333333vw, 22px); }
    .pages article .main p {
      font-size: clamp(14px, 3.7333333333vw, 22px); }
      .pages article .main p span:before {
        width: 130%; }
    .pages article .container--block {
      font-size: clamp(13px, 3.4666666667vw, 22px); }
      .pages article .container--block h2 {
        font-size: clamp(20px, 5.3333333333vw, 42px); }
        .pages article .container--block h2:after {
          height: 2px; }
      .pages article .container--block .comment {
        font-size: clamp(11px, 2.9333333333vw, 18px); }

  #pagetop {
    width: 8vw;
    height: 8vw;
    font-size: clamp(10px, 2.6666666667vw, 22px); }
    #pagetop.is-inview {
      top: -8vw; } }
.top article .main {
  background-color: #F6F6F6;
  padding: 10em 0 7.5em; }
  .top article .main h1 {
    font-size: clamp(29px, 2.34375vw, 45px);
    line-height: 1.5;
    letter-spacing: .1em;
    text-align: center; }
  .top article .main .inner--wrap {
    font-size: clamp(13px, 1.1458333333vw, 22px);
    letter-spacing: .1em;
    text-align: center;
    background-color: #CAE4C7;
    padding: 3em 3em 5em;
    margin: 3em auto 0; }
    .top article .main .inner--wrap dl dt {
      font-weight: bold; }
      .top article .main .inner--wrap dl dt span {
        display: inline-block;
        background-color: #fff;
        padding: .5em 1.5em; }
    .top article .main .inner--wrap dl dd {
      width: 85%;
      padding-bottom: 1.8em;
      margin: 2em auto 0;
      position: relative; }
      .top article .main .inner--wrap dl dd:after {
        content: '';
        display: block;
        position: absolute;
        width: 2.5em;
        height: 4px;
        background-color: #1BB794;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%); }
    .top article .main .inner--wrap p {
      line-height: 2;
      text-align: center;
      margin-top: 1.5em; }
.top article .container--block.block01 .inner {
  width: 75vw;
  max-width: 1020px; }
  .top article .container--block.block01 .inner .image {
    margin: 7.5em auto; }
.top article .container--block.block02 {
  background-color: #F6F6F6;
  padding: 5em 0 10em; }
  .top article .container--block.block02 .inner h2 {
    font-size: clamp(20px, 2.1875vw, 42px);
    line-height: 1;
    letter-spacing: .1em;
    text-align: center;
    padding-bottom: .8em;
    position: relative; }
    .top article .container--block.block02 .inner h2:after {
      content: '';
      display: block;
      position: absolute;
      width: 1em;
      height: 4px;
      background-color: #1BB794;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%); }
  .top article .container--block.block02 .inner--wrap ul li {
    font-size: clamp(13px, 0.8333333333vw, 16px);
    line-height: 1.7;
    letter-spacing: .1em;
    margin-top: 5em; }
    .top article .container--block.block02 .inner--wrap ul li:nth-of-type(n+2) {
      border-top: 1px solid #838383;
      padding-top: 2em;
      margin-top: 2em; }
    .top article .container--block.block02 .inner--wrap ul li a dl dt {
      display: flex;
      align-items: center; }
      .top article .container--block.block02 .inner--wrap ul li a dl dt p {
        font-weight: 500;
        margin-right: 1em;
        color: #A6A6A6; }
      .top article .container--block.block02 .inner--wrap ul li a dl dt .label {
        min-width: 5.5em;
        line-height: 1;
        text-align: center;
        padding: .2em;
        border: 1px solid #838383;
        border-radius: 1.6rem;
        margin: 0 .5em; }
        .top article .container--block.block02 .inner--wrap ul li a dl dt .label.category {
          background-color: #fff; }
        .top article .container--block.block02 .inner--wrap ul li a dl dt .label.area {
          color: #fff;
          background-color: #309140; }
    .top article .container--block.block02 .inner--wrap ul li a dl dd {
      font-size: clamp(13px, 0.9375vw, 18px);
      text-align: justify;
      display: inline-block;
      margin-top: 1em; }
      .top article .container--block.block02 .inner--wrap ul li a dl dd .icon {
        display: inherit;
        vertical-align: -webkit-baseline-middle;
        margin: 0 .1em; }
        .top article .container--block.block02 .inner--wrap ul li a dl dd .icon.blank {
          width: 1.5em; }
        .top article .container--block.block02 .inner--wrap ul li a dl dd .icon.pdf {
          width: 1.3em; }
  .top article .container--block.block02 .inner--wrap .btn {
    width: 37.5%;
    font-size: clamp(15px, 1.25vw, 24px);
    line-height: 1;
    margin: 3em auto 0; }
    .top article .container--block.block02 .inner--wrap .btn a {
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      background-color: #1BB794;
      padding: 1.2em; }
      .top article .container--block.block02 .inner--wrap .btn a p {
        text-align: center;
        display: inline-block;
        padding-right: 2em;
        position: relative; }
        .top article .container--block.block02 .inner--wrap .btn a p:after {
          content: '';
          display: block;
          position: absolute;
          width: 1.3em;
          height: .85em;
          background: url("../images/common/icon_arrow-wh.svg") no-repeat center center/cover;
          top: 50%;
          right: 0;
          transform: translateY(-50%); }

@media screen and (max-width: 767px) {
  .top article .main {
    padding: 8em 0 5em; }
    .top article .main h1 {
      font-size: clamp(29px, 7.7333333333vw, 45px); }
    .top article .main .inner--wrap {
      font-size: clamp(13px, 3.4666666667vw, 22px);
      padding: 2.5em;
      margin: 2em auto 0; }
      .top article .main .inner--wrap dl dt {
        font-size: clamp(16px, 4.2666666667vw, 22px); }
      .top article .main .inner--wrap dl dd:after {
        height: 2px; }
  .top article .container--block.block01 .inner {
    width: 100%; }
    .top article .container--block.block01 .inner .image {
      margin: 3em auto; }
  .top article .container--block.block02 {
    padding: 5em 0; }
    .top article .container--block.block02 .inner h2 {
      font-size: clamp(20px, 5.3333333333vw, 42px); }
      .top article .container--block.block02 .inner h2:after {
        height: 2px; }
    .top article .container--block.block02 .inner--wrap ul li {
      font-size: clamp(13px, 3.4666666667vw, 16px);
      margin-top: 2.5em; }
      .top article .container--block.block02 .inner--wrap ul li:nth-of-type(n+2) {
        padding-top: 1em;
        margin-top: 1em; }
      .top article .container--block.block02 .inner--wrap ul li a dl dt p {
        font-size: clamp(10px, 2.6666666667vw, 16px); }
      .top article .container--block.block02 .inner--wrap ul li a dl dd {
        font-size: clamp(13px, 3.4666666667vw, 18px); }
    .top article .container--block.block02 .inner--wrap .btn {
      width: 80%;
      font-size: clamp(15px, 4vw, 24px);
      margin: 2em auto 0; } }
.guidelines article .main h1:after {
  display: none; }
.guidelines article .container--block {
  margin-top: 5em; }
  .guidelines article .container--block p {
    margin-top: 2em; }
  .guidelines article .container--block.block01 {
    background-color: #F6F6F6;
    padding: 5em 0; }
  .guidelines article .container--block.block02 .inner--wrap .table {
    font-size: clamp(12px, 1.0416666667vw, 20px);
    margin-top: .5em; }
    .guidelines article .container--block.block02 .inner--wrap .table dl {
      display: flex;
      border-top: 2px solid #fff; }
      .guidelines article .container--block.block02 .inner--wrap .table dl dt,
      .guidelines article .container--block.block02 .inner--wrap .table dl dd {
        padding: 1em 1.5em; }
      .guidelines article .container--block.block02 .inner--wrap .table dl dt {
        width: 20%;
        border-right: 2px solid #fff;
        background-color: #CAE4C7;
        display: flex;
        align-items: center; }
      .guidelines article .container--block.block02 .inner--wrap .table dl dd {
        width: 80%;
        background-color: #EDEDED; }
        .guidelines article .container--block.block02 .inner--wrap .table dl dd .list {
          width: 100%; }
          .guidelines article .container--block.block02 .inner--wrap .table dl dd .list:nth-of-type(n+2) {
            border-top: 1px solid #C2C2C2;
            margin-top: 1em; }
          .guidelines article .container--block.block02 .inner--wrap .table dl dd .list table tbody {
            width: fit-content; }
            .guidelines article .container--block.block02 .inner--wrap .table dl dd .list table tbody tr td {
              padding-right: 1em; }
              .guidelines article .container--block.block02 .inner--wrap .table dl dd .list table tbody tr td:last-of-type {
                padding-right: 0; }
            .guidelines article .container--block.block02 .inner--wrap .table dl dd .list table tbody tr:first-of-type td {
              padding-top: .5em; }
  .guidelines article .container--block.block02 .inner--wrap .links {
    margin-top: .5em; }
    .guidelines article .container--block.block02 .inner--wrap .links li {
      font-size: clamp(13px, 1.0416666667vw, 20px); }
      .guidelines article .container--block.block02 .inner--wrap .links li a {
        text-align: justify;
        display: inline-block;
        text-decoration: underline;
        padding-left: 1em;
        position: relative; }
        .guidelines article .container--block.block02 .inner--wrap .links li a:before {
          content: '・';
          display: block;
          position: absolute;
          width: 1em;
          top: 0;
          left: 0; }
        .guidelines article .container--block.block02 .inner--wrap .links li a .icon {
          width: 1em;
          display: inherit;
          vertical-align: -webkit-baseline-middle;
          margin: 0 .5em; }
  .guidelines article .container--block.block02 .inner--wrap .figure {
    width: 70%;
    margin: 1em auto 0; }

@media screen and (max-width: 767px) {
  .guidelines article .main h1 {
    font-size: clamp(29px, 7.7333333333vw, 45px); }
    .guidelines article .main h1:after {
      display: none; }
  .guidelines article .container--block {
    margin-top: 3em; }
    .guidelines article .container--block.block01 {
      padding: 3em 0; }
    .guidelines article .container--block.block02 .inner--wrap .table {
      font-size: clamp(12px, 3.2vw, 20px); }
      .guidelines article .container--block.block02 .inner--wrap .table dl dt {
        width: 30%; }
      .guidelines article .container--block.block02 .inner--wrap .table dl dd {
        width: 70%; }
        .guidelines article .container--block.block02 .inner--wrap .table dl dd .list table {
          width: 100%; }
          .guidelines article .container--block.block02 .inner--wrap .table dl dd .list table tbody {
            width: 100%; }
            .guidelines article .container--block.block02 .inner--wrap .table dl dd .list table tbody tr {
              display: flex;
              flex-wrap: wrap; }
              .guidelines article .container--block.block02 .inner--wrap .table dl dd .list table tbody tr td {
                width: fit-content; }
        .guidelines article .container--block.block02 .inner--wrap .table dl dd .list.list01 table tbody tr {
          justify-content: space-between; }
    .guidelines article .container--block.block02 .inner--wrap .links {
      margin-top: .5em;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      .guidelines article .container--block.block02 .inner--wrap .links li {
        width: 50%;
        font-size: clamp(13px, 3.4666666667vw, 20px); }
    .guidelines article .container--block.block02 .inner--wrap .figure {
      width: 70%; } }
.history article .container--block {
  font-size: clamp(13px, 0.9375vw, 18px);
  line-height: 1.7;
  margin-top: 10em;
  /*&:nth-of-type(n+2){
      margin-top: 10em;
  }*/ }
  .history article .container--block .inner--wrap h2 {
    text-align: inherit; }
    .history article .container--block .inner--wrap h2:after {
      left: 0;
      transform: none; }
  .history article .container--block .inner--wrap dl {
    display: flex;
    border-bottom: 1px solid #A6A6A6;
    padding-bottom: 1.5em;
    margin-top: 3.5em; }
    .history article .container--block .inner--wrap dl:nth-of-type(n+2) {
      margin-top: 1.5em; }
    .history article .container--block .inner--wrap dl dt {
      width: 18%;
      color: #A6A6A6; }
      .history article .container--block .inner--wrap dl dt:nth-of-type(2) {
        width: 6%;
        text-align: center; }
    .history article .container--block .inner--wrap dl dd {
      width: 72.5%;
      text-align: justify;
      margin-left: auto; }

@media screen and (max-width: 1024px) {
  .history article .container--block .inner--wrap dl {
    flex-wrap: wrap; }
    .history article .container--block .inner--wrap dl dt {
      width: 100%; }
      .history article .container--block .inner--wrap dl dt:first-of-type {
        margin-bottom: .5em; }
      .history article .container--block .inner--wrap dl dt:nth-of-type(2) {
        width: 5%;
        text-align: inherit; }
    .history article .container--block .inner--wrap dl dd {
      width: 90%; } }
@media screen and (max-width: 767px) {
  .history article .container--block {
    font-size: clamp(13px, 3.4666666667vw, 18px);
    margin-top: 5em;
    /*&:nth-of-type(n+2){
        margin-top: 5em;
    }*/ }
    .history article .container--block .inner--wrap h2 {
      font-size: clamp(20px, 5.3333333333vw, 42px); }
    .history article .container--block .inner--wrap dl {
      margin-top: 2em; }
      .history article .container--block .inner--wrap dl dt:nth-of-type(2) {
        width: 10%; } }
.news-index article .container--block.block01 {
  font-size: clamp(11px, 0.8854166667vw, 17px);
  background-color: #F6F6F6;
  padding: 3em 0;
  margin-top: 4em; }
  .news-index article .container--block.block01 .inner--wrap form .select-area {
    display: flex;
    align-items: flex-end; }
    .news-index article .container--block.block01 .inner--wrap form .select-area dl {
      font-size: clamp(13px, 0.9375vw, 18px);
      margin-right: 2em; }
      .news-index article .container--block.block01 .inner--wrap form .select-area dl dd {
        margin-top: .5em; }
        .news-index article .container--block.block01 .inner--wrap form .select-area dl dd label {
          position: relative;
          display: block;
          cursor: pointer; }
          .news-index article .container--block.block01 .inner--wrap form .select-area dl dd label:before, .news-index article .container--block.block01 .inner--wrap form .select-area dl dd label:after {
            content: '';
            display: block;
            position: absolute;
            pointer-events: none; }
          .news-index article .container--block.block01 .inner--wrap form .select-area dl dd label:before {
            width: 2.5em;
            background: #1BB794;
            top: 0;
            bottom: 0;
            right: 0; }
          .news-index article .container--block.block01 .inner--wrap form .select-area dl dd label:after {
            width: 1em;
            height: 1em;
            top: 50%;
            right: .75em;
            margin-top: -.75em;
            border-top: solid 1px #fff;
            border-right: solid 1px #fff;
            transform: rotate(135deg); }
          .news-index article .container--block.block01 .inner--wrap form .select-area dl dd label select {
            min-width: 14.5em;
            height: 3em;
            padding: .5em;
            color: #A6A6A6;
            border-color: #A6A6A6;
            outline: none; }
    .news-index article .container--block.block01 .inner--wrap form .select-area .submit-button {
      display: block;
      height: 3em;
      color: #fff;
      background-color: #1BB794;
      padding: .35em 3em;
      border: none;
      outline: none;
      transition: all .3s; }
      .news-index article .container--block.block01 .inner--wrap form .select-area .submit-button span {
        font-size: clamp(15px, 1.0416666667vw, 20px);
        white-space: nowrap; }
  .news-index article .container--block.block01 .inner--wrap .note {
    line-height: 1.6;
    letter-spacing: .1em;
    margin-top: 1em; }
.news-index article .container--block.block02 .inner--wrap ul li {
  font-size: clamp(13px, 0.8333333333vw, 16px);
  line-height: 1.7;
  letter-spacing: .1em;
  margin-top: 5em; }
  .news-index article .container--block.block02 .inner--wrap ul li:nth-of-type(n+2) {
    border-top: 1px solid #838383;
    padding-top: 2em;
    margin-top: 2em; }
  .news-index article .container--block.block02 .inner--wrap ul li a dl dt {
    display: flex;
    align-items: center; }
    .news-index article .container--block.block02 .inner--wrap ul li a dl dt p {
      font-weight: 500;
      margin-right: 1em;
      color: #A6A6A6; }
    .news-index article .container--block.block02 .inner--wrap ul li a dl dt .label {
      min-width: 5.5em;
      line-height: 1;
      text-align: center;
      padding: .2em;
      border: 1px solid #838383;
      border-radius: 1.6rem;
      margin: 0 .5em; }
      .news-index article .container--block.block02 .inner--wrap ul li a dl dt .label.category {
        background-color: #fff; }
      .news-index article .container--block.block02 .inner--wrap ul li a dl dt .label.area {
        color: #fff;
        background-color: #309140; }
  .news-index article .container--block.block02 .inner--wrap ul li a dl dd {
    font-size: clamp(13px, 0.9375vw, 18px);
    text-align: justify;
    display: inline-block;
    margin-top: 1em; }
    .news-index article .container--block.block02 .inner--wrap ul li a dl dd .icon {
      display: inherit;
      vertical-align: -webkit-baseline-middle;
      margin: 0 .1em; }
      .news-index article .container--block.block02 .inner--wrap ul li a dl dd .icon.blank {
        width: 1.5em; }
      .news-index article .container--block.block02 .inner--wrap ul li a dl dd .icon.pdf {
        width: 1.3em; }

.news-detail article .container--block {
  letter-spacing: .06em;
  margin-top: 4em; }
  .news-detail article .container--block.block01 .inner--wrap--main {
    border-bottom: 1px solid #A6A6A6;
    padding-bottom: 2em; }
    .news-detail article .container--block.block01 .inner--wrap--main dl dt {
      display: inline-flex;
      align-items: center; }
      .news-detail article .container--block.block01 .inner--wrap--main dl dt p {
        font-weight: 500;
        margin-right: 1em;
        color: #A6A6A6; }
      .news-detail article .container--block.block01 .inner--wrap--main dl dt .label {
        min-width: 5.5em;
        line-height: 1;
        text-align: center;
        padding: .2em;
        border: 1px solid #838383;
        border-radius: 1.6rem;
        margin: 0 .5em; }
        .news-detail article .container--block.block01 .inner--wrap--main dl dt .label.category {
          background-color: #fff; }
        .news-detail article .container--block.block01 .inner--wrap--main dl dt .label.area {
          color: #fff;
          background-color: #309140; }
    .news-detail article .container--block.block01 .inner--wrap--main dl dd {
      font-size: clamp(16px, 1.6145833333vw, 31px);
      letter-spacing: .06em;
      text-align: justify;
      display: inline-block;
      margin-top: 1.5em; }
      .news-detail article .container--block.block01 .inner--wrap--main dl dd .icon {
        display: inherit;
        vertical-align: -webkit-baseline-middle;
        margin: 0 .1em; }
        .news-detail article .container--block.block01 .inner--wrap--main dl dd .icon.blank {
          width: 1.5em; }
        .news-detail article .container--block.block01 .inner--wrap--main dl dd .icon.pdf {
          width: 1.3em; }
  .news-detail article .container--block.block02 .inner--wrap h2 {
    font-size: clamp(18px, 1.8229166667vw, 35px);
    font-weight: 400;
    line-height: 1.5;
    text-align: inherit;
    padding-bottom: 1em;
    margin-top: 5em;
    position: relative; }
    .news-detail article .container--block.block02 .inner--wrap h2:after {
      content: '';
      display: block;
      position: absolute;
      width: 2.5em;
      height: 4px;
      background-color: #E1DB49;
      bottom: 0;
      left: 0;
      transform: none; }
  .news-detail article .container--block.block02 .inner--wrap .sub-ttl {
    font-size: clamp(15px, 1.5625vw, 30px);
    font-weight: 400;
    line-height: 1.5;
    padding-bottom: 1em;
    margin-top: 0 !important;
    position: relative; }
    .news-detail article .container--block.block02 .inner--wrap .sub-ttl:after {
      content: '';
      display: block;
      position: absolute;
      width: 3em;
      height: 2px;
      background-color: #A6A6A6;
      bottom: 0;
      left: 0; }
  .news-detail article .container--block.block02 .inner--wrap .txt {
    margin-top: 2em; }
    .news-detail article .container--block.block02 .inner--wrap .txt a {
      display: inline;
      color: #008BFF;
      text-decoration: underline; }
  .news-detail article .container--block.block02 .inner--wrap .btn {
    width: 37.5%;
    font-size: clamp(15px, 1.25vw, 24px);
    line-height: 1;
    letter-spacing: .08em;
    margin: 2em auto 0; }
    .news-detail article .container--block.block02 .inner--wrap .btn a {
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      background-color: #1BB794;
      padding: 1.2em; }
      .news-detail article .container--block.block02 .inner--wrap .btn a p {
        text-align: center;
        margin-right: .5em; }
      .news-detail article .container--block.block02 .inner--wrap .btn a .icon {
        width: 1em;
        display: inherit;
        vertical-align: -webkit-baseline-middle;
        margin: 0 .1em; }
  .news-detail article .container--block.block02 .inner--wrap--img-category.flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 2em; }
  .news-detail article .container--block.block02 .inner--wrap--img-category.center {
    width: fit-content;
    margin: 0 auto; }
    .news-detail article .container--block.block02 .inner--wrap--img-category.center .image {
      margin: .5em auto 0; }
  .news-detail article .container--block.block02 .inner--wrap--img-category .image {
    margin-top: .5em; }
    .news-detail article .container--block.block02 .inner--wrap--img-category .image.large {
      width: 56.7%;
      margin: 0 auto; }
    .news-detail article .container--block.block02 .inner--wrap--img-category .image.medium {
      width: 48%; }
    .news-detail article .container--block.block02 .inner--wrap--img-category .image.small {
      width: 30.8%; }
  .news-detail article .container--block.block02 .inner--wrap--category {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    margin-top: 3em; }
    .news-detail article .container--block.block02 .inner--wrap--category--texts {
      width: 56.2%; }
      .news-detail article .container--block.block02 .inner--wrap--category--texts p {
        margin-top: 1em; }
    .news-detail article .container--block.block02 .inner--wrap--category .image {
      width: 40%;
      position: relative; }
      .news-detail article .container--block.block02 .inner--wrap--category .image .icon {
        position: absolute;
        top: .3em;
        right: .1em; }
        .news-detail article .container--block.block02 .inner--wrap--category .image .icon.pdf {
          width: 2em; }

@media screen and (max-width: 767px) {
  .news-index article .container--block.block01 {
    font-size: clamp(11px, 2.9333333333vw, 17px);
    margin-top: 3em; }
    .news-index article .container--block.block01 .inner--wrap form .select-area {
      flex-direction: column;
      justify-content: center; }
      .news-index article .container--block.block01 .inner--wrap form .select-area dl {
        width: 100%;
        font-size: clamp(13px, 3.4666666667vw, 18px);
        margin: 0 auto; }
        .news-index article .container--block.block01 .inner--wrap form .select-area dl:nth-of-type(n+2) {
          margin-top: 1.5em; }
        .news-index article .container--block.block01 .inner--wrap form .select-area dl dd label select {
          width: 100%;
          min-width: inherit;
          padding: .5em 1em; }
      .news-index article .container--block.block01 .inner--wrap form .select-area .submit-button {
        padding: .8em 5em;
        margin: 1.5em auto 0; }
        .news-index article .container--block.block01 .inner--wrap form .select-area .submit-button span {
          font-size: clamp(15px, 4vw, 20px); }
    .news-index article .container--block.block01 .inner--wrap .note p {
      text-align: center; }
  .news-index article .container--block.block02 .inner--wrap ul li {
    font-size: clamp(13px, 3.4666666667vw, 16px);
    margin-top: 2.5em; }
    .news-index article .container--block.block02 .inner--wrap ul li:nth-of-type(n+2) {
      padding-top: 1em;
      margin-top: 1em; }
    .news-index article .container--block.block02 .inner--wrap ul li a dl dt p {
      font-size: clamp(10px, 2.6666666667vw, 16px); }
    .news-index article .container--block.block02 .inner--wrap ul li a dl dd {
      font-size: clamp(13px, 3.4666666667vw, 18px); }

  .news-detail article .container--block {
    margin-top: 4em; }
    .news-detail article .container--block.block01 .inner--wrap--main dl dt p {
      font-size: clamp(10px, 2.6666666667vw, 16px); }
    .news-detail article .container--block.block01 .inner--wrap--main dl dd {
      font-size: clamp(16px, 4.2666666667vw, 31px); }
    .news-detail article .container--block.block02 .inner--wrap h2 {
      font-size: clamp(18px, 4.8vw, 35px);
      margin-top: 3em; }
    .news-detail article .container--block.block02 .inner--wrap .sub-ttl {
      font-size: clamp(15px, 4vw, 30px); }
    .news-detail article .container--block.block02 .inner--wrap h2:after,
    .news-detail article .container--block.block02 .inner--wrap .sub-ttl:after {
      height: 2px; }
    .news-detail article .container--block.block02 .inner--wrap .btn {
      width: 75%;
      font-size: clamp(15px, 4vw, 24px); }
    .news-detail article .container--block.block02 .inner--wrap--img-category .image {
      margin-top: 0; }
      .news-detail article .container--block.block02 .inner--wrap--img-category .image.large {
        width: 90%; }
      .news-detail article .container--block.block02 .inner--wrap--img-category .image.medium {
        width: 75.8%; }
      .news-detail article .container--block.block02 .inner--wrap--img-category .image.small {
        width: 32.7%; }
    .news-detail article .container--block.block02 .inner--wrap--img-category.flex .image.medium {
      width: 49.5%; }
    .news-detail article .container--block.block02 .inner--wrap--category {
      margin-top: 3em; }
      .news-detail article .container--block.block02 .inner--wrap--category--texts {
        width: 100%; }
        .news-detail article .container--block.block02 .inner--wrap--category--texts p {
          margin-top: 1em; }
      .news-detail article .container--block.block02 .inner--wrap--category .image {
        width: 100%;
        margin-top: 1.2em; } }
.policy-common article .container--block .inner--wrap {
  /**/
  margin-top: 4em; }
  .policy-common article .container--block .inner--wrap a {
    color: #008BFF;
    text-decoration: underline; }
  .policy-common article .container--block .inner--wrap h2,
  .policy-common article .container--block .inner--wrap h3 {
    font-weight: 500; }
  .policy-common article .container--block .inner--wrap h2 {
    font-size: clamp(13px, 1.25vw, 24px);
    text-align: inherit;
    padding-bottom: 0; }
    .policy-common article .container--block .inner--wrap h2:after {
      display: none; }
  .policy-common article .container--block .inner--wrap h3 {
    font-size: clamp(12px, 1.0416666667vw, 20px);
    margin-top: 1em; }
  .policy-common article .container--block .inner--wrap p,
  .policy-common article .container--block .inner--wrap ul {
    font-size: clamp(12px, 0.9375vw, 18px);
    line-height: 1.7;
    letter-spacing: .06em; }
  .policy-common article .container--block .inner--wrap p {
    margin-top: .3em; }
    .policy-common article .container--block .inner--wrap p:nth-of-type(n+2) {
      margin-top: 1em; }
  .policy-common article .container--block .inner--wrap ul {
    margin: .5em auto 0 1em; }
    .policy-common article .container--block .inner--wrap ul li {
      text-indent: -1em;
      padding-left: 1em;
      position: relative; }
    .policy-common article .container--block .inner--wrap ul.dodd {
      margin-left: 0; }
      .policy-common article .container--block .inner--wrap ul.dodd li {
        text-indent: 0;
        padding-left: 1.2em; }
        .policy-common article .container--block .inner--wrap ul.dodd li:before {
          content: '●';
          display: block;
          position: absolute;
          top: 0;
          left: 0; }
  .policy-common article .container--block .inner--wrap--category:nth-of-type(n+2) {
    margin-top: 2em; }

@media screen and (max-width: 767px) {
  .policy-common article .container--block .inner--wrap {
    font-size: clamp(12px, 3.2vw, 18px);
    margin-top: 2em; }
    .policy-common article .container--block .inner--wrap h2 {
      font-size: clamp(14px, 3.7333333333vw, 24px); }
    .policy-common article .container--block .inner--wrap h3 {
      font-size: clamp(13px, 3.4666666667vw, 20px); } }
