@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
:root {
  scroll-padding-top: 60px;
}
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
body {
  font-size: 1.3rem;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.5;
  font-weight: normal;
  max-width: 100%;
}
object {
  pointer-events: none;
}
.pc {
  display: none !important;
}
a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

section {
  padding: 60px 0;
}
section p:not(:last-child) {
  margin-bottom: 15px;
}
p,
li,
dt,
dd,
th,
td,
input {
  font-size: 1.3rem;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1.5rem;
}

main section {
  padding: 45px 0 48px;
}
.inner900,
.inner1000,
.inner1100,
.inner1200,
.inner1300,
.inner1400 {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
}
.txtImgBox .txts + figure,
.txtImgBox figure + .txts {
  margin-top: 30px;
}
.pcFlex.half > * + * {
  margin-top: 30px;
}
.pcFlex figure {
  margin-left: auto;
  margin-right: auto;
}

main {
  margin-top: 70px;
}

/* =======================================
	margin / padding
========================================== */
.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: 15% !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;
}

/*タイトル
========================================== */
.h2Tit {
  margin-bottom: 20px;
  font-size: 2.3rem;
}

.h3Tit {
  font-size: 2rem;
  margin-bottom: 15px;
}

.h4Tit {
  font-size: 1.8rem;
  margin-bottom: 10px;
}
.h5Tit {
  font-size: 1.6rem;
  margin-bottom: 10px;
}
.h6Tit {
  font-size: 1.5rem;
  margin-bottom: 10px;
}

/*
　テキスト
========================================== */
.note {
  font-size: 1.1rem;
}
.leadTxt {
  font-size: 1.6rem;
}
.leadWrap:has(+ section) {
  padding: 40px 5% 0;
}

/*装飾
========================================== */

/*ボタン
========================================== */
.btn {
  min-height: 60px;
  font-size: 20px;
}
.btn.inline {
  padding-left: 20px;
  padding-right: 60px;
  font-size: 1.6rem;
}
.icArrow {
  padding-right: 44px;
}
.icArrow::after {
  width: 36px;
  height: 36px;
}
.btn.icArrow::after {
  right: 15px;
}
.btn.btnS.icArrow {
  padding-right: 40px;
}
.btn.btnS.icArrow::after {
  right: 10px;
  width: 30px;
  height: 30px;
}

/*-- table --*/
.basicTable {
  border-bottom: none;
}
.basicTable > dt {
  border-bottom: none;
  padding: 3px 2.6% 5px;
  width: 100%;
}
.basicTable > dd {
  padding: 8px 2.6%;
  width: calc(100% - 20%);
  width: 100%;
}

table.basicTable thead th {
  font-size: 1.6rem;
}
table.basicTable th,
table.basicTable td {
  padding: 10px 0.815%;
}

.spScroll {
  overflow-x: auto;
  padding: 10px 0;
}
.spScroll table {
  min-width: 1000px;
}

/* =======================================
  ページャー
========================================== */
/*-- pageNavi --*/
.pageNavi {
  gap: 0 3%;
  margin-top: 40px;
}
.pageNavi .current,
.pageNavi .inactive,
.pageNavi a {
  width: 35px;
  height: 35px;
}

/*-- pager --*/
.pager {
  margin-top: 50px;
}
.pager a {
  font-size: 1.6rem;
  width: 200px;
}

/* =======================================
	header
========================================== */
header {
  height: 70px;
	top: 45px;
}
header #logo {
  max-width: none;
  padding-top: 4px;
}
header #logo a img {
  width: auto;
  height: 64px;
}
header.fixed {
  top: 0;
}

/* =======================================
	.menu
========================================== */
.menu {
  position: absolute;
  right: 0px;
  top: 5px;
  width: 55px;
  height: 55px;
  cursor: pointer;
  z-index: 101;
  background: var(--blue);
  border-radius: 4px;
}
.menu span {
  position: absolute;
  left: 16px;
  width: 24px;
  height: 2px;
  background-color: #fefefe;
  transition: all 0.6s;
  border-radius: calc(infinity * 1px);
}

.menu span.menuLine01 {
  top: 21px;
}
.menu span.menuLine02 {
  top: 28px;
}
.menu span.menuLine03 {
  top: 35px;
}
.menu.active span.menuLine01 {
  transform: rotate(45deg);
  top: 26px;
}
.menu.active span.menuLine02 {
  width: 0;
  left: 50%;
}
.menu.active span.menuLine03 {
  transform: rotate(-45deg);
  top: 26px;
}

