@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=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");
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,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: bold; }

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, 1.1713030747vw, 16px);
  font-family: YuGothic, "Yu Gothic medium", "Yu Gothic", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: bold;
  line-height: 2;
  letter-spacing: .05em;
  font-feature-settings: "palt";
  /*日本語フォントの文字間隔（カーニング）全角スペースを詰める調整、句読点や括弧などの約物を含めた文字間をしっかり詰めてくれます。*/
  color: #000;
  background: #fff; }

main {
  display: block; }

/*リンクテキスト全般の設定*/
a {
  width: 100%;
  height: 100%;
  display: block;
  text-decoration: none;
  color: #000;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  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.7320644217vw !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, 16px); }

  /*リンクテキスト全般の設定*/
  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; }

/*Lato*/
/*Roboto Condensed & Roboto*/
/*Noto Sans Japanese*/
/*Poppins*/
.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.3660322108vw !important; }

.mt10 {
  margin-top: 0.7320644217vw !important; }

.mt12 {
  margin-top: 0.878477306vw !important; }

.mt15 {
  margin-top: 1.0980966325vw !important; }

.mt20 {
  margin-top: 1.4641288433vw !important; }

.mt25 {
  margin-top: 1.8301610542vw !important; }

.mt30 {
  margin-top: 2.196193265vw !important; }

.mt35 {
  margin-top: 2.5622254758vw !important; }

.mt40 {
  margin-top: 2.9282576867vw !important; }

.mt45 {
  margin-top: 3.2942898975vw !important; }

.mt50 {
  margin-top: 3.6603221083vw !important; }

.mt55 {
  margin-top: 4.0263543192vw !important; }

.mt60 {
  margin-top: 4.39238653vw !important; }

.mt65 {
  margin-top: 4.7584187408vw !important; }

.mt70 {
  margin-top: 5.1244509517vw !important; }

.mt75 {
  margin-top: 5.4904831625vw !important; }

.mt80 {
  margin-top: 5.8565153734vw !important; }

.mt85 {
  margin-top: 6.2225475842vw !important; }

.mt90 {
  margin-top: 6.588579795vw !important; }

.mt95 {
  margin-top: 6.9546120059vw !important; }

.mt100 {
  margin-top: 7.3206442167vw !important; }

.mr00 {
  margin-right: 0 !important; }

.mr05 {
  margin-right: 0.3660322108vw !important; }

.mr10 {
  margin-right: 0.7320644217vw !important; }

.mr12 {
  margin-right: 0.878477306vw !important; }

.mr15 {
  margin-right: 1.0980966325vw !important; }

.mr20 {
  margin-right: 1.4641288433vw !important; }

.mr25 {
  margin-right: 1.8301610542vw !important; }

.mr30 {
  margin-right: 2.196193265vw !important; }

.mr35 {
  margin-right: 2.5622254758vw !important; }

.mr40 {
  margin-right: 2.9282576867vw !important; }

.mr45 {
  margin-right: 3.2942898975vw !important; }

.mr50 {
  margin-right: 3.6603221083vw !important; }

.mr55 {
  margin-right: 4.0263543192vw !important; }

.mr60 {
  margin-right: 4.39238653vw !important; }

.mr65 {
  margin-right: 4.7584187408vw !important; }

.mr70 {
  margin-right: 5.1244509517vw !important; }

.mr75 {
  margin-right: 5.4904831625vw !important; }

.mr80 {
  margin-right: 5.8565153734vw !important; }

.mr85 {
  margin-right: 6.2225475842vw !important; }

.mr90 {
  margin-right: 6.588579795vw !important; }

.mr95 {
  margin-right: 6.9546120059vw !important; }

.mr100 {
  margin-right: 7.3206442167vw !important; }

.mb00 {
  margin-bottom: 0 !important; }

.mb05 {
  margin-bottom: 0.3660322108vw !important; }

.mb10 {
  margin-bottom: 0.7320644217vw !important; }

.mb12 {
  margin-bottom: 0.878477306vw !important; }

.mb15 {
  margin-bottom: 1.0980966325vw !important; }

.mb20 {
  margin-bottom: 1.4641288433vw !important; }

.mb25 {
  margin-bottom: 1.8301610542vw !important; }

