/* ベーススタイル */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
    scroll-behavior: smooth; /* スムーズスクロール */
    -webkit-text-size-adjust: 100%; /* iOSのテキストサイズ調整を無効化 */
	overflow-x: hidden;
}

body {
    font-family: "Noto Sans JP", sans-serif;
    line-height: 2;
    color: #1a1a1a;
    background-color: #fff;
    font-size: 16px;
	/*overflow-x: clip;*/
	/*font-feature-settings: 'palt';*/
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul {
    list-style: none;
}

a {
    /*color: #007ed3;*/
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

section{
	overflow: visible;
}

main{
	/*max-width: 1920px!important;*/
	margin:0 auto!important;
}
/* 1920pxベース用ラッパ */
.site-wrapper {
  /*max-width: 1920px;*/
  margin: 0 auto;
  background-color: #fff;
  min-height: 100vh;
  position: relative;
}


/* アニメーションの定義 */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* 適用したい要素（bodyなど）に指定 */
.fade-in-page {
  animation: fadeIn 1.5s ease-out;
}


main [id] {
  scroll-margin-top: 100px;
}

.forsp{
	display: none;
}

.SP-h{
	display: none;
}

.SP-image{
	display: none;
}


/* ヘッダー -------------------------------------------------- */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  /*transform: translateX(-50%);*/
  width: 100%;
	height: auto;
  z-index: 1000;
	padding-top: 36px;
	padding-left: 45px;
	padding-right: 40px;
	transition: 0.3s;
}

.site-header.scrolled{
	/*background: rgba(0, 59, 117, 0.3);*/
	background: rgba(0, 113, 188, 0.9);
	padding-top: 16px;
    padding-bottom: 16px;
}



.header-inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.header-logo{
	width: clamp(60px,5.73vw,110px);
	height: auto;
	z-index: 999;
	filter: drop-shadow(0 0 15px #003b75);
}



.header-nav{
    width: auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}


.header-nav > ul {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.header-nav a {
  text-decoration: none;
  color: #fff;
  font-size: 16px;
  position: relative;
	transition: 0.3s;
	padding: 0 40px;
}

.header-nav a:hover{
}

.header-nav li{
	position: relative;
	width: 160px;
}
.header-nav li::after{
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: #fff;
	width: 1px;
	height: 16px;
}
.header-nav li:nth-last-child(2)::after{
	display: none;
}

.header-nav li:not(:last-child) a{
	filter: drop-shadow(0 0 15px #003b75);
}


.header-nav .nav-contact{
	width: 95px;
	height: 95px;
	background: #fff;
	justify-self: flex-end;
	position: relative;
	margin-left: 14px;
	padding: 0;
	transition: 0.3s;
}

.header-nav .nav-contact a{
	color: #fff;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.header-nav .nav-contact a img{
	width: 35px;
	aspect-ratio: 35 / 27;
}
.top-page .header-nav .nav-contact a img{
	filter: invert(27%) sepia(99%) saturate(1118%) hue-rotate(179deg) brightness(102%) contrast(104%);
}

.header-nav .nav-contact a span.sp{
	display: none;
}


.child .site-header,
.child .site-header.scrolled{
	background: none;
	padding-top: 48px;
	padding-right: 40px;
}
.top-page .site-header.scrolled{
	background: none;
	padding-top: 48px;
}

.scrolled .header-nav,
.child .header-nav{
	position: relative;
  padding-left: 15px;
}

.scrolled .header-nav::before,
.child .header-nav::before{
	content: '';
	position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1; /* テキストや子メニューの後ろに配置 */
	background: #fff;
  /* 角を削るサイズ（例: 20px分カット） */
  clip-path: polygon(
    15px 0,                     /* 左上（少し右） */
    100% 0,                     /* 右上 */
    100% 100%,                  /* 右下 */
    15px 100%,                  /* 左下（少し右） */
    0 calc(100% - 15px),        /* 左下（少し上） */
    0 15px                      /* 左上（少し下） */
  );
}

.child .child-menu,
.scrolled .child-menu{
	background: #fff;
}

.top-page .scrolled .header-nav .nav-contact,
.child .header-nav .nav-contact{
	background: #0071bc;
}

.top-page .scrolled .header-nav .nav-contact a img,
.child .header-nav .nav-contact img{
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(312deg) brightness(111%) contrast(101%);
}

.top-page .scrolled .header-nav li:not(:last-child) a,
.child .header-nav li:not(:last-child) a{
	filter: none;
	color: #1a1a1a;
}
.top-page .scrolled .header-nav li::after,
.child .header-nav li::after{
	background: #007ed3;
}

.top-page .header-nav li:last-child::after{
	display: none;
}










/* 子ページを持つ項目だけアイコン表示 */
.header-nav li.parent::before {
  content: '';
  display: block;
  width: 6px;
  height: 10px;
  background-image: url("../images/icon-arrow-white.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 54%;
  right: 25px;
  transform: translateY(-50%) rotate(90deg);
}

.top-page .scrolled .header-nav li.parent::before,
.child .header-nav li.parent::before{
	background-image: url("../images/icon-arrow-blue2.svg");
}

/* =========================
   子メニュー
========================= */

.child-menu {
  position: absolute;
  top: 100%;
  left: 0;
  margin: 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(5px);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    visibility 0.2s ease;
  z-index: 100;
	background: rgba(0, 113, 188, 0.9);
	padding: 10px 0;
}

.child-menu li::before,
.child-menu li::after{
	display: none;
}

.child-menu li a {
  display: block;
  padding: 0;
  white-space: nowrap;
  text-align: center;
}


/* =========================
   PC：ホバー時に表示
========================= */

@media screen and (min-width: 1281px) {

  .header-nav li.parent:hover > .child-menu,
  .header-nav li.parent:focus-within > .child-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

}


/* =========================
   1280px以下
   ハンバーガーメニュー用
========================= */

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


  /* 子メニューを常時表示 */
  .child-menu {
    position: static;
    min-width: 0;
    width: 100%;
    padding: 0!important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    transition: none;
  }

  .child-menu li a {
	  font-size: 14px;
  }
	
  .header-nav li.parent::before{
     /*top: 18px; */
	  display: none;
  }
	
	
.scrolled .header-nav::before,
.child .header-nav::before{
	display: none;
}


}

/* ハンバーガーボタン（PCでは非表示） */
.header-menu-toggle {
  display: none; /* 1280px以下でdisplay:blockにする */
  background: #fff;
  border: none;
  padding: 17px;
  cursor: pointer;
    width: 60px;
    aspect-ratio: 1 / 1;
}

.header-menu-toggle span {
  display: block;
  width: 26px;
  height: 4px;
  background-color: #0071bc;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.header-menu-toggle span + span {
  margin-top: 6px;
}

/* 開いているときの×アイコン風アニメーション */
.site-header.is-open .header-menu-toggle span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}

.site-header.is-open .header-menu-toggle span:nth-child(2) {
  opacity: 0;
}

.site-header.is-open .header-menu-toggle span:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg);
}

/* メニュー展開時の背景オーバーレイ */
.header-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0;
  pointer-events: none;
  z-index: 900; /* ヘッダー(1000)より下、コンテンツより上 */
  transition: opacity 0.3s ease;
}

/* メニューオープン時に有効化（JSでbodyにmenu-openクラスを付与） */
body.menu-open .header-overlay {
  opacity: 1;
  pointer-events: auto;
}



/* フッター -------------------------------------------------- */
.site-footer {
  background-color: #fff;
  color: #1a1a1a;
  position: relative;
	width: 100%;
	padding: 166px 45px 100px;
	margin: 0 auto;
}

