@charset "UTF-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Vujahday+Script&display=swap");

:root {
  --color-primary: #B0DC19;
	--color-primary-shade: #B0DC19;
  --color-bg-gray: #F5F5F5;
  --color-secondary: #E7020E;
  --color-font: #464646;
  --color-white: #ffffff;
  --color-bg-grad1: linear-gradient(90deg, #F0FFD2 0%, #EEFCFF, #E4FAFF 100%);
  --header-color-primary-tint: #11326C;
  --header-color-font: var(--color-font);
  --footer-color-font: var(--color-font);
  --px130: min(calc(130px + (1vw - 19.2px) * 4.2321), 130px);
  --px90: min(calc(90px + (1vw - 19.2px) * 2.9285), 90px);
  --px80: min(calc(80px + (1vw - 19.2px) * 2.5952), 80px);
  --px74: min(calc(74px + (1vw - 19.2px) * 2.3992), 74px);
  --px70: min(calc(70px + (1vw - 19.2px) * 2.2653), 70px);
  --px68: min(calc(68px + (1vw - 19.2px) * 2.1991), 68px);
  --px56: min(calc(56px + (1vw - 19.2px) * 1.7857), 56px);
  --px48: min(calc(48px + (1vw - 19.2px) * 1.5476), 48px);
  --px46: min(calc(46px + (1vw - 19.2px) * 1.4873), 46px);
  --px40: min(calc(40px + (1vw - 19.2px) * 1.3095), 40px);
  --px36: min(calc(36px + (1vw - 19.2px) * 1.0714), 36px);
  --px34: min(calc(34px + (1vw - 19.2px) * 1.0238), 34px);
  --px32: min(calc(32px + (1vw - 19.2px) * 0.9524), 32px);
  --px28: min(calc(28px + (1vw - 19.2px) * 0.8333), 28px);
  --px26: min(calc(26px + (1vw - 19.2px) * 0.7738), 26px);
  --px24: min(calc(24px + (1vw - 19.2px) * 0.7142), 24px);
  --px20: min(calc(20px + (1vw - 19.2px) * 0.5952), 20px);
  --px16: min(calc(16px + (1vw - 19.2px) * 0.4762), 16px);
  --px14: min(calc(14px + (1vw - 19.2px) * 0.4166), 14px);
  --px12: min(calc(12px + (1vw - 19.2px) * 0.3571), 12px);
  --px10: min(calc(10px + (1vw - 19.2px) * 0.2976), 10px);
  --font-family03: "Lato", sans-serif;
  --font-family04: "BIZ UDMincho", serif;
}





#content, #content.wide {
  width: 100%;
}

.home .dn, .page-contact .dn {
  display: none !important;
}

button {
  border: none !important;
}

.linkBtn {
  font-weight: bold;
}

#header a.head_btn {
  background: var(--color-primary);
  padding: 0 var(--px32);
}

#header a.head_btn.tel_btn::before, #header a.head_btn.mail_btn::before {
  content: none;
}

.width-240 {
  position: relative;
  padding-left: 8px;
}

.width-240 ::before {
  content: "" !important;
  display: block !important;
  width: 1px;
  height: 60%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--color-font);
}

.head_btn::before, .header__df--row::before, .fa-phone::before, .header__tel--num::before {
  content: none !important;
}

.linkBtn::after, input.linkBtn::after, .post .linkBtn::after {
  content: none !important;
}

.header__tel--num {
  font-size: var(--px24);
}
.header__btn--tel {
  background-color: var(--color-white) !important;
  transition: all 0.3s ease;
  color: var(--color-font) !important;
}
.header__btn--tel:hover {
  opacity: 0.6;
}
.header__btn--contact {
  background: var(--color-bg-grad1) !important;
  transition: all 0.3s ease;
  color: var(--color-font) !important;
}
.header__btn--contact:hover {
  opacity: 0.6;
}
.header__btn--contact > span {
  white-space: nowrap;
}
.header__btn--entry {
  background-color: var(--color-primary) !important;
  transition: all 0.3s ease;
}
.header__btn--entry:hover {
  opacity: 0.6;
}
.header__btn--entry > span {
  white-space: nowrap;
}
.header__run--time {
  font-size: var(--px12);
  color: var(--color-font) !important;
  font-weight: bold;
  line-height: 1;
  padding-top: 8px;
}
.header__df--col {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.header__df--row {
  align-items: center;
  justify-content: center;
}

#header a.head_btn {
  padding: var(--px12);
}

#footer li a, .footeradd, .footertel, #footer li a:hover {
  color: #766e6e;
}

.menu-item {
  transition: opacity 0.3s ease;
}
.menu-item > a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 480px) {
  .text-size-small__sp {
    font-size: var(--px70) !important;
  }
}

