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

	reset CSS

========================================== */
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;
}
img {
  border: 0;
  vertical-align: top;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: 700;
}
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.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;
}

.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;
}
.fW500 {
  font-weight: 500;
}
.fW100 {
  font-weight: 100;
}
.fW300 {
  font-weight: 300;
}
.ls0 {
  letter-spacing: 0;
}
.ls1 {
  letter-spacing: 0.1em;
}
.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%;
}
.lh160 {
  line-height: 160%;
}
.lh200 {
  line-height: 200%;
}
.lh230 {
  line-height: 230%;
}
.lh240 {
  line-height: 240%;
}
.lh250 {
  line-height: 250%;
}
.lh255 {
  line-height: 255%;
}

/* cf
========================================== */
.cf:after {
  visibility: hidden;
  display: block;
  content: "";
  clear: both;
}

* html .cf {
  zoom: 1;
}
/* =======================================

	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;
}

.floatL {
  float: left;
}
.floatR {
  float: right;
}

.rela {
  position: relative;
}

.kome li {
  text-indent: -1em;
  padding-left: 1em;
  line-height: 140%;
  margin-bottom: 10px;
}

.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%);
}

.imgR {
  float: right;
  width: 40%;
  margin-left: 30px;
}

.imgL {
  float: left;
  width: 40%;
  margin-right: 30px;
}

/*flex
========================================== */
.flex {
  display: flex;
}
.flexNowrap {
  display: flex;
  flex-wrap: nowrap;
}
.flexWrap {
  display: flex;
  flex-wrap: wrap;
}

.flexSpaceBetween {
  justify-content: space-between;
}

.flexCenter {
  justify-content: center;
}
.flexLeft {
  justify-content: left;
}
.flexRight {
  justify-content: right;
}
.flexEnd {
  justify-content: flex-end;
}
.flexRowReverse {
  flex-flow: row-reverse;
}
.alignItemsC {
  align-items: center;
}
.alignItemsSt {
  align-items: flex-start;
}
.alignItemsEnd {
  align-items: flex-end;
}

.dBlock {
  display: block;
}
.poevNone {
  pointer-events: none;
}

.ofHidden {
  overflow: hidden;
}
.ofAuto {
  overflow: auto;
}
.ofY {
  overflow-y: auto;
}
.ofXHidden {
  overflow-x: hidden;
}

img {
  max-width: 100%;
  display: block;
  transition: 0.3s;
}

figure {
  display: block;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
  margin: 0;
  padding: 0;
}

.w4em {
  width: 4em;
}
.w45em {
  width: 4.5em;
}
.w5em {
  width: 5em;
}
.w6em {
  width: 6em;
}
.w7em {
  width: 7em;
}
.w8em {
  width: 8em;
}
.w9em {
  width: 9em;
}
.w10em {
  width: 10em;
}

.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;
}
.f24 {
  font-size: 2.4rem !important;
}
.f25 {
  font-size: 2.5rem !important;
}
.f26 {
  font-size: 2.6rem !important;
}
.f27 {
  font-size: 2.7rem !important;
}
.f28 {
  font-size: 2.8rem !important;
}
.f29 {
  font-size: 2.9rem !important;
}
.f30 {
  font-size: 3rem !important;
}
.f40 {
  font-size: 4rem !important;
}

.fps40 {
  font-size: 40% !important;
}
.fps60 {
  font-size: 60% !important;
}
.fps65 {
  font-size: 65% !important;
}
.fps70 {
  font-size: 70% !important;
}
.fps75 {
  font-size: 75% !important;
}
.fps80 {
  font-size: 80% !important;
}
.fps85 {
  font-size: 85% !important;
}
.fps90 {
  font-size: 90% !important;
}
.fps95 {
  font-size: 95% !important;
}
.fps100 {
  font-size: 100% !important;
}
.fps105 {
  font-size: 105% !important;
}
.fps110 {
  font-size: 110% !important;
}
.fps115 {
  font-size: 115% !important;
}
.fps120 {
  font-size: 120% !important;
}
.fps125 {
  font-size: 125% !important;
}
.fps130 {
  font-size: 130% !important;
}
.fps135 {
  font-size: 135% !important;
}
.fps140 {
  font-size: 140% !important;
}
.fps145 {
  font-size: 145% !important;
}
.fps150 {
  font-size: 150% !important;
}