.footer-inner {
  width: 100%;
  max-width: 1275px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.footer-inner-upper {
     width: 100%;
    display: flex;
    justify-content: space-between;
	padding: 0 28px 86px;
}


.footer-inner-upper .address{
	margin-bottom: 24px;
    line-height: 1.5;
}

.footer-logo {
  width: 375px;
  aspect-ratio: 375 / 65;
	margin-bottom: 40px;
}



.footer-address {
  margin-bottom: 32px;
}


.footer-nav{
	display: flex;
	gap: 50px;
	margin-top: 122px;
}



.footer-nav ul {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.footer-nav ul li{
	position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
}
.footer-nav ul li::before{
	content: '';
	background-image: url("../images/icon-f-menu.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	width: 16px;
	height: 16px;
}
.footer-nav ul li.menu-child::before{
	background-image: none;
}

.footer-nav a {
  font-size: 16px;
	color: #1a1a1a;
  text-decoration: none;
	line-height: 1;
}

.footer-nav a:hover {
  text-decoration: underline;
}

.footer-copy {
  font-size: 16px;
  color: rgba(26,26,26,0.5);
  background: #fff;
  width: 100%;
  padding: 0 35px;
}

.footer-nav ul:nth-child(2),
.footer-nav ul:nth-child(3){
	gap: 12px;
}

.footer-nav ul:nth-child(2) li:nth-child(1),
.footer-nav ul:nth-child(3) li:nth-child(1){
	margin-bottom: 12px;
}



/* TOPへ戻るボタン -------------------------------------------------- */

.pagetop {
    position: fixed;
    bottom: 84px;
    right: 84px;
    width: 125px;
    aspect-ratio: 1 / 1;
    opacity: 0;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
    transform: translateY(20px);
    z-index: 999;
    transition: opacity .3s ease, transform .3s ease, bottom .3s ease;
}

.pagetop.is-fixed {
    bottom: 84px; 
    opacity: 1;
    transform: translateY(0);
}

.pagetop img{
	width: 100%;
	aspect-ratio: 1 / 1;
}


/* 共用パーツ -------------------------------------------------- */

.button{
	width: 384px;
	height: 89px;
	display: flex;
	align-items: center;
	background: #0071bc;
	color: #FFF;
	font-size: 16px;
	line-height: 1;
	position: relative;
	padding: 10px 44px 10px 70px;
	border-radius: 44.5px;
	transition: 0.3s;
}

.button::before{
	content: '';
	/*background: url("../images/icon-mail-black.svg");*/
	background-size: contain;
	background-repeat: no-repeat;
	width: 18px;
	aspect-ratio: 18 / 14;
	position: absolute;
	left: 42px;
	top: 52%;
	transform: translateY(-50%);
	transition: 0.3s;
}

.button::after{
	content: '';
	background: url("../images/icon-f-mennu-white.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 20px;
	aspect-ratio: 1 / 1;
	position: absolute;
	right: 44px;
	top: 50%;
	transform: translateY(-50%);
	display: block;
}

.button:hover{
/*	background: #1a1a1a;
	color: #fff;*/
}

.button:hover::before{
	content: '';
	/*background: url("../images/icon-mail-yellow.svg");*/
	background-size: contain;
	background-repeat: no-repeat;
}


.tugline {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    /*font-size: 40px;*/
	font-size: clamp(23px, 5.21vw, 40px);
	line-height: 1.5;
}



.footer-contact{
	background: #fff;
	display: flex;
	justify-content: center;
}



.footer-contact .section-inner{
	display: flex;
	flex-direction: column;
	background: #0071bc;
	align-items: center;
	padding: 70px 20px 50px;
	width: 100%;
	max-width: 1410px;
	min-height: 437px;
	margin: 0 auto;
	color: #fff;
}

/*.footer-contact .section-inner::after{
	content: '';
	display: block;
	width: 15.64vw;
	max-width: 300.2655px;
	aspect-ratio: 300.2655 / 419.4942;
	background: url("../images/chara-05.svg");
	background-repeat: no-repeat;
	position: absolute;
	bottom: -30px;
	left: -19.3vw;
	min-width: 150px;
}*/


.footer-contact .section-inner > img{
	width: 7.71vw;
	max-width: 148px;
	aspect-ratio: 148 / 29.2851;
	margin-bottom: 18px;
	min-width: 100px;
}
.footer-contact h2{
	/*width: 22.9vw;
	max-width: 328px;
	aspect-ratio: 328 / 56 ;*/
	width: 328px;
	margin-bottom: 52px;
	min-width: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
	gap: 20px;
}
.footer-contact h2 .sub{
	font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1;
}


.footer-contact .flex-box{
	display: flex;
}

.footer-contact .flex-box .inner-left,
.footer-contact .flex-box .inner-right{
	/*width: 22.4vw;
	max-width: 430px;*/
	width: 430px;
}

.footer-contact .flex-box .inner-left{
	padding-right: 100px;
}

.footer-contact .flex-box .inner-right{
	padding-left: 44.5px;
	border-left: solid #e5e5e5 1px;
}

.footer-contact-title{
	    font-size: 16px;
    font-weight: 500;
	position: relative;
	padding-left: 26px;
	line-height: 1;
	margin-bottom: 26px;
}

.footer-contact-title::before{
	content: '';
	display: inline-block;
	width: 17px;
	aspect-ratio: 1 / 1;
	background: #fff;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.tel-link{
	padding-left: 65px;
	position: relative;
}

.tel-link::before{
	content: '';
	display: inline-block;
	width: 49px;
	aspect-ratio: 1 / 1;
	background: url("../images/icon-tel.svg");
	position: absolute;
	left: 0;
	top: 0;
}

.tel-link a{
	display: block;
	height: 100%;
	width: auto;
	max-height: 260px;
	max-width: unset;
	aspect-ratio: 260 / 30;
	line-height: 1;
	margin-bottom: 10px;
}

.tel-link .time{
	display: block;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    line-height: 1;
}

.footer-contact .flex-box .inner-right .button {
    width: 384px;
    height: 89px;
    display: flex;
    align-items: center;
    background: #fff;
    color: #0071bc;
    font-size: 16px;
    line-height: 1;
    position: relative;
    padding: 10px 40px 10px 70px;
    border-radius: 44.5px;
    transition: 0.3s;
}

.footer-contact .flex-box .inner-right .button::before{
	content:'';
	display: block;
	background-image: url("../images/icon-mail.svg");
	width: 18px;
	height: 14px;
	background-size: contain;
	background-repeat: no-repeat;
}
/*.footer-contact .flex-box .inner-right .button::after{
	content:'';
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
}*/



.h-type-1{
	height: 66px;
	display: flex;
	font-family: "Shippori Mincho", serif;
    font-weight: 400;
	font-size: 20px;
	line-height: 1;
	gap: 0 25px;
}

.h-type-1 > img{
    height: 100%;
    max-width: unset;
     width: fit-content;
}

.h-type-2{
	font-size: 28px;
	line-height: 1;
	position: relative;
	padding-right: 10px;
	width: fit-content;
	margin-bottom: 90px;
	font-weight: 400;
}
.h-type-2::after{
	content: '';
	display: inline-block;
	width: 39px;
	height: 2px;
	background-color: #0071bc;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -39px;
}


.h-type-3{
	/*font-size: 40px;*/
	font-size: clamp(30px, 5.21vw, 40px);
    line-height: 1;
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
	width: fit-content;
	margin-bottom: 50px;
	position: relative;
	padding-left: 18px;
}
.h-type-3::before{
	content: '';
	display: inline-block;
	width: 7px;
	height: 100%;
	background-color: #0071bc;
	position: absolute;
	top: 4px;
	bottom: 0;
	left: 0;
}




.blue{
	color: #0071bc;
}

/* TOP ---------------------------------- */

#top{
	position: relative;
	width: 100%;
}



/* TOP-ヒーロー -------------------------------------------------- */
#hero {
}

.parallax-section {
  position: relative;
  width: 100%;
  overflow-x: clip;
}



/*.sticky-bg {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  background: #3b2feb url('../images/hero-back.jpg') center/cover no-repeat;
  z-index: 1;
}*/
.sticky-bg {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    z-index: 1;
}

.bg-slide {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity var(--fade-duration, 1500ms)
                var(--fade-easing, ease-in-out);
    pointer-events: none;
}

/* 背景画像 */
.bg-slide:nth-child(1) {
    background-image: url(../images/hero-back-01.jpg);
}

.bg-slide:nth-child(2) {
    background-image: url(../images/hero-back-02.jpg);
}

.bg-slide:nth-child(3) {
    background-image: url(../images/hero-back-03.jpg);
}

/* 表示中 */
.bg-slide.is-active {
    opacity: 1;
}

/* 初期表示 */
.bg-slide:first-child {
    z-index: 1;
}





.parallax-contents{
  position: relative;
  z-index: 2;
  margin-top: -100vh;
 /* width: 90%;
  max-width: 1005px;
  margin-left: auto;
  margin-right: auto;*/
width: 100%;
	display: flex;
    flex-direction: column;
}

#top #section1{
	/*margin-top: 190px;*/
	margin-top: 108px;
	position: relative;
	    width: 90%;
    max-width: 1408px;
    align-self: center;
}

#top #section1::before{
	content: '';
	display: block;
	z-index: 2;
	width: 100%;
	max-width: 1408px;
	height: auto;
	aspect-ratio: 1408 / 195;
	background-image: url("../images/50years-01.svg");
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	left: 50%;
    transform: translateX(-50%);
	top: 0;
	opacity: 0.3;
}
#top #section1::after{
	content: '';
	display: block;
	z-index: 2;
	width: 100%;
	max-width: 1142px;
	height: auto;
	aspect-ratio: 1142 / 118;
	background-image: url("../images/50years-02.svg");
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	left: 50%;
    transform: translateX(-50%);
	bottom: 0;
	opacity: 0.3;
}

#top #section1 .section-inner{
	/*padding: 22.49% 0 190px 0;*/
	    padding: 17.61% 0 180px 0;
    display: flex;
    flex-direction: column;
	align-items: center;
}

.tugline-box{
	position: relative;
	z-index: 3;
}

.hero-tugline{
	font-family: "Shippori Mincho", serif;
    font-weight: 400;
	line-height: 1.667;
    font-style: normal;
	font-size: 54px;
	color: #fff;
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 1));
	text-align: center;
}

.tugline-box p:nth-child(2){
	font-family: "Shippori Mincho", serif;
    font-weight: 400;
	font-size: 20px;
	line-height: 2;
	margin-top: 30px;
	color: #fff;
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 1));
    text-align: center;
}



#top #section2{
	/*background-color: #fff;*/
	position: relative;
}
#top #section2::before{
	content: '';
	/*background: #fff;*/
	position: absolute;
	top: -2px;
	left: 0;
	width: 100%;
	height: 2px;
}

#top #section2 .section-inner{
	padding: 190px 0 300px 210px;
    display: flex;
    flex-direction: column;
	position: relative;
}

#top #section2 .section-inner::after{
	content: '';
	background-image: url("../images/km.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 670px;
	height: auto;
	aspect-ratio: 670 / 509;
	position: absolute;
	bottom: -95px;
	right: -200px;
	z-index: 2;
}

#top #section2 .section-inner .inner-box{
	position: relative;
	z-index: 3;
}

#top #section2 h2{
	color: #fff;
}
#top #section2 h2 img{
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 1));
}



#section2 h2{
	margin-bottom: 65px;
}

#section2 .tugline{
	font-family: "Shippori Mincho", serif;
    font-weight: 400;
	font-size: 40px;
	line-height: 1.5;
	margin-bottom: 62px;
}

#top #section2 .tugline{
	color: #fff;
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 1));
}


#section2 .tugline .big{
	font-size: 1.35em;
    display: inline-block;
    margin-right: 0.2em;
}

#top #section2 .section-inner .inner-box p:nth-of-type(2){
	line-height: 3.125;
	color: #fff;
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 1));
}





#top #section3{
	position: relative;
	overflow-x: clip;
}


#top #section3 .section-inner{
	width: 100%;
	padding: 300px 210px 210px;
    display: flex;
    flex-direction: column;
	position: relative;
}

#top #section3 .h-type-1{
	margin-bottom: 110px;
}



.strength-wrapper{
	display: flex;
}





#top #section3 .section-inner ul{
	display: flex;
    gap: 60px 15px;
    width: 100%;
    /*flex-wrap: wrap;*/
}
#top #section3 .section-inner ul li{
	display: flex;
	flex-direction: column;
	align-items: center;
	border: solid 1px #0071bc;
	width: 286px;
	height: 322px;
	position: relative;
}

#top #section3 .section-inner ul li .image-wrapper{
	width: 100%;
	height: 188px;
	display: flex;
	justify-content: center;
	align-items: center;
}


#top #section3 .section-inner ul li:nth-child(1) .image-wrapper img{
	width: 130px;
	height: auto;
}
#top #section3 .section-inner ul li:nth-child(2) .image-wrapper img{
	width: 80px;
	height: auto;
}
#top #section3 .section-inner ul li:nth-child(3) .image-wrapper img{
	width: 77px;
	height: auto;
}
#top #section3 .section-inner ul li:nth-child(4) .image-wrapper img{
	width: 81px;
	height: auto;
}
#top #section3 .section-inner ul li:nth-child(5) .image-wrapper img{
	width: 104px;
	height: auto;
}

#top #section3 .section-inner ul li:before{
	content: '';
	display: block;
	height: 84px;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: -35px;
	left: 50%;
    transform: translateX(-50%);
	z-index: 2;
}

#top #section3 .section-inner ul li:nth-child(1):before{
	background-image: url("../images/number-01.svg");
	width: 74px;
}
#top #section3 .section-inner ul li:nth-child(2):before{
	background-image: url("../images/number-02.svg");
	width: 104px;
}
#top #section3 .section-inner ul li:nth-child(3):before{
	background-image: url("../images/number-03.svg");
	width: 106px;
}
#top #section3 .section-inner ul li:nth-child(4):before{
	background-image: url("../images/number-04.svg");
	width: 106px;
}
#top #section3 .section-inner ul li:nth-child(5):before{
	background-image: url("../images/number-05.svg");
	width: 106px;
}


#top #section3 .section-inner ul li h3{
	font-size: 25px;
	line-height: 1.6;
	font-weight: 400;
	text-align: center;
}
#top #section3 .section-inner ul li:last-child h3{
	line-height: 1.24;
}

#top #section3 .section-inner ul li h3 .blue{
	font-size: 1.2em;
}



#top #section4{
	position: relative;
	overflow-x: clip;
}


#top #section4 .section-inner{
	width: 100%;
    display: flex;
    flex-direction: column;
	position: relative;
}

#top #section4 .h-box{
	margin-left: 210px;
	margin-bottom: 84px;
	padding-right: 45px;
}


#top #section4 h2{
	margin-bottom: 100px;
}

#top #section4 .h-box .inner-box{
	display: flex;
	gap: 85px;
}

#top #section4 .h-box .tugline{
	font-size: 40px;
	line-height: 1;
	font-family: "Shippori Mincho", serif;
    font-weight: 400;
}



#top #section4 .slider-outer{
	width: 80.20833vw;
    max-width: 1540px;
	overflow: visible;
	position: relative;
	margin-bottom: 170px;
}

#top #section4 .swiper-wrapper{
	overflow: visible;
}

#top #section4 .swiper{
	overflow: visible;
}

#top #section4 .swiper-slide{
	display: flex;
	gap: 0 4.69vw;
/*	margin-right:clamp(10px,6.56vw,126px);*/
}

#top #section4 .swiper-slide .inner-left{
	width: 47.66vw;
	max-width: 915px;
}

#top #section4 .swiper-slide .inner-right{
	display: flex;
	flex-direction: column;
    justify-content: center;
	/*padding-top: 92px;*/
	width: 27.81vw;
	max-width: 534px;
}

#top #section4 .swiper-slide .number{
	height: 96px;
    width: 84px;
	margin-bottom: 20px;
}

#top #section4 .swiper-slide h3{
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	margin-bottom: 30px;
}

#top #section4 .swiper-slide p{
	font-size: 16px;
	line-height: 2;
	margin-bottom: 60px;
}

