@charset "UTF-8";
html {
  font-size: 62.5%;
}

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

:root {
	--noto-font:  "Noto Sans JP", sans-serif;
  --zen-font:  "Zen Maru Gothic", sans-serif;
  --numans-font:  "Numans", sans-serif;
  --asap-font: "Asap", sans-serif;
}

body {
  margin: 0;
  font-family: var(--noto-font);
  font-size: 1.5rem;
  color: #34344A;
  background-color: #FEFFEE;
}

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

a{
  display: block;
}

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

h1, h2, h3, h4{
  font-weight: normal;
  font-size: inherit;
  margin: 0;
}

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

address {
  font-style: normal;
}

header {
  position: fixed;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
  width: 95%;
  z-index: 50;
  height: 100px;
  background-color: #fff;
  border-radius: 50px 50px 60px 60px;
  box-shadow: 0px 2px 10px 1px rgba(0, 0, 0, 0.2);

}

.header_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 92%;
  height: 100%;
  margin: 0 auto;
}

.logo {
  width: 370px;
}

.gnav_pc ul {
  display: flex;
  align-items: center;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.1em;
  column-gap: 40px;
}

.gnav_pc ul li a {
	transition: .3s;
}

.gnav_pc ul li a:hover {
	opacity: .7;
}

.toggle-wrap{
  display: none;
}

.gnav_sp{
  display: none;
}

.mv {
  height: 100vh;
  position: relative;
  overflow: hidden;
}

.mv_inner {
  display: flex;
  align-items: center;
  height: 100%;
}

.mv_copy {
  padding-left: 14%;
  text-align: center;
  z-index: 3;
}

.mv_copy_title {
  font-family: var(--numans-font);
  font-size: 7.5rem;
  color: #04ADDC;
  line-height: 1.07;
  letter-spacing: 0.05em;
}

.mv_copy p {
  font-family: var(--zen-font);
  font-size: 2.4rem;
  color: #FF7680;
  line-height: 1;
  letter-spacing: 0.05em;
}

.mv_img {
  position: absolute;
  width: 57%;
  height: 100%;
  right: 0;
  bottom: 40px;
  z-index: 1;

  position: absolute;
  top: 0;
  right: 0;
  width: 57%;
  height: calc(100% - 40px);
}

/* スライダー全体 */
.slider-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* 各スライド */
.slideimg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: fadeInOut 20s infinite;
  transition: opacity 1.5s ease-in-out;
}

/* 最初の画像だけ高さ確保 */
.slideimg:nth-child(1) {
  position: relative;
  animation-delay: 0s;
}

/* 2〜5枚目の遅延設定（4秒ずつずらす） */
.slideimg:nth-child(2) { animation-delay: 4s; }
.slideimg:nth-child(3) { animation-delay: 8s; }
.slideimg:nth-child(4) { animation-delay: 12s; }
.slideimg:nth-child(5) { animation-delay: 16s; }

/* フェードアニメーション */
@keyframes fadeInOut {
  0%   { opacity: 0; }
  5%   { opacity: 1; }
  25%  { opacity: 1; }
  30%  { opacity: 0; }
  100% { opacity: 0; }
}

/* 画像 */
.slideimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  object-position: left bottom;
}

.mv_deco {
  position: absolute;
  z-index: 2;
}

.md01 {
  width: 12%;
  right: 6%;
  bottom: 0;
}

.md02 {
  width: 8%;
  left: 37%;
  top: 11.3vw;
}

.md03 {
  width: 6%;
  left: 6%;
  bottom: 9.5vw;
}

.scroll{
  position: absolute;
  left: 8%;
  bottom: 5px;
  text-align: center;
}

.scroll p{
  color: #04ADDC;
  text-orientation: sideways;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 2rem;
  font-family: var(--zen-font);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
}

.bar{
  display: inline-block;
  margin-bottom: 15px;
  width: 2px;
  height: 31px;
  position: relative;
}

.bar span {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 5px;
}

.bar_move {
  background: #04ADDC;
  transform-origin: top;
  transform: scale(0);
  z-index: 2;
  animation: scrollBar 2s ease-in-out normal forwards infinite;
}

@keyframes scrollBar {
	0% {
		transform: scale(0);
		transform-origin: top;
	}
	50% {
		transform: scale(1);
		transform-origin: top;
	}
	50.1% {
		transform: scale(1);
		transform-origin: bottom;
	}
	100% {
		transform: scale(0);
		transform-origin: bottom;
	}
}

.bar_base {
  z-index: 3;
}

.service {
  padding: 290px 0 100px;
  position: relative;
}