.inner {
  max-width: 1286px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner01 {
  max-width: 1050px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner500 {
  max-width: 500px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner600 {
  max-width: 600px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner700 {
  max-width: 700px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner800 {
  max-width: 800px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner880 {
  max-width: 880px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner900 {
  max-width: 900px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1000 {
  max-width: 1000px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1100 {
  max-width: 1100px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1200 {
  max-width: 1200px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1300 {
  max-width: 1300px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1400 {
  max-width: 1400px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1500 {
  max-width: 1500px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1600 {
  max-width: 1600px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1700 {
  max-width: 1700px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1800 {
  max-width: 1800px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}

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

	margin / padding

========================================== */
/*! mb */
.mA {
  margin-left: auto;
  margin-right: auto;
}

.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;
}

.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;
}
.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;
}
.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 */
.zin0 {
  z-index: 0;
}
.zin1 {
  z-index: 1;
}
.zin2 {
  z-index: 2;
}
.zin3 {
  z-index: 3;
}
.zin4 {
  z-index: 4;
}
.zin5 {
  z-index: 5;
}
.zin6 {
  z-index: 6;
}
.zin7 {
  z-index: 7;
}
.zin8 {
  z-index: 8;
}
.zin9 {
  z-index: 9;
}
.zin10 {
  z-index: 10;
}

.visibilityHidden {
  visibility: hidden;
}

.noLink {
  color: #9a9a9a !important;
  pointer-events: none !important;
}

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
html {
  font-size: 62.5%;
  background: #ffffff;
  color: #232333;
}
body {
  margin: 0 auto;
  padding: 0;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", "游ゴシック", "Yu Gothic",
    "游ゴシック体", "YuGothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  box-sizing: border-box;
  line-height: 1.8;
}
body#top {
  background: #eff6ff;
}
main {
  overflow: hidden;
}
object {
  pointer-events: none;
}

a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: var(--base);
}

.js-inview {
  opacity: 0;
}

/*フォントファミリー
========================================== */
.fontG {
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体",
    "YuGothic", sans-serif;
}
.fontMin {
  font-family: "Noto Serif JP", serif;
}
.fontZ {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.fontA,
.en {
  font-family: "Afacad", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

/*色
========================================== */
:root {
  --base: #232333;
  --bk: #000000;
  --wh: #ffffff;
  --red: #ea596a;
  --yellow: #b4ad43;
  --blue: #0d0d74;
  --blue2: #00a8b6;
  --Lblue: #f7fcff;
  --LLblue: #effbfb;
  --gray: #efefef;
  --grd: linear-gradient(
    315deg,
    rgba(13, 13, 116, 1) 35%,
    rgba(7, 81, 145, 1),
    rgba(0, 168, 182, 1),
    rgba(239, 246, 255, 1) 99%
  );
}

/*文字色
========================================== */
.baseC {
  color: var(--base) !important;
}
.blue {
  color: var(--blue) !important;
}
.blue2 {
  color: var(--blue2) !important;
}
.bk {
  color: var(--bk) !important;
}
.white {
  color: var(--wh) !important;
}

/*背景
========================================== */
.bgBaseC {
  background: var(--base) !important;
}
.bgBlue {
  background: var(--blue) !important;
}
.bgLblue {
  background: var(--Lblue) !important;
}
.bgLLblue {
  background: var(--LLblue) !important;
}
.bgGray {
  background: var(--gray) !important;
}
.bgW {
  background: var(--wh) !important;
}
.bgPurple {
	background:rgba(161,132,166,.6)
		
}
A184A6
/*ボタン
========================================== */
.btnWrap {
  margin-top: 40px;
  text-align: center;
}
.btnWrap .btn {
  margin: 0 auto;
}
.btnWrap.left .btn {
  margin: 0;
}
.btn {
  background: #effbfb;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: calc(infinity * 1px);
  width: min(100%, 343px);
  min-height: 96px;
  padding: 5px 15px;
  color: var(--blue);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}
.btn.bgBlue {
  color: var(--LLblue);
}
.pgs main section.bgLblue .btn {
  background: var(--wh);
}
.btn:hover {
  opacity: 0.7;
}
.btn.inline {
  display: inline-grid;
  width: auto;
  padding-left: 50px;
  padding-right: 100px;
  font-size: 20px;
}
.icArrow {
  position: relative;
  padding-right: 67px;
  font-weight: 700;
}
.icArrow::after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  display: block;
  background: url("../images/ic_arrow_blue.svg") no-repeat left top/100% auto;
  width: 53px;
  height: 53px;
}
.btn.icArrow::after {
  right: 30px;
}

.btn.btnS.icArrow {
  padding-right: 40px;
}
.btn.btnS.icArrow::after {
  right: 10px;
  width: 30px;
  height: 30px;
}
.btn.btnS {
  width: min(100%, 343px);
  min-height: auto;
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: 1.6rem;
  letter-spacing: 0;
}
/*装飾
========================================== */

/*タイトル
========================================== */
.h2Tit {
  margin-bottom: 1em;
  color: var(--base);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
}
.h2Tit .en {
  display: block;
  color: var(--blue2);
  font-size: 62.5%;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.07em;
}
.h3Tit {
  color: var(--blue);
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-align: center;
  margin-bottom: 40px;
}
.h4Tit {
  font-size: 2rem;
  margin-bottom: 20px;
}
.h5Tit {
  font-size: 1.8rem;
  margin-bottom: 10px;
}
.h6Tit {
  font-size: 1.7rem;
  margin-bottom: 10px;
}
/*テキスト
========================================== */
.leadTxt {
  margin-bottom: 20px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.85;
  text-align: center;
}

/* =======================================
  ページャー
========================================== */
/*-- 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(--base);
  display: grid;
  align-items: center;
  justify-content: center;
  font-optical-sizing: auto;
  color: var(--base);
  font-weight: 500;
  font-style: normal;
}
.pageNavi .current {
  background: var(--base);
  color: #fff;
}
.pageNavi a:hover {
  background: var(--base);
  color: #fff;
}
.pageNavi a.next:hover {
  background: none;
  border: none;
  color: var(--base);
}

/*-- pager --*/
.pager {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 800px !important;
  position: relative;
  width: 90%;
  margin: 50px auto 0;
}
.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%;
}

/*-- list --*/
.basicList li {
  border-bottom: 1px solid #ccc;
  padding: 15px 40px;
}
.basicList li li {
  border-bottom: none;
  padding: 5px 20px;
}

.discList {
  padding: 0 0 0 18px;
}
.discList li {
  list-style: disc outside;
  padding: 0 0 5px 0;
}

.checkList li {
  background: url("../images/ic_check.svg") no-repeat left top/22px auto;
  padding: 0 0 0 31px;
  margin-bottom: 8px;
  line-height: 1.8;
}

.icList li {
  margin-bottom: 0.5em;
  padding-left: 0.75em;
  position: relative;
}
.icList li::before {
  content: "-";
  color: var(--blue);
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}
/**/

/* =======================================
  タブ
========================================== */
.tabBtn.flex {
  margin-bottom: 20px;
  border-bottom: 2px solid var(--blue);
  justify-content: center;
  gap: 10px;
}
.tabBtn li {
  width: min(calc((100% - 10px) / 2), 240px);
}
.tabBtn li a {
  display: grid;
  align-items: center;
  background-color: var(--wh);
  width: 100%;
  height: 100%;
  padding: 0.3em;
  border: solid var(--blue);
  border-width: 2px 2px 0 2px;
  border-radius: 10px 10px 0 0;
  color: var(--blue);
  font-weight: 700;
  letter-spacing: 0.03em;
  text-align: center;
}
.tabBtn .active a {
  background-color: var(--blue);
  color: #fff;
}

/* =======================================
	header
========================================== */
header {
  position: fixed;
  background: #fff;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 100;
}
#top header:not(.fixed) {
  background: transparent;
}
header.fixed {
  background: #fff;
}
header #logo {
  max-width: 102px;
}
.page header #logo,
header.fixed #logo {
  max-width: 60px;
}
header #logo a img {
  width: 100%;
  height: auto;
}

#gnaviList .contact a {
  border-radius: calc(infinity * 1px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 10px;
  background: var(--blue);
  width: 181px;
  height: 48px;
  color: var(--wh);
  line-height: 1.2;
}
#gnaviList .contact a::before {
  content: "";
  display: block;
  background: url("../images/head_ic_mail.svg") no-repeat left top/100% auto;
  width: 18px;
  height: 14px;
}

/* =======================================
	footer/#footContact
========================================== */
#footContact {
  border-radius: 25px;
  background: #f0fbfb;
  padding: 50px 0;
  margin-bottom: 189px;
}
#footContact h2 {
  text-align: center;
}
#footContact .btnContact a {
  border-radius: calc(infinity * 1px);
  display: block;
  background: var(--blue);
  width: 90%;
  max-width: 546px;
  padding: 14px 0;
  margin: 0 auto;
  color: var(--Lblue);
  font-size: 18px;
  text-align: center;
}
#footContact .btnContact a span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 15px;
  font-size: 28px;
}
#footContact .btnContact a span::before {
  content: "";
  display: block;
  background: url("../images/footcontact_ic_mail.svg") no-repeat left top/100%
    auto;
  width: 39px;
  height: 30px;
}
#footContact .btnContact a:hover {
  opacity: 0.7;
}
/* =======================================
	footer/#footBottom
========================================== */
footer {
  /*background: linear-gradient(34deg,  rgba(13,13,116,1) 35%,rgba(7,81,145,1) 51%,rgba(0,168,182,1) 71%,rgba(239,246,255,1) 99%);*/
  background: linear-gradient(
    34deg,
    rgba(13, 13, 116, 1) 35%,
    rgba(7, 81, 145, 1),
    rgba(0, 168, 182, 1),
    rgba(239, 246, 255, 1) 99%
  );
  background-size: 200% 200%;
  animation: Grad 5s ease infinite;
  padding: 96px 0 0;
}
@keyframes Grad {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

#footBottom {
  position: relative;
  background: url("../images/foot_wave.svg") no-repeat left top/cover;
  padding: 220px 0 20px;
  margin-top: -220px;
}
#footerLogo {
  max-width: 374px;
}
#footerLogo img {
  width: 100%;
  height: auto;
}

