@charset "UTF-8";
/* =======================================

	reset CSS

========================================== */
html {
 scroll-behavior: smooth;
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, p, blockquote, table, th, td {
 padding: 0;
 margin: 0;
}
html, body {
 background: #fff;
 color: #2d2d2d;
}
body {
 font-size: clamp(1.4rem, 1.3143rem + 0.2198vw, 2.6rem);
 font-family: "Noto Sans JP", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
* html body {
 font-size: small;
}
*:first-child + html body {
 font-size: small;
}
textarea.message {
 width: 100%;
 min-width: 100%;
 height: 5em;
 min-height: 5em;
}
img {
 border: 0;
 vertical-align: top;
 height: auto;
}
h1, h2, h3, h4, h5, h6 {
 font-size: 100%;
 font-weight: 500;
}
ul, dl, ol {
 text-indent: 0;
}
li {
 list-style: none;
}
address, caption, cite, code, dfn, em, th, var {
 font-style: inherit;
 font-weight: inherit;
}
b, strong {
 font-weight: bold;
}
sup {
 vertical-align: text-top;
}
sub {
 vertical-align: text-bottom;
}
input, textarea, select, b {
 font-family: inherit;
 font-size: inherit;
 font-weight: inherit;
}
* html input, * html textarea, * html select {
 font-size: 100%;
}
textarea.message {
 width: 100%;
 height: 20rem;
}
*:first-child + html + input, *:first-child html + textarea, *:first-child + html select {
 font-size: 100%;
}
table {
 border-collapse: collapse;
 border-spacing: 0;
 font-size: inherit;
}
th, td {
 text-align: left;
 vertical-align: top;
}
caption {
 text-align: left;
}
pre, code, kbd, samp, tt {
 font-family: monospace;
}
* html pre, * html code, * html kbd, * html samp, * html tt {
 font-size: 100%;
 line-height: 100%;
}
*:first-child + html pre, *:first-child html + code, *:first-child html + kbd, *:first-child + html + samp, *:first-child + html tt {
 font-size: 108%;
 line-height: 100%;
}
input, select, textarea {
 font-size: 100%;
 font-family: Verdana, Helvetica, sans-serif;
}
input.long, textarea.message {
 width: 100%;
 border: 1px solid #e3e3e3;
 border-radius: 0.23em;
 padding: 5px 5px;
 background: #fbfbfb;
}
.hissu {
 padding: 3px 4px 2px 4px;
 color: #d41c1c;
 font-weight: bold;
 font-size: 11px;
}
.nini {
 padding: 3px 4px 2px 4px;
 background: #efefef;
 border: 1px solid #ccc;
 border-radius: 4px;
 display: block;
 width: 40px;
 text-align: center;
 float: right;
 color: #222;
 font-weight: bold;
 font-size: 11px;
}
.fE {
 font-family: "Outfit", sans-serif;
}
.fW500 {
 font-weight: 500;
}
.fW400 {
 font-weight: 400;
}
.fW100 {
 font-weight: 100;
}
.fW300 {
 font-weight: 300;
}
.ls0 {
 letter-spacing: 0;
}
.ls2 {
 letter-spacing: 0.2em;
}
.ls4 {
 letter-spacing: 0.4em;
}
.lh0 {
 line-height: 0%;
}
.lh100 {
 line-height: 100%;
}
.lh120 {
 line-height: 120%;
}
.lh140 {
 line-height: 140%;
}
.lh200 {
 line-height: 200% !important;
}
.lh220 {
 line-height: 220% !important;
}
.lh240 {
 line-height: 240% !important;
}
/* cf
========================================== */
.cf:after {
 visibility: hidden;
 display: block;
 content: "";
 clear: both;
}
* html .cf {
 zoom: 1;
}
/* IE6 */
*:first-child + html .cf {
 zoom: 1;
}
/* IE7 */
/* =======================================

	Structure CSS

========================================== */
* {
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}
.center {
 text-align: center !important;
 vertical-align: middle;
}
.right {
 text-align: right !important;
}
.left {
 text-align: left !important;
}
.indent {
 padding-left: 1em;
 text-indent: -1em;
}
.bold {
 font-weight: bold !important;
}
.red {
 color: #c63434 !important;
}
.blue {
 color: #15376a !important;
}
.white {
 color: #fff !important;
}
.beni {
 color: #ff5c5c !important;
}
.orange {
 color: #f88f03 !important;
}
.gray {
 color: #939393 !important;
}
.float_l {
 float: left;
}
.float_r {
 float: right;
}
.rela {
 position: relative;
}
.kome li {
 text-indent: -1em;
 padding-left: 1em;
 line-height: 140%;
 margin-bottom: 10px;
}
.o_02 .head {
 /* display: flex; */
 font-size: 100%;
 padding-bottom: 10px;
 border-bottom: 1px solid #dfdfdf;
 margin-bottom: 10px;
}
.o_02 .head .sub {
 margin-right: 10px;
}
.o_02 > div > p {
 font-size: 90%;
}
.anchorlinkBox {
 display: flex;
 justify-content: center;
 position: relative;
 z-index: 9;
}
.anchorlinkBox li {
 margin: 0 16px;
}
.anchorlinkBox a {
 padding-right: 0;
 padding-left: 1.3em;
 background-size: 1em;
 background-position: center left;
}
.anchorlinkBox a:before {}
.sdgsBox {
 display: flex;
}
.sdgsBox li {
 width: 3em;
 margin-right: 0.5em;
}
.c_phoneArea {
 background: #eeeeee;
 padding: 30px;
 border-radius: 2em;
}
.c_phoneArea > div:nth-child(2) {
 text-align: center;
 line-height: 160%;
}
.c_phoneArea > div:nth-child(2) a {
 font-size: 40px;
 color: #333;
}
.c_phoneArea > div:nth-child(2) p {
 color: #999999;
}
.contact01 a img {
 max-width: 420px;
 margin-bottom: 16px !important;
 display: block;
 width: 80%;
 margin: auto;
}
.c_c_c {
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translateY(-50%) translateX(-50%);
 transform: translateY(-50%) translateX(-50%);
}
.c_y0_xc {
 position: absolute;
 top: 0%;
 left: 50%;
 -webkit-transform: translateY(0%) translateX(-50%);
 transform: translateY(0%) translateX(-50%);
}
.c_yc_x0 {
 position: absolute;
 top: 50%;
 left: 0%;
 -webkit-transform: translateY(50%) translateX(0%);
 transform: translateY(50%) translateX(0%);
}
/*zyuusyoBox
========================================== */
td.zyuusyoBox > div:nth-child(1) {
 margin-bottom: 6px;
}
td.zyuusyoBox > div:nth-child(1) p {
 float: left;
 padding-top: 6px;
}
td.zyuusyoBox > div:nth-child(1) input {
 width: 5.5em;
 margin-left: 5px;
}
td.zyuusyoBox > div:nth-child(2) input:nth-child(1) {
 width: 6.7em;
}
/*色
========================================== */ :root {
 --base: #2d2d2d;
 --bk: #000000;
 --wh: #FFFFFF;
 --orange: #c63434;
 --Dorange: #991717;
 --Lorange: #FFF5F0;
 --gray: #7f7f7f;
 --Lgray: #f4f4f4;
 --Lred:#fbedeb;
 --grd: linear-gradient(-60deg, #ed6f48, #c63434);
}
/*文字色
========================================== */
.baseC {
 color: var(--base) !important;
}
.grd {
 background: var(--grd);
 background-clip: text;
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
}
.bk {
 color: var(--bk) !important;
}
.white {
 color: var(--wh) !important;
}
.Dorange {
 color: var(--Dorange) !important;
}
/*背景
========================================== */
.bgBaseC {
 background: var(--base) !important;
}
.bgOrange {
 background: var(--orange) !important;
}
.bgGray {
 background: var(--gray) !important;
}
.bgLGray {
 background: var(--Lgray) !important;
}
.bgW {
 background: var(--wh) !important;
}
.bgLorange {
 background: var(--Lorange) !important;
}
.bgGrd {
 background: var(--grd);
}
/*テキスト
========================================== */
#leadArea {
 padding: 100px 0 60px;
 overflow: hidden;
}
.leadTxt {
 margin-bottom: 20px;
 font-size: min(5vw, 2.4rem);
 font-weight: 700;
 line-height: 1.85;
 text-align: center;
}
/*装飾
========================================== */
.h2Tit, .h2Tit_s, .h2Tit_ss {
 font-size: clamp(2.2rem, 0.9rem + 4vw, 4.2rem);
 font-weight: 500;
 line-height: 140%;
 font-family: "Noto Serif JP", serif;
}
.h2Tit_s {
 font-size: clamp(2rem, 0.9rem + 2vw, 3.5rem);
}
.h2Tit_ss {
 font-size: clamp(2rem, 0.9rem + 2vw, 2.5rem);
}
.h3Tit {
 font-size: clamp(2.2rem, 0.9rem + 3vw, 3rem);
}
.balloon span {
 position: relative;
 padding: 0 11px;
 font-weight: bold;
}
.balloon span:before, .balloon span:after {
 content: "";
 background: #000;
 bottom: 0.1em;
 width: 2px;
 height: 1em;
 position: absolute;
}
.balloon span:before {
 left: 0;
 transform: rotate(-21deg);
}
.balloon span:after {
 right: 0;
 transform: rotate(21deg);
}
.balloonBtm {
 margin-bottom: 20px;
}
.balloonBtm span {
 position: relative;
 display: inline-block;
 border-bottom: 2px solid var(--orange);
}
.balloonBtm span::before {
 content: "";
 position: absolute;
 left: 50%;
 transform: translateX(-50%);
 bottom: -12px;
 width: 0;
 height: 0;
 border-left: 10px solid transparent;
 border-right: 10px solid transparent;
 border-top: 12px solid var(--orange);
}
.balloonBtm span::after {
 content: "";
 position: absolute;
 left: 50%;
 transform: translateX(-50%);
 bottom: -9px;
 width: 0;
 height: 0;
 border-left: 8px solid transparent;
 border-right: 8px solid transparent;
 border-top: 10px solid var(--wh);
}
.c_tit, .c_tit02 {
 font-size: clamp(1.6rem, 0.9rem + 1vw, 2rem);
 font-weight: 600;
 line-height: 150%;
}
.c_tit02 {
 font-size: clamp(2rem, 0.9rem + 2vw, 3rem);
 border-bottom: 1px solid #f3f3f3;
 padding-bottom: 0.5em;
 position: relative;
 padding-left: 0.7em;
}
.boeder_b {
 border-bottom: 1px solid #000;
 margin-bottom: 40px;
 padding-bottom: 40px;
}
.btn01, .btn01_LL {
 display: inline-block;
 color: #fff;
 padding: 1.1em 5.3em;
 border-radius: 50em;
 border: none;
 font-family: "Noto Serif JP", serif;
 font-weight: 800;
 position: relative;
 font-size: 1.95rem;
}
.btn01:before, .btn01_LL:before, .btn01:after, .btn01_LL:after {
 content: "";
 background: linear-gradient(90deg, #ed6f48, #c63434);
 width: 100%;
 height: 100%;
 position: absolute;
 left: 0;
 top: 0;
 border-radius: 50em;
 z-index: 0;
}
.btn01:after, .btn01_LL:after {
 background: #ffffff url(../img/btn01.svg) no-repeat center right 1.2em / 1.9em;
 width: calc(100% - 2px);
 height: calc(100% - 2px);
 left: 1px;
 top: 1px;
}
.btn01 span {
 display: inline-block;
 background: linear-gradient(90deg, #ed6f48, #c63434);
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
 position: relative;
 z-index: 2;
}
.btn01_LL {
 margin: auto;
 display: block;
 width: fit-content;
 min-width: 370px;
 text-align: center;
 font-size: clamp(1.6rem, 1.3143rem + 0.3198vw, 2.2rem);
 padding: 0.8em 2.5em;
}
.btn02 a {
 display: inline-block;
 padding: 6% 6% 6% 12%;
 color: #fff;
 vertical-align: middle;
 text-decoration: none;
 font-size: 17px;
 font-weight: 600;
 background: transparent url(../img/arrowW.png) no-repeat center right 0.9em / 1.4em;
 border: #fff 1px solid;
 border-radius: 7px;
 width: 100%;
}
.btn03 a {
 display: inline-block;
 background: #fff url(../img/aroowR.png) no-repeat center right 1.5em / 1.8em;
 border-radius: 50px;
 text-align: center;
 width: 100%;
 padding: 5% 6%;
 font-size: 20px;
}
.btn03R a {
 position: relative;
 display: inline-block;
 background: linear-gradient(-60deg, #ed6f48, #c63434);
 border-radius: 50em;
 text-align: center;
 width: 100%;
 padding: 4%;
 font-size: 20px;
 color: #fff;
}
.btn03R a::after {
 content: '';
 position: absolute;
 right: 1em;
 top: 50%;
 transform: translateY(-50%);
 width: 1.6em;
 height: 1.6em;
 background: url(../img/arrowW.png) no-repeat center / contain;
}
.btn03_LL, .btn03_s {
 background: url(../img/btn03.svg) no-repeat center right 1em / 1.5em;
 display: inline-block;
 color: #0059af;
 padding-right: 3.5em;
 border: none;
}
.btn03_LL {
 display: block;
 margin: auto;
 width: fit-content;
 font-size: clamp(1.6rem, 1.3143rem + 0.4198vw, 2.5rem);
 font-weight: 500;
}
.btn03_s {
 padding-right: 0;
 padding-left: 1.3em;
 background-size: 1em;
 background-position: center left;
}
.btn04 a {
  color: #c63434;
  display: inline-block;
  background: linear-gradient(90deg, #ed6f48, #c63434);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Noto Serif JP", serif;
  font-weight: 800;
  font-size: 1.95rem;
}

.btn03R a:hover,
.btn04 a:hover {
  opacity: 0.7;
}
/*flex
========================================== */
.flex_nowrap {
 display: -webkit-box;
 display: -ms-flexbox;
 display: -webkit-flex;
 display: flex;
 -ms-flex-wrap: nowrap;
 -webkit-flex-wrap: nowrap;
 flex-wrap: nowrap;
}
.flex_wrap {
 display: -webkit-box;
 display: -ms-flexbox;
 display: -webkit-flex;
 display: flex;
 -ms-flex-wrap: wrap;
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
}
.flex_space_between {
 -webkit-box-pack: justify;
 -webkit-justify-content: space-between;
 -ms-flex-pack: justify;
 justify-content: space-between;
}
.flex_center {
 -webkit-box-pack: center;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
}
.flex_left {
 -webkit-box-pack: left;
 -webkit-justify-content: left;
 -ms-flex-pack: left;
 justify-content: left;
}
.flex_right {
 -webkit-box-pack: right;
 -webkit-justify-content: right;
 -ms-flex-pack: right;
 justify-content: right;
}
.flex_flex_end {
 -webkit-box-pack: end;
 -webkit-justify-content: flex-end;
 -ms-flex-pack: end;
 justify-content: flex-end;
}
.flex_row_reverse {
 -webkit-box-orient: horizontal;
 -webkit-box-direction: reverse;
 -webkit-flex-flow: row-reverse;
 -ms-flex-flow: row-reverse;
 flex-flow: row-reverse;
}
.align_items_c {
 -webkit-box-align: center;
 -webkit-align-items: center;
 -ms-flex-align: center;
 align-items: center;
}
.align_items_e {
 -webkit-box-align: end;
 -webkit-align-items: end;
 -ms-flex-align: end;
 align-items: end;
}
.d_bl {
 display: block;
}
.poev_none {
 pointer-events: none;
}
.of_hidd {
 overflow: hidden;
}
.of_auto {
 overflow: auto;
}
.of_y {
 overflow-y: auto;
}
.of_x_hidd {
 overflow-x: hidden;
}
img {
 max-width: 100%;
 display: block;
 -webkit-transition: 0.3s;
 transition: 0.3s;
}
figure {
 display: block;
 -webkit-margin-before: 0;
 margin-block-start: 0;
 -webkit-margin-after: 0;
 margin-block-end: 0;
 -webkit-margin-start: 0;
 margin-inline-start: 0;
 -webkit-margin-end: 0;
 margin-inline-end: 0;
 margin: 0;
 padding: 0;
}

.mia {
  margin-inline: auto;
}

.w_4em {
 width: 4em;
}
.w_45em {
 width: 4.5em;
}
.w_5em {
 width: 5em;
}
.w_6em {
 width: 6em;
}
.w_7em {
 width: 7em;
}
.w_8em {
 width: 8em;
}
.w_9em {
 width: 9em;
}
.w14 {
 width: 14%;
}
.w22 {
 width: 22%;
}
.w33 {
 width: 33%;
}
.w44 {
 width: 44.5%;
}
.w66 {
 width: 66%;
}
.f10 {
 font-size: 1rem !important;
}
.f11 {
 font-size: 1.1rem !important;
}
.f12 {
 font-size: 1.2rem !important;
}
.f13 {
 font-size: 1.3rem !important;
}
.f14 {
 font-size: 1.4rem !important;
}
.f15 {
 font-size: 1.5rem !important;
}
.f16 {
 font-size: 1.6rem !important;
}
.f17 {
 font-size: 1.7rem !important;
}
.f18 {
 font-size: 1.8rem !important;
}
.f19 {
 font-size: 1.9rem !important;
}
.f20 {
 font-size: 2rem !important;
}
.f21 {
 font-size: 2.1rem !important;
}
.f22 {
 font-size: 2.2rem !important;
}
.f23 {
 font-size: 2.3rem !important;
 font-weight: 600;
 line-height: 140%;
}
.f24 {
 font-size: 2.4rem !important;
 font-weight: 600;
 line-height: 140%;
}
.f25 {
 font-size: 2.5rem !important;
 font-weight: 600;
 line-height: 140%;
}
.f26 {
 font-size: 2.6rem !important;
 font-weight: 600;
 line-height: 140%;
}
.f27 {
 font-size: 2.7rem !important;
 /* font-weight: 600; */
 line-height: 140%;
}
.f28 {
 font-size: 2.8rem !important;
 font-weight: 600;
 line-height: 140%;
}
.f29 {
 font-size: 2.9rem !important;
 font-weight: 600;
 line-height: 140%;
}
.f30 {
 font-size: 3rem !important;
 font-weight: 600;
 line-height: 140%;
}
.f32 {
 font-size: 3.2rem !important;
 /* font-weight: 600; */
 line-height: 140%;
}
.f33 {
 font-size: 3.3rem !important;
 /* font-weight: 600; */
 line-height: 120%;
}
.f42 {
 font-size: 4.2rem !important;
 font-weight: 600;
 line-height: 140%;
}
.f48 {
 font-size: 4.8rem !important;
 font-weight: 600;
 line-height: 140%;
}
.f126 {
 font-size: 12.6rem !important;
 /* font-weight: 600; */
 line-height: 70%;
}
.f268 {
 font-size: 26.8rem !important;
 line-height: 64%;
}
.f_ps60 {
 font-size: 60% !important;
}
.f_ps65 {
 font-size: 65% !important;
}
.f_ps70 {
 font-size: 70% !important;
}
.f_ps75 {
 font-size: 75% !important;
}
.f_ps80 {
 font-size: 80% !important;
}
.f_ps85 {
 font-size: 85% !important;
}
.f_ps90 {
 font-size: 90% !important;
}
.f_ps95 {
 font-size: 95% !important;
}
.f_ps100 {
 font-size: 100% !important;
}
.f_ps105 {
 font-size: 105% !important;
}
.f_ps110 {
 font-size: 110% !important;
}
.f_ps115 {
 font-size: 115% !important;
}
.f_ps120 {
 font-size: 120% !important;
}
.f_ps125 {
 font-size: 125% !important;
}
.f_ps130 {
 font-size: 130% !important;
}
.f_ps135 {
 font-size: 135% !important;
}
.f_ps140 {
 font-size: 140% !important;
}
.f_ps145 {
 font-size: 145% !important;
}
.f_ps150 {
 font-size: 150% !important;
}
@media (max-width: 900px) and (min-width: 0px) {
 .f10 {
  font-size: 10px !important;
 }
 .f11 {
  font-size: 11px !important;
 }
 .f12 {
  font-size: 12px !important;
 }
 .f13 {
  font-size: 3.5vw !important;
 }
 .f14 {
  font-size: 3.6vw !important;
 }
 .f15 {
  font-size: 3.7vw !important;
 }
 .f16 {
  font-size: 3.8vw !important;
 }
 .f17 {
  font-size: 3.9vw !important;
 }
 .f18 {
  font-size: 4vw !important;
 }
 .f19 {
  font-size: 4.1vw !important;
 }
 .f20 {
  font-size: 4.2vw !important;
 }
 .f21 {
  font-size: 4.3vw !important;
 }
 .f22 {
  font-size: 4.4vw !important;
 }
 .f23 {
  font-size: 4.5vw !important;
 }
 .f24 {
  font-size: 4.6vw !important;
 }
 .f25 {
  font-size: 4.7vw !important;
 }
 .f26 {
  font-size: 4.8vw !important;
 }
 .f27 {
  font-size: 4.9vw !important;
 }
 .f28 {
  font-size: 5vw !important;
 }
 .f29 {
  font-size: 5.1vw !important;
 }
 .f30 {
  font-size: 5.2vw !important;
 }
}
.inner, .inner_500, .inner_600, .inner_700, .inner_800, .inner_900, .inner_1000, .inner_1100, .inner_1200, .inner_1300, .inner_1400, .inner_1500, .inner_1600, .inner_1700, .inner_1800 {
 position: relative;
 width: 90%;
 margin: 0 auto;
}
.inner {
 max-width: 1200px !important;
}
.inner_500 {
 max-width: 500px !important;
}
.inner_600 {
 max-width: 600px !important;
}
.inner_700 {
 max-width: 700px !important;
}
.inner_800 {
 max-width: 800px !important;
}
.inner_900 {
 max-width: 900px !important;
}
.inner_1000 {
 max-width: 1000px !important;
}
.inner_1100 {
 max-width: 1100px !important;
}
.inner_1200 {
 max-width: 1200px !important;
}
.inner_1300 {
 max-width: 1300px !important;
}
.inner_1400 {
 max-width: 1400px !important;
}
.inner_1500 {
 max-width: 1500px !important;
}
.inner_1600 {
 max-width: 1600px !important;
}
.inner_1700 {
 max-width: 1700px !important;
}
.inner_1800 {
 max-width: 1800px !important;
}
/* =======================================

	margin / padding

========================================== */
/*! mb */
.mA0 {
 margin: 0px !important;
}
.mA5 {
 margin: 5px !important;
}
.mA10 {
 margin: 10px !important;
}
.mA15 {
 margin: 15px !important;
}
.mA20 {
 margin: 20px !important;
}
.mA25 {
 margin: 25px !important;
}
.mA30 {
 margin: 30px !important;
}
.mA35 {
 margin: 35px !important;
}
.mA40 {
 margin: 40px !important;
}
.mA45 {
 margin: 45px !important;
}
.mA50 {
 margin: 50px !important;
}
.mA55 {
 margin: 55px !important;
}
.mA60 {
 margin: 60px !important;
}
.mA65 {
 margin: 65px !important;
}
.mA70 {
 margin: 70px !important;
}
.mA75 {
 margin: 75px !important;
}
.mA80 {
 margin: 80px !important;
}
.mA85 {
 margin: 85px !important;
}
.mA90 {
 margin: 90px !important;
}
.mA95 {
 margin: 95px !important;
}
.mA100 {
 margin: 100px !important;
}
.mA105 {
 margin: 105px !important;
}
.mA110 {
 margin: 110px !important;
}
.mA115 {
 margin: 115px !important;
}
.mA120 {
 margin: 120px !important;
}
.mA125 {
 margin: 125px !important;
}
.mA130 {
 margin: 130px !important;
}
.mA135 {
 margin: 135px !important;
}
.mA140 {
 margin: 140px !important;
}
.mA145 {
 margin: 145px !important;
}
.mA150 {
 margin: 150px !important;
}
.mAauto{
	margin: auto;
}
.mT0 {
 margin-top: 0px !important;
}
.mT5 {
 margin-top: 5px !important;
}
.mT10 {
 margin-top: 10px !important;
}
.mT15 {
 margin-top: 15px !important;
}
.mT20 {
 margin-top: 20px !important;
}
.mT25 {
 margin-top: 25px !important;
}
.mT30 {
 margin-top: 30px !important;
}
.mT35 {
 margin-top: 35px !important;
}
.mT40 {
 margin-top: 40px !important;
}
.mT45 {
 margin-top: 45px !important;
}
.mT50 {
 margin-top: 50px !important;
}
.mT55 {
 margin-top: 55px !important;
}
.mT60 {
 margin-top: 60px !important;
}
.mT65 {
 margin-top: 65px !important;
}
.mT70 {
 margin-top: 70px !important;
}
.mT75 {
 margin-top: 75px !important;
}
.mT80 {
 margin-top: 80px !important;
}
.mT85 {
 margin-top: 85px !important;
}
.mT90 {
 margin-top: 90px !important;
}
.mT95 {
 margin-top: 95px !important;
}
.mT100 {
 margin-top: 100px !important;
}
.mT105 {
 margin-top: 105px !important;
}
.mT110 {
 margin-top: 110px !important;
}
.mT115 {
 margin-top: 115px !important;
}
.mT120 {
 margin-top: 120px !important;
}
.mT125 {
 margin-top: 125px !important;
}
.mT130 {
 margin-top: 130px !important;
}
.mT135 {
 margin-top: 135px !important;
}
.mT140 {
 margin-top: 140px !important;
}
.mT145 {
 margin-top: 145px !important;
}
.mT150 {
 margin-top: 150px !important;
}
.mB0 {
 margin-bottom: 0px !important;
}
.mB5 {
 margin-bottom: 5px !important;
}
.mB10 {
 margin-bottom: 10px !important;
}
.mB15 {
 margin-bottom: 15px !important;
}
.mB20 {
 margin-bottom: 20px !important;
}
.mB25 {
 margin-bottom: 25px !important;
}
.mB30 {
 margin-bottom: 30px !important;
}
.mB35 {
 margin-bottom: 35px !important;
}
.mB40 {
 margin-bottom: 40px !important;
}
.mB45 {
 margin-bottom: 45px !important;
}
.mB50 {
 margin-bottom: 50px !important;
}
.mB55 {
 margin-bottom: 55px !important;
}
.mB60 {
 margin-bottom: 60px !important;
}
.mB65 {
 margin-bottom: 65px !important;
}
.mB70 {
 margin-bottom: 70px !important;
}
.mB75 {
 margin-bottom: 75px !important;
}
.mB80 {
 margin-bottom: 80px !important;
}
.mB85 {
 margin-bottom: 85px !important;
}
.mB90 {
 margin-bottom: 90px !important;
}
.mB95 {
 margin-bottom: 95px !important;
}
.mB100 {
 margin-bottom: 100px !important;
}
.mB105 {
 margin-bottom: 105px !important;
}
.mB110 {
 margin-bottom: 110px !important;
}
.mB115 {
 margin-bottom: 115px !important;
}
.mB120 {
 margin-bottom: 120px !important;
}
.mB125 {
 margin-bottom: 125px !important;
}
.mB130 {
 margin-bottom: 130px !important;
}
.mB135 {
 margin-bottom: 135px !important;
}
.mB140 {
 margin-bottom: 140px !important;
}
.mB145 {
 margin-bottom: 145px !important;
}
.mB150 {
 margin-bottom: 150px !important;
}
.mL0 {
 margin-left: 0px !important;
}
.mL5 {
 margin-left: 5px !important;
}
.mL10 {
 margin-left: 10px !important;
}
.mL15 {
 margin-left: 15px !important;
}
.mL20 {
 margin-left: 20px !important;
}
.mL25 {
 margin-left: 25px !important;
}
.mL30 {
 margin-left: 30px !important;
}
.mL35 {
 margin-left: 35px !important;
}
.mL40 {
 margin-left: 40px !important;
}
.mL45 {
 margin-left: 45px !important;
}
.mL50 {
 margin-left: 50px !important;
}
.mL55 {
 margin-left: 55px !important;
}
.mL60 {
 margin-left: 60px !important;
}
.mL65 {
 margin-left: 65px !important;
}
.mL70 {
 margin-left: 70px !important;
}
.mL75 {
 margin-left: 75px !important;
}
.mL80 {
 margin-left: 80px !important;
}
.mL85 {
 margin-left: 85px !important;
}
.mL90 {
 margin-left: 90px !important;
}
.mL95 {
 margin-left: 95px !important;
}
.mL100 {
 margin-left: 100px !important;
}
.mL105 {
 margin-left: 105px !important;
}
.mL110 {
 margin-left: 110px !important;
}
.mL115 {
 margin-left: 115px !important;
}
.mL120 {
 margin-left: 120px !important;
}
.mL125 {
 margin-left: 125px !important;
}
.mL130 {
 margin-left: 130px !important;
}
.mL135 {
 margin-left: 135px !important;
}
.mL140 {
 margin-left: 140px !important;
}
.mL145 {
 margin-left: 145px !important;
}
.mL150 {
 margin-left: 150px !important;
}
.mR0 {
 margin-right: 0px !important;
}
.mR5 {
 margin-right: 5px !important;
}
.mR10 {
 margin-right: 10px !important;
}
.mR15 {
 margin-right: 15px !important;
}
.mR20 {
 margin-right: 20px !important;
}
.mR25 {
 margin-right: 25px !important;
}
.mR30 {
 margin-right: 30px !important;
}
.mR35 {
 margin-right: 35px !important;
}
.mR40 {
 margin-right: 40px !important;
}
.mR45 {
 margin-right: 45px !important;
}
.mR50 {
 margin-right: 50px !important;
}
.mR55 {
 margin-right: 55px !important;
}
.mR60 {
 margin-right: 60px !important;
}
.mR65 {
 margin-right: 65px !important;
}
.mR70 {
 margin-right: 70px !important;
}
.mR75 {
 margin-right: 75px !important;
}
.mR80 {
 margin-right: 80px !important;
}
.mR85 {
 margin-right: 85px !important;
}
.mR90 {
 margin-right: 90px !important;
}
.mR95 {
 margin-right: 95px !important;
}
.mR100 {
 margin-right: 100px !important;
}
.mR105 {
 margin-right: 105px !important;
}
.mR110 {
 margin-right: 110px !important;
}
.mR115 {
 margin-right: 115px !important;
}
.mR120 {
 margin-right: 120px !important;
}
.mR125 {
 margin-right: 125px !important;
}
.mR130 {
 margin-right: 130px !important;
}
.mR135 {
 margin-right: 135px !important;
}
.mR140 {
 margin-right: 140px !important;
}
.mR145 {
 margin-right: 145px !important;
}
.mR150 {
 margin-right: 150px !important;
}
.pB0 {
 padding-bottom: 0px !important;
}
.pB5 {
 padding-bottom: 5px !important;
}
.pB10 {
 padding-bottom: 10px !important;
}
.pB15 {
 padding-bottom: 15px !important;
}
.pB20 {
 padding-bottom: 20px !important;
}
.pB25 {
 padding-bottom: 25px !important;
}
.pB30 {
 padding-bottom: 30px !important;
}
.pB35 {
 padding-bottom: 35px !important;
}
.pB40 {
 padding-bottom: 40px !important;
}
.pB45 {
 padding-bottom: 45px !important;
}
.pB50 {
 padding-bottom: 50px !important;
}
.pB55 {
 padding-bottom: 55px !important;
}
.pB60 {
 padding-bottom: 60px !important;
}
.pB65 {
 padding-bottom: 65px !important;
}
.pB70 {
 padding-bottom: 70px !important;
}
.pB75 {
 padding-bottom: 75px !important;
}
.pB80 {
 padding-bottom: 80px !important;
}
.pB85 {
 padding-bottom: 85px !important;
}
.pB90 {
 padding-bottom: 90px !important;
}
.pB95 {
 padding-bottom: 95px !important;
}
.pB100 {
 padding-bottom: 100px !important;
}
.pB105 {
 padding-bottom: 105px !important;
}
.pB110 {
 padding-bottom: 110px !important;
}
.pB115 {
 padding-bottom: 115px !important;
}
.pB120 {
 padding-bottom: 120px !important;
}
.pB125 {
 padding-bottom: 125px !important;
}
.pB130 {
 padding-bottom: 130px !important;
}
.pB135 {
 padding-bottom: 135px !important;
}
.pB140 {
 padding-bottom: 140px !important;
}
.pB145 {
 padding-bottom: 145px !important;
}
.pB150 {
 padding-bottom: 150px !important;
}
.pB160 {
 padding-bottom: 160px !important;
}
.pT0 {
 padding-top: 0px !important;
}
.pT5 {
 padding-top: 5px !important;
}
.pT10 {
 padding-top: 10px !important;
}
.pT15 {
 padding-top: 15px !important;
}
.pT20 {
 padding-top: 20px !important;
}
.pT25 {
 padding-top: 25px !important;
}
.pT30 {
 padding-top: 30px !important;
}
.pT35 {
 padding-top: 35px !important;
}
.pT40 {
 padding-top: 40px !important;
}
.pT45 {
 padding-top: 45px !important;
}
.pT50 {
 padding-top: 50px !important;
}
.pT55 {
 padding-top: 55px !important;
}
.pT60 {
 padding-top: 60px !important;
}
.pT65 {
 padding-top: 65px !important;
}
.pT70 {
 padding-top: 70px !important;
}
.pT75 {
 padding-top: 75px !important;
}
.pT80 {
 padding-top: 80px !important;
}
.pT85 {
 padding-top: 85px !important;
}
.pT90 {
 padding-top: 90px !important;
}
.pT95 {
 padding-top: 95px !important;
}
.pT100 {
 padding-top: 100px !important;
}
.pT105 {
 padding-top: 105px !important;
}
.pT110 {
 padding-top: 110px !important;
}
.pT115 {
 padding-top: 115px !important;
}
.pT120 {
 padding-top: 120px !important;
}
.pT125 {
 padding-top: 125px !important;
}
.pT130 {
 padding-top: 130px !important;
}
.pT135 {
 padding-top: 135px !important;
}
.pT140 {
 padding-top: 140px !important;
}
.pT145 {
 padding-top: 145px !important;
}
.pT150 {
 padding-top: 150px !important;
}
.pL0 {
 padding-left: 0px !important;
}
.pL5 {
 padding-left: 5px !important;
}
.pL10 {
 padding-left: 10px !important;
}
.pL15 {
 padding-left: 15px !important;
}
.pL20 {
 padding-left: 20px !important;
}
.pL25 {
 padding-left: 25px !important;
}
.pL30 {
 padding-left: 30px !important;
}
.pL35 {
 padding-left: 35px !important;
}
.pL40 {
 padding-left: 40px !important;
}
.pL45 {
 padding-left: 45px !important;
}
.pL50 {
 padding-left: 50px !important;
}
.pL55 {
 padding-left: 55px !important;
}
.pL60 {
 padding-left: 60px !important;
}
.pL65 {
 padding-left: 65px !important;
}
.pL70 {
 padding-left: 70px !important;
}
.pL75 {
 padding-left: 75px !important;
}
.pL80 {
 padding-left: 80px !important;
}
.pL85 {
 padding-left: 85px !important;
}
.pL90 {
 padding-left: 90px !important;
}
.pL95 {
 padding-left: 95px !important;
}
.pL100 {
 padding-left: 100px !important;
}
.pL105 {
 padding-left: 105px !important;
}
.pL110 {
 padding-left: 110px !important;
}
.pL115 {
 padding-left: 115px !important;
}
.pL120 {
 padding-left: 120px !important;
}
.pL125 {
 padding-left: 125px !important;
}
.pL130 {
 padding-left: 130px !important;
}
.pL135 {
 padding-left: 135px !important;
}
.pL140 {
 padding-left: 140px !important;
}
.pL145 {
 padding-left: 145px !important;
}
.pL150 {
 padding-left: 150px !important;
}
.pL0 {
 padding-left: 0px !important;
}
.pL5 {
 padding-left: 5px !important;
}
.pL10 {
 padding-left: 10px !important;
}
.pL15 {
 padding-left: 15px !important;
}
.pL20 {
 padding-left: 20px !important;
}
.pL25 {
 padding-left: 25px !important;
}
.pL30 {
 padding-left: 30px !important;
}
.pL35 {
 padding-left: 35px !important;
}
.pL40 {
 padding-left: 40px !important;
}
.pL45 {
 padding-left: 45px !important;
}
.pL50 {
 padding-left: 50px !important;
}
.pL55 {
 padding-left: 55px !important;
}
.pL60 {
 padding-left: 60px !important;
}
.pL65 {
 padding-left: 65px !important;
}
.pL70 {
 padding-left: 70px !important;
}
.pL75 {
 padding-left: 75px !important;
}
.pL80 {
 padding-left: 80px !important;
}
.pL85 {
 padding-left: 85px !important;
}
.pL90 {
 padding-left: 90px !important;
}
.pL95 {
 padding-left: 95px !important;
}
.pL100 {
 padding-left: 100px !important;
}
.pL105 {
 padding-left: 105px !important;
}
.pL110 {
 padding-left: 110px !important;
}
.pL115 {
 padding-left: 115px !important;
}
.pL120 {
 padding-left: 120px !important;
}
.pL125 {
 padding-left: 125px !important;
}
.pL130 {
 padding-left: 130px !important;
}
.pL135 {
 padding-left: 135px !important;
}
.pL140 {
 padding-left: 140px !important;
}
.pL145 {
 padding-left: 145px !important;
}
.pL150 {
 padding-left: 150px !important;
}
.pR0 {
 padding-right: 0px !important;
}
.pR5 {
 padding-right: 5px !important;
}
.pR10 {
 padding-right: 10px !important;
}
.pR15 {
 padding-right: 15px !important;
}
.pR20 {
 padding-right: 20px !important;
}
.pR25 {
 padding-right: 25px !important;
}
.pR30 {
 padding-right: 30px !important;
}
.pR35 {
 padding-right: 35px !important;
}
.pR40 {
 padding-right: 40px !important;
}
.pR45 {
 padding-right: 45px !important;
}
.pR50 {
 padding-right: 50px !important;
}
.pR55 {
 padding-right: 55px !important;
}
.pR60 {
 padding-right: 60px !important;
}
.pR65 {
 padding-right: 65px !important;
}
.pR70 {
 padding-right: 70px !important;
}
.pR75 {
 padding-right: 75px !important;
}
.pR80 {
 padding-right: 80px !important;
}
.pR85 {
 padding-right: 85px !important;
}
.pR90 {
 padding-right: 90px !important;
}
.pR95 {
 padding-right: 95px !important;
}
.pR100 {
 padding-right: 100px !important;
}
.pR105 {
 padding-right: 105px !important;
}
.pR110 {
 padding-right: 110px !important;
}
.pR115 {
 padding-right: 115px !important;
}
.pR120 {
 padding-right: 120px !important;
}
.pR125 {
 padding-right: 125px !important;
}
.pR130 {
 padding-right: 130px !important;
}
.pR135 {
 padding-right: 135px !important;
}
.pR140 {
 padding-right: 140px !important;
}
.pR145 {
 padding-right: 145px !important;
}
.pR150 {
 padding-right: 150px !important;
}
.pA0 {
 padding: 0px !important;
}
.pA5 {
 padding: 5px !important;
}
.pA10 {
 padding: 10px !important;
}
.pA15 {
 padding: 15px !important;
}
.pA20 {
 padding: 20px !important;
}
.pA25 {
 padding: 25px !important;
}
.pA30 {
 padding: 30px !important;
}
.pA35 {
 padding: 35px !important;
}
.pA40 {
 padding: 40px !important;
}
.pA45 {
 padding: 45px !important;
}
.pA50 {
 padding: 50px !important;
}
.pA55 {
 padding: 55px !important;
}
.pA60 {
 padding: 60px !important;
}
.pA65 {
 padding: 65px !important;
}
.pA70 {
 padding: 70px !important;
}
.pA75 {
 padding: 75px !important;
}
.pA80 {
 padding: 80px !important;
}
.pA85 {
 padding: 85px !important;
}
.pA90 {
 padding: 90px !important;
}
.pA95 {
 padding: 95px !important;
}
.pA100 {
 padding: 100px !important;
}
.pA105 {
 padding: 105px !important;
}
.pA110 {
 padding: 110px !important;
}
.pA115 {
 padding: 115px !important;
}
.pA120 {
 padding: 120px !important;
}
.pA125 {
 padding: 125px !important;
}
.pA130 {
 padding: 130px !important;
}
.pA135 {
 padding: 135px !important;
}
.pA140 {
 padding: 140px !important;
}
.pA145 {
 padding: 145px !important;
}
.pA150 {
 padding: 150px !important;
}
.mB1em {
 margin-bottom: 1em !important;
}
/*! mb */
@media (max-width: 900px) and (min-width: 0px) {
 .mA0 {
  margin: 0% !important;
 }
 .mA5 {
  margin: 2.5% !important;
 }
 .mA10 {
  margin: 2.5% !important;
 }
 .mA15 {
  margin: 2.5% !important;
 }
 .mA20 {
  margin: 5% !important;
 }
 .mA25 {
  margin: 5% !important;
 }
 .mA30 {
  margin: 5% !important;
 }
 .mA35 {
  margin: 7.5% !important;
 }
 .mA40 {
  margin: 7.5% !important;
 }
 .mA45 {
  margin: 7.5% !important;
 }
 .mA50 {
  margin: 10% !important;
 }
 .mA55 {
  margin: 10% !important;
 }
 .mA60 {
  margin: 10% !important;
 }
 .mA65 {
  margin: 12.5% !important;
 }
 .mA70 {
  margin: 12.5% !important;
 }
 .mA75 {
  margin: 12.5% !important;
 }
 .mA80 {
  margin: 15% !important;
 }
 .mA85 {
  margin: 15% !important;
 }
 .mA90 {
  margin: 15% !important;
 }
 .mA95 {
  margin: 17.5% !important;
 }
 .mA100 {
  margin: 17.5% !important;
 }
 .mA105 {
  margin: 17.5% !important;
 }
 .mA110 {
  margin: 20% !important;
 }
 .mA115 {
  margin: 20% !important;
 }
 .mA120 {
  margin: 20% !important;
 }
 .mA125 {
  margin: 22.5% !important;
 }
 .mA130 {
  margin: 22.5% !important;
 }
 .mA135 {
  margin: 22.5% !important;
 }
 .mA140 {
  margin: 25% !important;
 }
 .mA145 {
  margin: 25% !important;
 }
 .mA150 {
  margin: 25% !important;
 }
 .mT10 {
  margin-top: 2.5% !important;
 }
 .mT15 {
  margin-top: 2.5% !important;
 }
 .mT20 {
  margin-top: 5% !important;
 }
 .mT25 {
  margin-top: 5% !important;
 }
 .mT30 {
  margin-top: 5% !important;
 }
 .mT35 {
  margin-top: 7.5% !important;
 }
 .mT40 {
  margin-top: 7.5% !important;
 }
 .mT45 {
  margin-top: 7.5% !important;
 }
 .mT50 {
  margin-top: 12% !important;
 }
 .mT55 {
  margin-top: 10% !important;
 }
 .mT60 {
  margin-top: 10% !important;
 }
 .mT65 {
  margin-top: 12.5% !important;
 }
 .mT70 {
  margin-top: 12.5% !important;
 }
 .mT75 {
  margin-top: 12.5% !important;
 }
 .mT80 {
  margin-top: 15% !important;
 }
 .mT85 {
  margin-top: 15% !important;
 }
 .mT90 {
  margin-top: 15% !important;
 }
 .mT95 {
  margin-top: 17.5% !important;
 }
 .mT100 {
  margin-top: 17.5% !important;
 }
 .mT105 {
  margin-top: 17.5% !important;
 }
 .mT110 {
  margin-top: 20% !important;
 }
 .mT115 {
  margin-top: 20% !important;
 }
 .mT120 {
  margin-top: 20% !important;
 }
 .mT125 {
  margin-top: 22.5% !important;
 }
 .mT130 {
  margin-top: 22.5% !important;
 }
 .mT135 {
  margin-top: 22.5% !important;
 }
 .mT140 {
  margin-top: 25% !important;
 }
 .mT145 {
  margin-top: 25% !important;
 }
 .mT150 {
  margin-top: 25% !important;
 }
 .mB0 {
  margin-bottom: 0% !important;
 }
 .mB5 {
  margin-bottom: 2.5% !important;
 }
 .mB10 {
  margin-bottom: 2.5% !important;
 }
 .mB15 {
  margin-bottom: 2.5% !important;
 }
 .mB20 {
  margin-bottom: 5% !important;
 }
 .mB25 {
  margin-bottom: 5% !important;
 }
 .mB30 {
  margin-bottom: 5% !important;
 }
 .mB35 {
  margin-bottom: 7.5% !important;
 }
 .mB40 {
  margin-bottom: 7.5% !important;
 }
 .mB45 {
  margin-bottom: 7.5% !important;
 }
 .mB50 {
  margin-bottom: 10% !important;
 }
 .mB55 {
  margin-bottom: 10% !important;
 }
 .mB60 {
  margin-bottom: 10% !important;
 }
 .mB65 {
  margin-bottom: 12.5% !important;
 }
 .mB70 {
  margin-bottom: 12.5% !important;
 }
 .mB75 {
  margin-bottom: 12.5% !important;
 }
 .mB80 {
  margin-bottom: 15% !important;
 }
 .mB85 {
  margin-bottom: 15% !important;
 }
 .mB90 {
  margin-bottom: 15% !important;
 }
 .mB95 {
  margin-bottom: 17.5% !important;
 }
 .mB100 {
  margin-bottom: 17.5% !important;
 }
 .mB105 {
  margin-bottom: 17.5% !important;
 }
 .mB110 {
  margin-bottom: 20% !important;
 }
 .mB115 {
  margin-bottom: 20% !important;
 }
 .mB120 {
  margin-bottom: 20% !important;
 }
 .mB125 {
  margin-bottom: 22.5% !important;
 }
 .mB130 {
  margin-bottom: 22.5% !important;
 }
 .mB135 {
  margin-bottom: 22.5% !important;
 }
 .mB140 {
  margin-bottom: 25% !important;
 }
 .mB145 {
  margin-bottom: 25% !important;
 }
 .mB150 {
  margin-bottom: 25% !important;
 }
 .mL0 {
  margin-left: 0% !important;
 }
 .mL5 {
  margin-left: 2.5% !important;
 }
 .mL10 {
  margin-left: 2.5% !important;
 }
 .mL15 {
  margin-left: 2.5% !important;
 }
 .mL20 {
  margin-left: 5% !important;
 }
 .mL25 {
  margin-left: 5% !important;
 }
 .mL30 {
  margin-left: 5% !important;
 }
 .mL35 {
  margin-left: 7.5% !important;
 }
 .mL40 {
  margin-left: 7.5% !important;
 }
 .mL45 {
  margin-left: 7.5% !important;
 }
 .mL50 {
  margin-left: 10% !important;
 }
 .mL55 {
  margin-left: 10% !important;
 }
 .mL60 {
  margin-left: 10% !important;
 }
 .mL65 {
  margin-left: 12.5% !important;
 }
 .mL70 {
  margin-left: 12.5% !important;
 }
 .mL75 {
  margin-left: 12.5% !important;
 }
 .mL80 {
  margin-left: 15% !important;
 }
 .mL85 {
  margin-left: 15% !important;
 }
 .mL90 {
  margin-left: 15% !important;
 }
 .mL95 {
  margin-left: 17.5% !important;
 }
 .mL100 {
  margin-left: 17.5% !important;
 }
 .mL105 {
  margin-left: 17.5% !important;
 }
 .mL110 {
  margin-left: 20% !important;
 }
 .mL115 {
  margin-left: 20% !important;
 }
 .mL120 {
  margin-left: 20% !important;
 }
 .mL125 {
  margin-left: 22.5% !important;
 }
 .mL130 {
  margin-left: 22.5% !important;
 }
 .mL135 {
  margin-left: 22.5% !important;
 }
 .mL140 {
  margin-left: 25% !important;
 }
 .mL145 {
  margin-left: 25% !important;
 }
 .mL150 {
  margin-left: 25% !important;
 }
 .mR0 {
  margin-right: 0% !important;
 }
 .mR5 {
  margin-right: 2.5% !important;
 }
 .mR10 {
  margin-right: 2.5% !important;
 }
 .mR15 {
  margin-right: 2.5% !important;
 }
 .mR20 {
  margin-right: 5% !important;
 }
 .mR25 {
  margin-right: 5% !important;
 }
 .mR30 {
  margin-right: 5% !important;
 }
 .mR35 {
  margin-right: 7.5% !important;
 }
 .mR40 {
  margin-right: 7.5% !important;
 }
 .mR45 {
  margin-right: 7.5% !important;
 }
 .mR50 {
  margin-right: 10% !important;
 }
 .mR55 {
  margin-right: 10% !important;
 }
 .mR60 {
  margin-right: 10% !important;
 }
 .mR65 {
  margin-right: 12.5% !important;
 }
 .mR70 {
  margin-right: 12.5% !important;
 }
 .mR75 {
  margin-right: 12.5% !important;
 }
 .mR80 {
  margin-right: 15% !important;
 }
 .mR85 {
  margin-right: 15% !important;
 }
 .mR90 {
  margin-right: 15% !important;
 }
 .mR95 {
  margin-right: 17.5% !important;
 }
 .mR100 {
  margin-right: 17.5% !important;
 }
 .mR105 {
  margin-right: 17.5% !important;
 }
 .mR110 {
  margin-right: 20% !important;
 }
 .mR115 {
  margin-right: 20% !important;
 }
 .mR120 {
  margin-right: 20% !important;
 }
 .mR125 {
  margin-right: 22.5% !important;
 }
 .mR130 {
  margin-right: 22.5% !important;
 }
 .mR135 {
  margin-right: 22.5% !important;
 }
 .mR140 {
  margin-right: 25% !important;
 }
 .mR145 {
  margin-right: 25% !important;
 }
 .mR150 {
  margin-right: 25% !important;
 }
 .pT0 {
  padding-top: 0% !important;
 }
 .pT5 {
  padding-top: 2.5% !important;
 }
 .pT10 {
  padding-top: 2.5% !important;
 }
 .pT15 {
  padding-top: 2.5% !important;
 }
 .pT20 {
  padding-top: 5% !important;
 }
 .pT25 {
  padding-top: 5% !important;
 }
 .pT30 {
  padding-top: 5% !important;
 }
 .pT35 {
  padding-top: 7.5% !important;
 }
 .pT40 {
  padding-top: 7.5% !important;
 }
 .pT45 {
  padding-top: 7.5% !important;
 }
 .pT50 {
  padding-top: 10% !important;
 }
 .pT55 {
  padding-top: 10% !important;
 }
 .pT60 {
  padding-top: 10% !important;
 }
 .pT65 {
  padding-top: 12.5% !important;
 }
 .pT70 {
  padding-top: 12.5% !important;
 }
 .pT75 {
  padding-top: 12.5% !important;
 }
 .pT80 {
  padding-top: 15% !important;
 }
 .pT85 {
  padding-top: 15% !important;
 }
 .pT90 {
  padding-top: 15% !important;
 }
 .pT95 {
  padding-top: 17.5% !important;
 }
 .pT100 {
  padding-top: 17.5% !important;
 }
 .pT105 {
  padding-top: 17.5% !important;
 }
 .pT110 {
  padding-top: 20% !important;
 }
 .pT115 {
  padding-top: 20% !important;
 }
 .pT120 {
  padding-top: 20% !important;
 }
 .pT125 {
  padding-top: 22.5% !important;
 }
 .pT130 {
  padding-top: 22.5% !important;
 }
 .pT135 {
  padding-top: 22.5% !important;
 }
 .pT140 {
  padding-top: 25% !important;
 }
 .pT145 {
  padding-top: 25% !important;
 }
 .pT150 {
  padding-top: 25% !important;
 }
 .pB0 {
  padding-bottom: 0% !important;
 }
 .pB5 {
  padding-bottom: 2.5% !important;
 }
 .pB10 {
  padding-bottom: 2.5% !important;
 }
 .pB15 {
  padding-bottom: 2.5% !important;
 }
 .pB20 {
  padding-bottom: 5% !important;
 }
 .pB25 {
  padding-bottom: 5% !important;
 }
 .pB30 {
  padding-bottom: 5% !important;
 }
 .pB35 {
  padding-bottom: 7.5% !important;
 }
 .pB40 {
  padding-bottom: 7.5% !important;
 }
 .pB45 {
  padding-bottom: 7.5% !important;
 }
 .pB50 {
  padding-bottom: 10% !important;
 }
 .pB55 {
  padding-bottom: 10% !important;
 }
 .pB60 {
  padding-bottom: 10% !important;
 }
 .pB65 {
  padding-bottom: 12.5% !important;
 }
 .pB70 {
  padding-bottom: 12.5% !important;
 }
 .pB75 {
  padding-bottom: 12.5% !important;
 }
 .pB80 {
  padding-bottom: 15% !important;
 }
 .pB85 {
  padding-bottom: 15% !important;
 }
 .pB90 {
  padding-bottom: 15% !important;
 }
 .pB95 {
  padding-bottom: 17.5% !important;
 }
 .pB100 {
  padding-bottom: 17.5% !important;
 }
 .pB105 {
  padding-bottom: 17.5% !important;
 }
 .pB110 {
  padding-bottom: 20% !important;
 }
 .pB115 {
  padding-bottom: 20% !important;
 }
 .pB120 {
  padding-bottom: 20% !important;
 }
 .pB125 {
  padding-bottom: 22.5% !important;
 }
 .pB130 {
  padding-bottom: 22.5% !important;
 }
 .pB135 {
  padding-bottom: 22.5% !important;
 }
 .pB140 {
  padding-bottom: 25% !important;
 }
 .pB145 {
  padding-bottom: 25% !important;
 }
 .pB150 {
  padding-bottom: 25% !important;
 }
 .pL0 {
  padding-left: 0% !important;
 }
 .pL5 {
  padding-left: 2.5% !important;
 }
 .pL10 {
  padding-left: 2.5% !important;
 }
 .pL15 {
  padding-left: 2.5% !important;
 }
 .pL20 {
  padding-left: 5% !important;
 }
 .pL25 {
  padding-left: 5% !important;
 }
 .pL30 {
  padding-left: 5% !important;
 }
 .pL35 {
  padding-left: 7.5% !important;
 }
 .pL40 {
  padding-left: 7.5% !important;
 }
 .pL45 {
  padding-left: 7.5% !important;
 }
 .pL50 {
  padding-left: 10% !important;
 }
 .pL55 {
  padding-left: 10% !important;
 }
 .pL60 {
  padding-left: 10% !important;
 }
 .pL65 {
  padding-left: 12.5% !important;
 }
 .pL70 {
  padding-left: 12.5% !important;
 }
 .pL75 {
  padding-left: 12.5% !important;
 }
 .pL80 {
  padding-left: 15% !important;
 }
 .pL85 {
  padding-left: 15% !important;
 }
 .pL90 {
  padding-left: 15% !important;
 }
 .pL95 {
  padding-left: 17.5% !important;
 }
 .pL100 {
  padding-left: 17.5% !important;
 }
 .pL105 {
  padding-left: 17.5% !important;
 }
 .pL110 {
  padding-left: 20% !important;
 }
 .pL115 {
  padding-left: 20% !important;
 }
 .pL120 {
  padding-left: 20% !important;
 }
 .pL125 {
  padding-left: 22.5% !important;
 }
 .pL130 {
  padding-left: 22.5% !important;
 }
 .pL135 {
  padding-left: 22.5% !important;
 }
 .pL140 {
  padding-left: 25% !important;
 }
 .pL145 {
  padding-left: 25% !important;
 }
 .pL150 {
  padding-left: 25% !important;
 }
 .pR0 {
  padding-right: 0% !important;
 }
 .pR5 {
  padding-right: 2.5% !important;
 }
 .pR10 {
  padding-right: 2.5% !important;
 }
 .pR15 {
  padding-right: 2.5% !important;
 }
 .pR20 {
  padding-right: 5% !important;
 }
 .pR25 {
  padding-right: 5% !important;
 }
 .pR30 {
  padding-right: 5% !important;
 }
 .pR35 {
  padding-right: 7.5% !important;
 }
 .pR40 {
  padding-right: 7.5% !important;
 }
 .pR45 {
  padding-right: 7.5% !important;
 }
 .pR50 {
  padding-right: 10% !important;
 }
 .pR55 {
  padding-right: 10% !important;
 }
 .pR60 {
  padding-right: 10% !important;
 }
 .pR65 {
  padding-right: 12.5% !important;
 }
 .pR70 {
  padding-right: 12.5% !important;
 }
 .pR75 {
  padding-right: 12.5% !important;
 }
 .pR80 {
  padding-right: 15% !important;
 }
 .pR85 {
  padding-right: 15% !important;
 }
 .pR90 {
  padding-right: 15% !important;
 }
 .pR95 {
  padding-right: 17.5% !important;
 }
 .pR100 {
  padding-right: 17.5% !important;
 }
 .pR105 {
  padding-right: 17.5% !important;
 }
 .pR110 {
  padding-right: 20% !important;
 }
 .pR115 {
  padding-right: 20% !important;
 }
 .pR120 {
  padding-right: 20% !important;
 }
 .pR125 {
  padding-right: 22.5% !important;
 }
 .pR130 {
  padding-right: 22.5% !important;
 }
 .pR135 {
  padding-right: 22.5% !important;
 }
 .pR140 {
  padding-right: 25% !important;
 }
 .pR145 {
  padding-right: 25% !important;
 }
 .pR150 {
  padding-right: 25% !important;
 }
 .pA0 {
  padding: 0% !important;
 }
 .pA5 {
  padding: 2.5% !important;
 }
 .pA10 {
  padding: 2.5% !important;
 }
 .pA15 {
  padding: 2.5% !important;
 }
 .pA20 {
  padding: 5% !important;
 }
 .pA25 {
  padding: 5% !important;
 }
 .pA30 {
  padding: 5% !important;
 }
 .pA35 {
  padding: 7.5% !important;
 }
 .pA40 {
  padding: 7.5% !important;
 }
 .pA45 {
  padding: 7.5% !important;
 }
 .pA50 {
  padding: 10% !important;
 }
 .pA55 {
  padding: 10% !important;
 }
 .pA60 {
  padding: 10% !important;
 }
 .pA65 {
  padding: 12.5% !important;
 }
 .pA70 {
  padding: 12.5% !important;
 }
 .pA75 {
  padding: 12.5% !important;
 }
 .pA80 {
  padding: 15% !important;
 }
 .pA85 {
  padding: 15% !important;
 }
 .pA90 {
  padding: 15% !important;
 }
 .pA95 {
  padding: 17.5% !important;
 }
 .pA100 {
  padding: 17.5% !important;
 }
 .pA105 {
  padding: 17.5% !important;
 }
 .pA110 {
  padding: 20% !important;
 }
 .pA115 {
  padding: 20% !important;
 }
 .pA120 {
  padding: 20% !important;
 }
 .pA125 {
  padding: 22.5% !important;
 }
 .pA130 {
  padding: 22.5% !important;
 }
 .pA135 {
  padding: 22.5% !important;
 }
 .pA140 {
  padding: 25% !important;
 }
 .pA145 {
  padding: 25% !important;
 }
 .pA150 {
  padding: 25% !important;
 }
}
.z-in0 {
 z-index: 0;
}
.z-in1 {
 z-index: 1;
}
.z-in2 {
 z-index: 2;
}
.z-in3 {
 z-index: 3;
}
.z-in4 {
 z-index: 4;
}
.z-in5 {
 z-index: 5;
}
.z-in6 {
 z-index: 6;
}
.z-in7 {
 z-index: 7;
}
.z-in8 {
 z-index: 8;
}
.z-in9 {
 z-index: 9;
}
.z-in10 {
 z-index: 10;
}
.visibility_hidden {
 visibility: hidden;
}
.no_link {
 color: #9a9a9a !important;
 pointer-events: none !important;
}
.po_ev_no {
 pointer-events: none !important;
}
a.cl33, a.cl50, a.cl25, a.cl20, a.cl33 {
 display: block;
}
a.cl7_3, a.cl4_6, a.cl6_4, a.cl3_7 {
 display: flex;
 justify-content: space-between;
}
.cl7_3, .cl4_6, .cl6_4, .cl3_7 {
 display: flex;
 justify-content: space-between;
}
/*
.cl33:after,
.cl50:after,
.cl25:after,
.cl20:after,
.cl33:after {
  visibility: hidden;
  display: block;
  content: "";
  clear: both;
}
*/
@media (min-width: 901px) {
 .cl50_max > a, .cl50 > a, .cl33 > a, .cl25 > a, .cl3_7 > a, .cl7_3 > a, .cl4_6 > a, .cl6_4 > a {
  display: block;
 }
 .cl50_max > li, .cl50_max > a {
  float: left;
  width: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 }
 .cl50 > li, .cl50 > div, .cl50 > a {
  float: left;
  width: 48%;
  margin-bottom: 4%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 }
 .cl50 > li:not(:nth-child(2n)), .cl50 > div:not(:nth-child(2n)), .cl50 > a:not(:nth-child(2n)) {
  margin-right: 4%;
 }
 .cl50.reverse > li, .cl50.reverse > div {
  margin-right: 0;
 }
 .cl33 > li, .cl33 > div, .cl33 > a {
  float: left;
  width: 30%;
  margin-bottom: 5%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 }
 .cl33 > div:not(:nth-child(3n)), .cl33 > li:not(:nth-child(3n)), .cl33 > a:not(:nth-child(3n)) {
  margin-right: 5%;
 }
 .cl25 > div, .cl25 > li, .cl25 > a {
  float: left;
  width: 23%;
  margin-bottom: 2.666%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  display: block;
 }
 .cl25 > div:not(:nth-child(4n)), .cl25 > li:not(:nth-child(4n)), .cl25 > a:not(:nth-child(4n)) {
  margin-right: 2.666%;
 }
 .cl3_7 > div:nth-child(odd), .cl3_7 > li:nth-child(odd) {
  float: left;
  width: 30%;
 }
 .cl3_7 > div:nth-child(even), .cl3_7 > li:nth-child(even) {
  float: right;
  width: 66%;
 }
 .cl7_3 > div:nth-child(odd), .cl7_3 > li:nth-child(odd) {
  float: left;
  width: 66%;
 }
 .cl7_3 > div:nth-child(even), .cl7_3 > li:nth-child(even) {
  float: right;
  width: 30%;
 }
 .cl4_6 > div:nth-child(odd), .cl4_6 > li:nth-child(odd) {
  float: left;
  width: 40%;
 }
 .cl4_6 > div:nth-child(even), .cl4_6 > li:nth-child(even) {
  float: right;
  width: 56%;
 }
 .cl6_4 > div:nth-child(odd), .cl6_4 > li:nth-child(odd) {
  float: left;
  width: 56%;
 }
 .cl6_4 > div:nth-child(even), .cl6_4 > li:nth-child(even) {
  float: right;
  width: 40%;
 }
}
@media (max-width: 900px) and (min-width: 0px) {
 .cl50_max > a, .cl50 > a, .cl33 > a, .cl25 > a, .cl3_7 > a, .cl7_3 > a, .cl4_6 > a, .cl6_4 > a {
  display: block;
 }
 .cl50_max > li, .cl50_max > div, .cl50_max > a {
  width: 100%;
  margin-bottom: 4%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 }
 .cl50 > div, .cl50 > li, .cl50 > a {
  width: 100%;
  margin-bottom: 4%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 }
 .cl33 > div, .cl33 > li, .cl33 > a {
  float: left;
  width: 48%;
  margin-bottom: 4%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 }
 .cl33 > div:not(:nth-child(2n)), .cl33 > li:not(:nth-child(2n)), .cl33 > a:not(:nth-child(2n)) {
  margin-right: 4%;
 }
 .cl25 > div, .cl25 > li, .cl25 > a {
  float: left;
  width: 48%;
  margin-bottom: 4%;
  position: relative;
 }
 .cl25 > div:not(:nth-child(2n)), .cl25 > li:not(:nth-child(2n)), .cl25 > a:not(:nth-child(2n)) {
  margin-right: 4%;
 }
 .cl3_7 > div, .cl7_3 > div, .cl4_6 > div, .cl6_4 > div, .cl3_7 > li, .cl7_3 > li, .cl4_6 > li, .cl6_4 > li {
  float: none;
  width: 100%;
  margin-bottom: 5%;
 }
}
/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
html {
 font-size: 62.5%;
}
body {
 margin: 0 auto;
 padding: 0;
 font-size: 1.6rem;
 background: #fff;
 position: relative;
 color: #2d2d2d;
 font-weight: 400;
 text-align: left;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 line-height: 1.8;
 font-weight: normal;
 max-width: 100%;
}
object {
 pointer-events: none;
}
.sp {
 display: none !important;
}
a {
 text-decoration: none;
 -webkit-transition: 0.3s;
 transition: 0.3s;
	color: var(--base);
}
/* ---------------------------------------------------------------------------
  ★フォントファミリー
--------------------------------------------------------------------------- */
.mincho {
 font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
}
.gothic {
 font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
}
.qwitcher {
 font-family: "Qwitcher Grypen", cursive;
}
.afacad {
 font-family: "Afacad", sans-serif;
}
/* ---------------------------------------------------------------------------
  ★背景
--------------------------------------------------------------------------- */
.bk_gry {
 background: #f3f3f3;
}
/* ---------------------------------------------------------------------------
  ★LIST
--------------------------------------------------------------------------- */
.disc {
 margin-left: 20px;
 list-style-type: disc;
}
.disc > li {
 list-style-type: disc;
}
.disc > li:not(:last-child) {
 padding-bottom: 5px;
}
.decimal {
 margin-left: 20px;
 list-style-type: decimal;
}
.decimal > li {
 list-style-type: decimal;
}
.decimal > li:not(:last-child) {
 padding-bottom: 5px;
}
.note {
 font-size: 1.4rem;
}
.note > li {
 padding-left: 20px;
 position: relative;
}
.note > li:not(:last-child) {
 margin-bottom: 5px;
}
.note > li::before {
 display: block;
 content: "※";
 position: absolute;
 left: 0px;
 top: 0;
}
/* ---------------------------------------------------------------------------
  ★BASE
--------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
  ★タイトル
--------------------------------------------------------------------------- */
.tit02 {
 text-align: center;
 font-family: "Noto Serif JP", serif;
 margin: 0 auto 35px;
}
.tit02 b {
 font-size: 5rem;
 line-height: 1.5;
 letter-spacing: 2px;
 display: inline-block;
 position: relative;
}
.tit02 span {
 color: #8c8c8c;
 font-size: 1.6rem;
 display: block;
 line-height: 1;
 font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", cursive, sans-serif, serif;
}
.txt_shinfo {
 position: relative;
}
.txt_shinfo > small {
 position: absolute;
 top: -22px;
 left: 0;
 font-size: 41%;
 word-break: keep-all;
}
/* ---------------------------------------------------------------------------
  ★テキスト
--------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
  ★ハンバーガーメニュー
--------------------------------------------------------------------------- */
.menu-trigger_wrap {
 float: right;
 width: 54px;
 position: absolute;
 z-index: 10;
 right: 33px;
 top: 12px;
 padding: 10px 0;
}
.menu-trigger, .menu-trigger span {
 display: inline-block;
 -webkit-transition: all 0.4s;
 transition: all 0.4s;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}
.menu-trigger {
 position: relative;
 width: 38px;
 height: 28px;
 z-index: 20;
 display: block;
 margin: 0 auto;
}
.menu-trigger span {
 position: absolute;
 left: 0;
 width: 100%;
 height: 3px;
 background-color: #ae1627;
 border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
 top: 0;
}
.menu-trigger span:nth-of-type(2) {
 top: 12px;
}
.menu-trigger span:nth-of-type(3) {
 bottom: 0;
}
.menu-trigger span:nth-of-type(1) {
 -webkit-animation: menu-bar01 0.75s forwards;
 animation: menu-bar01 0.75s forwards;
}
.menu-trigger em {
 position: absolute;
 top: 33px;
 font-size: 1.3rem;
 color: #ae1627;
 font-weight: bold;
 left: -2px;
}
@-webkit-keyframes menu-bar01 {
 0% {
  -webkit-transform: translateY(20px) rotate(45deg);
 }
 50% {
  -webkit-transform: translateY(20px) rotate(0);
 }
 100% {
  -webkit-transform: translateY(0) rotate(0);
 }
}
@keyframes menu-bar01 {
 0% {
  -webkit-transform: translateY(20px) rotate(45deg);
  transform: translateY(20px) rotate(45deg);
 }
 50% {
  -webkit-transform: translateY(20px) rotate(0);
  transform: translateY(20px) rotate(0);
 }
 100% {
  -webkit-transform: translateY(0) rotate(0);
  transform: translateY(0) rotate(0);
 }
}
.menu-trigger span:nth-of-type(2) {
 -webkit-transition: all 0.25s 0.25s;
 transition: all 0.25s 0.25s;
 opacity: 1;
}
.menu-trigger span:nth-of-type(3) {
 -webkit-animation: menu-bar02 0.75s forwards;
 animation: menu-bar02 0.75s forwards;
}
@-webkit-keyframes menu-bar02 {
 0% {
  -webkit-transform: translateY(-20px) rotate(-45deg);
 }
 50% {
  -webkit-transform: translateY(-20px) rotate(0);
 }
 100% {
  -webkit-transform: translateY(0) rotate(0);
 }
}
@keyframes menu-bar02 {
 0% {
  -webkit-transform: translateY(-20px) rotate(-45deg);
  transform: translateY(-20px) rotate(-45deg);
 }
 50% {
  -webkit-transform: translateY(-20px) rotate(0);
  transform: translateY(-20px) rotate(0);
 }
 100% {
  -webkit-transform: translateY(0) rotate(0);
  transform: translateY(0) rotate(0);
 }
}
.active .menu-trigger span:nth-of-type(1) {
 -webkit-animation: active-menu-bar01 0.75s forwards;
 animation: active-menu-bar01 0.75s forwards;
 top: -7px;
}
@-webkit-keyframes active-menu-bar01 {
 0% {
  -webkit-transform: translateY(0) rotate(0);
 }
 50% {
  -webkit-transform: translateY(20px) rotate(0);
 }
 100% {
  -webkit-transform: translateY(20px) rotate(45deg);
 }
}
@keyframes active-menu-bar01 {
 0% {
  -webkit-transform: translateY(0) rotate(0);
  transform: translateY(0) rotate(0);
 }
 50% {
  -webkit-transform: translateY(20px) rotate(0);
  transform: translateY(20px) rotate(0);
 }
 100% {
  -webkit-transform: translateY(20px) rotate(45deg);
  transform: translateY(20px) rotate(45deg);
 }
}
.active .menu-trigger span:nth-of-type(2) {
 opacity: 0;
}
.active .menu-trigger span:nth-of-type(3) {
 -webkit-animation: active-menu-bar03 0.75s forwards;
 animation: active-menu-bar03 0.75s forwards;
 bottom: -9px;
}
@-webkit-keyframes active-menu-bar03 {
 0% {
  -webkit-transform: translateY(0) rotate(0);
 }
 50% {
  -webkit-transform: translateY(-20px) rotate(0);
 }
 100% {
  -webkit-transform: translateY(-20px) rotate(-45deg);
 }
}
@keyframes active-menu-bar03 {
 0% {
  -webkit-transform: translateY(0) rotate(0);
  transform: translateY(0) rotate(0);
 }
 50% {
  -webkit-transform: translateY(-20px) rotate(0);
  transform: translateY(-20px) rotate(0);
 }
 100% {
  -webkit-transform: translateY(-20px) rotate(-45deg);
  transform: translateY(-20px) rotate(-45deg);
 }
}
/* ---------------------------------------------------------------------------
  ★グローバルナビゲーション
--------------------------------------------------------------------------- */
.nav_wrp {
 position: fixed;
 top: 0;
 right: 0;
 z-index: 3;
 display: none;
}
.nav_wrp.changed {
 display: block;
}
.nav_site {
 top: 0;
 right: -100%;
 width: 100%;
 max-width: 240px;
 height: 100%;
 padding: 100px 30px 50px;
 position: fixed;
 opacity: 0;
 -webkit-transition: 0.7s;
 transition: 0.7s;
 -webkit-transition-timing-function: cubic-bezier(0.96, -0.01, 0.08, 1);
 transition-timing-function: cubic-bezier(0.96, -0.01, 0.08, 1);
 background: rgba(0, 0, 0, 0.8);
 overflow-y: auto;
 z-index: 1;
}
.nav_site.active {
 opacity: 1;
 top: 0;
 right: 0;
}
/* ---------------------------------------------------------------------------
  ★TOTOP
--------------------------------------------------------------------------- */
#totop {
 width: 60px;
 height: 60px;
 background: rgba(0, 0, 0, 0.5);
 display: block;
}
.totop_wrap {
 position: fixed;
 right: 0;
 bottom: 0;
 z-index: 2;
 display: none;
}
.totop_wrap .icon-totop {
 display: block;
 width: 100%;
 text-align: center;
}
.totop_wrap .icon-totop::before {
 font-size: 5rem;
 content: "";
 width: 15px;
 height: 15px;
 border-top: 2px solid #ffffff;
 border-right: 2px solid #ffffff;
 margin: auto;
 -webkit-transition: 0.3s;
 transition: 0.3s;
 position: absolute;
 top: 55%;
 left: 50%;
 -webkit-transform: translateY(-50%) translateX(-50%) rotate(-45deg);
 transform: translateY(-50%) translateX(-50%) rotate(-45deg);
}
#totop span {
 display: none;
}
/* =======================================
	★ページャー
========================================== */
.wp-pagenavi {
 clear: both;
 font-size: 14px;
 text-align: center;
}
.wp-pagenavi a, .wp-pagenavi span {
 display: inline-block;
 width: 35px;
 height: 35px;
 line-height: 2.6;
 border: 1px solid #000000;
 -webkit-transition: ease-out 0.5s;
 transition: ease-out 0.5s;
 color: #000000;
 font-size: 14px;
 margin: 5px;
 vertical-align: top;
 padding: 0px;
 background-color: #fff;
 border-radius: 4px;
}
.wp-pagenavi span.extend {
 border: 1px solid rgba(245, 245, 245, 0);
}
.wp-pagenavi span.current {
 color: #fff;
 background-color: #000000;
 font-size: 14px;
 vertical-align: top;
 text-decoration: none;
}
#privacyBox {
 overflow-y: scroll;
 padding: 21px;
 background: #fff;
 margin-top: 20px;
 height: 163px;
 margin-bottom: 20px;
}
#js-show-popup {
 color: #0236cb;
 text-decoration: underline;
 cursor: pointer;
}
.popup {
 position: fixed;
 left: 0;
 top: 0;
 width: 100%;
 height: 100%;
 z-index: 9999;
 opacity: 0;
 visibility: hidden;
 transition: 0.6s;
}
.popup.is-show {
 opacity: 1;
 visibility: visible;
}
.popup-inner {
 position: absolute;
 left: 50%;
 top: 50%;
 transform: translate(-50%, -50%);
 width: 80%;
 max-width: 600px;
 padding: 50px;
 background-color: #fff;
 z-index: 2;
 max-height: 90vh;
 overflow-y: scroll;
}
.popup-inner img {
 width: 100%;
}
.close-btn {
 position: absolute;
 right: 0;
 top: 0;
 width: 50px;
 height: 50px;
 line-height: 50px;
 text-align: center;
 cursor: pointer;
}
.close-btn i {
 font-size: 20px;
 color: #333;
}
.black-background {
 position: absolute;
 left: 0;
 top: 0;
 width: 100%;
 height: 100%;
 background-color: rgba(0, 0, 0, 0.8);
 z-index: 1;
 cursor: pointer;
}
label.c_b {
 font-size: 12px;
 margin: auto;
 display: flex;
 align-items: center;
 text-align: center;
 justify-content: center;
 font-weight: bold;
 flex-wrap: wrap;
}

/* =======================================
  breadcrumb
========================================== */
#breadcrumb{
  max-width: 1200px !important;
  position: relative;
  width: 96%;
  margin: 10px auto;
}
#breadcrumb ul{
}
#breadcrumb li{
	display: inline-block;
	font-size: 14px;
	color: var(--base)
}
#breadcrumb li a{
	color: #e06005;
}
#breadcrumb li a:after{
	content: '>';
	padding-left: 5px;
  color: #b5b0b0;
}
#breadcrumb li>span:after{
  content: ' | '
}