.menuBg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 99;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s;
  cursor: pointer;
}
.menuBg.active {
  opacity: 0.8;
  visibility: visible;
}

/* =======================================
	gnavi
========================================== */
.gnavi {
  position: fixed;
  right: -100vw;
  top: 0;
  background: var(--blue);
  width: 100vw;
  height: 100vh;
  padding: 0 0 40px;
  transition: all 0.6s;
  z-index: 100;
  overflow-y: auto;
}
.gnavi.active {
  right: 0;
}
#gnaviList {
  display: block;
  padding: 60px 0 0 0;
  width: 100vw;
}
#gnaviList li {
  border-bottom: 1px solid #fff;
}
#gnaviList li a {
  display: block;
  padding: 0.8em 4%;
  font-size: 16px;
  color: #fff;
}
#gnaviList .sub {
  border-top: 1px solid #fff;
}
#gnaviList .sub li {
  border-bottom: none;
  margin-left: calc(6vw + 1em);
}
#gnaviList .sub li:not(:first-of-type) {
  border-top: 1px dotted #fff;
}
header .headerLinks .tel {
  display: flex;
  flex-flow: row wrap;
  background: #fff;
  justify-content: center;
  text-align: center;
  align-items: center;
  padding: 10px 4%;
}
header .headerLinks .tel .time {
  width: 100%;
}
header .headerLinks .contact,
header .headerLinks .login {
  width: 92%;
  margin: 10px auto 0;
}

/* =======================================
	footer/#footContact
========================================== */
#footContact {
  padding: 30px 10px;
  margin-bottom: 120px;
}
#footContact h2 {
  font-size: min(4.8vw, 3rem);
}
#footContact .btnContact a {
  padding: 14px 0;
  font-size: 14px;
}
#footContact .btnContact a span {
  gap: 0 10px;
  font-size: min(5vw, 28px);
}
#footContact .btnContact a span::before {
  width: 25px;
  height: 19px;
}

/* =======================================
	footer
========================================== */
footer {
  padding: 50px 0 0;
}

#footBottom {
  position: relative;
  background: url("../images/foot_wave.svg") no-repeat center top/200% 100%;
  padding: 120px 0 20px;
  margin-top: -120px;
}
#footerLogo {
  width: 80%;
  max-width: 374px;
  margin: 0 auto;
}

#footBottom .address {
}

footer .copy {
  margin-top: 50px;
  font-size: 1.4rem;
  text-align: center;
}

#pageTop {
  right: 4vw;
  bottom: 20px;
}
#pageTop a {
  font-size: 14px;
}
#pageTop a::before {
  width: 43px;
  height: 43px;
  margin: 0 auto 8px;
}

/* =======================================
	pgs common
========================================== */
.mainTitle {
  height: 100px;
}
.mainTitle h2 {
  font-size: 2.4rem;
}

/*		leadTxt
-----------------------------*/
.pgs .leadWrap .leadTxt {
  text-align: center;
}

.pgs .definitionBox {
  padding: 40px 10%;
}
.pgs .definitionBox dt {
  font-size: 1.8rem;
}

/* =======================================
  breadcrumb
========================================== */
#breadcrumb {
  width: 90%;
}
#breadcrumb li {
  font-size: 13px;
}
/*-- table --*/
.basicTable {
  border-bottom: none;
}
.basicTable > dt {
  border-bottom: none;
  font-weight: 700;
  padding: 3px 2.6%;
  width: 100%;
}
.basicTable > dd {
  padding: 10px 2.6%;
  width: calc(100% - 20%);
  width: 100%;
}

table.basicTable thead th {
  font-size: 1.4rem;
}
table.basicTable th,
table.basicTable td {
  padding: 10px 0.815%;
}

table.basicTable {
  border-bottom: 1px solid var(--base);
}

/*-- iconList --*/
.iconList.flex {
  gap: 60px 5%;
}

.spScroll {
  overflow-x: auto;
  padding: 10px 0;
}
.spScroll table {
  min-width: 1000px;
}