#footBottom .address {
  margin-top: 34px;
  color: var(--LLblue);
}
footer .tel a {
  text-decoration: underline;
  color: var(--LLblue);
  white-space: nowrap;
}

footer .copy {
  display: block;
  margin-top: 106px;
  color: var(--LLblue);
  font-size: 2rem;
  text-align: center;
}

#pageTop {
  position: fixed;
  right: 7.1vw;
  bottom: 50px;
  z-index: 10;
}
#pageTop a {
  display: grid;
  place-content: center;
  color: var(--LLblue);
  font-size: 20px;
  text-align: center;
  line-height: 1.2;
  text-shadow: 0 0 2px var(--blue);
}
#pageTop a::before {
  content: "";
  display: block;
  background: url("../images/ic_pagetop.svg") no-repeat left top/100% auto;
  border: 1px var(--blue) solid;
  border-radius: 50%;
  width: 53px;
  height: 53px;
  margin: 0 auto 13px;
}

/* =======================================
	 common
========================================== */
/*		main
-----------------------------*/
main {
  margin-top: 94px;
}
/*タイトル
========================================== */
/*-- mainTitle --*/

.mainTitle {
  position: relative;
  background: var(--LLblue);
  height: 200px;
  color: var(--base);
  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: 34px;
  z-index: 1;
  text-align: center;
  line-height: 1.5;
}
.mainTitle h2 span {
  display: block;
  font-size: 80%;
  margin-bottom: 20px;
}