.mb30 {
  margin-bottom: 2.196193265vw !important; }

.mb35 {
  margin-bottom: 2.5622254758vw !important; }

.mb40 {
  margin-bottom: 2.9282576867vw !important; }

.mb45 {
  margin-bottom: 3.2942898975vw !important; }

.mb50 {
  margin-bottom: 3.6603221083vw !important; }

.mb55 {
  margin-bottom: 4.0263543192vw !important; }

.mb60 {
  margin-bottom: 4.39238653vw !important; }

.mb65 {
  margin-bottom: 4.7584187408vw !important; }

.mb70 {
  margin-bottom: 5.1244509517vw !important; }

.mb75 {
  margin-bottom: 5.4904831625vw !important; }

.mb80 {
  margin-bottom: 5.8565153734vw !important; }

.mb85 {
  margin-bottom: 6.2225475842vw !important; }

.mb90 {
  margin-bottom: 6.588579795vw !important; }

.mb95 {
  margin-bottom: 6.9546120059vw !important; }

.mb100 {
  margin-bottom: 7.3206442167vw !important; }

.ml00 {
  margin-left: 0 !important; }

.ml05 {
  margin-left: 0.3660322108vw !important; }

.ml10 {
  margin-left: 0.7320644217vw !important; }

.ml12 {
  margin-left: 0.878477306vw !important; }

.ml15 {
  margin-left: 1.0980966325vw !important; }

.ml20 {
  margin-left: 1.4641288433vw !important; }

.ml25 {
  margin-left: 1.8301610542vw !important; }

.ml30 {
  margin-left: 2.196193265vw !important; }

.ml35 {
  margin-left: 2.5622254758vw !important; }

.ml40 {
  margin-left: 2.9282576867vw !important; }

.ml45 {
  margin-left: 3.2942898975vw !important; }

.ml50 {
  margin-left: 3.6603221083vw !important; }

.ml55 {
  margin-left: 4.0263543192vw !important; }

.ml60 {
  margin-left: 4.39238653vw !important; }

.ml65 {
  margin-left: 4.7584187408vw !important; }

.ml70 {
  margin-left: 5.1244509517vw !important; }

.ml75 {
  margin-left: 5.4904831625vw !important; }

.ml80 {
  margin-left: 5.8565153734vw !important; }

.ml85 {
  margin-left: 6.2225475842vw !important; }

.ml90 {
  margin-left: 6.588579795vw !important; }

.ml95 {
  margin-left: 6.9546120059vw !important; }

.ml100 {
  margin-left: 7.3206442167vw !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.3660322108vw !important; }

.pt10 {
  padding-top: 0.7320644217vw !important; }

.pt12 {
  padding-top: 0.878477306vw !important; }

.pt15 {
  padding-top: 1.0980966325vw !important; }

.pt20 {
  padding-top: 1.4641288433vw !important; }

.pt25 {
  padding-top: 1.8301610542vw !important; }

.pt30 {
  padding-top: 2.196193265vw !important; }

.pt35 {
  padding-top: 2.5622254758vw !important; }

.pt40 {
  padding-top: 2.9282576867vw !important; }

.pt45 {
  padding-top: 3.2942898975vw !important; }

.pt50 {
  padding-top: 3.6603221083vw !important; }

.pt55 {
  padding-top: 4.0263543192vw !important; }

.pt60 {
  padding-top: 4.39238653vw !important; }

.pt65 {
  padding-top: 4.7584187408vw !important; }

.pt70 {
  padding-top: 5.1244509517vw !important; }

.pt75 {
  padding-top: 5.4904831625vw !important; }

.pt80 {
  padding-top: 5.8565153734vw !important; }

.pt85 {
  padding-top: 6.2225475842vw !important; }

.pt90 {
  padding-top: 6.588579795vw !important; }

.pt95 {
  padding-top: 6.9546120059vw !important; }

.pt100 {
  padding-top: 7.3206442167vw !important; }

.pr00 {
  padding-right: 0 !important; }

.pr05 {
  padding-right: 0.3660322108vw !important; }

.pr10 {
  padding-right: 0.7320644217vw !important; }

.pr12 {
  padding-right: 0.878477306vw !important; }