#breadcrumb li:nth-of-type(3) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 10em;
  vertical-align: middle;
}
/* =======================================
	ページャー
========================================== */
/*-- pageNavi --*/
.pageNavi{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
 margin-top: 50px;
}
.pageNavi .current,
.pageNavi .inactive,
.pageNavi a{
	border: 1px solid var(--orange);
  display:grid;
	align-items: center;
	justify-content: center;
  font-optical-sizing: auto;
	color: var(--orange);
  font-weight: 500;
  font-style: normal;
	width: 2em;
  margin: 0 10px;
}
.pageNavi .current{
	background: var(--orange);
	color: #fff;
}
.pageNavi a:hover{
	background: var(--Lorange);
  color: var(--orange);
}
.pageNavi a.next:hover{
	background: none;
	border: none;
	color: var(--Lorange);
}
/*-- pager --*/
.pager{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 800px !important;
  position: relative;
  width: 90%;
  margin: 50px auto ;
}
.pager a{
	background: var(--wh);
  color: var(--base);
	display: grid;
  align-items: center;
  justify-content: center;
 width: 40%;
 max-width: 200px;
  position: relative;
  font-weight: 700;
  line-height: 1.4;
}
.pager a:last-of-type{
	border-right: none;
}
.pager .pagerPrev::before,
.pager .pagerNext::after{
	content: '';
	display: inline-block;
	 width: 7px;
  height: 7px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 3.5px);
}
.pager .pagerPrev::before{
	border-bottom: 2px var(--base) solid;
  border-left: 2px var(--base) solid;
	left: 15%;
}
.pager .pagerNext::after{
	border-top: 2px var(--base) solid;
  border-right: 2px var(--base) solid;
	right: 15%;
}