/* =======================================
  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: var(--base);
}
#breadcrumb li a:after {
  content: ">";
  padding-left: 5px;
}

#breadcrumb li > span:after {
  content: " | ";
}

/*		leadTxt
-----------------------------*/
.leadWrap,
.leadWrap:has(+ section.bgLBlue) {
  padding: 100px 0;
}
.leadWrap:has(+ section) {
  padding: 100px 0 25px;
}

/*-- 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%;
}
table.basicTable thead {
  width: 100%;
}
table.basicTable thead th {
  background: var(--base);
  border-right: 1px solid var(--wh);
  border-bottom: 1px solid var(--wh);
  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;
  background: var(--Lblue);
  border-right: 1px solid var(--base);
  border-bottom: 1px solid var(--base);
  color: var(--base);
  font-weight: 500;
}
table.basicTable.col50 tbody th {
  width: 50%;
}
table.basicTable tbody td {
  border-right: 1px solid var(--base);
  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:last-child,
table.basicTable td:last-child {
  border-right: none;
}
table.basicTable tbody th:has(+ td) {
  background-color: var(--gray);
}

.definitionBox {
  position: relative;
  border-radius: 20px;
  /*border: 2px var(--blue2) solid;*/
  background: var(--grd);
  padding: 40px 5%;
  margin: 60px auto 0;
  z-index: 0;
}
.definitionBox::before {
  content: "";
  display: block;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.9);
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  position: absolute;
  top: 10px;
  left: 10px;
}
.definitionBox dt {
  position: relative;
  text-align: center;
  color: var(--blue);
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}
.definitionBox dd {
  position: relative;
}

/*.iconList*/
.iconList.flex {
  gap: 20px 5%;
  flex-wrap: wrap;
  justify-content: center;
}
.iconList.flex li {
  flex: 1;
}
.iconList li figure {
  background-color: var(--wh);
  border: 1px solid var(--blue);
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  width: 100%;
  display: grid;
  place-content: center;
}
.iconList li figure img {
  margin: auto;
}

/*		anchorLink
-----------------------------*/
.anchorLink {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.anchorLink a {
  background: var(--blue);
  border: 1px solid var(--blue);
  display: grid;
  place-content: center;
  position: relative;
  max-width: 100%;
  height: 100%;
  color: var(--wh);
  text-align: center;
}
.anchorLink a::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-bottom: 1px solid var(--wh);
  border-right: 1px solid var(--wh);
  position: absolute;
  right: 8%;
  top: calc(50% - 6px);
  transform: rotate(45deg);
}
.anchorLink a:hover {
  background: var(--wh);
  color: var(--base);
}
.anchorLink a:hover::after {
  border-bottom: 1px solid var(--blue);
  border-right: 1px solid var(--blue);
}
.anchorLink li.other a::after {
  display: none;
}

/*----*/

.pageLinks {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.pageLinks li a {
  border-radius: calc(infinity * 1px);
  background: var(--blue);
  border: 1px solid var(--blue);
  color: #fff;
  display: grid;
  place-content: center;
  position: relative;
  max-width: 100%;
  height: 100%;
  text-align: center;
}
.pageLinks li a::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 1px solid var(--wh);
  border-right: 1px solid var(--wh);
  position: absolute;
  right: 8%;
  top: calc(50% - 3px);
  transform: rotate(45deg);
}
.pageLinks .noLink a,
.pageLinks a:hover {
  background: var(--wh);
  color: var(--blue);
}
.pageLinks a:hover::after {
  border-top: 1px solid var(--blue);
  border-right: 1px solid var(--blue);
}

/* =======================================
	top
========================================== */
#top main {
  margin-top: 0;
}
#topHeadWrap {
  position: relative;
}
/*		#mv
-----------------------------*/
#mv {
  position: relative;
  padding: 195px 0 0;
  z-index: 0;
}
#mvSlider {
  position: relative;
  border-radius: 50%;
  /*border:59px rgba(0,124,182,0.04) solid;*/
  width: 79%;
  max-width: 1105px;
  margin: 0 auto;
  box-shadow: 0 0 25px rgba(0, 124, 182, 0.43);
  z-index: 0;
}
#mvSlider::before,
#mvSlider::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border: 174px solid rgba(0, 124, 182, 0.04);
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
  animation: pulsate 4s linear infinite;
}
#mvSlider::after {
  border: 59px solid rgba(0, 124, 182, 0.04);
  animation-delay: 1s;
}
@keyframes pulsate {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(2);
    opacity: 0;
  }
}
#mvSlider figure {
  overflow: hidden;
  border-radius: 50%;
  /*box-shadow: 0 0 25px rgba(0,124,182,.43);
 margin: 0 3.5%;*/
}
#mvSlider figure img {
  max-width: none;
  object-fit: cover;
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
}

#mvTxts {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc((100% - 195px) / 2);
  margin: auto;
  z-index: 1;
}
#mvTxts h2 {
  display: inline-block;
  background: var(--blue);
  padding: 0 10px;
  margin-bottom: 5px;
  font-size: 32px;
  color: var(--LLblue);
  line-height: 1.55;
}
#mvTxts p {
  font-size: 18px;
}
#mvTxts p span {
  display: inline;
  background: linear-gradient(transparent 0%, var(--blue) 0%);
  padding: 0 3px 1px;
  color: var(--LLblue);
}