@media screen and (max-width: 1024px) {
  .padding-side__sp {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

.z-index-1 {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 1024px) {
  .sp-pb0 {
    padding-bottom: 0 !important;
  }
}

.header__contact--width > a {
  width: 100%;
  max-width: 150px;
  padding: 12px 24px !important;
}

.header__entry--width > a {
  width: 100%;
  max-width: 150px;
  padding: 12px 42px !important;
}

.width-240 > a {
  width: 100%;
  max-width: 240px;
}

.title__grad {
  background: var(--color-bg-grad1) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent;
  font-style: italic;
  font-weight: 800;
}

@media screen and (max-width: 768px) {
  .text-center__sp {
    text-align: center !important;
  }
}

.text-center {
  text-align: center !important;
}
@media screen and (max-width: 768px) {
  .text-center__sp {
    text-align: center !important;
  }
}

.text-right {
  text-align: right !important;
}
@media screen and (max-width: 768px) {
  .text-right__sp {
    text-align: right !important;
  }
}

.btn__position {
  position: relative;
  border-radius: 0 !important;
}
.btn__position > i {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .pt10_sp {
    padding-top: 100px !important;
    margin-top: 0 !important;
  }
}

.mw-280 {
  max-width: 280px !important;
}

.mw-260 {
  max-width: 260px !important;
}

.cat-news {
  text-transform: uppercase;
}

.post .time a, .post2b .time a, .post4b .time a, .postlist .time a {
  color: var(--color-font);
}

.post .time, .postlist .time, .post2b .time, .post4b .time {
  background: var(--color-bg-grad1);
  color: var(--color-font);
}

.text__df--col {
  display: flex;
  flex-direction: column;
}

.postlist li:first-child {
  border-top: 1px solid #cccccc !important;
  border-bottom: 1px solid #cccccc !important;
}

.postlist li {
  border-top: none !important;
  border-bottom: 1px solid #cccccc !important;
}

.postlist .post_text {
  padding: var(--px36) 0 !important;
}

.ta_c {
  text-align: center !important;
}

.align_end {
  align-items: end !important;
}

.font-color-black {
  color: var(--color-font) !important;
}

.font-color-white {
  color: var(--color-white) !important;
}

.section__card-title.font-color-black::after {
  background-color: var(--color-font) !important;
}

.gradient-text {
  background: linear-gradient(90deg, #015DA8 0%, #024186 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block; /* ←必要に応じて */
}

.post h2 {
  margin: 0;
  text-align: left;
}

.btn-bg-grade {
  background: var(--color-bg-grad1) !important;
  border: 1px solid transparent !important;
  transition: all 0.3s ease;
}
.btn-bg-grade:hover {
  opacity: 0.6;
}

.btn-bg-grade:hover::after, input.btn-bg-grade:hover::after, .post .btn-bg-grade:hover::after {
  border-right: 1px solid var(--color-primary-tint) !important;
  border-bottom: 1px solid var(--color-primary-tint) !important;
}

.n2-section-smartslider {
  padding: 0 !important;
}

.top-slider {
  padding: var(--px90) 0;
  background-color: transparent;
}
@media screen and (max-width: 768px) {
  .top-slider {
    padding: var(--px60) 0;
  }
}

.linkBtn, .post .linkBtn {
  background-color: var(--color-primary);
  max-width: 320px;
  text-transform: uppercase;
  border: 1px solid var(--color-primary);
  transition: all 0.3s ease;
  padding: 20px 30px 20px 10px !important;
}
.linkBtn:hover, .post .linkBtn:hover {
  opacity: 0.6;
  border: 1px solid var(--color-primary-tint);
}

.linkBtn:hover::after, input.linkBtn:hover::after, .post .linkBtn:hover::after {
  border-right: 1px solid var(--color-secondary);
  border-bottom: 1px solid var(--color-secondary);
}

.txt_c, .post .txt_c {
  text-align: left;
}

.footer__logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--px16);
}
.footer__logo > span {
  font-size: var(--px24);
  letter-spacing: 0.04em;
  font-family: var(--font-family01);
  line-height: 1;
}

#footer .footer__logo img {
  max-width: 334px;
}

/*-----------------------------
column_01
------------------------------*/
.toptxtarea {
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.column01 {
  position: relative;
}

.column01_wrap {
  position: relative;
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  z-index: 1;
}

.column01 .txtarea {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--px50) var(--px130) var(--px50) var(--px130);
  margin: 0;
}

.column01 .imgarea {
  overflow: hidden;
  line-height: 0;
  margin: 0;
}