/* ---------------------------------------------------------------------------
  header01
--------------------------------------------------------------------------- */
/* =======================================
	header
========================================== */
header {
 display: flex;
 justify-content: space-between;
 /* color: #353535; */
 position: sticky;
 left: 0;
 right: 0;
 margin: auto;
 top: 0;
 z-index: 9999;
 align-items: center;
 background: linear-gradient(to right, #ffffff85, #ffffffb8, #ffffff);
 width: 100%;
 min-width: 100%;
}
header > div {
 width: 100%;
 min-width: 100%;
}
header .nav.pc nav ul {
 display: flex;
}
.header ul {
 display: flex;
 justify-content: end;
 font-size: 80%;
 padding: 5px 0;
}
.header a {
 color: #219f62;
 font-weight: bold;
 letter-spacing: 0.1em;
 background: url(../../img/arrow03.svg) no-repeat;
 padding-left: 1.6em;
}
.header li {
 margin-left: 22px;
}
.header01 {
 display: flex;
 justify-content: space-between;
 padding: 17px 0;
 align-items: center;
 font-size: 20px;
 padding-left: 4%;
}
.header01 h1 img {
 width: 190px;
}
.h_btn {
 text-align: center;
}
.h_btn02 {
 margin-left: 12px !important;
}
.h_btn > a {
 color: #0c0419;
 background: linear-gradient(to right, #f9bd00, #f2e400);
 border-radius: 1.5em;
 width: 107px;
 padding: 11px 5px 9px !important;
 display: inline-block;
 font-weight: bold;
 letter-spacing: 0;
}
.h_btn02 a {
 background: linear-gradient(to right, #120060, #0339e5);
 border-radius: 1.5em;
 color: #fff !important;
}
/* ---------------------------------------------------------------------------
  ★ページ遷移後アニメーション
--------------------------------------------------------------------------- */
.elem .fadeUp, .elem .fadeUp02, .elem .fadeUp03, .elem .fadeUp04, .elem .fadeUp05 {
 opacity: 0;
 transform: translateX(-20px);
}
.elem.isAnimate .fadeUp, .elem.isAnimate .fadeUp02, .elem.isAnimate .fadeUp03, .elem.isAnimate .fadeUp04, .elem.isAnimate .fadeUp05 {
 animation: fadeUp 0.8s cubic-bezier(0.47, -0.05, 0.42, 1.05) both;
 animation-fill-mode: forwards;
}
.elem.isAnimate .fadeUp02 {
 animation-delay: 0.05s;
}
.elem.isAnimate .fadeUp03 {
 animation-delay: 0.1s;
}
.elem.isAnimate .fadeUp04 {
 animation-delay: 0.15s;
}
.elem.isAnimate .fadeUp05 {
 animation-delay: 0.2s;
}
@keyframes fadeUp {
 0% {
  opacity: 0;
  transform: translate(0px, 40px);
 }
 90% {
  opacity: 1;
 }
 100% {
  opacity: 1;
  transform: translate(0px, 0px);
 }
}
@keyframes fadeDown {
 0% {
  opacity: 0;
  transform: translate(0px, -40px);
 }
 90% {
  opacity: 1;
 }
 100% {
  opacity: 1;
  transform: translate(0px, 0px);
 }
}
.elem .fadeLR, .elem .fadeLR02, .elem .fadeLR03, .elem .fadeLR04, .elem .fadeLR05 {
 opacity: 0;
 transform: translate(-40px, 0);
}
.elem.isAnimate .fadeLR, .elem.isAnimate .fadeLR02, .elem.isAnimate .fadeLR03, .elem.isAnimate .fadeLR04, .elem.isAnimate .fadeLR05 {
 animation: fadeLR 0.8s cubic-bezier(0.47, -0.05, 0.42, 1.05) both;
 animation-fill-mode: forwards;
}
.elem.isAnimate .fadeLR02 {
 animation-delay: 0.05s;
}
.elem.isAnimate .fadeLR03 {
 animation-delay: 0.1s;
}
.elem.isAnimate .fadeLR04 {
 animation-delay: 0.15s;
}
.elem.isAnimate .fadeLR05 {
 animation-delay: 0.2s;
}
@keyframes fadeLR {
 0% {
  opacity: 0;
  transform: translate(-40px, 0);
 }
 90% {
  opacity: 1;
 }
 100% {
  opacity: 1;
  transform: translate(0px, 0px);
 }
}
.elem .fadeRL, .elem .fadeRL02, .elem .fadeRL03, .elem .fadeRL04, .elem .fadeRL05 {
 opacity: 0;
 transform: translate(40px, 0);
}
.elem.isAnimate .fadeRL, .elem.isAnimate .fadeRL02, .elem.isAnimate .fadeRL03, .elem.isAnimate .fadeRL04, .elem.isAnimate .fadeRL05 {
 animation: fadeRL 0.8s cubic-bezier(0.47, -0.05, 0.42, 1.05) both;
 animation-fill-mode: forwards;
}
.elem.isAnimate .fadeRL02 {
 animation-delay: 0.05s;
}
.elem.isAnimate .fadeRL03 {
 animation-delay: 0.1s;
}
.elem.isAnimate .fadeRL04 {
 animation-delay: 0.15s;
}
.elem.isAnimate .fadeRL05 {
 animation-delay: 0.2s;
}
@keyframes fadeRL {
 0% {
  opacity: 0;
  transform: translate(40px, 0);
 }
 90% {
  opacity: 1;
 }
 100% {
  opacity: 1;
  transform: translate(0px, 0px);
 }
}
.c_prevArea {
 display: flex;
 justify-content: center;
}
.c_prevArea li a {
 margin: 0px 9px;
 width: 122px;
 padding: 5px 0;
 text-align: center;
 background: #333;
 color: #fff;
 border-radius: 0.3em;
 display: block;
}
footer {
 background: url(../img/footerBg.jpg) no-repeat center / cover;
}
.footer01 {
 color: #fff;
 text-align: center;
 background-size: cover;
 position: relative;
 z-index: 1000;
 z-index: 0;
}
.footer01 .h2Tit_s {
 color: #fff;
}
.f_recruit ul a {
 color: #3aae36;
 width: 341px;
}

.footer02 .f_logo > img {
 margin-bottom: 9px;
 width: 73%;
}
.footer02 .f_logo > ul {
 display: flex;
 margin-top: 16px;
 align-items: center;
}
.footer02 .f_logo > ul li {
 width: 82px;
 margin-right: 8px;
}
.footer02 .f_logo > ul li:nth-child(2) {
 width: 120px;
}
.contact03 > div {
 display: flex;
 justify-content: center;
 gap: 20px;
}
.contact03 > div a {}
.contact03 > div img {
 border-radius: 0;
 height: 57px;
}
.contact03 > div {
 background: #f4f8fd;
 padding: 20px;
 border-radius: 1em;
}
header a {
 color: #fff;
}
.nav .nav_02 > li > a {}
.nav .nav_02 > li:nth-child(1) a {}
.nav .nav_02 .f14 {
 color: #7f7f7f;
 margin-right: 20px;
}
.nav_02 .mincho {
 font-weight: 800;
 font-size: 120%;
 margin-right: 10px;
}
.mv {
 position: relative;
 background: url(../img/mv.jpg) no-repeat right bottom / cover;
 height: 90vh;
 max-height: 100vh;
 z-index: 1;
}
.mv .mv_txt {
 position: absolute;
 top: calc(50% - 5em);
 color: #fff;
}
.mvTxt01 {
 position: absolute;
 writing-mode: vertical-rl;
 height: 24.5%;
 width: 8%;
 top: 28%;
 left: 9.5%;
}
.mvTxt02 {
 position: absolute;
 height: 17.5%;
 width: 64%;
 bottom: 16.5%;
 left: 0.5%;
}
.mv > div {
 height: 100%;
}
.mv h2 {
 font-size: clamp(3.4rem, 0.3143rem + 4vw, 6.6rem);
}
.mv .mv_txt p {
 font-size: clamp(1.6rem, 0.3143rem + 2vw, 2.7rem);
}
.mv .mv_news {
 /* position: absolute;
  bottom: -16%;
  right: 0; */
 display: flex;
 /*background: url(../img/mv_newsBg.png) no-repeat right center / cover;*/
 padding: 2.1%;
 height: fit-content;
 width: 100%;
 justify-content: center;
 gap: 1%;
 /* transform: translateY(-50%); */
}
.mv .mv_news .tit {
 margin-right: 13px;
 font-weight: 800;
}
.mv .mv_news p:nth-child(2) {
 padding: 0 20px;
}
.tag {
 min-width: 8em;
 display: inline-block;
 text-align: center;
 background: #0059af;
 color: #fff;
 border-radius: 0.2em;
 font-size: 80%;
}
.mv .mv_news p:nth-child(3) a {
 color: #000000;
}

.mv_news p:nth-of-type(3) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 30em;
}
.bg_gray {
 background: #f7f7f7;
}
#faq .q {
 position: relative;
 padding-left: 1em;
 line-height: 140%;
}
#faq .q:before {
 color: #0059af;
 content: "Q";
 font-family: "Outfit", sans-serif;
 padding-right: 7px;
 position: absolute;
 left: 0;
 top: 0;
}
#faq .a {
 position: relative;
 padding-left: 1em;
 line-height: 160%;
}
#faq .a:before {
 content: "A";
 font-family: "Outfit", sans-serif;
 color: #af0000;
 position: absolute;
 top: 0;
 left: 0;
}
.nav_02 {
 display: flex;
 justify-content: end;
 align-items: baseline;
 padding-top: 8px;
 gap: 2%;
}
.nav .nav_02 .tel {
 color: #2d2d2d;
}
.nav_03 a {
 background: #000;
 display: block;
 width: 100%;
 height: 100%;
 padding-top: 45px;
}
.nav_03 li:nth-child(1) a {
 background: #c63434 url(../img/h_icon01.svg) no-repeat center top 16px;
 background-size: 26px;
}
.nav_03 > li.dropdown-toggle-box a {
 background: #991717 url(../img/h_icon02.svg) no-repeat center top 14px;
 background-size: 23px;
}
.home01 .img {
 max-width: 935px;
 margin: auto;
 margin-top: -3%;
}
.home01 {
 padding-top: 215px;
 position: relative;
 overflow: hidden;
 padding-bottom: 10%;
}
.bg_tama::before {
 content: "";
 background: url(../img/bg_tama_01.svg) no-repeat center / contain;
 width: 80%;
 height: 80%;
 top: 18%;
 left: 5%;
 position: absolute;
 transform: translate(-50%, -50%);
}
.bg_tama::after {
 content: "";
 background: url(../img/bg_tama_02.svg) no-repeat center / contain;
 width: 60%;
 height: 60%;
 bottom: -42%;
 right: -50%;
 position: absolute;
 transform: translate(-50%, -50%);
}
.home02 {
 background: url(../img/home02Bg.jpg) no-repeat center top 500px / cover;
 position: relative;
 color: #fff;
}
/* .home01::before {
 content: "";
 position: absolute;
 background: url(../img/home02Bg01.jpg) no-repeat center top / contain;
 width: 25%;
 height: 21%;
 bottom: 4%;
 left: 11%;
 transform: translate(-50%, -50%);
 box-shadow: 3px 8px 16px rgba(0, 0, 0, 0.05);
} */
/* .home02::before {
 content: "";
 position: absolute;
 background: url(../img/home02Bg02.jpg) no-repeat center top / cover;
 width: 66%;
 height: 39%;
 top: -2%;
 right: -33%;
 transform: translate(-50%, -50%);
 box-shadow: 3px 8px 16px rgba(0, 0, 0, 0.05);
} */
.home02 h2 {
 writing-mode: vertical-rl;
 text-align: center;
 margin-top: 5%;
}
.home02 div.mL110 {
 width: 77%;
}
.home02 .inner {
 max-width: 950px !important;
  margin-top: -100px;
}
.borderBox {
 border: 1px solid #fff;
 padding: 4.5% 2.5% 7.5%;
 border-radius: 25px;
}
.home02 .borderBox {
 width: 48%;
}
.gap3 {
 gap: 3%;
}
.gap2 {
 gap: 2%;
}
.gap15 {
 gap: 1.5%;
}
.gap1 {
 gap: 1%;
}
.home02 .inner_1100 {
 max-width: 1020px !important;
}
.circle {
 width: 35%;
 height: auto;
 border: 1px solid white;
 border-radius: 50%;
 display: flex;
 justify-content: center;
 align-items: center;
 font-size: 14px;
 position: absolute;
 text-align: center;
 line-height: 1.6;
 aspect-ratio: 1;
}
.circle-left {
 left: 0;
}
.circle-center {
 left: 50%;
 transform: translateX(-50%);
 z-index: 1;
}
.circle-right {
 right: 0;
}
.circle-left02 {
 left: 36%;
 transform: translateX(-50%);
 z-index: 1;
}
.circle-right02 {
 right: -3%;
 transform: translateX(-50%);
 z-index: 1;
}
.line {
 background: #fff;
 width: 43%;
 height: 1px;
}
.home02 ul.flex_nowrap.flex_center.gap15 li {
 width: 16%;
}
.home02 .inner_900 {
 max-width: 860px !important;
}
.home02 .btn02 {
 width: 32.5%;
}
.gradientText {
 background: linear-gradient(-60deg, #ed6f48, #c63434);
 -webkit-background-clip: text;
 background-clip: text;
 -webkit-text-fill-color: transparent;
 color: transparent;
  font-weight: bold;
}
.home02 .btn03 {
 width: 44%;
 margin-inline: auto;
}
.category span {
 border: 0.75px solid #c63434;
 color: #c63434;
 border-radius: 50px;
 padding: 0% 3%;
 text-align: center;
 font-size: 12px;
 margin-right: 5px;
}
.home03 .inner_1100 {
 max-width: 1020px !important;
}
.home03 .inner_1000 {
 max-width: 920px !important;
 position: relative;
}
.home03 .inner_1000::before {
 position: absolute;
 content: "";
 background: url(../img/kakko.svg) no-repeat center / contain;
 width: 8%;
 height: 24%;
 top: -10%;
 left: -5%;
 transform: translate(-50%, -50%);
}
.home03 .inner_1000::after {
 position: absolute;
 content: "";
 background: url(../img/kakko.svg) no-repeat center / contain;
 width: 8%;
 height: 24%;
 bottom: -28%;
 right: -15%;
 transform: translate(-50%, -50%) rotate(180deg);
}

.home03 ul.flex_nowrap li figure img{
 object-fit: cover;
 width: 100%;
 height: 100%;
 aspect-ratio:323/202;}
.arrowLine {
 background: url(../img/arrowLine.svg) no-repeat center / 100%;
 width: 100%;
 height: 20px;
}
.contactBtn {
 width: 23%;
}
.contactBtn a {
 background: #fff;
 border-radius: 4px;
 padding: 5.5% 3%;
 text-align: center;
 display: block;
}

.home03 a p {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
/* =======================================
	 common
========================================== */
.flex {
 display: flex;
}
/*		main
-----------------------------*/
.pgs main {
 padding-top: 82.77px;
}
.pgs main section {
 padding: 100px 0;
}
/*タイトル
========================================== */
/*-- mainTitle --*/
.mainTitle {
 position: relative;
 background: var(--grd);
 height: 250px;
 color: var(--wh);
 display: grid;
 justify-content: center;
 align-items: center;
 background-size: cover;
 background-repeat: no-repeat;
 background-position: center center;
}
.mainTitle h2 {
 position: relative;
 font-size: 4rem;
 z-index: 1;
 text-align: center;
 line-height: 1.5;
}
.mainTitle h2 span {
 display: block;
 font-size: 80%;
 margin-bottom: 20px;
}
.pgs .h2Tit {
 font-size: clamp(2.2rem, 0.9rem + 4vw, 4.2rem);
 font-weight: 700;
}
.pgs .h3Tit {
 margin-bottom: 40px;
 font-size: clamp(2rem, 0.9rem + 3vw, 3.6rem);
 font-weight: 500;
 line-height: 140%;
 font-family: "Noto Serif JP", serif;
 text-align: center;
 font-weight: 700;
}
.pgs .h4Tit {
 margin-bottom: 20px;
 font-size: clamp(1.8rem, 0.9rem + 2vw, 2.6rem);
 font-weight: 500;
 line-height: 150%;
 font-family: "Noto Serif JP", serif;
 font-weight: 700;
}
.pgs .bdBtm {
 border-bottom: 2px solid var(--orange);
}
.pgs span.bdBtm {
 display: inline-block;
}
.pgs .fontS {
 font-size: 0.875em;
 font-weight: 500;
}
.pgs .fontSS {
 font-size: 0.6em;
 font-weight: 500;
}
/*-- table --*/
.basicTable {
 background: var(--wh);
 border: 1px solid var(--base);
 display: flex;
 justify-content: space-between;
 align-items: stretch;
 flex-wrap: wrap;
}
.basicTable > dt {
 background: var(--base);
 border-bottom: 1px solid var(--wh);
 color: var(--wh);
 display: flex;
 font-weight: 700;
 align-items: center;
}
.basicTable > dd {
 border-bottom: 1px solid var(--base);
 display: grid;
 align-items: center;
}
.basicTable dd dl dd {
 padding-left: 1em;
}
.basicTable dd dl dd + dt {
 padding-top: 15px;
}
.basicTable a {
 text-decoration: underline;
}
.basicTable a:hover {
 text-decoration: none;
}
table.basicTable {
 display: table;
 width: 100%;
 border: none;
}
table.basicTable thead {
 width: 100%;
}
table.basicTable thead th {
 border-bottom: 1px solid var(--base);
 color: var(--wh);
 font-weight: 700;
 text-align: center;
}
table.basicTable thead th span {
 display: block;
 font-size: 88%;
}
table.basicTable tbody th {
 width: 200px;
 border-bottom: 1px solid var(--base);
 color: var(--base);
 font-weight: 500;
}
table.basicTable.col50 tbody th {
 width: 50%;
}
table.basicTable tbody td {
 border-bottom: 1px solid var(--base);
}
table.basicTable tbody tr:last-of-type th, table.basicTable tbody tr:last-of-type td {
 border-bottom: none;
}
table.basicTable th, table.basicTable td {
 vertical-align: middle;
 padding: 15px 2.5%;
}
table.basicTable th{
	background: #faebd7
}
table.basicTable th:last-child, table.basicTable td:last-child {
 border-right: none;
}
/*		anchorLink
-----------------------------*/
.anchorLink {
 margin-top: 40px;
 display: flex;
 align-items: center;
 justify-content: center;
 flex-wrap: wrap;
 gap: 10px;
}
.anchorLink a {
 background: var(--grd1);
 display: grid;
 place-content: center;
 position: relative;
 padding: 0.5em 25px;
 max-width: 100%;
 height: 100%;
 color: var(--wh);
 text-align: center;
}
.anchorLink a::before, .anchorLink a::after {
 content: "";
 width: 100%;
 height: 100%;
 position: absolute;
 left: 0;
 top: 0;
 border-radius: 50em;
 z-index: 0;
}
.anchorLink a::before {
 background: linear-gradient(90deg, #ed6f48, #c63434);
}
.anchorLink a::after {
 background: #ffffff;
 width: calc(100% - 2px);
 height: calc(100% - 2px);
 left: 1px;
 top: 1px;
}
.anchorLink a span {
 display: inline-block;
 background: linear-gradient(90deg, #ed6f48, #c63434);
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
 z-index: 2;
}
.anchorLink a span::after {
 position: absolute;
 top: 50%;
 transform: translateY(-50%) rotate(45deg);
 right: 15px;
 content: "";
 display: inline-block;
 width: 8px;
 height: 8px;
 border: solid var(--orange);
 border-width: 1px 1px 0 0;
}
.anchorLink a:hover {
 /* filter: brightness(0.7); */
 opacity: 0.7;
}
.anchorLink a:hover::after {
 border-bottom: 1px solid var(--pink);
 border-right: 1px solid var(--pink);
}
.anchorLink li.other a::after {
 display: none;
}
/*		leadTxt
-----------------------------*/
.pgs .leadWrap, .pgs .leadWrap:has(+ section.bgLpink) {
 padding: 100px 0;
}
.pgs .leadWrap:has(+ section) {
 padding: 100px 0 0;
}
.pgs .leadWrap .leadTxt {
 text-align: center;
}
/**/
.imgTxts + .imgTxts {
 margin-top: 40px;
}
/*		itemList
-----------------------------*/
.itemList > li {
 margin-bottom: 30px;
}
.itemList .balloonBtm {
 text-align: center;
}
.itemList .balloonBtm span {
 color: var(--orange);
 font-size: clamp(1.8rem, 0.9rem + 2vw, 2rem);
}
.bgLGray .itemList .balloonBtm span::after {
 border-top: 10px solid var(--Lgray);
}
.itemList > li figure {
 margin-bottom: 10px;
 overflow: hidden;
}
.itemList > li h5 {
 font-size: clamp(1.8rem, 0.9rem + 2vw, 2.2rem);
 color: var(--orange);
}
.itemList ul {
 border: 1px solid var(--gray);
 margin-top: 10px;
 padding: 10px;
 font-weight: 700;
	flex-grow: 1;
}
/*		grdBdBox
-----------------------------*/
.grdBdBox {
 position: relative;
 background: var(--grd);
 padding: 60px;
 border-radius: 30px;
 z-index: 1;
}
.grdBdBox::before {
 position: absolute;
 top: 2px;
 right: 2px;
 bottom: 2px;
 left: 2px;
 content: "";
 display: block;
 width: calc(100% - 4px);
 height: calc(100% - 4px);
 background-color: var(--wh);
 border-radius: 28px;
 z-index: -1;
}
.grdBdBox .inlineWrap {
 position: absolute;
 top: -1.6em;
 right: 0;
 left: 0;
 margin: 0 auto;
 text-align: center;
 z-index: 1;
}
.grdBdBox .inlineWrap .grdBdBoxTit {
 position: relative;
 display: inline-block;
 background-color: var(--wh);
 padding: 0 0.5em;
 z-index: 1;
}


/*		box
-----------------------------*/
.contBox{
	background: var(--Lred);
	padding: 30px;
}



/*-----------------------------
  #reason
-----------------------------*/
#reason .leadList {
 margin: 40px auto;
 display: flex;
 justify-content: center;
 color: var(--wh);
}
#reason .leadList li {
 position: relative;
}
#reason .leadList li span {
 display: grid;
 place-content: center;
 width: min(calc((96vw - 100px)/3), 200px);
 height: min(calc((96vw - 100px)/3), 200px);
 border-radius: 50%;
 background: var(--grd);
 font-size: min(8vw, 4.8rem);
}
#reason .leadList li + li {
 padding-left: 50px;
}
#reason .leadList li + li::before {
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 content: "×";
 font-size: 4.8rem;
 font-weight: 700;
 background: var(--grd);
 background-clip: text;
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
}
#reasonMain h3.h3Tit {
 border-bottom: 1px solid var(--orange);
 margin-bottom: 20px;
 font-size: clamp(2rem, 0.9rem + 3vw, 3rem);
}
#reasonMain h3 span {
 display: inline-block;
 background-color: var(--orange);
 margin: 0 0.5em 0 0;
 padding: 0 0.4em 0 0.4em;
 color: var(--wh);
}
#reasonCycle h3 {
 margin-bottom: 20px;
}
#reasonCycle figure:has(+ .reasonCycleBox) {
 margin-top: 40px;
}
.reasonCycleBox {
 margin-top: 60px;
}
.reasonCycleBox .catch {
 position: relative;
 display: grid;
 place-content: center;
 background-color: var(--wh);
 border-radius: 5px;
 padding: 1em 0.5em;
 text-align: center;
 font-weight: 700;
 font-size: 2.4rem;
 color: var(--orange);
 line-height: 140%;
}