/*		#topNewsPickup
-----------------------------*/
#topNewsPickup {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
#topNewsPickup dl {
  border-radius: 10px;
  background: rgba(239, 251, 251, 0.75);
  max-width: 447px;
  min-height: 114px;
  margin: 0 0 0 auto;
}
#topNewsPickup dt {
  display: grid;
  place-content: center;
  border-radius: 15px 0 0 15px;
  width: 120px;
  padding-left: 6px;
  color: var(--blue2);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.07em;
}
#topNewsPickup dd {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-content: center;
  max-width: calc(100% - 120px);
  padding: 5px 20px 5px 0;
  line-height: 1.4;
}
#topNewsPickup dd .date {
  display: block;
  margin-bottom: 10px;
}
#topNewsPickup dd a {
  display: block;
}

/*		#topLead
-----------------------------*/
#topLead {
  position: relative;
  background: url("../images/top_lead_bg.png") no-repeat left top/100% 80%;
  margin-top: max(-34vw, -540px);
  padding-top: 214px;
  padding-bottom: 0;
}
#topLead p {
  font-size: 18px;
  margin-bottom: 2em;
  color: var(--blue);
  line-height: 2;
}
#topLead .txts {
  position: relative;
  z-index: 1;
}
#topLead .leadTxt {
  margin-bottom: 44px;
  font-size: min(3vw, 32px);
  line-height: 1.6;
}
#topLead .btnWrap {
  margin-top: 55px;
  margin-bottom: 0;
}
#topLead .btnWrap a + a {
  margin-top: 15px;
}
#topLead .logos figure {
  display: grid;
  place-content: center;
  background: var(--LLblue);
  border-radius: 50%;
  overflow: hidden;
}
#topLead .logos figure:nth-of-type(1) {
  width: 279px;
  height: 279px;
  margin: 0 0 0 auto;
}
#topLead .logos figure:nth-of-type(2) {
  width: 181px;
  height: 181px;
}
#topLead .logos figure:nth-of-type(3) {
  width: 167px;
  height: 167px;
  margin: -26px 0 0 auto;
}

#topLead .btmlogo {
  max-width: 909px;
  margin: 110px auto 0;
  padding-bottom: 118px;
}
#topLead .btmlogo img {
  mix-blend-mode: plus-lighter;
}
#topLead .btmlogo::after {
  content: "";
  display: block;
  background: url("../images/top_lead_bg_img.png") no-repeat left top/100% auto;
  width: 107.78vw;
  height: min(27.14vw, 761px);
  position: absolute;
  bottom: 0;
  left: 50%;

  transform: translate(-50%, 0);
}
#topLead .btmimg img {
  width: 100%;
}

/*		#topSustainability #topHumancapital
----------------------------------------*/
#top main .bg {
  background: #deecff;
}
#topSustainability {
  padding-top: 110px;
  padding-bottom: 32px;
}
#topHumancapital {
  padding-top: 35px;
  padding-bottom: 123px;
}
#topSustainability .txts,
#topHumancapital .txts {
  border-radius: 10px;
  background: rgba(239, 246, 255, 0.75);
  padding: 42px 46px 30px;
}
#topSustainability .btnWrap,
#topHumancapital .btnWrap {
  margin-top: 24px;
}
#topSustainability .slider figure,
#topHumancapital .slider figure {
  overflow: hidden;
  border-radius: 10px;
}

/*		#topNews
----------------------------------------*/
#topNews {
  background: #fff;
}
#topNews h2 {
  margin-bottom: 30px;
}
.cat {
  border-radius: calc(infinity * 1px);
  background: var(--blue);
  display: inline-block;
  padding: 7px 14px 9px;
  color: var(--wh);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
#topNews ul {
  padding: 0;
}
.newsList li {
  border-bottom: 1px #e1e1e1 solid;
  display: flex;
  align-items: flex-start;
  gap: 0 38px;
  padding: 40px 0;
  font-size: 18px;
  font-weight: 700;
}
.newsList li .date {
  width: 95px;
}
.newsList li .cat {
  min-width: 108px;
}
#topNews ul li a {
  max-width: calc(100% - 95px - 108px - 38px * 2);
}
.newsList li a:hover {
  opacity: 0.7;
}
#topNews .btnWrap {
  margin-top: 60px;
}

/* =======================================
	greeting
========================================== */
#greetingMessage .txts p + p {
  margin-top: 1.6em;
}
#greetingMission .iconList li {
  position: relative;
}
#greetingMission .iconList li figure {
  background: var(--wh);
  border: 5px solid var(--LLblue);
}
#greetingMission .iconList li span {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--blue2);
  font-weight: 700;
  line-height: 1em;
}
#greetingMission .iconList li h4 {
  text-align: center;
  line-height: 1.4;
  font-weight: 700;
}
#greetingMission .iconList li figure img {
  width: 79px;
  height: auto;
}
#greetingMission .iconList li.iconList05 figure img {
  width: 71px;
}

#greetingConduct ul li {
  border-radius: 50%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--blue);
}
#greetingConduct ul li span {
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4em;
  text-align: center;
}
#greetingConduct ul li p {
  margin-top: 1em;
  line-height: 1.5em;
  text-align: center;
}