/*		anchorLink
-----------------------------*/
.anchorLink {
  flex-flow: row wrap;
  gap: 10px 15px;
  padding: 15px 0;
}
.anchorLink ul {
  flex-flow: row wrap;
  gap: 10px 15px;
}
.pageLinks {
  padding: 15px 0;
  gap: 10px 15px;
}
.anchorLink li,
.pageLinks li {
  width: calc((100% - 30px) / 2);
  line-height: 1.4;
}
.anchorLink a,
.pageLinks li a {
  font-size: 1.2rem;
  padding: 10px 8% 10px 4%;
}
/*----*/

.anchorLink .btn2 {
  width: 100%;
}

main .pageLinks:last-of-type {
  margin-top: 35px;
  margin-bottom: 35px;
}
main .pageLinks:last-of-type li a {
  height: 60px;
  font-size: 1.4rem;
  line-height: 1.5;
}

/* =======================================
	top SP
========================================== */

/*		#mv SP
-----------------------------*/
#mv {
  padding: 80px 0 0;
}
#mvSlider {
  width: 90%;
  box-shadow: 0 0 25px rgba(0, 124, 182, 0.43);
}
#mvSlider::before,
#mvSlider::after {
  border: 174px solid rgba(0, 124, 182, 0.04);
}
#mvSlider::after {
  border: 59px solid rgba(0, 124, 182, 0.04);
}

#mvTxts {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc((100% - 80px) / 2);
}
#mvTxts h2 {
  padding: 0 5px;
  margin-bottom: 5px;
  font-size: min(6vw, 32px);
}
#mvTxts p {
  font-size: min(3.2vw, 18px);
  line-height: 1.8;
}

/*		#topNewsPickup SP
-----------------------------*/
#topNewsPickup {
  bottom: 8%;
}
#topNewsPickup dl {
  display: block;
  height: auto;
}
#topNewsPickup dt {
  padding: 10px;
  width: auto;
  font-size: 16px;
}
#topNewsPickup dd {
  max-width: none;
  padding: 0px 20px 15px;
}

/*		#topLead PC
-----------------------------*/
#topLead {
  position: relative;
  background: url("../images/top_lead_bg.png") no-repeat center top/200% 95%;
  margin-top: -15vw;
  padding-top: 20vw;
}
#topLead p {
  font-size: 16px;
  margin-bottom: 2em;
}
#topLead .leadTxt {
  margin-bottom: 30px;
  font-size: min(4.2vw, 32px);
}
#topLead .btnWrap {
  margin-top: 40px;
}
#topLead .btnWrap a + a {
  margin-top: 10px;
}
#topLead .logos {
  margin-top: 30px;
}
#topLead .logos figure:nth-of-type(2) {
  margin: 0;
}

#topLead .btmlogo {
  margin: 50px auto 0;
  padding-bottom: 14vw;
}
#topLead .btmlogo::after {
  width: 120vw;
  height: min(31vw, 761px);
}

/*		#topSustainability #topHumancapital SP
----------------------------------------*/
#topSustainability {
  padding-top: 50px;
  padding-bottom: 32px;
}
#topHumancapital {
  padding-top: 35px;
  padding-bottom: 60px;
}
#topSustainability .txts,
#topHumancapital .txts {
  margin-bottom: 30px;
  padding: 30px 6% 30px;
}

/*		#topNews SP
----------------------------------------*/
#topNews h2 {
  margin-bottom: 20px;
}
.cat {
  padding: 5px 10px 6px;
  font-size: 1.4rem;
}
#topNews ul {
  padding: 0;
}
#topNews ul li {
  flex-flow: row wrap;
  gap: 10px 20px;
  padding: 20px 0;
  font-size: 16px;
}
#topNews ul li .cat {
  min-width: 108px;
}
#topNews ul li a {
  width: 100%;
  max-width: none;
}
#topNews .btnWrap {
  margin-top: 40px;
}

/* =======================================
	greeting SP
========================================== */
#greetingMessage .definitionBox dd {
  font-size: 1.6rem;
  line-height: 1.8;
}
#greetingMessage .txts .right {
  font-size: 1.5rem;
  margin-top: 1em;
}

#greetingMission .iconList {
  margin-top: 30px;
}
#greetingMission .iconList li {
  width: calc(95% / 2);
  flex: none;
}
#greetingMission .iconList li span {
  font-size: 3.5rem;
}
#greetingMission .iconList li h4 {
  margin-top: 5px;
  font-size: 1.6rem;
}