.reasonCycleBox .txts h4 {
 margin-bottom: 20px;
}
.guaranteeBox {
 position: relative;
 background: var(--grd);
 padding: 60px;
 border-radius: 30px;
 z-index: 1;
}
.guaranteeBox::before {
 position: absolute;
 top: 2px;
 right: 2px;
 bottom: 2px;
 left: 2px;
 content: "";
 display: block;
 width: calc(100% - 4px);
 height: calc(100% - 4px);
 background-color: var(--wh);
 border-radius: 28px;
 z-index: -1;
}
.guaranteeBox .inlineWrap {
 position: absolute;
 top: -1.6em;
 right: 0;
 left: 0;
 margin: 0 auto;
 text-align: center;
 z-index: 1;
}
.guaranteeBox .inlineWrap h3 {
 position: relative;
 display: inline-block;
 background-color: var(--wh);
 padding: 0 0.5em;
 z-index: 1;
}
#reasonGuarantee dl {
 display: flex;
 flex-wrap: wrap;
}
#reasonGuarantee dl dt {
 width: 5em;
 font-weight: 700;
}
#reasonGuarantee dl dd {
 width: calc(100% - 5em);
}
#reasonGuarantee table.basicTable {
 table-layout: fixed;
}
#reasonGuarantee table.basicTable thead th {
 color: var(--orange);
 text-align: left;
}
#reasonGuarantee table.basicTable tbody th {
 width: auto;
 border-bottom: 1px solid var(--gray);
}
#reasonGuarantee table.basicTable tbody td {
 border-bottom: 1px solid var(--gray);
}
.exceptionList {
 width: min(100%, 540px);
 padding: 20px 15px;
}
.exceptionList li {
 position: relative;
 padding-left: 1em;
}
.exceptionList li::before {
 position: absolute;
 top: 0;
 left: 0;
 content: "・";
 display: inline-block;
}