.greetingGroupImage {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 min(4vw, 40px);
}
.greetingGroupImage::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  margin: auto;
  display: block;
  width: min(60vw, 300px);
  height: min(60vw, 300px);
  border-radius: 50%;
  border: 60px solid #9ad1f7;
}
.greetingGroupImage > div {
  width: 100%;
  text-align: center;
}
.greetingGroupImage dl {
  width: min(40vw, 280px);
  height: min(40vw, 280px);
  background-color: var(--wh);
  border: 3px solid var(--blue);
  border-radius: calc(infinity * 1px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
  position: relative;
  z-index: 5;
}
.greetingGroupImage dl:nth-of-type(1) {
  margin: auto;
}
.greetingGroupImage dl dt {
  background: var(--blue);
  color: var(--wh);
  font-weight: 700;
  text-align: center;
  width: 100%;
  height: 40%;
  display: flex;
  align-items: end;
  justify-content: center;
  padding-bottom: 10px;
}
.greetingGroupImage dl dd {
  color: var(--blue);
  font-weight: 700;
  text-align: center;
  width: 100%;
  height: 60%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

/* =======================================
	groupoverview
========================================== */
#groupoverviewGroup ul li {
  display: flex;
  flex-direction: column;
  width: min(100%, 400px);
  margin: 0 auto 30px;
  padding: 30px;
  background: var(--wh);
  border-radius: 10px;
  border: 1px solid var(--blue);
}
#groupoverviewGroup ul li figure {
  margin-bottom: 20px;
}
#groupoverviewGroup ul li h4 {
  background: var(--blue);
  border-radius: 5px;
  color: var(--wh);
  font-size: 2rem;
  margin-bottom: 10px;
  padding: 4px 15px 5px;
  text-align: center;
}
#groupoverviewGroup ul li p {
  text-align: center;
}
#groupoverviewGroup ul li .btn {
  margin-top: 20px;
  flex-grow: 1;
}
/* =======================================
   sustainability
========================================== */
#sustainabilityLead div.bgLblue {
  border-radius: 10px;
}
#sustainabilityLead .h3Tit {
  border-bottom: 1px solid var(--blue);
}
#sustainabilityLead .h3Tit:nth-of-type(2) {
  margin-top: 40px;
}

#sustainabilityPolicy li {
  text-align: center;
}
#sustainabilityPolicy ul li figure {
  display: grid;
  place-content: center;
  border-radius: 50%;
  background: #fff;
  border: 5px solid var(--LLblue);
  width: min(45vw, 270px);
  height: min(45vw, 270px);
  margin: 0 auto 10px;
}
#sustainabilityPolicy ul li .h4Tit {
  color: var(--blue2);
  border-bottom: 1px solid var(--blue2);
  display: inline-block;
  letter-spacing: 0.1em;
  padding: 0 1em 3px;
}

.initiativeBox + .initiativeBox {
  margin-top: 80px;
}
.initiativeBox h5 {
  margin-bottom: 20px;
  font-size: min(3vw, 28px);
}
.esgTtl {
  border-bottom: 2px solid var(--blue);
}
.esgTtl h4 {
  background: var(--blue);
  line-height: 1.5;
  padding: 10px 1em;
}
.esgTtl h4 .en {
  color: var(--wh);
  letter-spacing: 0.05em;
  line-height: 1;
}
.esgTtl h4 .en::first-letter {
  font-size: 140%;
}
.sdgsIcons {
  margin-bottom: 30px;
}
.esgTtl.flexRowReverse .sdgsIcons {
  left: 0;
  right: auto;
}
.sdgsIcons li {
  width: 100px;
}

/* =======================================
   environment
========================================== */
.sdgsHead .subTit {
  border-radius: 50%;
  border: 5px var(--blue2) solid;
  background: var(--LLblue);
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  align-content: center;
  max-width: 350px;
  max-height: 350px;
  height: 90vw;
  margin: 0 auto;
  padding: 50px 0;
}
.sdgsHead .subTit h3 {
  margin: 0 auto 10px;
  color: var(--blue2);
  letter-spacing: 0.15em;
}
.sdgsHead .subTit h3 .en {
  border-bottom: 1px solid var(--blue2);
  display: block;
  font-size: 70%;
  line-height: 1.2;
  letter-spacing: 0.05em;
  padding: 0 1em 0.2em;
}
.sdgsHead .subTit h3 .en::first-letter {
  font-size: 150%;
}
.sdgsHead .txts {
  text-align: center;
}
.sdgsHead .txts .sdgsIcons {
  margin-bottom: 30px;
  justify-content: center;
}
.sdgsHead p {
  font-size: min(2.4vw, 24px);
}
.icon4List li {
  text-align: center;
}
.icon4List li figure {
  border-radius: 50%;
  display: grid;
  place-content: center;
  background: var(--wh);
  border: 5px solid var(--LLblue);
  width: 200px;
  height: 200px;
  margin: 0 auto 10px;
}
.icon4List li .h4Tit {
  line-height: 1.5;
  margin-bottom: 0;
}

#environmentInitiatives .icon4List {
  margin-top: 40px;
}
#environmentInitiatives .btnWrap + .initiativeBox {
  margin-top: 60px;
}
#environmentInitiatives .definitionBox .numList li {
  margin-left: 1.5em;
  text-indent: -1.5em;
}
#environmentActivities li figure {
  margin-bottom: 20px;
}
#environmentActivities .definitionBox .btn {
  background: var(--wh);
}