.column01 .imgarea img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media print, screen and (max-width: 768px) {
  .column01 .txtarea {
    padding: var(--px32) 5% var(--px80) 5%;
  }
}
/*-----------------------------
column_02
------------------------------*/
.toptxtarea {
  max-width: 960px;
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.column02 {
  position: relative;
  padding: var(--px120) 0;
  margin: var(--px60) 0 0;
}

.column02:before {
  content: "";
  background-image: url(/wp-content/uploads/top-initiative.png);
  width: 60%;
  max-width: 1300px;
  aspect-ratio: 1300/890;
  height: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  z-index: 0;
	background-size:cover;
	display:block;
}

@media screen and (max-width: 768px) {

  .column02 .txtarea {
    padding: var(--px80) 5%;
	  margin: calc(-60px + (1vw - 10.23px) * -3.858) 0 0 auto;
        width: 90%;
  }
	
	.column02:before {
		width:90%;
		position:relative;
		top:auto;
		transform:translatey(0);
	}
}

.column02_wrap {
  position: relative;
  margin: 0 auto;
  z-index: 1;
}

.column02 .txtarea {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--px80) var(--px100);
}

@media screen and (max-width: 768px) {

	.column02:before {
		position:relative;
		top:auto;
		transform:translatey(0);
	}
}

.column02 .imgarea {
  overflow: hidden;
  line-height: 0;
  margin: 0;
}

.column02 .imgarea img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*---------rev-----------*/
.column02.rev:before {
  content: "";
  background-image: url(/wp-content/uploads/top-recruit.png) !important;
  width: 60%;
  max-width: 1300px;
  aspect-ratio: 1300/890;
  height: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  z-index: 0;
	background-size: cover;
	display:block;
}

@media screen and (max-width: 768px) {
  .column02.rev .flexbox {
    flex-direction: row-reverse;
  }
  .column02.rev .txtarea {
    padding: var(--px80) 5%;
	  margin: calc(-60px + (1vw - 10.23px) * -3.858) 0 0 auto;
        width: 90%;
  }
	
	.column02.rev:before {
		width:90%;
		position:relative;
		top:auto;
		transform:translatey(0);
	}
}
/*-----------------------------
cta01_col2_max1240
------------------------------*/
.cta__text {
  font-size: var(--px24);
  padding: 70px 0 var(--px40) 0;
}

.cta01 {
  position: relative;
}
.cta01::after {
  content: "";
  top: 0;
  height: 100%;
  width: 100%;
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(/wp-content/uploads/top-cta-bg.jpg);
  position: absolute;
  background-attachment: fixed;
  z-index: -1;
}

.cta01 .cta01_wrap {
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
  padding: var(--px120) 0 var(--px130) 0;
}
.cta01 .cta01_wrap > .toptxtarea {
  display: flex;
  flex-direction: column;
  position: relative;
}
.cta01 .cta01_wrap > .toptxtarea::after {
  content: "";
  display: block !important;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: var(--px80);
  height: 3px;
  background-color: var(--color-white) !important;
  margin: 0 !important;
}
.cta01 .cta01_wrap > .toptxtarea > h2 {
  text-transform: uppercase;
  font-family: var(--font-family03);
  font-weight: 800;
  line-height: 1;
  color: var(--color-white);
  letter-spacing: 0.02em;
  font-size: var(--px90);
  text-align: center;
  font-style: italic;
}
@media screen and (max-width: 768px) {
  .cta01 .cta01_wrap > .toptxtarea > h2 {
    font-size: var(--px80);
  }
}
.cta01 .cta01_wrap > .toptxtarea > h2::after {
  content: none !important;
}
.cta01 .cta01_wrap > .toptxtarea > p {
  font-family: var(--font-family01);
  font-size: var(--px20);
  color: var(--color-white);
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.02em;
  font-weight: normal;
  padding-top: var(--px20) !important;
  padding-bottom: var(--px30) !important;
}
.cta01 .cta01_wrap > .txt_c {
  font-family: var(--font-family01);
  font-size: var(--px28);
  color: var(--color-white);
  text-align: center;
  line-height: 2;
  font-weight: normal;
  padding-top: var(--px20) !important;
  padding-bottom: var(--px30) !important;
}

.cta01 .ctabtnlist {
  justify-content: center;
  margin: var(--px50) auto 0 auto;
}
@media screen and (max-width: 1024px) {
  .cta01 .ctabtnlist {
    flex-direction: column;
    gap: 12px;
  }
}

.cta01 .ctabtnlist li {
  width: 50%;
  margin: 0;
  padding: 0;
  line-height: 1;
  display: flex;
}
@media screen and (max-width: 1024px) {
  .cta01 .ctabtnlist li {
    margin: 0 auto;
  }
}

.cta01 a.item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: var(--px30) 0;
  text-align: center;
  box-sizing: border-box;
  border-radius: 0 !important;
  transition: all ease 0.15s;
}