/*-----------------------------
  #business
-----------------------------*/
#business .airconBox {
 margin-top: 60px;
}
/*
#business .airconItemList > li{
  margin-top: 30px;
}
#business .airconItemList .balloonBtm {
  text-align: center;
}
#business .airconItemList .balloonBtm span {
  color: var(--orange);
  font-size: clamp(1.8rem, 0.9rem + 2vw, 2rem);
}
#business .bgLGray .airconItemList .balloonBtm span::after {
  border-top: 10px solid var(--Lgray);
}
#business .airconItemList > li figure{
  margin-bottom: 10px;
  overflow: hidden;
}
#business .airconItemList > li h5{
  font-size: clamp(1.8rem, 0.9rem + 2vw, 2.2rem);
  color: var(--orange);
}
#business .airconItemList ul{
  border: 1px solid var(--gray);
  margin-top: 10px;
  padding: 10px;
  font-weight: 700;
}
*/
#airconSupported h4 span {
 margin-left: 2em;
}
#business .airconSupportedItems {
 flex-wrap: wrap;
 gap: min(3.6vw, 40px) 3.6%;
}
#business .airconSupportedItems figure {
 width: calc((100% - 3.6%*4)/5);
 text-align: center;
}
#business .airconSupportedItems figure figcaption {
 font-weight: 700;
 font-size: 1.8rem;
}
#airconFacility {}
#business .airconFacilityItems {
 gap: min(2.7vw, 30px) 2.7%;
 flex-wrap: wrap;
}
#business .airconFacilityItems figure {
 width: 49%;
 max-width: 155px;
 text-align: center;
}
#business .airconFacilityItems figure img {
 border-radius: 50%;
}
#business .airconFacilityItems figure figcaption {
 font-weight: 700;
 font-size: 1.8rem;
}