.service::before {
  content: '';
  width: 100%;
  height: 313px;
  background: url(img/service_bg_pc.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 290px;
  z-index: -1;
}

.inner {
  max-width: 1720px;
  padding: 0 20px;
  margin: 0 auto;
}

.h2_wrap {
  color: #3AA3DD;
}

.service .h2_wrap , .recruit .h2_wrap {
  text-align: center;
}

.h2_wrap span {
  font-family: var(--asap-font);
  font-weight: 500;
  font-size: 7rem;
  line-height: 1;
  letter-spacing: 0.05em;
}

.h2_wrap h2 {
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-top: 8px;
}

.service_content_wrap {
  margin-top: 100px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 6%;
  row-gap: 100px;
}

.service_content {
  max-width: 540px;
  width: 100%;
}

.service_img {
  margin: 0 auto;
}

.si01 {
  width: 333px;
}

.si02 {
  width: 366px;
}

.top_h3 {
  margin-top: 30px;
  font-size: 2.5rem;
  font-family: var(--zen-font);
  color: #00347F;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
}

.service_p {
  margin-top: 20px;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.73;
  letter-spacing: 0.1em;
  text-align: center;
  color: #34344A;
}

.readmore_btn_link {
  margin-top: 40px;
  text-align: center;
  transition: .3s;
}

.readmore_btn_link:hover {
  opacity: .7;
}

.readmore_btn_img {
  width: 100px;
  margin: 0 auto;
}

.readmore_btn_p {
  margin-top: 10px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #FF7680;
}

.recruit {
  padding: 230px 0 170px;
  position: relative;
}

.recruit::before {
  content: '';
  width: 100%;
  height: 464px;
  background: url(img/recruit_bg.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  z-index: -1;
}

.recruit_content {
  margin-top: 30px;
}

.servicerecruit_img {
  width: 261px;
  margin: 0 auto;
}

.recruit_p {
  margin-top: 20px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  text-align: center;
}

.company_wrap {
  display: grid;
  grid-template-columns: 1fr 50%;
  column-gap: 90px;
}

.company_txt {
  padding-left: 17%;
}

.company_p_wrap {
  display: grid;
  place-content: center;
  margin-top: 100px;
}

.company_p_inner {
  max-width: 420px;
}

.company_p_wrap p {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.73;
  letter-spacing: 0.1em;
}

a.company_btn_link {
  margin-top: 100px;
  max-width: 300px;
  width: 100%;
  background-color: #3AA3DD;
  border-radius: 30px;
  padding: 20px;
  text-align: center;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
  transition: .3s;
}

a.company_btn_link:hover {
  opacity: .7;
}

.company_img {
  height: 730px;
  border-radius: 25px 0 0 365px;
  background-image: url(img/company.jpg);
  background-position: center;
  background-size: cover;
}

.news {
  padding: 50px 0 100px;
  position: relative;
}

.news::before {
  content: '';
  width: 59%;
  height: 100%;
  background-color: #3AA3DD;
  border-radius: 0 360px 50px 0;
  position: absolute;
  top: 0;
  z-index: -1;
}

.news_inner {
  padding-left: 8%;
}

.news .h2_wrap {
  color: #fff;
}

.news_list_wrap {
  margin-top: 50px;
  margin-left: 9%;
  background-color: #fff;
  border-radius: 50px 0 0 50px;
  padding: 50px 40px 90px;
  display: flex;
  justify-content: center;
}

.news_list {
  max-width: 1050px;
  width: 100%;
}

.news_list li {
  border-bottom: 1px solid #34344A;
  position: relative;
}

.news_li_link {
  width: 100%;
  padding: 40px 0;
  transition: .3s;
}

.news_li_link:hover {
  opacity: .7;
}

.post_wrap {
  display: flex;
  column-gap: 70px;
  padding-right: 40px;
  align-items: center;
}

.news_arrow {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
}

.news_btn_link {
  margin-top: 25px;
  display: flex;
  column-gap: 20px;
  align-items: center;
  justify-content: center;
  transition: .3s;
}

.news_btn_link:hover {
  opacity: .7;
}

.news_btn_link p {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
}

.news_btn_link_btn {
  width: 60px;
  height: 60px;
}

.article_body img {
  width: auto;
}

.initiative {
  padding: 200px 0 230px;
}

.initiative .h2_wrap {
  text-align: center;
}

.initiative_content {
  margin-top: 100px;
  height: 450px;
  border-radius: 50px;
  background-image: url(img/initiative.jpg);
  background-position: center;
  background-size: cover;
  position: relative;
}

.initiative_content_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  width: 100%;
  bottom: 24px;
  padding: 0 24px 0 60px;
}

.initiative_content p {
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.73;
  letter-spacing: 0.1em;
  color: #fff;
}

.initiative_btn_link {
  width: 100px;
  transition: .3s;
}

.initiative_btn_link:hover {
  opacity: .7;
}

.top_medaka {
  text-align: center;
}

.top_medaka_fukidashi {
  display: inline-block;
  position: relative;
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: .1em;
  color: #fff;
  background-color: #3AA3DD;
  padding: 20px 30px;
  border-radius: 13px;
}

.top_medaka_fukidashi::after {
  content: '';
  width: 17px;
  height: 19px;
  background: url(img/polygon.svg) no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -17px;
  left: 50%;
  transform: translateX(-50%);
}

a.top_medaka_img {
  margin: 25px auto 0;
  max-width: 326px;
  transition: .3s;
}

a.top_medaka_img:hover {
  opacity: .8;
}

.footer_frame {
  background-color: #3AA3DD;
  border-radius: 50px 50px 0 0;
  padding: 50px 12%;
  position: relative;
}

.footer_contact {
  background-color: #fff;
  border-radius: 38px;
  padding: 50px 13% 50px 11%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  column-gap: 100px;
  row-gap: 100px;
  position: relative;
}

.footer_contact::before {
  content: '';
  width: 81px;
  height: 55px;
  background: url(img/contact_deco.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.footer_contact_txt p {
  margin-top: 50px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.73;
  letter-spacing: 0.1em;
}

a.company_btn_link.footer_contact_btn {
  margin-top: 0;
}

.footer_inner {
  padding: 150px 0 75px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  column-gap: 50px;
  row-gap: 75px;
}

.footer_logo {
  max-width: 250px;
  margin-bottom: 50px;
}

.footer_company-name , address {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.56;
  letter-spacing: 0.1em;
  color: #fff;
}

.footer_company-name , address p {
  margin-bottom: 20px;
}

.footer_tel a {
  display: inline;
}

.footer_right a {
  transition: .3s;
}

.footer_right a:hover {
  opacity: .7;
}

.fnav {
  display: flex;
  column-gap: 60px;
}

.fnav ul , .footer_right_bottom_ul {
  font-family: var(--zen-font);
  font-weight: 500;
  line-height: 2.3;
  letter-spacing: 0.1em;
  color: #fff;
}

.fnav ul {
  font-size: 1.6rem;
}

.footer_right_bottom_ul {
  margin-top: 60px;
  font-size: 1.4rem;
}

.copy-right {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
}

.pageTop {
  position: absolute;
  bottom: 54px;
  right: 42px;
  width: 37px;
  height: 138px;
  z-index: 8;
  cursor: pointer;
  transition: .3s;
}

.pageTop:hover {
  opacity: .7;
}

.sp_br {
  display: none;
}

.fade-in {
  opacity: 0;
}

.fade-in.show {
  animation: fadeIn 1.5s linear 1 normal forwards;
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
}

.fade-in-up.show {
  animation: fadeInUp 1s linear 1 normal forwards;
}

@keyframes fadeInUp {
	0% {
		opacity: 0;
		transform: translateY(30px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}


/* 法人のお客様向けサービスページ */

.subpage_heading_section {
  min-height: 500px;
  overflow: hidden;
}

.shs_corporation {
  background: url(img/heading_corporation.webp) no-repeat center / cover;
}

.subpage_heading_section_inner {
  max-width: 1660px;
  margin: 0 auto;
  padding: 235px 20px 120px;
  color: #fff;
}

.subpage_h2_wrap h2 {
  font-family: var(--zen-font);
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.subpage_h2_wrap span {
  font-family: var(--asap-font);
  font-weight: 500;
  font-size: 7rem;
  letter-spacing: 0.05em;
  position: relative;
  padding-right: 70px;
  display: inline-block;
}

.subpage_h2_wrap span::after {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

.shw_corporation span::after {
  width: 57px;
  height: 52px;
  background-image: url(img/corporation_heading_icon.svg);
}

.pnkz {
  margin-top: 20px;
}

.pnkz ol li {
  display: inline-block;
  font-family: var(--zen-font);
  font-weight: 500;
  letter-spacing: 0.1em;
}

.pnkz ol li a {
  text-decoration: underline;
  display: inline-block;
}

.pnkz ol li:not(:last-child):after {
  content: '－';
  display: inline-block;
  margin: 0 4px;
}

.subpage_corporation_top_section {
  padding-top: 100px;
}

.subpage_inner {
  max-width: 1640px;
  margin: 0 auto;
  padding: 0 20px;
}

.subpage_corporation_top_h3 {
  font-family: var(--zen-font);
  color: #68007F;
  font-weight: 500;
  font-size: 4rem;
  letter-spacing: 0.1em;
  text-align: center;
}

.subpage_corporation_top_p {
  margin-top: 20px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.67;
  letter-spacing: 0.1em;
  text-align: center;
}

.subpage_corporation_top_img {
  margin: 53px auto 0;
  max-width: 333px;
}

.subpage_corporation_choice_wrap {
  margin-top: 36px;
  display: flex;
  column-gap: 48px;
}

a.subpage_corporation_choice {
  width: calc(100% / 3);
  background-color: #D18BD6;
  border-radius: 5px;
  color: #fff;
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.1em;
  text-align: center;
  transition: .3s;
  padding: 36px 84px;
  position: relative;
}

a.subpage_corporation_choice:hover {
  opacity: .8;
}

a.subpage_corporation_choice::before {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.scc_service::before {
  left: 20px;
  width: 53px;
  height: 32px;
  background-image: url(img/icon_truck.svg);
}

.scc_point::before {
  left: 31px;
  width: 30px;
  height: 35px;
  background-image: url(img/icon_tag.svg);
}

.scc_flow::before {
  left: 29px;
  width: 35px;
  height: 35px;
  background-image: url(img/icon_time.svg);
}

.subpage_corporation_service {
  padding-top: 150px;
  padding-bottom: 200px;
}

.subpage_h3_wrap {
  color: #68007F;
  font-family: var(--zen-font);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.subpage_h3_wrap h3 {
  font-size: 4rem;
  position: relative;
  display: inline;
}

.subpage_h3_wrap h3::before {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 8px;
}

.shw_service h3 {
  padding-right: 68px;
}

.shw_service h3::before {
  right: 0;
  width: 53px;
  height: 32px;
  background-image: url(img/icon_truck_purple.svg);
}

.shw_point h3 {
  padding-right: 45px;
}

.shw_point h3::before {
  right: 0;
  width: 30px;
  height: 35px;
  background-image: url(img/icon_tag_purple.svg);
}

.shw_flow h3 {
  padding-right: 50px;
}

.shw_flow h3::before {
  right: 0;
  width: 35px;
  height: 35px;
  background-image: url(img/icon_time_purple.svg);
}

.subpage_h3_wrap span {
  font-size: 2rem;
  display: block;
  padding-top: 8px;
}

.subpage_corporation_service_content {
  margin-top: 80px;
  background-color: #fff;
  border-radius: 25px;
  box-shadow: 5px 3px 12px 5px #0000000D;
  padding: 130px 8.625% 134px;
  position: relative;
}

.subpage_corporation_service_content::before {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 8.625%;
  width: 100px;
  height: 100px;
}

.scsc_teiki::before {
  background-image: url(img/corporation_tag_teiki.svg);
}

.scsc_spot::before {
  background-image: url(img/corporation_tag_spot.svg);
}

.scsc_container::before {
  background-image: url(img/corporation_tag_container.svg);
}

.scsc_yusui::before {
  background-image: url(img/corporation_tag_yusui.svg);
}

.scsc_heading {
  padding-bottom: 50px;
  border-bottom: 2px dashed #E2E2E2;
  margin-bottom: 24px;
}

.scsc_heading h4 {
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 3.2rem;
  letter-spacing: 0.1em;
  color: #68007F;
}

.scsc_heading p {
  margin-top: 30px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: #68007F;
}

.scsc_container_capacity {
  margin-top: 30px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: #68007F;
  background-color: #f2f2f2;
  border-radius: 10px;
  padding: 10px 20px;
}

.scsc_heading p.scsc_container_note {
  margin-top: 10px;
  position: relative;
  font-size: 1.6rem;
  padding-left: 18px;
  color: #DE4853;
}

.scsc_container_note::before {
  content: "※";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.example_title {
  display: inline-block;
  padding: 4px 15px 6px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: #68007F;
  border-bottom: 2px solid #D18BD6;
}

.example_content_wrap {
  margin-top: 30px;
  display: grid;
  column-gap: 8.38%;
}

.example_content_wrap.grid_3 {
  grid-template-columns: 1fr 1fr 1fr;
}

.example_content_wrap.grid_2 {
  grid-template-columns: 1fr 1fr;
}

.example_content {
  display: grid;
}

.example_content_img {
  align-self: end;
}

.example_content_img img {
  border-radius: 10px;
}

.example_content_category {
  color: #fff;
  padding: 10px 30px;
  background-color: #D18BD6;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
  display: inline-block;
}

.example_content_p {
  margin-top: 10px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: #68007F;
  margin-bottom: 30px;
}

.subpage_corporation_service_bottom_p {
  margin-top: 100px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  color: #68007F;
}

.subpage_corporation_service_bottom_p.residential {
  color: #DE4853;
}

.subpage_corporation_point {
  padding-top: 100px;
  padding-bottom: 150px;
  background-color: #FDFFDD;
}

.subpage_corporation_point_content_wrap {
  margin-top: 100px;
  display: flex;
  column-gap: 24px;
  row-gap: 48px;
  flex-wrap: wrap;
  justify-content: center;
}

.subpage_corporation_point_content {
  max-width: 300px;
  width: 100%;
  padding: 210px 0 40px;
  background-color: #fff;
  border-radius: 10px 10px 0 0;
  border-bottom: 3px solid #D18BD6;
  position: relative;
}

.subpage_corporation_point_content::before {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.scpc_01::before {
  top: 10px;
  width: 148px;
  height: 185px;
  background-image: url(img/corporation_point01.svg);
}

.scpc_02::before {
  top: 46px;
  width: 112px;
  height: 112px;
  background-image: url(img/corporation_point02.svg);
}

.scpc_03::before {
  top: 52px;
  width: 87px;
  height: 100px;
  background-image: url(img/corporation_point03.svg);
}

.scpc_04::before {
  top: 46px;
  width: 123px;
  height: 112px;
  background-image: url(img/corporation_point04.svg);
}

.scpc_05::before {
  top: 38px;
  width: 117px;
  height: 122px;
  background-image: url(img/corporation_point05.svg);
}

.subpage_corporation_point_h4 {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-align: center;
  color: #68007F;
}

.subpage_corporation_point_p {
  padding: 40px 25px 0;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.subpage_corporation_flow {
  padding: 150px 0;
}

.subpage_corporation_flow_top_p {
  margin-top: 50px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #68007F;
}

.flow_body {
  margin-top: 25px;
  counter-reset: step;
}

.flow_box {
  position: relative;
  min-height: 250px;
  padding: 65px 0 65px 175px;
  display: flex;
  align-items: center;
  column-gap: 50px;
}

.flow_box:not(:last-child) {
  border-bottom: 1px solid #D18BD6;
}

.flow_box:not(:last-child)::before {
  position: absolute;
  top: 100px;
  left: 75px;
  width: 5px;
  height: calc(100% + 50px);
  background-image: url(img/flow_line.svg);
  background-size: 5px 15px;/*画像の大きさを設定してください*/
  background-repeat: repeat-y;
  background-position: left top;
  content: '';
}

.flow_box::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background-color: #fff;
  border: 3px solid #D18BD6;
  color: #D18BD6;
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 140px;
  counter-increment: step;
  content: "Step." counter(step);
}

.flow_box_title {
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 4rem;
  letter-spacing: 0.1em;
  color: #C86CCF;
  max-width: 450px;
  width: 100%;
}

.flow_box_text {
  background-color: #fff;
  box-shadow: 5px 3px 12px 5px #0000000D;
  padding: 30px 24px;
  border-radius: 10px;
  width: 100%;
}

.flow_box_text p {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.subpage_footer_contact_section {
  padding-bottom: 150px;
}

.subpage_footer_contact.subpage_corporation a.company_btn_link {
    background-color: #D18BD6;
}

.subpage_footer_contact {
  max-width: 1320px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 233px;
  padding: 50px;
  text-align: center;
}

.subpage_footer_contact .subpage_h3_wrap {
  padding-bottom: 155px;
  position: relative;
}

.subpage_footer_contact .subpage_h3_wrap::after {
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  width: 81px;
  height: 55px;
  background-image: url(img/contact_deco_vivid.svg);
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
}

.subpage_footer_contact_p {
  font-family: var(--zen-font);
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-bottom: 30px;
}

.subpage_footer_contact a.company_btn_link.footer_contact_btn {
  margin: 0 auto;
}


.subpage_footer .footer_inner {
  padding-top: 0;
}

/* 法人のお客様向けサービスページ */

.shs_residential {
  background: url(img/heading_residential.webp) no-repeat center / cover;
}

.shw_residential span {
  padding-right: 63px;
}

.shw_residential span::after {
  width: 53px;
  height: 51px;
  background-image: url(img/residential_heading_icon.svg);
}

.subpage_residential_top_section .subpage_corporation_top_h3 {
  color: #DE4853;
}

.subpage_residential_top_section .subpage_corporation_choice_wrap {
  max-width: 1048px;
  margin: 36px auto 0;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 48px;
}

.subpage_residential_top_section a.subpage_corporation_choice {
  background-color: #FF7680;
}

.subpage_residential_top_section .subpage_corporation_choice_wrap a.subpage_corporation_choice {
  width: calc(100% / 2 - 24px);
}

.scc_voice::before {
  left: 24px;
  width: 44px;
  height: 35px;
  background-image: url(img/icon_fukidashi.svg);
}

.subpage_residential_service .subpage_h3_wrap {
  color: #DE4853;
}

.subpage_residential_service .shw_service h3::before {
  background-image: url(img/icon_truck_pink.svg);
}

.scsc_sodai::before {
  background-image: url(img/residential_tag_sodai.svg);
}

.scsc_kataduke::before {
  background-image: url(img/residential_tag_kataduke.svg);
}

.scsc_ihin::before {
  background-image: url(img/residential_tag_ihin.svg);
}

.scsc_niwaki::before {
  background-image: url(img/residential_tag_niwaki.svg);
}

.scsc_bunbetsu::before {
  background-image: url(img/residential_tag_bunbetsu.svg);
}

.subpage_residential_service .scsc_heading h4 {
  color: #DE4853;
}

.subpage_residential_service .scsc_heading p {
  color: #DE4853;
}

.subpage_residential_service .example_title {
  color: #DE4853;
  border-bottom: 2px solid #FF7680;
}

.subpage_residential_service .example_content_category {
  margin-top: 30px;
  background-color: #FF7680;
}

.subpage_residential_point .subpage_h3_wrap {
  color: #DE4853;
}

.subpage_residential_point .shw_point h3::before {
  background-image: url(img/icon_tag_pink.svg);
}

.subpage_residential_point .subpage_corporation_point_content_wrap {
  max-width: 948px;
  margin: 100px auto 0;
}

.subpage_residential_point .subpage_corporation_point_content {
  border-bottom: 3px solid #FF7680;
}

.srpc_01::before {
  top: 42px;
  width: 138px;
  height: 120px;
  background-image: url(img/residential_point01.svg);
}

.srpc_02::before {
  top: 52px;
  width: 78px;
  height: 100px;
  background-image: url(img/residential_point02.svg);
}

.srpc_03::before {
  top: 42px;
  width: 79px;
  height: 120px;
  background-image: url(img/residential_point03.svg);
}

.srpc_04::before {
  top: 64px;
  width: 61px;
  height: 70px;
  background-image: url(img/residential_point04.svg);
}

.srpc_05::before {
  top: 40px;
  width: 43px;
  height: 119px;
  background-image: url(img/residential_point05.svg);
}

.srpc_06::before {
  top: 44px;
  width: 102px;
  height: 110px;
  background-image: url(img/residential_point06.svg);
}

.subpage_residential_point .subpage_corporation_point_h4 {
  color: #DE4853;
}

.subpage_residential_voice {
  padding-top: 150px;
}

.subpage_residential_voice .subpage_h3_wrap {
  color: #DE4853;
}

.shw_voice h3 {
  padding-right: 60px;
}

.shw_voice h3::before {
  right: 0;
  width: 44px;
  height: 35px;
  background-image: url(img/icon_fukidashi_pink.svg);
}

.subpage_residential_voice_content_wrap {
  margin-top: 143px;
  display: flex;
  column-gap: 48px;
  row-gap: 100px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
}

.subpage_residential_voice_content {
  max-width: 500px;
  width: 100%;
}

.voice_info {
  color: #DE4853;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
  padding-left: 35px;
  padding-right: 210px;
}

.vi03 {
  padding-right: 260px;
}

.subpage_residential_voice_content_box {
  border-radius: 10px;
  background-color: #FFA1A8;
  padding: 35px;
  margin-top: 5px;
  position: relative;
  min-height: 267px;
}

.subpage_residential_voice_content_box::before {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: -115px;
}

.srvcb01::before {
  right: 75px;
  width: 120px;
  height: 178px;
  background-image: url(img/voice01.svg);
}

.srvcb02::before {
  right: 75px;
  width: 120px;
  height: 183px;
  background-image: url(img/voice02.svg);
}

.srvcb03::before {
  right: 51px;
  width: 219px;
  height: 177px;
  background-image: url(img/voice03.svg);
}

.subpage_residential_voice_content_inner {
  border-radius: 10px;
  background-color: #fff;
  padding: 46px 30px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.75;
  letter-spacing: 0.1em;
  min-height: 197px;
}

.subpage_residential_flow .subpage_h3_wrap {
  color: #DE4853;
}

.subpage_residential_flow .shw_flow h3::before {
  background-image: url(img/icon_time_pink.svg);
}

.subpage_residential_flow .subpage_corporation_flow_top_p {
  color: #DE4853;
}

.subpage_residential_flow .flow_box:not(:last-child) {
  border-bottom: 1px solid #FF7680;
}

.subpage_residential_flow .flow_box:not(:last-child)::before {
  background-image: url(img/flow_line_pink.svg);
}

.subpage_residential_flow .flow_box::after {
  border: 3px solid #FF7680;
  color: #FF7680;
}

.subpage_residential_flow .flow_box_title {
  color: #EF656F;
}

.subpage_residential .subpage_h3_wrap {
  color: #DE4853;
}

.subpage_footer_contact.subpage_residential a.company_btn_link {
  background-color: #FF7680;
}

/* お知らせ一覧ページ */

.shs_news {
  background: #3AA3DD;
}

.shs_news .subpage_h2_wrap span {
  padding-right: 0;
}

.shs_news .subpage_h2_wrap span::after {
  display: none;
}

.sub_news_section {
  padding-top: 100px;
  padding-bottom: 200px;
}

.sub_news_section .news_list {
  max-width: 1296px;
  margin: 0 auto;
}

.sub_news_section .news_li_link {
  padding: 40px 60px 40px 50px;
}

.sub_news_section .post_time {
  font-family: var(--zen-font);
  font-weight: 700;
  color: #fff;
  background-color: #3AA3DD;
  padding: 7px 5px 7px 15px;
}

.sub_news_section .post_title {
  font-family: var(--zen-font);
  font-weight: 700;
}

.sub_news_section .news_arrow {
  right: 30px;
}

.page_nav {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  text-align: center;
}

.page-numbers {
  width: 30px;
  height: 30px;
  display: grid;
  justify-content: center;
  align-items: center;
}

.page-numbers.current {
  background: #3AA3DD;
  color: #fff;
  border-radius: 50%;
  pointer-events: none;
}

.prev.page-numbers, .next.page-numbers {
  position: relative;
}

.next.page-numbers {
  margin-left: 2rem;
}

.next.page-numbers::after {
  content: '〉';
}

.prev.page-numbers::before {
  content: '〈';
}

.subpage_news .subpage_h3_wrap {
  color: #3AA3DD;
}

.subpage_footer_contact.subpage_news a.company_btn_link {
  background-color: #3AA3DD;
}

/* お知らせ詳細ページ */

.subpage_article_h2_wrap p {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: .1em;
}

.subpage_article_h2_wrap h2 {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 4.8rem;
}

.article_wrapper {
  padding-top: 100px;
  padding-bottom: 200px;
}

.article_body {
  max-width: 1000px;
  margin: 0 auto;
}

.article_body p {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.75;
}

.subpage_article_btn_link {
  margin-top: 150px;
  flex-direction: row-reverse;
}

.subpage_article_btn_link p {
  color: #3AA3DD;
}

.subpage_article_btn_link .news_btn_link_btn {
  transform: rotate(180deg);
}

/* お問い合わせページ */

.sub_contact_section {
  padding-bottom: 200px;
}

.sub_contact_container {
  background-color: #3AA3DD;
  padding-bottom: 100px;
  border-radius: 0 0 50px 50px;
}

.sub_contact_inner {
  max-width: 1360px;
  padding: 0 20px;
  margin: 0 auto;
}

.sub_contact_top_txt_wrap {
  color: #fff;
  padding-bottom: 100px;
  position: relative;
}

.sub_contact_top_txt_wrap::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background-image: url(img/contact_top_line.svg);
  background-size: 40px 5px;
  background-repeat: repeat-x;
  background-position: left bottom;
  content: '';
}

.sub_contact_top_h3 {
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 4rem;
  letter-spacing: .1em;
  text-align: center;
}

.sub_contact_top_p_wrap {
  max-width: 950px;
  margin: 50px auto;
  display: grid;
  row-gap: 30px;
}

.sub_contact_top_p_wrap p {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: .1em;
}

.sub_contact_top_p_wrap p span {
  border-bottom: 1px solid #fff;
}

.sub_contact_note_wrap {
  text-align: center;
}

.sub_contact_note {
  position: relative;
  padding-left: 24px;
  display: inline-block;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: .1em;
}

.sub_contact_note::before {
  content: "※";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.sub_contact_address {
  margin-top: 50px;
  text-align: center;
}

.sub_contact_address p {
  font-family: var(--zen-font);
  font-weight: 700;
  letter-spacing: .1em;
  padding: 7px 24px;
  line-height: 1;
  background-color: #fff;
  display: inline-block;
  color: #34344A;
}

.sub_contact_address a {
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 6.4rem;
  letter-spacing: .1em;
  text-decoration: underline;
  text-decoration-style: solid;
  text-decoration-thickness: 7%;
  text-decoration-skip-ink: auto;
  line-height: 1;
}

.contact_form {
  margin-top: 100px;
}

.contact_form .sub_contact_note {
  margin-bottom: 50px;
  color: #fff;
}

.contact_form dl {
  padding-bottom: 50px;
}

.contact_form dt {
  margin-bottom: 10px;
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: .1em;
  color: #fff;
}

.contact_form dt .form_dt_en {
  display: block;
  font-size: 2rem;
}

.contact_form dd input, .contact_form dd textarea, .contact_form dd select {
  width: 100%;
  background-color: #fff;
  padding: 20px 30px;
  border-radius: 10px;
  font-size: 1.6rem;
  letter-spacing: .1em;
  font-weight: 700;
  font-family: var(--zen-font);
  color: #34344A;
}

.contact_form dd input::placeholder,
.contact_form dd textarea::placeholder,
.contact_form dd select::placeholder {
  color: #BDBDBD;
}

.select_dd {
  max-width: 510px;
}

.select_dd select {
  background-image: url(img/form_arrow.svg);
  background-position: right 20px center;
  background-repeat: no-repeat;
  background-size: 16px 8px;
}

.contact_privacy_txt {
  margin-top: 50px;
  text-align: center;
}

.contact_privacy_txt a {
  display: flex;
  column-gap: 15px;
  align-items: center;
  justify-content: center;
  transition: .3s;
}

.contact_privacy_txt a:hover {
  opacity: .8;
}

.contact_privacy_txt p {
  color: #fff;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  border-bottom: 1px solid #fff;
}

.contact_privacy_txt_arrow {
  width: 24px;
  height: 24px;
}

.submit_btn {
  margin-top: 50px;
  text-align: center;
}

.submit_btn .submit {
  width: 100%;
  max-width: 300px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: .1em;
  color: #3AA3DD;
  background-color: #fff;
  border-radius: 30px;
  padding:  15px;
  transition: .3s;
}

.submit_btn .submit:hover {
  opacity: .8;
}

.contact_privacy_txt_arrow {
  background-image: url(img/arrow_icon_white-b.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 24px 24px;
}

/* プライバシーポリシーページ */

.sub_privacy_section {
  padding: 100px 0 200px;
}

.sub_privacy_content:not(:first-child) {
  margin-top: 100px;
}

.sub_privacy_h3_wrap {
  margin-bottom: 30px;
  color: #3AA3DD;
  font-family: var(--zen-font);
  font-weight: 700;
  letter-spacing: .1em;
}

.sub_privacy_h3_wrap h3 {
  font-size: 4rem;
}

.sub_privacy_h3_wrap span {
  margin-top: 8px;
  display: block;
  font-size: 2rem;
}

.sub_privacy_p_wrap {
  display: grid;
  row-gap: 30px;
  font-family: var(--zen-font);
  font-weight: 500;
  line-height: 2;
  letter-spacing: .1em;
}

.sub_privacy_ul {
  display: grid;
  row-gap: 30px;
  list-style: disc;
  padding-left: 20px;
}

.sub_privacy_ul li {
  font-weight: 700;
}

.sub_privacy_ul li p {
  font-weight: 400;
}

/* 採用情報ページ */

.shs_recruit {
  background: url(img/heading_recruit.webp) no-repeat center / cover;
}

.subpage_recruit_top_section .subpage_corporation_top_h3 {
  color: #3AA3DD;
}

.subpage_recruit_marker {
  margin-top: 50px;
  text-align: center;
}

.subpage_recruit_marker span {
  background: linear-gradient(transparent 60%, #AFE3FF 60%);
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: .1em;
  padding-left: 10px;
}

.subpage_recruit_lead {
  margin-top: 10px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: .1em;
  text-align: center;
}

.subpage_recruit_top_section .subpage_corporation_choice_wrap {
  margin-top: 50px;
}

.subpage_recruit_top_section a.subpage_corporation_choice {
  background-color: #3AA3DD;
}

.scc_schedule::before {
  left: 29px;
  width: 35px;
  height: 35px;
  background-image: url(img/icon_time.svg);
}

.scc_employee::before {
  left: 23px;
  width: 45px;
  height: 38px;
  background-image: url(img/icon_megahon.svg);
}

.scc_description::before {
  left: 27px;
  width: 39px;
  height: 35px;
  background-image: url(img/icon_paper.svg);
}

.scc_work::before {
  left: 30px;
  width: 38px;
  height: 45px;
  background-image: url(img/icon_building.svg);
}

.subpage_recruit_schedule {
  padding: 150px 0 200px;
}

.subpage_recruit_schedule .subpage_h3_wrap,
.subpage_recruit_employee .subpage_h3_wrap,
.subpage_recruit_description .subpage_h3_wrap,
.subpage_recruit_work .subpage_h3_wrap {
  color: #3AA3DD;
}

.shw_schedule h3 {
  padding-right: 50px;
}

.shw_schedule h3::before {
  right: 0;
  width: 35px;
  height: 35px;
  background-image: url(img/icon_time_blue.svg);
}

.shw_employee h3 {
  padding-right: 57px;
}

.shw_employee h3::before {
  right: 0;
  width: 45px;
  height: 38px;
  background-image: url(img/icon_megahon_blue.svg);
}

.shw_description h3 {
  padding-right: 53px;
}

.shw_description h3::before {
  right: 0;
  width: 38px;
  height: 35px;
  background-image: url(img/icon_paper_blue.svg);
}

.shw_work h3 {
  padding-right: 53px;
}

.shw_work h3::before {
  right: 0;
  width: 38px;
  height: 45px;
  background-image: url(img/icon_building_blue.svg);
}

.schedule_body {
  max-width: 1390px;
  margin: 50px auto 0;
}

.schedule_box_wrap {
  position: relative;
  padding-bottom: 50px;
  padding-left: 150px;
}

.schedule_box_wrap:last-child {
  padding-bottom: 0;
}

.schedule_box_wrap:not(:last-child)::before {
  position: absolute;
  top: 0;
  left: 100px;
  width: 5px;
  height: 100%;
  background-image: url(img/flow_line_blue.svg);
  background-size: 5px 15px;/*画像の大きさを設定してください*/
  background-repeat: repeat-y;
  background-position: left top;
  content: '';
}

.schedule_box_wrap::after {
  position: absolute;
  top: 0;
  left: 92.5px;
  width: 20px;
  height: 20px;
  border-radius: 3px;
  background-color: #3AA3DD;
  content: "";
}

.schedule_time {
  position: absolute;
  top: -8px;
  left: 0;
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: .05em;
  color: #3AA3DD;
  text-align: center;
}

.schedule_box {
  border-radius: 0 25px 25px 25px;
  background-color: #fff;
  border: 2px solid #3AA3DD;
  padding: 40px;
}

.schedule_box_title {
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 3.2rem;
  letter-spacing: 0.1em;
  color: #3AA3DD;
}

.schedule_box_text {
  margin-top: 20px;
  display: grid;
  row-gap: 20px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: .1em;
}

.schedule_box_text .kome_txt {
  color: #DE4853;
}

.schedule_time .rotate {
  display: inline-block;
  transform: rotate(90deg);
}

.schedule_box.flex {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}

.schedule_box_left {
  width: 100%;
}

.schedule_box_right {
  width: 100%;
  max-width: 290px;
  height: fit-content;
}

.schedule_box_right img {
  border-radius: 15px;
}

.subpage_recruit_employee {
  background-color: #FDFFDD;
  padding: 100px 0 200px;
}

.employee_content_wrap {
  display: grid;
  row-gap: 80px;
  margin-top: 50px;
}

.employee_content {
  padding-top: 80px;
  position: relative;
  width: 100%;
  max-width: 1270px;
  margin: 0 auto;
}

.employee_content::before {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 290px;
  height: 52px;
}

.employee_content:nth-child(1)::before {
  background-image: url(img/employee_megahon01.svg);
}

.employee_content:nth-child(2)::before {
  background-image: url(img/employee_megahon02.svg);
}

.employee_content:nth-child(3)::before {
  background-image: url(img/employee_megahon03.svg);
}

.employee_content:nth-child(4)::before {
  background-image: url(img/employee_megahon04.svg);
}

.employee_content_box {
  padding-top: 40px;
  position: relative;
}

.employee_content_box h4 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #3AA3DD;
  border-radius: 40px;
  text-align: center;
  width: 100%;
  max-width: 620px;
  font-family: var(--zen-font);
  color: #fff;
  font-weight: 700;
  font-size: 3.2rem;
  letter-spacing: .1em;
  text-align: center;
  padding: 17px 0;
}

.employee_flex {
  display: flex;
  align-items: center;
  gap: 50px;
  background-color: #fff;
  border-radius: 25px;
  padding: 90px 4% 50px;
}

.employee_flex_img {
  width: 100%;
  max-width: 400px;
  height: fit-content;
}

.employee_flex_img img {
  border-radius: 20px;
}

.employee_flex p {
  width: 100%;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 2.5;
  letter-spacing: .1em;
}

.subpage_recruit_description {
  padding-top: 100px;
  position: relative;
}

.sagyou_img {
  position: absolute;
  width: 36.46%;
  top: -7.8125vw;
  right: 8%;
}

.sagyou_img img {
  border-radius: 15px;
}

.description_content {
  width: 100%;
  max-width: 1200px;
  margin: 50px auto 0;
  background-color: #fff;
  padding: 85px 8% 75px 10%;
  border-radius: 20px;
  box-shadow: 7px 7px 15px 5px #00000026;
}

.recruit_dl_table > dl {
  display: flex;
  padding: 40px 0 0;
}

.recruit_dl_table > dl > dt {
  min-width: 145px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2.4rem;
  letter-spacing: .1em;
  line-height: 1.66;
}

.recruit_dl_table > dl > dd {
  width: 100%;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: .1em;
  line-height: 1.66;
  border-bottom: 1px solid #BBBBBB;
  padding-bottom: 10px;
  padding-left: 24px;
}

.description_content_p {
  margin-top: 75px;
  text-align: center;
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 1.8rem;
  letter-spacing: .1em;
  color: #3AA3DD;
}

.no-recruitments {
  text-align: center;
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 1.8rem;
  letter-spacing: .1em;
}

.subpage_recruit_work {
  padding: 75px 0 200px;
}

.work_content {
  width: 100%;
  max-width: 1200px;
  margin: 50px auto 0;
  background-color: #fff;
  padding: 125px 8% 125px 10%;
  border-radius: 20px;
  box-shadow: 7px 7px 15px 5px #00000026;
}

.work_content ul {
  display: grid;
  row-gap: 24px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: .1em;
}

.work_content ul li {
  padding-left: 30px;
  position: relative;
}

.work_content ul li::before {
  position: absolute;
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  left: 0;
  top: 7px;
  width: 15px;
  height: 13px;
  border-radius: 2px;
}

.work_list_blue li::before {
  background-color: #3AA3DD;
}

.work_list_pink li::before {
  background-color: #FF7680;
}

.work_content_h4 {
  margin-top: 60px;
  margin-bottom: 20px;
  position: relative;
  padding-right: 35px;
  display: inline-block;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2.4rem;
  letter-spacing: .1em;
}

.work_content_h4::before {
  position: absolute;
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(img/icon_human_pink.svg);
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 25px;
  height: 40px;
}

/* 会社案内ページ */

.shs_company {
  background: url(img/heading_company.webp) no-repeat center / cover;
}

.subpage_company_section {
  padding-top: 150px;
}

.subpage_company_section:last-child {
  padding-bottom: 200px;
}

.subpage_company_section .subpage_h3_wrap {
  color: #3AA3DD;
  margin-bottom: 50px;
}

.mission_box {
  background-color: #fff;
  border-radius: 25px;
  box-shadow: 7px 7px 15px 5px #00000026;
  padding: 100px 6%;
}

.company_only_p {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: .1em;
}

.company_only_p .marker {
  font-weight: 700;
  background:linear-gradient(transparent 70%, rgba(255, 118, 128, 0.5) 70%);
  padding: 15px 0 5px;
  line-height: 3;
}

.company_only_p .marker_red {
  color: #DE4853;
}

.company_only_p .marker_big {
  font-size: 3rem;
}

.company_dl_table {
  max-width: 1434px;
}

.company_dl_table > dl {
  display: flex;
  align-items: center;
  padding: 75px 50px 50px;
  border-bottom: 1px solid #BBBBBB;
}

.company_dl_table > dl:first-child {
  padding-top: 50px;
}

.company_dl_table > dl > dt {
  width: 30%;
  min-width: 200px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 2.4rem;
  letter-spacing: .1em;
  line-height: 1.66;
}

.company_dl_table > dl > dd {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: .1em;
  line-height: 1.66;
}

.company_p {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.66;
  letter-spacing: .1em;
}

.patents_place {
  margin-top: 50px;
  display: inline-block;
  font-family: var(--zen-font);
  font-weight: 700;
  letter-spacing: .1em;
  text-align: center;
  width: 113px;
  background-color: #34344A;
  color: #fff;
  padding: 7px 0;
}

.patents_list {
  margin-top: 30px;
  list-style: disc;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: .1em;
  padding-left: 24px;
  display: grid;
  row-gap: 8px;
}

.facility_list {
  margin-top: 40px;
}

.facility_list:first-child {
  margin-top: 50px;
}

.facility_list li {
  position: relative;
  padding-left: 32px;
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: .1em;
}

.facility_list li::before {
  position: absolute;
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  left: 0;
  top: 5px;
  width: 19px;
  height: 19px;
  border-radius: 4px;
  background-color: #34344A;
}

.facility_list li p {
  margin-top: 10px;
  font-weight: 500;
  font-size: 1.8rem;
}

.company_map {
  max-width: 1300px;
  border-radius: 25px;
  overflow: hidden;
}

.company_map_p {
  margin-top: 30px;
  display: grid;
  row-gap: 10px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: .1em;
}

/* SDGsページ */

.shs_sdgs {
  background: url(img/heading_sdgs.webp) no-repeat center right / cover;
}

a.sdgs_link {
  margin-top: 20px;
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: .1em;
  text-align: center;
  color: #3AA3DD;
  text-decoration: underline;
  transition: .3s;
}

a.sdgs_link:hover {
  opacity: .8;
}

.subpage_recruit_top_section .subpage_corporation_choice_wrap {
  margin-top: 75px;
}

.scc_initiatives::before {
  left: 29px;
  width: 45px;
  height: 37px;
  background-image: url(img/icon_leaf.svg);
}

.scc_contribution::before {
  left: 29px;
  width: 40px;
  height: 41px;
  background-image: url(img/icon_japan.svg);
}

.subpage_sdgs_initiatives {
  padding-top: 150px;
}

.subpage_sdgs_initiatives .subpage_h3_wrap,
.subpage_sdgs_contribution .subpage_h3_wrap {
  color: #3AA3DD;
}

.shw_initiatives h3 {
  padding-right: 60px;
}

.shw_initiatives h3::before {
  right: 0;
  width: 45px;
  height: 37px;
  background-image: url(img/icon_leaf_blue.svg);
}

.sdgs_list > li {
  border-bottom: 1px solid #34344A;
  position: relative;
  font-family: var(--zen-font);
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: .1em;
  margin-top: 75px;
  padding-left: 36px;
  padding-bottom: 50px;
}

.sdgs_list > li::before {
  content: "◯";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}

.sdgs_list_list {
  counter-reset: sdgs;
  margin-top: 20px;
}

.sdgs_list_list > li {
  position: relative;
  font-weight: 500;
  font-size: 1.8rem;
  padding-left: 24px;
}

.sdgs_list_list > li:not(:first-child) {
  margin-top: 15px;
}

.sdgs_list_list > li::before {
  position: absolute;
  counter-increment: sdgs;
  content: counter(sdgs) ")";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  top: 0;
  left: 0;
}

.sdgs_img_wrap {
  margin-top: 50px;
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
}

.sdgs_img_wrap img {
  max-width: 150px;
}

.shw_contribution h3 {
  padding-right: 55px;
}

.shw_contribution h3::before {
  right: 0;
  width: 40px;
  height: 41px;
  background-image: url(img/icon_japan_blue.svg);
}

.subpage_sdgs_contribution {
  padding-top: 150px;
  padding-bottom: 200px;
}

.css_slider-wrapper {
  margin-bottom: 200px;
  display: flex;
  overflow: hidden;
}

.css_slider:not(:first-child){
  margin-left: 40px;
}

.css_slider {
  animation: scroll-left 55s infinite linear .5s both;
  display: flex;
  column-gap: 40px;
}

@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

.css_slide {
  width: 300px;
}

.css_slide img {
  display: block;
  width: 100%;
  border-radius: 15px;
}

/* メダカページ */

.shs_medaka {
  background: url(img/heading_medaka.jpg) no-repeat center right / cover;
}

.medaka_h2_wrap h2 {
  font-size: 3.6rem;
}

.pnkz_medaka {
  width: 60px;
}

.subpage_medaka_top_p {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 2.78;
  letter-spacing: .1em;
  text-align: center;
}

.subpage_medaka_top_p span {
  padding-left: 0;
}

.medaka_blue_section {
  margin: 100px auto 200px;
  max-width: 1320px;
  padding: 50px 20px 0;
  background-color: #3AA3DD;
  border-radius: 25px;
  color: #fff;
  font-family: var(--zen-font);
  font-weight: 700;
  letter-spacing: .1em;
}

.medaka_blue_section_inner {
  max-width: 950px;
  margin: 0 auto;
}

.medaka_pic {
  width: 100%;
  max-width: 500px;
  margin: 0 auto 50px;
}

.medaka_pic img {
  border-radius: 20px;
}

.medaka_blue_section_h4 {
  position: relative;
  padding-top: 70px;
  font-size: 4rem;
  text-align: center;
  margin-bottom: 40px;
}

.medaka_blue_section_h4::before {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 50%;
  width: 67px;
  height: 28px;
  background-image: url(img/medaka.svg);
  transform: translateX(-50%) scale(-1, 1);
}

.medaka_blue_section p {
  font-size: 1.8rem;
  line-height: 2;
}

.medaka_blue_section_h5 {
  margin: 100px auto 50px;
  background-color: #fff;
  color: #3AA3DD;
  font-size: 3.2rem;
  text-align: center;
  max-width: 620px;
  border-radius: 40px;
  padding: 17px;
}

.medaka_blue_section_list {
  display: grid;
  row-gap: 30px;
  justify-content: center;
}

.medaka_blue_section_list li {
  position: relative;
  padding-left: 34px;
  font-size: 1.8rem;
}

.medaka_blue_section_list li::before {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 4px;
  left: 0;
  width: 24px;
  height: 20px;
  background-image: url(img/check-box.svg);
}

.medaka_blue_section_center_p {
  margin-top: 50px;
  text-align: center;
}

.underline {
  text-decoration: underline;
  text-decoration-style: solid;
  text-decoration-thickness: 12%;
}

.medaka_spark {
  width: 177px;
  margin-left: auto;
  margin-bottom: 90px;
}

a.back_medaka {
  width: 100%;
  max-width: 346px;
  margin: 140px auto 0;
  transition: .3s;
}

a.back_medaka:hover {
  opacity: .8;
}

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

  .subpage_residential_voice_content_box {
    min-height: auto;
  }

  .subpage_residential_voice_content_inner {
    min-height: auto;
  }

}

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

  header {
    top: 20px;
    width: calc(100% - 35px);
    margin: 0 auto;
    height: 75px;
  }

  .header_inner {
    width: calc(100% - 60px);
  }

  .gnav_pc {
    display: none;
  }

  .toggle {
    position: fixed;
    z-index: 50;
    width: 25px;
    height: 14px;
    top: 50px;
    right: 47.5px;
  }

  .toggle span {
    display: inline-block;
    width: 100%;
    height: 2px;
    background: #3AA3DD;
    position: absolute;
    right: 0;
    transition: .3s;
  }

  .toggle span:first-child {
    top: 0;
  }

  .toggle span:nth-child(2) {
    top: 7px;
  }

  .toggle span:nth-child(3) {
    top: 14px;
  }

  .gnav_sp.open {
    opacity: 1;
    visibility: visible;
  }
  
  .toggle.open span:first-child {
    top: 7px;
    transform: rotate(30deg);
  }

  .toggle.open span:nth-child(2) {
    opacity: 0;
  }
  
  .toggle.open span:nth-child(3) {
    top: 7px;
    transform: rotate(-30deg);
  }

  .gnav_sp {
    width: 100%;
    height: 100%;
    min-height: 500px;
    display: block;
    position: fixed;
    top: 0;
    background: rgba(58, 163, 221, .95);
    z-index: 40;
    transition: .5s;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    opacity: 0;
    visibility: hidden;
    overflow-y: scroll;
  }

  .gnav_sp_inner {
    padding: 170px 17.5px 50px;
  }

  .gnav_sp_inner ul {
    display: grid;
    row-gap: 40px;
  }

  .gnav_sp_inner ul li {
    font-family: var(--zen-font);
    font-weight: 500;
    font-size: 1.8rem;
    letter-spacing: .1em;
    text-align: center;
    color: #fff;
  }

  .gnav_sp_inner ul li.gnav_sp_privacy {
    font-size: 1.4rem;
  }

}

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

  .footer_contact {
    flex-direction: column;
    justify-content: center;
  }

  .footer_contact::before {
    width: 56px;
    height: 40px;
    top: auto;
    bottom: 140px;
    left: 50%;
    transform: translate(-50% , 0);
  }

  .footer_inner {
    flex-direction: column-reverse;
  }

  /* 法人のお客様向けサービスページ */

  a.subpage_corporation_choice {
    padding: 36px 16px 36px 84px;
    text-align: left;
  }

}

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

  .logo {
    max-width: 222px;
  }

  .mv {
    height: auto;
    padding-bottom: 100px;
  }

  .mv_inner {
    padding-top: 470px;
    display: block;
    height: auto;
  }

  .mv_copy {
    padding-left: 10px;
    text-align: left;
  }

  .mv_copy_title {
    font-size: 3.8rem;
  }

  .mv_copy p {
    font-size: 1.5rem;
  }

  .mv_img {
    position: absolute;
    width: 95%;
    height: 400px;
    top: 0;
  }

  .md01 {
    width: 117px;
    right: -68px;
    bottom: 160px;
  }

  .md02 {
    width: 79px;
    left: 15px;
    top: 60px;
  }

  .md03 {
    width: 53px;
    left: -14px;
    bottom: 10px;
  }

  .scroll {
    left: auto;
    right: 10px;
    bottom: 0;
  }

  .bar {
    margin-bottom: 10px;
  }

  .scroll p {
    font-size: 1.5rem;
  }

  .service {
    padding: 100px 0 100px;
  }

  .service::before {
    max-width: 290px;
    height: 70px;
    background: url(img/service_bg_sp.svg) no-repeat;
    top: 160px;
    left: 50%;
    transform: translateX(-50%);
  }

  .h2_wrap span {
    font-size: 3.5rem;
  }

  .h2_wrap h2 {
    font-size: 1.5rem;
  }

  .service_content {
    position: relative;
    max-width: 100%;
  }

  .service_content::before {
    content: '';
    width: 100%;
    height: 55px;
    background-size: contain;
    background-repeat: repeat-x;
    position: absolute;
    top: 50px;
    z-index: -1;
  }

  .sc01.service_content::before {
    background-image: url(img/service_content_bg_sp01.svg);
  }

  .sc02.service_content::before {
    background-image: url(img/service_content_bg_sp02.svg);
  }

  .si01 {
    width: 100%;
    max-width: 252px;
  }

  .si02 {
    width: 100%;
    max-width: 274px;
  }

  .top_h3 {
    margin-top: 20px;
    font-size: 1.6rem;
  }

  .service_p {
    margin-top: 10px;
    font-size: 1.3rem;
  }

  .readmore_btn_link {
    margin-top: 30px;
  }

  .readmore_btn_img {
    width: 75px;
  }

  .readmore_btn_p {
    font-size: 1.5rem;
  }

  .recruit {
    padding: 160px 0 100px;
  }

  .recruit::before {
    height: 232px;
    background-size: cover;
    background-position: top center;
  }

  .recruit_content {
    margin-top: 15px;
  }

  .servicerecruit_img {
    width:100%;
    max-width: 213px;
  }

  .recruit_p {
    margin-top: 25px;
    font-size: 1.3rem;
  }

  .sp_br {
    display: block;
  }

  .company_wrap {
    grid-template-columns: 1fr;
    row-gap: 30px;
    padding-left: 35px;
  }

  .company_txt {
    padding-left: 0;
    padding-right: 35px;
    order: 2;
  }

  .company_p_wrap {
    margin-top: 30px;
  }

  .company_p_wrap p {
    font-size: 1.3rem;
  }

  a.company_btn_link {
    margin-top: 30px;
    max-width: 200px;
    padding: 18px;
    font-size: 1.5rem;
  }

  .company_img {
    padding-left: 35px;
    height: 255px;
    border-radius: 9px 0 0 128px;
  }

  .news {
    margin-top: 100px;
    padding: 30px 0 35px;
  }

  .news::before {
    width: calc(100% - 35px);
    border-radius: 0 100px 25px 0;
  }

  .news_list_wrap {
    margin-top: 30px;
    margin-left: 0;
    border-radius: 25px 0 0 25px;
    padding: 10px 0 40px 35px;
    display: flex;
    justify-content: center;
  }

  .news_li_link {
    padding: 30px 0 15px;
  }

  .post_wrap {
    flex-direction: column;
    row-gap: 10px;
    padding-right: 60px;
    align-items: flex-start;
  }

  .news_arrow {
    position: absolute;
    right: 20px;
    top: auto;
    transform: translateY(0);
    bottom: 15px;
  }

  .news_btn_link {
    margin-top: 10px;
    column-gap: 10px;
    justify-content: flex-end;
    padding-right: 50px;
  }

  .news_btn_link p {
    font-size: 1.5rem;
  }

  .news_btn_link_btn {
    width: 30px;
    height: 30px;
  }

  .initiative {
    padding: 100px 0 150px;
  }

  .initiative_content {
    margin-top: 30px;
    height: 300px;
    border-radius: 10px;
  }

  .initiative_content_inner {
    display: flex;
    align-items: flex-end;
    bottom: 10px;
    padding: 0 10px;
  }

  .initiative_content p {
    font-size: 1.3rem;
    max-width: 190px;
  }

  .initiative_btn_link {
    width: 75px;
  }

  footer .inner {
    padding: 0;
  }

  .footer_frame {
    border-radius: 25px 25px 0 0;
    padding: 25px 25px 30px;
  }

  .footer_contact {
    border-radius: 25px;
    padding: 25px;
  }

  .footer_contact::before {
    bottom: 100px;
  }

  .footer_contact_txt p {
    margin-top: 30px;
    font-size: 1.3rem;
  }

  .footer_inner {
    padding: 50px 25px 240px;
  }

  .fnav {
    flex-direction: column;
    row-gap: 8px;
  }

  .fnav ul {
    display: grid;
    row-gap: 8px;
  }

  .footer_right_bottom_ul {
    margin-top: 20px;
  }

  .footer_logo {
    max-width: 126px;
    margin-bottom: 20px;
  }

  .footer_company-name, address {
    font-size: 1.3rem;
  }

  .copy-right {
    font-size: 1.2rem;
    text-align: center;
  }

  .pageTop {
    bottom: 100px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }

  /* 法人のお客様向けサービスページ */

  .subpage_heading_section {
    min-height: auto;
  }

  .subpage_heading_section_inner {
    padding: 180px 20px 60px;
  }

  .subpage_h2_wrap h2 {
    font-size: 1.5rem;
  }

  .subpage_h2_wrap span {
    font-size: 4rem;
    padding-right: 40px;
  }

  .subpage_h2_wrap span::after {
    width: 37px;
    height: 32px;
  }

  .pnkz ol li {
    font-size: 1.2rem;
  }

  .subpage_corporation_top_section {
    padding-top: 80px;
  }

  .subpage_corporation_top_h3 {
    font-size: 2rem;
    text-align: left;
  }

  .subpage_corporation_top_p {
    font-size: 1.5rem;
    text-align: left;
  }

  .subpage_corporation_top_img {
    margin: 24px auto 0;
    max-width: 200px;
  }

  .subpage_corporation_choice_wrap {
    margin-top: 16px;
    flex-direction: column;
    align-items: center;
    row-gap: 30px;
  }

  a.subpage_corporation_choice {
    max-width: 400px;
    width: 100%;
    font-size: 1.8rem;
    padding: 20px 16px 20px 84px;
  }

  .example_content_wrap.grid_3,.example_content_wrap.grid_2 {
    grid-template-columns: 1fr;
    row-gap: 60px;
  }

  .subpage_corporation_service {
    padding-top: 100px;
    padding-bottom: 80px;
  }

  .subpage_h3_wrap h3 {
    font-size: 2.4rem;
  }

  .shw_service h3 {
    padding-right: 58px;
  }

  .subpage_h3_wrap h3::before {
    bottom: 1px;
  }

  .subpage_h3_wrap span {
    font-size: 1.5rem;
    padding-top: 0;
  }

  .subpage_corporation_service_content {
    margin-top: 60px;
    border-radius: 15px;
    padding: 80px 20px 60px;
  }

  .subpage_corporation_service_content::before {
    width: 60px;
    height: 60px;
    left: 20px;
  }

  .scsc_heading {
    padding-bottom: 40px;
    margin-bottom: 20px;
  }

  .scsc_heading h4 {
    font-size: 2.4rem;
  }

  .scsc_heading p {
    margin-top: 20px;
    font-size: 1.5rem;
  }

  .example_title {
    font-size: 1.5rem;
  }

  .example_content_img {
    margin: 0 auto;
  }

  .example_content_category {
    font-size: 1.5rem;
  }

  .example_content_p {
    font-size: 1.5rem;
  }

  .subpage_corporation_service_bottom_p {
    margin-top: 60px;
    font-size: 1.5rem;
    text-align: left;
  }

  .subpage_corporation_point {
    padding-bottom: 80px;
  }

  .subpage_corporation_point_content_wrap {
    margin-top: 60px;
    row-gap: 30px;
  }

  .subpage_corporation_point_h4 {
    font-size: 2rem;
  }

  .subpage_corporation_point_p {
    padding: 30px 25px 0;
    font-size: 1.6rem;
  }

  .subpage_corporation_flow {
    padding: 100px 0 60px;
  }

  .subpage_corporation_flow_top_p {
    font-size: 1.5rem;
  }

  .flow_box {
    flex-direction: column;
    row-gap: 20px;
    min-height: auto;
    padding: 40px 0 40px 80px;
  }

  .flow_box:not(:last-child)::before {
    top: 50px;
    left: 35px;
    height: 100%;
  }

  .flow_box::after {
    width: 70px;
    height: 70px;
    font-size: 1.8rem;
    line-height: 60px;
    top: 40px;
    transform: translateY(0);
  }

  .flow_box_title {
    max-width: 100%;
    font-size: 2.4rem;
  }

  .flow_box_text {
    padding: 20px;
  }

  .flow_box_text p {
    font-size: 1.5rem;
  }

  .subpage_footer_contact_section {
    padding-bottom: 100px;
  }

  .subpage_footer_contact {
    border-radius: 80px;
    padding: 50px 20px;
  }

  .subpage_footer_contact .subpage_h3_wrap {
    padding-bottom: 80px;
  }

  .subpage_footer_contact .subpage_h3_wrap::after {
    bottom: 20px;
    width: 56px;
    height: 40px;
  }

  .subpage_footer_contact_p {
    text-align: left;
  }

  /* ご家庭のお客様向けサービスページ */

  .subpage_residential_top_section .subpage_corporation_choice_wrap a.subpage_corporation_choice {
    width: 100%;
  }

  .subpage_residential_top_section .subpage_corporation_choice_wrap {
    row-gap: 30px;
  }

  .subpage_residential_point .subpage_corporation_point_content_wrap {
    margin: 60px auto 0;
  }

  .subpage_residential_voice {
    padding-top: 100px;
  }

  .subpage_residential_voice_content_wrap {
    margin-top: 60px;
    row-gap: 50px;
  }

  .voice_info {
    font-size: 1.6rem;
    padding-left: 20px;
    padding-right: 100px;
  }

  .vi03 {
    padding-right: 120px;
  }

  .subpage_residential_voice_content_box {
    padding: 20px;
  }

  .subpage_residential_voice_content_box::before {
    top: -72px;
  }

  .subpage_residential_voice_content_inner {
    padding: 20px;
    font-size: 1.6rem;
  }

  .srvcb01::before {
    right: 30px;
    width: 60px;
    height: 89px;
  }

  .srvcb02::before {
    right: 30px;
    width: 60px;
    height: 92px;
  }

  .srvcb03::before {
    right: 10px;
    width: 110px;
    height: 89px;
  }
  
  /* お知らせ一覧ページ */

  .sub_news_section {
    padding-top: 60px;
    padding-bottom: 100px;
  }

  .sub_news_section .news_li_link {
    padding: 30px 30px 30px 0;
  }

  .sub_news_section .post_wrap {
    padding-right: 0;
  }

  .sub_news_section .news_arrow {
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  /* お知らせ詳細ページ */

  .subpage_article_h2_wrap p {
    font-size: 1.6rem;
  }

  .subpage_article_h2_wrap h2 {
    font-size: 2.4rem;
  }

  .article_wrapper {
    padding-top: 60px;
    padding-bottom: 100px;
  }

  .article_body p {
    font-size: 1.6rem;
  }

  .subpage_article_btn_link {
    margin-top: 40px;
    justify-content: center;
    padding-right: 0;
  }

  /* お問い合わせページ */

  .sub_contact_section {
    padding-bottom: 100px;
  }

  .sub_contact_container {
    padding-bottom: 60px;
    border-radius: 0 0 30px 30px;
  }

  .sub_contact_top_txt_wrap {
    padding-bottom: 60px;
  }

  .sub_contact_top_txt_wrap::after {
    height: 2.5px;
    background-size: 20px 2.5px;
  }

  .sub_contact_top_h3 {
    font-size: 2.4rem;
  }

  .sub_contact_top_p_wrap {
    margin: 30px auto;
    row-gap: 20px;
  }

  .sub_contact_top_p_wrap p {
    font-size: 1.6rem;
  }

  .sub_contact_note_wrap {
    text-align: left;
  }

  .sub_contact_note {
    padding-left: 18px;
    font-size: 1.6rem;
  }

  .sub_contact_address {
    margin-top: 30px;
  }

  .sub_contact_address a {
    font-size: 4rem;
  }

  .contact_form {
    margin-top: 60px;
  }

  .contact_form dl {
    padding-bottom: 30px;
  }

  .contact_form dt {
    font-size: 1.8rem;
  }

  .contact_form dt .form_dt_en {
    font-size: 1.6rem;
  }

  .contact_form dd input, .contact_form dd textarea, .contact_form dd select {
    padding: 16px;
    border-radius: 5px;
  }

  .contact_privacy_txt {
    margin-top: 20px;
    text-align: left;
  }

  .contact_privacy_txt p {
    font-size: 1.6rem;
  }

  .submit_btn {
    margin-top: 30px;
  }

  .submit_btn .submit {
    font-size: 1.6rem;
  }

  /* プライバシーポリシーページ */

  .sub_privacy_section {
    padding: 80px 0 100px;
  }

  .sub_privacy_content:not(:first-child) {
    margin-top: 60px;
  }

  .sub_privacy_h3_wrap h3 {
    font-size: 3rem;
  }

  .sub_privacy_h3_wrap span {
    font-size: 1.6rem;
  }

  /* 採用情報ページ */

  .subpage_recruit_marker {
    margin-top: 30px;
    text-align: left;
  }

  .subpage_recruit_marker span {
    font-size: 1.8rem;
  }

  .subpage_recruit_lead {
    font-size: 1.5rem;
    text-align: left;
  }

  .subpage_recruit_schedule {
    padding: 150px 0 200px;
  }

  .subpage_recruit_schedule {
    padding: 100px 0 80px;
  }

  .schedule_box_wrap {
    padding-bottom: 30px;
    padding-left: 80px;
  }

  .schedule_time {
    top: -4px;
    font-size: 2rem;
  }

  .schedule_box_wrap:not(:last-child)::before {
    left: 55px;
  }

  .schedule_box_wrap::after {
    left: 50px;
    width: 16px;
    height: 16px;
  }

  .schedule_box {
    border-radius: 0 15px 15px 15px;
    padding: 20px;
  }

  .schedule_box_title {
    font-size: 2rem;
  }

  .schedule_box_text {
    text-align: justify;
    margin-top: 12px;
    row-gap: 12px;
    font-size: 1.5rem;
  }

  .schedule_box.flex {
    flex-direction: column;
    gap: 20px;
  }

  .schedule_box_right {
    width: 100%;
  }

  .schedule_box_right img {
    border-radius: 8px;
  }

  .subpage_recruit_employee {
    padding: 80px 0;
  }

  .employee_content_wrap {
    row-gap: 50px;
  }

  .employee_content {
    padding-top: 50px;
  }

  .employee_content::before {
    width: 145px;
    height: 26px;
  }

  .employee_content_box {
    padding-top: 24px;
  }

  .employee_content_box h4 {
    font-size: 1.6rem;
    padding: 12px 0;
    max-width: 300px;
  }

  .employee_flex {
    flex-direction: column;
    gap: 30px;
    border-radius: 15px;
    padding: 60px 20px 30px;
  }

  .employee_flex_img {
    width: 80%;
  }

  .employee_flex_img img {
    border-radius: 15px;
  }

  .employee_flex p {
    font-size: 1.5rem;
    line-height: 2;
    text-align: justify;
  }

  .sagyou_img {
    max-width: 300px;
    width: 80%;
    top: -70px;
    right: 15px;
  }

  .sagyou_img img {
    border-radius: 8px;
  }

  .subpage_recruit_description {
    padding-top: 80px;
  }

  .description_content {
    padding: 30px 20px;
    border-radius: 10px;
  }

  .recruit_dl_table > dl {
    padding: 20px 0 0;
    flex-direction: column;
    row-gap: 10px;
  }

  .recruit_dl_table > dl > dt {
    min-width: auto;
    font-size: 1.8rem;
    text-align: center;
  }

  .recruit_dl_table > dl > dd {
    font-size: 1.5rem;
    padding-left: 0;
  }

  .description_content_p {
    margin-top: 40px;
    text-align: left;
    font-size: 1.5rem;
  }

  .subpage_recruit_work {
    padding-bottom: 100px;
  }

  .work_content {
    padding: 30px 20px;
    border-radius: 10px;
  }

  .work_content ul {
    row-gap: 16px;
    font-size: 1.5rem;
  }

  .work_content ul li {
    padding-left: 20px;
  }

  .work_content ul li::before {
    top: 6px;
    width: 10px;
    height: 10px;
  }

  .work_content_h4 {
    margin-top: 40px;
    font-size: 1.8rem;
  }

  /* 会社案内ページ */

  .subpage_company_section {
    padding-top: 100px;
  }

  .subpage_company_section .subpage_h3_wrap {
    margin-bottom: 30px;
  }

  .mission_box {
    border-radius: 15px;
    padding: 60px 20px;
  }

  .company_only_p {
    font-size: 1.5rem;
  }

  .company_only_p .marker {
    padding: 8px 0 2px;
    line-height: 2;
  }

  .company_only_p .marker_big {
    font-size: 2rem;
  }

  .company_dl_table > dl {
    flex-direction: column;
    padding: 36px 20px 24px;
    row-gap: 10px;
    align-items: flex-start;
  }

  .company_dl_table > dl:first-child {
    padding-top: 24px;
  }

  .company_dl_table > dl > dt {
    width: 100%;
    min-width: auto;
    font-size: 1.8rem;
  }

  .company_dl_table > dl > dd {
    font-size: 1.5rem;
  }

  .company_p {
    font-size: 1.5rem;
  }

  .patents_place {
    margin-top: 30px;
    font-size: 1.2rem;
  }

  .patents_list {
    margin-top: 15px;
    font-size: 1.5rem;
  }

  .facility_list {
    margin-top: 24px;
  }

  .facility_list:first-child {
    margin-top: 30px;
  }

  .facility_list li {
    padding-left: 24px;
    font-size: 1.8rem;
  }

  .facility_list li::before {
    width: 17px;
    height: 17px;
  }

  .facility_list li p {
    font-size: 1.5rem;
  }

  .company_map {
    border-radius: 15px;
  }

  .company_map_p {
    margin-top: 24px;
    font-size: 1.5rem;
  }

  .subpage_company_section:last-child {
    padding-bottom: 100px;
  }

  /* SDGsページ */

  a.sdgs_link {
    margin-top: 10px;
    font-size: 1.5rem;
  }

  .subpage_recruit_top_section .subpage_corporation_choice_wrap {
    margin-top: 55px;
  }

  .subpage_sdgs_initiatives {
    padding-top: 100px;
  }

  .sdgs_list > li {
    font-size: 1.8rem;
    margin-top: 45px;
    padding-left: 24px;
    padding-bottom: 30px;
  }

  .sdgs_list_list > li {
    font-size: 1.5rem;
    padding-left: 20px;
  }

  .sdgs_img_wrap {
    margin-top: 30px;
    gap: 20px;
  }

  .sdgs_img_wrap img {
    max-width: 100px;
  }

  .subpage_sdgs_contribution {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .css_slider-wrapper {
    margin-bottom: 100px;
  }

  .css_slider:not(:first-child){
    margin-left: 20px;
  }

  .css_slider {
    animation: scroll-left 55s infinite linear .5s both;
    display: flex;
    column-gap: 20px;
  }

  .css_slide {
    width: 150px;
  }

  .css_slide img {
    border-radius: 10px;
  }

  /* メダカページ */

  .subpage_medaka_top_p {
    font-size: 1.5rem;
  }

  .medaka_blue_section {
    margin: 80px auto;
    border-radius: 15px;
  }

  .medaka_pic img {
    border-radius: 15px;
  }

  .medaka_blue_section_h4 {
    font-size: 2rem;
  }

  .medaka_blue_section p {
    font-size: 1.5rem;
    text-align: justify;
  }

  .medaka_blue_section_h5 {
    font-size: 1.8rem;
    border-radius: 25px;
    padding: 10px;
  }

  .medaka_blue_section_list li {
    padding-left: 24px;
    font-size: 1.5rem;
  }

  .medaka_blue_section_list li::before {
    top: 2px;
    width: 20px;
    height: 16px;
  }

}