#top #section4 .swiper-slide a{
	position: relative;
	display: flex;
	align-items: center;
	gap: 40px;
	width: fit-content;
	transition: 0.3s;
}

#top #section4 .swiper-slide a img{
	height: 14px;
	width: auto;
}


#top #section4 .swiper-slide a::before{
	content: '';
	display: inline-block;
	background: #0071bc;
	height: 10px;
	width: 10px;
	position: absolute;
	right: 80px;
	border-radius: 50%;
	transition: 0.3s;
}

#top #section4 .swiper-slide a::after{
	content: '';
	display: inline-block;
	background: #0071bc;
	height: 1px;
	width: 80px;
}

#top #section4 .swiper-slide a:hover::before{
	right: 0;
}

#top #section4 .slider-next{
	top: 50%;
  transform: translateY(-50%); 
	width: 25px;
	aspect-ratio: 25 /50;
	cursor: pointer;
	pointer-events: auto;
  z-index: 10;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
	position: absolute;
  /*right: -30px;*/
	left: 81.56vw;
  background-image: url('../images/icon-arrow-blue.svg');
}


#top #section4 .business-pagination {
  display: flex;
  gap: 16px;
  margin-top: 58px;
	margin-left: 656px;
}

#top #section4 .pagination-bar {
  display: block;
  width: 122px;
  height: 4px;
  padding: 0;
  border: 0;
  background: #c7e0f0;
  cursor: pointer;
}

#top #section4 .pagination-bar.is-active {
  background: #0071bc;
}



.p-and-e-area{
	background: url("../images/p-and-e-back.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: left bottom;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0;
	margin-bottom: 155px;
}

.p-and-e-area::before{
	content: '';
	display: block;
	background: url("../images/recruit.svg");
	background-size: contain;
	background-repeat: no-repeat;
	min-height: 660px;
	width: 137px;
	position: absolute;
	top:10px;
	left: -2px;
	mix-blend-mode: hard-light;
}


/*

.p-and-e-area ul{
	display: flex;
	flex-direction: column;
	gap: 92px;
	width: 96%;
	max-width: 1500px;
	position: relative;
	z-index: 3;
}

.p-and-e-area ul li{
	display: flex;
	align-items: center;
}
.p-and-e-area ul li:nth-child(2){
    align-self: flex-end;
}


.p-and-e-area ul li .inner-left{}

.p-and-e-area ul li .inner-right{
	background: rgba(0,113,188,0.9);
	color: #fff;
	padding: 75px 40px 75px 100px;
	display: flex;
	flex-direction: column;
	width: 716px;
	min-height: 312px;
}

.p-and-e-area ul li:nth-child(1) .inner-right{
	margin-left: -54px;
}
.p-and-e-area ul li:nth-child(2) .inner-right{
	margin-left: -50px;
}

.p-and-e-area ul li .inner-right a{
	position: relative;
    display: flex;
    align-items: center;
    gap: 40px;
    width: fit-content;
    transition: 0.3s;
}
.p-and-e-area ul li .inner-right a img{
	height: 14px;
    width: auto;
}
.p-and-e-area ul li .inner-right a::before {
    content: '';
    display: inline-block;
    background: #fff;
    height: 10px;
    width: 10px;
    position: absolute;
    right: 80px;
    border-radius: 50%;
    transition: 0.3s;
}
.p-and-e-area ul li .inner-right a:hover::before {
    right: 0;
}
.p-and-e-area ul li .inner-right a::after {
    content: '';
    display: inline-block;
    background: #fff;
    height: 1px;
    width: 80px;
}



.p-and-e-area ul li .inner-right .h-type-1 {
    color: #fff;
	margin-bottom: 95px;
	height: clamp(40px, 7.16vw, 56px);
}
.p-and-e-area ul li:nth-of-type(2) .inner-right .h-type-1 {
	height: clamp(42px, 3.28vw, 63px);
}*/





.p-and-e-area .section-inner{
	width: 100%;
    padding: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.p-and-e-area .inner-box{
	width: 100%;
	max-width: 1500px;
	display: flex;
}
.p-and-e-area .inner-box .inner-left,
.p-and-e-area .inner-box .inner-right{
	width: 100%;
	max-width: 795px;
	height: 586px;
}

.p-and-e-area .inner-box .inner-right{
	margin-left: -86px;
	margin-top: -55px;
	margin-bottom: 130px;
}


.p-and-e-area .inner-box .inner-left{
	display: flex;
	flex-direction: column;
	padding: 110px 44px 10px 200px;
}
.p-and-e-area .inner-box .inner-left .h-type-1{
	flex-direction: column;
	width: fit-content;
	gap: 18px;
	margin-bottom: 82px;
}
.p-and-e-area .inner-box .inner-left .sub{
	color: #0071bc;
}



.p-and-e-area .inner-box .inner-left .tugline{
	margin-bottom: 80px;
	font-size: 40px;
	line-height: 1.5;
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
}


.p-and-e-area .inner-box .inner-left a{
	position: relative;
	display: flex;
	align-items: center;
	gap: 40px;
	width: fit-content;
	transition: 0.3s;
}

.p-and-e-area .inner-box .inner-left a img{
	height: 14px;
	width: auto;
}


.p-and-e-area .inner-box .inner-left a::before{
	content: '';
	display: inline-block;
	background: #fff;
	height: 10px;
	width: 10px;
	position: absolute;
	right: 80px;
	border-radius: 50%;
	transition: 0.3s;
}

.p-and-e-area .inner-box .inner-left a::after{
	content: '';
	display: inline-block;
	background: #fff;
	height: 1px;
	width: 80px;
}

.p-and-e-area .inner-box .inner-left a:hover::before{
	right: 0;
}





#top #section6{
	position: relative;
}


#top #section6 .section-inner{
	width: 100%;
    padding: 0 0 130px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#top #section6 .h-type-1{
	flex-direction: column;
	width: fit-content;
	height: 56px;
	gap: 18px;
	margin-bottom: 82px;
	text-align: center;
}
#top #section6 .tugline{
	margin-bottom: 60px;
	font-size: clamp(23px, 5.21vw, 40px);
	line-height: 1.5;
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
	padding-left: 1em;
}

#top #section6 .tugline .big {
    font-size: 1.35em;
    display: inline-block;
    margin-right: 0.2em;
}

#top #section6 a{
	position: relative;
	display: flex;
	align-items: center;
	gap: 40px;
	width: fit-content;
	transition: 0.3s;
}

#top #section6 a img{
	height: 14px;
	width: auto;
}


#top #section6 a::before{
	content: '';
	display: inline-block;
	background: #0071bc;
	height: 10px;
	width: 10px;
	position: absolute;
	right: 80px;
	border-radius: 50%;
	transition: 0.3s;
}

#top #section6 a::after{
	content: '';
	display: inline-block;
	background: #0071bc;
	height: 1px;
	width: 80px;
}

#top #section6 a:hover::before{
	right: 0;
}



/* 子ページ共通 -------------------------------------------------- */

.child-header{
	display: flex;
	width: 100%;
	height: 29.69vw;
	max-height: 570px;
	background-image: url("../images/header-back.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.child-header .title-box{
	display: flex;
	flex-direction: column;
	align-self: flex-end;
	background: #fff;
	position: relative;
	width: 100%;
	max-width: 915px;
	min-height: 171px;
	padding-top: 112px;
	padding-left: 210px;
	clip-path: polygon(0 0, /* 左上 */ calc(100% - 30px) 0, /* 右上の欠け始め */ 100% 30px, /* 右上の欠け終わり */ 100% 101%, /* 右下 */ 0 101% /* 左下 */);
	margin-bottom: -1px;
}





/* 事業案内 -------------------------------------------------- */

#business .child-header{
	background-image: url("../images/header-back-business.jpg");
}

#business #section1{
	/*margin-left: 100px;*/
	padding-left: 210px;
	padding-top: 107px;
	overflow-x: clip;
}

#business #section1 .section-inner{}


#business #section1 .tugline{
	margin-bottom: 60px;
}

#business #section1 .h-box{
	margin-bottom: 78px;
}

#business .slider-outer{
	/*width: 86.72vw;
    max-width: 1665px;*/
	width: 1284px;
	overflow: visible;
	position: relative;
	/*margin-bottom: 170px;*/
	margin-left: 45px;
}
#business .slider-outer::before{
	content: '';
	position: absolute;
	top: 0;
	right: 100%;
	width: 100%;
	height: 450px;
	background: #fff;
	z-index: 5;
	pointer-events: none;
}

#business .swiper-wrapper{
	overflow: visible;
}

#business .swiper{
	width: 100%;
	overflow: visible;
}

#business .swiper-slide{
	width: 66.88vw;
	/*max-width: 1284px;*/
	display: flex;
	gap: 45px;
	box-sizing: border-box;
/*	margin-right:clamp(10px,6.56vw,126px);*/
}

#business .swiper-slide .inner-left{
	width: 36.72vw;
	max-width: 705px;
	border: solid 1px #0071bc;
}

#business .swiper-slide .inner-right{
	display: flex;
	flex-direction: column;
    justify-content: center;
	/*padding-top: 92px;*/
	width: 27.81vw;
	max-width: 534px;
	border-bottom: solid 1px #0071bc;
}

#business .swiper-slide .point{
	height: 17px;
	width: fit-content;
	margin-bottom: 20px;
}

#business .swiper-slide h3{
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	margin-bottom: 30px;
}

#business .swiper-slide p{
	font-size: 16px;
	line-height: 2;
	margin-bottom: 60px;
	max-width: 531px;
}


#business .swiper-slide a{
	position: relative;
	display: flex;
	align-items: center;
	gap: 40px;
	width: fit-content;
	transition: 0.3s;
}

#business .swiper-slide a img{
	height: 14px;
	width: auto;
}


#business .swiper-slide a::before{
	content: '';
	display: inline-block;
	background: #0071bc;
	height: 10px;
	width: 10px;
	position: absolute;
	right: 80px;
	border-radius: 50%;
	transition: 0.3s;
}

#business .swiper-slide a::after{
	content: '';
	display: inline-block;
	background: #0071bc;
	height: 1px;
	width: 80px;
}

#business .swiper-slide a:hover::before{
	right: 0;
}

#business .slider-next{
	top: 50%;
  transform: translateY(-50%); 
	width: 25px;
	aspect-ratio: 25 /50;
	cursor: pointer;
	pointer-events: auto;
  z-index: 10;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
	position: absolute;
  /*right: -4.58vw;*/
	right: -88px;
  background-image: url('../images/icon-arrow-blue.svg');
}
#business .slider-prev{
	top: 50%;
	width: 25px;
	aspect-ratio: 25 /50;
	cursor: pointer;
	pointer-events: auto;
  z-index: 10;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
	position: absolute;
	left: -95px;
  background-image: url('../images/icon-arrow-blue.svg');
	transform: translateY(-50%) rotate(180deg);
}


#business .business-pagination {
  display: flex;
  gap: 16px;
  margin-top: 43px;
  margin-bottom: 45px;
}

#business .pagination-bar {
  display: block;
  width: 122px;
  height: 4px;
  padding: 0;
  border: 0;
  background: #c7e0f0;
  cursor: pointer;
}

#business .pagination-bar.is-active {
  background: #0071bc;
}

#business #section2{
	padding-top: 100px;
	display: flex;
	justify-content: center;
}

#business #section2 .section-inner{
	width: 100%;
	max-width: 1500px;
	padding: 0 45px;
}

#business #section2 .h-type-2{
    margin-bottom: 50px;
}

.list-type-1{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	/* PC時(幅1410px)の計算: (1410px - (310px * 4)) / 3 = 56.666px */
    gap: 50px 56.666px; 
	justify-content: center;
}
.list-type-1 li{
	/*flex: 1 1 clamp(180px, 20.75%, 310px);*/
	width: 310px;
  max-width: 310px;
  box-sizing: border-box;
}

/* 最後の行が左寄せで崩れないための調整 */
.list-type-1::after {
  content: '';
  /*flex: 1 1 clamp(180px, 20.75%, 310px);*/
	width: 676.666px;
}