#greetingConduct ul {
  margin-top: 30px;
}
#greetingConduct ul li {
  border: 30px solid var(--Lblue);
  width: min(70vw, 265px);
  height: min(70vw, 265px);
}
#greetingConduct ul li + li {
  margin-top: 20px;
}
#greetingConduct ul li span {
  font-size: 2.4rem;
}
#greetingConduct ul li span span {
  font-size: 1.8rem;
}

#groupoverviewGroup ul li p {
  margin-bottom: 0;
}
.greetingGroupImage {
  margin-top: 20px;
}
/*.greetingGroupImage dl:nth-of-type(1){
	margin: 0 calc((100% - 43vw)/2) -1vw;
}*/
.greetingGroupImage dl dt {
  font-size: 1.6rem;
}
.greetingGroupImage dl dd {
  font-size: 1.4rem;
  padding: 7px 0 0.5em;
}
.greetingGroupImage::before {
  border: 25px solid #9ad1f7;
}

/* =======================================
   sustainability SP
========================================== */
#sustainabilityLead div.bgLblue {
  padding: 20px 5%;
}
#sustainabilityLead .h3Tit {
  margin-bottom: 15px;
}
#sustainabilityLead figure {
  margin: 20px 0 10px;
  padding: 20px 10%;
}
#sustainabilityLead figure img:nth-of-type(2) {
  margin-top: 20px;
}

#sustainabilityPolicy ul li {
  max-width: 400px;
  margin: 0 auto 30px;
}
#sustainabilityPolicy ul li figure {
  margin: 0 auto 10px;
}

.initiativeBox + .initiativeBox {
  margin-top: 50px;
}
.initiativeBox h4,
.initiativeBox h5 {
  margin-bottom: 5px;
  font-size: min(4.3vw, 16px);
}
.initiativeBox .esgTtl {
  padding-bottom: 100px;
}
.initiativeBox .btn {
  display: inline-flex;
  width: auto;
  padding-left: 30px;
  padding-right: 60px;
  font-size: 16px;
}
.initiativeBox .btnWrap {
  margin-top: 30px;
}
.esgTtl {
  margin-bottom: 15px;
}
.esgTtl h4 {
  margin: 0 0 10px;
  font-size: 1.8rem;
}
.esgTtl h4 .en {
  display: inline-block;
  margin-left: 15px;
}
.sdgsIcons {
  justify-content: center;
  gap: 5px;
  margin-bottom: 0;
  width: 100%;
}
.sdgsIcons li {
  width: 90px;
}

/* =======================================
   environment SP
========================================== */
#environmentLead {
  padding-top: 15px;
  padding-bottom: 25px;
}
#environment .initiativeBox h4 {
  font-size: min(4.3vw, 16px);
  margin-bottom: 5px;
}

.sdgsHead .subTit {
  max-width: 200px;
  max-height: 200px;
  height: 200px;
  padding: 20px 0;
  margin: 0 auto;
}
.sdgsHead .subTit h3 {
  font-size: 2.3rem;
  margin-bottom: 10px;
}
.sdgsHead .txts {
  margin-top: 20px;
}
.sdgsHead .txts .sdgsIcons {
  margin-bottom: 15px;
}
.sdgsHead .txts .sdgsIcons li {
  width: 70px;
}
.sdgsHead p {
  font-size: min(4vw, 1.5rem);
  text-align: center;
}
.icon4List li + li {
  margin-top: 30px;
}
.icon4List li figure {
  margin: 0 auto 10px;
}

#environmentInitiatives .btnWrap + .initiativeBox {
  margin-top: 50px;
}
#environmentActivities li figure {
  margin-bottom: 20px;
}

/* =======================================
   society
========================================== */
#societyLead {
  padding-top: 15px;
  padding-bottom: 25px;
}
#societyLead.sdgsHead .subTit {
  border-color: var(--blue);
  background: var(--Lblue);
}
#societyLead.sdgsHead .subTit h3 {
  color: var(--blue);
}

/* =======================================
   governance
========================================== */
#governanceLead {
  padding-top: 15px;
  padding-bottom: 25px;
}
#governanceLead.sdgsHead .subTit {
  border-color: var(--yellow);
  background: var(--wh);
}
#governanceLead.sdgsHead .subTit h3 {
  color: var(--yellow);
}