.pr15 {
  padding-right: 1.0980966325vw !important; }

.pr20 {
  padding-right: 1.4641288433vw !important; }

.pr25 {
  padding-right: 1.8301610542vw !important; }

.pr30 {
  padding-right: 2.196193265vw !important; }

.pr35 {
  padding-right: 2.5622254758vw !important; }

.pr40 {
  padding-right: 2.9282576867vw !important; }

.pr45 {
  padding-right: 3.2942898975vw !important; }

.pr50 {
  padding-right: 3.6603221083vw !important; }

.pr55 {
  padding-right: 4.0263543192vw !important; }

.pr60 {
  padding-right: 4.39238653vw !important; }

.pr65 {
  padding-right: 4.7584187408vw !important; }

.pr70 {
  padding-right: 5.1244509517vw !important; }

.pr75 {
  padding-right: 5.4904831625vw !important; }

.pr80 {
  padding-right: 5.8565153734vw !important; }

.pr85 {
  padding-right: 6.2225475842vw !important; }

.pr90 {
  padding-right: 6.588579795vw !important; }

.pr95 {
  padding-right: 6.9546120059vw !important; }

.pr100 {
  padding-right: 7.3206442167vw !important; }

.pb00 {
  padding-bottom: 0 !important; }

.pb05 {
  padding-bottom: 0.3660322108vw !important; }

.pb10 {
  padding-bottom: 0.7320644217vw !important; }

.pb12 {
  padding-bottom: 0.878477306vw !important; }

.pb15 {
  padding-bottom: 1.0980966325vw !important; }

.pb20 {
  padding-bottom: 1.4641288433vw !important; }

.pb25 {
  padding-bottom: 1.8301610542vw !important; }

.pb30 {
  padding-bottom: 2.196193265vw !important; }

.pb35 {
  padding-bottom: 2.5622254758vw !important; }

.pb40 {
  padding-bottom: 2.9282576867vw !important; }

.pb45 {
  padding-bottom: 3.2942898975vw !important; }

.pb50 {
  padding-bottom: 3.6603221083vw !important; }

.pb55 {
  padding-bottom: 4.0263543192vw !important; }

.pb60 {
  padding-bottom: 4.39238653vw !important; }

.pb65 {
  padding-bottom: 4.7584187408vw !important; }

.pb70 {
  padding-bottom: 5.1244509517vw !important; }

.pb75 {
  padding-bottom: 5.4904831625vw !important; }

.pb80 {
  padding-bottom: 5.8565153734vw !important; }

.pb85 {
  padding-bottom: 6.2225475842vw !important; }

.pb90 {
  padding-bottom: 6.588579795vw !important; }

.pb95 {
  padding-bottom: 6.9546120059vw !important; }

.pb100 {
  padding-bottom: 7.3206442167vw !important; }

.pl00 {
  padding-left: 0 !important; }

.pl05 {
  padding-left: 0.3660322108vw !important; }

.pl10 {
  padding-left: 0.7320644217vw !important; }

.pl12 {
  padding-left: 0.878477306vw !important; }

.pl15 {
  padding-left: 1.0980966325vw !important; }

.pl20 {
  padding-left: 1.4641288433vw !important; }

.pl25 {
  padding-left: 1.8301610542vw !important; }

.pl30 {
  padding-left: 2.196193265vw !important; }

.pl35 {
  padding-left: 2.5622254758vw !important; }

.pl40 {
  padding-left: 2.9282576867vw !important; }

.pl45 {
  padding-left: 3.2942898975vw !important; }

.pl50 {
  padding-left: 3.6603221083vw !important; }

.pl55 {
  padding-left: 4.0263543192vw !important; }

.pl60 {
  padding-left: 4.39238653vw !important; }

.pl65 {
  padding-left: 4.7584187408vw !important; }

.pl70 {
  padding-left: 5.1244509517vw !important; }

.pl75 {
  padding-left: 5.4904831625vw !important; }

.pl80 {
  padding-left: 5.8565153734vw !important; }

.pl85 {
  padding-left: 6.2225475842vw !important; }

.pl90 {
  padding-left: 6.588579795vw !important; }

.pl95 {
  padding-left: 6.9546120059vw !important; }