.list-type-1 li .image-wrapper{
	width: 100%;
	height: 251px;
	background-color: #969696;
	margin-bottom: 20px;
}
.list-type-1 li h4{
	font-size: 16px;
	line-height: 1;
	font-weight: 500;
}

.dl-wrapper{
	margin-top: 80px;
	display: flex;
	justify-content: space-between;
	width: 100%;
	gap: 40px;
}

.dl-wrapper .info-list{
	width: 100%;
	max-width: 660px;
}

.dl-wrapper .info-item{
	display: flex;
	justify-content: space-between;
	border-bottom: solid 1px #80b8dd;
	padding-bottom: 16px;
    /*margin-bottom: 16px;*/
}


#business #section3{
	margin-top: 160px;
	display: flex;
	justify-content: center;
	margin-bottom: 100px;
}

#business #section3 .section-inner{
	width: 100%;
	max-width: 1500px;
	padding: 0 45px;
}

#business #section3 .button{
	margin: 94px auto 0;
	font-size: 18px;
}




#business #section4{
	margin-top: 135px;
	display: flex;
	justify-content: center;
	margin-bottom: 80px;
}

#business #section4 .section-inner{
	width: 100%;
	max-width: 1680px;
	padding: 110px 45px 100px;
	background: #f0f6fb;
	display: flex;
    flex-direction: column;
    align-items: center;
}
#business #section4 .section-inner .inner-wrapper{
	width: 100%;
	max-width: 1500px;
	padding: 0 45px;
	display: flex;
    flex-direction: column;
    gap: 50px;
}

#business #section4 .h-type-2{
    margin-bottom: 50px;
}

#business #section4 .inner-box-1{
	display: flex;
	gap: 45px;
	justify-content: space-between;
}
#business #section4 .inner-left{
	height: 100%;
	max-width: 660px;
}
#business #section4 .inner-right{
	width: 100%;
	max-width: 660px;
	min-height: 384px;
}




/* 施工事例 -------------------------------------------------- */


#works #section1{
	margin-top: 192px;
	display: flex;
	justify-content: center;
}

#works #section1 .section-inner{
	width: 100%;
	max-width: 1500px;
	padding: 0 45px;
}

#works #section1 .list-type-1{
	/*padding-bottom: 65px;*/
	margin-bottom: 65px;
	border-bottom: solid 1px #0071bc;
	gap: 0 56.666px;
}
#works #section1 .list-type-1 li{
	margin-bottom: 65px;
}

#works #section1 .list-type-1:last-of-type{
	margin-bottom: 75px;
}



/* 会社案内 -------------------------------------------------- */

#company .child-header{
	background-image: url("../images/header-back-company.jpg");
}

#company #section1{
	margin-top: 115px;
	display: flex;
	justify-content: center;
}

#company #section1 .section-inner{
	width: 100%;
	max-width: 1500px;
	padding: 0 45px;
}

#company #section1 .h-type-2,
#company #section2 .h-type-2{
	margin-bottom: 50px;
}

#company #section1 .text{
	line-height: 2.188;
	margin-bottom: 2.25em;
}
#company #section1 .name{
	text-align: right;
	font-size: 20px;
}
#company #section1 .name .job{
	font-size: 16px;
	display: inline-block;
	margin-right: 1em;
}

#company #section2{
	margin-top: 100px;
	display: flex;
	justify-content: center;
}

#company #section2 .section-inner{
	width: 100%;
	max-width: 1500px;
	padding: 0 45px;
}

#company #section2 .dl-wrapper{
	margin-top: 0;
}

#company #section2 .dl-wrapper .info-list {
    width: 100%;
    max-width: unset;
}
#company #section2 .dl-wrapper .info-item{
	justify-content: flex-start;
	gap: 16px;
	border-bottom: none;;
}
#company #section2 .dl-wrapper .info-item .info-title{
	border-bottom: solid 1px #80b8dd;
	width: 126px;
	padding: 0 23px 20px;
	text-align: justify;
  text-align-last: justify;
  text-justify: distributed;
  word-break: break-all;
}

#company #section2 .dl-wrapper .info-item .info-content{
	border-bottom: solid 1px #80b8dd;
	width: 100%;
	padding: 0 23px 20px;
}



#company #section3{
	margin-top: 192px;
	display: flex;
	justify-content: center;
	padding-bottom: 106px;
}

#company #section3 .section-inner{
	width: 100%;
	max-width: 1500px;
	padding: 0 45px;
}


#company #section3 .inner-box{
	display: flex;
	justify-content: space-between;
}


#company #section3 .inner-left{
	width: 100%;
	max-width: 930px;
	padding-right: 20px;
}


.history-timeline {
  position: relative;
  padding-left: 126px;
  box-sizing: border-box;
}

/* 中央の縦ライン（青実線） */
.history-timeline::before {
  content: '';
  position: absolute;
  top: 14px;
  left: 126px;
  bottom: -50px;
  width: 2px;
  background-color: #0071bc;
}

/* 最下部の破線 */
.history-timeline::after {
  content: '';
  position: absolute;
  left: 126px;
  bottom: -106px;
  width: 2px;
  height: 50px;
  border-left: 2px dashed #0071bc;
}

/* 各行の親要素（ここで上下中央揃えを指定） */
.timeline-item {
  position: relative;
  display: flex;
  align-items: center; /* 横線・テキスト・年号を上下中央揃え */
  margin-bottom: 40px;
}

/* 年代（左側） */
.timeline-item .year {
  position: absolute;
  left: -126px;
  width: 126px;
  text-align: left;
}

/* 青色ドット（丸） */
.timeline-item::before {
  content: '';
  position: absolute;
  left: -3px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background-color: #0071bc;
  border-radius: 50%;
  z-index: 1;
}

/* 右方向への横線（青ライン） */
.timeline-item::after {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 64px;
  height: 1px;
  background-color: #0071bc;
}

/* 詳細本文（右側） */
.timeline-item .content {
  padding-left: 85px; /* 横線の長さ(60px) + 余白(25px) */
}


.timeline-item:last-of-type{
	margin-bottom: 0;
}



/* レスポンシブ対応 (画面幅600px以下) */
@media (max-width: 600px) {
  .history-timeline {
    padding-left: 30px;
  }
  .history-timeline::before,
  .history-timeline::after {
    left: 10px;
  }
  .timeline-item {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 30px;
  }
  .timeline-item .year {
    position: static;
    width: 100%;
    text-align: left;
    margin-bottom: 4px;
  }
  .timeline-item::before {
    left: -25px;
    top: 6px;
    transform: none;
  }
  .timeline-item::after {
    display: none;
  }
  .timeline-item .content {
    padding-left: 0;
  }
}

#company #section3 .inner-right{
	width: 100%;
	max-width: 490px;
}

#company #section3 .inner-right .inner-box2{
	position: relative;
	width: 100%;
	aspect-ratio: 487 / 415;
	margin-bottom: 25px;
	margin-top: -90px;
}

#company #section3 .inner-right .inner-box2 img:nth-child(1){
	position: absolute;
	top: 0;
	right: -130px;
}
#company #section3 .inner-right .inner-box2 img:nth-child(2){
	position: absolute;
	top: 160px;
	left: 0;
}

#company #section3 .inner-right .inner-box3{
	position: relative;
	width: 100%;
	height: 100%;
	max-height: 324px;
}

#company #section3 .inner-right .inner-box3 img:nth-child(1){
	position: absolute;
	top: 0;
	right: -135px;
}
#company #section3 .inner-right .inner-box3 img:nth-child(2){
	position: absolute;
	top: 137px;
	left: 46px;
}

#company #section4{
	margin-top: 108px;
	display: flex;
	justify-content: center;
}

#company #section4 .section-inner{
	width: 100%;
	max-width: 1500px;
	padding: 0 45px;
}

#company #section4 .inner-box{
	display: flex;
	justify-content: space-between;
}

#company #section4 .inner-left{
	width: 100%;
	max-width: 660px;
}

#company #section4 .inner-left .h-type-2{
	margin-bottom: 100px;
}

#company #section4 .tugline{
	margin-bottom: 40px;
}

#company #section4 .inner-left .text{
	margin-bottom: 50px;
}

#company #section4 .inner-right{
	width: 100%;
	max-width: 597px;
	aspect-ratio: 597 / 567;
	margin-top: 12px;
}





#company #section5{
	margin-top: 123px;
	display: flex;
	justify-content: flex-end;
	/*margin-bottom: 134px;*/
}

#company #section5 .section-inner{
	width: 100%;
	max-width: 1710px;
	padding: 0 0 0 45px;
}

#company #section5 .h-type-2{
    margin-bottom: 70px;
}

#company #section5 .inner-box{
	display: flex;
	align-items: center;
}

#company #section5 .inner-left{
	background-color: #0071bc;
	color: #fff;
	width: 430px;
	height: 374px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-right: -52px;
	position: relative;
	z-index: 2;
	padding: 0 34px;
}

#company #section5 h4{
	font-size: 25px;
	font-weight: 400;
	line-height: 1;
	padding-bottom: 26px;
	position: relative;
	margin-bottom: 30px;
}
#company #section5 h4::after{
	content: '';
	display: block;
	width: 56px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

#company #section5 .address{
	text-align: center;
	margin-bottom: 30px;
}



#company #section5 .inner-right{
	width: 100%;
	max-width: 1288px;
	height: 490px;
}

#company .footer-contact{
	display: none;
}


/* 採用情報 -------------------------------------------------- */

#recruit .child-header{
	background-image: url("../images/header-back-recruit.jpg");
}


#recruit #section1{
	margin-top: 200px;
	display: flex;
	justify-content: center;
}

#recruit #section1 .section-inner{
	width: 100%;
	max-width: 1500px;
	padding: 0 45px;
}

#recruit #section1 .flex-box{
	display: flex;
	margin-bottom: 155px;
}

#recruit #section1 .flex-box .inner-left{
	width: 100%;
	max-width: 660px;
}

#recruit #section1 .tugline{
	font-size: 50px;
}

#recruit #section1 .flex-box .inner-right p{
	max-width: 625px;
}

.list-type-2 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
 gap: 50px 40.5px;
    justify-content: center;
}

.list-type-2 li {
  /*flex: 1 1 clamp(220px, 31.41%, 443px);*/
  width: 443px;
  box-sizing: border-box;
	border: solid 1px #0071bc;
}

/* 最後の行の配置崩れ防止用 */
.list-type-2::after {
  content: '';
  /*flex: 1 1 clamp(220px, 31.41%, 443px);*/
  width: 443px;
}

.list-type-2 .image-wrapper{
	width: 100%;
	aspect-ratio: 443 / 296;
}

.list-type-2 .h-wrapper{
	width: 100%;
	position: relative;
	background: #fff;
	padding-left: 38px;
}

.list-type-2 .h-wrapper::before{
	content: '';
	display: block;
	background: #0071bc;
	width: 6px;
	height: 53px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.list-type-2 h4{
	height: 100px;
	display: flex;
	align-items: center;
	position: relative;
	color: #1a1a1a;
	font-weight: 400;
}
.list-type-2 h4::before{
	content: '';
    display: inline-block;
    background: #0071bc;
    height: 10px;
    width: 10px;
    position: absolute;
    right: 88px;
    border-radius: 50%;
    transition: 0.3s;
}
.list-type-2 h4::after{
	content: '';
    display: inline-block;
    background: #0071bc;
    height: 1px;
    width: 65px;
	position: absolute;
	right: 33px;
}
.list-type-2 h4:hover::before {
    right: 33px;
}

#recruit #section2{
	margin-top: 188px;
	display: flex;
	justify-content: center;
	background-image: url("../images/cross_talk-back.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	margin-bottom: 150px;
}

#recruit #section2 .section-inner{
	width: 100%;
	max-width: 1500px;
	padding: 42px 45px 130px;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
}