#aircon .airconSupportedItems img {
  border: 1px solid var(--gray);
}

#business #ventilation .itemList.pcFlex > li {
  width: 46%;
}
/*-----------------------------
  #guide
-----------------------------*/
#guide .infoLinkList {
 display: flex;
 flex-wrap: wrap;
 gap: 20px;
	margin-bottom: 50px;
}
#guide .infoLinkList > li {
 width: calc((100% - 20px)/2);
}
#guide .infoLinkList > li a {
 display: flex;
 align-items: center;
 gap: 10px;
 padding: 10px 20px 10px 10px;
 background: var(--Lred);
  border-left: 1px solid var(--orange);
	border-bottom: 4px solid var(--orange);
	border-right: 6px solid var(--orange);
  border-radius: 56px;
 color: var(--base);
}
#guide .infoLinkList > li a:hover{
	border-left: 1px solid var(--orange);
	border-bottom: 1px solid var(--orange);
	border-right: 1px solid var(--orange);

}
#guide .infoLinkList li figure {
 width: 90px;
}
#guide .infoLinkList li figure img {
 width: 100%;
 height: 100%;
 aspect-ratio: 1/1;
 border-radius: 50%;
}
#guide .infoLinkList li .txts {
 flex: 1;
 font-size: 2rem;
 line-height: 1.4;
 font-weight: 700;
}
#guide .infoLinkList li .txts span {
 display: block;
}
.infoBox {
 position: relative;
 margin-top: 30px;
 padding: 40px 60px;
 background: var(--grd);
 border-radius: 30px;
 z-index: 1;
}
.infoBox::before {
 position: absolute;
 top: 2px;
 right: 2px;
 bottom: 2px;
 left: 2px;
 content: "";
 display: block;
 width: calc(100% - 4px);
 height: calc(100% - 4px);
 background-color: var(--wh);
 border-radius: 28px;
 z-index: -1;
}
.infoBox .infoBoxHead {
 display: flex;
 align-items: center;
 gap: 10px;
 margin-bottom: 20px;
 color: var(--base);
}
.infoBox .infoBoxHead figure {
 width: 100px;
}
.infoBox .infoBoxHead figure img {
 width: 100%;
 height: 100%;
 aspect-ratio: 1/1;
 border-radius: 50%;
}
.infoBox .infoBoxHead .txts {
 flex: 1;
 font-size: 3.5rem;
 line-height: 1.4;
 font-weight: 700;
}
.infoBox .infoBoxHead .txts span {
 display: block;
}
.infoBox h5 {
 margin: 0 0 25px;
 font-size: 2.2rem;
 font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  line-height: 1;
  color: var(--orange);
}