.cta01 a.item:hover {
  opacity: 0.8;
}

@media print, screen and (max-width: 768px) {
  .cta01 .ctabtnlist li, .cta01 .ctabtnlist a.item {
    width: 90%;
    justify-content: center;
  }
  .cta01 .ctabtnlist li + li {
    margin-top: 1rem;
  }
}
/*ボタン共通パーツ*/
.cta01 .btnttl {
  display: block;
  font-weight: bold;
  margin-bottom: 1rem;
}

.cta01 .infotxt {
  font-size: var(--rem16);
  font-weight: 400;
  font-weight: bold;
}

/*電話ボタン*/
.cta01 .telnum {
  font-size: var(--rem36);
  margin-bottom: 1rem;
  font-weight: bold;
}

.cta01 .telbtn .btnttl {
  font-size: var(--rem20);
  font-weight: bold;
}

.cta01 a.telbtn {
  background-color: var(--color-primary);
  color: var(--color-white);
  font-weight: bold;
}

/*メールボタン*/
.cta01 .mailbtn .btnttl {
  font-size: var(--rem24);
}

.cta01 a.mailbtn {
  background-color: var(--color-primary);
  color: var(--color-white);
}

/*ボタンアイコン*/
.cta01 .mailbtn .btnttl::before, .cta01 .telnum::before {
  content: "";
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 1rem;
}

.cta01 .mailbtn .btnttl::before {
  content: "\f0e0";
}

.cta01 .telnum::before {
  content: "\f3cd";
}

@media screen and (max-width: 768px) {
  .front_contents {
    padding: var(--px60) 0;
  }
}



@media screen and (max-width: 1024px) {
  .section__about-us {
    padding-bottom: 0 !important;
  }
}
@media screen and (max-width: 1024px) {
  .section__about-us > .column01 .col-sp {
    flex-direction: column;
  }
}
.section__about-us > .column01 .col-sp > .w50 {
  width: 100%;
}

.section__card-title {
  display: flex;
  flex-direction: column;
  position: relative;
}
.section__card-title::after {
  content: "";
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 92px;
  height: 3px;
  background-color: var(--color-font) !important;
  display: block;
}
.section__card-title-contact::after {
  left: 50% !important;
  transform: translateX(-50%);
  background-color: var(--color-white) !important;
}
.section__card-title--large {
  font-family: var(--font-family03);
  font-size: var(--px70);
  letter-spacing: 0.06em;
  color: var(--color-font);
  line-height: 1;
  font-weight: lighter;
  text-transform: uppercase;
}
.section__card-title--small {
  font-family: var(--font-family01);
  font-size: var(--rem20);
  line-height: 1;
  letter-spacing: 0.04em;
  color: var(--color-font);
  padding: 0 0 var(--px30) 0 !important;
}
.section__card-text--large {
  font-family: var(--font-family04);
  font-size: var(--px34);
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--color-font);
  font-weight: 400;
  padding: var(--px60) 0 !important;
}
.section__card-text--small {
  font-family: var(--font-family01);
  font-weight: normal;
  font-size: var(--px16);
  line-height: 2;
  letter-spacing: 0.02em;
}
.section__card-text--small-df {
  display: flex;
  flex-direction: column;
  gap: var(--px32);
}
.section__service--inner {
  width: 100%;
  padding: 0 24px;
}
.section__service--link {
  margin: 0 auto !important;
  width: 100%;
  max-width: 1240px;
  display: flex;
  justify-content: center;
  gap: var(--px60);
  padding-bottom: var(--px70);
}
@media screen and (max-width: 1024px) {
  .section__service--link {
    flex-direction: column;
  }
}
.section__service--link-item {
  width: 100%;
  max-width: 590px;
  position: relative;
  display: block;
}
@media screen and (max-width: 1024px) {
  .section__service--link-item {
    margin: 0 auto;
  }
}
.section__service--link-image {
  position: relative;
  width: 100%;
}
.section__service--link-contents {
  padding: var(--px90) var(--px96) 0 var(--px96);
  position: absolute;
  top: 0;
  width: 100%;
}
.section__service--link-header {
  font-size: var(--px40);
  font-family: var(--font-family01);
  color: var(--color-white);
  font-weight: bold;
  letter-spacing: 0.02em;
  padding-bottom: var(--px20);
}
.section__service--link-header::after {
  content: "";
  display: block;
  width: var(--px80);
  height: 2px;
  background-color: var(--color-white);
  position: relative;
  bottom: 0;
}
.section__service--link-footer {
  font-family: var(--px16);
  line-height: 2;
  letter-spacing: 0.02em;
  color: var(--color-white);
  padding-top: var(--px30);
}
.section__layer {
  width: 100%;
}
.section__news {
  padding-left: 24px !important;
  padding-right: 24px !important;
}
.section__news--inner {
  margin: 0 auto !important;
  width: 100%;
  max-width: 1240px;
}
.section__news--inner .toptxtarea {
  width: 100%;
  max-width: 100%;
}
.section__news--area {
  padding: var(--px40) 0 var(--px60);
}
.section__company--inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1240px;
}
.section__company--inner > .section__company--title {
  font-family: var(--font-family04);
  font-size: var(--px40);
  color: var(--color-font);
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
  padding-bottom: var(--px90);
}
@media screen and (max-width: 768px) {
  .section__company--inner > .section__company--title {
    padding-bottom: var(--px48);
  }
}
.section__company--inner > .section__company--title::after {
  content: none !important;
}
.section__company--director {
  display: flex;
  flex-direction: column;
  padding-top: var(--px60);
}
.section__company--director-name {
  text-align: right;
  font-size: var(--px18);
  color: var(--color-font);
}
.section__company--greeting {
  padding: 0 24px var(--px100) 24px;
}
@media screen and (max-width: 768px) {
  .section__company--greeting {
    padding: 0 24px var(--px60) 24px;
  }
}
.section__company--philosophy {
  background: var(--color-bg-grad1);
  padding: var(--px100) 24px var(--px150) 24px;
}
@media screen and (max-width: 768px) {
  .section__company--philosophy {
    padding: var(--px60) 24px;
  }
}
.section__company--attempt {
  padding: var(--px160) 24px;
}
@media screen and (max-width: 768px) {
  .section__company--attempt {
    padding: var(--px60) 24px;
  }
}
.section__company--inhouse {
  padding: var(--px120) 24px var(--px160) 24px;
  background: var(--color-bg-grad1);
}
@media screen and (max-width: 768px) {
  .section__company--inhouse {
    padding: var(--px60) 24px;
  }
}
.section__company--history {
  padding: var(--px120) 24px 0;
}
@media screen and (max-width: 768px) {
  .section__company--history {
    padding: var(--px60) 24px 0;
  }
}
.section__greeting--inner {
  padding-top: var(--px150);
}
@media screen and (max-width: 768px) {
  .section__greeting--inner {
    padding-top: var(--px60);
  }
}