#governanceInitiatives .icon4List {
  margin-top: 60px;
}
#governanceInitiatives .icon4List li:nth-of-type(1) figure img {
  height: 65px;
}
#governanceInitiatives .icon4List li:nth-of-type(2) figure img,
#governanceInitiatives .icon4List li:nth-of-type(3) figure img,
#governanceInitiatives .icon4List li:nth-of-type(4) figure img {
  height: 85px;
}

/* =======================================
   #humancapital SP
========================================== */
#humancapitalInitiatives .catch {
  font-size: 1.8rem;
}
#humancapitalInitiatives .catch:not(:first-of-type) {
  margin-top: 40px;
}
#humancapitalInitiatives .initiativeBox h4 {
  font-size: 1.8rem;
  margin-bottom: 5px;
}

/* =======================================
   education PC
========================================== */
#educationInitiatives h4 {
  font-size: min(4.3vw, 16px);
}
#educationInitiatives ul li h5 {
  font-size: 1.8rem;
}
#educationInitiatives .leadTxt {
  font-size: min(3.8vw, 14px);
  line-height: 1.6;
  text-align: left;
}
#educationInitiatives ul {
  margin: 20px auto 0;
}
#educationInitiatives ul li {
  margin-bottom: 35px;
}

.initiativeBox dl.box {
  margin: 20px auto;
}

/* =======================================
   workstyles SP
========================================== */
#workstylesInitiatives ul {
  margin-top: 40px;
}
#workstylesInitiatives ul li {
  margin-top: 30px;
}

/* =======================================
   numbers SP
========================================== */
#numbersDatas ul {
  gap: 20px 5%;
}
#numbersDatas ul li {
  padding: 15px 4%;
  width: 47.5%;
}
#numbersDatas ul li h3 {
  margin-bottom: 10px;
  font-size: min(4.8vw, 1.8rem);
  text-align: center;
}
#numbersDatas ul li p img {
  height: 100px;
}
#numbersDatas ul li:nth-child(2) p img,
#numbersDatas ul li:nth-child(6) p img {
  padding: 20px 0;
}
#numbersDatas ul li:nth-child(3) p img {
  margin-bottom: 25px;
  padding: 5px 0;
}
#numbersDatas ul li:nth-child(4) p img {
  padding: 10px 0;
}
#numbersDatas ul li:nth-child(5) p img {
  padding: 15px 0;
}
#numbersDatas ul li p {
  font-size: 18px;
}
#numbersDatas ul li p .note {
  font-size: 16px;
}
#numbersDatas ul li .fontL {
  font-size: 3.5rem;
}
#numbersHumancapital table tbody th,
#numbersHumancapital table td {
  font-size: 14px;
}

/* =======================================
	news SP
========================================== */
/*		一覧
-----------------------------*/

#newsIndex {
  padding: 50px 0 40px;
}

.newsLinks.flex {
  margin: 0 -5vw;
  padding: 0 5vw;
  border-bottom: none;
  flex-wrap: wrap;
}
.newsLinks li {
  width: min(calc((100% - 20px) / 3), 240px);
}

.newsLinks li a {
  letter-spacing: 0;
  border-width: 2px 2px 2px 2px;
  font-size: 1.2rem;
}

#news main {
  padding-bottom: 30px;
}
.newsList li {
  padding: 20px 0;
}
#newsIndex .newsList li a {
  gap: 10px 5px;
}

.newsList li .cat + p {
  width: 100%;
}

/*	詳細　single
-----------------------------*/
article {
  padding: 50px 0;
}
.newsInfo {
  margin-bottom: 10px;
}

#newsDetail .inner800 {
  width: 90%;
}
#newsDetail h3 {
  font-size: 1.6rem;
}

#newsDetail .mv {
  margin-bottom: 1.5em;
}
#newsDetail figure img {
  height: auto;
}

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

.telbox {
  padding: 30px 10px;
}
.telbox .tel a {
  gap: 0 10px;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1;
}

/* =======================================
	form
========================================== */
#contactForm {
  padding-bottom: 45px;
}

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

#thanks {
  margin-top: 50px;
}

#thanks p {
  font-size: 1.8rem;
}

/* =======================================
	privacypolicy
========================================== */
#privacyPolicy {
  margin-top: 20px;
}
.policyBox {
  padding: 10px 4%;
  height: 100vw;
  max-height: 350px;
}
.policyBox .h5Tit {
  margin-top: 30px;
}
.contactPrivacy {
  margin-top: 20px;
}