/* =======================================
   society
========================================== */
#societyLead.sdgsHead .subTit {
  border-color: var(--blue);
  background: var(--Lblue);
}
#societyLead.sdgsHead .subTit h3 {
  color: var(--blue);
}
#societyLead.sdgsHead .subTit h3 .en {
  border-bottom: 1px solid var(--blue);
}

/* =======================================
   governance
========================================== */
#governanceLead.sdgsHead .subTit {
  border-color: var(--yellow);
  background: var(--wh);
}
#governanceLead.sdgsHead .subTit h3 {
  color: var(--yellow);
}
#governanceLead.sdgsHead .subTit h3 .en {
  border-bottom: 1px solid var(--yellow);
}

#governanceInitiatives .icon4List {
  margin-top: 60px;
}

/* =======================================
   #humancapital
========================================== */
#humancapitalInitiatives .catch {
  background: var(--blue2);
  border-radius: 5px;
  color: var(--wh);
  font-weight: 700;
  padding: 4px 15px 5px;
  text-align: center;
}
#humancapitalInitiatives .catch:not(:first-of-type) {
  margin-top: 60px;
}

/* =======================================
   education
========================================== */
#educationInitiatives h4 {
  color: var(--blue);
  border-bottom: 1px solid var(--blue);
}
#educationInitiatives ul li {
  text-align: center;
}
#educationInitiatives ul li figure {
  border: 5px solid var(--LLblue);
  border-radius: calc(infinity * 1px);
  overflow: hidden;
  margin: 0 auto 10px;
  background: var(--wh);
  padding: 5px;
}
#educationInitiatives ul li h5 {
  margin: 0 auto 10px;
  text-align: center;
  color: var(--blue2);
  border-bottom: 1px solid var(--blue2);
  display: inline-block;
  letter-spacing: 0.1em;
  padding: 0 1em 3px;
}
#educationInitiatives h4:not(:first-of-type) {
  margin-top: 60px;
}

.initiativeBox dl.box {
  border-radius: 10px;
  border: 1px var(--blue2) solid;
  padding: 15px 5% 20px;
  background: var(--wh);
}
.initiativeBox dl.box dt {
  margin-bottom: 10px;
  font-weight: 600;
  text-align: center;
}

/* =======================================
   workstyles
========================================== */
#workstylesInitiatives ul {
  margin-top: 60px;
}
#workstylesInitiatives ul li {
  text-align: center;
}
#workstylesInitiatives ul li figure {
  border: 5px solid var(--LLblue);
  border-radius: calc(infinity * 1px);
  overflow: hidden;
  margin: 0 auto 10px;
  background: var(--wh);
  padding: 5px;
}
#workstylesInitiatives ul li h4 {
  margin: 0 auto 10px;
  text-align: center;
  color: var(--blue2);
  border-bottom: 1px solid var(--blue2);
  display: block;
  letter-spacing: 0.1em;
  padding: 0 1em 3px;
}
#workstylesInitiatives ul li p {
  text-align: left;
}

/* =======================================
   numbers
========================================== */
#numbersDatas ul li {
  border-radius: 30px;
  background: var(--wh);
  border: 2px solid var(--blue);
  padding: 20px 2%;
}
#numbersDatas ul li h3 {
  margin-bottom: 10px;
  font-size: min(2.6vw, 26px);
  text-align: center;
}
#numbersDatas ul li p {
  color: var(--blue);
  font-size: min(2.2vw, 22px);
  font-weight: 700;
  text-align: center;
}
#numbersDatas ul li p img {
  margin: 0 auto;
}
#numbersDatas ul li .fontL {
  font-size: 60px;
  line-height: 1;
}
#numbersHumancapital table tbody th,
#numbersHumancapital table td {
  padding: 10px;
  font-size: 15px;
}
#numbersHumancapital table td {
  text-align: right;
}
#numbersHumancapital table tr th:nth-of-type(3) {
  white-space: nowrap;
}

#numbersInitiatives .contBox {
  border-radius: 30px;
  background: var(--wh);
  border: 2px solid var(--blue);
  padding: 0 5% 30px;
}

#numbersInitiatives .contBox h3 {
  margin-top: -1em;
  background: var(--blue);
  border-radius: 30px;
  color: #fff;
}

#numbersInitiatives .contBox > p,
#numbersInitiatives .contBox dd {
  margin-bottom: 1em;
}

#numbersInitiatives .contBox dt {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 5px;
  color: var(--blue);
}

/* =======================================
   news
========================================== */
#news .mainTitle,
body.archive .mainTitle,
body.single .mainTitle {
  /*background: url("../images/news_title.jpg") no-repeat center top / cover;*/
}
#news .mainTitle span {
  display: block;
  font-size: 90%;
}
/*	一覧
-----------------------------*/
#newsIndex {
  padding: 100px 0;
}
/*
.newsBox{
 border-bottom: 1px var(--LGray) solid;
 padding: 30px 0;
}*/