.philosophy__top {
  margin: 0 auto;
  width: 100%;
  max-width: 1240px;
  background-color: var(--color-white);
}
.philosophy__top--inner {
  padding: var(--px46) var(--px24);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--px30);
}
.philosophy__top--title {
  font-family: var(--font-family01);
  font-weight: bold;
  font-size: var(--px36);
  color: var(--color-primary);
  line-height: 1;
}
.philosophy__top--list {
  font-family: var(--font-family01);
  font-weight: bold;
  font-size: var(--px32);
  color: var(--color-font);
  line-height: 1;
}
@media screen and (max-width: 480px) {
  .philosophy__top--list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
  }
}
.philosophy__main {
  display: flex;
  flex-direction: column;
  padding-top: var(--px140);
  gap: var(--px140);
}
.philosophy__main--inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1240px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--px100);
}
.philosophy__main--contents {
  display: flex;
  flex-direction: column;
}
.philosophy__main--title {
  font-weight: 500;
  font-family: var(--font-family01);
  font-size: var(--px30);
  color: var(--color-font);
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: left;
  display: block;
  width: 100%;
  padding-bottom: var(--px20) !important;
  border-bottom: 1px solid var(--color-font);
}
.philosophy__main--text {
  padding-top: var(--px32);
  font-family: var(--font-family01);
  color: var(--color-font);
  font-size: var(--px16);
  line-height: 2;
  letter-spacing: 0.02em;
}

