@charset "UTF-8";
:root {
  --color-def: #464646;
  --color-title: #7abb9e;
  --color-nav: #464646;
  --color-icon: #888;
  --color-logo: #5d56ab;
  --color-sub: #c4c4c4;
  --color-arrow: #23211e;
  --accent: #e495c2;
  --primary: #7abb9e;
  --color-link: var(--color-def);
  --red: #cc0000;
  --pink: rgb(219,85,153);
  --bg-dark: #23211e;
  --bg-gray: #f6f6f6;
  --bg-gnav: #474365;
  --ls-wide: 0.05em;
  --title-sub-size: 2.4rem;
  --header-h: calc(90em / 32);
  --section-top: clamp(calc(160em / 44 / 1.0),calc(160% / 14.4),80px);
  --section-bottom: clamp(calc(160em / 44 / 1.0),calc(160% / 14.4),80px);
  --container:1470px;
  --container-pad: min(calc(80% / 14.4), 15px);
  --btn-bg:#7abb9e;
  --btn-bg:var(--gra);
  --btn-bg-h:rgba(113, 177, 159, 1);
  --gra: linear-gradient(268deg, rgba(165, 203, 225, 1) 0%, rgba(113, 177, 159, 1) 100%);
  --btn-w:calc(340em / 22);
  --btn-h: calc(80em / 22);
  --btn-round:calc(var(--btn-h) / 2);
  --btn-size: var(--size-22);
  --btn-color:#fff;
  --btn-color-h:#fff;
  --size-def: clamp(14px, calc(14vmin / 4), 18px);
  --size-12: clamp(10px, calc(10vmin / 4), 12px);
  --size-14: clamp(12px, calc(10vmin / 4), 14px);
  --size-16: clamp(14px, calc(10vmin / 4), 16px);
  --size-18: clamp(14px, calc(12vmin / 4), 18px);
  --size-20: clamp(14px, calc(14vmin / 4), 20px);
  --size-21: clamp(16px, calc(16vmin / 4), 21px);
  --size-22: clamp(16px, calc(16vmin / 4), 22px);
  --size-24: clamp(16px, calc(16vmin / 4), 24px);
  --size-25: clamp(18px, calc(16vmin / 4), 25px);
  --size-26: clamp(18px, calc(18vmin / 4), 26px);
  --size-28: clamp(18px, calc(18vmin / 4), 28px);
  --size-30: clamp(18px, calc(18vmin / 4), 30px);
  --size-32: clamp(18px, calc(18vmin / 4), 32px);
  --size-34: clamp(18px, calc(18vmin / 4), 34px);
  --size-35: clamp(18px, calc(18vmin / 4), 35px);
  --size-36: clamp(20px, calc(20vmin / 4), 36px);
  --size-38: clamp(22px, calc(20vmin / 4), 38px);
  --size-40: clamp(26px, calc(24vmin / 4), 40px);
  --size-42: clamp(26px, calc(24vmin / 4), 42px);
  --size-44: clamp(26px, calc(24vmin / 4), 44px);
  --size-48: clamp(28px, calc(26vmin / 4), 48px);
  --size-56: clamp(28px, calc(28vmin / 4), 56px);
  --size-58: clamp(28px, calc(28vmin / 4), 58px);
  --size-60: clamp(28px, calc(120vmin / 10.4), 60px);
  --size-70: clamp(30px, calc(30vmin / 4), 70px);
  --size-72: clamp(30px, calc(30vmin / 4), 72px);
  --size-80: clamp(40px, calc(40vmin / 4), 80px);
  --size-84: clamp(40px, calc(40vmin / 4), 84px);
  --size-94: clamp(40px, calc(40vmin / 4), 94px);
  --size-108: clamp(40px, calc(216vmin / 14.4), 108px);
  --size-120: clamp(40px, calc(50vmin / 4), 120px);
  --size-150: clamp(45px, calc(150vw / 16.8), 150px);
  --easing: cubic-bezier(0.37, 0, 0.63, 1);
  --easing-def: cubic-bezier(0.42, 0, 0.58, 1);
  --ff-gothic: "yu-gothic-pr6n","游ゴシック Medium", yu-gothic-pr6n, "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN",sans-serif;
  --ff-mincho: "dnp-shuei-mincho-pr6n", "游明朝", yu-mincho-pr6n, "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  --ff-en: "linotype-didot", Didot, linotype-didot, aw-conqueror-didot, serif;
  --ff-sakura: "Sacramento", serif;
  --ff-barlow: "Barlow Condensed", serif;
  --ff-poppins: "Poppins", sans-serif;
  --ff-helv: "Helvetica Neue" , Helvetica ,serif;
  --ff-noto: "Noto Sans JP", var(--ff-gothic);
  --delay-anime: 0.3s;
  --arrow-w:calc(40em / 18);
  --arrow-h:calc(14em / 18);
  --arrow-color: #908574;
}

.ff-en {
  font-family: var(--ff-en);
  font-weight: 400;
  font-style: normal;
}

.ff-sakura {
  font-family: var(--ff-sakura);
}

.ff-barlow {
  font-family: var(--ff-barlow);
  font-weight: 400;
}

.ff-poppins {
  font-family: var(--ff-poppins);
}

.ff-title {
  font-family: var(--ff-mincho);
  font-weight: 500;
  font-style: normal;
}

.ff-helv {
  font-family: var(--ff-helv);
  font-weight: 400;
  font-style: normal;
}

.ff-noto {
  font-family: var(--ff-noto);
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.ff-gothic {
  font-family: var(--ff-gothic);
  font-weight: 400;
  font-style: normal;
}

.medium {
  font-weight: 500;
}

.semi {
  font-weight: 600;
}

.size-12 {
  font-size: var(--size-12);
}
.size-14 {
  font-size: var(--size-14);
}
.size-16 {
  font-size: var(--size-16);
}
.size-18 {
  font-size: var(--size-18);
}
.size-20 {
  font-size: var(--size-20);
}
.size-21 {
  font-size: var(--size-21);
}
.size-22 {
  font-size: var(--size-22);
}
.size-24 {
  font-size: var(--size-24);
}
.size-25 {
  font-size: var(--size-25);
}
.size-26 {
  font-size: var(--size-26);
}
.size-28 {
  font-size: var(--size-28);
}
.size-30 {
  font-size: var(--size-30);
}
.size-32 {
  font-size: var(--size-32);
}
.size-34 {
  font-size: var(--size-34);
}
.size-35 {
  font-size: var(--size-35);
}
.size-36 {
  font-size: var(--size-36);
}
.size-38 {
  font-size: var(--size-38);
}
.size-40 {
  font-size: var(--size-40);
}
.size-42 {
  font-size: var(--size-42);
}
.size-44 {
  font-size: var(--size-44);
}
.size-48 {
  font-size: var(--size-48);
}
.size-50 {
  font-size: var(--size-50);
}
.size-56 {
  font-size: var(--size-56);
}
.size-58 {
  font-size: var(--size-58);
}
.size-60 {
  font-size: var(--size-60);
}
.size-70 {
  font-size: var(--size-70);
}
.size-72 {
  font-size: var(--size-72);
}
.size-80 {
  font-size: var(--size-80);
}
.size-84 {
  font-size: var(--size-84);
}
.size-94 {
  font-size: var(--size-94);
}
.size-108 {
  font-size: var(--size-108);
}
.size-120 {
  font-size: var(--size-120);
}
.size-150 {
  font-size: var(--size-150);
}

.lh-18 {
  line-height: 1.8;
}

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

/assets/sass/common/_reset.scss
Reset

=========================================================================== */
body {
  /* webkit系のスマホで文字が拡大されるのを防ぐ */
  -webkit-text-size-adjust: 100%;
}

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

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

html {
  overflow-y: scroll;
}

blockquote, q {
  quotes: none;
}

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

input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  /* 必要に応じて下記はコメントアウト */
  /*
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
  */
}

ol, ul {
  list-style: none;
}

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

a:focus {
  outline: none;
}

img {
  vertical-align: bottom;
}

a, span, small, strong {
  color: inherit;
  font-weight: inherit;
}

html {
  font-size: 0.625em;
  box-sizing: border-box;
}

img {
  max-width: 100%;
  vertical-align: bottom;
  height: auto;
}

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

a {
  color: inherit;
  text-decoration: none;
}
a:visited {
  text-decoration: none;
}

a:hover, a:active {
  color: inherit;
  text-decoration: none;
}

.mt1 {
  margin-top: 1em;
}

.mt15 {
  margin-top: 1.5em;
}

.mt2 {
  margin-top: 2em;
}

.mb1 {
  margin-bottom: 1em;
}

.mb15 {
  margin-bottom: 1.5em;
}

.mb2 {
  margin-bottom: 2em;
}

.mb25 {
  margin-bottom: 2.5em;
}

.mb3 {
  margin-bottom: 3em;
}

.mr1 {
  margin-right: 1em;
}

.mr15 {
  margin-right: 1.5em;
}

.mr2 {
  margin-right: 2em;
}

.pl1 {
  padding-left: 1em;
}

.pl2 {
  padding-left: 2em;
}

.pl3 {
  padding-left: 3em;
}

.pl4 {
  padding-left: 4em;
}

.pt0 {
  padding-top: 0px;
}

.pr0 {
  padding-right: 0px;
}

.pb0 {
  padding-bottom: 0px;
}

.pl0 {
  padding-left: 0px;
}

.mt0 {
  margin-top: 0px;
}

.mr0 {
  margin-right: 0px;
}

.mb0 {
  margin-bottom: 0px;
}

.ml0 {
  margin-left: 0px;
}

.pt5 {
  padding-top: 5px;
}

.pr5 {
  padding-right: 5px;
}

.pb5 {
  padding-bottom: 5px;
}

.pl5 {
  padding-left: 5px;
}

.mt5 {
  margin-top: 5px;
}

.mr5 {
  margin-right: 5px;
}

.mb5 {
  margin-bottom: 5px;
}

.ml5 {
  margin-left: 5px;
}

.pt10 {
  padding-top: 10px;
}

.pr10 {
  padding-right: 10px;
}

.pb10 {
  padding-bottom: 10px;
}

.pl10 {
  padding-left: 10px;
}

.mt10 {
  margin-top: 10px;
}

.mr10 {
  margin-right: 10px;
}

.mb10 {
  margin-bottom: 10px;
}