.infoBox h5::before,.infoBox h5::after {
  width: 1px;
  height: 28px;
  content: "";
  background-color: var(--orange);
}

.infoBox h5::before {
  margin-right: 0.5em;
  transform: rotate(-30deg);
}

.infoBox h5::after {
  margin-left: 0.5em;
  transform: rotate(30deg);
}


.infoSubBox .infoPointList {
 display: flex;
 flex-direction: column;
 justify-content: center;
 background: var(--wh);
 padding: 10px;

}
.infoSubBox .infoPointList li {
 position: relative;
 padding-left: 1em;
}
.infoSubBox .infoPointList li::before {
 position: absolute;
 top: 0;
 left: 0;
 content: "・";
 display: inline-block;
}
.infoBox table.basicTable {
 margin-bottom: 10px;
}
.infoBox table.basicTable thead th {
 padding: 10px 1%;
 color: var(--base);
 line-height: 1.1em;
}
.infoBox table.basicTable tbody th {
 width: auto;
 padding: 10px 1%;
 text-align: center;
}
.infoBox table.basicTable tbody td {
 width: 120px;
 padding: 10px 1%;
 text-align: center;
}
.infoBox table.basicTable tbody tr:last-of-type th, .infoBox table.basicTable tbody tr:last-of-type td {
 border-bottom: 1px solid var(--gray);
}
.infoComment figure {
 width: 180px;
}
.infoComment figure img {
 width: 100%;
 height: 100%;
 aspect-ratio: 1 / 1;
 border-radius: 50%;
}
.infoBalloon {
 position: relative;
 width: min(100%, 700px);
 background: var(--grd);
 border-radius: 20px;
 padding: 20px 30px;
	color: var(--wh)
}
.infoBalloon::before {
 position: absolute;
 top: calc(50% - 20px);
 transform: translateY(-50%) rotate(-20deg);
 left: -40px;
 content: "";
 display: block;
 width: 40px;
 height: 40px;
 border-radius: 0 0 0 40px;
 border-bottom: 20px solid var(--orange);
}
.guideItems {
 gap: min(3.6vw, 40px) 3.6%;
 flex-wrap: wrap;
	flex-direction: column;
}
.guideItems figure {
display: flex;
	gap:20px;
	position: relative
}
.guideItems figure:not(:last-child):after{
	 background: var(--orange);
  height: calc(tan(60deg) * 30px / 2);
  width: 30px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: '';
	position: absolute;
	bottom: -15px;
	left:calc(50% - 15px)
}
.guideItems figure img{
	width: 20%;
		border-radius: 50%;
	z-index: 10;
	flex-shrink: 0;
}

.guideItems figure figcaption {
 width: 90%;
 font-size: 1.8rem;
	margin-left: calc(-20px - 10%);
	z-index: 0

}
.guideItems figure figcaption span.title{
	font-weight: 700;
	padding-left:  calc(40px + 10%);
	background: var(--grd);
  display: block;
  color: #fff;
}

.guideItems figure p {
 text-align: left;
	background: var(--wh);
	padding:  15px 15px 15px calc(40px + 10%);

}
.guideItems figure p a {
 color: var(--orange);
 text-decoration: underline;
}

#info03 table.basicTable {
  min-width: 920px;
}

#info03 .spScroll {
  overflow-x: auto;
}

#info03 table.basicTable thead th {
  font-size: 1.6rem;
}

#guide #leadArea .bg_tama::after {
  width: 50%;
}

/*		faq
-----------------------------*/
.faqList {}
.faqList dt {
 position: relative;
 display: flex;
 padding: 15px 50px 15px 70px;
 cursor: pointer;
 font-size: 1.8rem;
 font-weight: 600;
	background: var(--Lred)
}
.faqList dt:not(:first-of-type) {
 margin-top: 20px;
}
.faqList dt::before, .faqList dd::before {
 position: absolute;
 left: 10px;
 width: 40px;
 height: 40px;
 display: grid;
 place-content: center;
 border-radius: 50%;
 font-size: 2rem;
}
.faqList dt::before {
 top: 12px;
 content: "Q";
 background: var(--grd);
 color: var(--wh);
}
.faqList dt span::after {
 position: absolute;
 top: 50%;
 transform: translateY(-50%) rotate(45deg);
 right: 20px;
 content: "";
 display: block;
 width: 1.5rem;
 height: 1.5rem;
 border: var(--base) solid;
 border-width: 0 2px 2px 0;
}
.faqList dt.active span::after {
 border-width: 2px 0 0 2px;
 transition: transform 0.3s;
}
.faqList dd {
 position: relative;
 display: none;
 padding: 15px 50px 15px 70px;
 font-size: 1.8rem;
}
.faqList dd::before {
 top: 12px;
 content: "A";
 background-color: #F5F5F5;
 color: var(--base);
}
/*-----------------------------
  #case
-----------------------------*/
#caseLead .bgGrd{
 position: relative;
 border-radius: 25px;
 max-width: 800px;
 padding: 50px 5% 30px;
 margin: 0 auto;
}
#caseLead .bgGrd *{
 position: relative;
}
#caseLead .bgGrd::before{
 content: "";
 display: block;
 border-radius: 15px;
 background: rgba(255,255,255,.9);
 width: calc(100% - 20px);
 height: calc(100% - 20px);
 position: absolute;
 top: 10px;
 left: 10px;
}
#caseLead .bgGrd h3{
 color: var(--orange);
 text-align: center;
}
#caseLead .bgGrd p.center{
 font-size: 50px;
}
#caseLead .bgGrd p.center span{
 color: var(--orange);
}
#caseLead .bgGrd ul{
 justify-content: center;
 gap:0 20px;
}
#caseLead .bgGrd p.note{
 margin-top: 10px;
 text-align: right;
}