h2.txtstyle04.section__card-title.section__card-title-service::after {
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

@media screen and (max-width: 768px) {
  h2.txtstyle04.section__card-title::after {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

.top__link {
  padding: var(--px150) var(--px24);
}
@media screen and (max-width: 1024px) {
  .top__link {
    padding: var(--px80) var(--px24);
  }
}
.top__link--inner {
  margin: 0 auto !important;
  width: 100%;
  max-width: 1400px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--px50) var(--px40);
}
.top__link--list {
  display: flex;
  width: 100%;
  max-width: 440px;
}
.top__link--item {
  width: 100%;
  flex: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--px20) 0;
  border-bottom: 1px solid var(--color-font);
}
.top__link--item-left {
  display: flex;
  align-items: center;
  gap: var(--px30);
}
.top__link--item-left img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  max-width: 100px;
}
@media screen and (max-width: 768px) {
  .top__link--item-left img {
    max-width: 60px;
  }
}
.top__link--item-left p {
  font-size: var(--px24);
  font-family: var(--font-family01);
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.top__link--item-right > i {
  font-size: var(--px30);
}
.top__grade--area {
  background: var(--color-bg-grad1);
  position: relative;
  padding-top: var(--px90);
}
.top-service-bg {
  position: absolute;
  padding: 26%;
  top: 0;
  left: 0;
  width: 100%;
}
.top-service-bg::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-attachment: fixed !important;
  background-image: url(/wp-content/uploads/top-service-bg.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.greeting__message {
  font-family: var(--font-family01);
  font-size: var(--px16);
  color: var(--color-font);
  line-height: 2;
  letter-spacing: 0.02em;
}

.company__table--inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1240px;
}
.company__table--inner tr th {
  font-size: var(--px16);
  line-height: 2;
  font-weight: bold;
  background-color: var(--color-primary);
  color: var(--color-white);
  padding: var(--px28);
  align-content: center;
  width: 357px;
  border-color: #dfdfdf;
}
@media screen and (max-width: 768px) {
  .company__table--inner tr th {
    padding: 14px;
    font-size: var(--px18);
    width: 280px;
  }
}
.company__table--inner tr td {
  font-size: var(--px16);
  line-height: 2;
  color: var(--color-font);
  padding: var(--px28);
  align-content: center;
  border-color: #dfdfdf;
}
@media screen and (max-width: 768px) {
  .company__table--inner tr td {
    padding: 14px;
  }
}

.inhouse__list {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 55px;
}
@media screen and (max-width: 768px) {
  .inhouse__list {
    gap: 32px;
  }
}
.inhouse__list--item {
  display: flex;
  gap: var(--px40);
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .inhouse__list--item {
    flex-direction: column;
  }
}
.inhouse__list--thum {
  width: 100%;
  max-width: 620px;
}
.inhouse__list--info {
  width: 100%;
  flex: 1;
}
.inhouse__list--info-detail {
  display: flex;
  flex-direction: column;
}
.inhouse__list--info-row {
  display: flex;
  gap: var(--px68);
  padding-top: var(--px12) !important;
  padding-bottom: var(--px18) !important;
  border-bottom: 1px solid #d5d5d5;
}
.inhouse__list--info-title {
  font-size: var(--px20);
  color: var(--color-font);
  font-weight: bold;
  padding-bottom: var(--px24) !important;
  border-bottom: 1px solid #d5d5d5;
}
.inhouse__list--info-address, .inhouse__list--info-text, .inhouse__list--info-tel, .inhouse__list--info-fax {
  color: var(--color-font);
  font-size: var(--px16);
}
.inhouse__list--info-address, .inhouse__list--info-tel, .inhouse__list--info-fax {
  width: 32px;
  white-space: nowrap;
}
.inhouse__list--info-address {
  text-transform: capitalize;
}
.inhouse__list--info-tel, .inhouse__list--info-fax {
  text-transform: uppercase;
}

.history__table {
  border: none !important;
}
.history__table--inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1240px;
}
.history__table--inner tr:nth-child(odd) {
  background-color: #F9FFEC !important;
}
.history__table--inner tr:nth-child(even) {
  background-color: var(--color-white) !important;
}
.history__table--inner tr th, .history__table--inner tr td {
  border: none;
  padding: var(--px28);
  font-size: var(--px20);
}
@media screen and (max-width: 768px) {
  .history__table--inner tr th, .history__table--inner tr td {
    padding: 14px;
  }
}
.history__table--inner tr th {
  width: 460px;
  font-weight: normal;
  background-color: transparent;
}
@media screen and (max-width: 768px) {
  .history__table--inner tr th {
    font-size: var(--px18);
    width: 230px;
  }
}
@media screen and (max-width: 1240px) {
  .history__table--inner tr th {
    width: 320px;
  }
}