#recruit #section2 .en-title{
	width: 65.63vw;
	height: auto;
	max-width: 1260px;
	aspect-ratio: 1260 / 181;
}

#recruit #section2 h3{
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(23px, 5.21vw, 40px);
    font-weight: 400;
	line-height: 1;
	padding-bottom: 20px;
	margin-bottom: 20px;
	position: relative;
	margin-top: 50px;
}
#recruit #section2 h3::after{
	content: '';
	width: 39px;
	height: 2px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%)
}

#recruit #section2 a{
	position: relative;
    display: flex;
    align-items: center;
    gap: 40px;
    width: fit-content;
    transition: 0.3s;
	margin-top: 60px;
}

#recruit #section2 a img{
	height: 14px;
}

#recruit #section2 a::before{
	content: '';
    display: inline-block;
    background: #fff;
    height: 10px;
    width: 10px;
    position: absolute;
    right: 65px;
    border-radius: 50%;
    transition: 0.3s;
}
#recruit #section2 a::after{
    content: '';
    display: inline-block;
    background: #fff;
    height: 1px;
    width: 65px;
}
#recruit #section2 a:hover::before{
	right: 0;
}




.footer-contact.entry h2{
	width: 186px;
	min-width: unset;
}


/* 先輩の声 -------------------------------------------------- */

#voice .child-header{
	background-image: url("../images/header-back-voice.jpg");
}

#voice #section1{
	margin-top: 174px;
	display: flex;
	justify-content: center;
}

#voice #section1 .section-inner{
	width: 100%;
	max-width: 1500px;
	padding: 0 45px;
	display: flex;
	flex-direction: column;
}

#voice #section1 .flex-box{
	display: flex;
	margin-bottom: 155px;
}

#voice #section1 .flex-box .inner-left{
	width: 100%;
	max-width: 660px;
}

#voice #section1 .tugline{
	/*font-size: 40px;*/
}

#voice #section1 .flex-box .inner-right p{
	max-width: 625px;
}



#voice #section2{
	display: flex;
	justify-content: center;
	margin-bottom: 140px;
}

#voice #section2 .section-inner{
	width: 100%;
	max-width: 1500px;
	padding: 0 45px;
	display: flex;
	flex-direction: column;
}



#voice .h-box-2{
	display: flex;
	align-items: center;
	gap: 0 55px;
	margin-bottom: 60px;
}
#voice .h-box-2 img{
	height: 16.5px;
	width: auto;
}
#voice .h-box-2 .h-type-2{
	margin-bottom: 0;
	line-height: 1;
	font-size: clamp(23px, 5.21vw, 40px);
}

.member-wrapper{
}

.member-wrapper ul{
	display: flex;
	gap: 30px;
}
.member-wrapper ul li{
	width: 330px;
	min-height: 358px;
	display: flex;
	flex-direction: column;
	align-items: center;
	border: solid 1px #0071bc;
}

.member-wrapper ul li .image-wrapper {
    width: 100%;
    height: 158px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
	margin-bottom: 28px;
}
.member-wrapper ul li:nth-child(1) .image-wrapper img {
    width: 138px;
    height: auto;
}
.member-wrapper ul li:nth-child(2) .image-wrapper img {
    width: 126px;
    height: auto;
}
.member-wrapper ul li:nth-child(3) .image-wrapper img {
    width: 138px;
    height: auto;
}
.member-wrapper ul li:nth-child(4) .image-wrapper img {
    width: 130px;
    height: auto;
}

.member-wrapper ul li .info-wrapper{
	max-width: 240px;
}

.member-wrapper ul li .info-wrapper h3{
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	margin-bottom: 20px;
}
.member-wrapper ul li .info-wrapper h3 .mini{
	font-size: 20px;
}

.member-wrapper ul li .info-wrapper p{
	line-height: 1.875;
}


#voice #section3{
	display: flex;
	justify-content: center;
	max-width: 100%;
    overflow: clip;
}

#voice #section3 .section-inner{
	width: 100%;
	max-width: 1250px;
	padding: 0 45px;
	display: flex;
	flex-direction: column;
}

.talk-wrapper{
	display: flex;
	flex-direction: column;
	position: relative;
}
.talk-wrapper:nth-of-type(1){
	margin-bottom: 165px;
}
.talk-wrapper:nth-of-type(2){
	margin-bottom: 155px;
}
.talk-wrapper:nth-of-type(3){
	margin-bottom: 155px;
}
.talk-wrapper:nth-of-type(4){
	margin-bottom: 150px;
}
.talk-wrapper:nth-of-type(5){
	margin-bottom: 160px;
}
.talk-wrapper:nth-of-type(6){
	margin-bottom: 120px;
}

.talk-h-box{
	width: 100%;
	padding-bottom: 50px;
	border-bottom: solid 1px #0071bc;
	margin-bottom: 60px;
}
.talk-h-box img{
	height: 19px;
	widows: auto;
	margin-bottom: 20px;
}
.talk-h{
	font-size: 30px;
	font-weight: 400;
    line-height: 1.5;
}

.talk-box{
	display: flex;
	gap: 45px;
	margin-bottom: 50px;
	align-items: center;
}

.talk-box:last-child{
	margin-bottom: 0;
}



.talk-box .inner-left{
	width: 66px;
}
.talk-box .inner-right{
	width: calc(100% - 66px - 45px);
}
.talk-box .inner-right p{
	margin-top: -8px;
    line-height: 1.75;
}

.talk-wrapper:nth-of-type(1) > img{
	width: 399px;
	position: absolute;
	bottom: -157px;
	right: -250px;
}
.talk-wrapper:nth-of-type(2) > img{
	width: 469px;
	position: absolute;
	bottom: -65px;
	right: -195px;
}
.talk-wrapper:nth-of-type(3) > img{
	width: 409px;
	position: absolute;
	bottom: -115px;
	right: -255px;
}
.talk-wrapper:nth-of-type(4) > img{
	width: 469px;
	position: absolute;
	bottom: 147px;
	right: -133px;
}
.talk-wrapper:nth-of-type(5) > img{
	width: 469px;
	position: absolute;
	bottom: 40px;
	right: -225px;
}





#voice #section4{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 115px;
}
#voice #section4 > img{
	width: 100%;
}

#voice #section4 .section-inner{
	width: 100%;
	max-width: 1410px;
	padding: 0 45px;
	display: flex;
	flex-direction: column;
	background: #FFF;
	margin-top: -100px;
}
#voice #section4 .flex-box{
	display: flex;
	gap: 81px;
	margin-bottom: 100px;
	padding: 90px 125px 0;
}
#voice #section4 .flex-box .inner-left{
	width: 100%;
	max-width: 448px;
}



#voice #section4 .flex-box .inner-right p{
	max-width: 541px;
}




.entry-button{
	width: 560px;
    height: 134px;
    display: flex;
    align-items: center;
    background: #0071bc;
    color: #FFF;
    font-size: 20px;
    line-height: 1;
    position: relative;
    padding: 10px 47px 10px 60px;
    transition: 0.3s;
	align-self: center;
}
.entry-button::after {
    content: '';
    background: url("../images/icon-arrow-white.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 11px;
    height: 16px;
    position: absolute;
    right: 47px;
    top: 50%;
    transform: translateY(-50%);
    display: block;
	transition: 0.3s;
}
.entry-button:hover::after{
	right: 42px;
}

/* 名鏡について -------------------------------------------------- */

#about .child-header{
	background-image: url("../images/header-back-about.jpg");
}

#about #section1{
	margin-top: 184px;
	display: flex;
	justify-content: flex-end;
}

#about #section1 .section-inner{
	width: 100%;
	max-width: 1710px;
	padding: 0 0 0 45px;
	margin-left: calc(210px - 45px);
}

#about .h-type-2{
	font-size: clamp(23px, 5.21vw, 40px);
	margin-bottom: 45px;
} 

#about #section1 .h-type-2{
	margin-bottom: 80px;
}

#about #section1 .inner-wrapper{
	width: 100%;
	max-width: 1540px;
	margin-left: auto;
}

#about #section1 .inner-wrapper .upper{
	display: flex;
    justify-content: space-between;
	margin-bottom: 105px;
}
#about #section1 .inner-wrapper .upper .inner-left{
	padding-right: 45px;
}

#about #section1 .inner-wrapper .tugline{
	margin-bottom: 50px;
	font-size: clamp(30px, 5.21vw, 40px);
}


#about #section1 .inner-wrapper .lower{
	display: flex;
}
#about #section1 .inner-wrapper .lower .inner-right{
	margin-left: 90px;
}




#about #section2{
	margin-top: 115px;
	display: flex;
	justify-content: flex-start;
}

#about #section2 .section-inner{
	width: 100%;
	max-width: 1710px;
	min-height: 1416px;
	background-image: url("../images/our_works-back.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
	padding-top: 135px;
	padding-left: 255px;
	padding-right: 45px;
	padding-bottom: 120px;
}

#about #section2 .h-type-2{
	color: #fff;
	align-self: flex-start;
	margin-left: 126px;
	margin-bottom: 65px;
}
#about #section2 .h-type-2::after{
	background-color: #fff;
}




#about #section2 .section-inner::before{
	content: '';
	display: block;
	background-image: url("../images/our_works.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 181px;
	aspect-ratio: 181 / 1303;
	position: absolute;
	top: 45px;
	left: 0;
	mix-blend-mode: hard-light;
}

#about #section2 .inner-wrapper{
	width: 100%;
	max-width: 1410px;
	display: flex;
    flex-direction: column;
    align-items: center;
}

#about #section2 ul{
	display: flex;
	flex-wrap: wrap;
	color: #fff;
	gap: 52px 90px;
	width: 100%;
	max-width: 1158px;
	justify-content: center;
	z-index: 2;
}
#about #section2 ul li{
	width: 534px;
}
#about #section2 ul li .image-wrapper{
	margin-bottom: 25px;
}

#about #section2 ul li .info-wrapper{
	position: relative;
	display: flex;
}

#about #section2 ul li .info-wrapper::before{
	content: '';
	display: block;
	height: auto;
	min-height: 152px;
	width: 12.5px;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	border-left: solid 1px #fff;
}
#about #section2 ul li .info-wrapper::after{
	content: '';
	display: block;
	height: auto;
	min-height: 152px;
	width: 12.5px;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	border-right: solid 1px #fff;
}

#about #section2 ul li .info-inner{
	width: 100%;
    max-width: unset;
	height: auto;
	padding: 24px 24px 0;
}



#about #section2 ul li .info-wrapper h4{
	font-size: 23px;
	font-weight: 500;
	margin-bottom: 23px;
	line-height: 1;
	padding: 0;
}
#about #section2 ul li .info-wrapper h4::before{
	display: none;
}

#about #section2 ul li .info-wrapper.info-wrapper p {
    font-size: 16px;
    line-height: 1.75;
}





#about #section3{
	margin-top: 115px;
	display: flex;
	justify-content: center;
	margin-bottom: 100px;
    padding: 0 45px;
}

#about #section3 .section-inner{
	width: 100%;
	max-width: 1178px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
#about #section3 ul{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 65px;
	gap: 19px 10px;
    justify-content: space-between;
	position: relative;
}

#about #section3 ul::after{
	content: '（2026年9月1日時点）';
	display: block;
    width: 100%;
    text-align: right;
}

#about #section3 ul li:nth-child(1){
	width: 100%;
	aspect-ratio: 1178 / 321;
}
#about #section3 ul li:nth-child(2){
	width: calc(50% - 5px);
	aspect-ratio: 574 / 321;
}
#about #section3 ul li:nth-child(3){
	width: calc(50% - 5px);
	aspect-ratio: 574 / 321;
}
/*#about #section3 ul li:nth-child(4){
	width: calc((100% - 20px) * (379 / 1158));
	aspect-ratio: 379 / 321;
}
#about #section3 ul li:nth-child(5){
	width: calc((100% - 20px) * (400 / 1158));
	aspect-ratio: 400 / 321;
}
#about #section3 ul li:nth-child(6){
	width: calc((100% - 20px) * (379 / 1158));
	aspect-ratio: 379 / 321;
}*/