.ml10 {
  margin-left: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pr15 {
  padding-right: 15px;
}

.pb15 {
  padding-bottom: 15px;
}

.pl15 {
  padding-left: 15px;
}

.mt15 {
  margin-top: 15px;
}

.mr15 {
  margin-right: 15px;
}

.mb15 {
  margin-bottom: 15px;
}

.ml15 {
  margin-left: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pr20 {
  padding-right: 20px;
}

.pb20 {
  padding-bottom: 20px;
}

.pl20 {
  padding-left: 20px;
}

.mt20 {
  margin-top: 20px;
}

.mr20 {
  margin-right: 20px;
}

.mb20 {
  margin-bottom: 20px;
}

.ml20 {
  margin-left: 20px;
}

.pt25 {
  padding-top: 25px;
}

.pr25 {
  padding-right: 25px;
}

.pb25 {
  padding-bottom: 25px;
}

.pl25 {
  padding-left: 25px;
}

.mt25 {
  margin-top: 25px;
}

.mr25 {
  margin-right: 25px;
}

.mb25 {
  margin-bottom: 25px;
}

.ml25 {
  margin-left: 25px;
}

.pt30 {
  padding-top: 30px;
}

.pr30 {
  padding-right: 30px;
}

.pb30 {
  padding-bottom: 30px;
}

.pl30 {
  padding-left: 30px;
}

.mt30 {
  margin-top: 30px;
}

.mr30 {
  margin-right: 30px;
}

.mb30 {
  margin-bottom: 30px;
}

.ml30 {
  margin-left: 30px;
}

.pt35 {
  padding-top: 35px;
}

.pr35 {
  padding-right: 35px;
}

.pb35 {
  padding-bottom: 35px;
}

.pl35 {
  padding-left: 35px;
}

.mt35 {
  margin-top: 35px;
}

.mr35 {
  margin-right: 35px;
}

.mb35 {
  margin-bottom: 35px;
}

.ml35 {
  margin-left: 35px;
}

.pt40 {
  padding-top: 40px;
}

.pr40 {
  padding-right: 40px;
}

.pb40 {
  padding-bottom: 40px;
}

.pl40 {
  padding-left: 40px;
}

.mt40 {
  margin-top: 40px;
}

.mr40 {
  margin-right: 40px;
}

.mb40 {
  margin-bottom: 40px;
}

.ml40 {
  margin-left: 40px;
}

.pt45 {
  padding-top: 45px;
}

.pr45 {
  padding-right: 45px;
}

.pb45 {
  padding-bottom: 45px;
}

.pl45 {
  padding-left: 45px;
}

.mt45 {
  margin-top: 45px;
}

.mr45 {
  margin-right: 45px;
}

.mb45 {
  margin-bottom: 45px;
}

.ml45 {
  margin-left: 45px;
}

.pt50 {
  padding-top: 50px;
}

.pr50 {
  padding-right: 50px;
}

.pb50 {
  padding-bottom: 50px;
}

.pl50 {
  padding-left: 50px;
}

.mt50 {
  margin-top: 50px;
}

.mr50 {
  margin-right: 50px;
}

.mb50 {
  margin-bottom: 50px;
}

.ml50 {
  margin-left: 50px;
}

.pt55 {
  padding-top: 55px;
}

.pr55 {
  padding-right: 55px;
}

.pb55 {
  padding-bottom: 55px;
}

.pl55 {
  padding-left: 55px;
}

.mt55 {
  margin-top: 55px;
}

.mr55 {
  margin-right: 55px;
}

.mb55 {
  margin-bottom: 55px;
}

.ml55 {
  margin-left: 55px;
}

.pt60 {
  padding-top: 60px;
}

.pr60 {
  padding-right: 60px;
}

.pb60 {
  padding-bottom: 60px;
}

.pl60 {
  padding-left: 60px;
}

.mt60 {
  margin-top: 60px;
}

.mr60 {
  margin-right: 60px;
}

.mb60 {
  margin-bottom: 60px;
}

.ml60 {
  margin-left: 60px;
}

.pt65 {
  padding-top: 65px;
}

.pr65 {
  padding-right: 65px;
}

.pb65 {
  padding-bottom: 65px;
}

.pl65 {
  padding-left: 65px;
}

.mt65 {
  margin-top: 65px;
}

.mr65 {
  margin-right: 65px;
}

.mb65 {
  margin-bottom: 65px;
}

.ml65 {
  margin-left: 65px;
}

.pt70 {
  padding-top: 70px;
}

.pr70 {
  padding-right: 70px;
}

.pb70 {
  padding-bottom: 70px;
}

.pl70 {
  padding-left: 70px;
}

.mt70 {
  margin-top: 70px;
}

.mr70 {
  margin-right: 70px;
}

.mb70 {
  margin-bottom: 70px;
}

.ml70 {
  margin-left: 70px;
}

.pt75 {
  padding-top: 75px;
}

.pr75 {
  padding-right: 75px;
}

.pb75 {
  padding-bottom: 75px;
}

.pl75 {
  padding-left: 75px;
}

.mt75 {
  margin-top: 75px;
}

.mr75 {
  margin-right: 75px;
}

.mb75 {
  margin-bottom: 75px;
}

.ml75 {
  margin-left: 75px;
}

.pt80 {
  padding-top: 80px;
}

.pr80 {
  padding-right: 80px;
}

.pb80 {
  padding-bottom: 80px;
}

.pl80 {
  padding-left: 80px;
}

.mt80 {
  margin-top: 80px;
}

.mr80 {
  margin-right: 80px;
}

.mb80 {
  margin-bottom: 80px;
}

.ml80 {
  margin-left: 80px;
}

.pt85 {
  padding-top: 85px;
}

.pr85 {
  padding-right: 85px;
}

.pb85 {
  padding-bottom: 85px;
}

.pl85 {
  padding-left: 85px;
}

.mt85 {
  margin-top: 85px;
}

.mr85 {
  margin-right: 85px;
}

.mb85 {
  margin-bottom: 85px;
}

.ml85 {
  margin-left: 85px;
}

.pt90 {
  padding-top: 90px;
}

.pr90 {
  padding-right: 90px;
}

.pb90 {
  padding-bottom: 90px;
}

.pl90 {
  padding-left: 90px;
}

.mt90 {
  margin-top: 90px;
}

.mr90 {
  margin-right: 90px;
}

.mb90 {
  margin-bottom: 90px;
}

.ml90 {
  margin-left: 90px;
}

.pt95 {
  padding-top: 95px;
}

.pr95 {
  padding-right: 95px;
}

.pb95 {
  padding-bottom: 95px;
}

.pl95 {
  padding-left: 95px;
}

.mt95 {
  margin-top: 95px;
}

.mr95 {
  margin-right: 95px;
}

.mb95 {
  margin-bottom: 95px;
}

.ml95 {
  margin-left: 95px;
}

.pt100 {
  padding-top: 100px;
}

.pr100 {
  padding-right: 100px;
}

.pb100 {
  padding-bottom: 100px;
}

.pl100 {
  padding-left: 100px;
}

.mt100 {
  margin-top: 100px;
}

.mr100 {
  margin-right: 100px;
}

.mb100 {
  margin-bottom: 100px;
}

.ml100 {
  margin-left: 100px;
}

.pt105 {
  padding-top: 105px;
}

.pr105 {
  padding-right: 105px;
}

.pb105 {
  padding-bottom: 105px;
}

.pl105 {
  padding-left: 105px;
}

.mt105 {
  margin-top: 105px;
}

.mr105 {
  margin-right: 105px;
}

.mb105 {
  margin-bottom: 105px;
}

.ml105 {
  margin-left: 105px;
}

.pt110 {
  padding-top: 110px;
}

.pr110 {
  padding-right: 110px;
}

.pb110 {
  padding-bottom: 110px;
}

.pl110 {
  padding-left: 110px;
}

.mt110 {
  margin-top: 110px;
}

.mr110 {
  margin-right: 110px;
}

.mb110 {
  margin-bottom: 110px;
}

.ml110 {
  margin-left: 110px;
}

.pt115 {
  padding-top: 115px;
}

.pr115 {
  padding-right: 115px;
}

.pb115 {
  padding-bottom: 115px;
}

.pl115 {
  padding-left: 115px;
}

.mt115 {
  margin-top: 115px;
}

.mr115 {
  margin-right: 115px;
}

.mb115 {
  margin-bottom: 115px;
}

.ml115 {
  margin-left: 115px;
}

.pt120 {
  padding-top: 120px;
}

.pr120 {
  padding-right: 120px;
}

.pb120 {
  padding-bottom: 120px;
}

.pl120 {
  padding-left: 120px;
}

.mt120 {
  margin-top: 120px;
}

.mr120 {
  margin-right: 120px;
}

.mb120 {
  margin-bottom: 120px;
}

.ml120 {
  margin-left: 120px;
}

.pt125 {
  padding-top: 125px;
}

.pr125 {
  padding-right: 125px;
}

.pb125 {
  padding-bottom: 125px;
}

.pl125 {
  padding-left: 125px;
}

.mt125 {
  margin-top: 125px;
}

.mr125 {
  margin-right: 125px;
}

.mb125 {
  margin-bottom: 125px;
}

.ml125 {
  margin-left: 125px;
}

.pt130 {
  padding-top: 130px;
}

.pr130 {
  padding-right: 130px;
}

.pb130 {
  padding-bottom: 130px;
}

.pl130 {
  padding-left: 130px;
}

.mt130 {
  margin-top: 130px;
}

.mr130 {
  margin-right: 130px;
}

.mb130 {
  margin-bottom: 130px;
}

.ml130 {
  margin-left: 130px;
}

.pt135 {
  padding-top: 135px;
}

.pr135 {
  padding-right: 135px;
}

.pb135 {
  padding-bottom: 135px;
}

.pl135 {
  padding-left: 135px;
}

.mt135 {
  margin-top: 135px;
}

.mr135 {
  margin-right: 135px;
}

.mb135 {
  margin-bottom: 135px;
}

.ml135 {
  margin-left: 135px;
}

.pt140 {
  padding-top: 140px;
}

.pr140 {
  padding-right: 140px;
}

.pb140 {
  padding-bottom: 140px;
}

.pl140 {
  padding-left: 140px;
}

.mt140 {
  margin-top: 140px;
}

.mr140 {
  margin-right: 140px;
}

.mb140 {
  margin-bottom: 140px;
}

.ml140 {
  margin-left: 140px;
}

.pt145 {
  padding-top: 145px;
}

.pr145 {
  padding-right: 145px;
}

.pb145 {
  padding-bottom: 145px;
}

.pl145 {
  padding-left: 145px;
}

.mt145 {
  margin-top: 145px;
}

.mr145 {
  margin-right: 145px;
}

.mb145 {
  margin-bottom: 145px;
}

.ml145 {
  margin-left: 145px;
}

.pt150 {
  padding-top: 150px;
}

.pr150 {
  padding-right: 150px;
}

.pb150 {
  padding-bottom: 150px;
}

.pl150 {
  padding-left: 150px;
}

.mt150 {
  margin-top: 150px;
}

.mr150 {
  margin-right: 150px;
}

.mb150 {
  margin-bottom: 150px;
}

.ml150 {
  margin-left: 150px;
}

.pt155 {
  padding-top: 155px;
}

.pr155 {
  padding-right: 155px;
}

.pb155 {
  padding-bottom: 155px;
}

.pl155 {
  padding-left: 155px;
}

.mt155 {
  margin-top: 155px;
}

.mr155 {
  margin-right: 155px;
}

.mb155 {
  margin-bottom: 155px;
}

.ml155 {
  margin-left: 155px;
}

.pt160 {
  padding-top: 160px;
}

.pr160 {
  padding-right: 160px;
}

.pb160 {
  padding-bottom: 160px;
}

.pl160 {
  padding-left: 160px;
}

.mt160 {
  margin-top: 160px;
}

.mr160 {
  margin-right: 160px;
}

.mb160 {
  margin-bottom: 160px;
}

.ml160 {
  margin-left: 160px;
}

.pt165 {
  padding-top: 165px;
}

.pr165 {
  padding-right: 165px;
}

.pb165 {
  padding-bottom: 165px;
}

.pl165 {
  padding-left: 165px;
}

.mt165 {
  margin-top: 165px;
}

.mr165 {
  margin-right: 165px;
}

.mb165 {
  margin-bottom: 165px;
}

.ml165 {
  margin-left: 165px;
}

.pt170 {
  padding-top: 170px;
}

.pr170 {
  padding-right: 170px;
}

.pb170 {
  padding-bottom: 170px;
}

.pl170 {
  padding-left: 170px;
}

.mt170 {
  margin-top: 170px;
}

.mr170 {
  margin-right: 170px;
}

.mb170 {
  margin-bottom: 170px;
}

.ml170 {
  margin-left: 170px;
}

.pt175 {
  padding-top: 175px;
}

.pr175 {
  padding-right: 175px;
}

.pb175 {
  padding-bottom: 175px;
}

.pl175 {
  padding-left: 175px;
}

.mt175 {
  margin-top: 175px;
}

.mr175 {
  margin-right: 175px;
}

.mb175 {
  margin-bottom: 175px;
}

.ml175 {
  margin-left: 175px;
}

.pt180 {
  padding-top: 180px;
}

.pr180 {
  padding-right: 180px;
}

.pb180 {
  padding-bottom: 180px;
}

.pl180 {
  padding-left: 180px;
}

.mt180 {
  margin-top: 180px;
}

.mr180 {
  margin-right: 180px;
}

.mb180 {
  margin-bottom: 180px;
}

.ml180 {
  margin-left: 180px;
}

.pt185 {
  padding-top: 185px;
}

.pr185 {
  padding-right: 185px;
}

.pb185 {
  padding-bottom: 185px;
}

.pl185 {
  padding-left: 185px;
}

.mt185 {
  margin-top: 185px;
}

.mr185 {
  margin-right: 185px;
}

.mb185 {
  margin-bottom: 185px;
}

.ml185 {
  margin-left: 185px;
}

.pt190 {
  padding-top: 190px;
}

.pr190 {
  padding-right: 190px;
}

.pb190 {
  padding-bottom: 190px;
}

.pl190 {
  padding-left: 190px;
}

.mt190 {
  margin-top: 190px;
}

.mr190 {
  margin-right: 190px;
}

.mb190 {
  margin-bottom: 190px;
}

.ml190 {
  margin-left: 190px;
}

.pt195 {
  padding-top: 195px;
}

.pr195 {
  padding-right: 195px;
}

.pb195 {
  padding-bottom: 195px;
}

.pl195 {
  padding-left: 195px;
}

.mt195 {
  margin-top: 195px;
}

.mr195 {
  margin-right: 195px;
}

.mb195 {
  margin-bottom: 195px;
}

.ml195 {
  margin-left: 195px;
}

.pt200 {
  padding-top: 200px;
}

.pr200 {
  padding-right: 200px;
}

.pb200 {
  padding-bottom: 200px;
}

.pl200 {
  padding-left: 200px;
}

.mt200 {
  margin-top: 200px;
}

.mr200 {
  margin-right: 200px;
}

.mb200 {
  margin-bottom: 200px;
}

.ml200 {
  margin-left: 200px;
}

@media print, screen and (max-width: 767px) {
  .pt0 {
    padding-top: 0px;
  }
  .pr0 {
    padding-right: 0px;
  }
  .pb0 {
    padding-bottom: 0px;
  }
  .pl0 {
    padding-left: 0px;
  }
  .mt0 {
    margin-top: 0px;
  }
  .mr0 {
    margin-right: 0px;
  }
  .mb0 {
    margin-bottom: 0px;
  }
  .ml0 {
    margin-left: 0px;
  }
  .pt5 {
    padding-top: 2.5px;
  }
  .pr5 {
    padding-right: 2.5px;
  }
  .pb5 {
    padding-bottom: 2.5px;
  }
  .pl5 {
    padding-left: 2.5px;
  }
  .mt5 {
    margin-top: 2.5px;
  }
  .mr5 {
    margin-right: 2.5px;
  }
  .mb5 {
    margin-bottom: 2.5px;
  }
  .ml5 {
    margin-left: 2.5px;
  }
  .pt10 {
    padding-top: 5px;
  }
  .pr10 {
    padding-right: 5px;
  }
  .pb10 {
    padding-bottom: 5px;
  }
  .pl10 {
    padding-left: 5px;
  }
  .mt10 {
    margin-top: 5px;
  }
  .mr10 {
    margin-right: 5px;
  }
  .mb10 {
    margin-bottom: 5px;
  }
  .ml10 {
    margin-left: 5px;
  }
  .pt15 {
    padding-top: 7.5px;
  }
  .pr15 {
    padding-right: 7.5px;
  }
  .pb15 {
    padding-bottom: 7.5px;
  }
  .pl15 {
    padding-left: 7.5px;
  }
  .mt15 {
    margin-top: 7.5px;
  }
  .mr15 {
    margin-right: 7.5px;
  }
  .mb15 {
    margin-bottom: 7.5px;
  }
  .ml15 {
    margin-left: 7.5px;
  }
  .pt20 {
    padding-top: 10px;
  }
  .pr20 {
    padding-right: 10px;
  }
  .pb20 {
    padding-bottom: 10px;
  }
  .pl20 {
    padding-left: 10px;
  }
  .mt20 {
    margin-top: 10px;
  }
  .mr20 {
    margin-right: 10px;
  }
  .mb20 {
    margin-bottom: 10px;
  }
  .ml20 {
    margin-left: 10px;
  }
  .pt25 {
    padding-top: 12.5px;
  }
  .pr25 {
    padding-right: 12.5px;
  }
  .pb25 {
    padding-bottom: 12.5px;
  }
  .pl25 {
    padding-left: 12.5px;
  }
  .mt25 {
    margin-top: 12.5px;
  }
  .mr25 {
    margin-right: 12.5px;
  }
  .mb25 {
    margin-bottom: 12.5px;
  }
  .ml25 {
    margin-left: 12.5px;
  }
  .pt30 {
    padding-top: 15px;
  }
  .pr30 {
    padding-right: 15px;
  }
  .pb30 {
    padding-bottom: 15px;
  }
  .pl30 {
    padding-left: 15px;
  }
  .mt30 {
    margin-top: 15px;
  }
  .mr30 {
    margin-right: 15px;
  }
  .mb30 {
    margin-bottom: 15px;
  }
  .ml30 {
    margin-left: 15px;
  }
  .pt35 {
    padding-top: 17.5px;
  }
  .pr35 {
    padding-right: 17.5px;
  }
  .pb35 {
    padding-bottom: 17.5px;
  }
  .pl35 {
    padding-left: 17.5px;
  }
  .mt35 {
    margin-top: 17.5px;
  }
  .mr35 {
    margin-right: 17.5px;
  }
  .mb35 {
    margin-bottom: 17.5px;
  }
  .ml35 {
    margin-left: 17.5px;
  }
  .pt40 {
    padding-top: 20px;
  }
  .pr40 {
    padding-right: 20px;
  }
  .pb40 {
    padding-bottom: 20px;
  }
  .pl40 {
    padding-left: 20px;
  }
  .mt40 {
    margin-top: 20px;
  }
  .mr40 {
    margin-right: 20px;
  }
  .mb40 {
    margin-bottom: 20px;
  }
  .ml40 {
    margin-left: 20px;
  }
  .pt45 {
    padding-top: 22.5px;
  }
  .pr45 {
    padding-right: 22.5px;
  }
  .pb45 {
    padding-bottom: 22.5px;
  }
  .pl45 {
    padding-left: 22.5px;
  }
  .mt45 {
    margin-top: 22.5px;
  }
  .mr45 {
    margin-right: 22.5px;
  }
  .mb45 {
    margin-bottom: 22.5px;
  }
  .ml45 {
    margin-left: 22.5px;
  }
  .pt50 {
    padding-top: 25px;
  }
  .pr50 {
    padding-right: 25px;
  }
  .pb50 {
    padding-bottom: 25px;
  }
  .pl50 {
    padding-left: 25px;
  }
  .mt50 {
    margin-top: 25px;
  }
  .mr50 {
    margin-right: 25px;
  }
  .mb50 {
    margin-bottom: 25px;
  }
  .ml50 {
    margin-left: 25px;
  }
  .pt55 {
    padding-top: 27.5px;
  }
  .pr55 {
    padding-right: 27.5px;
  }
  .pb55 {
    padding-bottom: 27.5px;
  }
  .pl55 {
    padding-left: 27.5px;
  }
  .mt55 {
    margin-top: 27.5px;
  }
  .mr55 {
    margin-right: 27.5px;
  }
  .mb55 {
    margin-bottom: 27.5px;
  }
  .ml55 {
    margin-left: 27.5px;
  }
  .pt60 {
    padding-top: 30px;
  }
  .pr60 {
    padding-right: 30px;
  }
  .pb60 {
    padding-bottom: 30px;
  }
  .pl60 {
    padding-left: 30px;
  }
  .mt60 {
    margin-top: 30px;
  }
  .mr60 {
    margin-right: 30px;
  }
  .mb60 {
    margin-bottom: 30px;
  }
  .ml60 {
    margin-left: 30px;
  }
  .pt65 {
    padding-top: 32.5px;
  }
  .pr65 {
    padding-right: 32.5px;
  }
  .pb65 {
    padding-bottom: 32.5px;
  }
  .pl65 {
    padding-left: 32.5px;
  }
  .mt65 {
    margin-top: 32.5px;
  }
  .mr65 {
    margin-right: 32.5px;
  }
  .mb65 {
    margin-bottom: 32.5px;
  }
  .ml65 {
    margin-left: 32.5px;
  }
  .pt70 {
    padding-top: 35px;
  }
  .pr70 {
    padding-right: 35px;
  }
  .pb70 {
    padding-bottom: 35px;
  }
  .pl70 {
    padding-left: 35px;
  }
  .mt70 {
    margin-top: 35px;
  }
  .mr70 {
    margin-right: 35px;
  }
  .mb70 {
    margin-bottom: 35px;
  }
  .ml70 {
    margin-left: 35px;
  }
  .pt75 {
    padding-top: 37.5px;
  }
  .pr75 {
    padding-right: 37.5px;
  }
  .pb75 {
    padding-bottom: 37.5px;
  }
  .pl75 {
    padding-left: 37.5px;
  }
  .mt75 {
    margin-top: 37.5px;
  }
  .mr75 {
    margin-right: 37.5px;
  }
  .mb75 {
    margin-bottom: 37.5px;
  }
  .ml75 {
    margin-left: 37.5px;
  }
  .pt80 {
    padding-top: 40px;
  }
  .pr80 {
    padding-right: 40px;
  }
  .pb80 {
    padding-bottom: 40px;
  }
  .pl80 {
    padding-left: 40px;
  }
  .mt80 {
    margin-top: 40px;
  }
  .mr80 {
    margin-right: 40px;
  }
  .mb80 {
    margin-bottom: 40px;
  }
  .ml80 {
    margin-left: 40px;
  }
  .pt85 {
    padding-top: 42.5px;
  }
  .pr85 {
    padding-right: 42.5px;
  }
  .pb85 {
    padding-bottom: 42.5px;
  }
  .pl85 {
    padding-left: 42.5px;
  }
  .mt85 {
    margin-top: 42.5px;
  }
  .mr85 {
    margin-right: 42.5px;
  }
  .mb85 {
    margin-bottom: 42.5px;
  }
  .ml85 {
    margin-left: 42.5px;
  }
  .pt90 {
    padding-top: 45px;
  }
  .pr90 {
    padding-right: 45px;
  }
  .pb90 {
    padding-bottom: 45px;
  }
  .pl90 {
    padding-left: 45px;
  }
  .mt90 {
    margin-top: 45px;
  }
  .mr90 {
    margin-right: 45px;
  }
  .mb90 {
    margin-bottom: 45px;
  }
  .ml90 {
    margin-left: 45px;
  }
  .pt95 {
    padding-top: 47.5px;
  }
  .pr95 {
    padding-right: 47.5px;
  }
  .pb95 {
    padding-bottom: 47.5px;
  }
  .pl95 {
    padding-left: 47.5px;
  }
  .mt95 {
    margin-top: 47.5px;
  }
  .mr95 {
    margin-right: 47.5px;
  }
  .mb95 {
    margin-bottom: 47.5px;
  }
  .ml95 {
    margin-left: 47.5px;
  }
  .pt100 {
    padding-top: 50px;
  }
  .pr100 {
    padding-right: 50px;
  }
  .pb100 {
    padding-bottom: 50px;
  }
  .pl100 {
    padding-left: 50px;
  }
  .mt100 {
    margin-top: 50px;
  }
  .mr100 {
    margin-right: 50px;
  }
  .mb100 {
    margin-bottom: 50px;
  }
  .ml100 {
    margin-left: 50px;
  }
  .pt105 {
    padding-top: 52.5px;
  }
  .pr105 {
    padding-right: 52.5px;
  }
  .pb105 {
    padding-bottom: 52.5px;
  }
  .pl105 {
    padding-left: 52.5px;
  }
  .mt105 {
    margin-top: 52.5px;
  }
  .mr105 {
    margin-right: 52.5px;
  }
  .mb105 {
    margin-bottom: 52.5px;
  }
  .ml105 {
    margin-left: 52.5px;
  }
  .pt110 {
    padding-top: 55px;
  }
  .pr110 {
    padding-right: 55px;
  }
  .pb110 {
    padding-bottom: 55px;
  }
  .pl110 {
    padding-left: 55px;
  }
  .mt110 {
    margin-top: 55px;
  }
  .mr110 {
    margin-right: 55px;
  }
  .mb110 {
    margin-bottom: 55px;
  }
  .ml110 {
    margin-left: 55px;
  }
  .pt115 {
    padding-top: 57.5px;
  }
  .pr115 {
    padding-right: 57.5px;
  }
  .pb115 {
    padding-bottom: 57.5px;
  }
  .pl115 {
    padding-left: 57.5px;
  }
  .mt115 {
    margin-top: 57.5px;
  }
  .mr115 {
    margin-right: 57.5px;
  }
  .mb115 {
    margin-bottom: 57.5px;
  }
  .ml115 {
    margin-left: 57.5px;
  }
  .pt120 {
    padding-top: 60px;
  }
  .pr120 {
    padding-right: 60px;
  }
  .pb120 {
    padding-bottom: 60px;
  }
  .pl120 {
    padding-left: 60px;
  }
  .mt120 {
    margin-top: 60px;
  }
  .mr120 {
    margin-right: 60px;
  }
  .mb120 {
    margin-bottom: 60px;
  }
  .ml120 {
    margin-left: 60px;
  }
  .pt125 {
    padding-top: 62.5px;
  }
  .pr125 {
    padding-right: 62.5px;
  }
  .pb125 {
    padding-bottom: 62.5px;
  }
  .pl125 {
    padding-left: 62.5px;
  }
  .mt125 {
    margin-top: 62.5px;
  }
  .mr125 {
    margin-right: 62.5px;
  }
  .mb125 {
    margin-bottom: 62.5px;
  }
  .ml125 {
    margin-left: 62.5px;
  }
  .pt130 {
    padding-top: 65px;
  }
  .pr130 {
    padding-right: 65px;
  }
  .pb130 {
    padding-bottom: 65px;
  }
  .pl130 {
    padding-left: 65px;
  }
  .mt130 {
    margin-top: 65px;
  }
  .mr130 {
    margin-right: 65px;
  }
  .mb130 {
    margin-bottom: 65px;
  }
  .ml130 {
    margin-left: 65px;
  }
  .pt135 {
    padding-top: 67.5px;
  }
  .pr135 {
    padding-right: 67.5px;
  }
  .pb135 {
    padding-bottom: 67.5px;
  }
  .pl135 {
    padding-left: 67.5px;
  }
  .mt135 {
    margin-top: 67.5px;
  }
  .mr135 {
    margin-right: 67.5px;
  }
  .mb135 {
    margin-bottom: 67.5px;
  }
  .ml135 {
    margin-left: 67.5px;
  }
  .pt140 {
    padding-top: 70px;
  }
  .pr140 {
    padding-right: 70px;
  }
  .pb140 {
    padding-bottom: 70px;
  }
  .pl140 {
    padding-left: 70px;
  }
  .mt140 {
    margin-top: 70px;
  }
  .mr140 {
    margin-right: 70px;
  }
  .mb140 {
    margin-bottom: 70px;
  }
  .ml140 {
    margin-left: 70px;
  }
  .pt145 {
    padding-top: 72.5px;
  }
  .pr145 {
    padding-right: 72.5px;
  }
  .pb145 {
    padding-bottom: 72.5px;
  }
  .pl145 {
    padding-left: 72.5px;
  }
  .mt145 {
    margin-top: 72.5px;
  }
  .mr145 {
    margin-right: 72.5px;
  }
  .mb145 {
    margin-bottom: 72.5px;
  }
  .ml145 {
    margin-left: 72.5px;
  }
  .pt150 {
    padding-top: 75px;
  }
  .pr150 {
    padding-right: 75px;
  }
  .pb150 {
    padding-bottom: 75px;
  }
  .pl150 {
    padding-left: 75px;
  }
  .mt150 {
    margin-top: 75px;
  }
  .mr150 {
    margin-right: 75px;
  }
  .mb150 {
    margin-bottom: 75px;
  }
  .ml150 {
    margin-left: 75px;
  }
  .pt155 {
    padding-top: 77.5px;
  }
  .pr155 {
    padding-right: 77.5px;
  }
  .pb155 {
    padding-bottom: 77.5px;
  }
  .pl155 {
    padding-left: 77.5px;
  }
  .mt155 {
    margin-top: 77.5px;
  }
  .mr155 {
    margin-right: 77.5px;
  }
  .mb155 {
    margin-bottom: 77.5px;
  }
  .ml155 {
    margin-left: 77.5px;
  }
  .pt160 {
    padding-top: 80px;
  }
  .pr160 {
    padding-right: 80px;
  }
  .pb160 {
    padding-bottom: 80px;
  }
  .pl160 {
    padding-left: 80px;
  }
  .mt160 {
    margin-top: 80px;
  }
  .mr160 {
    margin-right: 80px;
  }
  .mb160 {
    margin-bottom: 80px;
  }
  .ml160 {
    margin-left: 80px;
  }
  .pt165 {
    padding-top: 82.5px;
  }
  .pr165 {
    padding-right: 82.5px;
  }
  .pb165 {
    padding-bottom: 82.5px;
  }
  .pl165 {
    padding-left: 82.5px;
  }
  .mt165 {
    margin-top: 82.5px;
  }
  .mr165 {
    margin-right: 82.5px;
  }
  .mb165 {
    margin-bottom: 82.5px;
  }
  .ml165 {
    margin-left: 82.5px;
  }
  .pt170 {
    padding-top: 85px;
  }
  .pr170 {
    padding-right: 85px;
  }
  .pb170 {
    padding-bottom: 85px;
  }
  .pl170 {
    padding-left: 85px;
  }
  .mt170 {
    margin-top: 85px;
  }
  .mr170 {
    margin-right: 85px;
  }
  .mb170 {
    margin-bottom: 85px;
  }
  .ml170 {
    margin-left: 85px;
  }
  .pt175 {
    padding-top: 87.5px;
  }
  .pr175 {
    padding-right: 87.5px;
  }
  .pb175 {
    padding-bottom: 87.5px;
  }
  .pl175 {
    padding-left: 87.5px;
  }
  .mt175 {
    margin-top: 87.5px;
  }
  .mr175 {
    margin-right: 87.5px;
  }
  .mb175 {
    margin-bottom: 87.5px;
  }
  .ml175 {
    margin-left: 87.5px;
  }
  .pt180 {
    padding-top: 90px;
  }
  .pr180 {
    padding-right: 90px;
  }
  .pb180 {
    padding-bottom: 90px;
  }
  .pl180 {
    padding-left: 90px;
  }
  .mt180 {
    margin-top: 90px;
  }
  .mr180 {
    margin-right: 90px;
  }
  .mb180 {
    margin-bottom: 90px;
  }
  .ml180 {
    margin-left: 90px;
  }
  .pt185 {
    padding-top: 92.5px;
  }
  .pr185 {
    padding-right: 92.5px;
  }
  .pb185 {
    padding-bottom: 92.5px;
  }
  .pl185 {
    padding-left: 92.5px;
  }
  .mt185 {
    margin-top: 92.5px;
  }
  .mr185 {
    margin-right: 92.5px;
  }
  .mb185 {
    margin-bottom: 92.5px;
  }
  .ml185 {
    margin-left: 92.5px;
  }
  .pt190 {
    padding-top: 95px;
  }
  .pr190 {
    padding-right: 95px;
  }
  .pb190 {
    padding-bottom: 95px;
  }
  .pl190 {
    padding-left: 95px;
  }
  .mt190 {
    margin-top: 95px;
  }
  .mr190 {
    margin-right: 95px;
  }
  .mb190 {
    margin-bottom: 95px;
  }
  .ml190 {
    margin-left: 95px;
  }
  .pt195 {
    padding-top: 97.5px;
  }
  .pr195 {
    padding-right: 97.5px;
  }
  .pb195 {
    padding-bottom: 97.5px;
  }
  .pl195 {
    padding-left: 97.5px;
  }
  .mt195 {
    margin-top: 97.5px;
  }
  .mr195 {
    margin-right: 97.5px;
  }
  .mb195 {
    margin-bottom: 97.5px;
  }
  .ml195 {
    margin-left: 97.5px;
  }
  .pt200 {
    padding-top: 100px;
  }
  .pr200 {
    padding-right: 100px;
  }
  .pb200 {
    padding-bottom: 100px;
  }
  .pl200 {
    padding-left: 100px;
  }
  .mt200 {
    margin-top: 100px;
  }
  .mr200 {
    margin-right: 100px;
  }
  .mb200 {
    margin-bottom: 100px;
  }
  .ml200 {
    margin-left: 100px;
  }
  .pt0-smt {
    padding-top: 0px;
  }
  .pr0-smt {
    padding-right: 0px;
  }
  .pb0-smt {
    padding-bottom: 0px;
  }
  .pl0-smt {
    padding-left: 0px;
  }
  .mt0-smt {
    margin-top: 0px;
  }
  .mr0-smt {
    margin-right: 0px;
  }
  .mb0-smt {
    margin-bottom: 0px;
  }
  .ml0-smt {
    margin-left: 0px;
  }
  .pt5-smt {
    padding-top: 2.5px;
  }
  .pr5-smt {
    padding-right: 2.5px;
  }
  .pb5-smt {
    padding-bottom: 2.5px;
  }
  .pl5-smt {
    padding-left: 2.5px;
  }
  .mt5-smt {
    margin-top: 2.5px;
  }
  .mr5-smt {
    margin-right: 2.5px;
  }
  .mb5-smt {
    margin-bottom: 2.5px;
  }
  .ml5-smt {
    margin-left: 2.5px;
  }
  .pt10-smt {
    padding-top: 5px;
  }
  .pr10-smt {
    padding-right: 5px;
  }
  .pb10-smt {
    padding-bottom: 5px;
  }
  .pl10-smt {
    padding-left: 5px;
  }
  .mt10-smt {
    margin-top: 5px;
  }
  .mr10-smt {
    margin-right: 5px;
  }
  .mb10-smt {
    margin-bottom: 5px;
  }
  .ml10-smt {
    margin-left: 5px;
  }
  .pt15-smt {
    padding-top: 7.5px;
  }
  .pr15-smt {
    padding-right: 7.5px;
  }
  .pb15-smt {
    padding-bottom: 7.5px;
  }
  .pl15-smt {
    padding-left: 7.5px;
  }
  .mt15-smt {
    margin-top: 7.5px;
  }
  .mr15-smt {
    margin-right: 7.5px;
  }
  .mb15-smt {
    margin-bottom: 7.5px;
  }
  .ml15-smt {
    margin-left: 7.5px;
  }
  .pt20-smt {
    padding-top: 10px;
  }
  .pr20-smt {
    padding-right: 10px;
  }
  .pb20-smt {
    padding-bottom: 10px;
  }
  .pl20-smt {
    padding-left: 10px;
  }
  .mt20-smt {
    margin-top: 10px;
  }
  .mr20-smt {
    margin-right: 10px;
  }
  .mb20-smt {
    margin-bottom: 10px;
  }
  .ml20-smt {
    margin-left: 10px;
  }
  .pt25-smt {
    padding-top: 12.5px;
  }
  .pr25-smt {
    padding-right: 12.5px;
  }
  .pb25-smt {
    padding-bottom: 12.5px;
  }
  .pl25-smt {
    padding-left: 12.5px;
  }
  .mt25-smt {
    margin-top: 12.5px;
  }
  .mr25-smt {
    margin-right: 12.5px;
  }
  .mb25-smt {
    margin-bottom: 12.5px;
  }
  .ml25-smt {
    margin-left: 12.5px;
  }
  .pt30-smt {
    padding-top: 15px;
  }
  .pr30-smt {
    padding-right: 15px;
  }
  .pb30-smt {
    padding-bottom: 15px;
  }
  .pl30-smt {
    padding-left: 15px;
  }
  .mt30-smt {
    margin-top: 15px;
  }
  .mr30-smt {
    margin-right: 15px;
  }
  .mb30-smt {
    margin-bottom: 15px;
  }
  .ml30-smt {
    margin-left: 15px;
  }
  .pt35-smt {
    padding-top: 17.5px;
  }
  .pr35-smt {
    padding-right: 17.5px;
  }
  .pb35-smt {
    padding-bottom: 17.5px;
  }
  .pl35-smt {
    padding-left: 17.5px;
  }
  .mt35-smt {
    margin-top: 17.5px;
  }
  .mr35-smt {
    margin-right: 17.5px;
  }
  .mb35-smt {
    margin-bottom: 17.5px;
  }
  .ml35-smt {
    margin-left: 17.5px;
  }
  .pt40-smt {
    padding-top: 20px;
  }
  .pr40-smt {
    padding-right: 20px;
  }
  .pb40-smt {
    padding-bottom: 20px;
  }
  .pl40-smt {
    padding-left: 20px;
  }
  .mt40-smt {
    margin-top: 20px;
  }
  .mr40-smt {
    margin-right: 20px;
  }
  .mb40-smt {
    margin-bottom: 20px;
  }
  .ml40-smt {
    margin-left: 20px;
  }
  .pt45-smt {
    padding-top: 22.5px;
  }
  .pr45-smt {
    padding-right: 22.5px;
  }
  .pb45-smt {
    padding-bottom: 22.5px;
  }
  .pl45-smt {
    padding-left: 22.5px;
  }
  .mt45-smt {
    margin-top: 22.5px;
  }
  .mr45-smt {
    margin-right: 22.5px;
  }
  .mb45-smt {
    margin-bottom: 22.5px;
  }
  .ml45-smt {
    margin-left: 22.5px;
  }
  .pt50-smt {
    padding-top: 25px;
  }
  .pr50-smt {
    padding-right: 25px;
  }
  .pb50-smt {
    padding-bottom: 25px;
  }
  .pl50-smt {
    padding-left: 25px;
  }
  .mt50-smt {
    margin-top: 25px;
  }
  .mr50-smt {
    margin-right: 25px;
  }
  .mb50-smt {
    margin-bottom: 25px;
  }
  .ml50-smt {
    margin-left: 25px;
  }
  .pt55-smt {
    padding-top: 27.5px;
  }
  .pr55-smt {
    padding-right: 27.5px;
  }
  .pb55-smt {
    padding-bottom: 27.5px;
  }
  .pl55-smt {
    padding-left: 27.5px;
  }
  .mt55-smt {
    margin-top: 27.5px;
  }
  .mr55-smt {
    margin-right: 27.5px;
  }
  .mb55-smt {
    margin-bottom: 27.5px;
  }
  .ml55-smt {
    margin-left: 27.5px;
  }
  .pt60-smt {
    padding-top: 30px;
  }
  .pr60-smt {
    padding-right: 30px;
  }
  .pb60-smt {
    padding-bottom: 30px;
  }
  .pl60-smt {
    padding-left: 30px;
  }
  .mt60-smt {
    margin-top: 30px;
  }
  .mr60-smt {
    margin-right: 30px;
  }
  .mb60-smt {
    margin-bottom: 30px;
  }
  .ml60-smt {
    margin-left: 30px;
  }
  .pt65-smt {
    padding-top: 32.5px;
  }
  .pr65-smt {
    padding-right: 32.5px;
  }
  .pb65-smt {
    padding-bottom: 32.5px;
  }
  .pl65-smt {
    padding-left: 32.5px;
  }
  .mt65-smt {
    margin-top: 32.5px;
  }
  .mr65-smt {
    margin-right: 32.5px;
  }
  .mb65-smt {
    margin-bottom: 32.5px;
  }
  .ml65-smt {
    margin-left: 32.5px;
  }
  .pt70-smt {
    padding-top: 35px;
  }
  .pr70-smt {
    padding-right: 35px;
  }
  .pb70-smt {
    padding-bottom: 35px;
  }
  .pl70-smt {
    padding-left: 35px;
  }
  .mt70-smt {
    margin-top: 35px;
  }
  .mr70-smt {
    margin-right: 35px;
  }
  .mb70-smt {
    margin-bottom: 35px;
  }
  .ml70-smt {
    margin-left: 35px;
  }
  .pt75-smt {
    padding-top: 37.5px;
  }
  .pr75-smt {
    padding-right: 37.5px;
  }
  .pb75-smt {
    padding-bottom: 37.5px;
  }
  .pl75-smt {
    padding-left: 37.5px;
  }
  .mt75-smt {
    margin-top: 37.5px;
  }
  .mr75-smt {
    margin-right: 37.5px;
  }
  .mb75-smt {
    margin-bottom: 37.5px;
  }
  .ml75-smt {
    margin-left: 37.5px;
  }
  .pt80-smt {
    padding-top: 40px;
  }
  .pr80-smt {
    padding-right: 40px;
  }
  .pb80-smt {
    padding-bottom: 40px;
  }
  .pl80-smt {
    padding-left: 40px;
  }
  .mt80-smt {
    margin-top: 40px;
  }
  .mr80-smt {
    margin-right: 40px;
  }
  .mb80-smt {
    margin-bottom: 40px;
  }
  .ml80-smt {
    margin-left: 40px;
  }
  .pt85-smt {
    padding-top: 42.5px;
  }
  .pr85-smt {
    padding-right: 42.5px;
  }
  .pb85-smt {
    padding-bottom: 42.5px;
  }
  .pl85-smt {
    padding-left: 42.5px;
  }
  .mt85-smt {
    margin-top: 42.5px;
  }
  .mr85-smt {
    margin-right: 42.5px;
  }
  .mb85-smt {
    margin-bottom: 42.5px;
  }
  .ml85-smt {
    margin-left: 42.5px;
  }
  .pt90-smt {
    padding-top: 45px;
  }
  .pr90-smt {
    padding-right: 45px;
  }
  .pb90-smt {
    padding-bottom: 45px;
  }
  .pl90-smt {
    padding-left: 45px;
  }
  .mt90-smt {
    margin-top: 45px;
  }
  .mr90-smt {
    margin-right: 45px;
  }
  .mb90-smt {
    margin-bottom: 45px;
  }
  .ml90-smt {
    margin-left: 45px;
  }
  .pt95-smt {
    padding-top: 47.5px;
  }
  .pr95-smt {
    padding-right: 47.5px;
  }
  .pb95-smt {
    padding-bottom: 47.5px;
  }
  .pl95-smt {
    padding-left: 47.5px;
  }
  .mt95-smt {
    margin-top: 47.5px;
  }
  .mr95-smt {
    margin-right: 47.5px;
  }
  .mb95-smt {
    margin-bottom: 47.5px;
  }
  .ml95-smt {
    margin-left: 47.5px;
  }
  .pt100-smt {
    padding-top: 50px;
  }
  .pr100-smt {
    padding-right: 50px;
  }
  .pb100-smt {
    padding-bottom: 50px;
  }
  .pl100-smt {
    padding-left: 50px;
  }
  .mt100-smt {
    margin-top: 50px;
  }
  .mr100-smt {
    margin-right: 50px;
  }
  .mb100-smt {
    margin-bottom: 50px;
  }
  .ml100-smt {
    margin-left: 50px;
  }
  .pt105-smt {
    padding-top: 52.5px;
  }
  .pr105-smt {
    padding-right: 52.5px;
  }
  .pb105-smt {
    padding-bottom: 52.5px;
  }
  .pl105-smt {
    padding-left: 52.5px;
  }
  .mt105-smt {
    margin-top: 52.5px;
  }
  .mr105-smt {
    margin-right: 52.5px;
  }
  .mb105-smt {
    margin-bottom: 52.5px;
  }
  .ml105-smt {
    margin-left: 52.5px;
  }
  .pt110-smt {
    padding-top: 55px;
  }
  .pr110-smt {
    padding-right: 55px;
  }
  .pb110-smt {
    padding-bottom: 55px;
  }
  .pl110-smt {
    padding-left: 55px;
  }
  .mt110-smt {
    margin-top: 55px;
  }
  .mr110-smt {
    margin-right: 55px;
  }
  .mb110-smt {
    margin-bottom: 55px;
  }
  .ml110-smt {
    margin-left: 55px;
  }
  .pt115-smt {
    padding-top: 57.5px;
  }
  .pr115-smt {
    padding-right: 57.5px;
  }
  .pb115-smt {
    padding-bottom: 57.5px;
  }
  .pl115-smt {
    padding-left: 57.5px;
  }
  .mt115-smt {
    margin-top: 57.5px;
  }
  .mr115-smt {
    margin-right: 57.5px;
  }
  .mb115-smt {
    margin-bottom: 57.5px;
  }
  .ml115-smt {
    margin-left: 57.5px;
  }
  .pt120-smt {
    padding-top: 60px;
  }
  .pr120-smt {
    padding-right: 60px;
  }
  .pb120-smt {
    padding-bottom: 60px;
  }
  .pl120-smt {
    padding-left: 60px;
  }
  .mt120-smt {
    margin-top: 60px;
  }
  .mr120-smt {
    margin-right: 60px;
  }
  .mb120-smt {
    margin-bottom: 60px;
  }
  .ml120-smt {
    margin-left: 60px;
  }
  .pt125-smt {
    padding-top: 62.5px;
  }
  .pr125-smt {
    padding-right: 62.5px;
  }
  .pb125-smt {
    padding-bottom: 62.5px;
  }
  .pl125-smt {
    padding-left: 62.5px;
  }
  .mt125-smt {
    margin-top: 62.5px;
  }
  .mr125-smt {
    margin-right: 62.5px;
  }
  .mb125-smt {
    margin-bottom: 62.5px;
  }
  .ml125-smt {
    margin-left: 62.5px;
  }
  .pt130-smt {
    padding-top: 65px;
  }
  .pr130-smt {
    padding-right: 65px;
  }
  .pb130-smt {
    padding-bottom: 65px;
  }
  .pl130-smt {
    padding-left: 65px;
  }
  .mt130-smt {
    margin-top: 65px;
  }
  .mr130-smt {
    margin-right: 65px;
  }
  .mb130-smt {
    margin-bottom: 65px;
  }
  .ml130-smt {
    margin-left: 65px;
  }
  .pt135-smt {
    padding-top: 67.5px;
  }
  .pr135-smt {
    padding-right: 67.5px;
  }
  .pb135-smt {
    padding-bottom: 67.5px;
  }
  .pl135-smt {
    padding-left: 67.5px;
  }
  .mt135-smt {
    margin-top: 67.5px;
  }
  .mr135-smt {
    margin-right: 67.5px;
  }
  .mb135-smt {
    margin-bottom: 67.5px;
  }
  .ml135-smt {
    margin-left: 67.5px;
  }
  .pt140-smt {
    padding-top: 70px;
  }
  .pr140-smt {
    padding-right: 70px;
  }
  .pb140-smt {
    padding-bottom: 70px;
  }
  .pl140-smt {
    padding-left: 70px;
  }
  .mt140-smt {
    margin-top: 70px;
  }
  .mr140-smt {
    margin-right: 70px;
  }
  .mb140-smt {
    margin-bottom: 70px;
  }
  .ml140-smt {
    margin-left: 70px;
  }
  .pt145-smt {
    padding-top: 72.5px;
  }
  .pr145-smt {
    padding-right: 72.5px;
  }
  .pb145-smt {
    padding-bottom: 72.5px;
  }
  .pl145-smt {
    padding-left: 72.5px;
  }
  .mt145-smt {
    margin-top: 72.5px;
  }
  .mr145-smt {
    margin-right: 72.5px;
  }
  .mb145-smt {
    margin-bottom: 72.5px;
  }
  .ml145-smt {
    margin-left: 72.5px;
  }
  .pt150-smt {
    padding-top: 75px;
  }
  .pr150-smt {
    padding-right: 75px;
  }
  .pb150-smt {
    padding-bottom: 75px;
  }
  .pl150-smt {
    padding-left: 75px;
  }
  .mt150-smt {
    margin-top: 75px;
  }
  .mr150-smt {
    margin-right: 75px;
  }
  .mb150-smt {
    margin-bottom: 75px;
  }
  .ml150-smt {
    margin-left: 75px;
  }
  .pt155-smt {
    padding-top: 77.5px;
  }
  .pr155-smt {
    padding-right: 77.5px;
  }
  .pb155-smt {
    padding-bottom: 77.5px;
  }
  .pl155-smt {
    padding-left: 77.5px;
  }
  .mt155-smt {
    margin-top: 77.5px;
  }
  .mr155-smt {
    margin-right: 77.5px;
  }
  .mb155-smt {
    margin-bottom: 77.5px;
  }
  .ml155-smt {
    margin-left: 77.5px;
  }
  .pt160-smt {
    padding-top: 80px;
  }
  .pr160-smt {
    padding-right: 80px;
  }
  .pb160-smt {
    padding-bottom: 80px;
  }
  .pl160-smt {
    padding-left: 80px;
  }
  .mt160-smt {
    margin-top: 80px;
  }
  .mr160-smt {
    margin-right: 80px;
  }
  .mb160-smt {
    margin-bottom: 80px;
  }
  .ml160-smt {
    margin-left: 80px;
  }
  .pt165-smt {
    padding-top: 82.5px;
  }
  .pr165-smt {
    padding-right: 82.5px;
  }
  .pb165-smt {
    padding-bottom: 82.5px;
  }
  .pl165-smt {
    padding-left: 82.5px;
  }
  .mt165-smt {
    margin-top: 82.5px;
  }
  .mr165-smt {
    margin-right: 82.5px;
  }
  .mb165-smt {
    margin-bottom: 82.5px;
  }
  .ml165-smt {
    margin-left: 82.5px;
  }
  .pt170-smt {
    padding-top: 85px;
  }
  .pr170-smt {
    padding-right: 85px;
  }
  .pb170-smt {
    padding-bottom: 85px;
  }
  .pl170-smt {
    padding-left: 85px;
  }
  .mt170-smt {
    margin-top: 85px;
  }
  .mr170-smt {
    margin-right: 85px;
  }
  .mb170-smt {
    margin-bottom: 85px;
  }
  .ml170-smt {
    margin-left: 85px;
  }
  .pt175-smt {
    padding-top: 87.5px;
  }
  .pr175-smt {
    padding-right: 87.5px;
  }
  .pb175-smt {
    padding-bottom: 87.5px;
  }
  .pl175-smt {
    padding-left: 87.5px;
  }
  .mt175-smt {
    margin-top: 87.5px;
  }
  .mr175-smt {
    margin-right: 87.5px;
  }
  .mb175-smt {
    margin-bottom: 87.5px;
  }
  .ml175-smt {
    margin-left: 87.5px;
  }
  .pt180-smt {
    padding-top: 90px;
  }
  .pr180-smt {
    padding-right: 90px;
  }
  .pb180-smt {
    padding-bottom: 90px;
  }
  .pl180-smt {
    padding-left: 90px;
  }
  .mt180-smt {
    margin-top: 90px;
  }
  .mr180-smt {
    margin-right: 90px;
  }
  .mb180-smt {
    margin-bottom: 90px;
  }
  .ml180-smt {
    margin-left: 90px;
  }
  .pt185-smt {
    padding-top: 92.5px;
  }
  .pr185-smt {
    padding-right: 92.5px;
  }
  .pb185-smt {
    padding-bottom: 92.5px;
  }
  .pl185-smt {
    padding-left: 92.5px;
  }
  .mt185-smt {
    margin-top: 92.5px;
  }
  .mr185-smt {
    margin-right: 92.5px;
  }
  .mb185-smt {
    margin-bottom: 92.5px;
  }
  .ml185-smt {
    margin-left: 92.5px;
  }
  .pt190-smt {
    padding-top: 95px;
  }
  .pr190-smt {
    padding-right: 95px;
  }
  .pb190-smt {
    padding-bottom: 95px;
  }
  .pl190-smt {
    padding-left: 95px;
  }
  .mt190-smt {
    margin-top: 95px;
  }
  .mr190-smt {
    margin-right: 95px;
  }
  .mb190-smt {
    margin-bottom: 95px;
  }
  .ml190-smt {
    margin-left: 95px;
  }
  .pt195-smt {
    padding-top: 97.5px;
  }
  .pr195-smt {
    padding-right: 97.5px;
  }
  .pb195-smt {
    padding-bottom: 97.5px;
  }
  .pl195-smt {
    padding-left: 97.5px;
  }
  .mt195-smt {
    margin-top: 97.5px;
  }
  .mr195-smt {
    margin-right: 97.5px;
  }
  .mb195-smt {
    margin-bottom: 97.5px;
  }
  .ml195-smt {
    margin-left: 97.5px;
  }
  .pt200-smt {
    padding-top: 100px;
  }
  .pr200-smt {
    padding-right: 100px;
  }
  .pb200-smt {
    padding-bottom: 100px;
  }
  .pl200-smt {
    padding-left: 100px;
  }
  .mt200-smt {
    margin-top: 100px;
  }
  .mr200-smt {
    margin-right: 100px;
  }
  .mb200-smt {
    margin-bottom: 100px;
  }
  .ml200-smt {
    margin-left: 100px;
  }
}
.mb1em {
  margin-bottom: 1em;
}

.indent1 {
  text-indent: -1em;
  padding-left: 1em;
}

.ta_l {
  text-align: left;
}
.ta_r {
  text-align: right;
}
.ta_c {
  text-align: center;
}

@media print, screen and (max-width: 767px) {
  .hide-sp {
    display: none;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .hide-tablet {
    display: none;
  }
}
@media print, screen and (min-width: 1201px) {
  .hide-pc {
    display: none;
  }
}

/* -----------------------------
 clearfix
----------------------------- */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clearfix {
  display: inline-block;
  min-height: 1%;
}

/* for IE-mac */
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/* ANIMATION */
.delay-03 {
  --anim-delay: 0.3s;
}
.delay-05 {
  --anim-delay: 0.5s;
}
.delay-06 {
  --anim-delay: 0.6s;
}
.delay-08 {
  --anim-delay: 0.8s;
}
.delay-1 {
  --anim-delay: 1s;
}

.js-animate-fig {
  overflow: hidden;
  position: relative;
}
.js-animate-fig::before {
  background: var(--gray);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  transform: translateX(-100%);
  width: 100%;
  z-index: 1;
  top: 0;
  left: 0;
}
.js-animate-fig img {
  opacity: 0;
  display: block;
  position: relative;
  z-index: 0;
}
.js-animate-fig.inView {
  opacity: 1;
}
.js-animate-fig.inView::before {
  transition: all 0.8s var(--anim-delay, 0.1s) cubic-bezier(0.47, 0, 0.745, 0.715);
  transform: translateX(100%);
}
.js-animate-fig.inView img {
  transition: all 0.5s calc(var(--anim-delay, 0.1s) + 0.3s) cubic-bezier(0.47, 0, 0.745, 0.715);
  opacity: 1;
}
.js-animate.blur {
  filter: blur(14px);
  opacity: 0;
}
.js-animate.blur.active {
  transition: all 1.2s 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
  filter: blur(0);
  opacity: 1;
}
.js-animate-fadeup {
  opacity: 0;
  transform: translateY(10%);
  --anim-delay:0.1s;
}
.js-animate-fadeup.inView {
  opacity: 1;
  transform: translateY(0);
  transition: transform 0.9s var(--anim-delay) cubic-bezier(0.37, 0, 0.63, 1), opacity 0.8s calc(var(--anim-delay) + 0.1s) cubic-bezier(0.61, 1, 0.88, 1);
}
.js-animate-fadeup:nth-of-type(2) {
  --anim-delay:0.5s;
}
.js-animate-fadeup:nth-of-type(3) {
  --anim-delay:0.9s;
}
.js-animate-fadeup:nth-of-type(4) {
  --anim-delay:1.3s;
}
.js-animate-fadeleft {
  opacity: 0;
  transform: translateX(-30px);
}
.js-animate-fadeleft.inView {
  opacity: 1;
  transform: translateX(0);
  transition: transform 0.6s 0.1s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.8s 0.2s cubic-bezier(0.61, 1, 0.88, 1);
}
.js-animate-blk {
  overflow: hidden;
  position: relative;
  --anim-delay: 0s;
}
.js-animate-blk::before {
  background-color: #f3f3f3;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  transform: translateX(-100%);
  width: 100%;
  z-index: 1;
  top: 0;
  left: 0;
}
.js-animate-blk .js-blk-in {
  opacity: 0;
  display: block;
  position: relative;
  z-index: 0;
}
.js-animate-blk.inView::before {
  animation: 0.8s var(--anim-delay, 0s) cubic-bezier(0.47, 0, 0.745, 0.715) forwards;
  animation-name: blockBg;
}
.js-animate-blk.inView .js-blk-in {
  animation: 0.5s calc(var(--anim-delay, 0s) + 0.3s) cubic-bezier(0.47, 0, 0.745, 0.715) forwards;
  animation-name: fade_in;
}
.js-animate-blk:nth-of-type(2)::before {
  transition-delay: 0.3s;
}
.js-animate-blk:nth-of-type(2) .js-blk-in {
  transition-delay: 0.6s;
}
.js-animate-blk:nth-of-type(2)::before {
  transition-delay: 0.6s;
}
.js-animate-blk:nth-of-type(2) .js-blk-in {
  transition-delay: 0.9s;
}
.js-animate.fadein {
  opacity: 0;
}
.js-animate.fadein.inView {
  animation: 0.9s var(--anim-delay, 0s) cubic-bezier(0.37, 0, 0.63, 1) forwards, 0.8s calc(var(--anim-delay, 0s) + 0.1s) cubic-bezier(0.61, 1, 0.88, 1) forwards;
  animation-name: fade_in, slide_in_y;
}
.js-animate.fadein-left {
  opacity: 0;
}
.js-animate.fadein-left.inView {
  animation: 0.8s var(--anim-delay, 0.1s) cubic-bezier(0.37, 0, 0.63, 1) forwards;
  animation-name: fade_in, slide_in_x_left;
}
.js-animate.fadein-blur {
  opacity: 0;
  filter: blur(100px);
}
.js-animate.fadein-blur.inView {
  animation: 0.8s var(--anim-delay, 0.1s) cubic-bezier(0.37, 0, 0.63, 1) both;
  animation-name: fade_in, blur;
}
.js-animate.slidein-bounce {
  opacity: 0;
}
.js-animate.slidein-bounce.inView {
  animation: slideInBounce 1s ease-out forwards;
}

@media print, screen and (max-width: 767px) {
  .js-blk-in img {
    width: 100%;
  }
}
@keyframes fade_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade_out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes slide_in_y {
  0% {
    transform: translateY(5vw);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes slide_in_x_left {
  0% {
    transform: translateX(-1.5em);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes slide_in_x {
  0% {
    transform: translateX(25vw);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes slide_in_x_left2 {
  0% {
    transform: translateX(-50vw);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes slide_in_x2 {
  0% {
    transform: translateX(50vw);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bg_slide_x {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: 0 0;
  }
}
@keyframes slide_in_down {
  0% {
    transform: translateY(-5vw);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes blur {
  0% {
    filter: blur(1em);
  }
  100% {
    filter: blur(0);
  }
}
@keyframes mvslider {
  0% {
    filter: blur(20px);
    transform: scale(1.2);
  }
  10% {
    filter: blur(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes clipreveal {
  0% {
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  99% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  100% {
    clip-path: none;
  }
}
@keyframes dash {
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes svgfill {
  0% {
    stroke-dashoffset: 2000;
    fill: transparent;
  }
  40% {
    stroke-dashoffset: 2000;
  }
  100% {
    stroke-dashoffset: 0;
    fill: #55A540;
  }
}
@keyframes blockBg {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes hoverOv {
  0% {
    clip-path: polygon(50% 50%, 100% 0, 50% 50%, 0% 100%);
  }
  100% {
    clip-path: polygon(0% 0%, 100% 0, 100% 100%, 0% 100%);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes zoom {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.1);
  }
}
@keyframes mvlogo {
  0% {
    transform: scale(1.15) translateX(-50px);
    filter: blur(25px);
    opacity: 0;
  }
  100% {
    transform: scale(1) translateX(0);
    filter: blur(0);
    opacity: 1;
  }
}
@keyframes bgGra {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}
@keyframes slideInBounce {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
    opacity: 1;
  }
  60% {
    transform: translateY(-5px);
  }
  70% {
    transform: translateY(0);
  }
  80% {
    transform: translateY(-3px);
  }
  90% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes mv-fadeIn {
  0% {
    transform: translateY(6rem);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes mv-fadeOut {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(-6rem);
    opacity: 0;
  }
}
@keyframes illust1 {
  0% {
    fill: none;
    stroke: transparent;
    stroke-width: 1px;
    stroke-dasharray: 800;
    stroke-dashoffset: 800;
  }
  50% {
    stroke: var(--main);
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dasharray: 0;
    stroke-width: 0;
    fill: var(--main);
  }
}
@keyframes illust2 {
  0% {
    fill: none;
    stroke: transparent;
    stroke-width: 1px;
    stroke-dasharray: 1200;
    stroke-dashoffset: 1200;
  }
  50% {
    stroke: var(--main);
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dasharray: 0;
    stroke-width: 0;
    fill: var(--main);
  }
}
@keyframes illust3 {
  0% {
    fill: none;
    stroke: transparent;
    stroke-width: 1px;
    stroke-dasharray: 1200;
    stroke-dashoffset: 1200;
  }
  50% {
    stroke: var(--main);
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dasharray: 0;
    stroke-width: 0;
    fill: var(--main);
  }
}
@keyframes line1 {
  0% {
    stroke-dashoffset: 1400;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes line2 {
  0% {
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0, 0 100%, 0 100%);
  }
  99% {
    clip-path: polygon(0 0, 100% 0, 100% 0, 100% 100%, 0 100%, 0 100%);
  }
  100% {
    clip-path: none;
  }
}
body {
  font-family: var(--ff-gothic);
  color: var(--color-def);
  line-height: 2;
  font-feature-settings: "pkna";
  -webkit-font-smoothing: antialiased;
  font-size: var(--size-def);
  font-weight: 500;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  body {
    --section-space: 8rem;
    background-size: auto;
  }
}
@media print, screen and (min-width: 1201px) {
  body {
    --header-h:7.2rem;
  }
}
@media print, screen and (max-width: 767px) {
  body {
    --flag-w: 8em;
    --flag-h: 8em;
    --flag-cut: 1.5em;
  }
}

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

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

.mincho {
  font-family: var(--ff-mincho);
}

.gothic {
  font-family: var(--ff-gothic);
}

.century {
  font-family: var(--ff-century);
}

.helvetica {
  font-family: "Helvetica Neue";
}

b, strong, .bold {
  font-weight: 600;
}

.sup {
  position: relative;
  font-variant: all-small-caps;
  line-height: 1;
  vertical-align: sub;
}
.sup-tm {
  vertical-align: super;
}

.container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-pad);
  padding-right: var(--container-pad);
  max-width: var(--container);
}

h1, h2, h3, h4 {
  line-height: 1.5555555556;
}

.t-vtl {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-feature-settings: "pkna";
  white-space: nowrap;
}

video, img {
  max-width: 100%;
  height: auto;
}

a:hover {
  opacity: 0.75;
}

a img {
  transition: opacity 0.3s ease;
}
a img:hover {
  opacity: 0.75;
}
a img.js-img-on:hover {
  opacity: 1;
}

.h-alpha {
  display: inline-block;
  transition: opacity 0.3s ease;
}
.h-alpha:hover {
  opacity: 0.75;
}

@media print, screen and (min-width: 1201px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
.wrapper {
  overflow: hidden;
}

.ilblk {
  display: inline-block;
}

.d-flex {
  display: flex;
}

.jc-c {
  justify-content: center;
}

.jc-sb {
  justify-content: space-between;
}

.f-wrap {
  flex-wrap: wrap;
}

.ai-c {
  align-items: center;
}

@media print, screen and (min-width: 768px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .col {
    width: 45%;
  }
  .col-3 {
    width: 31.3235294118%;
  }
}
.title-sec {
  line-height: 1.05;
  margin-bottom: var(--title-mb, 2em);
  text-align: var(--align, center);
  letter-spacing: 0;
}
.title-sec-top {
  display: block;
  font-size: clamp(32px, 10vmin, 72px);
  color: var(--color-title);
  opacity: 0;
  margin-bottom: -0.15em;
}
.title-sec-en {
  display: block;
  font-size: clamp(30px, 12.2222222222vmin, 88px);
  color: var(--color-title);
  opacity: 0;
  line-height: 1.1363636364;
}
.title-in.inView .title-sec-top {
  animation: fade_in 1.5s 0.1s var(--easing) forwards, blur_in 1.5s 0.1s var(--easing) forwards;
}
.title-in.inView .title-sec-en {
  animation: 1.6s 0.3s var(--easing) forwards;
  animation-name: fade_in, slide_in_y;
}
.title-label {
  background: url(../images/ribbon.svg) center no-repeat;
  background-size: contain;
  aspect-ratio: 479/87;
  flex-basis: 479px;
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 1em;
}
.title-label-wrap {
  display: flex;
  justify-content: center;
  font-size: var(--size-24);
  margin-bottom: 2em;
}
@media print, screen and (max-width: 767px) {
  .title-label {
    flex-basis: 19.2063492063em;
  }
}

.section {
  padding-top: var(--section-top);
  padding-bottom: var(--section-bottom);
}

.btn {
  position: relative;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, color 0.3s ease, color 0.3s ease, color 0.3s ease;
  line-height: 1;
  cursor: pointer;
  border: 1px var(--btn-border) solid;
  color: var(--btn-color);
  font-size: var(--btn-size);
  font-weight: var(--btn-weight, 400);
  background: var(--btn-bg);
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: var(--btn-align, center);
  max-width: var(--btn-w);
  width: 100%;
  height: var(--btn-h);
  border-radius: var(--btn-round);
  font-weight: inherit;
  padding: 0.5em 1em;
  letter-spacing: 0.04em;
  gap: 1em;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.15);
  transition: background 0.3s var(--easing);
}
.btn-arrow {
  position: absolute;
  right: 0.8em;
  top: calc(50% - 0.25em);
}
.btn-arrow::before {
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-top: 1px #fff solid;
  border-right: 1px #fff solid;
  transform: rotate(45deg);
  transform-origin: center;
}
.btn-wrap {
  display: flex;
  justify-content: var(--btn-pos, center);
  flex-wrap: wrap;
  gap: 1.5em 2em;
}
.btn:hover {
  opacity: 1;
  border-color: var(--btn-border-h, var(--btn-bg-h));
  color: var(--btn-color-h);
  background: var(--btn-bg-h);
}
.btn:hover .arrow {
  border-bottom: 1px var(--btn-color-h) solid;
}
.btn:hover .arrow::before {
  background-color: var(--btn-color-h);
}

.marker {
  background: linear-gradient(transparent 60%, var(--marker, #e8f2ed) 60%);
}

.td_u {
  text-decoration: underline;
}

.td-rv {
  text-decoration: line-through;
}

.link-arrow {
  display: flex;
  gap: 0.5em;
  align-items: center;
}
.link-arrow::before {
  content: "";
  display: inline-block;
  width: 0.625em;
  height: 0.625em;
  border-top: 1px var(--color-link, var(--color-def)) solid;
  border-right: 1px var(--color-link, var(--color-def)) solid;
  transform: rotate(45deg);
}

.fig {
  position: relative;
  text-align: center;
}
.fig-caption {
  position: absolute;
  bottom: 0.5em;
  width: 100%;
}

.fc-def {
  color: var(--color-def);
}
.fc-primary {
  color: var(--primary);
}
.fc-accent {
  color: var(--accent);
}
.fc-red {
  color: var(--red);
}
.fc-pink {
  color: var(--pink);
}

.bg-gray {
  background-color: var(--bg-gray);
}

.bg-green {
  background-color: #cae2d7;
}
.bg-yellow {
  background-color: #fefcf2;
}

.list-circle li {
  padding-left: 1.2em;
  text-indent: -1.2em;
}
.list-circle li::before {
  content: "●";
  color: var(--list-marker, var(--primary));
  margin-right: 0.2em;
}
.list-indent li {
  text-indent: -1em;
  padding-left: 1em;
}
.list-decimal > li {
  padding-left: 1.1em;
  text-indent: -1.1em;
  list-style: decimal;
  list-style-position: inside;
}
.list-decimal > li::marker {
  color: var(--list-marker, var(--primary));
  font-weight: 700;
}

.gap-30 {
  gap: 3rem;
}

.accordion-inner {
  overflow: hidden;
  pointer-events: none;
  height: 0;
}
.accordionBtn {
  cursor: pointer;
  position: relative;
}
.accordion-icon {
  background-color: #464646;
  width: 0.7894736842em;
  height: 1px;
  position: absolute;
  right: 0.6em;
  top: 50%;
}
.accordion-icon::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-color: #464646;
  transform: rotate(90deg);
  transition: transform 0.3s ease-in-out;
  transform-origin: center;
}
.accordion-wrap.active .accordion-inner {
  pointer-events: initial;
}
.accordion-wrap.active .accordion-icon::before {
  transform: rotate(0);
}
@media print, screen and (min-width: 768px) {
  .accordion-icon {
    width: 0.7777777778em;
  }
}

.header {
  width: 100%;
  --container: 1750px;
  z-index: 100;
  background-color: var(--header-bg, #fff);
  transition: background-color 0.5s;
  pointer-events: none;
  opacity: 0;
  position: fixed;
  left: 0;
  top: 0;
  opacity: 0;
  transition: opacity 1s 0.1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.header-logo {
  pointer-events: initial;
  display: flex;
  align-items: center;
  gap: 0 1em;
  line-height: 1;
}
.header-logo a:hover img {
  opacity: 1;
}
.header-logo-sub {
  transition: opacity 0.5s;
  font-size: clamp(10px, 2.5vmin, 20px);
  color: var(--color-logo);
  font-weight: 700;
}
.header-row {
  display: flex;
  justify-content: space-between;
  position: relative;
  height: var(--header-h);
  align-items: center;
}
@media print, screen and (max-width: 1200px) {
  .header-logo {
    flex-grow: 1;
  }
  .header-logo-img {
    width: 10em;
  }
  .header-logo-sub {
    flex-shrink: 0;
    line-height: 1.25;
    font-weight: 700;
  }
  .header-nav {
    flex-basis: 0;
  }
}
@media print, screen and (min-width: 1201px) {
  .header-logo {
    gap: 10px 1em;
  }
  .header-logo-sub {
    font-weight: 500;
    font-size: clamp(16px, 1.25vw, 20px);
  }
  .header-nav {
    flex-basis: 660px;
  }
}
@media print, screen and (min-width: 1201px) {
  .header {
    --container-pad:clamp(10px, calc(90vw / 19.2), 90px);
  }
  .header-logo {
    flex-wrap: wrap;
  }
}
.movie-end .header {
  animation: fade_in 1s 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.scrolled .header {
  opacity: 1;
  background-color: #fff;
}

.nav {
  pointer-events: initial;
  font-size: var(--size-16);
}
.nav-list {
  display: flex;
}
.nav-item {
  --icon-w: calc(25em / 16);
}
.nav-item.-pamphlet {
  --icon-w:calc(20em / 16);
}
.nav-item.-guidance {
  --icon-w:calc(30em / 16);
}
.nav-item.-online {
  --icon-w:calc(26em / 16);
}
.nav-item.-online .st0 {
  fill-rule: evenodd;
}
.nav-icon {
  flex-basis: var(--icon-w);
  line-height: 1;
  flex-shrink: 0;
}
.nav-icon svg {
  width: 100%;
}
.nav-icon svg .st0 {
  fill: var(--color-icon);
}
.nav-link {
  color: var(--color-nav);
  display: block;
}
@media print, screen and (max-width: 1200px) {
  .nav {
    --color-nav:#fff;
    --color-icon:#fff;
    left: 0;
    bottom: 0;
    background-color: var(--primary);
    width: 100%;
    padding-bottom: env(safe-area-inset-bottom);
    position: fixed;
  }
  .nav-item {
    font-size: 2.5vmin;
    flex-basis: 25%;
    text-align: center;
  }
  .nav-item:nth-of-type(n + 2) {
    border-left: 1px #fff solid;
  }
  .nav-link {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.25em;
  }
  .nav-text {
    display: block;
    flex-basis: 100%;
    line-height: 1;
  }
  .nav-link {
    padding: 0.8em 0.1em;
  }
  .nav-icon {
    line-height: 1;
  }
}
@media print, screen and (min-width: 1201px) {
  .nav {
    line-height: 1.2;
  }
  .nav-list {
    display: flex;
    gap: 1em clamp(1em, 2.3529411765vw, 40px);
    align-items: center;
  }
  .nav-link {
    background-color: transparent;
    transition: 0.3s background-color ease-in-out;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-nav);
    font-weight: 500;
  }
  .nav-link:hover {
    text-decoration: none;
    opacity: 1;
    color: var(--primary);
  }
  .nav-link:hover .st0 {
    fill: var(--primary);
  }
  .nav-text {
    white-space: nowrap;
  }
}
.catchloaded .nav {
  animation: fade_in 1s 2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.footer {
  padding: 3em 0 calc(5em + env(safe-area-inset-bottom));
}
.footer-info {
  margin-bottom: 4em;
  font-size: var(--size-16);
  --btn-bg:#000;
  --btn-size:var(--size-12);
  --btn-round:0;
  --btn-h:calc(31em / 12);
  --btn-w:calc(122em / 12);
}
.footer-info-head {
  margin-bottom: 1.5em;
  font-size: var(--size-18);
}
.footer-info-btn {
  margin-top: 1.5em;
}
.footer-info-btn .btn {
  padding: 0.1em 0.05em;
  box-shadow: none;
}
.footer-nav {
  font-size: var(--size-16);
}
@media print, screen and (max-width: 1200px) {
  .footer-col {
    flex-grow: 1;
  }
  .footer .copy {
    margin-top: var(--section-top);
    display: flex;
    flex-wrap: wrap;
    --size-16:12px;
    flex-direction: column;
    align-items: center;
    flex-basis: 1005;
  }
  .footer .copy-logo {
    margin-top: 1em;
    width: 7em;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .footer {
    padding-bottom: calc(8em + env(safe-area-inset-bottom));
  }
  .footer-row {
    display: flex;
    gap: 2em 0;
    flex-wrap: wrap;
  }
  .footer-info {
    flex-basis: 50%;
  }
  .footer-nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 1em 2em;
  }
}
@media print, screen and (min-width: 1201px) {
  .footer {
    padding-top: 5rem;
  }
  .footer-row {
    display: flex;
    gap: 2em 0;
    flex-wrap: wrap;
  }
  .footer-info {
    margin-bottom: 0;
    flex-basis: 360px;
  }
  .footer-info:nth-of-type(2) {
    flex-basis: 400px;
  }
  .footer-col {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2em;
    justify-content: space-between;
  }
  .footer .copy {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5em 1em;
    align-self: flex-end;
  }
  .footer .copy-logo {
    order: 1;
  }
  .footer .copy-text {
    order: 0;
  }
}
@media print, screen and (min-width: 1201px) {
  .footer {
    padding-bottom: 2em;
  }
}

@media print, screen and (max-width: 1200px) {
  .gotop {
    margin-top: 2em;
    background-color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5em 1em 0.5em;
  }
  .gotop .arrow {
    width: 1.5em;
    height: 1.5em;
    display: block;
  }
  .gotop .arrow::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border-top: 1px #fff solid;
    border-right: 1px #fff solid;
    transform: rotate(-45deg);
    transform-origin: center;
  }
}
@media print, screen and (min-width: 1201px) {
  .gotop {
    display: none;
    pointer-events: none;
  }
}

.page-lp .catch {
  position: relative;
}
.page-lp .catch-inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  z-index: 5;
}
.page-lp .catch-img {
  width: 100%;
  overflow: hidden;
  background: rgb(130, 117, 180);
  background: linear-gradient(123deg, rgba(130, 117, 180, 0.6027004552) 0%, rgba(73, 53, 139, 0.6027004552) 100%);
}
.page-lp .catch-img img {
  opacity: 0;
  pointer-events: none;
  max-width: none;
  width: 100%;
  height: auto;
  transform: scale(1.2);
}
@media print and (orientation: portrait), screen and (max-width: 767px) and (orientation: portrait) {
  .page-lp .catch-img img {
    width: 100%;
  }
}
@media print and (orientation: landscape), screen and (max-width: 767px) and (orientation: landscape) {
  .page-lp .catch-img {
    height: auto;
  }
  .page-lp .catch-img img {
    height: auto;
    width: 100%;
  }
}
.page-lp .catchloaded .catch-img img {
  animation: fade_in 5s 0.1s cubic-bezier(0.4, 0, 0, 1) forwards, zoom_in 5s 0.1s cubic-bezier(0.4, 0, 0, 1) forwards;
}
.page-lp .intro-row {
  display: flex;
  gap: 1.5em 2em;
}
.page-lp .intro-col {
  flex-basis: clamp(300px, 54.8611111111%, 790px);
}
@media print, screen and (max-width: 1200px) {
  .page-lp .intro {
    --title-mb:0;
  }
  .page-lp .intro-row {
    flex-wrap: wrap;
  }
  .page-lp .intro-col {
    flex-grow: 1;
  }
  .page-lp .intro-col h3 {
    text-align: center;
  }
  .page-lp .intro-head {
    flex-grow: 1;
  }
}
@media print, screen and (min-width: 1201px) {
  .page-lp .intro-col {
    margin-left: auto;
  }
}
.page-lp .about {
  background-color: #fefcf2;
  --section-bottom:clamp(3em,calc(170% / 14.4),125px);
}
.page-lp .about-title {
  text-align: center;
  margin-bottom: clamp(1.5em, 4%, 40px);
}
.page-lp .about-title .-en {
  display: block;
  line-height: 1;
  margin-bottom: 0.2em;
}
.page-lp .about-block:nth-of-type(n + 2) {
  margin-top: clamp(2em, 10.4166666667%, 100px);
}
.page-lp .about-img {
  margin-left: auto;
  margin-right: auto;
}
.page-lp .about-desc {
  margin-bottom: clamp(1.5em, 4.1666666667%, 60px);
}
.page-lp .about-movie {
  --movie-w:1080px;
  --movie-pad:calc(609% / 10.8);
}
.page-lp .impression .-img-1 {
  margin-top: clamp(1.5em, 4.1666666667%, 60px);
}
.page-lp .impression .-difference {
  margin-top: clamp(2em, 10.4166666667%, 100px);
}
.page-lp .impression .-difference-img {
  margin-top: clamp(1.5em, 3.8194444444%, 55px);
  --movie-w:608px;
  --movie-pad:calc(1084% / 6.08);
}
.page-lp .produce {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  position: relative;
  padding-top: clamp(4em, 16.6666666667%, 120px);
}
.page-lp .produce-bg {
  grid-column: 1/2;
  grid-row: 1/2;
}
.page-lp .produce-bg img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  max-width: none;
}
.page-lp .produce-front {
  grid-column: 1/2;
  grid-row: 1/2;
  text-align: center;
}
.page-lp .produce-title {
  position: absolute;
  top: 0;
  width: 100%;
}
.page-lp .produce-inner {
  min-height: 716px;
  position: relative;
  max-width: 1170px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(10px, 2.7777777778vmin, 22px);
  display: flex;
  justify-content: space-between;
}
.page-lp .produce-col {
  flex-basis: 282px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1em;
}
.page-lp .produce-col.-col-1 {
  justify-content: space-evenly;
}
.page-lp .produce-item {
  position: relative;
  line-height: 1.5454545455;
  padding: 1em 0.5em;
  border: 1px #fff solid;
  border-radius: var(--item-radius);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--item-w, 12.8181818182em);
  font-weight: bold;
}
.page-lp .produce-item::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: var(--item-bg, #f5bfdb);
  mix-blend-mode: multiply;
  position: absolute;
  left: 0;
  border-radius: var(--item-radius);
  top: 0;
}
.page-lp .produce-item span {
  position: relative;
}
.page-lp .produce-item.-item-01 {
  --item-radius:50%;
  aspect-ratio: 1/1;
  --item-w: calc(252em / 22);
}
.page-lp .produce-item.-item-02 {
  --item-bg: #a79bc8;
  --line-w:210px;
}
.page-lp .produce-item.-item-03 {
  --item-bg: #a8d393;
}
.page-lp .produce-item.-item-04 {
  --item-bg: #a7d5db;
  --item-radius:50%;
  aspect-ratio: 1/1;
  --item-w: calc(252em / 22);
  --line-w:148px;
}
.page-lp .produce-item.-item-05 {
  --item-bg: #ffd76b;
}
@media print, screen and (max-width: 1200px) {
  .page-lp .produce-title img {
    width: 58.9583333333%;
  }
  .page-lp .produce-bg img {
    aspect-ratio: 1440/1280;
  }
  .page-lp .produce-inner {
    min-height: 0;
    padding-left: 1em;
    padding-right: 1em;
    padding-top: 15%;
  }
  .page-lp .produce-col {
    flex-basis: 33.1944444444vmin;
  }
  .page-lp .produce-item {
    padding: 0.5em 0.25em;
  }
  .page-lp .produce-item.-item-01, .page-lp .produce-item.-item-04 {
    --item-w: calc(420em / 40);
  }
}
@media print, screen and (min-width: 1201px) {
  .page-lp .produce-col.-col-2 {
    padding-top: 3em;
  }
  .page-lp .produce-item .-line {
    width: var(--line-w, 204px);
    position: absolute;
    height: 2px;
    top: calc(50% - 1px);
    left: 100%;
    background-color: #fff;
  }
  .page-lp .produce-item .-line::before {
    display: block;
    position: absolute;
    content: "";
    width: 13px;
    height: 13px;
    background-color: #fff;
    border-radius: 50%;
    right: 0;
    top: -6px;
  }
  .page-lp .produce-item.-item-03 .-line, .page-lp .produce-item.-item-04 .-line, .page-lp .produce-item.-item-05 .-line {
    left: auto;
    right: 100%;
  }
  .page-lp .produce-item.-item-03 .-line::before, .page-lp .produce-item.-item-04 .-line::before, .page-lp .produce-item.-item-05 .-line::before {
    right: auto;
    left: 0;
  }
}
.page-lp .step-img {
  margin-top: clamp(1.5em, 4.1666666667%, 60px);
}
.page-lp .before-after {
  --section-top:clamp(1em,calc(40% / 14.4), 40px);
  --section-bottom:clamp(1em,calc(40% / 14.4), 40px);
}
.page-lp .before-after .baslider {
  margin-top: clamp(1.5em, 4.1666666667%, 60px);
  --movie-w:331px;
  --movie-pad:calc(587% / 3.31);
}
.page-lp .before-after .baslider:not(.is-active) {
  padding: 0;
}
.page-lp .before-after .baslider:not(.is-active) .swiper-button-prev,
.page-lp .before-after .baslider:not(.is-active) .swiper-button-next {
  display: none;
}
.page-lp .before-after .baslider:not(.is-active) .splide__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.2222222222%;
}
.page-lp .before-after .baslider .-item {
  text-align: center;
}
.page-lp .before-after .baslider .-item-title {
  position: relative;
  max-width: 290px;
  margin-left: auto;
  margin-right: auto;
  font-size: var(--size-20);
  color: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.5em;
  border-top: 1px var(--primary) solid;
  border-bottom: 1px var(--primary) solid;
  margin-bottom: 1em;
}
.page-lp .before-after .baslider .-item-title::before, .page-lp .before-after .baslider .-item-title::after {
  content: "";
  display: block;
  width: 1px;
  height: 57.5%;
  background-color: var(--primary);
  position: absolute;
  left: 0;
}
.page-lp .before-after .baslider .-item-title::before {
  transform: rotate(-25deg);
  transform-origin: left top;
  top: 0;
}
.page-lp .before-after .baslider .-item-title::after {
  transform: rotate(25deg);
  transform-origin: left bottom;
  bottom: 0;
}
.page-lp .before-after .baslider .-item-title span::before, .page-lp .before-after .baslider .-item-title span::after {
  content: "";
  display: block;
  width: 1px;
  height: 56%;
  background-color: var(--primary);
  position: absolute;
  right: 0;
}
.page-lp .before-after .baslider .-item-title span::before {
  transform: rotate(25deg);
  transform-origin: left top;
  top: 0;
}
.page-lp .before-after .baslider .-item-title span::after {
  transform: rotate(-25deg);
  transform-origin: left bottom;
  bottom: 0;
}
.page-lp .before-after .baslider .-item-text {
  margin-bottom: 1.5em;
  letter-spacing: -0.1em;
}
@media print, screen and (max-width: 1200px) {
  .page-lp .before-after .baslider {
    --container-pad:0;
  }
  .page-lp .before-after .baslider .splide__arrows {
    position: absolute;
    bottom: 6px;
    width: 100%;
  }
  .page-lp .before-after .baslider .splide__arrow {
    background-color: #888888;
    border-radius: 0;
    width: 40px;
    height: 1px;
    left: calc(50% - 20px);
  }
  .page-lp .before-after .baslider .splide__arrow::before {
    content: "";
    width: 0.5em;
    height: 0.5em;
    display: block;
    border-right: 1px #888888 solid;
    border-top: 1px #888888 solid;
    transform: rotate(45deg);
    position: absolute;
    transform-origin: center;
    right: 0;
  }
  .page-lp .before-after .baslider .splide__arrow--next {
    transform: translateX(80px);
  }
  .page-lp .before-after .baslider .splide__arrow--prev {
    transform: translateX(-80px);
  }
  .page-lp .before-after .baslider .splide__arrow--prev::before {
    transform: rotate(225deg);
    right: auto;
    left: 0;
  }
  .page-lp .before-after .baslider .splide__arrow svg {
    fill: none;
  }
  .page-lp .before-after .baslider .splide__pagination {
    position: initial;
    margin-top: 1.5em;
  }
  .page-lp .before-after .baslider .splide__pagination__page.is-active {
    background-color: var(--primary);
  }
}
.page-lp .merit-title {
  margin-bottom: 0.75em;
}
.page-lp .merit .-row {
  display: grid;
  gap: 2.0363636364em 5.8333333333%;
}
.page-lp .merit .-item-title {
  line-height: 1.3846153846;
  margin: 1em 0 0.75em;
}
@media print, screen and (max-width: 767px) {
  .page-lp .merit {
    --section-bottom:0;
  }
}
@media print, screen and (min-width: 768px) {
  .page-lp .merit .-row {
    grid-template-columns: repeat(3, 1fr);
  }
}
.page-lp .fields-wrap {
  margin-top: clamp(3em, 14.5833333333%, 110px);
  padding: clamp(2em, 12%, 8rem) 0 clamp(1.5em, 9.3333333333%, 5rem);
  position: relative;
}
.page-lp .fields .fldslider-head {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateY(-41%);
}
.page-lp .fields .fldslider-item {
  padding: 2em 10px 1em;
  background-color: #f8f6f1;
  height: 100%;
}
.page-lp .fields .fldslider-title {
  margin-bottom: 0.75em;
}
.page-lp .fields .fldslider-text {
  margin-bottom: 1.25em;
  padding: 0 15px;
}
.page-lp .fields .fldslider-no {
  text-align: right;
  padding-right: 20px;
}
.page-lp .fields .fldslider .splide__arrows {
  position: absolute;
  bottom: 6px;
  width: 100%;
}
.page-lp .fields .fldslider .splide__arrow {
  background-color: #888888;
  border-radius: 0;
  width: 40px;
  height: 1px;
  left: calc(50% - 20px);
}
.page-lp .fields .fldslider .splide__arrow::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  display: block;
  border-right: 1px #888888 solid;
  border-top: 1px #888888 solid;
  transform: rotate(45deg);
  position: absolute;
  transform-origin: center;
  right: 0;
}
.page-lp .fields .fldslider .splide__arrow--next {
  transform: translateX(80px);
}
.page-lp .fields .fldslider .splide__arrow--prev {
  transform: translateX(-80px);
}
.page-lp .fields .fldslider .splide__arrow--prev::before {
  transform: rotate(225deg);
  right: auto;
  left: 0;
}
.page-lp .fields .fldslider .splide__arrow svg {
  fill: none;
}
.page-lp .fields .splide__pagination {
  position: initial;
  margin-top: 1.5em;
}
.page-lp .fields .splide__pagination__page {
  background-color: #fff;
}
.page-lp .fields .splide__pagination__page.is-active {
  background-color: var(--primary);
}
@media print, screen and (min-width: 768px) {
  .page-lp .fields .fldslider .splide__pagination {
    margin-top: 4rem;
  }
}
.page-lp .cta {
  background-color: #b1d4c7;
  padding: 20px;
}
.page-lp .cta-inner {
  background-color: #fff;
  padding: 20px;
  text-align: center;
}
.page-lp .cta-img {
  margin-bottom: var(--cta-gap, -5px);
}
.page-lp .cta-btns {
  display: flex;
  justify-content: center;
  gap: 1.5em 4.4117647059%;
  padding-bottom: 20px;
}
.page-lp .cta.-cta-large {
  --cta-gap:1em;
}
@media print, screen and (max-width: 767px) {
  .page-lp .cta {
    padding: 10px;
    --cta-gap:1em;
  }
  .page-lp .cta-inner {
    padding: 1em;
  }
  .page-lp .cta-btns {
    flex-wrap: wrap;
  }
}
.page-lp .course-wrap {
  position: relative;
  margin-top: clamp(6em, 39.5138888889%, 267px);
  padding-top: clamp(3em, 14.21875%, 100px);
  margin-bottom: clamp(3em, 14.21875%, 100px);
}
.page-lp .course-head {
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 100%;
  transform: translateY(27.5%);
}
.page-lp .course-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10em 4.1666666667%;
  margin-top: clamp(4em, 17.3611111111%, 150px);
  margin-bottom: 1.5em;
}
.page-lp .course-detail {
  background-color: #fff;
  border: 1px #85c8ad solid;
  position: relative;
}
.page-lp .course-sub {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateY(-41%);
}
.page-lp .course .-features {
  flex-basis: 100%;
  padding: clamp(3em, 10.15625%, 88px) clamp(1em, 7.8125%, 40px) clamp(1em, 7.8125%, 40px);
}
.page-lp .course .-features-row {
  display: grid;
  gap: 4em 4.4117647059%;
}
.page-lp .course .-features-head {
  line-height: 1;
  text-align: center;
  display: inline-block;
}
.page-lp .course .-features-item h4 {
  margin-top: 1.5em;
  margin-bottom: 1em;
}
.page-lp .course .-recommend {
  flex-basis: 400px;
  flex-grow: 1;
  padding: 3.2em clamp(1em, 4.6376811594%, 32px) clamp(1em, 4.6376811594%, 32px);
}
.page-lp .course .-certificate {
  flex-basis: 400px;
  flex-grow: 1;
  padding: 3.2em clamp(1em, 4.6376811594%, 32px) clamp(1em, 4.6376811594%, 32px);
}
.page-lp .course .-certificate-img {
  text-align: right;
}
@media print, screen and (max-width: 767px) {
  .page-lp .course-head {
    --title-mb:0;
    transform: translateY(22.5%);
  }
  .page-lp .course-row {
    gap: 6em;
  }
  .page-lp .course .-features {
    margin-top: 2em;
  }
  .page-lp .course .-features-head {
    font-size: clamp(10px, 2.2222222222vmin, 32px);
  }
  .page-lp .course .-features-item {
    position: relative;
  }
  .page-lp .course .-features-item h4 {
    margin: 0.75em 0;
  }
  .page-lp .course .-features-item:nth-of-type(n + 2)::before {
    content: "";
    width: 100%;
    position: absolute;
    left: 0;
    top: -2em;
    height: 1px;
    background-color: #85c8ad;
  }
  .page-lp .course .-certificate-img {
    text-align: center;
    margin-top: 1.5em;
  }
  .page-lp .course .-certificate-img img {
    max-width: 50.15625%;
  }
}
@media print, screen and (min-width: 768px) {
  .page-lp .course .-features-row {
    grid-template-columns: repeat(3, 1fr);
  }
  .page-lp .course .-features-item {
    position: relative;
  }
  .page-lp .course .-features-item:nth-of-type(n + 2)::before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    position: absolute;
    left: -7.5%;
    background-color: #85c8ad;
  }
  .page-lp .course .-certificate-text {
    display: grid;
    grid-template-columns: auto 34.7619047619%;
  }
  .page-lp .course .-certificate-img {
    align-self: flex-end;
  }
}
@media print, screen and (min-width: 1201px) {
  .page-lp .course .-certificate .-first {
    margin-right: -5em;
  }
}
.page-lp .voice .title-label-wrap {
  margin-bottom: 1em;
}
.page-lp .voice-row {
  display: grid;
  gap: 2.7272727273em 5.8333333333%;
}
.page-lp .voice-row .-item-title {
  margin: 1.5em 0 1em;
}
.page-lp .voice-row .-item-name {
  margin-bottom: 1em;
}
.page-lp .voice-row .-item-time {
  margin-bottom: 1em;
}
.page-lp .voice-row .-item-img img {
  aspect-ratio: 1080/1420;
  object-fit: cover;
}
@media print, screen and (max-width: 767px) {
  .page-lp .voice-row {
    padding-left: 7.8125%;
    padding-right: 7.8125%;
  }
}
@media print, screen and (min-width: 768px) {
  .page-lp .voice-row {
    grid-template-columns: repeat(3, 1fr);
  }
}
.page-lp .curriculum {
  position: relative;
  margin-top: var(--section-top);
  margin-bottom: var(--section-bottom);
}
.page-lp .curriculum-title {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateY(-41%);
}
.page-lp .curriculum .-table {
  display: grid;
  background-color: #fff;
  border: 1px #85c8ad solid;
}
.page-lp .curriculum .-table-top {
  background-color: #e8f2ed;
  padding: 2.5em 2.2222222222em 1.6666666667em;
}
.page-lp .curriculum .-table-row {
  display: grid;
  border-top: 1px #85c8ad solid;
}
.page-lp .curriculum .-table-row:nth-of-type(even) {
  background-color: #e8f2ed;
}
.page-lp .curriculum .-table-no {
  text-align: center;
  border-right: 1px #85c8ad solid;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-lp .curriculum .-table-head {
  display: flex;
  align-items: center;
  padding: 1em 1em;
}
.page-lp .curriculum .-table-detail {
  display: flex;
  align-items: center;
  padding: 1em 1em;
}
@media print, screen and (max-width: 767px) {
  .page-lp .curriculum .-table-top {
    padding-left: 1em;
    padding-right: 1em;
  }
  .page-lp .curriculum .-table-row {
    grid-template-columns: 3em auto;
  }
  .page-lp .curriculum .-table-no {
    grid-column: 1/2;
    grid-row: 1/3;
    --size-28: clamp(20px, calc(60vmin / 14.4), 60px);
  }
  .page-lp .curriculum .-table-head {
    grid-column: 2/3;
    grid-row: 1/2;
    padding: 0.5em 1em;
  }
  .page-lp .curriculum .-table-detail {
    border-top: 1px #85c8ad solid;
    grid-column: 2/3;
    grid-row: 2/3;
    padding: 0.5em 1em;
  }
}
@media print, screen and (min-width: 768px) {
  .page-lp .curriculum .-table-row {
    grid-template-columns: 80px 33.3333333333% auto;
  }
  .page-lp .curriculum .-table-head {
    border-right: 1px #85c8ad solid;
  }
}
.page-lp .schedule {
  background-color: #fff;
  border: 1px #85c8ad solid;
  position: relative;
  padding: 3em 2.2222222222em 2.2222222222em;
  flex-basis: clamp(400px, 43.75%, 630px);
  flex-grow: 1;
}
.page-lp .schedule-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6.1363636364em 4.1666666667%;
  padding-top: var(--section-top);
  padding-bottom: clamp(4em, 15.2777777778%, 146px);
}
.page-lp .schedule-title {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  transform: translateY(-41%);
}
.page-lp .schedule-sub {
  display: flex;
  justify-content: center;
  margin-bottom: 1em;
  align-items: center;
  gap: 1em;
  margin-top: 1.5em;
}
.page-lp .schedule-sub::before, .page-lp .schedule-sub::after {
  content: "";
  height: 1em;
  width: 1px;
  background-color: var(--color-def);
  display: block;
}
.page-lp .schedule-sub::before {
  transform: rotate(-45deg);
}
.page-lp .schedule-sub::after {
  transform: rotate(45deg);
}
@media print, screen and (max-width: 767px) {
  .page-lp .schedule-sub {
    margin-top: 0.5em;
  }
}
.page-lp .fee {
  background-color: #fff;
  border: 1px #85c8ad solid;
  position: relative;
  padding: 3em 2.2222222222em 2.2222222222em;
  flex-basis: clamp(400px, 52.0833333333%, 750px);
  flex-grow: 1;
}
.page-lp .fee-title {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  transform: translateY(-41%);
}
.page-lp .fee-table {
  border-bottom: 1px #85c8ad solid;
  line-height: 1.2;
  width: 100%;
}
.page-lp .fee-table tr {
  border-top: 1px #85c8ad solid;
}
.page-lp .fee-table th {
  vertical-align: middle;
  color: var(--primary);
  padding: 1em;
  background-color: #e8f2ed;
}
.page-lp .fee-table td {
  padding: 0.45em 1em;
}
.page-lp .fee-table td span {
  vertical-align: middle;
  display: inline-block;
}
@media print and (orientation: portrait), screen and (max-width: 767px) and (orientation: portrait) {
  .page-lp .fee-table {
    border: none;
  }
  .page-lp .fee-table th, .page-lp .fee-table td {
    float: left;
    width: 100%;
    border-bottom: 1px #85c8ad solid;
    padding: 0.5em 0;
  }
  .page-lp .fee-table th {
    border-top: 1px #85c8ad solid;
  }
  .page-lp .fee-table tr {
    border: none;
  }
  .page-lp .fee-table tr:nth-of-type(n + 2) th {
    margin-top: 2em;
  }
}
.page-lp .support {
  --container:1110px;
  margin-top: 2em;
}
.page-lp .support-list {
  display: grid;
  gap: 2.2222222222em 5.5555555556%;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-auto-flow: column;
}
.page-lp .support-list .-item {
  background-color: #e8f2ed;
  display: grid;
  grid-template-columns: 60px auto;
  padding: 1.1111111111em;
  gap: 1.1111111111em;
  position: relative;
  --deco-w:calc(30em / 18);
  clip-path: polygon(0 0, calc(100% - var(--deco-w)) 0, 100% var(--deco-w), 100% 100%, 0 100%);
}
.page-lp .support-list .-item::before {
  content: "";
  width: var(--deco-w);
  aspect-ratio: 1/1;
  background-color: #96c6af;
  position: absolute;
  right: 0;
  top: 0;
}
.page-lp .support-list .-item-no {
  display: flex;
  align-items: center;
  line-height: 1;
  border-right: 1px var(--primary) solid;
  min-height: 2em;
  padding-left: 0.1em;
}
.page-lp .support-list .-item-detail {
  display: flex;
  align-items: center;
}
@media print and (orientation: portrait), screen and (max-width: 767px) and (orientation: portrait) {
  .page-lp .support-list {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(6, 1fr);
  }
}
.page-lp .movie-wrap {
  max-width: var(--movie-w, 980px);
  margin: 2em auto 0;
  position: relative;
  width: 100%;
}
.page-lp .movie-wrap::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: var(--movie-pad, 56.2244897959%);
}
.page-lp .movie-wrap iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.page-lp .flow {
  --container:1110px;
  --flow: var(--primary);
  --flag-start: var(--primary);
  --flag-end: var(--primary);
  --section-top: 0;
  margin-bottom: 2em;
}
.page-lp .flow .link-arrow:hover .td_u {
  text-decoration: none;
}
.page-lp .flow-box {
  border-top: 1px var(--flow) solid;
  border-bottom: 1px var(--flow) solid;
  background-color: #fff;
  margin-top: 3rem;
  padding: 2em clamp(1em, 3.90625%, 5rem);
}
.page-lp .flow-head {
  color: var(--flow);
  opacity: 1;
  text-align: center;
  line-height: 1.2;
}
.page-lp .flow-head span {
  pointer-events: none;
}
.page-lp .flow-head-ic {
  background-color: var(--flow);
  width: 0.7368421053em;
  height: 2px;
}
.page-lp .flow-head-ic::before {
  background-color: var(--flow);
}
.page-lp .flow-head .text {
  transition: opacity 0.3s ease-in;
}
.page-lp .flow-ic .st0 {
  fill: #9fd3b9;
}
.page-lp .flow-ic.ic-pc .st0 {
  fill-rule: evenodd;
}
.page-lp .flow-step {
  display: flex;
  gap: 1em;
  position: relative;
  align-items: center;
}
.page-lp .flow-no {
  font-size: clamp(14px, 3.5vmin, 22px);
  width: 4.9090909091em;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
}
.page-lp .flow-no .step {
  background-color: var(--flow);
  color: #fff;
  border-radius: 50%;
  width: 4.9090909091em;
  height: 4.9090909091em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.page-lp .flow-no .arrow {
  width: 2.3666666667em;
  background-color: #d5eada;
  height: calc(100% + 1em);
  margin-top: -1em;
  clip-path: polygon(65% 0, 65% calc(100% - 1em), 100% calc(100% - 1em), 50% 100%, 0 calc(100% - 1em), 35% calc(100% - 1em), 35% 0);
}
.page-lp .flow-detail {
  display: flex;
  gap: 1em;
}
.page-lp .flow-title {
  font-size: clamp(16px, 4vmin, 24px);
  color: var(--flow);
}
.page-lp .flow-1 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}
.page-lp .flow-1-col {
  border: 1px var(--flow) solid;
  display: flex;
  align-items: center;
  padding: 1em;
  color: var(--flow);
  font-size: clamp(14px, 3.5vmin, 20px);
  line-height: 1.7;
}
.page-lp .flow-1-arrow {
  position: relative;
  background-color: var(--flow);
}
.page-lp .flow-1-arrow::before {
  content: "";
  width: 1em;
  height: 1em;
  border-top: 1px var(--flow) solid;
  border-right: 1px var(--flow) solid;
  position: absolute;
  display: block;
}
.page-lp .flow-2 {
  width: 100%;
}
.page-lp .flow-2-row {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.page-lp .flow-2-col {
  border: 1px var(--flow) solid;
  display: flex;
  align-items: center;
  padding: 1em;
  color: var(--flow);
  font-size: clamp(14px, 3.5vmin, 20px);
  line-height: 1.7;
  position: relative;
}
.page-lp .flow-2-or {
  font-size: clamp(18px, 4.5vmin, 24px);
  color: var(--flow);
  align-self: center;
}
.page-lp .flow-2-desc {
  font-size: clamp(12px, 3vmin, 14px);
}
.page-lp .flow-2 .free {
  position: absolute;
  background-color: var(--flow);
  color: #fff;
  font-size: clamp(12px, 3vmin, 16px);
  width: 5em;
  height: 5em;
  display: block;
  text-align: right;
  padding: 0.5em;
  right: 0;
  top: 0;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.page-lp .flow-btm {
  margin-top: 1.5em;
  padding-bottom: 3em;
}
.page-lp .flow-ic {
  flex-basis: var(--ic-w, 4em);
  text-align: center;
  flex-shrink: 0;
  line-height: 1;
}
.page-lp .flow-ic svg {
  width: var(--svg-w);
}
.page-lp .flow-1_1 {
  --svg-w:calc(56em / 20);
}
.page-lp .flow-1_2 {
  --svg-w:calc(43em / 20);
}
.page-lp .flow-2_1 {
  --svg-w:calc(66em / 20);
}
.page-lp .flow-2_2 {
  --svg-w:calc(42em / 20);
}
@media print, screen and (max-width: 1200px) {
  .page-lp .flow-1 {
    padding-bottom: 2em;
  }
  .page-lp .flow-1-arrow {
    width: 1px;
    height: 2.5em;
    align-self: center;
    flex-shrink: 0;
  }
  .page-lp .flow-1-arrow::before {
    left: -0.45em;
    bottom: 2px;
    transform: rotate(135deg);
    transform-origin: center;
  }
  .page-lp .flow-1-col {
    padding: 0.5em;
  }
  .page-lp .flow-1 .flow-ic {
    width: 3em;
    flex-shrink: 0;
  }
  .page-lp .flow-1 .ic-pc img {
    width: 1.7em;
  }
  .page-lp .flow-1 .ic-doc img {
    width: 1.325em;
  }
  .page-lp .flow-2-row {
    align-items: center;
  }
  .page-lp .flow-2-arrow {
    width: 1px;
    height: 2.5em;
    align-self: center;
    flex-shrink: 0;
  }
  .page-lp .flow-2-arrow::before {
    left: -0.45px;
    bottom: 2px;
    transform: rotate(135deg);
    transform-origin: center;
  }
  .page-lp .flow-2-col {
    padding: 0.5em 3em 0.5em 0.5em;
    width: 100%;
    min-height: 5em;
  }
  .page-lp .flow-2-desc {
    padding: 1em 0 2em;
  }
  .page-lp .flow-2 .flow-ic {
    width: 3em;
    flex-shrink: 0;
  }
  .page-lp .flow-2 .ic-visit img {
    width: 1.7em;
  }
  .page-lp .flow-2 .ic-online img {
    width: 1.475em;
  }
  .page-lp .flow-2 .free {
    width: 4em;
    height: 4em;
    padding: 0.25em;
  }
}
@media print, screen and (min-width: 768px) {
  .page-lp .flow {
    --flag-h:200px;
  }
}
@media print, screen and (min-width: 1201px) {
  .page-lp .flow-step {
    gap: 1.5em;
  }
  .page-lp .flow-detail {
    gap: 1.5em;
  }
  .page-lp .flow-1 {
    padding-bottom: 3em;
    flex-direction: row;
  }
  .page-lp .flow-1-col {
    width: 50%;
    min-height: 7.5em;
  }
  .page-lp .flow-1-arrow {
    width: 60px;
    height: 1px;
    align-self: center;
    flex-shrink: 0;
  }
  .page-lp .flow-1-arrow::before {
    top: -0.5em;
    right: 2px;
    transform: rotate(45deg);
    transform-origin: center;
  }
  .page-lp .flow-2-row {
    flex-direction: row;
    gap: 1em;
    margin-bottom: 1.5em;
  }
  .page-lp .flow-2-col {
    width: 50%;
    min-height: 7.5em;
  }
  .page-lp .flow-2-desc {
    padding-bottom: 2em;
  }
}
.page-lp .message {
  margin-top: clamp(4em, 11.4583333333%, 112px);
  background-color: #cae2d7;
  position: relative;
}
.page-lp .message-title {
  --align:left;
  --color-title: #fff;
  --title-mb:0;
}
.page-lp .message-name {
  margin-top: 3em;
  margin-bottom: 1em;
}
.page-lp .message-name .text-s {
  margin-left: 1em;
}
.page-lp .message-text {
  position: relative;
  z-index: 1;
}
.page-lp .message-sub {
  margin-bottom: 1.5em;
}
.page-lp .message-profile {
  margin-bottom: 2em;
}
@media print, screen and (max-width: 767px) {
  .page-lp .message {
    --container-pad:calc(180% / 14.4);
  }
  .page-lp .message-img {
    margin-bottom: 2em;
    margin-top: 1.5em;
  }
  .page-lp .message-title {
    padding-top: 1.5em;
  }
  .page-lp .message-row {
    padding-bottom: var(--section-bottom);
  }
}
@media print, screen and (min-width: 768px) {
  .page-lp .message-row {
    display: grid;
    grid-template-columns: 33.3333333333% 1fr;
    grid-template-rows: auto 1fr;
    gap: 1em 5.5555555556%;
  }
  .page-lp .message-title {
    grid-row: 1/2;
    grid-column: 2/3;
    padding-top: 40px;
  }
  .page-lp .message-img {
    grid-row: 1/3;
    grid-column: 1/2;
  }
  .page-lp .message-col {
    grid-row: 2/3;
    grid-column: 2/3;
  }
}

/* ==========================================================================
   Step2 面談（PDFベース）追加レイアウト用 CSS
   ========================================================================== */

/* カテゴリ全体のマージン調整 */
.page-lp .flow-2-category {
  margin-bottom: 2em;
}

/* 「見て聞いて...」「すぐに申込みたい方」のラベルスタイル */
.page-lp .flow-2-cat-title {
  font-size: clamp(14px, 3.5vmin, 18px);
  color: #fff;
  background-color: var(--primary, #7abb9e); /* このページのテーマカラー */
  display: inline-block;
  padding: 0.4em 1.2em;
  border-radius: 20px;
  margin-bottom: 1em;
  font-weight: bold;
}

/* グループ2の補足テキスト */
.page-lp .flow-2-sub-text {
  font-size: clamp(14px, 3.5vmin, 16px);
  color: var(--primary, #7abb9e);
  font-weight: bold;
}

/* 各アイコンの幅調整（追加分） */
.page-lp .flow-2_3 {
  --svg-w: calc(66em / 20);
}
.page-lp .flow-2_4 {
  --svg-w: calc(42em / 20);
}

/* スマホ・タブレット表示時 (1020px以下) */
@media print, screen and (max-width: 1200px) {
  .page-lp .flow-2-row.is-3col,
  .page-lp .flow-2-row.is-1col {
    display: flex;
    flex-direction: column;
    gap: 1em;
  }
  .page-lp .flow-2-row.is-3col .flow-2-col,
  .page-lp .flow-2-row.is-1col .flow-2-col {
    width: 100%;
    margin-bottom: 0;
  }
  .br-pc {
    display: none; /* PC用の改行を無効化 */
  }
}

/* PC表示 (1201px以上) */
@media print, screen and (min-width: 1201px) {
  .page-lp .flow-2-row.is-3col {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1em 2%;
  }
  .page-lp .flow-2-row.is-3col .flow-2-col {
    width: 32% !important;
  }
.page-lp .flow-1-col {
    font-size: clamp(13px, 1.2vw, 16px) !important;
  }
  .page-lp .flow-2-row.is-1col {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
  }
  .page-lp .flow-2-row.is-1col .flow-2-col {
    width: 32% !important;
  }
  .br-sp {
    display: none;
  }

  /* ▼▼▼ 今回の追加分：3列用に文字サイズと余白を微調整 ▼▼▼ */
  .page-lp .flow-2-row.is-3col .flow-2-col,
  .page-lp .flow-2-row.is-1col .flow-2-col {
    /* 文字サイズを箱の幅に合わせて少し小さく（最大16px程度）する */
    font-size: clamp(13px, 1.2vw, 16px) !important;
    /* 左右の余白を少しだけ詰める */
    padding: 1em 0.8em !important;
    /* アイコンと文字の隙間を詰める */
    gap: 0.5em !important;
  }
  
  /* アイコンが占める横幅も、少しだけスリムにする */
  .page-lp .flow-2-row .flow-ic {
    flex-basis: 3.5em !important; 
  }
  /* ▲▲▲ 今回の追加分 ここまで ▲▲▲ */
}
/* ==========================================================================
   SVG→img変更に伴うアイコンサイズ修正（PC・スマホ共通）
   ========================================================================== */

/* ① PC表示時のサイズ：元のsvgに対する指定をimgにも適用させる */
.page-lp .flow-ic img {
  width: var(--svg-w, 100%);
  height: auto;
}

/* スマホ・タブレット表示時 (1200px以下) の調整 */
@media print, screen and (max-width: 1200px) {
  
  /* ② 新しく追加したセミナーアイコンのスマホ用サイズを指定 */
  .page-lp .flow-2 .ic-seminar img {
    width: 1.7em; /* 来校アイコン(ic-visit)と同じサイズに合わせる */
  }

  /* ※念のため、受講前面談用のスマホサイズもオンライン(ic-online)に合わせる */
  .page-lp .flow-2 .flow-2_4 .ic-online img {
    width: 1.475em;
  }
}