.sus-environment {
  padding: var(--px120) 24px;
}
@media screen and (max-width: 768px) {
  .sus-environment {
    padding: var(--px60) 24px;
  }
}
.sus-environment__row-title {
  font-size: var(--px30);
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: var(--color-font);
  padding-bottom: var(--px18) !important;
  width: 100%;
  border-bottom: 1px solid #d5d5d5;
}
.sus-environment__row-contents {
  display: flex;
  gap: var(--px48);
  padding-top: var(--px32);
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .sus-environment__row-contents {
    flex-direction: column;
    align-items: center;
  }
}
.sus-environment__row-contents > .txt_c {
  width: 100% !important;
}
.sus-environment__row-contents--text {
  padding-top: var(--px32);
}
.sus-environment__row-contents--left {
  display: flex;
  flex-direction: column;
}
.sus-environment__row-contents--left-co2 {
  font-size: var(--px36);
  color: var(--color-font);
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.sus-environment__row-contents--left-list-item {
  font-size: var(--px16);
  color: var(--color-font);
  line-height: 2;
  letter-spacing: 0.02em;
  list-style: disc;
}
.sus-environment__bottom {
  display: flex;
  gap: var(--px60);
}
@media screen and (max-width: 768px) {
  .sus-environment__bottom {
    flex-direction: column;
    align-items: center;
  }
}
.sus-environment__bottom--item > p {
  font-size: var(--px24);
  font-weight: bold;
  text-align: center;
  padding-top: var(--px32);
}
.sus-social, .sus-security {
  background: var(--color-bg-grad1);
}
.sus-social {
  padding: var(--px120) 24px;
}
@media screen and (max-width: 768px) {
  .sus-social {
    padding: var(--px60) 24px;
  }
}
.sus-social__header--btn {
  display: flex;
  gap: var(--px70);
}
@media screen and (max-width: 768px) {
  .sus-social__header--btn {
    flex-direction: column;
    align-items: center !important;
    gap: 0;
  }
}
.sus-social__header--btn > .txt_c {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sus-social__header--btn > .txt_c {
    text-align: center !important;
  }
}
.sus-social__list {
  display: flex;
  flex-direction: column;
  gap: var(--px24);
}
.sus-social__list--item-title {
  font-size: var(--px24);
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: var(--color-font);
}
.sus-social__list--item-title-green {
  color: var(--color-primary);
}
.sus-social__right {
  display: flex;
  flex-direction: column;
  gap: var(--px14);
}
.sus-social__bottom {
  display: flex;
  flex-direction: column;
  gap: var(--px32);
}
.sus-social__bottom--text {
  padding: var(--px32) var(--px24);
  border: 1px solid #d5d5d5;
}
.sus-social__bottom--text > p {
  font-size: var(--px16);
  line-height: 2;
}
.sus-health {
  padding: var(--px120) 24px;
}
@media screen and (max-width: 768px) {
  .sus-health {
    padding: var(--px60) 24px;
  }
}
.sus-health__row {
  display: flex;
  gap: var(--px32);
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .sus-health__row {
    flex-direction: column;
    align-items: center !important;
    gap: 0;
  }
}
.sus-health__bottom--text {
  font-size: var(--px16);
  line-height: 2;
  text-align: center;
}
.sus-security {
  padding: var(--px120) 24px;
}
@media screen and (max-width: 768px) {
  .sus-security {
    padding: var(--px60) 24px;
  }
}

.sdgs-icon > img {
  aspect-ratio: 1/1;
  width: 100%;
  max-width: 100px !important;
  height: -moz-fit-content !important;
  height: fit-content !important;
}

.entry-sheet {
  width: 100%;
  max-width: 365px !important;
}

.challange-0 {
  width: 100%;
  max-width: 620px !important;
  height: -moz-fit-content !important;
  height: fit-content !important;
}

.social-image {
  width: 100%;
  max-width: 430px !important;
  height: -moz-fit-content !important;
  height: fit-content !important;
}

.kenko {
  width: 100%;
  height: -moz-fit-content !important;
  height: fit-content !important;
  max-width: 370px !important;
}

.nintei {
  width: 100%;
  height: -moz-fit-content !important;
  height: fit-content !important;
  max-width: 420px !important;
}

.sprts-yell {
  width: 100%;
  height: -moz-fit-content !important;
  height: fit-content !important;
  max-width: 136px !important;
}

.fun-walk {
  width: 100%;
  height: -moz-fit-content !important;
  height: fit-content !important;
  max-width: 150px !important;
}

.sprts-in-life {
  width: 100%;
  height: -moz-fit-content !important;
  height: fit-content !important;
  max-width: 165px !important;
}


#footer {
  background: var(--color-bg-grad1);
}

#footer ul li a {
  color: var(--color-font);
}

#footer .footnav ul > li::before, #footer .footnav ul > li::after {
  background-color: var(--color-font);
}

#copyright {
  color: var(--color-font);
  background-color: var(--color-bg-grad1);
}

#footer .footnav:not(:last-child) {
  margin-bottom: 0 !important;
}