#about #section3 ul li:nth-child(4){
	width: calc((100% - 20px) * (369 / 1158));
	aspect-ratio: 369 / 321;
}
#about #section3 ul li:nth-child(5){
	width: calc((100% - 20px) * (390 / 1158));
	aspect-ratio: 390 / 321;
}
#about #section3 ul li:nth-child(6){
	width: calc((100% - 20px) * (369 / 1158));
	aspect-ratio: 369 / 321;
}



/* お問い合わせ -------------------------------------------------- */


#contact .child-header{
	background-image: url("../images/header-back-contact.jpg");
}


#contact #section-contact {
    padding: 126px 34px 0;
    position: relative;
}


#contact .section-inner{
	width: 100%;
	max-width: 1160px;
	margin: 0 auto;
}

#contact .section-inner > p{
	margin-bottom: 5.21vw;
	line-height: 1.75;
	font-weight: 400;
	/*font-feature-settings: 'palt';*/
	padding: 0 24px;
}
.inline-b{
	display: inline-block;
}


.form-group {
    min-height: 54px;
    padding: 7px 24px;
    display: flex;
    align-items: center;
	margin-bottom: 46px;
}


.label-name {
    width: 220px;
    flex-shrink: 0;
    /*padding-right: 38px;*/
    display: flex;
    align-items: center;
    /*justify-content: space-between;*/
    /*align-self: flex-start;*/
	/*padding-top: 0.25em;*/
	font-weight: 600;
}

.required {
    color: #ed1c24;
    flex-shrink: 0; 
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	/*display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 46px;
	aspect-ratio: 46 / 19;
	padding-bottom: 2px;
	margin-top: 4px;
    margin-left: 2px;*/
}

.form-group .flex-box{
	display: flex;
	flex-direction: column;
    width: 100%;
	gap: 46px;
}

.form-group .flex-box > input[type="email"],
.confirmation-box,
.form-group > input[type="text"],
.form-group > input[type="email"],
.form-group > input[type="tel"],
.form-group > textarea {
    flex-grow: 1; 
    width: 100%;
    box-sizing: border-box;
    background: #e5f1f8;
    border-radius: 5px;
    padding: 10px;
    min-height: 54px;
    border: none;
    outline: none;
    max-width: 892px;
	color: #1a1a1a;
    font-size: 16px;
	font-weight: 400;
	font-family: "Noto Sans JP", sans-serif!important;
}

input::placeholder,
textarea::placeholder {
  color: #80b8dd;
  opacity: 1;
}

.form-group.postal > input[type="text"]{
	max-width: 201px;
	position: relative;
}
.form-group.postal .postal-mark{
	display: inline-block;
	margin-right: 22px;
	color: #1a1a1a;
	font-weight: 400;
}

.form-group.postal .postal-ex{
	display: inline-block;
	margin-left: 22px;
	color: #80b8dd;
	font-weight: 400;
}


.checkbox-wrapper{
	display: flex;
    flex-wrap: wrap;
	/*max-width: 650px;*/
	gap: 50px;
}

.checkbox-wrapper label {
  display: flex;
  align-items: center;
  cursor: pointer;
  /*margin-bottom: 10px;*/
 /* gap: 12px;*/
  /*min-width: 218px;*/
	font-weight: 400;
	line-height: 1;
}


.checkbox-wrapper input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 30px;
  height: 30px;
  background-color: #fff;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0;
}


.checkbox-wrapper input[type="checkbox"]::after {
  content: "";
  width: 14px;
  height: 14px;
  background-color: #0071bc;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.checkbox-wrapper input[type="checkbox"]:checked::after {
  opacity: 1;
}


/* ラジオ全体の並び */
.checkbox-wrapper label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

/* ラジオ本体をカスタム */
.checkbox-wrapper input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  width: 18px;
  height: 18px;
  border: 2px solid #0071bc;
  border-radius: 50%;
  background: #fff;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
}

/* チェック時の内側の丸 */
.checkbox-wrapper input[type="radio"]::before {
  content: "";
  position: absolute;
  width: 10.4px;
  height: 10.4px;
  border-radius: 50%;
  background: #0071bc;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
}

/* チェック時だけ表示 */
.checkbox-wrapper input[type="radio"]:checked::before {
  transform: translate(-50%, -50%) scale(1);
}






.form-group.email-area,
.form-group.text-area{
	align-items: flex-start;
}
.form-group.email-area .label-name,
.form-group.text-area .label-name{
	padding-top: 0.5em;
}

.form-group.policy{   
	margin-bottom: 40px;
}


.policy-check{
	width: 100%;
	display: flex;
	flex-direction: column;
    align-items: center;
}


.policy-notice{
    width: 197px;
}


.policy-check-main{
	display: flex;
	justify-content: center;
	align-items: center; 
	cursor: pointer;
	width: 100%;
	max-width: 616px;
	height: 58px;
	border: solid 1px #cccccc;
	background: #fff;
    margin: 0 auto 48px;
	font-weight: 400;
}


.policy-check p{
	width: 100%;
	max-width: 600px;
	font-feature-settings: normal;
	margin-bottom: 35px;
	font-weight: 600;
}

.policy-check a{
	color: #29abe2;
	text-decoration: underline;
	text-decoration-color: #29abe2;
	text-underline-offset: 5px;
}
.policy-check a:hover{
	text-decoration: none;
}

.policy-check input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 13px;
  height: 13px;
  border: 1px solid #1a1a1a;
  background: none;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
  transition: background-color 0.2s;
  flex-shrink: 0;
  margin-right: 5px;
	margin-top: 3px;
}

.policy-check input[type="checkbox"]:checked {
  background-color: #0071bc;
  border-color: #1a1a1a;
}


.policy-check input[type="checkbox"]::after {
  content: "";
    position: absolute;
    left: 2px;
    top: 0px;
    width: 6px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
}


.policy-check input[type="checkbox"]:checked::after {
  opacity: 1;
}


.policy-check div {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 15px;
}



.form-wrap .button {
    border: solid 2px #0071bc;
    outline: none;
    appearance: none;
	font-size: 16px;
	font-weight: 400;
	width: 100%;
	max-width: 253px;
	height: 60px;
	justify-content: center;
	color: #fff;
	background: #0071bc;
	border-radius: 0;
	padding: 0;
	transition: 0.3s;
}


.form-wrap .button::before{
	display: none;
}

.form-wrap .button::after{
	background: url("../images/icon-arrow-white-2.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 12.5215px;
	height: 12.3135px;
	right: 16px;
}

/*.form-wrap .button:hover{
	background: #fadf12;
}*/


.form-wrap .button_area{
    display: flex;
    justify-content: center;
	max-width: 914px;
	margin-left: auto;
    gap: 40px;
}
.form-wrap .button_area button{
	cursor: pointer;
}

#contact.thanks .section-inner{
    display: flex;
    align-items: center;
    flex-direction: column;
}

#contact.thanks .section-inner > p{
    text-align: center;
    line-height: 2;
}

/*#contact.thanks .button{
	width: 345px;
    height: 90px;
    font-size: 20px;
    padding-right: 93px;
	justify-content: center;
}
#contact.thanks .button::after{
	    background: url(../images/icon-arrow-white2.svg);
    width: 17.5732px;
    height: 8.8555px;
    right: 28px;
}
*/




/* プライバシーポリシー -------------------------------------------------- */

#privacy .child-header{
	background-image: none;
	background-color: #FFF;
}

.header-logo.logo-blue{
	filter: none;
}

#privacy #section1 {
    padding: 110px 45px 0;
    position: relative;
}

#privacy .h-type-1{
	height: 166px;
	height: clamp(84px, 21.61vw, 166px);
}


#privacy .section-inner{
	width: 100%;
	max-width: 1160px;
	margin: 0 auto;
	font-weight: 400;
}

#privacy .section-inner > p.text{
	margin-bottom: 80px;
	font-weight: 400;
}

.policy-list{
	display: flex;
	flex-direction: column;
	gap: 70px;
}

.policy-list li{
	border-left: solid 4px #eeeef2;
	padding-left: 27px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}


.policy-list li:last-of-type p{
	max-width: 1058px;
}

#privacy h3{
    font-size: 20px;
	margin-bottom: 10px;
	font-weight: 500;
}

#privacy .footer-contact{
	display: none;
}


/* レスポンシブ ---------------------------------- */
@media (min-width: 1921px) {
	
	#top #section4 .slider-next{
        right: -30px;
        left: unset;
	}
	#about #section1,
	#company #section5{
        justify-content: center;
	}
}

@media (min-width: 1920px) {
#business .swiper-slide p span{
	text-wrap: nowrap;
}
}



@media (max-width: 1919px) {
	#top #section4 .slider-next{
        right:unset;
        left: 81.56vw;
	}
	#top #section4 .business-pagination{
		    margin-left: calc(47.66vw - 260px);
	}
}


@media (max-width: 1800px) {
#top #section3 .section-inner ul{
    flex-wrap: wrap;
}
}

@media (max-width: 1720px) {
#about #section2 .h-type-2 {
    color: #fff;
    align-self: center;
    margin-left: 0;
}
}


@media (max-width: 1660px) {
	
	.child-header .title-box{
		padding-left: 80px;
	}
	#business #section1{
		padding-left: 80px;
	}
	#business .slider-outer{
		width: 80%;
	}
	#about #section1 .section-inner{
        margin-left: calc(80px - 45px);
	}
	#about #section1 .inner-wrapper{
		margin-left: 0;
	}
}


@media (max-width: 1580px) {
	

	.list-type-3{
		margin-top: 100px;
		flex-direction: column;
        align-items: center;
		margin-left: 0;
	} 
	
	.list-type-3 li:nth-child(1) ,
	.list-type-3 li:nth-child(2) ,
	.list-type-3 li:nth-child(3) {
    margin-top: 0;
    }
	
	#about #section1 .inner-wrapper .upper{
      flex-direction: column;
		align-items: center;
		gap: 40px;
	}
	#about #section1 .section-inner {
        margin-right: calc(80px - 45px);
    }
	#about #section1 .h-type-2 {
    margin-right: auto;
    margin-left: auto;
    }
	#about #section1 .inner-wrapper .upper .inner-left {
    padding-right: 0;
    }
	#about #section1 .inner-wrapper .tugline br{
		display: none;
	}
	#about #section1 .inner-wrapper .lower {
    flex-direction: column-reverse;
    gap: 40px;
    align-items: center;
    }
	#about #section1 .inner-wrapper .lower .inner-right {
    margin-left: 0;
    }
	#about #section1 .inner-wrapper .lower .inner-right {
    margin-left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}
	
	
	
	
}