.pl100 {
  padding-left: 7.3206442167vw !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: -2.196193265vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9; }
  .scroll--inner {
    position: relative; }
    .scroll--inner span {
      font-size: 1.0248901903vw;
      font-weight: 300;
      line-height: 1;
      color: #fff;
      box-sizing: border-box;
      font-feature-settings: normal;
      display: inline;
      box-sizing: border-box; }
    .scroll--inner .bar {
      width: 100%;
      height: 4.39238653vw;
      margin-top: .5em;
      overflow: hidden;
      position: relative; }
      .scroll--inner .bar:before {
        content: '';
        display: block;
        position: absolute;
        width: 1px;
        height: 100%;
        top: 0;
        left: 50%;
        border-left: 1px solid #fff;
        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 {
    bottom: -8vw; }
    .scroll--inner span {
      font-size: 3.7333333333vw; }
    .scroll--inner .bar {
      height: 16vw; } }
/*メインビジュの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; } }
/* =========================================================
 * 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 .en {
    font-family: "Poppins", sans-serif; }
  main .header {
    width: 100vw;
    position: relative;
    z-index: 999; }
    main .header .inner {
      width: 100vw; }
      main .header .inner--logo {
        background-color: #fff;
        position: relative; }
        main .header .inner--logo:before {
          content: '';
          display: block;
          position: absolute;
          width: 100%;
          height: 0.5124450952vw;
          background-color: #cf1727;
          top: 0;
          left: 50%;
          transform: translateX(-50%); }
        main .header .inner--logo h1 {
          width: 100vw;
          max-width: 1366px;
          margin: 0 auto; }
  main article .inner {
    width: 70.2781844802vw;
    max-width: 960px;
    margin: 0 auto; }
  main .footer {
    margin-top: 10.980966325vw; }
    main .footer .inner--over .btn-close {
      display: table;
      font-size: clamp(10px, 1.317715959vw, 18px);
      font-weight: bold;
      margin: 0 auto; }
      main .footer .inner--over .btn-close a {
        text-align: center;
        color: #fff;
        background-color: #471a0c;
        padding: 1em 5em; }
        main .footer .inner--over .btn-close a:hover {
          opacity: 1;
          background-color: #cf1727;
          transform: scale(1.04); }
    main .footer .inner--under .copyright {
      font-size: clamp(10px, 0.7320644217vw, 10px);
      letter-spacing: .05em;
      text-align: center;
      color: #fff;
      background-color: #cf1727;
      padding: 2em;
      margin-top: 10.980966325vw; }

#pagetop {
  width: 3.2942898975vw;
  height: 3.2942898975vw;
  position: fixed;
  right: 2.196193265vw;
  bottom: 2.196193265vw;
  z-index: 200; }
  #pagetop a {
    display: block;
    width: 100%;
    height: 100%;
    transition: all .3s ease; }
    #pagetop a:before, #pagetop a:after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    #pagetop a:before {
      box-sizing: border-box;
      width: 100%;
      height: 100%;
      background-color: #471a0c;
      border: 1px solid #fff;
      border-radius: 50%;
      transition: all .3s ease; }
    #pagetop a:after {
      width: 25%;
      height: 25%;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: rotate(-45deg) translate(-20%, -50%); }
    #pagetop a:hover {
      opacity: 1;
      transform: scale(1.04); }
      #pagetop a:hover:before {
        background-color: #cf1727; }

@media screen and (max-width: 767px) {
  main .header .inner--logo:before {
    height: 0.9333333333vw; }
  main .header .inner--logo h1 {
    width: 182.1333333333vw;
    margin-left: -37.5%; }
  main article .inner {
    width: 85vw; }
  main .footer {
    margin-top: 13.3333333333vw; }
    main .footer .inner--over .btn-close {
      font-size: clamp(10px, 2.6666666667vw, 18px); }
    main .footer .inner--under .copyright {
      font-size: clamp(10px, 2.6666666667vw, 10px);
      margin-top: 13.3333333333vw; }

  #pagetop {
    width: 9.3333333333vw;
    height: 9.3333333333vw;
    right: 1.3333333333vw;
    bottom: 5.3333333333vw !important; } }
.top article .main {
  height: 56.2225475842vw;
  max-height: 768px;
  background-color: #fff;
  position: relative;
  z-index: 1; }
  .top article .main .inner {
    width: fit-content;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2; }
    .top article .main .inner h1 {
      width: 40.2635431918vw;
      max-width: 550px;
      margin: 0 auto; }
    .top article .main .inner p {
      text-align: center;
      margin-top: 1.5em; }
  .top article .main .decoration {
    width: 103.5871156662vw;
    max-width: 1415px;
    position: absolute;
    top: 62.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1; }
.top article .leader {
  position: relative;
  z-index: 2; }
  .top article .leader--block {
    font-size: clamp(14px, 1.756954612vw, 24px);
    margin-top: 11.6em; }
    .top article .leader--block .inner {
      letter-spacing: .1em;
      text-align: center;
      color: #cf1727; }
      .top article .leader--block .inner p {
        width: 35.8711566618vw;
        max-width: 490px;
        margin: 0 auto; }
      .top article .leader--block .inner h2 {
        margin-top: 1em; }
    .top article .leader--block .anchor {
      font-size: clamp(10px, 1.317715959vw, 18px);
      line-height: 1;
      letter-spacing: .15em;
      text-align: center;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap; }
      .top article .leader--block .anchor li {
        display: inline-block;
        margin: 3em .5em; }
        .top article .leader--block .anchor li a {
          color: #fff;
          background-color: #471a0c;
          border-radius: 2.5rem;
          padding: .8em 1.5em; }
          .top article .leader--block .anchor li a:hover {
            opacity: 1;
            background-color: #cf1727;
            transform: scale(1.04); }
.top article .container--block {
  position: relative; }
  .top article .container--block:nth-of-type(n+2) {
    padding-top: 8.8em;
    margin-top: 5em;
    position: relative; }
    .top article .container--block:nth-of-type(n+2):before {
      content: "";
      display: block;
      position: absolute;
      width: 2.2em;
      height: 3.8em;
      background: url("../images/common/icon_arrow.webp") no-repeat center center/cover;
      top: 0;
      left: 50%;
      transform: translateX(-50%); }
  .top article .container--block .decoration {
    width: 100vw;
    max-width: 1366px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1; }
  .top article .container--block .pictures .figure {
    position: relative;
    margin-top: 2em !important; }
    .top article .container--block .pictures .figure .image {
      line-height: 0; }
    .top article .container--block .pictures .figure .label {
      font-size: clamp(12px, 1.0248901903vw, 14px);
      margin-top: 0;
      position: absolute;
      top: 1.5em;
      left: 0; }
      .top article .container--block .pictures .figure .label span {
        display: inline-block;
        color: #fff;
        background-color: #cf1727;
        padding: .2em 1.5em; }
    .top article .container--block .pictures .figure.radius .image {
      overflow: hidden;
      border-radius: 2.5rem; }
  .top article .container--block .pictures.flex {
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
    .top article .container--block .pictures.flex .figure {
      margin: 0 .4em; }
    .top article .container--block .pictures.flex.col02 .figure {
      width: 48.5358711567vw;
      max-width: 663px; }
    .top article .container--block .pictures.flex.col03 .figure {
      width: 32.2108345534vw;
      max-width: 440px; }
    .top article .container--block .pictures.flex.col04 .figure {
      width: 23.7920937042vw;
      max-width: 325px; }
  .top article .container--block .inner--main h3 {
    font-size: clamp(17px, 2.4890190337vw, 34px);
    color: #cf1727; }
    .top article .container--block .inner--main h3 span {
      font-size: clamp(24px, 3.2942898975vw, 45px); }
  .top article .container--block .inner--main p {
    margin-top: .5em; }
  .top article .container--block .inner--wrap:nth-of-type(n+3) {
    border-top: 2px dashed #cf1727;
    margin-top: 4em; }
  .top article .container--block .inner--wrap .pictures {
    margin-top: 3em; }
  .top article .container--block .inner--wrap p {
    margin-top: 1em; }
  .top article .container--block .inner .pictures.mid {
    width: 55%;
    margin: 0 auto; }
  .top article .container--block .inner .pictures.flex.col02 {
    justify-content: space-between; }
    .top article .container--block .inner .pictures.flex.col02 .figure {
      width: 33.6749633968vw;
      max-width: 460px;
      margin: 0; }
  .top article .container--block.block01 .decoration {
    top: 47.5%; }
  .top article .container--block.block03 {
    overflow: hidden;
    padding-bottom: 7.3206442167vw; }
    .top article .container--block.block03:after {
      content: '';
      display: block;
      position: absolute;
      width: 100vw;
      height: 100%;
      background: rgba(255, 181, 38, 0.2) url("../images/common/bg_dod.webp") repeat;
      top: 27.5em;
      z-index: -1; }
    .top article .container--block.block03 .decoration {
      top: 15em; }
  .top article .container--block.block04 .decoration {
    top: 10em; }
  .top article .container--block.block05 .decoration {
    top: 60%; }
  .top article .container--block.block07 .decoration {
    top: 7.5em; }
  .top article .container--block.block08 .decoration {
    top: 70%; }

@media screen and (max-width: 767px) {
  .top article .main {
    height: 177.8666666667vw; }
    .top article .main .inner {
      width: 95vw;
      top: 40%; }
      .top article .main .inner h1 {
        width: 74.9333333333vw; }
    .top article .main .decoration {
      width: 226.4vw;
      top: 47.5%; }
  .top article .leader--block {
    margin-top: 0; }
    .top article .leader--block .inner {
      font-size: clamp(14px, 3.7333333333vw, 24px); }
      .top article .leader--block .inner p {
        width: 78.4vw; }
    .top article .leader--block .anchor {
      font-size: clamp(10px, 2.6666666667vw, 18px);
      margin-top: 2.5em; }
      .top article .leader--block .anchor li {
        margin: .5em; }
  .top article .container--block {
    margin-top: 5em; }
    .top article .container--block:nth-of-type(n+2) {
      padding-top: 7em;
      margin-top: 4em; }
      .top article .container--block:nth-of-type(n+2):before {
        width: 1.8em;
        height: 3em; }
    .top article .container--block .decoration {
      width: 105vw; }
    .top article .container--block .pictures .figure {
      width: 100% !important; }
      .top article .container--block .pictures .figure .label {
        font-size: clamp(10px, 2.6666666667vw, 14px);
        top: 1em; }
      .top article .container--block .pictures .figure.radius .image {
        border-radius: 1.5rem; }
      .top article .container--block .pictures .figure .image {
        overflow: hidden;
        /*img{
            width: 200vw;
            max-width: inherit;
            margin-left: -67.5%;
        }*/ }
    .top article .container--block .pictures.flex .figure .image img {
      width: 100%;
      max-width: 100%;
      margin-left: 0; }
    .top article .container--block .inner--main h3 {
      font-size: clamp(17px, 4.5333333333vw, 34px);
      color: #cf1727; }
      .top article .container--block .inner--main h3 span {
        font-size: clamp(24px, 6.4vw, 45px); }
    .top article .container--block .inner .pictures.mid {
      width: 100% !important; }
    .top article .container--block.block01 .decoration.d01 {
      top: 25%; }
    .top article .container--block.block01 .decoration.d02 {
      top: 92.5%; }
    .top article .container--block.block03 {
      padding-bottom: 16vw; }
      .top article .container--block.block03:after {
        top: 22.5em; }
      .top article .container--block.block03 .decoration.d01 {
        top: 7.5em; }
      .top article .container--block.block03 .decoration.d02 {
        top: 13em; }
    .top article .container--block.block04 .decoration {
      top: 10em; }
    .top article .container--block.block05 .decoration.d01 {
      top: 15em; }
    .top article .container--block.block05 .decoration.d02 {
      top: 17.5em; }
    .top article .container--block.block07 .decoration.d01 {
      top: 2.5em; }
    .top article .container--block.block07 .decoration.d02 {
      top: 15em; }
    .top article .container--block.block08 .decoration.d01 {
      top: 12.5em; }
    .top article .container--block.block08 .decoration.d02 {
      top: 22.5em; }
    .top article .container--block.block08 .pictures .figure .image img {
      width: 150vw;
      max-width: inherit;
      margin-left: -37.5%; } }