.wpcf7-form {
  margin: 0 auto;
  width: 100%;
  max-width: 1240px;
}
.wpcf7-form > table {
  border: none !important;
}
.wpcf7-form > table > tbody > tr {
  border-bottom: 1px solid #d5d5d5;
}
.wpcf7-form > table > tbody > tr > th, .wpcf7-form > table > tbody > tr > td {
  border: none !important;
}
.wpcf7-form > table > tbody > tr > th {
  background-color: transparent;
  width: 30% !important;
  padding-top: var(--px18);
  font-size: var(--rem20);
}
.wpcf7-form > table > tbody > tr > th > .must {
  background-color: #B63033;
  font-size: var(--rem20);
}
.wpcf7-form > table > tbody > tr > td {
  padding: var(--px18) 0;
}
@media screen and (max-width: 768px) {
  .wpcf7-form > table > tbody > tr > td {
    padding-top: 0 !important;
  }
}
.wpcf7-form > table > tbody > tr > td > span > textarea {
  height: 230px;
}
.wpcf7-form > table > tbody > tr > td > .wpcf7-form-control-wrap {
  margin-left: var(--px16);
}
.wpcf7-form > table > tbody > tr > td > .wpcf7-form-control-wrap > .wpcf7-radio > .wpcf7-list-item {
  margin-right: var(--px40);
}

input[type=text], input[type=tel], input[type=email], input[type=date], input[type=url], input[type=number], select, textarea {
  background-color: transparent;
  border: 1px solid #d9d9d9;
  height: 50px;
}

.subimitarea > .linkBtn, .subimitarea .post .linkBtn {
  padding: 0 !important;
  max-width: 385px;
  position: relative;
}
.subimitarea > .linkBtn::before, .subimitarea .post .linkBtn::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-bottom: 2px solid var(--color-white);
  border-right: 2px solid var(--color-white);
  position: absolute;
  right: 5%;
  top: 50%;
  z-index: 1;
  transform: translateY(-50%) rotate(-45deg);
}
.subimitarea > .linkBtn > input, .subimitarea .post .linkBtn > input {
  font-size: var(--rem20);
}

.wpcf7-list-item-label {
  font-size: var(--rem20);
}

.fz-20 {
  font-size: var(--rem20);
}/*# sourceMappingURL=index.css.map */



.service__content .w50 p{
	line-height:2;
}

.service__grid{
	display:grid;
}

.service__grid img{
	width:100%;
	height:auto;
	object-fit:cover;
}

.service__grid--3{
	grid-template-columns:repeat(3,1fr);
	gap:14px;
}

@media screen and (max-width: 768px) {
	.service__grid--3{
		grid-template-columns:1fr;
		gap:32px;
	}
}

.service__grid--4{
	grid-template-columns:repeat(4,1fr);
	gap:10px;
}

@media screen and (max-width: 768px) {
	.service__grid--4{
		grid-template-columns:1fr;
		gap:32px;
	}
}


.service__flex{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:34px;
	flex-wrap:wrap;
}

.service__flex img{
	width:100%;
	height:auto;
	object-fit:cover;
	max-width:600px;
}

.bg-grade{
	background: var(--color-bg-grad1);
	padding:var(--px80) 24px;
}

@media screen and (max-width: 768px) {
	.bg-grade{
		padding:var(--px80) 0;
	}
}

.lp-top-text{
	text-align:center !important;
	font-size:var(--rem40);
	font-weight:500;
	letter-spacing:0.04em;
	color:var(--color-font);
	font-family:var(--font-family04);
	line-height:1;
}

@media screen and (max-width: 768px) {
	.lp-top-text{
		font-size:var(--rem48);
	}
}
.lp-top-subtext{
	text-align:center !important;
	padding-top:var(--rem36);
	font-size:var(--rem36);
	font-weight:bold;
	color:var(--color-primary-shade);
	line-height:1;
}

h3{
	color:var(--color-font) !important;
	font-size:var(--rem30) !important;
}

.lh2{
	line-height:2;
}

#loftloader-wrapper.loftloader-imgfading #loader img, #loftloader-wrapper.loftloader-imgloading #loader img, #loftloader-wrapper.loftloader-imgrotating #loader img, #loftloader-wrapper.loftloader-imgbouncing #loader img, #loftloader-wrapper.loftloader-imgstatic #loader img{
	height:auto;
}


@media screen and (max-width: 768px) {
#loftloader-wrapper.loftloader-imgfading #loader img, #loftloader-wrapper.loftloader-imgloading #loader img, #loftloader-wrapper.loftloader-imgrotating #loader img, #loftloader-wrapper.loftloader-imgbouncing #loader img, #loftloader-wrapper.loftloader-imgstatic #loader img{
	width:80%;
}
}

.category #content.wide,.archive #content.wide {
    padding: var(--px100w) 0 var(--px180) !important;
}

.page-sustainability #content.wide,.page-products-technologies #content {
	padding-bottom:0 !important;
}

.widearea {
    margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1);
}

.widearea__inner{
	margin:0 auto;
	max-width:var(--content-max-width);
}


@media screen and (max-width: 768px) {
.widearea__inner{
padding-left:24px;
	padding-right:24px;
}
}

.post h4{
	color:var(--color-font);
}

#privacy h3{
	font-size:var(--rem16) !important;
}