@media (max-width: 1500px) {
	#top #section4 .slider-outer{
		width: 100%;
		overflow: hidden;
	}
	#top #section4 .swiper {
    overflow: hidden;
    }
	#top #section4 .slider-next {
        right: 40px;
        left: unset;
    }
	#top #section4 .swiper-slide .inner-right{
		width: 33.81vw;
		justify-content: flex-start;
	}
	#top #section4 .swiper-slide{
		align-items: stretch;
		height: auto;
	}
	#top #section4 .swiper-slide .inner-left {
        align-self: stretch;
    }
	#top #section4 .swiper-slide .inner-left img{
      object-fit: cover;
      width: 100%;
      height: 100%;
	}
	#top #section4 .swiper-wrapper {
    align-items: stretch;
}
	#top #section4 .swiper-slide .number{
		aspect-ratio: 84 / 96;
        height: 4.38vw;
        width: fit-content;
        min-height: 42px;
	}
	#top #section4 .swiper-slide p br{
		display: none;
	}
	#top #section4 .swiper-slide p {
    margin-bottom: 30px;
}
	#top #section4 .swiper-slide a{
		margin-bottom: 30px;
	}
	
	#top #section5 .inner-box{
		align-items: center;
	}
	
	#top #section5 .inner-box{
        flex-direction: column;
	}
	#top #section5 .inner-box .inner-right {
    margin-left: 0;
    margin-top: 0;
    }
	
	.dl-wrapper{
		flex-direction: column;
        align-items: center;
		gap: 0 40px;
	}
	
	#business #section4 .section-inner .inner-wrapper{
		gap: 0;
	}
	
	#business #section4 .inner-box-1{
		flex-direction: column;
		margin-bottom: 80px;
	}
	#business #section4 .inner-left{
		max-width: unset;
	}
	#business #section4 .inner-right{
        align-self: center;
	}
	
	
	#business .h-type-2{
		margin-right: auto;
    margin-left: auto;
	}
	

	
	#recruit #section1 .flex-box{
		    margin-bottom: 100px;
    flex-direction: column;
    gap: 60px;
    align-items: center;
	}
	
	.p-and-e-area .inner-box{
      flex-direction: column;
      align-items: center;
      padding: 100px 45px;
	}
	.p-and-e-area .inner-box .inner-right{
		margin: 0;
		height: auto;
	}
	.p-and-e-area .inner-box .inner-left{
		padding: 0;
		height: auto;
		margin-bottom: 100px;
	}
	
	#voice #section4 .flex-box,
	#voice #section1 .flex-box {
        margin-bottom: 100px;
        flex-direction: column;
        gap: 60px;
        align-items: center;
    }
	#voice #section4 .flex-box .inner-left {
    width: 100%;
    max-width: unset;
    display: flex;
    justify-content: center;
}
	
	.member-wrapper ul{
		flex-wrap: wrap;
		justify-content: center;
	}
	#voice #section2 .section-inner{
		align-items: center;
	}
	
}


@media (max-width: 1457px) {
	
	#about #section2 .section-inner{
		padding-left: 45px;
	}
}


@media (max-width: 1409px) {
	#voice #section4 .section-inner{
		width: calc(100% - 68px);
		max-width: 920px;
	}
	#voice #section4 .flex-box{
		padding-left: 0;
		padding-right: 0;
	}
}






@media (max-width: 1350px) {
	
	.footer-contact .flex-box{
		flex-direction: column;
        align-items: center;
		gap: 80px;
	}
	.footer-contact .flex-box .inner-left {
    padding-right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
		width: 100%;
}
	.tel-link .time{
		text-align: center;
	}
	.footer-contact .flex-box .inner-right {
    padding-left: 0;
    border-left: none;
    display: flex;
    flex-direction: column;
    align-items: center;
		width: 100%;
}
	.footer-inner-upper{
		flex-direction: column;
	}
	.footer-nav{
        margin-top: 80px;
	}
	

	
	#top #section4 .h-box .inner-box {
    gap: 0;
    justify-content: space-between;
}
	#top #section4 .h-box .inner-box p:last-of-type{
		max-width: 54%;
	}
	#top #section4 .h-box .inner-box p:last-of-type br{
		display: none;
	}
	
	#top #section5 .inner-box .inner-left, #top #section5 .inner-box .inner-right {
    max-width: 704px;
}
	#top #section5 .inner-box .inner-left{
		padding-left: 100px;
	}
	
	
	
	
}


@media (max-width: 1280px) {
    .child .site-header, 
	.child .site-header.scrolled,
	.site-header,
	.site-header.scrolled{
		padding: 0;
        height: 0;
        background: none;
	}
	
	.header-inner{
        height: 100%;
	}
	
	.header-inner {
    padding: 10px 16px;
  }

  /* 通常ナビを隠してハンバーガーに */
	.child .header-nav,
  .header-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: rgba(0, 113, 188, 0.9);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
clip-path: none;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none!important;

    transition:
      max-height 0.3s ease,
      opacity 0.3s ease,
      transform 0.3s ease;
  }

  .header-nav ul {
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding-top: 100px;
    padding-bottom: 40px;
  }

  /* メニューオープン時に下方向へスルッと展開 */
  .site-header.is-open .header-nav {
    max-width: unset;
    height: auto;
    max-height: 90vh; /* メニューの高さより少し大きく */
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    align-items: center;
    padding-left: 0;
    background-color: rgba(0, 113, 188, 0.9);
	  clip-path: none;
  }

  /* ハンバーガーボタン表示 */
  .header-menu-toggle {
        display: flex;
        flex-direction: column;
        justify-content: center;
        z-index: 90;
	  filter: drop-shadow(0px 0px 3px #003b75);
  }
	.child .site-header.is-open .header-nav .nav-contact,
	.site-header.is-open .child-menu{
		background: none;
	}
	.child .header-nav li:not(:last-child) a{
		color: #fff!important;
	}

	
	.header-nav li{
		padding: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
		pointer-events: auto;
	}
	.header-nav li::after{
		display: none;
	}
	.header-nav .nav-contact{
		margin-left: 0;
		background: none;
		width: auto;
		height: auto;
	}
	.header-nav .nav-contact a img.pc{
	display: none;
    }

    .header-nav .nav-contact a span.sp{
        display: inline-block;
		color: #fff;
    }


	#top #section1 .section-inner,
	#top #section2 .section-inner{
		padding-left: 100px;
	}
	#top #section4 .h-box{
		margin-left: 100px;
	}
	#top #section3 .section-inner{
		padding-left: 100px;
		padding-right: 100px;
	}
	
	#top #section4 .h-box .inner-box{
		flex-direction: column;
        gap: 80px;
	}
	#top #section4 .h-box .inner-box p:last-of-type {
        max-width: unset;
    }
	#top #section4 .h-box .inner-box p:last-of-type br{
        display: inline;
    }
	
	.child-header .title-box{
		width: 80%;
	}
	
	#works #section1 {
		margin-top: 80px;
	}
	
	
	

	
	#company #section3 .inner-right{
		display: none;
	}
	#company #section4 .inner-box{
		flex-direction: column;
	}
	#company #section4 .inner-box{
		align-items: center;
	}
	#company #section3 .section-inner{
		width: fit-content;
	}
	#company #section4 .inner-left {
    width: 100%;
    max-width: 855px;
    }
	#company #section2 .section-inner{
    max-width: 945px;
	}
	#company #section2 .dl-wrapper .info-item .info-title{
      width: 134px;
	}
	#company #section1 .section-inner{
		max-width: 945px;
	}
	#company #section5 .inner-box{
        flex-direction: column-reverse;
	}
	#company #section5 .inner-left{
		width: 100%;
		margin-right: 0;
	}
	#company #section5 .section-inner{
		padding-right: 45px;
        max-width: 945px;
	}
	#company #section5{
		justify-content: center;
	}
	#company #section4 .inner-left .h-type-2{
	margin-bottom: 50px;
    }
	#company #section3 .inner-left{
		padding-right: 0;
	}
	
	.talk-wrapper:nth-of-type(1) > img {
    max-width: 399px;
    width: 100%;
    position: relative;
    bottom: unset;
    right: unset;
    margin: 0 auto;
    }
	.talk-wrapper:nth-of-type(2) > img {
    max-width: 469px;
    width: 100%;
    position: relative;
    bottom: unset;
    right: unset;
    margin: 0 auto;
    }
	.talk-wrapper:nth-of-type(3) > img {
    max-width: 409px;
    width: 100%;
    position: relative;
    bottom: unset;
    right: unset;
    margin: 0 auto;
    }
	.talk-wrapper:nth-of-type(4) > img {
    max-width: 469px;
    width: 100%;
    position: relative;
    bottom: unset;
    right: unset;
    margin: 0 auto;
    }
	.talk-wrapper:nth-of-type(5) > img {
    max-width: 469px;
    width: 100%;
    position: relative;
    bottom: unset;
    right: unset;
    margin: 0 auto;
    }
	
	.talk-inner-list{
		margin-bottom: 50px;
	}
	
	
	main [id] {
      scroll-margin-top: 80px;
    }
	
	
}



@media (max-width: 1140px) {
	
	.child-header .title-box {
        padding-left: 45px;
    }
	
	#business #section1 {
        padding-left: 45px;
		padding-right: 45px;
    }
	#business .slider-outer {
        width: 100%;
        margin-left: 0;
    }
	#business .slider-outer::before{
		display: none;
	}
	
	
	#business .slider-prev{
		left: 2px;
        top: unset;
        bottom: -20px;
		transform: translateY(0%) rotate(180deg);
	}
	#business .slider-next{
		right: 0;
        top: unset;
        bottom: -20px;
		transform: translateY(0%);
	}
	#business .swiper-slide .inner-left{
		width: 65%;
	}
	#business .swiper-slide .inner-right{
		width: 35%;
	}
	#business .business-pagination{
		width: fit-content;
		    margin-right: auto;
          margin-left: auto;
		    margin-top: 64px;
	}
}


@media (max-width: 1080px) {
	.talk-box{
		align-items: flex-start;
	}
}





@media (max-width: 960px) {
	
	.parallax-contents{
		padding-bottom: 100px;
	}
	#top #section3 .section-inner{
		padding-top: 200px
	}
	

	.header-logo{
		width: 80px;
	}
	
	.child-header{
		height: 50vw;
        max-height: 860px;
		min-height: 400px;
	}
	.child-header .title-box{
        padding-top: 40px;
		padding-bottom: 40px;
		min-height: 130px;
	}


	
	.form-group{
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
	}
	.form-group.postal{
        display: inline-block;
	}
	
	.form-group.postal .label-name{
		margin-bottom: 20px;
	}
	
    .form-group.email-area .label-name,
    .form-group.text-area .label-name{
        padding-top: 0;
    }
	
	#top #section2 .section-inner::after{
		display: none;
	}
	#top #section2 .section-inner{
		padding-bottom: 0;
	}
	
	#top #section4 .swiper-slide{
		flex-direction: column;
        gap: 40px;
	}
    #top #section4 .swiper-slide .inner-left {
        width: 100%;
        max-width: unset;
    }
	#top #section4 .swiper-slide .inner-right {
        width: 100%;
        max-width: unset;
        justify-content: flex-start;
		padding: 0 45px;
    }
	    #top #section4 .swiper-slide a {
        align-self: flex-end;
    }
	#top #section4 .business-pagination {
        margin-left: 0;
        justify-content: center;
		margin-top: 90px;
    }
	#top #section4 .swiper-slide .number{
		height: 8.38vw;
	}
	#top #section4 .slider-next{
		top: unset;
        bottom: 0;
	}
	#top #section4 .slider-outer{
        padding-bottom: 50px;
	}
	
	.footer-nav{
		flex-direction: column;
	}
	.footer-nav ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px 40px;
}
	.footer-nav ul:not(:first-child) > li:first-child{
        width: 100%;
	}
	
	#business .swiper-slide{
		flex-direction: column;
		border: solid 1px #0071bc;
        height: auto;
	}
	#business .swiper-slide .inner-left,
	#business .swiper-slide .inner-right{
        width: 100%;
		max-width: unset;
    }
	#business .pagination-bar{
		width: 10vw;
		min-width: 40px;
	}
	#business .swiper-slide .inner-right{
		border-bottom: none;
		padding: 0 20px;
	}
	
	.p-and-e-area::before{
		width: 18.85vw;
		max-width: 181px;
		height: auto;
		aspect-ratio: 181 / 1102;
	}
	.p-and-e-area::after{
		width: 18.85vw;
		max-width: 181px;
		height: auto;
		aspect-ratio: 181 / 1102;
		top: unset;
		bottom: -33px;
	}
	
	.child-header .title-box .h-type-1{
		    flex-direction: column;
            gap: 18px;
	}
	
	#recruit #section2 .section-inner{
		padding-top: 160px;
	}

	
}


@media (max-width: 786px) {
	#top #section3 .section-inner ul li{
		width: 100%;
	}
}