.sample h1 {
  font-size: 3.2942898975vw; }
.sample h2 {
  font-size: 2.196193265vw; }
.sample h3 {
  font-size: 1.756954612vw; }
.sample h4 {
  font-size: 1.317715959vw; }
.sample p {
  margin-top: 1em; }
.sample article .inner {
  width: 75vw;
  margin: 0 auto; }
.sample article .main {
  height: 56.2225475842vw;
  background-color: #000;
  position: relative; }
  .sample article .main .inner--title {
    width: 100%;
    line-height: 1;
    text-align: center;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    .sample article .main .inner--title dd {
      font-size: 1.1713030747vw;
      margin-top: 1em; }
.sample article .leader--block {
  padding: 7.3206442167vw 0; }
  .sample article .leader--block .inner--wrap p {
    margin-top: 4em; }
    .sample article .leader--block .inner--wrap p:nth-of-type(n+2) {
      margin-top: 2em; }
.sample article .container--block {
  background-color: #dddddd;
  padding: 7.3206442167vw 0; }
  .sample article .container--block .inner--wrap--category {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .sample article .container--block .inner--wrap--category:nth-of-type(even) {
      flex-direction: row-reverse; }
    .sample article .container--block .inner--wrap--category:nth-of-type(n+2) {
      margin-top: 10em; }
    .sample article .container--block .inner--wrap--category .image {
      width: 45%;
      height: 25.6222547584vw;
      background-color: #fff; }
    .sample article .container--block .inner--wrap--category .texts {
      width: 50%; }
  .sample article .container--block.block01 {
    background-color: #cf1727; }
    .sample article .container--block.block01 .inner {
      background-color: #fff;
      padding: 5em; }
  .sample article .container--block.block03 {
    background-color: #471a0c; }
    .sample article .container--block.block03 .inner {
      width: 85vw; }
      .sample article .container--block.block03 .inner:nth-of-type(odd) {
        margin-left: 0; }
      .sample article .container--block.block03 .inner:nth-of-type(even) {
        margin-right: 0; }
      .sample article .container--block.block03 .inner:nth-of-type(n+2) {
        margin-top: 10em; }
  .sample article .container--block.block04 {
    background-color: #471a0c; }
    .sample article .container--block.block04 .inner {
      width: 85vw; }
      .sample article .container--block.block04 .inner .grid {
        margin-left: 1em; }
        .sample article .container--block.block04 .inner .grid .grid-sizer,
        .sample article .container--block.block04 .inner .grid .grid-item {
          width: 20%;
          height: 120px;
          float: left;
          border: 2px solid #333;
          border-color: rgba(0, 0, 0, 0.5);
          border-radius: .5rem;
          overflow: hidden;
          margin: 1em 1% 0 0; }
          .sample article .container--block.block04 .inner .grid .grid-sizer img,
          .sample article .container--block.block04 .inner .grid .grid-item img {
            display: none; }
          .sample article .container--block.block04 .inner .grid .grid-sizer.grid-item--width2,
          .sample article .container--block.block04 .inner .grid .grid-item.grid-item--width2 {
            width: 40%; }
          .sample article .container--block.block04 .inner .grid .grid-sizer.grid-item--width3,
          .sample article .container--block.block04 .inner .grid .grid-item.grid-item--width3 {
            width: 60%; }
          .sample article .container--block.block04 .inner .grid .grid-sizer.grid-item--height2,
          .sample article .container--block.block04 .inner .grid .grid-item.grid-item--height2 {
            height: 200px; }
          .sample article .container--block.block04 .inner .grid .grid-sizer.grid-item--height3,
          .sample article .container--block.block04 .inner .grid .grid-item.grid-item--height3 {
            height: 260px; }
          .sample article .container--block.block04 .inner .grid .grid-sizer.grid-item--height4,
          .sample article .container--block.block04 .inner .grid .grid-item.grid-item--height4 {
            height: 360px; }

@media screen and (max-width: 767px) {
  .sample article .main {
    height: 177.8666666667vw; }
    .sample article .main .inner--title dt {
      font-size: 6.4vw; }
    .sample article .main .inner--title dd {
      font-size: 4.2666666667vw; } }