#caseList ul.pcFlex li a{
 display: block;
 color: var(--base) !important;
}
#caseList ul.pcFlex li figure{
 margin: 0 0 20px;
}
#caseList ul.pcFlex li figure img{object-fit: cover;
 width: 100%;
 height: 100%;
 aspect-ratio:323/202;
}
.cat{
 display: inline-block;
 border: 0.75px solid #c63434;
 color: #c63434;
 border-radius: 50px;
 padding: 0% 2%;
 text-align: center;
 font-size: 12px;
}
.date{
 color: #939393;
 font-family: "Afacad", sans-serif;
 font-size: 14px;
}
#caseList li .cat{
 margin-right: 5px;
}
#caseList li h3{
 color: var(--base);
 margin-top: 5px;
 line-height: 1.4;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
/*----------------*/
#caseMain{
 padding-top: 50px;
}
#caseMain .cat{
 margin-right: 10px;
}
#caseMain h3{
 margin: 10px auto 40px;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-align: left;
}

#caseMain .inner_1000 > p:nth-of-type(2) {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
#caseMain .caseMv{
 margin: 0 0 40px;
}
.caseTermArea{
 flex-flow: row wrap;
 margin-bottom: 1em;
}
.caseTermArea dt{
 width: 5em;
 font-weight: 500;
}
.caseTermArea dd{
 width: calc(100% - 5em);
}
#caseMain .imgs{
 margin-top: 60px;
}
#caseMain img{
 height: auto;
 margin-inline: auto;
}

/*-----------------------------
  #company
-----------------------------*/
#companyMessage .pcFlex{

}
#companyMessage .name{
  font-size: 2rem;
  font-weight: 700;
}

#companyPolicy .inner_1100{
  position: relative;
  background: var(--grd);
  margin-top: 100px;
  padding: 60px;
  border-radius: 30px;
  z-index: 1;
}
#companyPolicy .inner_1100::before{
  position: absolute;
  top: 2px;
  right: 2px;
  bottom: 2px;
  left: 2px;
  content: "";
  display: block;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  background-color: var(--wh);
  border-radius: 28px;
  z-index: -1;
}
#companyPolicy .inlineWrap{
  position: absolute;
  top: -1.6em;
  right: 0;
  left: 0;
  margin: 0 auto;
  text-align: center;
  z-index: 1;
}
#companyPolicy .inlineWrap h3{
  position: relative;
  display: inline-block;
  background-color: var(--wh);
  padding: 0 0.5em;
  z-index: 1;
}
#companyPolicy figure{
  text-align: center;
}
#companyPolicy figure img{
  margin: 0 auto;
  width: min(100%, 379px);
}
#companyOutline table.basicTable{
	background: none;
}
#companyOutline table.basicTable tbody th{
  width: 230px;
}

.map iframe{
  max-width: 100%;
}


/*-----------------------------
  #esg
-----------------------------*/

#esgAboutBox{
  position: relative;
  border-radius: 15px;
  padding: 30px 50px;
  border: 2px solid var(--orange);
  overflow: hidden;
}

#esg .esgBox .h3Tit{
  text-align: left;
	display:flex;
	justify-content: flex-start;
	align-items: center;
	gap:10px;
		background: var(--grd);
	color: var(--wh);
	padding: 5px 15px
}
#esg #esgAboutBox .h3Tit{
	background: none;
	color: var(--orange);
}

#esg .h3Tit{

}

#esg .h3Tit .icon{
  display:inline-flex;
	justify-content: center;
	align-items: center;
  font-size: 0.625em;
  line-height: 1;
  font-weight: 500;
	background: var(--wh);
	border-radius:6px;
	color: var(--orange);
	padding: 5px 10px 8px 10px;
}
/*#esg .h3Tit .fontL{
  font-size: 1.38em;
} */


/*-----------------------------
  #recruit
-----------------------------*/
.infoVoiceList.flex{
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 2%;
}
.infoVoiceList li{
  width: 23.5%;
}
.infoVoiceBalloon{
  position: relative;
}
.infoVoiceBalloon p{
  position: relative;
  display: grid;
  place-content: center;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  background: linear-gradient(-180deg, #ed6f48, #c63434);
  border-radius: 50%;
  margin-bottom: 40px;
  padding: 10px;
  color: var(--wh);
  z-index: 1;
}
.infoVoiceBalloon p span{
  text-align: center;
  font-size: min(16vw, 30px);
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
}
.infoVoiceBalloon::before {
  position: absolute;
  top: 100%;
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  transform: translateY(-50%) rotate(10deg);
  right: 60%;
  border-radius: 0 0 40px 0;
  border-right: 20px solid #c63434;
  z-index: 0;
}
.infoVoiceList li .flex{
  gap: 0 10px;
}
.infoVoiceList li .flex figure{
  width: 68px;
}
.infoVoiceList li .flex figure + p{
  flex: 1;
  line-height: 1.6;
}


.infoInsta{
  position: relative;
  background: var(--grd);
  margin-top: 100px;
  padding: 60px;
  border-radius: 30px;
  z-index: 1;
}
.infoInsta::before{
  position: absolute;
  top: 2px;
  right: 2px;
  bottom: 2px;
  left: 2px;
  content: "";
  display: block;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  background-color: var(--wh);
  border-radius: 28px;
  z-index: -1;
}
.infoInsta .inlineWrap{
  position: absolute;
  top: -1.6em;
  right: 0;
  left: 0;
  margin: 0 auto;
  text-align: center;
  z-index: 1;
}
.infoInsta .inlineWrap h3{
  position: relative;
  display: inline-block;
  background-color: var(--wh);
  padding: 0 0.5em;
  z-index: 1;
}
.infoInsta .btn03R{
  margin: 30px auto 0;
  text-align: center;
}
.infoInsta .btn03R a{
  width: min(100%, 380px);
  font-size: 18px;
  line-height: 140%;
}
.infoInsta .btn03R a:hover{
	opacity: .7
}

#requirements .btn03R a {
  overflow: hidden;
}
#requirements .btn03R a::before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 80%, rgba(255, 255, 255, 100) 81%, rgba(255, 255, 255, 0) 100%);
  animation: shine 3s infinite; /* inifiniteによりずっと続ける */
}
@keyframes shine {
  33% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}

.requirementBox{
  display: flex;
  flex-direction: column;
  width: min(90%, 360px);
}
.requirementBox figure{
}
.requirementBoxBd{
  border: 1px solid var(--gray);
  padding: 0 20px 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.requirementBoxBd figure{
  margin: 0 -20px 20px;
}
.requirementBoxBd p:not(.btn03){
  flex-grow: 1;
}
.requirementBoxBd .btn03{
  margin-top: 10px;
}
.requirementBoxBd .btn03 a{
  border: 1px solid var(--orange);
  color: var(--orange);
}
#currently .bgGrd{
	border-radius: 20px
}

.currentlyList{
  border-radius: 30px;
  padding: 5%;
}
.currentlyList li{
  position: relative;
  padding-left: 1.5em;
  font-size: min(4vw, 2rem);
	color: var(--wh);
}
.currentlyList li::before,
.currentlyList li::after{
  position: absolute;
  content: "";
  display: inline-block;
}
.currentlyList li::before{
  top: 0.3em;
  left: 0;
  border: 2px solid var(--wh);
  width: 1em;
  height: 1em;
  border-radius: 50%;
}
.currentlyList li::after{
  top: 0.6em;
  left: 0.6em;
  transform: translateX(-50%) rotate(-45deg);
  border: solid var(--wh);
  border-width: 0 0 2px 2px;
  width: 0.5em;
  height: 0.25em;
}

.currentlyBoxWrap{
  margin-top: 60px;
}


#linkAreaInner{
  position: relative;
  border-radius: 15px;
  padding: 30px 20px;
  border: 1px solid var(--base);
  overflow: hidden;
}

/*-----------------------------
  #welfare
-----------------------------*/
.benefitsList li{
  display: inline-block;
}
.benefitsList li::after{
  content: "\0ff0f";
  display: inline-block;
}

.itemList .btn03R{
  margin: 20px 0 0;
  text-align: right;
}
.itemList .btn03R a{
  width: 180px;
  padding: 1.6% 2.3em;
  font-size: 16px;
}
/*-----------------------------
  #numbers
-----------------------------*/
.numbersItemBoxWrap{
  flex-wrap: wrap;
  gap: min(5vw,30px);
}
.numbersItemBox{
  width: calc(95% / 2);
  background: var(--Lorange);
  padding: 30px 4%;
  border-radius: 30px;
	border: 2px solid var(--orange);
}
.numbersItemBox h3{
    font-size: min(6.25vw, 2.75rem);
    font-weight: 700;
    line-height: 1.85;
    text-align: center;
}
.numbersItemBox .figures{
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  margin: 20px auto;
  background: var(--wh);
}
.numbersItemBox .figures{
  display: grid;
  place-content: center;
}
.numbersItemBox .figures p{
  font-size: min(11.4vw, 5rem);
  font-weight: 700;
  text-align: center;
  line-height: 1em;
}
.numbersItemBox .figures p .fontL{
  font-size: 3.2em;
  color: var(--orange);
  line-height: 1em;
}
.numbersItemBox ul.figures{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 20px;
}
.numbersItemBox ul.figures li{
    font-size: min(5vw, 2.2rem);
    font-weight: 500;
  background: var(--grd);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	border: 1px solid var(--orange);
	border-left-width: 5px;
	padding:0 5px;

}
.numbersItemBox > p{
  text-align: center;
}

.messageBoxWrap{
  position: relative;
}
.messageBoxWrap.flex{
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0 4%;
	z-index: 0
}
.messageBox{
  width: 48%;
  text-align: center;
}
.messageBox:nth-of-type(even){
  transform: translate(0,23px);
}
.messageBox:nth-of-type(3){
  text-align: right;
}
.messageBox:nth-of-type(4){
  text-align: left;
}
.messageBoxInner{
  position: relative;
  display: inline-block;
  background: var(--grd);
  border-radius: 20px;
  margin-bottom: 30px;
  margin-right: auto;
  margin-left: auto;
  padding: 20px 30px;
	color: var(--wh)
}
.messageBoxInner::before{
  position: absolute;
  top: 100%;
  content: "";
  display: block;
  width: 40px;
  height: 40px;
	z-index: -1
}
.messageBox:nth-of-type(odd) .messageBoxInner::before{
  transform: translateY(-50%) rotate(-10deg);
  left: 80%;
  border-radius: 0 0 0 40px;
  border-left: 20px solid var(--orange);
	z-index: -1

}
.messageBox:nth-of-type(even) .messageBoxInner::before{
  transform: translateY(-50%) rotate(10deg);
  right: 80%;
  border-radius: 0 0 40px 0;
  border-right: 20px solid var(--orange);
}
.messageBox:nth-of-type(3) .messageBoxInner{
  margin-right: 0;
}
.messageBox:nth-of-type(4) .messageBoxInner{
  margin-left: 0;
}
.messageBoxInner p.left{
  font-size: 1.8rem;
  font-weight: 700;
}
.messageBoxInner p.right{
  font-weight: 500;
}
/* .messageBoxWrap figure{
  margin: 20px auto 0;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  overflow: hidden;
} */
/*.messageBoxWrap figure img{
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}*/

.blurred-edges {
  margin: 0;
  display: inline-block;
  width: 100%;
  margin-top: -5%;
  z-index: -1;
}

.blurred-edges img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-mask-image: linear-gradient(to right,
    transparent 0%,
    black 7%,
    black 93%,
    transparent 100%),
    linear-gradient(to bottom,
    transparent 0%,
    black 7%,
    black 93%,
    transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to right,
    transparent 0%,
    black 7%,
    black 93%,
    transparent 100%),
    linear-gradient(to bottom,
    transparent 0%,
    black 7%,
    black 93%,
    transparent 100%);
  mask-composite: intersect;
}
/*-----------------------------
  #contact
-----------------------------*/
#contactForm .inner_1100 .pcFlex{
	margin-bottom: 80px;
}
#contactTel{
background-color: var(--Lorange);
	border-radius: 20px;
	padding: 30px 40px;
}
#contactLine{
	background-color: #faebd7;
	border-radius: 20px;
	padding-bottom: 30px
}
.contactTelBox{
	background: var(--wh);
	padding: 20px;
	border-radius: 40px;
}
#contactLineInner{
  padding: 30px 20px;
}
#contactLine .btn03R a{
  background: #00C300;
	width: 65%;
 max-width: 270px;
}
#contactLine .btn03R a:hover {
    filter: brightness(0.7);
    opacity: 1;
}

input.w100,
textarea {
  width: 100%;
  border: 1px solid #353750;
  border-radius: 0.23em;
  padding: 5px 5px;
  background: #ffffff;
}
input.file {
  display: inline-block;
  padding: 10px 10px;
  vertical-align: middle;
  border: solid 1px #353750;
  border-radius: 0.23em;
  background: #FFFFFF;
}
::placeholder {
  font-weight: normal;
}

.formArea input[type="text"] {
    margin-bottom: 8px;
}

#contactForm{
 padding-bottom: 150px;
}
.basicTable .hissu{
	display: inline-block;
 background: var(--Dorange);
 color: var(--wh);
	border-radius: 3px;
 padding: 3px 3% 4px;
 font-size: 12px;
	line-height: 1;
	margin-left: 0.8em;
}
#contactForm #mailformpro dd label{
 margin-bottom: 10px;
}
#contactForm input[type=radio]{
 vertical-align: -0.05em;
 margin-right: 5px;
}
#contactForm textarea{
 width: 100% !important;
 height: 200px !important;
}
.contactPrivacy{
 text-align: center;
}
.formFoot{
 margin:40px 0 0;
}
.formBtn {
  margin-top: 20px;
}
.contactPrivacy a{
 color: var(--blue);
	text-decoration: underline;
}

#mailformpro .confirm{
    position: relative;
}

#mailformpro .confirm input{
    position: relative;
    display: inline-block;
    color: #fff;
    padding: 1.1em min(24%,5.3em);
    border-radius: calc(infinity * 1px);
    border: none;
    font-family: "Noto Serif JP", serif;

    background:
    url(../img/arrowW.png) no-repeat center right 1.2em / 1.9em,
    linear-gradient(90deg, #c63434, #ed6f48);
    text-align: center;
    cursor: pointer;
  color: var(--wh);
  font-weight: 500;
    font-size: 1.95rem;
    z-index: 1;
}
#mailformpro .confirm input:hover{
        filter: brightness(0.7);
        opacity: 1;
}


/* =======================================
	thanks
========================================== */

#thanks p{
  font-size: 1.8rem;
}
/* =======================================
	privacypolicy
========================================== */

#privacyMain .dlBox.flex{
  flex-wrap: wrap;
}
#privacyMain .dlBox dt{
  width: 3em;
}
#privacyMain .dlBox dd::before{
  content: "\0ff1a";
  display: inline-block;
}
#privacyMain .dlBox dd{
  width: calc(100% - 4em);
}
#privacyMain p{
word-break: break-all;
  overflow-wrap: anywhere;
}


/*-----------------------------
  #news
-----------------------------*/


/*		一覧
-----------------------------*/
.newsBox{
  padding: 30px 0;
  border-bottom: 1px solid var(--base);
}
.newsBox:first-of-type{
  padding: 0px 0 30px 0;
}
.newsBox figure{
 margin: 0;
}
.newsBox figure img{
  width: 100%;
  height: auto;
  margin: auto;
}
.newsInfo{
 display: flex;
 flex-flow: row wrap;
 align-items: center;
 gap:10px 20px;
}
.newsInfo .date{
    font-weight: 700;
}
.newsBox h3{
  margin-bottom: 0.5em;
    color: var(--orange);
 font-size: 2rem;
}
.newsBox .txts p{
}

#esgGovernance .arrowLine {
  height: 5px;
}

#esgGovernance a:hover {
  opacity: 0.7;
}

/*-----------------------------
  TOP事業案内
-----------------------------*/
.gallery-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  max-width: 1440px;
}

.frame {
  width: 28%;
  /* width: 396px; */
  height: 710px;
  position: relative;
}

.photo-container {
  width: 100%;
  height: 100%;
  position: relative;
}

.photo {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
}

.photo.active {
  opacity: 1;
}