@media (max-width: 768px) {

	#top #section4 h2,
	#top #section3 .h-type-1,
	#section2 h2 {
    flex-direction: column;
    gap: 18px;
}
	#top #section1 .section-inner, 
	#top #section2 .section-inner, 
	#top #section3 .section-inner {
        padding-left: 60px;
    }
	#top #section4 .h-box {
        margin-left: 60px;
    }
	
	.footer-inner-upper{
		padding-left: 0;
		padding-right: 0;
	}
	
	.pagetop{
		right: 20px;
	}
	.site-footer{
		padding-left: 34px;
		padding-right: 34px;
	}
	.footer-copy{
		padding: 0;
	}
	
	.hero-tugline{
		font-size: clamp(31px,7.03vw,54px);
	}
	
	
	#top #section1 .section-inner{
		padding-bottom: 22.92vw;
	}
	
	#section2 .tugline{
		font-size: clamp(23px,5.21vw,40px);
	}
	
	#top #section6 .h-type-1,
	.h-type-1{
		height: clamp(32px,7.16vw,55px);
	}
	
	.tel-link a{
		height: 6.27vw;
	}
	.tel-link::before{
		width: 6.38vw;
	}
	.tel-link {
		padding-left: 8.46vw;
	}
	.footer-contact h2{
		width: 80%;
		max-width: 328px;
	}
	.footer-contact .flex-box{
		gap: 60px;
		width: 100%;
	}
	.footer-contact .flex-box .inner-right .button {
        width: 80%;
		max-width: 384px;
	}
	#top #section2 .section-inner{
		padding-top: 26.04vw;
	}
	
	#top #section3 .section-inner{
		padding-top: 39.06vw;
		padding-bottom: 27.34vw;
        padding-right: 60px;
	}
	
	.p-and-e-area ul li .inner-right{
		padding: 40px;
	}
	
	.p-and-e-area ul{
		width: 90%;
	}
	
	#top #section4 .h-box .tugline{
		font-size: clamp(23px, 5.21vw, 40px);
	}
	#top #section5 .inner-box{
		width: 90%;
	}
	#top #section5 .inner-box .inner-left {
        padding-left: 40px;
		padding-right: 40px;
		height: auto;
        padding-bottom: 40px;
    }
	#top #section5 .inner-box .inner-left a{
		align-self: flex-end;
	}
	#top #section5 .section-inner{
		padding-bottom: 22.14vw;
		padding-top: 80px;
	}
	#top #section5 .inner-box .inner-right{
		height: auto;
	}
	
	#top #section5 .inner-box .inner-left .tugline{
		font-size: clamp(23px, 5.21vw, 40px);
	}
	#top #section4 .h-box .inner-box p:last-of-type br{
		display: none;
	}
	
	#top #section4 .pagination-bar{
        width: 60px;
	}
	
	#top #section4 .slider-outer{
		margin-bottom: 80px;
	}
	
	#top #section4 .h-box .inner-box {
        gap: 50px;
    }
	
	.list-type-1::after{
		display: none;
	}
	
	#business #section4 {
		margin-top: 100px;
	}
	
	#business #section4 .section-inner .inner-wrapper{
		padding-left: 0;
        padding-right: 0;
	}
	
	.h-type-2{
		font-size: 24px;
	}
	
	
	
	.entry-button{
		width: 100%;
		height: 100px;
		max-width: 560px;
	}
	#voice #section1 {
		margin-top: 60px;
	}

	#recruit #section1 {
		margin-top: 60px;
	}
	

	
	 .list-type-3 {
        flex-direction: column;
        align-items: center;
    }
	
	.list-type-3 li{
		width: 100%;
		max-width: 440px;
	}
	.list-type-3 .info-wrapper{
		margin-left: 0;
	}
	.info-wrapper .info-inner{
          max-width: 410px;
        width: 100%;
	}
	.list-type-3 .info-wrapper::before{
          max-width: 410px;
        width: 100%;
	}
	
	
	#recruit #section2 .section-inner::before{
		width: 87.11vw;
		top: -7.03vw;
	}
	#recruit #section2 .section-inner::after{
        width: 84.51vw;
	}
	
	#recruit #section1 .flex-box{
		gap: 50px;
	}
	#recruit #section2 {
		margin-top: 100px;
	}
	
	.info-wrapper h4{
		font-size: 26px;
	}
	
	.forsp{
		display: inline
	}
	.policy-list li p span{
		display: inline-block;
        margin-bottom: 1em;
		line-height: 1.5;
	}
	#privacy #section1{
		padding-top: 60px;
	}
	#privacy h3{
		line-height: 1.5;
	}
	
	#about #section1 {
		margin-top: 60px;
	}
	
	#company #section2 .dl-wrapper .info-item{
		flex-direction: column;
	}
	#company #section2 .dl-wrapper .info-item .info-title {
        width: 100%;
        text-align: unset;
        text-align-last: unset;
        text-justify: unset;
        word-break: unset;
		border-bottom: none;
		padding-bottom: 0;
		padding-left: 0;
    }
	#company #section2 .dl-wrapper .info-item .info-content{
		padding-right: 0;
		padding-left: 0;
	}
	
	
	#company #section3 {
		margin-top: 120px;
	}
	
	.history-timeline{
		padding-left: 0;
	}
	
	.timeline-item{
		align-items: flex-start;
        flex-direction: column;
        gap: 0;
	}
	
	.timeline-item .year{
		position: relative;
        left: 0;
	}
	.timeline-item .content {
    padding-left: 0;
    }
	
	.history-timeline::before{
		left: -30px;
	}
	.history-timeline::after{
		left: -30px;
	}
	
	.timeline-item::before{
		left: -33px;
        top: 14px;
		transform: none;
	}
	.timeline-item::after{
		width: 30px;
		left: -33px;
        top: 18px;
		transform: none;
	}
	#company #section1 {
		margin-top: 60px;
	}
	#company #section5 .address span{
		display: inline-block;
	}

	
	#contact #section-contact{
		padding-top: 60px;
	}
	
	#contact.thanks .button {
		width: 100%;
		max-width: 384px;
	}
	
	#contact.thanks .section-inner > p {
        text-align: left;
    }
	#contact.thanks #section-contact{
		padding-bottom: 0;
	}
	
	#recruit #section1 .tugline{
		font-size: clamp(30px, 7.6vw, 50px);
	}
	
	.talk-box .inner-right p br{
		display: none;
	}
	
	#voice .h-box-2{
        flex-direction: column;
	}
	#voice .h-box-2 .h-type-2{
        margin-bottom: 20px;
	}
	
	#voice .h-type-2::after{
		top: unset;
        bottom: -60px;
        transform: translate(50%, 0);
        right: 50%;
	}
	.talk-wrapper:nth-of-type(1) ,
	.talk-wrapper:nth-of-type(2),
	.talk-wrapper:nth-of-type(3),
	.talk-wrapper:nth-of-type(4),
	.talk-wrapper:nth-of-type(5),
	.talk-wrapper:nth-of-type(6){
    margin-bottom: 150px;
    }
	
	#voice #section4 .section-inner{
		width: 100%;
		margin-top: 0;
	}
	#voice #section4 .flex-box .inner-right p br{
		display: none;
	}
	
	#voice #section4 .tugline{
        font-size: clamp(28px, 5.21vw, 40px);
	}
	
	.talk-h,
	#business .swiper-slide h3{
		font-size: clamp(24px, 3.91vw, 30px);
	}
	
	#business #section4 .inner-box-1{
		margin-bottom: 0;
	}
	
	#business #section4 .inner-right{
		min-height: unset;
		margin-bottom: 0;
	}
	
	#about #section2 .section-inner::before{
		width: 14vw;
	}
	
	#company #section3 .h-type-2{
		margin-bottom: 50px;
	}
	
	#about #section1 .section-inner {
        margin-right: 0;
		margin-left: 0;
    }
	#about #section1 .section-inner{
        padding-right: 45px;
	}
	
	.inline-b{
	display: inline;
    }
	    
	

}


@media (max-width: 580px) {

	.footer-nav ul li.menu-child::before{
		display: none;
	}
	.footer-nav ul:nth-child(2), 
	.footer-nav ul:nth-child(3){
		flex-direction: column;
	}
	
	
	#top #section1 .section-inner, 
	#top #section2 .section-inner{
        padding-left: 34px;
    }
	#top #section3 .section-inner {
        padding-left: 34px;
		padding-right: 34px;
    }
	
	#top #section4 .h-box {
        margin-left: 34px;
		padding-right: 34px;
    }
	
	#top #section1 .section-inner, 
	#top #section2 .section-inner{
        padding-right: 26px;
	}
	
	#about #section2 .section-inner,
	#about #section1 .section-inner,
	#voice #section1 .section-inner,
	#voice #section2 .section-inner,
	#voice #section3 .section-inner,
	#voice #section4 .section-inner,
	.p-and-e-area .inner-box,
	#company #section4 .section-inner,
	#company #section2 .section-inner,
	#company #section1 .section-inner,
	#company #section5 .section-inner,
	#about #section3,
	#privacy #section1,
	#recruit #section1 .section-inner,
	#recruit #section2 .section-inner,
	#voice #section1 .section-inner,
	#works #section1 .section-inner,
	#business #section4 .section-inner,
	#business #section2 .section-inner,
	#business #section1,
	#top #section4 .swiper-slide .inner-right{
		padding-left: 34px;
        padding-right: 34px;
	}
	
	.child-header .title-box {
        padding-left: 34px;
    }

	
	
	
	
	.tugline-box p:nth-child(2){
        font-size: 17px;
	}
	
	#top #section2 .section-inner .inner-box p:nth-of-type(2) br{
		display: none;
	}
	
	#top #section3 .section-inner ul {
    gap: 80px;
    flex-direction: column;
    }
	.strength-wrapper{
      justify-content: center;
		padding-bottom: 95px;
    padding-right: 0;
    padding-left: 0;
    margin-left: 0;
	}
/*	#top #section3 .section-inner ul li{
		width: 320px;
	}*/
	#top #section3 .section-inner ul li:before{
		left: 50%;
    transform: translateX(-50%);
	}
	.footer-logo {
        width: 80%;
		max-width: 375px;
	}
	
	.pagetop{
        width: 80px;
	}
	
	.pagetop.is-fixed {
		bottom: 20px;
	}
	
	#top #section3 .section-inner ul li h3 {
		font-size: 22px;
	}
	
	#business #section1 .h-box br{
		display: none;
	}
	
	
	
	#business #section3 .button {
    width: 100%;
    max-width: 384px;
}
	
	
	
	
	#business #section1{
		    padding-top: 60px;
	}
	
	#business .slider-next,
	#business .slider-prev{
        bottom: -18px;
		width: 18px;
	}
	
	.footer-contact .flex-box .inner-right .button {
        width: 96%;
    }
	
	
	.child-header {
        min-height: 340px;
    }
	

	
	
	.list-type-3 li:before{
		top: -5.5%;
        left: -7.8%;
}

	
	.list-type-3 li:nth-child(1):before{
		width: 18.05%;
	}
    .list-type-3 li:nth-child(2):before{
            width: 25.37%;
        }
    .list-type-3 li:nth-child(3):before{
            width: 25.85%;
        }
	
	#about #section3 ul li{
		width: 100%!important;
	}
	
	#about #section3 ul li:nth-child(4),
	#about #section3 ul li:nth-child(6){
		display: none;
	}
	
	#contact .section-inner > p,
	.form-group{
		padding: 0;
	}
	
	
	#about #section1 .inner-wrapper .tugline br {
        display: inline;
    }
	
	
	
	#top{
		overflow: hidden;
	}
	
	.p-and-e-area .inner-box .inner-left .tugline{
		font-size: clamp(32px, 5.21vw, 40px);
	}
	
	.talk-box{
		gap: 20px;
		flex-direction: column;
	}
	.talk-box .inner-right {
        width: 100%;
    }
	
	.sticky-bg{
		position: initial;
	}

	
}


@media (max-width: 440px) {
	
	.entry-button span{
		display: none;
	}
	
	.form-group.postal .postal-ex{
		font-size: 14px;
	}
	
	#about #section2 ul li .info-wrapper h4{
		font-size: 22px;
	}

}

