.newsLinks.flex {
  margin-bottom: 20px;
  border-bottom: 2px solid var(--blue);
  justify-content: center;
  gap: 10px;
}
.newsLinks li {
  width: min(calc((100% - 10px) / 2), 240px);
}
.newsLinks li a {
  display: grid;
  align-items: center;
  background-color: var(--wh);
  width: 100%;
  height: 100%;
  padding: 0.5em 0.2em;
  border: solid var(--blue);
  border-width: 2px 2px 0 2px;
  border-radius: 10px 10px 0 0;
  color: var(--blue);
  font-weight: 700;
  letter-spacing: 0.03em;
  text-align: center;
}
.newsLinks li a:hover,
.newsLinks .current a {
  background-color: var(--blue);
  color: #fff;
}

.newsLinks li.jportnews a {
  color: #009fb0;
  border: solid #009fb0;
  border-width: 2px 2px 0 2px;
}
.newsLinks li.jportnews a:hover,
.newsLinks .jportnews.current a {
  background-color: #009fb0;
  color: #fff;
}

.newsLinks li.keiei_kaihou a {
  color: #690d74;
  border: solid #690d74;
  border-width: 2px 2px 0 2px;
}
.newsLinks li.keiei_kaihou a:hover,
.newsLinks .keiei_kaihou.current a {
  background-color: #690d74;
  color: #fff;
}

.newsLinks li.column a {
  color: #07489f;
  border: solid #07489f;
  border-width: 2px 2px 0 2px;
}
.newsLinks li.column a:hover,
.newsLinks .column.current a {
  background-color: #07489f;
  color: #fff;
}

.newsLinks li.jnews a {
  color: #6a9b01;
  border: solid #6a9b01;
  border-width: 2px 2px 0 2px;
}
.newsLinks li.jnews a:hover,
.newsLinks .jnews.current a {
  background-color: #6a9b01;
  color: #fff;
}

.newsLinks li.sns a {
  color: #e76d01;
  border: solid #e76d01;
  border-width: 2px 2px 0 2px;
}
.newsLinks li.sns a:hover,
.newsLinks .sns.current a {
  background-color: #e76d01;
  color: #fff;
}

#news .pageLinks {
  margin: 50px auto;
}
#newsIndex .newsList li {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  gap: 5px 26px;
  border-bottom: 1px solid #d9d9d9;
}
#newsIndex .newsList li:has(a) {
  display: block;
}
#newsIndex .newsList li a {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  gap: 5px 26px;
}
#newsIndex .newsList li p {
  line-height: 1.4;
}

/*	詳細　single
-----------------------------*/
.newsInfo {
  display: flex;
  gap: 0px 20px;
  margin-bottom: 30px;
}
#newsDetail h3 {
  margin-bottom: 20px;
  text-align: left;
}
#newsDetail .h3Tit::after {
  margin: 10px 0 0 0;
}

#newsDetail figure {
  margin-bottom: 1.6em;
}
#newsDetail .mv {
  margin-bottom: 2em;
}
#newsDetail .mv img {
  margin: 0 auto;
}

#newsDetail .inner1200 > figure img {
  height: auto;
}

/* =======================================
	contact
========================================== */

.telbox {
  border-radius: 30px;
  border: 3px var(--red) solid;
  background: #fff;
  max-width: 500px;
  padding: 40px 10px;
  margin: 0 auto;
  text-align: center;
}
.telbox .tel a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 10px;
  color: var(--red);
  font-size: 4.6rem;
  font-weight: 700;
  line-height: 1;
}
.telbox .tel a::before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  background: url(../images/ic_tel_w.png) no-repeat center center / 45% auto
    var(--red);
  width: 45px;
  height: 45px;
}
.telbox .time {
  margin-top: 5px;
}

/* =======================================
	form
========================================== */
.basicTable .hissu {
  display: inline-block;
  background: var(--red);
  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;
  white-space: wrap;
  margin-left: 1.5em;
  text-indent: -1.5em;
}
#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 input.btn {
  border: none;
  margin: 0 auto;
  padding: 1em 36px 1em 22px;
  width: 213px;
  text-align: center;
  cursor: pointer;
}
#mailformpro .formBtn .confirm input.btn {
  padding-right: 100px;
  background: #effbfb url(../images/ic_arrow_blue.svg) no-repeat
    calc(100% - 30px) 50% / 53px 53px;
}
#mailformpro .formBtn .confirm input.btn.btnL {
  width: min(100%, 343px);
}

#contactForm.bgLblue #mailformpro .formBtn .confirm input.btn {
  background: #fff url(../images/ic_arrow_blue.svg) no-repeat calc(100% - 30px)
    50% / 53px 53px;
}

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

#thanks p {
  font-size: 1.8rem;
  margin: 100px auto;
}
/* =======================================
	privacypolicy
========================================== */
#privacyPolicy .h4Tit {
  border-bottom: 1px dotted var(--base);
  padding-bottom: 5px;
  text-align: center;
}
.policyBox {
  overflow-y: scroll;
  height: 350px;
  padding: 20px 2%;
}
.policyBox .h5Tit {
  margin-bottom: 5px;
}
.policyBox .h6Tit {
  margin-top: 15px;
  margin-bottom: 0;
}
.policyBox .h6Tit:first-of-type {
  margin-top: 0;
}
.policyBox p {
  margin-bottom: 1em;
  line-height: 1.6;
}
.policyBox ul {
  margin-top: -0.75em;
}
.policyBox ul li {
  margin-left: 1em;
  text-indent: -1em;
}
