/*
 * スタイルシートのリセットと基本的な設定
 */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

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

/* 適用したい要素（bodyなど）に指定 */
.fade-in-page {
  animation: fadeIn 1.5s ease-out; /* 1.5秒かけてふわっと表示 */
}

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: #000;
    background-color: #fff;
    font-size: 16px; /* 基本フォントサイズ */
	/*overflow-x: clip;*/
	/*overflow-x: hidden;*/
	/*font-feature-settings: 'palt';*/
}

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

a:hover {
    text-decoration: none;
}


img {
    max-width: 100%;
    height: auto;
    display: block; /* 画像の下に余白ができないように */
}

ul {
    list-style: none;
}

/*
 * ヘルパークラス
 */
.container {
    margin: 0 auto;
    padding: 0;
}



.button {
    display: flex;
	justify-content: flex-start;
	align-items: center;
    background : linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
    border-radius : 45px;
    color: #fff;
    font-size: 22px;
    padding: 26px;
    transition: 0.3s ease;
	position: relative;
	width: 300px;
	height: 90px;
	margin: 0 auto;
	z-index: 1;
	cursor: pointer;
}
.button::before{
  content: "";
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  border-radius : 45px;
  background : linear-gradient(270deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
  opacity: 0;
  transition: opacity 0.5s;
  z-index: -1;
}
.button::after{
  content: '';
  display: block;
  width: 37px;
  height: 37px;
  background: url("../images/icon-arrow.svg");
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
}
.button:hover{
	text-decoration: none;
}
.button:hover::before {
  opacity: 1;
}


.green{
	color: #008c0d;
}

.blue{
	color: #007ed3;
}

.palt{
	font-feature-settings: 'palt';
}

.sp-image{
	display: none;
    }

#main-content [id] {
  scroll-margin-top: 80px;
}
#service{
  scroll-margin-top: 200px!important;
}
#service-02{
  scroll-margin-top: 140px!important;
}


/*
 * ヘッダー
 */
.site-header {
	width: 100%;
    height: 80px;
    background: #fff;
	position: fixed;
    top: 0;
    left: 0;
	z-index: 999;
}

.site-header .container {
	max-width: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 6px 0 20px;
	padding: 0;
	
}

.site-logo {
	width: 255.0467px;
    /*aspect-ratio: 255.0467 / 70;*/
}

.site-logo a {
	display: block;
    width: 100%;
	height: 100%;
}


.main-nav{
	/*width: calc(1096.6211 / 1920 * 100vw);*/
}

.main-nav ul {
    display: flex;
	justify-content: space-between;
	align-items: center;
	/*gap: 2vw;*/
	gap: 66px;
	height: 80px;
}

.main-nav li{
	position: relative;
	z-index: 1;
	transition: 0.3s;
}

.main-nav li::before{
	content: '';
	display: block;
	width: 90px;
	height: 44.4578px;
    background : linear-gradient(90deg, rgba(178, 220, 182, 1) 0%, rgba(199, 229, 201, 1) 6.63%, rgba(223, 241, 225, 1) 16.81%, rgba(241, 249, 242, 1) 27.47%, rgba(252, 253, 252, 1) 38.8%, rgba(255, 255, 255, 1) 51.97%, rgba(252, 254, 255, 1) 66.71%, rgba(244, 249, 253, 1) 76.29%, rgba(229, 242, 251, 1) 84.41%, rgba(208, 231, 247, 1) 91.71%, rgba(181, 218, 242, 1) 98.4%, rgba(173, 214, 241, 1) 100%);
    border-radius : 44px 0px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 0;
	opacity: 0;
	transition: 0.3s;
}
.main-nav li:hover::before{
	opacity: 1;
}

.main-nav li:nth-child(1) {
	margin-right: 30px;
}

.main-nav a {
    color: #434750;
	font-size: 16px;
    font-weight: 400;
	position: relative;
	z-index: 2;
}

.main-nav a:hover {
	text-decoration: none;
}

.main-nav li .sub-menu{
	position: absolute;
    top: 100%;          
    left: 50%;
	transform: translateX(-50%);
    z-index: 10;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	width: fit-content;
	height: fit-content;
	margin-top: 15px;
	gap: 15px;
	flex-direction: column;
}
.main-nav li:hover > .sub-menu{
	opacity: 1;
	visibility: visible;
}
.main-nav li .sub-menu > li{
	margin-right: 0;
	width: 176px;
    height: 48px;
}
.main-nav li .sub-menu > li:hover::before{
	display: none;
}
.main-nav li .sub-menu > li > a{
    background : linear-gradient(90deg, rgba(178, 220, 182, 1) 0%, rgba(199, 229, 201, 1) 6.63%, rgba(223, 241, 225, 1) 16.81%, rgba(241, 249, 242, 1) 27.47%, rgba(252, 253, 252, 1) 38.8%, rgba(255, 255, 255, 1) 51.97%, rgba(252, 254, 255, 1) 66.71%, rgba(244, 249, 253, 1) 76.29%, rgba(229, 242, 251, 1) 84.41%, rgba(208, 231, 247, 1) 91.71%, rgba(181, 218, 242, 1) 98.4%, rgba(173, 214, 241, 1) 100%);
    border-radius : 24px;
	width: 100%;
	height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
	position: relative;
}
.main-nav li .sub-menu > li > a::before{
  content: "";
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  border-radius : 45px;
  background : linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
  opacity: 0;
  transition: opacity 0.5s;
  z-index: -1;
}
.main-nav li .sub-menu > li:hover > a{
	color: #fff;
}
.main-nav li .sub-menu > li:hover > a::before{
	opacity: 1;
}

.nav-contact a{
	width: 156px;
	height: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px;
	background : linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
	border-radius: 24px;
	transition: 0.3s all;
	position: relative;
	z-index: 1;
	color: #fff;
	font-weight: 300;
}
.nav-contact a::before{
  content: "";
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  border-radius : 45px;
  background : linear-gradient(270deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
  opacity: 0;
  transition: opacity 0.5s;
  z-index: -1;
}
.nav-contact a:hover::before {
  opacity: 1; /* ホバーで表示 */
}


.nav-contact:hover a{
	opacity: 1;
}

.menu-toggle { /* ハンバーガーメニューボタン（モバイル用） */
    display: none; /* デスクトップでは非表示 */
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    position: relative;
    z-index: 1001;
}

.menu-toggle span {
    display: block;
    width: 38px;
    height: 2px;
    background-color: #fff;
    margin-bottom: 13px;
    transition: all 0.3s ease;
}

.menu-toggle span:last-child {
    margin-bottom: 0;
}

/*
 * メインコンテンツのセクション
 */

body#top-page,
body#business,
body#interview{
	overflow-x: hidden;
}


#hero {
    margin-top: 80px;
    position: relative;
    /* 元のデザイン通り、疑似要素の下方向のはみ出し分を考慮したマージン */
    margin-bottom: 5.625vw; 
    width: 100%;
    /* ここで overflow をかけないことで、下方向の疑似要素を表示させる */
    overflow: visible; 
}

.video-area {
    position: relative;
    /* 1920px時の左余白 (264.449px相当) */
    margin-left: 13.773vw; 
    /* 1920px時は親の幅に追従 */
    width: 100%;
    max-width: 1655.5509px;
    /* 内部での overflow を廃止してスクロールバーを消す */
}

.video-area:after {
    content: '';
    position: absolute;
    /* 元の数値通り、動画の下へはみ出させる */
    bottom: -5.625vw;
    right: -1.198vw; 
    background: url("../images/video-wrapper-back.svg") no-repeat;
    background-size: contain;
    width: 97.5vw;
    max-width: 1872px;
    aspect-ratio: 1872 / 879;
    z-index: -1;
}

.video-wrapper {
    width: 100%;
    aspect-ratio: 1655.5509 / 931.2474; 
    border-radius: 37.118vw 0 34.221vw 0;
    overflow: hidden; 
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    transform: translateZ(0);	
    z-index: 1;
    position: relative;
}

.video-wrapper video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: #eee;
}

/* --- 1920px以下（1919px〜）の制御 --- */
@media screen and (max-width: 1919px) {
    .video-area {
        /* 左余白を固定(264.449px)し、動画を右へ押し出す */
        margin-left: 264.449px !important;
        /* 幅を1920px時のpx値で固定。これで右側が画面外へ突き抜けます */
        width: 1655.5509px !important;
        min-width: 1655.5509px !important;
    }

    .video-area:after {
        /* 疑似要素も1920px時の数値でpx固定 */
        right: -23px !important;
        bottom: -108px !important;
        width: 1872px !important;
    }
    
    .video-wrapper {
        border-radius: 712.6px 0 657px 0 !important;
    }
}

/*#hero{
	margin-top: 80px;
	position: relative;
	margin-bottom: 5.625vw;
}


.video-area{
	position: relative;
}

.video-area:after{
	content:'';
	position: absolute;
	bottom: -5.625vw;
	right: -1.198vw;
	background: url("../images/video-wrapper-back.svg");
	background-repeat: no-repeat;
	width: 97.5vw;
	max-width: 1872px;
	aspect-ratio: 1872 / 879;
	z-index: -1;
}

.video-wrapper {
  width: 86.227vw;
  max-width: 1655.5509px;
  aspect-ratio: 1655.5509 / 931.2474;
  border-radius: 37.118vw 0 34.221vw 0;
  overflow: hidden; 
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  transform: translateZ(0);	
	z-index: 1;
	position: relative;
	margin-left: auto;
}


.video-wrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-color: #eee;
}
*/





.top-copy{
	position: absolute;
	top:40px;
	left: 33px;
	z-index: 3;
}


#top-about-us{
	margin-bottom: 88px;
}

#top-about-us .content-wrapper{
	width: 89.0625vw;
	max-width: 1710px;
}

#top-page .title-box{
	margin-left: clamp(1px,16.146vw,310px);
}

#top-page h2{
	color: #1b1464;
	font-size: 90px;
	font-weight: 200;
	position: relative;
	line-height: 1;
	margin-top: 150px;
}
#top-page h2:before{
	content:'';
	position: absolute;
	top: -80px;
	left: -74px;
	background: url("../images/deco-01.svg");
    background-repeat: no-repeat;
    background-size: contain;
	width: 201px;
	aspect-ratio: 201 / 128.9277;
	z-index: -1;
}
.sub{
	color: #000;
	font-size: 26px;
	font-weight: 400;
	display: block;
	line-height: 1;
}
#top-about-us .sub{
	margin-top: 44px;
}

#top-about-us .inner-left{
	width: 50%;
}

#top-about-us .inner-right{
	background: #ffe9d9;
	width: 50%;
	border-radius: 30px;
	padding: 85px 85px 65px;
	display: flex;
	flex-direction: column;
	position: relative;
}
#top-about-us .inner-right::before{
	content:'';
	position: absolute;
	top: -250px;
	right: -184px;
	background: url("../images/deco-02.svg");
	background-repeat: no-repeat;
    background-size: contain;
	width: 349px;
	aspect-ratio: 349 / 360.6776;
	z-index: 1;
}


#top-about-us  .inner-right img{
	margin-bottom: 50px;
	position: relative;
	z-index: 2;
}


#top-about-us  .inner-right h3{
	color: #1b1464;
	font-size: 42px;
	font-weight: 500;
	font-family: "Noto Serif JP", serif;
	margin-bottom: 20px;
}


#top-about-us .content-wrapper{
	display: flex;
}


#top-about-us .inner-flex{
	display: flex;
	margin-top: 60px;
	gap: 30px;
	justify-content: center;
}



#top-service .content-wrapper{
	width: 100%;
	background : linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
	background-position: center;
	position: relative;
	border-radius: 40.87546875vw 0 0 0;
	display: flex;
    flex-direction: column;
	padding-bottom: 60px;
}

#top-service .content-wrapper::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-image: url("../images/top-service-back.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 40.87546875vw 0 0 0;
	z-index: 2;
}
#top-service .content-wrapper::after{
	content: '';
	position: absolute;
	top: -30px;
	left: 6.354vw;
	background-image: url("../images/top-service-01.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 29.948vw;
	max-width: 575px;
	height: auto;
	aspect-ratio: 575 / 345;
	z-index: 3;
}

.title-box-wrapper{
	position: relative;
	z-index: 3;
	top: 70px;
	left: 38.802vw;
	height: 244px;
}

#top-service .title-box{
	display: flex;
	position: absolute;
	margin-left: 0;
	color: #fff;
	gap: 90px;
}


#top-service h2{
	color: #fff;
	font-size: 50px;
	margin-top: 0;
}
#top-service h2::before{
	display: none;
}
#top-service .sub{
	color: #fff;
	line-height: 1;
	margin-top: 20px;
}
#top-service .title-box p{
	font-size: 27px;
	line-height: 1.75;
}

.top-service-copy{
	width: 720px;
	height: 150px;
	display: flex;
	justify-content: center;
	align-items: center;
	background : linear-gradient(270deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
	border-radius: 72.058px;
	position: relative;
	z-index: 3;
	color: #fff;
	align-self: center;
	font-size: 26px;
}

.top-service-copy::before{
	content: '';
	background-image: url("../images/slash.svg");
	background-repeat: no-repeat;
	width: 17px;
	height: auto;
	aspect-ratio: 17 / 36;
	margin-right: 20px;
    margin-top: 17px;
}
.top-service-copy::after{
	content: '';
	background-image: url("../images/slash.svg");
	background-repeat: no-repeat;
	width: 17px;
	height: auto;
	aspect-ratio: 17 / 36;
	margin-left: 20px;
    margin-top: 17px;
}

.service-list-wrapper{
	display: flex;
	justify-content: center;
	margin-top: 20px;
	gap: 32px;
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 1300px;
	margin: 20px auto;
}
.service-list{
	width: 633px;
	background: #fff;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 110px 38px 54px;
	position: relative;
}

.service-list-wrapper .service-list:nth-of-type(1):before{
	content: '';
	background-color: #fff;
	background-image: url("../images/top-service-01.svg");
	background-repeat: no-repeat;
	background-size: 98px;
	background-position: center bottom;
	width: 311px;
	height: 148px;
	position: absolute;

	top: -50px;
	border-radius: 51px 51px 0 0;
}
.service-list-wrapper .service-list:nth-of-type(2):before{
	content: '';
	background-color: #fff;
	background-image: url("../images/top-service-02.svg");
	background-repeat: no-repeat;
	background-size: 119px;
	background-position: center bottom;
	width: 311px;
	height: 148px;
	position: absolute;
	top: -50px;
	border-radius: 51px 51px 0 0;
}



.service-list-inner-01{
	display: flex;
	align-items: center;
	gap: 68px;
	width: 100%;
	justify-content: center;
	position: relative;
}

.service-list-wrapper .service-list:nth-of-type(1) .service-list-inner-01:before{
	content: '';
	background-image: url("../images/number-01.svg");
	background-repeat: no-repeat;
	background-size: contain;
    background-position: center;
	width: 50.9004px;
	height: 54.8994px;
	position: absolute;
	left: 0;
}
.service-list-wrapper .service-list:nth-of-type(2) .service-list-inner-01:before{
	content: '';
	background-image: url("../images/number-02.svg");
	background-repeat: no-repeat;
	background-size: contain;
    background-position: center;
	width: 64.4492px;
	height: 54.8994px;
	position: absolute;
	left: 0;
}

.service-list-inner-01 h3{
	font-size: 25px;
	font-weight: 300;
}


/*.service-list-inner-01 img{
	width: 50.9004px;
	height: 36.9019px;
}*/

.service-list ul{
	display: flex;
	gap: 6px;
	margin-top: 30px;	
}
.service-list ul li{
	font-size: 20px;
	color: #fff;
	background: #007ed3;
	width: 180px;
	height: 50px;
	border-radius: 25px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.service-list .etc{
	margin-bottom: 25px;
	align-self: flex-end;
}

.service-list-wrapper .service-list .button{
	font-size: 16px;
	height: 50px;
}
.service-list-wrapper .service-list .button::after{
	width: 26px;
	height: 26px;
}

.service-list-wrapper .service-list:nth-of-type(2) .button{
	width: 331px;
}
.service-list-wrapper .service-list:nth-of-type(1) .button{
	width: 261px;
}


#top-news{
	background: #f4f4f5;
	display: flex;
	flex-direction: column;
	/*align-items: center;*/
	padding: 120px 0 136px
}
#top-news .content-wrapper{
	/*width: 1350px;*/
	display: flex;
	margin-left: clamp(1px, 16.146vw, 310px);
	min-height: 360px;
}
#top-news .content-wrapper .inner-left{
	width: 440px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-bottom: 32px;
}
#top-news .title-box{
	margin-left: 0;
}
#top-csr h2,
#top-news h2{
	margin-top: 0;
	margin-bottom: 45px;
	z-index: 1;
}
#top-csr h2::before,
#top-news h2:before{
	top: -36px;
    left: -82px;
	width: 201px;
	height: 128.9277px;
}


#top-news .content-wrapper .inner-right{
	width: 890px;
}

#top-news .content-wrapper .inner-right .news-list li{
	background: #fff;
	min-height: 160px;
	/*padding: 36px 104px 36px 37px;*/
	border-bottom: solid 1px #cccccc;
	position: relative;
}
#top-news .content-wrapper .inner-right .news-list li:last-of-type{
	border-bottom: none;
}



#top-news .content-wrapper .inner-right .news-list li::after{
	content: '';
    display: block;
    width: 37px;
    height: 37px;
    background: url(../images/icon-arrow.svg);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 37px;
    transform: translateY(-50%);
}

#top-news .button{
	width: 300px;
	height: 50px;
	font-size: 16px;
	margin: 0;
}
#top-news .button::after{
	width: 26px;
	height: 26px;
}

#up_ymd,
.up_ymd{
	margin-right: 24px;
	font-size: 14px;
}
#catName,
.catName{
	font-size: 14px;
	color: #4cb2ee;
	line-height: 1;
	height: 27px;
	border: solid 1px #4cb2ee;
	padding: 4px 16px;
	display: inline-block;
	border-radius: 13.5px;
}
.news-list li .date-and-title{
	margin-bottom: 20px;
}
.news-list li a{
	color: #000;
	display: block;
    width: 100%;
	padding: 29px 120px 29px 50px;
}
.news-list li a .title{
	display: block;
    width: 100%;
	overflow-wrap: break-word;
    word-break: break-all;
}

#top-csr{
	background-image: url("../images/top-csr-back.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right;
	padding-top: 255px;
	padding-bottom: 84px;
	display: flex;
	flex-direction: column;
	align-items: center;
	border-bottom: solid 8px #f7f6f4;
}

#top-csr .content-wrapper{
	width: 1400px;
	display: flex;
	flex-direction: column;
	padding: 0 50px;
}
#top-csr .content-wrapper ul{
	display: flex;
	gap: 84px;
}
#top-csr .content-wrapper ul li{
	background: #fff;
	display: flex;
	width: 600px;
	height: 280px;
}
#top-csr .content-wrapper ul li a{
	display: flex;
	width: 100%;
	height: 100%;
	color: #000;
	font-size: 22px;
	text-decoration: none;
	align-items: center;
	position: relative;
}


#top-csr .sub{
	margin-bottom: 80px;
}
#top-csr p{
	margin-bottom: 80px;
	margin-left: 45px;
	line-height: 1.56;
}


#top-csr .content-wrapper ul li a .hover-back{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	position: relative;
}
#top-csr .content-wrapper ul li a .hover-back::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(56.8deg, rgba(178, 220, 182, 1) 0%, rgba(199, 229, 201, 1) 6.63%, rgba(223, 241, 225, 1) 16.81%, rgba(241, 249, 242, 1) 27.47%, rgba(252, 253, 252, 1) 38.8%, rgba(255, 255, 255, 1) 51.97%, rgba(252, 254, 255, 1) 66.71%, rgba(244, 249, 253, 1) 76.29%, rgba(229, 242, 251, 1) 84.41%, rgba(208, 231, 247, 1) 91.71%, rgba(181, 218, 242, 1) 98.4%, rgba(173, 214, 241, 1) 100%);
    opacity: 0;
    transition: opacity 0.5s;
    z-index: 0;
}
#top-csr .content-wrapper ul li a:hover .hover-back::before {
    opacity: 1;
}



#top-csr .content-wrapper ul li a span{
	display: inline-block;
	margin-left: 45px;
	z-index: 3;
	line-height: 1.5;
}

#top-csr .content-wrapper ul li a::after{
	content: '';
    display: block;
    width: 37px;
    height: 37px;
    background: url(../images/icon-arrow.svg);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}



#top-profile{
	padding-top: 140px;
	padding-bottom: 210px;
	overflow-x: hidden;
	position: relative;
}


#top-profile .content-wrapper{
	width: 100%;
	max-width: 1488px;
	margin-left: clamp(1px, 16.146vw, 310px);
}

#top-profile .title-wrapper{
	display: flex;
	justify-content: space-between;
    align-items: center;
	margin-bottom: 90px;
}

#top-profile .title-wrapper .overflow-image-box{
	width: 1080px;
	aspect-ratio: 1080 / 270;
	flex-shrink: 0;
}




#top-profile .title-box{
	margin-left: 0;
	margin-right: 75px;
}

#top-profile .title-box h2{
	margin-top: 0;
	margin-bottom: 45px;
}

#top-profile .title-box h2::before{
	top: -36px;
    left: -82px;
    width: 201px;
    height: 128.9277px;
}

#top-profile .title-box .sub{
	margin-bottom: 55px;
}

#top-profile p{
	font-size: 36px;
	font-weight: 500;
	line-height: 1.67;
	font-family: "Noto Serif JP", serif;
	color: #0d2a65;
}

#top-profile .flex-box{
	display: flex;
	align-items: center;
}

#top-profile .button{
	width: 420px;
	height: 91px;
	margin-left: 242px;
	margin-right: 0;
}




#top-recruit{
	position: relative;
	background: rgba(247, 246, 244, 1);
}


.line-top-box{
	width: 100%;
	height: 64px;
	display: flex;
	align-items: center;
  background : linear-gradient(90deg, rgba(247, 246, 244, 1) 0%, rgba(255, 255, 255, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F7F6F4',endColorstr='#FFFFFF' , GradientType=1);
}
.line-top{
	width: 100%;
	height: 18px;
  background : linear-gradient(90deg, rgba(224, 241, 226, 1) 3.2%, rgba(219, 237, 249, 1) 12.56%, rgba(247, 246, 244, 1) 25.62%, rgba(255, 255, 255, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#E0F1E2',endColorstr='#FFFFFF' , GradientType=1);
}
.line-bottom-box{
	width: 100%;
	height: 64px;
	display: flex;
	align-items: center;
  background : linear-gradient(-90deg, rgba(247, 246, 244, 1) 0%, rgba(255, 255, 255, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F7F6F4',endColorstr='#FFFFFF' , GradientType=1);
}
.line-bottom{
	width: 100%;
	height: 18px;
  background : linear-gradient(-90deg, rgba(224, 241, 226, 1) 3.2%, rgba(219, 237, 249, 1) 12.56%, rgba(247, 246, 244, 1) 25.62%, rgba(255, 255, 255, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#E0F1E2',endColorstr='#FFFFFF' , GradientType=1);
}

#top-recruit .content-wrapper{
	padding-top: 77px;
	width: 100%;
	max-width:  1430px;
	display: flex;
	padding-bottom: 82px;
	margin-left: clamp(1px, 16.146vw, 310px);
}

#top-recruit h2{
	color: #d6eaf8;
	font-size: 158.38px;
	margin-bottom: 88px;
	margin-top: 0;
	margin-left: -115px;
}

#top-recruit h2::before{
	display: none;
}
#top-recruit p{
	width: 348.5px;
}


#top-recruit .tug-line{
	font-size: 50px;
	font-weight: 500;
	line-height: 1.5;
	font-family: "Noto Serif JP", serif;
	color: #0d2a65;
	margin-bottom: 75px;
}
#top-recruit .inner-right{
	width: 48.051vw;
	max-width: 922.5698px;
	margin-left: 28px;
}
#top-recruit .button{
	width: 420px;
	height: 90.38px;
	margin-top: -24px;
	margin-left: 322px;
}

#footer-contact-area{
	padding: 56px 50px 60px;
	display: flex;
    justify-content: center;
}

#footer-contact-area .content-wrapper{
	width: 100%;
	max-width: 1820px;
  border: 1px solid transparent;
  border-radius : 396px 0px;
  background-image: 
    linear-gradient(#fff, #fff), 
    linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(26, 152, 38, 1) 2.44%, rgba(79, 176, 88, 1) 7.87%, rgba(126, 197, 133, 1) 13.52%, rgba(166, 215, 170, 1) 19.27%, rgba(198, 229, 201, 1) 25.15%, rgba(223, 241, 225, 1) 31.21%, rgba(241, 249, 242, 1) 37.5%, rgba(252, 253, 252, 1) 44.2%, rgba(255, 255, 255, 1) 51.97%, rgba(252, 254, 255, 1) 61.93%, rgba(244, 249, 253, 1) 68.41%, rgba(229, 242, 250, 1) 73.9%, rgba(208, 231, 247, 1) 78.85%, rgba(180, 217, 242, 1) 83.41%, rgba(147, 200, 236, 1) 87.71%, rgba(107, 180, 229, 1) 91.8%, rgba(60, 157, 221, 1) 95.71%, rgba(10, 131, 213, 1) 99.37%, rgba(0, 126, 211, 1) 100%);
  background-origin: border-box;
  background-clip: padding-box, border-box;
	padding-top: 130px;
	padding-left: clamp(1px, 13.542vw, 260px);
	padding-right: clamp(1px, 16.146vw, 310px);
	padding-bottom: 100px;
}

.contact-inner-01{
	display: flex;
	justify-content: space-between;
}


#footer-contact-area h2{
	margin-top: 0;
	margin-bottom: 67px;
	z-index: 1;
	color: #1b1464;
    /*font-size: 90px;*/
	font-size: clamp(40px, 10vw, 90px);
    font-weight: 200;
    position: relative;
    line-height: 1;
}
#footer-contact-area h2::before{
	left: -78px;
	top: -40px;
    content: '';
    position: absolute;
    background: url(../images/deco-01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 201px;
    aspect-ratio: 201 / 128.9277;
    z-index: -1;
}

#footer-contact-area .sub{
	margin-bottom: 24px;
}

.area-box{
	background: #eceef3;
	width: 609px;
	height: 100px;
	padding: 25px 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
	/*margin-left: clamp(1px,13.021vw,250px);*/
}

.area-box span{
	color: #007ed3;
	font-size: 20px;
	display: inline-block;
	align-self: flex-start;
    line-height: 1;
	
}
.area-box p{
	font-size: 18px;
	line-height: 1.75;
}

#footer-contact-area p.center{
	    margin: 0 auto;
    width: fit-content;
	font-size: 22px;
	margin-bottom: 60px;
}


#footer-contact-area .flex-box{
	width: 100%;
	display: flex;
	justify-content: center;
	position: relative;
	justify-self: center;
}


#footer-contact-area .tel-button{
	color: #000;
	font-weight: 300;
	pointer-events: none;
	padding-top: 12px;
	min-width: 500px;
	border-right: solid 1px  #e5e5e5;
}

#footer-contact-area .tel-button p{
	font-size: 56px;
	position: relative;
	display: flex;
	align-items: center;
	line-height: 1;
	padding-left: 75px;
	margin-bottom: 24px;
}
#footer-contact-area .tel-button p::before{
	content: '';
    display: block;
    width: 47px;
    height: 47px;
    background: url(../images/icon-tel.svg);
    border-radius: 50%;
	position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
}
#footer-contact-area .mini{
	padding-left: 75px;
}



#footer-contact-area .contact-button{
	margin: 0;
	width: 500px;
	height: 110px;
	border-radius: 55px;
	margin-left: 40px;
}

#footer-contact-area .contact-button.button::before{
	border-radius: 55px;
}


#footer-contact-area .contact-button::after{
	right: 30px;
}

#footer-contact-area .contact-button span{
	margin-left: 78px;
}

#footer-contact-area .contact-button span::before{
	content: '';
    display: block;
    width: 47px;
    height: 47px;
    background: url(../images/icon-mail.svg);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
}



.pagetop-area{
	width: 100%;
	height: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	background : linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
}
.pagetop-area a{
	width: 100%;
    height: 100%;
    line-height: 1;
    color: #fff;
    font-size: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}






.footer-info-area{
  background : linear-gradient(45deg, rgba(255, 255, 255, 1) 0%, rgba(247, 246, 244, 1) 74.38%, rgba(219, 237, 249, 1) 87.44%, rgba(224, 241, 226, 1) 96.8%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF',endColorstr='#E0F1E2' , GradientType=1);
}

.footer-info-area .content-wrapper{
	background: url("../images/footer-back.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 30.541vw;
}

.footer-inner{
	padding-top: 164px;
	display: flex;
	justify-content: center;
	padding-bottom: 80px;
}


.footer-logo{
	display: block;
	width: 446.7375px;
	/*height: 87.535px;*/
	margin-left: -10px;
    height: fit-content;
}

.footer-inner-box-01{
	width: 1000px;
}

.footer-info-box{
	display: flex;
	margin-top: 230px;
	margin-bottom: 68px;
}

.footer-info-box li{
	width: 322px;
	min-height: 120px;
	border-right: solid 1px #000;
	padding-left: 55px;
	padding-top: 7px;
}
.footer-info-box li:nth-child(1){
	padding-left: 0;
	width: 252px;
}
.footer-info-box li:last-child{
	border-right: none;
}

.footer-info-title{
	display: inline-block;
	margin-bottom: 25px;
	line-height: 1;
}


.footer-inner-box-02{
	min-width: 630px;
}
.footer-nav-wrapper{
	display: flex;
	margin-bottom: 126px;
	gap: 58px;
	justify-content: flex-end;
}

.footer-nav{
	width: 170px;
}

.footer-nav:nth-child(1){
  width: calc(170px - 4.5em);
}

.footer-nav li{
	margin-bottom: 40px;
}

.footer-nav li a{
	color: #000;
	font-size: 18px;
	font-weight: 300;
	line-height: 1;
    width: fit-content;
}
.footer-nav li.group{
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.footer-nav li.group a{
	display: inline-block;
	font-size: 14px;
	position: relative;
	padding-left: 18px;
	line-height: inherit;
}
.footer-nav li.group a:nth-child(1){
	font-size: 18px;
	padding-left: 0;
	/*margin-bottom: 12px;*/
}

.footer-nav li.group a:nth-child(n+2){
	line-height: 1;
}

.footer-nav li.group a::before{
	content: '';
	background: #0097cc;
	width: 8px;
	height: 8px;
	border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.footer-nav li.group a:nth-child(1)::before{
	display: none;
}




.footer-inner-box-03{
	display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.sanpai-kun{
	display: block;
	width: 320px;
	aspect-ratio: 320 / 96;
}

.footer-inner-box-03-inner{
	margin-bottom: 24px;
	display: flex;
	gap: 60px;
}

.footer-inner-box-03-inner a{
	color: #666;
	display: inline-block;
	font-size: 14px;
}

footer .copy{
	margin-left: -30px;
	font-size: 12px;
}

.copy-sp{
		display: none;
	}




/*
 * 子ページ
 */

.child-header{
	width: 100%;
    height: 539px;
    background-size: auto;
    background-repeat: no-repeat;
    background-position: left 310px top;
    margin-top: 121px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 50px;
    margin-bottom: 190px;
	max-width: 1920px;
}

#about_us .child-header{
	background-image: url("../images/header-about_us.png");
}
#business .child-header{
	background-image: url("../images/header-business.png");
}
#voice .child-header{
	background-image: url("../images/header-voice.png");
}
#csr .child-header{
	background-image: url("../images/header-csr.png");
}
#overview .child-header{
	background-image: url("../images/header-overview.png");
}
#message .child-header{
	background-image: url("../images/header-message.png");
}
#history .child-header{
	background-image: url("../images/header-history.png");
}

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

#contact .child-header{
	background-image: url("../images/header-contact.png");
}
#news .child-header{
	background-image: url("../images/header-news.png");
}
#privacy .child-header{
	background-image: url("../images/header-privacy.png");
}



.child-header .title-warpper{
	width: 100%;
	height: 100%;
	max-width: 1600px;
}

.child-header .title-box{
	width: fit-content;
	
}

.child-header .title-box h2{
	color: #1b1464;
    font-size: 120px;
    font-weight: 200;
    position: relative;
    line-height: 1;
	margin-top: 175px;
}

.child-header .sub{
	margin-top: 40px;
}

.child .sub{
	margin-top: 23px;
}


.main-nav li.current::before{
	opacity: 1;
}

.main-nav li.current > .sub-menu.sub-current{
	/*opacity: 1;*/
    visibility: visible;
}
.main-nav li.current > .sub-menu.sub-current > .ch-current > a{
	color: #fff;
}
.main-nav li.current > .sub-menu.sub-current > .ch-current > a::before{
	    opacity: 1;
}


.child h3{
	color: #1b1464;
    font-size: 80px;
    font-weight: 100;
    position: relative;
    line-height: 1;
	z-index: 1;
}
.child h3:before {
	content: '';
    position: absolute;
    /*top: -75px;*/
	bottom: 21px;
    left: -74px;
    width: 180px;
	aspect-ratio: 180 / 114;
    z-index: -1;
	background: url(../images/deco-01.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.child .tug-line{
	color: #1b1464;
    font-size: 42px;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    /*margin-bottom: 54px;*/
	margin-bottom: 34px;
	line-height: 1.75;
	display: block;
}



/*当社について///////////////////////////////////////*/

#about_us .child-header{
  margin-bottom: 247px;
}

#about_us #content-01{
	background: url("../images/vision-back.png");
	background-size: 1249.2878px;
    background-repeat: no-repeat;
    background-position: left -120px top 50px;
}

#about_us #content-01 .content-wrapper{
    width: 100%;
    max-width: 1300px;
	display: flex;
    padding: 0 50px;
    margin: 0 auto;
	justify-content: space-between;
}

#about_us #content-01 .content-wrapper .inner-right{
	width: 720px;
}

#about_us #content-01 .content-wrapper .inner-right p{
	margin-bottom: 50px;
}
#about_us #content-01 .content-wrapper .inner-right p:last-child{
	margin-bottom: 0;
}

.image-container{
	width: 100%;
	display: flex;
    gap: 10px;
	margin-top: 110px;
}
.image-container img {
  flex: 1;
  width: 100%;
  aspect-ratio: 630 / 457;
  object-fit: cover;
	min-width: 0;
}


#about_us #content-02{
	padding-top: 250px;
	padding-bottom: 150px;
}
#about_us #strength-02{
	padding-bottom: 300px;
}

#about_us #strength-01,
#about_us #strength-03{
	background: #f4f4f5;
	padding-bottom: 105px;
}
#about_us #content-02 .title-box,
#about_us #content-04 .title-box{
	width: 100%;
    max-width: 1300px;
    padding: 0 50px;
    margin: 0 auto 200px;
}

#about_us #strength-01 .content-wrapper-inner,
#about_us #strength-02 .content-wrapper-inner,
#about_us #strength-03 .content-wrapper-inner,
#about_us #strength-04 .content-wrapper-inner{
/*	width: 1560px;*/
	display: flex;
	gap: 90px;
	margin-bottom: -27px;
}
#about_us #strength-02 .content-wrapper-inner,
#about_us #strength-04 .content-wrapper-inner{
	justify-content: flex-end;
	padding-top: 277px;
}

#about_us #strength-01 .inner-left,
#about_us #strength-02 .inner-right,
#about_us #strength-03 .inner-left,
#about_us #strength-04 .inner-right{
	width: 910px;
	aspect-ratio: 910 / 510;
}

#about_us #strength-01 .inner-left video,
#about_us #strength-02 .inner-right video,
#about_us #strength-03 .inner-left img,
#about_us #strength-04 .inner-right img{
	width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: #eee;
	    margin-top: -127px;
}


#about_us #strength-01 .inner-right,
#about_us #strength-02 .inner-left,
#about_us #strength-03 .inner-right,
#about_us #strength-04 .inner-left{
	/*max-width:  688.1348px;*/
	max-width:  540px;
}

#about_us #strength-01 .ex-title,
#about_us #strength-03 .ex-title{
	/*font-size: 115.4px;*/
	font-size: clamp(46px,11.7vw,115.4px);
	color: #d6eaf8;
	font-weight: 100;
	line-height: 1;
	position: relative;
    z-index: 2;
    margin-top: -80px;
    margin-left: -120px;
    margin-bottom: 55px;
    display: block;
}
#about_us #strength-02 .ex-title,
#about_us #strength-04 .ex-title{
	font-size: clamp(46px,11.7vw,115.4px);
	color: #d6eaf8;
	font-weight: 100;
	line-height: 1;
	position: relative;
    z-index: 2;
    margin-top: -80px;
    margin-right: -120px;
    margin-bottom: 55px;
    display: block;
}

#about_us #strength-03 .inner-right p{
	max-width: 510px;
}

#about_us #content-02 .tug-line{
	margin-bottom: 22.5px;
	font-size: 33px;
}

#about_us .point-wrapper{
    width: 100%;
    max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
#about_us .point-wrapper li{
	width: 580px;
	border: 2.2436px solid transparent;
	border-radius: 20px;
    background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(26, 152, 38, 1) 2.44%, rgba(79, 176, 88, 1) 7.87%, rgba(126, 197, 133, 1) 13.52%, rgba(166, 215, 170, 1) 19.27%, rgba(198, 229, 201, 1) 25.15%, rgba(223, 241, 225, 1) 31.21%, rgba(241, 249, 242, 1) 37.5%, rgba(252, 253, 252, 1) 44.2%, rgba(255, 255, 255, 1) 51.97%, rgba(252, 254, 255, 1) 61.93%, rgba(244, 249, 253, 1) 68.41%, rgba(229, 242, 250, 1) 73.9%, rgba(208, 231, 247, 1) 78.85%, rgba(180, 217, 242, 1) 83.41%, rgba(147, 200, 236, 1) 87.71%, rgba(107, 180, 229, 1) 91.8%, rgba(60, 157, 221, 1) 95.71%, rgba(10, 131, 213, 1) 99.37%, rgba(0, 126, 211, 1) 100%);
    background-origin: border-box;
    background-clip: padding-box, border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 44px 34px;
	min-height: 420px;
}

#about_us .point-wrapper li img{
	height: 162px;
	width: auto;
	display: block;
	margin-bottom: 30px;
}

#about_us .point-wrapper li h4{
	color: #1b1464;
    /*font-size: 32px;*/
	font-size: clamp(20px, 4vw, 32px);
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 34px;
    line-height: 1;
    display: block;
}

#about_us #content-03{
	margin-bottom: 304px;
}

#about_us #content-03 .content-wrapper{
	width: 100%;
    background: linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
    background-position: center;
    position: relative;
    border-radius: 0 28.58vw 0 0;
    display: flex;
    flex-direction: column;
}
#about_us #content-03 .content-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/top-service-back.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto;
    border-radius: 0 28.58vw 0 0;
    z-index: 2;
}
#about_us #content-03 .content-wrapper-inner{
	z-index: 3;
	max-width:1400px;
	padding: 164px 65px 0;
	margin: 0 auto;
    position: relative;
}

#about_us #content-03 .title-box{
	margin-left: 35px;
	margin-bottom: 85px;
}

#about_us #content-03 h3{
	color: #fff;
}
#about_us #content-03 h3::before{
	display: none;
}
#about_us #content-03 .sub{
	color: #fff;
}

#about_us #content-03 .content-wrapper .button-wrapper{
	position: absolute;
	top: 238px;
	right: 100px;
}

#about_us #content-03 .content-wrapper .wh-button{
	background: #fff;
	color: #007ed3;
	width: 300px;
	height: 70px;
	font-size: 16px;
	margin: 0;
}
#about_us #content-03 .content-wrapper .wh-button::after{
	background: url(../images/icon-arrow-blue.svg);
	background-repeat: no-repeat;
}
#about_us #content-03 .content-wrapper .wh-button::before{
	background: #007ed3;
}
#about_us #content-03 .content-wrapper .wh-button:hover {
    background: #007ed3;
    color: #fff;
}
#about_us #content-03 .content-wrapper .wh-button:hover::after {
    background: url(../images/icon-arrow-white.svg);
    width: 26px;
    height: 26px;
    background-repeat: no-repeat;
}


#about_us #content-03 .content-wrapper .point-wrapper{
	width: 1270px;
	margin-bottom: -152px;
	max-width: unset;
}

#about_us #content-03 .content-wrapper .point-wrapper li{
	width: 600px;
	padding: 34px 30px 0;
	background-image: none;
    background-color: #fff;
}

#about_us #content-03 .content-wrapper .point-wrapper li .button{
	font-size: 16px;
	width: 331px;
	height: 50px;
	margin-top: 70px;
}
#about_us #content-03 .content-wrapper .point-wrapper li h4{
	align-self: flex-start;
}
#about_us #content-03 .content-wrapper .point-wrapper li img{height: auto;
    width: 100%;
    aspect-ratio: 540 / 290;
    max-width: 540px;
    display: block;
    margin-bottom: 48px;
}


/*事業内容///////////////////////////////////////*/

#business #content-01{
	background: url("../images/business-back.jpg");
	background-position: top;
	padding-bottom: 300px;
}

#business #content-01 .content-wrapper{
    display: flex;
	width: 100%;
    max-width: 1300px;
	padding: 0 50px;
    margin: 0 auto 95px;
	justify-content: space-between;
}
#business #content-01 .content-wrapper .inner-left{
	width: 475px;
}
#business #content-01 .content-wrapper .inner-right{
	width: 551px;
}

#business #content-01 .image-container{
	width: 100%;
	max-width: 960px;
	aspect-ratio: unset;
	margin: 0 auto;
	gap: 0;
}
#business #content-01 .image-container img{
	display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 960 / 446.8688;
    object-fit: contain;
	flex: none;
}

#business #service-01{
	padding-top: 177px;
}



#business #service-02{
	background: #f4f4f5;
	border-radius: 280px 0;
	padding-top: 177px;
	padding-bottom: 100px;
    margin-bottom: 140px;
	position: relative;
    z-index: -2;
}

#business #content-02 .title-box{
	width: 100%;
    max-width: 1300px;
    padding: 0 50px;
    margin: 0 auto -111px;
}

#business #content-02 .title-box h3::before{
	bottom: 21px;
	top: unset;
}


#service-01 .content-wrapper-inner,
#service-02 .content-wrapper-inner{
	max-width: 1560px;
    width: 100%;
   display: flex;
	margin-left: auto;
	margin-bottom: 115px;
	justify-content: space-between;
	align-items: center;
}
#service-01 .content-wrapper-inner{
	margin-bottom: 152px;
}

#service-01 .content-wrapper-inner .inner-left,
#service-02 .content-wrapper-inner .inner-left{
	width: 620px;
}

#service-01 .content-wrapper-inner .inner-right,
#service-02 .content-wrapper-inner .inner-right{
	width: 870px;
}

#service-01 h4,
#service-02 h4{
	font-size: 42px;
	position: relative;
	color: #1b1464;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 45px;
    line-height: 1.75;
    display: flex;
    align-items: center;
}
#service-01 h4::before{
	content: '';
	background: url("../images/number-service-01.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	width: 58.5859px;
	aspect-ratio: 58.5859 / 70.5806;
	margin-right: 14px;
}
#service-02 h4::before{
	content: '';
	background: url("../images/number-service-02.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	width: 58.5859px;
	aspect-ratio: 58.5859 / 70.5806;
	margin-right: 14px;
}

#service-01 .tug-line,
#service-02 .tug-line{
	font-size: 30px;
	margin-bottom: 1em;
}

#service-01 h5,
#service-02 h5 {
    font-size: 42px;
    position: relative;
    color: #1b1464;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 40px;
    line-height: 1.75;
    display: flex;
    align-items: center;
	z-index: 2;
}
#service-02 h5::before{
	content:'STRENGTH';
	font-size: clamp(46px, 11.7vw, 120px);
    color: #d6eaf8;
    font-weight: 100;
    line-height: 1;
    position: absolute;
    z-index: -1;
    top: -60px;
    left: 50%;
	transform:translateX(-50%);
    display: block;
	font-family: "Noto Sans JP", sans-serif;
}
#service-01 h5::before{
	content:'STRENGTH';
	font-size: clamp(46px, 11.7vw, 120px);
    color: #d6eaf8;
    font-weight: 100;
    line-height: 1;
    position: absolute;
    z-index: -1;
    top: -60px;
    left: 50%;
	transform:translateX(-50%);
    display: block;
	width: 100%;
	font-family: "Noto Sans JP", sans-serif;
}

#service-01 .strength-wrapper,
#service-02 .strength-wrapper{
	width: 100%;
	max-width: 1500px;
	padding: 50px 50px 197px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}
#service-01 .strength-wrapper{
	margin-bottom: 150px;
	padding-bottom: 0;
	margin-top: 168px;
}
#service-01 .strength-list,
#service-02 .strength-list{
	display: flex;
	justify-content: space-between;
	width: 100%;
	position: relative;
}

#service-02 .strength-list::before{
	content: '';
	position: absolute;
    top: -114px;
    right: -223px;
    background: url(../images/deco-03.svg);
	background-repeat: no-repeat;
    background-size: contain;
    width: 285px;
    aspect-ratio: 285 / 146.021;
    z-index: -1;
}

#service-01 .strength-list::before{
	content: '';
	position: absolute;
    top: -109px;
    left: -214px;
    background: url(../images/deco-03.svg);
	background-repeat: no-repeat;
    background-size: contain;
    width: 285px;
    aspect-ratio: 285 / 146.021;
    z-index: -1;
}
#service-01 .strength-list::after{
	content: '';
	position: absolute;
    bottom: -42px;
    right: -222px;
    background: url(../images/deco-03.svg);
	background-repeat: no-repeat;
    background-size: contain;
    width: 285px;
    aspect-ratio: 285 / 146.021;
    z-index: -1;
}

#service-01 .strength-list li,
#service-02 .strength-list li{
	width: 420px;
    border: 2.2436px solid transparent;
    border-radius: 20px;
    background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(26, 152, 38, 1) 2.44%, rgba(79, 176, 88, 1) 7.87%, rgba(126, 197, 133, 1) 13.52%, rgba(166, 215, 170, 1) 19.27%, rgba(198, 229, 201, 1) 25.15%, rgba(223, 241, 225, 1) 31.21%, rgba(241, 249, 242, 1) 37.5%, rgba(252, 253, 252, 1) 44.2%, rgba(255, 255, 255, 1) 51.97%, rgba(252, 254, 255, 1) 61.93%, rgba(244, 249, 253, 1) 68.41%, rgba(229, 242, 250, 1) 73.9%, rgba(208, 231, 247, 1) 78.85%, rgba(180, 217, 242, 1) 83.41%, rgba(147, 200, 236, 1) 87.71%, rgba(107, 180, 229, 1) 91.8%, rgba(60, 157, 221, 1) 95.71%, rgba(10, 131, 213, 1) 99.37%, rgba(0, 126, 211, 1) 100%);
    background-origin: border-box;
    background-clip: padding-box, border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 42px 25px 22px;
    min-height: 560px;
}
#service-01 .strength-list li{
	padding: 42px 25px 60px;
}

#service-01 .strength-list li img,
#service-02 .strength-list li img{
	margin-bottom: 40px;
}

#service-01 .strength-list li h6,
#service-02 .strength-list li h6{
	color: #1b1464;
     font-size: 30px; 
    /*font-size: clamp(20px, 4vw, 32px);*/
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 30px;
    line-height: 1.5;
    display: block;
	text-align: center;
}
#service-02 .strength-list li:nth-of-type(2) p{
	font-feature-settings: normal;
}


#service-02 .item-wrapper h5::before{
	content:'ITEMS HANDLED';
	left: 0;
    bottom: -8px;
    top: auto;
	transform: none;
}
#service-01 .item-wrapper h5::before{
	content:'CARE&WELFARE ITEMS';
	left: 0;
    bottom: -8px;
    top: auto;
	transform: none;
}

#service-02 .item-wrapper{
	width: 100%;
	max-width: 1400px;
	padding: 164px 100px;
	margin: 0 auto 170px;
	background: #fff;
	border-radius: 30px;
	position: relative;
}
#service-01 .item-wrapper{
	width: 100%;
	max-width: 1400px;
	padding: 164px 100px;
	margin: 0 auto;
	background: #f4f4f5;
	border-radius: 30px;
	position: relative;
}

#service-02 .item-wrapper::before{
	content: '';
	position: absolute;
    top: -120px;
    left: -198px;
    background: url(../images/deco-03.svg);
	background-repeat: no-repeat;
	background-size: contain;
    width: 285px;
    aspect-ratio: 285 / 146.021;
    z-index: -1;
}
#service-02 .item-wrapper::after{
	content: '';
	position: absolute;
    bottom: -140px;
    left: -203px;
    background: url(../images/deco-04.svg);
	background-repeat: no-repeat;
	background-size: contain;
    width: 352.6263px;
    aspect-ratio: 352.6263 / 170.3364;
    z-index: -1;
}
#service-02 .item-wrapper .deco-middle{
	position: absolute;
    top: 40.68%;
    right: -242px;
    width: 285px;
    aspect-ratio: 285 / 146.021;
    z-index: -1;
	transform: translateY(-50%);
}



#service-01 .title-wrapper,
#service-02 .title-wrapper{
    position: absolute;
    top: -36px;
    width: 100%;
}

#service-02 .item-wrapper h6{
	color: #1b1464;
     font-size: 40px; 
    /*font-size: clamp(20px, 4vw, 32px);*/
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 30px;
    line-height: 1.5;
    display: block;
}
#service-02 .item-wrapper h6 .mini{
	font-size: 20px; 
	display: inline-block;
	margin-left:12px;
}

#service-01 .item-wrapper .item-list,
#service-02 .item-wrapper .item-list{
	width: 100%;
	max-width: 1200px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 20px 14px;
	margin-bottom: 106px;
}
#service-01 .item-wrapper .item-list{
	gap: 0;
	justify-content: space-between;
	margin-bottom: 0;
}

#service-02 .item-wrapper .item-list li{
	width: 390px;
    /*border: 2.2436px solid transparent;*/
    border-radius: 30px;
    /*background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(26, 152, 38, 1) 2.44%, rgba(79, 176, 88, 1) 7.87%, rgba(126, 197, 133, 1) 13.52%, rgba(166, 215, 170, 1) 19.27%, rgba(198, 229, 201, 1) 25.15%, rgba(223, 241, 225, 1) 31.21%, rgba(241, 249, 242, 1) 37.5%, rgba(252, 253, 252, 1) 44.2%, rgba(255, 255, 255, 1) 51.97%, rgba(252, 254, 255, 1) 61.93%, rgba(244, 249, 253, 1) 68.41%, rgba(229, 242, 250, 1) 73.9%, rgba(208, 231, 247, 1) 78.85%, rgba(180, 217, 242, 1) 83.41%, rgba(147, 200, 236, 1) 87.71%, rgba(107, 180, 229, 1) 91.8%, rgba(60, 157, 221, 1) 95.71%, rgba(10, 131, 213, 1) 99.37%, rgba(0, 126, 211, 1) 100%);*/
	border: solid 2.2436px rgb(0, 140, 13);
    background: #fff;
    background-origin: border-box;
    background-clip: padding-box, border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 28px 23px;
    min-height: 290px;
}
#service-01 .item-wrapper .item-list li{
	width: 290px;
    /*border: 2.2436px solid transparent;*/
    border-radius: 20px;
    /*background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(26, 152, 38, 1) 2.44%, rgba(79, 176, 88, 1) 7.87%, rgba(126, 197, 133, 1) 13.52%, rgba(166, 215, 170, 1) 19.27%, rgba(198, 229, 201, 1) 25.15%, rgba(223, 241, 225, 1) 31.21%, rgba(241, 249, 242, 1) 37.5%, rgba(252, 253, 252, 1) 44.2%, rgba(255, 255, 255, 1) 51.97%, rgba(252, 254, 255, 1) 61.93%, rgba(244, 249, 253, 1) 68.41%, rgba(229, 242, 250, 1) 73.9%, rgba(208, 231, 247, 1) 78.85%, rgba(180, 217, 242, 1) 83.41%, rgba(147, 200, 236, 1) 87.71%, rgba(107, 180, 229, 1) 91.8%, rgba(60, 157, 221, 1) 95.71%, rgba(10, 131, 213, 1) 99.37%, rgba(0, 126, 211, 1) 100%);*/
	border: solid 2.2436px rgb(0, 140, 13);
    background: #fff;
    background-origin: border-box;
    background-clip: padding-box, border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 28px 23px;
    min-height: 250px;
}
#service-01 .item-wrapper .item-list li img,
#service-02 .item-wrapper .item-list li img{
	height: 100px;
	width: auto;
	margin-bottom: 40px;
}

#service-01 .item-wrapper .item-list li p{
	max-width: 192px;
}



#service-02 .item-wrapper .item-list li:nth-child(3) img{
	margin-bottom: 24px;
}
#service-02 .item-wrapper .item-list:nth-of-type(2) li img{
	height: 84.8417px;
}

#service-02 .item-wrapper .item-list li h7{
	color: #1b1464;
    font-size: 20px;
    /* font-size: clamp(20px, 4vw, 32px); */
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 30px;
    line-height: 1.5;
    display: block;
    text-align: center;
}

#service-02 .item-wrapper .item-list li:nth-child(3) h7{
	margin-bottom: 20px;
}

#service-02 .item-wrapper .item-list:nth-of-type(2) li{
	height: 240px;
	min-height: unset;
    padding: 38px 23px;
}


#service-02 .item-wrapper .flex-box{
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1200px;
}

#service-02 .item-wrapper .flex-box .item-list li{
	width: 560px;
	height: 340px;
	padding-bottom: 10px;
	border-radius: 37.762px;
}
#service-02 .item-wrapper .flex-box .item-list li.wide{
	width: 570px;
    padding-left: 40px;
    padding-right: 30px;
}
#service-02 .item-wrapper .flex-box .item-list li p{
	line-height: 2;
}
#service-02 .item-wrapper .flex-box .item-list li img{
	margin-bottom: 32px;
}

#service-02 .ex-item-wrapper ul{
	width: 100%;
    border-radius: 37.762px;
	border: solid 2.8604px rgb(0, 140, 13);
    background: #fff;
    background-origin: border-box;
    background-clip: padding-box, border-box;
    display: flex;
	flex-wrap: wrap;
    padding: 68px 50px;
	gap: 50px 0;
}
#service-02 .ex-item-wrapper ul li{
	width: 50%;
}
#service-02 .ex-item-wrapper ul li h7{
	color: #1b1464;
    font-size: 20px;
    /* font-size: clamp(20px, 4vw, 32px); */
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 6px;
    line-height: 1.5;
    display: block;
}




.link-wrapper{
	width: 100%;
	max-width: 1200px;
	padding: 0 50px;
	margin: 0 auto 194px;
	position: relative;
	z-index: 1;
    cursor: pointer;
}



.link-wrapper a{
	width: 100%;
	height: 400px;
	background: #f4f4f5;
	display: flex;
	color: #000;
	font-size: 32px;
	align-items: center;
	position: relative;
	z-index: 1;
    cursor: pointer;
}

.link-wrapper a .inner-right{
	background: #f4f4f5;
	position: relative;
	z-index: 1;
	/*height: 100%;*/
	height: stretch;
	width: 100%;
	display: flex;
	align-items: center;
}

.link-wrapper a .inner-right::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(56.8deg, rgba(178, 220, 182, 1) 0%, rgba(199, 229, 201, 1) 6.63%, rgba(223, 241, 225, 1) 16.81%, rgba(241, 249, 242, 1) 27.47%, rgba(252, 253, 252, 1) 38.8%, rgba(255, 255, 255, 1) 51.97%, rgba(252, 254, 255, 1) 66.71%, rgba(244, 249, 253, 1) 76.29%, rgba(229, 242, 251, 1) 84.41%, rgba(208, 231, 247, 1) 91.71%, rgba(181, 218, 242, 1) 98.4%, rgba(173, 214, 241, 1) 100%);
    opacity: 0;
    transition: opacity 0.5s;
    z-index: 1;
}
.link-wrapper a:hover .inner-right::before{
	opacity: 1;
}


.link-wrapper a .inner-right::after {
    content: '';
    display: block;
    width: 56px;
    height: 56px;
    background: url("../images/icon-arrow-white.svg");
    position: absolute;
    top: 50%;
    right: 52px;
    transform: translateY(-50%);
	z-index: 2;
}

.link-wrapper a span{
	display: block;
	line-height: 1;
	margin-left: 95px;
	position: relative;
	 z-index: 2;
}

.link-wrapper a span::before{
	content: 'VOICE';
    z-index: -1;
	font-size: 110.11px;
    color: #d6eaf8;
    font-weight: 100;
    line-height: 1;
    position: absolute;
    bottom: -18px;
    left: -54px;
    display: block;
    width: 100%;
    font-family: "Noto Sans JP", sans-serif;
}

.link-wrapper a img{
	position: relative;
	z-index: 2;
}

#item-02,
#item-01{
	scroll-margin-top: 260px!important;
}



/*お客様の声///////////////////////////////////////*/

#voice #content-01 .content-wrapper{
	width: 100%;
	max-width: 1400px;
	padding: 0 100px 180px;
	display: flex;
	justify-content: space-between;
    margin: 0 auto;
}

#voice #content-01 .content-wrapper .inner-left,
#voice #content-01 .content-wrapper .inner-right{
	width: 560px;
	min-height: 210px;
}
#voice #content-01 .content-wrapper .inner-left a,
#voice #content-01 .content-wrapper .inner-right a{
	align-items: center;
    position: relative;
    z-index: 1;
    cursor: pointer;
    background: #f4f4f5;
    display: flex;
	/*font-size: 25px;*/
	font-size: clamp(18px, 3.3vw, 25px);
	width: 100%;
    height: 100%;
}
#voice #content-01 .content-wrapper .inner-left a img,
#voice #content-01 .content-wrapper .inner-right a img{
	position: relative;
    z-index: 2;
}

#voice #content-01 .content-wrapper .inner-left a .info-box,
#voice #content-01 .content-wrapper .inner-right a .info-box{
	/*background: #f4f4f5;*/
    position: relative;
    z-index: 2;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
	flex-direction: column;
	padding-left: 28px;
}

.back-wrapper{
    display: flex;
    width: 100%;
    height: 100%;
    position: relative;
}


#voice #content-01 .content-wrapper .inner-left a::before,
#voice #content-01 .content-wrapper .inner-right a::before{
	content: 'VOICE01';
    z-index: 1;
    /*font-size: 89.52px;*/
	font-size: clamp(52px, 13vw, 89.52px);
    color: #d6eaf8;
    font-weight: 100;
    line-height: 1;
    position: absolute;
    bottom: 0;
    right: 0;
    display: block;
    font-family: "Noto Sans JP", sans-serif;
	width: fit-content;
}
#voice #content-01 .content-wrapper .inner-left a::before{
	content: 'VOICE01';
}
#voice #content-01 .content-wrapper .inner-right a::before{
	content: 'VOICE02';
}

#voice #content-01 .content-wrapper .inner-left a .back-wrapper::before,
#voice #content-01 .content-wrapper .inner-right a .back-wrapper::before{
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(56.8deg, rgba(178, 220, 182, 1) 0%, rgba(199, 229, 201, 1) 6.63%, rgba(223, 241, 225, 1) 16.81%, rgba(241, 249, 242, 1) 27.47%, rgba(252, 253, 252, 1) 38.8%, rgba(255, 255, 255, 1) 51.97%, rgba(252, 254, 255, 1) 66.71%, rgba(244, 249, 253, 1) 76.29%, rgba(229, 242, 251, 1) 84.41%, rgba(208, 231, 247, 1) 91.71%, rgba(181, 218, 242, 1) 98.4%, rgba(173, 214, 241, 1) 100%);
    opacity: 0;
    transition: opacity 0.5s;
    z-index: 0;
}
/*#voice #content-01 .content-wrapper .inner-left a .info-box::before,
#voice #content-01 .content-wrapper .inner-right a .info-box::before{
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(56.8deg, rgba(178, 220, 182, 1) 0%, rgba(199, 229, 201, 1) 6.63%, rgba(223, 241, 225, 1) 16.81%, rgba(241, 249, 242, 1) 27.47%, rgba(252, 253, 252, 1) 38.8%, rgba(255, 255, 255, 1) 51.97%, rgba(252, 254, 255, 1) 66.71%, rgba(244, 249, 253, 1) 76.29%, rgba(229, 242, 251, 1) 84.41%, rgba(208, 231, 247, 1) 91.71%, rgba(181, 218, 242, 1) 98.4%, rgba(173, 214, 241, 1) 100%);
    opacity: 0;
    transition: opacity 0.5s;
    z-index: 1;
}*/

#voice #content-01 .content-wrapper .inner-left a:hover .back-wrapper::before,
#voice #content-01 .content-wrapper .inner-right a:hover .back-wrapper::before{
	    opacity: 1;
}
/*#voice #content-01 .content-wrapper .inner-left a:hover .info-box::before,
#voice #content-01 .content-wrapper .inner-right a:hover .info-box::before{
	    opacity: 1;
}*/


#voice #content-01 .content-wrapper .inner-left a .info-box::after,
#voice #content-01 .content-wrapper .inner-right a .info-box::after{
	content: '';
    display: block;
    width: 28px;
    height: 28px;
    background: url(../images/icon-arrow-white.svg);
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    z-index: 2;
}

#voice #content-01 .content-wrapper .inner-left a .info-box span,
#voice #content-01 .content-wrapper .inner-right a .info-box span{
	display: block;
	color: #000;
	line-height: 1;
	z-index: 10;
}

#voice #content-01 .content-wrapper .inner-left a .info-box .mini,
#voice #content-01 .content-wrapper .inner-right a .info-box .mini{
	display: block;
	line-height: 1;
	color: #0d2a65;
	font-size: 16px;
	margin-bottom: 1em;
}

.voice-title{
	width: 100%;
	max-width: 1400px;
	padding: 0 100px;
	display: flex;
	margin: 0 auto;
}

.voice-title .inner-left{
	width: 539px;
	aspect-ratio: 539 / 374;
}



.voice-title .inner-right{
	display: flex;
	flex-direction: column;
	padding-left: 60px;
	position: relative;
	justify-content: center;
	padding-top: 26px;
	margin-bottom: 15px;
}
.voice-title .inner-right::before{
	content: 'VOICE01';
	z-index: 1;
    /*font-size: 170px;*/
	font-size: clamp(84px, 22vw, 170px);
    color: #d6eaf8;
    font-weight: 100;
    line-height: 1;
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    width: fit-content;
}

.voice-title .inner-right h3{
    color: #1b1464;
    /*font-size: 35px;*/
    font-size: clamp(28px, 5vw, 35px);
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 30px;
    line-height: 1.5;
    display: block;
	z-index: 2;
}

.voice-title .inner-right h3::before{
	display: none;
}
.voice-title .inner-right h3 > .mini{
	font-size: 25px;
	margin-left: 1em;
	display: inline-block;
}

.voice-title .voice-sub{
	color: #0d2a65;
    font-family: "Noto Serif JP", serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	border: 1px solid transparent;
    border-radius: 15px;
    background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(26, 152, 38, 1) 2.44%, rgba(79, 176, 88, 1) 7.87%, rgba(126, 197, 133, 1) 13.52%, rgba(166, 215, 170, 1) 19.27%, rgba(198, 229, 201, 1) 25.15%, rgba(223, 241, 225, 1) 31.21%, rgba(241, 249, 242, 1) 37.5%, rgba(252, 253, 252, 1) 44.2%, rgba(255, 255, 255, 1) 51.97%, rgba(252, 254, 255, 1) 61.93%, rgba(244, 249, 253, 1) 68.41%, rgba(229, 242, 250, 1) 73.9%, rgba(208, 231, 247, 1) 78.85%, rgba(180, 217, 242, 1) 83.41%, rgba(147, 200, 236, 1) 87.71%, rgba(107, 180, 229, 1) 91.8%, rgba(60, 157, 221, 1) 95.71%, rgba(10, 131, 213, 1) 99.37%, rgba(0, 126, 211, 1) 100%);
    background-origin: border-box;
    background-clip: padding-box, border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
	justify-content: center;
	width: 110px;
	height: 30px;
	margin-bottom: 20px;
	z-index: 2;
}

.voice-title dl{
	display: flex;
	margin-bottom: 30px;
	z-index: 2;
	line-height: 1;
}
.voice-title dl dt{
	color: #0d2a65;
    font-family: "Noto Serif JP", serif;
	font-size: 16px;
	font-weight: 500;
}
.voice-title dl dd{
	margin-left: 1.5em;
}

.voice-title dl:nth-of-type(2) dd{
	margin-left: 0.5em;
}
#voice-02 .voice-title dl:nth-of-type(2) dd{
	margin-left: 1.5em;
}

#voice #content-02 .content-wrapper{
	background: #f4f4f5;
	width: 100%;
	max-width: 1400px;
	border-radius: 0 132.513px;
	margin: -26px auto 180px;
	padding-top: 214px;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 97px;
}

#voice #content-02 .content-wrapper .flex-box{
	display: flex;
	width: 100%;
	max-width: 1200px;
	padding: 0 50px;
    justify-content: space-between;
	margin-bottom: 96px;
}
#voice #content-02 .content-wrapper .flex-box:nth-child(1) .inner-left{
	max-width: 366px;
}

#voice #content-02 .content-wrapper .flex-box:nth-child(1) .inner-right{
	max-width: 616px;
}
#voice #content-02 .content-wrapper .tug-line{
	/*font-size: 30px;*/
	font-size: clamp(24px, 4vw, 30px);
}

#voice #content-02 .content-wrapper .flex-box:nth-child(2) {
	align-items: center;
}

#voice #content-02 .content-wrapper .flex-box:nth-child(2) .inner-left{
	max-width: 431px;
}

#voice #content-02 .content-wrapper .flex-box:nth-child(2) .inner-right{
	max-width: 550px;
}

#voice #content-02 .content-wrapper .last-box{
	background: #fff;
    max-width: 1100px;
    margin: 0 50px;
    border-radius: 30px;
    padding: 70px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#voice #content-02 .content-wrapper .last-box .tug-line{
	margin-bottom: 30px;
}

#voice-02 .voice-title .voice-sub{
	width: 210px;
}

#voice-02 .voice-title .inner-right::before{
	content: 'VOICE02';
}


#voice .link-wrapper a span::before{
	content: 'BUSINESS';
}

/*CSR活動///////////////////////////////////////*/

#csr .child-header{
	margin-bottom: 270px;
}

#csr #content-01 .content-wrapper{
	background: #f4f4f5;
    width: 100%;
    border-radius: 355.889px 0;
    margin: -26px auto 180px;
    padding: 137px 100px 187px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#csr #content-01 .title-box{
	width: 100%;
    max-width: 1200px;
    /*padding: 0 100px;*/
    margin: 0 auto -108px;
}

/*#csr #content-01 .title-box h3:before{
	top: -50px;
}*/

#csr #content-01 .content-wrapper .content-wrapper-inner{
	    width: 100%;
    max-width: 1600px;
    padding: 0 200px 0 100px;
    margin-bottom: 66px;
}

#csr #content-01 .content-wrapper .flex-box{
	display: flex;
	justify-content: space-between;
}
#csr #content-01 .content-wrapper .flex-box .inner-left{
	width: 660px;
	aspect-ratio: 660 / 400;
}
#csr #content-01 .content-wrapper .flex-box .inner-right{
	width: 512px;
}


#csr #content-01 .content-wrapper-inner-02{
	background: #fff;
	width: 100%;
	max-width: 1400px;
	padding: 100px 100px 84px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
#csr #content-01 .content-wrapper-inner-02 .image-box{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto 124px;
}
#csr #content-01 .content-wrapper-inner-02 h4{
	/*font-size: 42px;*/
	font-size: clamp(24px, 4vw, 42px);
    position: relative;
    color: #1b1464;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 88px;
    line-height: 1.75;
    display: flex;
    align-items: center;
    z-index: 2;
}
#csr #content-01 .content-wrapper-inner-02 h4::before {
    content: 'OBJECTIVE';
    font-size: clamp(46px, 11.7vw, 115.4px);
    color: #d6eaf8;
    font-weight: 100;
    line-height: 1;
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 0;
    transform: translate(-25%,-50%);
    display: block;
    width: 100%;
    font-family: "Noto Sans JP", sans-serif;
}


.sdgs-wrapper{
	border-top: solid 1px #ccc;
	width: 100%;
}

.sdgs-list{
	border-bottom: solid 1px #ccc;
	display: flex;
	padding: 80px 0;
}

.sdgs-list .inner-left{
	width: 300px;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-right: 100px;
	    height: fit-content;
}
.sdgs-list .inner-left img{
	width: 145px;
	aspect-ratio: 1 / 1;
}

.sdgs-list .inner-right{
    max-width: 798px;
    width: 100%;
}

.sdgs-list .inner-right h5{
	color: #1b1464;
    font-size: clamp(24px, 4vw, 30px);
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 20px;
    line-height: 1.75;
    display: block;
}
.sdgs-list .inner-right h6{
	color: #1b1464;
    font-size: clamp(16px, 3vw, 20px);
    font-weight: 300;
	margin-top: 34px;
	padding-bottom: 16px;
    margin-bottom: 25px;
    line-height: 1.75;
    display: block;
	border-bottom: solid 1px #ccc;
}

.sdgs-list .inner-right ul{
	display: flex;
	flex-wrap: wrap;
	gap: 1em 32px;
}
.sdgs-list:nth-of-type(1) .inner-right ul{
	max-width: 680px;
}


#csr #content-02 .content-wrapper{
	width: 100%;
	max-width: 1300px;
	margin:0 auto;
	
}

#csr #content-02 .content-wrapper .flex-box{
	display: flex;
	width: 100%;
	justify-content: space-between;
	margin-bottom: 80px;
}
#csr #content-02 .content-wrapper .flex-box .inner-left{
}
#csr #content-02 .content-wrapper .flex-box .inner-right{
	width: 660px;
}

#csr #content-02 .content-wrapper .flex-box .inner-left p{
	max-width: 442px;
}

#csr #content-03 .title-box h3,
#csr #content-02 .title-box h3{
	margin-bottom: 40px;
}

#csr #content-03 .title-box .sub,
#csr #content-02 .title-box .sub{
	margin-bottom: 70px;
}

.environment-list-wrapper{
	width: 100%;
	max-width: 1200px;
	background-color: #fff;
	background: url("../images/environment-back.png");
	background-size: cover;
	background-position: center;
	padding: 57px 50px 75px;
	margin-bottom:  228px;
	border-radius: 26.268px;
}
.environment-list-wrapper p{
	margin-bottom: 50px;
}
.environment-list{
	margin-bottom: 30px;
}

.environment-list p{
	color: #1b1464;
    font-size: clamp(16px, 3vw, 20px);
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 0;
    line-height: 1.75;
    display: flex;
	align-items: center;
	position: relative;
	width: fit-content;
	padding-left: 50px;
}
.environment-list:nth-of-type(1) p::before{
	content: '';
	display: block;
	background: url("../images/en-number-01.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 31.3486px;
	height: 18.4453px;
	position: absolute;
	left: 0;
	top: 9px;
}
.environment-list:nth-of-type(2) p::before{
	content: '';
	display: block;
	background: url("../images/en-number-02.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 36.6733px;
	height: 18.4199px;
	position: absolute;
	left: 0;
	top: 9px;
}
.environment-list:nth-of-type(3) p::before{
	content: '';
	display: block;
	background: url("../images/en-number-03.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 36.0483px;
	height: 18.4453px;
	position: absolute;
	left: 0;
	top: 9px;
}
.environment-list:nth-of-type(4) p::before{
	content: '';
	display: block;
	background: url("../images/en-number-04.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 37.4233px;
	height: 18.4199px;
	position: absolute;
	left: 0;
	top: 9px;
}
.environment-list:nth-of-type(5) p::before{
	content: '';
	display: block;
	background: url("../images/en-number-05.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 35.6484px;
	height: 19.3691px;
	position: absolute;
	left: 0;
	top: 9px;
}

.environment-list ul{
	padding-left: 50px;
	margin-top: 16px;
}


#csr #content-03 .content-wrapper{
	width: 100%;
	max-width: 1400px;
	margin:0 auto 190px;
    display: flex;
    justify-content: space-between;
}
#csr #content-03 .content-wrapper .inner-left{
	width: 526px;
}

#csr #content-03 .content-wrapper .inner-left .tug-line{
	line-height: 1;
	margin-bottom: 40px;
}
#csr #content-03 .content-wrapper .inner-left p{
	padding-bottom: 40px;
	margin-bottom: 27px;
	border-bottom: solid 1px #ccc;
}

#csr #content-03 .content-wrapper .inner-right{
	display: flex;
	width: 50%;
}
#csr #content-03 .content-wrapper .inner-right img{
	width: 298px;
	height: 430.5px;
}

#csr #content-03 .content-wrapper .inner-left dl {
    display: flex;
    margin-bottom: 30px;
    z-index: 2;
    line-height: 1;
}
#csr #content-03 .content-wrapper .inner-left dl dt {
    color: #0d2a65;
    font-family: "Noto Serif JP", serif;
    font-size: 16px;
    font-weight: 500;
	margin-right: 33px;
}
#csr #content-03 .content-wrapper .inner-left dl:nth-of-type(3) dt{
	margin-right: 17px;
}



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

#privacy #content-01 .content-wrapper{
	width: 100%;
	max-width: 1400px;
	padding: 0 100px;
	margin: 0 auto 206px;
}
.privacy-list-wrapper > p{
	padding: 0 50px;
	margin-bottom: 57px;
}
.privacy-list{
	padding: 64px 50px;
	min-height: 218px;
	border-top: solid 1px #ccc;
}

.privacy-list-title{
	color: #1b1464;
	font-size: 25px;
    /*font-size: clamp(18px, 3vw, 25px);*/
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 20px;
    line-height: 1.75;
    display: flex;
    align-items: center;
    position: relative;
    width: fit-content;
    padding-left: 50px;
}

.privacy-list .privacy-list-title::before{
	content: '';
    display: block;
	position: absolute;
    left: 0;
    top: 14px;
}

.privacy-list:nth-of-type(1) .privacy-list-title::before{
    background: url(../images/en-number-01.svg);
    width: 31.3486px;
    height: 18.4453px;
	background-size: contain;
    background-repeat: no-repeat;
    
}
.privacy-list:nth-of-type(2) .privacy-list-title::before{
	background: url("../images/en-number-02.svg");
	width: 36.6733px;
	height: 18.4199px;
	background-size: contain;
    background-repeat: no-repeat;
}
.privacy-list:nth-of-type(3) .privacy-list-title::before{
	background: url("../images/en-number-03.svg");
	width: 36.0483px;
	height: 18.4453px;
	background-size: contain;
    background-repeat: no-repeat;
}
.privacy-list:nth-of-type(4) .privacy-list-title::before{
	background: url("../images/en-number-04.svg");
	width: 37.4233px;
	height: 18.4199px;
	background-size: contain;
    background-repeat: no-repeat;
}
.privacy-list:nth-of-type(5) .privacy-list-title::before{
	background: url("../images/en-number-05.svg");
	width: 35.6484px;
	height: 19.3691px;
	background-size: contain;
    background-repeat: no-repeat;
}
.privacy-list:nth-of-type(6) .privacy-list-title::before{
	background: url("../images/en-number-06.svg");
	width: 37.3232px;
	height: 18.4204px;
	background-size: contain;
    background-repeat: no-repeat;
}
.privacy-list:nth-of-type(7) .privacy-list-title::before{
	background: url("../images/en-number-07.svg");
	width: 34.4482px;
	height: 18.4204px;
	background-size: contain;
    background-repeat: no-repeat;
}

.privacy-list .button{
	font-size: 16px;
    width: 300px;
    height: 50px;
    margin: 30px 0 0;
}
.privacy-list .button::after{
    width: 26px;
    height: 26px;
}

.privacy-list:nth-of-type(7){
	border-bottom: solid 1px #ccc;
}


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

/*共通部*/

.company-container{
	width: 100%;
	max-width: 1650px;
	margin: 0 auto;
	display: flex;
	align-items: flex-start;
}

.side-contanier{
	width: 320px;
	position: sticky;
	top: 80px;
	padding-top: 65px;
	/*background: #eee;*/
}
.main-contanier{
	flex: 1;
}

.side-title{
	display: block;
	margin-left: 60px;
	font-weight: 300;
	font-size: 30px;
	color: #0d2a65;
	margin-bottom: 65px;
	line-height: 1;
}
.side-contanier ul{
	width: 100%;
	padding: 0 50px;
	display: flex;
    flex-direction: column;
    align-items: center;
	gap: 34px;
}

.side-contanier ul li{
	position: relative;
    z-index: 1;
    transition: 0.3s;
	width: fit-content;
}

.side-contanier ul li::before{
    content: '';
    position: absolute;
    bottom: 10px;
    left: -24px;
    width: 54px;
    aspect-ratio: 54 / 34.6373;
    z-index: -1;
    background: url(../images/deco-01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0;
    transition: 0.3s;
}
.side-contanier ul li.current::before,
.side-contanier ul li:hover::before {
    opacity: 1;
}


.side-contanier ul li a{
    color: #0d2a65;
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
    font-weight: 500;
	z-index: 3;
	position: relative;
	display: block;
}

/*会社概要///////////////////////////////////////*/

#overview .main-contanier{
	padding-right: 50px;
}

#overview #content-01{
	padding-left: 80px;
	margin-bottom: 216px;
	max-width: 1080px;
	scroll-margin-top: 200px;
}
.company-profile {
      margin: 40px auto 20px;
    }

.profile-row {
  display: flex;
  padding: 20px 0;
  border-bottom: 1px solid #ccc;
  margin: 0;
	/*min-height: 80px;*/
}

.profile-row dt {
  width: 248px;
  color: #0d2a65;
  flex-shrink: 0;
  padding-left: 50px;
}

.profile-row dd {
  flex: 1;
  margin-left: 0;
}


#overview #content-02{
	width: 100%;
    max-width: 1180px;
    padding: 0 80px;
	margin-bottom: 144px;
	scroll-margin-top: 200px;
}

#overview #content-02 .title-box{
	margin-bottom: 55px;
}

.access-box-wrapper{
	width: 100%;
	max-width: 1000px;
}

.access-box{
	border-top: solid 1px #ccc; 
	padding: 50px 0;
}
.access-box:last-of-type{
	border-bottom: solid 1px #ccc; 
}

.access-box .flex-box{
	display: flex;
	margin-bottom: 28px;
}

.access-box .flex-box .inner-left{
	width: 470px;
	aspect-ratio: 470 / 310;
}

.access-box .flex-box .inner-right{
	padding-left: 84px;
	display: flex;
    flex-direction: column;
    justify-content: center;
}
.access-box .flex-box h4{
	color: #1b1464;
    font-size: clamp(22px, 3vw, 25px);
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 40px;
    line-height: 1.75;
    display: block;
}

.access-box .map{
	width: 100%;
	height: 310px;
}


/*代表挨拶///////////////////////////////////////*/

#message #content-01{
	width: 100%;
    max-width: 1180px;
    padding: 0 80px 0 0;
	margin-bottom: 230px;
	scroll-margin-top: 200px;
}

#message #content-01 .flex-box{
	display: flex;
}

#message #content-01 .flex-box .inner-left{
	width: 420px;
	/*aspect-ratio: 420 / 541;*/
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}

#message #content-01 .flex-box .inner-right{
	width: 100%;
	max-width: 560px;
	margin-left: 100px;
}
#message #content-01 .flex-box .inner-right p{
	margin-bottom: 40px;
}

#message #content-01 .flex-box .inner-right p:last-of-type{
	margin-bottom: 0;
}

#message #content-01 .name{
	font-size: 25px;
	display: inline-block;
}
#message #content-01 .name > .mini{
	font-size: 20px;
	display: inline-block;
	margin-right: 1em;
}

#message #content-01 .tug-line{
	color: #1b1464;
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 40px;
    line-height: 1.75;
    display: block;
}


#message #content-02{
	scroll-margin-top: 200px;
}


#message #content-02 .title-box{
	margin-bottom: 56px;
	margin-left: 80px;
}

.philosophy-list-wrapper {
    width: 100%;
    max-width: 1030px;
	min-height: 480px;
    background-color: #fff;
    background: url(../images/environment-back.png);
    background-size: cover;
    background-position: center;
    padding: 62px 70px;
    margin-bottom: 228px;
    border-radius: 26.268px;
}
.philosophy-list {
    margin-bottom: 50px;
}
.philosophy-list p {
    color: #1b1464;
    font-size: clamp(18px, 3vw, 25px);
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 0;
    line-height: 1.75;
    position: relative;
    width: fit-content;
    padding-left: 60px;
}
.philosophy-list p::before {
    content: '一、';
    display: inline-block;
    position: absolute;
    left: 0;
}

/*会社沿革///////////////////////////////////////*/

#history #content-01{
	width: 100%;
    max-width: 1180px;
    padding: 0 80px 0 0;
	margin-bottom: 174px;
	scroll-margin-top: 200px;
}

.history-nav{
	width: 100%;
	max-width: 1080px;
	margin-bottom: 180px;
}

.history-nav ul{
	display: flex;
	gap: 60px;
	flex-wrap: wrap
}


.history-nav ul li a{
	display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
    border-radius: 45px;
    color: #fff;
    font-size: 22px;
    padding: 26px;
    transition: 0.3s ease;
    position: relative;
    width: 320px;
    height: 60px;
    margin: 0 auto;
    z-index: 1;
    cursor: pointer;
}
.history-nav ul li a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 45px;
    background: linear-gradient(270deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
    opacity: 0;
    transition: opacity 0.5s;
    z-index: -1;
}
.history-nav ul li a:hover::before{
    opacity: 1;
}

#history #content-01 .content-wrapper{
    width: 100%;
    max-width: 1080px;
}


#history #content-01 h3{
	width: 100%;
	height: 60px;
	line-height: 1;
	background : linear-gradient(90deg, rgba(178, 220, 182, 1) 0%, rgba(199, 229, 201, 1) 6.63%, rgba(223, 241, 225, 1) 16.81%, rgba(241, 249, 242, 1) 27.47%, rgba(252, 253, 252, 1) 38.8%, rgba(255, 255, 255, 1) 51.97%, rgba(252, 254, 255, 1) 66.71%, rgba(244, 249, 253, 1) 76.29%, rgba(229, 242, 251, 1) 84.41%, rgba(208, 231, 247, 1) 91.71%, rgba(181, 218, 242, 1) 98.4%, rgba(173, 214, 241, 1) 100%);
	font-size: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#history #content-01 h3::before{
	display: none;
}

#year-2010 h3,
#year-2010 h4,
#year-2010 .month,
#year-1980 h3,
#year-1980 h4,
#year-1980 .month{
	color: #007ed3;
}
#year-2020 h3,
#year-2020 h4,
#year-2020 .month,
#year-1990 h3,
#year-1990 h4,
#year-1990 .month{
	color: #ff430a;
}
#year-2000 h3,
#year-2000 h4,
#year-2000 .month{
	color: #008c0d;
}
.time-line-main{
	color: #000;
}
.time-line-wrapper{
	padding: 130px 0 150px;
	position: relative;
}
.time-line-wrapper::before{
	content: '';
	display: block;
	width: 40px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 70px;
	background: #eceef3;
	z-index: -1;
}
#year-1990 .time-line-inner.last,
#year-2000 .time-line-inner.last,
#year-2010 .time-line-inner.last,
#year-2020 .time-line-inner.last{
	margin-bottom: 0;
}
#year-1990 .time-line-wrapper{
	padding-bottom: 160px;
}
#year-2000 .time-line-wrapper{
	padding-bottom: 162px;
}
#year-2010 .time-line-wrapper{
	padding-bottom: 80px;
}


.time-line-wrapper:last-of-type::after{
	content: '';
	display: block;
	width: 40px;
	height: 40px;
	position: absolute;
	bottom: -50px;
	left: 70px;
	z-index: -1;
	background: url("../images/time-line-last.svg");
	background-repeat: no-repeat;
	
}


.time-line-inner{
	padding-left: 260px;
	/*padding-right: 50px;*/
	padding-right: 37px;
	position: relative;
    margin-bottom: 118px;
}
.time-line-inner h4{
	font-size: 30px;
	margin-bottom: 1em;
	font-weight: 300;
	position: relative;
}
.time-line-inner ul{
	padding-left: 63px;
    display: flex;
    flex-direction: column;
	gap: 1em;
}
.time-line-inner .month{
	font-size: 18px;
	margin-right: 1em;
	font-weight: 400;
}
.time-line-inner h4::before{
	content: '';
	display: block;
	width: 173px;
	height: 26px;
	background:url("../images/icon-ttime-line-blue.svg");
	position: absolute;
	top: 50%;
	left: -10px;
	transform: translate(-100%,-50%);
}
#year-1980 .time-line-inner h4::before,
#year-2010 .time-line-inner h4::before{
	background:url("../images/icon-ttime-line-blue.svg");
}
#year-1990 .time-line-inner h4::before,
#year-2020 .time-line-inner h4::before{
	background:url("../images/icon-ttime-line-orange.svg");
}
#year-2000 .time-line-inner h4::before{
	background:url("../images/icon-ttime-line-green.svg");
}


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

.main-nav li.contact-current a::before {
    opacity: 1;
}
#contact #content-01 .content-wrapper,
#contact #content-02 .content-wrapper{
	width: 100%;
	max-width: 1400px;
	padding: 0 100px;
	margin: 0 auto;
}

#contact #content-01{
	margin-bottom: 225px;
}
#contact #content-01 .title-box{
	margin-bottom: 20px;
}

#contact h3{
	margin-bottom: 28px;
}
#contact .sub{
	margin-bottom: 25px;
}
#contact #content-02 .sub{
	margin-bottom: 44px;
}


.tel-fax-wrapper{
	width: 100%;
	min-height: 300px;
	background: url(../images/tel-fax-back.jpg);
    background-size: cover;
    background-position: right 0 top 35%;
    padding: 50px;
    border-radius: 20px;
	display: flex;
    flex-direction: column;
    align-items: center;
	justify-content: center;
}
.tel-fax-wrapper .flex-box{
	display: flex;
	width: 100%;
	/*min-height: 300px;*/
}
.tel-fax-wrapper .flex-box .inner-left,
.tel-fax-wrapper .flex-box .inner-right{
	width: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.tel-fax-wrapper .flex-box .inner-left a,
.tel-fax-wrapper .flex-box .inner-right span{
	/*font-size: 60px;*/
	font-size: clamp(32px,7vw,60px);
	font-weight: 100;
	color: #000;
	display: block;
	position: relative;
	padding-left: 85px;
	pointer-events: none;
}

.tel-fax-wrapper .flex-box .inner-left a::before,
.tel-fax-wrapper .flex-box .inner-right span::before{
	content: '';
    display: block;
    width: 52px;
    height: 52px;
    background: url(../images/icon-tel.svg);
    border-radius: 50%;
    position: absolute;
    top: 53%;
    left: 0px;
    transform: translateY(-50%);
}
.tel-fax-wrapper .flex-box .inner-right span::before{
	background: url(../images/icon-fax.svg);
}

#contact #content-02 .title-box{
	margin-bottom: 40px;
}

.form-group {
    border-top: solid 1px #ccc;
    min-height: 120px;
    padding: 33px 50px 37px;
    display: flex;
    align-items: center;
}


.label-name {
    width: 380px;
    flex-shrink: 0;
    padding-right: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.required {
    color: #fff;
    background-color: #e95413;
    font-size: 14px;
    font-weight: 300;
    padding: 2px 10px;
    margin-left: 10px;
    white-space: nowrap;
    width: auto; 
    min-width: 84px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    flex-shrink: 0; 
}

.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: #f4f4f5;
    border-radius: 5px;
    padding: 10px;
    min-height: 50px;
    border: none;
    outline: none;
    max-width: 720px;
	color: #000;
    font-size: 16px;
	font-family: "Noto Sans JP", sans-serif!important;
}
.form-group.short > input[type="text"],
.form-group.short > input[type="tel"]{
	max-width: 500px;
}

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

.checkbox-wrapper label {
  display: flex;
  align-items: center;
  cursor: pointer;
  margin-bottom: 10px;
  gap: 12px;
  min-width: 218px;
}


.checkbox-wrapper input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 30px;
  height: 30px;
  background-color: #f4f4f5;
  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: #000;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.2s ease;
}

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




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


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

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

.policy-check a{
	color: #007ed3;
	text-decoration: underline;
}
.policy-check a:hover{
	text-decoration: none;
}

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

.policy-check input[type="checkbox"]:checked {
  background-color: #008c0d;
  border-color: #008c0d;
}


.policy-check input[type="checkbox"]::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 7px;
  height: 12px;
  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: none;
    outline: none;
    appearance: none;
	font-size: 16px;
	font-weight: 300;
	width: 300px;
	height: 70px;
}
.form-wrap .button::after{
	width: 26px;
	height: 26px;
}

#contact #content-02{
	margin-bottom: 184px;
}


#contact.conf .button_area{
	display: flex;
    margin-top: 80px;
	gap: 80px;
    justify-content: center;
}
#contact.conf .button_area .button{
	margin: 0;
}

.error-msg{
	white-space: nowrap;
}


#contact.conf #content-02{
	margin-top: 160px;
}



@media (max-width: 1280px) {
	.label-name {
		width: 270px;
	}
}
@media (max-width: 1040px) {
	#contact #content-01 .content-wrapper, 
	#contact #content-02 .content-wrapper{
		padding: 0 50px;
	}
}
@media (max-width: 935px) {
	.checkbox-wrapper{
		flex-direction: column;
	}
	#contact.conf .button_area{
		flex-direction: column;
		gap: 40px;
    align-items: center;
    justify-content: center;
	}
}
@media (max-width: 768px) {
	.form-group{
		padding: 33px 0 37px;
		align-items: flex-start;
        flex-direction: column;
        gap: 20px;
	}
	.label-name {
        width: auto;
    }
	.required{
		min-width: 60px;
    height: 34px;
	}
	#contact #content-02 {
    margin-bottom: 80px;
}
}
@media (max-width: 440px) {
	#contact #content-01 .content-wrapper, 
	#contact #content-02 .content-wrapper{
		padding: 0 20px;
	}
}








/*新着情報///////////////////////////////////////*/


#news #content-01 .content-wrapper{
    width: 100%;
    max-width: 1200px;
    padding: 0 50px;
    margin: 0 auto 150px;
}

#news .news-list{
	border-top: solid 1px #cccccc;
}

#news .news-list li{
    background: #fff;
    min-height: 150px;
    /*padding: 32px 120px 50px 50px;*/
    border-bottom: solid 1px #cccccc;
    position: relative;
}
#news .news-list li::after{
	content: '';
    display: block;
    width: 37px;
    height: 37px;
    background: url(../images/icon-arrow.svg);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 52px;
    transform: translateY(-50%);
}

#news .news-list li a{
	padding: 29px 120px 29px 50px;
}

#news .news-list .news-inner-wrapper{
	margin-bottom: 28px;
}

.pager{
	display: flex;
	justify-content: center;
    align-items: center;
	gap: 70px;
	position: relative;
	width: 100%;
	max-width: 526px;
    margin: 150px auto 204px;
}
.pager a{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	color: #4cb2ee;
	width: 50px;
	height: 50px;
	border: solid 1px #4cb2ee;
	border-radius: 50%;
	
}
.pager a.current{
	color: #000;
}

.custom-pager .page-numbers{
	display: flex;
	justify-content: center;
    align-items: center;
	column-gap: 70px;

}

.pager-link{
	cursor: pointer;
}

.pager-link.current{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	color: #000;
	width: 50px;
	height: 50px;
	background: #f0f2f9;
	border: solid 1px #f0f2f9;
	border-radius: 50%;
	pointer-events: none;
	cursor: inherit;
}
.pager-link:hover{
	color: #000;
	background: #f0f2f9;
	border: solid 1px #f0f2f9;
}

.pager .button-next,
.pager .button-prev{
	width: 50px;
	height: 50px;
	cursor: pointer;
	position: relative;
}
.pager .button-next img{
	transform: rotate(180deg);
}

.pager .button-next .bg-layer,
.pager .button-prev .bg-layer{
	width: 100%;
	height: 100%;
	position: relative;
	
}

.custom-pager .button-prev img,
.custom-pager .button-next img{
  display: block;
}

.custom-pager .button-prev:not(.is-disabled)::after{
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/icon-arrow.svg") center / contain no-repeat;
  pointer-events: none;
	transform: rotate(180deg);
}


.custom-pager .button-next:not(.is-disabled)::after{
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/icon-arrow.svg") center / contain no-repeat;
  pointer-events: none;
}

.custom-pager .button-prev:not(.is-disabled) img,
.custom-pager .button-next:not(.is-disabled) img{
	opacity: 0;
}


/*新着情報（詳細ページ）///////////////////////////////////////*/

#news.news-detail #content-01 .content-wrapper{
	width: 100%;
	max-width: 1200px;
	padding: 0 50px;
	margin: 0 auto;
}

#news.news-detail #content-01 .content-wrapper h2{
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 50px;
	margin-top: 26px;
}

.news-header{
	border-bottom: solid 1px #ccc;
	margin-bottom: 50px;
}

.news-info{
	padding: 0 50px;
}
#news.news-detail #content-01 .content-wrapper img{
	margin-bottom: 60px;
}

#news.news-detail #detail{
	padding-bottom: 125px;
	border-bottom: solid 1px #ccc;
	margin-bottom: 80px;
}

#news.news-detail  .button-container{
	margin-bottom: 194px;
}

#news.news-detail  .button-container .button{
	font-size: 16px;
    width: 300px;
    height: 50px;
}
#news.news-detail  .button-container .button::after {
    width: 26px;
    height: 26px;
}




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


#recruit #content-01 .content-wrapper {
    width: 100%;
    margin: 0;
}

#recruit #content-01 .flex-box{
	display: flex;
    width: 100%;
	max-width: 1660px;
    padding: 0 50px 110px 36px;
}
#recruit #content-01 .flex-box .inner-left{
	width: 100%;
	max-width: 922.5698px;
}

#recruit #content-01 .flex-box .inner-right{
	width: 100%;
	max-width: 600px;
	padding-left: 90px;
	display: flex;
    flex-direction: column;
    justify-content: center;
}
#recruit #content-01 .tug-line{
	font-size: clamp(28px, 3.8vw, 50px);
}

.slide-wrapper{
	width: 100%;
}
.swiper-wrapper {
  transition-timing-function: linear !important;
}
.swiper {
  pointer-events: none;
}

#recruit #content-02{
	background: url("../images/merit-back.jpg");
	background-repeat: no-repeat;
	background-position: top left;
	padding-top: 240px;
	padding-bottom: 190px;
}
#recruit #content-02 .content-wrapper{
	padding: 0 100px;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
}

#recruit #content-02 .title-box {
    width: 100%;
    max-width: 1300px;
    padding: 0 100px;
    margin: 0 0 50px;
}



.merit-item h4.tug-line{
    /*font-size: 30px;*/
	font-size: clamp(20px, 4vw, 30px);
	margin-top: 30px;
	margin-bottom: 20px;
}



.merit-item{
	width: 560px;
}

.merit-wrapper {
  display: flex;
  justify-content: flex-start;
  column-gap: 100px;
  width: 1400px;
  align-items: flex-start;
	padding: 0 80px 0 100px;
}

.merit-column {
  width: 560px;
  display: flex;
  flex-direction: column;
}

.merit-02 { 
	margin-top: 140px;
} 
.merit-03 { 
	margin-top: 110px;
    margin-left: -100px;
}
.merit-04 { 
	margin-top: 60px;
	margin-left: -100px;
}

.merit-wrapper .image-box{
	width: fit-content;
}


@media (max-width: 1599px) {
	#recruit #content-02 .content-wrapper{
		    padding: 0 50px;
	}
}


@media (max-width: 1420px) {
  .merit-wrapper {
    display: block;
    width: 100%;
	  padding: 0 20px;
  }

  .merit-column {
    display: contents; /* 【重要】列の枠組みを無視し、中身を直列化する */
  }

  .merit-item {
    width: 100%;
    margin-top: 0 !important; /* デスクトップ用のマージンをリセット */
    margin-right: 0 !important;
    margin-left: 0 !important;
    margin-bottom: 40px;      /* スマホ用の均等な間隔 */
    display: flex;
  }
  
  /* モバイルでの表示順を 01 -> 02 -> 03 -> 04 に強制する */
  .merit-wrapper { display: flex; flex-direction: column; }
  .merit-01 { order: 1; }
  .merit-02 { order: 2; }
  .merit-03 { order: 3; }
  .merit-04 { order: 4; }


.merit-item h4.tug-line{
	margin-top: 0;
}
.merit-info-box{
    padding-left: 20px;
	width: 80%;
}
}


#recruit #content-03{
	padding-top: 225px;
}
#recruit #content-03 .content-wrapper{
	width: 100%;
	max-width: 1600px;
	padding: 0 100px;
	margin: 0 auto;
}

#recruit #content-03 .flex-box {
	width: 100%;
	max-width: 1200px;
	padding: 0 100px 70px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}


#recruit #content-03 .flex-box .button{
	width: 300px;
	height: 70px;
	font-size: 16px;
}
#recruit #content-03 .flex-box .button::after{
	width: 26px;
	height: 26px;
}

.recruit-intervie-list{
	display: flex;
	justify-content: center;
	gap: 80px;
	align-items: flex-start;
    max-width: 1360px;
    margin: 0 auto;
}
.recruit-intervie-list li{
	width: 400px;
}

.recruit-intervie-list li:nth-child(2){
	padding-top: 75px;
}

.recruit-intervie-list li a{
	display: block;
	width: 100%;
	height: 100%;
}

.recruit-intervie-list .hover-back{
	position: relative;
	width: 100%;
	height: 100%;
}
.recruit-intervie-list .hover-back::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(56.8deg, rgba(178, 220, 182, 1) 0%, rgba(199, 229, 201, 1) 6.63%, rgba(223, 241, 225, 1) 16.81%, rgba(241, 249, 242, 1) 27.47%, rgba(252, 253, 252, 1) 38.8%, rgba(255, 255, 255, 1) 51.97%, rgba(252, 254, 255, 1) 66.71%, rgba(244, 249, 253, 1) 76.29%, rgba(229, 242, 251, 1) 84.41%, rgba(208, 231, 247, 1) 91.71%, rgba(181, 218, 242, 1) 98.4%, rgba(173, 214, 241, 1) 100%);
    opacity: 0;
    transition: opacity 0.5s;
    z-index: 3;
	mix-blend-mode: multiply;
	pointer-events: none;
}
.recruit-intervie-list li a:hover .hover-back::before {
    opacity: 1;
}

.recruit-intervie-info{
	padding-top: 25px;
	padding-left: 60px;
	position: relative;
	color: #000;
	padding-bottom: 25px;
}
.recruit-intervie-info::after{
	content: '';
    display: block;
    width: 50px;
    height: 50px;
    background: url(../images/icon-arrow.svg);
	background-size: contain;
	background-repeat: no-repeat;
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    right: 0;
}


.recruit-intervie-info h4{
	color: #1b1464;
	font-size: 30px;
    /*font-size: clamp(24px, 4vw, 30px);*/
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 10px;
    line-height: 1.75;
    display: block;
}
.recruit-intervie-info h4 .mini{
	font-size: 0.833em;
}

.recruit-intervie-list li:nth-child(1) .recruit-intervie-info::before{
	content: '';
    display: block;
    width: 40.8867px;
    height: 41.7236px;
    background: url(../images/en-number-01.svg);
	background-size: contain;
	background-repeat: no-repeat;
    position: absolute;
    top: 40px;
    left: 0;
}
.recruit-intervie-list li:nth-child(2) .recruit-intervie-info::before{
	content: '';
    display: block;
    width: 48.9814px;
    height: 41.7236px;
    background: url(../images/en-number-02.svg);
	background-size: contain;
	background-repeat: no-repeat;
    position: absolute;
    top: 40px;
    left: 0;
}
.recruit-intervie-list li:nth-child(3) .recruit-intervie-info::before{
	content: '';
    display: block;
    width: 48.0303px;
    height: 41.7236px;
    background: url(../images/en-number-03.svg);
	background-size: contain;
	background-repeat: no-repeat;
    position: absolute;
    top: 40px;
    left: 0;
}


#recruit #content-04 {
    padding-top: 225px;
	margin-bottom: 218px;
}
#recruit #content-04 .content-wrapper {
    width: 100%;
    max-width: 1400px;
    padding: 0 100px;
    margin: 0 auto;
}




#recruit #content-05{
	margin-bottom: 194px;
}



#recruit #content-05  .content-wrapper{
	border-radius: 80px;
	display: flex;
	flex-direction: column;
	align-items: center;
	background : linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
	position: relative;
	width: 100%;
    max-width: 1400px;
    padding: 105px 100px 100px;
    margin: 0 auto;
	color: #fff;
}
#recruit #content-05  .content-wrapper::before{
	content:'';
	background: url("../images/flow-back.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: 80px;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.15;
}

#recruit #content-05 .title-box{
	padding-left: 40px;
	align-self: flex-start;
	margin-bottom: 70px;
}

#recruit #content-05 h3{
	color: #fff;
	font-size: 50px;
}

#recruit #content-05 h3::before{
	display: none;
}
#recruit #content-05 .sub{
	color: #fff;
	/*font-size: 30px;*/
	font-size: clamp(16px, 4vw, 30px);
}

.flow-list{
	display: flex;
	gap: 80px;
	margin-bottom: 48px;
}

.flow-list li{
	width: 240px;
	height: 260px;
	background: #fff;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	border-radius: 20px;
	padding-bottom: 48px;
}

.flow-list li:after{
	content: '';
    display: block;
    width: 37px;
    height: 37px;
    background: url(../images/icon-arrow.svg);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: -57px;
    transform: translateY(-50%);
}
.flow-list li:last-of-type:after{
	display: none;
}

.flow-list li:nth-of-type(1) img{
	width: 60px;
	height: 38.1927px;
	margin-bottom: 36px;
}
.flow-list li:nth-of-type(2) img{
	width: 60px;
	height: 66.1387px;
	margin-bottom: 23px;
}
.flow-list li:nth-of-type(3) img{
	width: 70px;
	height: 63.0652px;
	margin-bottom: 26px;
}
.flow-list li:nth-of-type(4) img{
	width: 80px;
	height: 62.8545px;
	margin-bottom: 25px;
}


.flow-title{
	color: #0d2a65;
	font-size: 30px;
}

#recruit #content-05 .text-box{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 70px;
	gap: 24px;
}
#recruit #content-05 .text-box p{
	text-align: center;
}








.button-white{
	color: #007ed3;
	background: #fff;
	width: 300px;
	height: 70px;
	font-size: 16px!important;
}

.button-white::before{
	background: #007ed3;
}

.button-white::after{
	background: url("../images/icon-arrow-blue.svg");
	width: 26px;
	height: 26px;
	background-repeat: no-repeat;
}
.button-white:hover{
	background: #007ed3;
	color: #fff;
}
.button-white:hover::after{
	background: url("../images/icon-arrow-white.svg");
	width: 26px;
	height: 26px;
	background-repeat: no-repeat;
}

/*先輩メッセージ///////////////////////////////////////*/


.interview-box{
	margin-bottom: 200px;
}


.interview-header{
	margin-bottom: -80px;
}

.interview-header .inner-right{
	width: 75vw;
	max-width: 1440px;
	margin-left: auto;
	position: relative;
	z-index: 0;
}


.interview-header .inner-left{
	width: 56.46vw;
	max-width: 1084px;
	min-height: 312px;
	margin-right: auto;
	margin-top: -232px;
	background: linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
	color: #fff;
	position: relative;
	z-index: 2;
	padding-top: 45px;
	padding-left: 360px;
}
.interview-header .inner-left::after{
	content: 'INTERVIEW01'; 
	z-index: -1;
	width: fit-content;
    /*font-size: 110.11px;*/
	font-size: clamp(60px, 10vw, 110.11px);
    color: #d6eaf8;
    font-weight: 100;
    line-height: 1;
    position: absolute;
    bottom: -8px;
    right: 44px;
    display: block;
    font-family: "Noto Sans JP", sans-serif;
	opacity: 0.2;
}
#interview-02 .interview-header .inner-left::after{
	content: 'INTERVIEW02'; 
}
#interview-03 .interview-header .inner-left::after{
	content: 'INTERVIEW03'; 
}

.interview-header .tug-line-white{
	color: #fff;
    font-size: clamp(18px, 4vw, 35px);
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 26px;
    line-height: 1.43;
    display: block;
}
.interview-header h4{
	color: #fff;
    font-size: clamp(18px, 4vw, 35px);
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
}
.interview-header h4 .mini{
	font-size: clamp(16px, 3.2vw, 30px);
}


.interview-header .small{
	display: inline-block;
	position: relative;
	padding-left: 50px;
}
.interview-header .small:before{
	content: '';
    display: block;
    width: 40px;
    height: 40px;
    background: url(../images/icon-job-sales.svg);
	background-size: contain;
	background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 2;
}
#interview-03 .interview-header .small:before{
	background: url(../images/icon-job-clerical.svg);
}

.interview-box .content-wrapper-inner{
	background: #f4f4f5;
	padding-top: 200px;
	padding-bottom: 120px;
	position: relative;
}
.interview-box .content-wrapper-inner::before{
	content: '';
	width: calc(349 / 1920 * 100vw);
	max-width: 349px;
	height: auto;
	aspect-ratio: 349 / 360.6776;
	position: absolute;
	right: 12px;
	top: -76px;
	background: url("../images/deco-02.svg");
	background-size: contain;
	background-repeat: no-repeat;
}
.interview-box .content-wrapper-inner::after{
	content: '';
	width: calc(851 / 1920 * 100vw);
	max-width: 851px;
    min-width: 400px;
	height: auto;
	aspect-ratio: 851 / 471;
	position: absolute;
	left: 0;
	bottom: 0;
	background: url("../images/deco-05.svg");
	background-size: contain;
	background-repeat: no-repeat;
}

.faq-list{
	display: flex;
	width: 100%;
    max-width: 1200px;
	gap: 65px 100px;
	flex-wrap: wrap;
	margin: 0 auto;
	position: relative;
	z-index: 3;
}

.faq-list li{
	background: #FFF;
	width: 100%;
	max-width: 550px;
	min-height: 335px;
	border-radius: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 60px 45px 30px;
}
.faq-list li h5{
	font-size: 16px;
	color: #0d2a65;
	margin-bottom: 32px;
	position: relative;
	padding-left: 72px;
}
.faq-list li h5::before{
	content: '';
    display: block;
    width: 50px;
    height: 50px;
    background: url(../images/icon-q-01.svg);
	background-size: contain;
	background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.faq-list li:nth-child(2) h5::before{
	background: url(../images/icon-q-02.svg);
}
.faq-list li:nth-child(3) h5::before{
	background: url(../images/icon-q-03.svg);
}
.faq-list li:nth-child(4) h5::before{
	background: url(../images/icon-q-04.svg);
}


.faq-list li p{
	padding-left: 72px;
}

#interview .link-wrapper a span::before{
	content: 'RECRUIT';
}




/*
 * レスポンシブデザイン
 */




@media (max-width: 1919px) {
	.interview-header .inner-left{
		padding-left: max(50px, 15.75vw);
}
	#hero {
        /* 疑似要素のはみ出し分(108px)を確保し、下の要素が食い込むのを防ぐ */
        /* デザイン的に少し余裕を持たせるなら 120px 程度でも良いかもしれません */
        margin-bottom: 108px !important; 
    }

    .video-area {
        margin-left: 264.449px !important;
        width: 1655.5509px !important;
        min-width: 1655.5509px !important;
    }

    .video-area:after {
        right: -23px !important;
        bottom: -108px !important;
        width: 1872px !important;
    }
    
    .video-wrapper {
        border-radius: 712.6px 0 657px 0 !important;
    }
}

@media (max-width: 1760px) {
	.footer-inner-box-01{
		width: auto;
	}
	.footer-inner-box-02 {
    min-width: unset;
}
	.video-wrapper{
		/*width: 100%;
		margin: 0 auto;
		min-width: 1000px;*/
	}
	/*#hero{
		min-height: 784px;
		    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	}*/
	
	#service-02 .content-wrapper-inner, 
	#service-01 .content-wrapper-inner{
		flex-direction: column;
        gap: 80px;
	}
	#service-02 .content-wrapper-inner,
	#service-01 .content-wrapper-inner{
        padding: 0 50px 0 100px;
        margin-left: auto;
        margin-right: auto;
	}
	#service-02 .content-wrapper-inner .inner-left, 
	#service-01 .content-wrapper-inner .inner-left{
		width: 100%;
        max-width: 870px;
	}
	#service-02 .content-wrapper-inner .inner-right,
	#service-01 .content-wrapper-inner .inner-right{
		width: 100%;
        max-width: 870px;
	}
	#business #service-02{
		padding-right: 50px;
        padding-left: 50px;
	}
	
	#csr #content-01 .flex-box{
		flex-direction: column;
        gap: 80px;
	}
	#csr #content-01 .content-wrapper .flex-box .inner-left{
		width: 100%;
	}
	#csr #content-01 .content-wrapper .flex-box .inner-right {
    width: 100%;
}
	
}


@media (max-width: 1640px) {

	#top-about-us .content-wrapper,
	#top-news .content-wrapper,
	#top-csr .content-wrapper,
	#top-profile .content-wrapper,
	#top-recruit .content-wrapper{
		width: 100%;
        max-width: 1440px;
		padding: 0 50px;
		margin: 0 auto;
	}
	#top-about-us .content-wrapper{
		flex-direction: column;
	}
	#top-about-us .inner-left{
		width: 100%;
	}
	#top-about-us .inner-left img{
		max-width: 1000px;
		margin: 0 auto;
	}
	#top-page .title-box{
		margin-left: 0;
	}
	
	#top-about-us .inner-right{
		width: 100%;
	}
	#top-about-us .inner-flex .button{
		margin: 0;
		font-size: clamp(16px, 3.5vw, 22px);
		height: auto;
	}
	#top-recruit h2{
        margin-left: 0;
	}
	#top-recruit .content-wrapper{
		padding-bottom: 80px;
	}
	#top-csr{
		background-position: right;
	}
	#top-recruit .button{
		margin-left: auto;
	}
	.contact-inner-01{
		flex-direction: column;
		        margin-bottom: 80px;
	}
	.area-box{
		margin: 0 auto;
	}
	#footer-contact-area .flex-box{
        flex-direction: column;
        align-items: center;
        gap: 60px;
	}
	
	
	
	.footer-info-box{
		flex-direction: column;
		margin-top: 100px;
	}
	.footer-info-box li{
		border-right: none;
		border-bottom: solid 1px #000;
		padding-left: 0;
		width: auto;
		padding-bottom: 10px;
	}
	.footer-info-box li:nth-child(1){
		width: auto;
	}
	.footer-inner-box-01{
		margin-right: 80px;
	}
	footer .copy{
		margin-left: 0;
	}
	.footer-logo{
		margin-left: 0;
	}
	.button{
		font-size: clamp(16px, 3.5vw, 22px);
	}
	
	.copy{
		display: none;
	}
	.copy-sp{
		display: flex;
		justify-content: flex-end;
	}
	
	#about_us #strength-01 .content-wrapper-inner, 
	#about_us #strength-03 .content-wrapper-inner{
		flex-direction: column-reverse;
		margin-bottom: 80px;
	}
	#about_us #strength-02 .content-wrapper-inner, 
	#about_us #strength-04 .content-wrapper-inner{
		flex-direction: column;
		margin-bottom: 80px;
		padding-top: 0;
	}
	#about_us #strength-01 .inner-right, 
	#about_us #strength-02 .inner-left, 
	#about_us #strength-03 .inner-right, 
	#about_us #strength-04 .inner-left{
        padding: 0 50px;
		width: 100%;
        max-width: 1300px;
        margin: 0 auto;
	}
	#about_us #strength-01 .ex-title, 
	#about_us #strength-03 .ex-title{
		margin-top: 1em;
        margin-left: 0;
	}
	#about_us #strength-02 .ex-title, 
	#about_us #strength-04 .ex-title{
		margin-top: 1em;
        margin-right: 0;
	}
	#about_us #content-02 .title-box, 
	#about_us #content-04 .title-box{
		margin-bottom: 73px;
	}
	#about_us #strength-01 .inner-left video, 
	#about_us #strength-02 .inner-right video, 
	#about_us #strength-03 .inner-left img, 
	#about_us #strength-04 .inner-right img{
		margin-top: 0;
	}
	#about_us #strength-01 .inner-left, 
	#about_us #strength-02 .inner-right, 
	#about_us #strength-03 .inner-left, 
	#about_us #strength-04 .inner-right{
		width: 100%;
        max-width: 910px;
        margin: 0 auto;
	}
	#about_us #content-03 .content-wrapper .point-wrapper li{
		width: 580px;
	}
	#about_us #content-03 .content-wrapper .point-wrapper{
		width: 100%;
    max-width: 1200px;
	}
	#about_us #content-03 .content-wrapper-inner{
		width: 100%;
	}
	#service-01 .item-wrapper h5::before{
		font-size: clamp(46px, 8.2vw, 120px);
	}
	.sdgs-list{
		flex-direction: column;
	}
	.sdgs-list .inner-left {
    width: 100%;
    margin-right: 0;
    margin-bottom: 40px;
}
	.sdgs-list:nth-of-type(1) .inner-right ul {
    max-width: unset;
}
	.sdgs-list .inner-right {
    max-width: unset;
}
	#csr #content-01 .title-box{
		/*margin: 0 auto -180px;*/
		margin: 0 auto -120px;
		padding-left: 100px;
	}
	#csr #content-01 .content-wrapper{
		padding-top: 200px;
	}
	
	#csr #content-02 .content-wrapper .flex-box{
		flex-direction: column;
		gap: 80px;
	}
	#csr #content-02 .content-wrapper{
		max-width: 1500px;
        padding: 0 50px;
	}
	#csr #content-02 .content-wrapper .flex-box .inner-left p {
    max-width: 840px;
}
	#csr #content-03 .content-wrapper{
		max-width: 1500px;
		padding: 0 50px;
	}
	#csr #content-01 .content-wrapper .content-wrapper-inner{
		padding: 0;
	}
	
	#overview #content-02{
        padding-right: 0;
	}
	
	.history-nav ul li a{
		width: 280px;
	}
	.history-nav{
        max-width: 1180px;
        padding-right: 80px;
	}
	#recruit #content-05{
		padding: 0 50px;
	}
	
	.interview-header .inner-left{
        padding-left: 100px;
    }
	
	#footer-contact-area .tel-button{
		min-width: unset;
    border-right: none;
	}
	#footer-contact-area .contact-button{
		margin-left: 0;
	}
	
	
	
	
}


@media (max-width: 1480px) {
	
	.site-header{
		height: 140px;
	}
	.main-nav.is-open > ul{
		padding-top: 140px;
	}
	.child-header{
		margin-top: 140px;
	}
	
	#main-content [id] {
  scroll-margin-top: 180px;
}
	#business #item-01{
		scroll-margin-top: 340px!important;
	}
	#business #item-02{
		scroll-margin-top: 80px!important;
	}
	
	#csr #content-01{
		scroll-margin-top: 300px;
	}
	

	
	.site-header .container{
		flex-direction: row;
		margin-top: 0;
        margin: 0 20px;
		height: 100%;
	}
	#top-service .title-box{
		flex-direction: column;
		gap: 40px;
	}
	#top-service .title-box-wrapper{
		height: 530px;
		top: 200px;
		left: unset;
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
	}
	.service-list-wrapper{
		flex-direction: column;
		align-items: center;
		gap: 80px;
	}
	.tel-fax-wrapper .flex-box{
		flex-direction: column;
        align-items: center;
		justify-content: center;
	}
	.tel-fax-wrapper .flex-box .inner-left, 
	.tel-fax-wrapper .flex-box .inner-right{
		width: 100%;
	}

	

    .main-nav {
        display: none; /* ハンバーガーメニュー表示時は非表示 */
        width: 100%;
        order: 3; /* 下に配置 */
        margin-top: 0;
		position: absolute;
        top: -40px;
        left: 0;
    }

    .main-nav.is-open { /* JavaScriptで追加されるクラス */
        display: block;
    }

    .main-nav ul {
        flex-direction: column;
        align-items: center;
		height: auto;
		border-radius: 0 0 37px 37px;
		background-color: rgba(255, 255, 255, 0.9);
		padding-top: 70px;
		box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
		gap: 16px;
    }

    .main-nav li {
        margin: 0;
		text-align: center;
    }
	
	.main-nav a{
		font-size: 20px;
		color: #008c0d;
		font-weight: 500;
	}
	.nav-contact a{
		width: fit-content;
        padding: 0 1em;
	}

    .menu-toggle {
        display: block;
		align-self: center;
		background : linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
        border-radius: 50%;
		width: 80px;
        aspect-ratio: 1 / 1;
		padding: 21px;
    }
	.menu-toggle.is-active{
		background: none;
	}
	.menu-toggle.is-active span{
		background : linear-gradient(90deg, rgba(0, 140, 13, 1) 0%, rgba(0, 126, 211, 1) 100%);
	}


    /* ハンバーガーメニューのアニメーション */
    .menu-toggle.is-active span:nth-child(1) {
        transform: translateY(16px) rotate(45deg);
    }

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

    .menu-toggle.is-active span:nth-child(3) {
        transform: translateY(-13px) rotate(-45deg);
    }
	
	.main-nav li:nth-child(1){
		margin-right: 0;
	}
	.main-nav li .sub-menu{
		opacity: 1;
        visibility: visible;
		position: relative;
		margin-top: 0;
		gap:0;
		color: #000;
        background: none;
        box-shadow: none;
		padding-top: 0;
	}
	.main-nav li .sub-menu > li{
		width: fit-content;
        height: auto;
	}
	.main-nav li .sub-menu > li > a{
		background: none;
		font-size: 18px;
		color: #000;
		font-weight: 400;
	}
	.main-nav li .sub-menu > li:hover > a {
    color: #000;
    }
	.main-nav li .sub-menu > li:hover > a::before {
    opacity: 0;
}
	
	.nav-contact a{
		color: #fff;
		font-weight: 400;
	}
	
	.main-nav.is-open > ul{
		padding-bottom: 40px;
	}
	
	.main-nav li.current > .sub-menu.sub-current > .ch-current > a{
		color: #000;
	}
	.main-nav li.current > .sub-menu.sub-current > .ch-current > a::before {
    opacity: 0;
}
	.main-nav li::before{
		display: none;
	}
	
	.recruit-intervie-info::after{
		width: 37px;
        height: 37px;
	}

	#top-profile .flex-box {
        align-items: flex-start;
        flex-direction: column;
    }
	#top-profile .button{
        margin-left: auto;
        margin-right: auto;
        margin-top: 80px;
        max-width: 420px;
        width: 100%;
        height: auto;
	}
	
	#top-recruit .content-wrapper{
		flex-direction: column;
	}
	#top-recruit p.tug-line br{
		display: none;
	}
	#top-recruit p{
		width: auto;
	}
	#top-recruit .inner-right {
    width: auto;
    margin-left: 0;
    margin-top: 80px;
    }
	.footer-inner{
		flex-direction: column;
	}
	.footer-inner-box-01{
		margin-right: 0;
	}
	.footer-info-area .content-wrapper{
		padding: 0 50px;
		background-position: center 100px;
	}
	
	.footer-inner-box-02 {
		display: flex;
        justify-content: space-between;
    }
	
	#about_us #content-01 .content-wrapper{
		flex-direction: column;
	}
	#about_us #content-01 .sub{
		margin-bottom: 2em;
	}
	#about_us #content-01 .content-wrapper .inner-right{
		max-width: 720px;
		width: 100%;
	}
	
	#service-02 .strength-list,
	#service-01 .strength-list{
		flex-direction: column;
        align-items: center;
        gap: 40px;
		width: fit-content;
        max-width: 100%;
	}
	#service-02 .item-wrapper .item-list, 
	#service-01 .item-wrapper .item-list{
		justify-content: center;
	}
	#service-02 .item-wrapper .flex-box{
		flex-direction: column;
	}
	#service-02 .ex-item-wrapper ul{
		flex-direction: column;
	}
	
	#service-02 .ex-item-wrapper ul li{
		width: 100%;
	}
	
	#service-01 .item-wrapper .item-list{
        margin-bottom: 0;
        flex-wrap: wrap;
        gap: 20px 14px;
	}
	
	#voice #content-01 .content-wrapper{
        flex-direction: column;
        gap: 40px;
		padding-bottom: 100px;
	}
	#voice #content-01 .content-wrapper .inner-left, 
	#voice #content-01 .content-wrapper .inner-right{
		width: 100%;
        min-height: unset;
        height: 210px;
	}
	
	.access-box .flex-box .inner-right{
		padding-left: 50px;
	}
	#message #content-01 .flex-box{
		flex-direction: column-reverse;
	}
	#message #content-01 .flex-box .inner-right {
    width: 100%;
    max-width: unset;
    margin-left: 0;
    margin-bottom: 80px;
    }
	#message #content-01 .flex-box .inner-left{
		width: 100%;
	}
	
	.time-line-inner{
		padding-right: 0;
	}
	.flow-list{
		width: 100%;
		flex-direction: column;
		align-items: center;
	}
	.flow-list li{
		width: 100%;
		max-width: 600px;
	}
	.flow-list li:after{
		top: unset;
    right: unset;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
    bottom: -57px;
	}
	
	
	.interview-header .inner-left{
		margin-top: -80px;
        width: 100%;
	}
	.interview-header {
    margin-bottom: -234px;
}
	.interview-box .content-wrapper-inner{
		padding-top: 354px;
	}
	
	#top-news .button{
        margin-right: 50px;
	}

	

}


@media (max-width: 1280px) {
	
	#top-news {
        position: relative;
        padding: 120px 0 216px;
    }
	
	#top-news .content-wrapper{
		flex-direction: column;
	}
	#top-news .content-wrapper .inner-right {
        width: 100%;
		/*margin-top: 80px;*/
    }
	#top-news .button{
		/*display: none;*/
		position: absolute;
		bottom: 120px;
		left: 50%;
		transform: translateX(-50%);
		margin:0;
	}
	
	
	
	
	
	#top-csr p{
		margin-left: 0;
	}
	#top-csr .content-wrapper ul{
		flex-direction: column;
	}
	#top-csr .content-wrapper ul li{
		width: 100%;
	}
	#top-csr .content-wrapper ul li a span > br{
		display: none;
	}
	#top-csr .content-wrapper ul li a span{
		line-height: inherit;
	}
	
	
	.copy-sp{
		margin-top: 40px;
	}
	
	.footer-inner-box-02{
		flex-direction: column;
	}
	.footer-nav-wrapper{
		justify-content: flex-end;
	}
	
	#about_us .point-wrapper{
		flex-direction: column;
    gap: 40px;
    align-items: center;
	}
	#about_us #content-03 .content-wrapper::before{
		background-size: cover;
	}
	#about_us #content-03 .content-wrapper .point-wrapper li{
		padding-bottom: 44px;
	}
	#about_us #content-03 .content-wrapper .point-wrapper{
		    margin-bottom: 0;
            padding: 0;
	}
	#about_us #content-03 .content-wrapper{
		padding-bottom: 100px;
	}
	#about_us #content-03 {
    margin-bottom: 150px;
}
	
	#business #content-01 .content-wrapper{
		flex-direction: column;
	}
	.link-wrapper a{
		height: auto;
	}
	.link-wrapper a img{
        max-width: 50%;
	}
	
	
	.voice-title{
        flex-direction: column-reverse;
	}
	.voice-title .inner-right{
		padding-top: 0;
		margin-bottom: 40px;
	}
	#voice #content-02 .content-wrapper{
		margin-top: -100px;
	}
	#voice #content-02 .content-wrapper .flex-box{
		flex-direction: column;
		gap: 40px;
	}
	#voice #content-02 .content-wrapper .flex-box:nth-child(1) .inner-left{
        max-width: unset;
	}
	#voice #content-02 .content-wrapper .flex-box:nth-child(2) .inner-right {
    max-width: unset;
    }
	#voice #content-02 .content-wrapper .flex-box:nth-child(2) {
    align-items: flex-start;
    flex-direction: column-reverse;
}
	#csr #content-03 .content-wrapper{
		flex-direction: column;
		gap: 80px;
	}
	#csr #content-03 .content-wrapper .inner-left {
    width: 100%;
}
	#csr #content-03 .content-wrapper .inner-right {
    display: flex;
    width: 100%;
    justify-content: center;
    gap: 20px;
}
	.link-wrapper a span::before {
        font-size: clamp(36px, 7.5vw, 110px);
        left: -0.5em;
    }
	
	.access-box .flex-box .inner-left{
		width: 50%;
	}
	
	.time-line-inner h4::before{
		width: 100px;
	}
	
	#year-1980 .time-line-inner h4::before{
		background-repeat: no-repeat;
        background-size: cover;
		background-position: left;
	}

	#year-1990 .time-line-inner h4::before{
		background-repeat: no-repeat;
        background-size: cover;
		background-position: left;
	}

	#year-2000 .time-line-inner h4::before{
		background-repeat: no-repeat;
        background-size: cover;
		background-position: left;
	}

	#year-2010 .time-line-inner h4::before{
		background-repeat: no-repeat;
        background-size: cover;
		background-position: left;
	}

	#year-2020 .time-line-inner h4::before{
		background-repeat: no-repeat;
        background-size: cover;
		background-position: left;
	}
	.time-line-inner{
		padding-left: 186px;
	}
	.time-line-inner ul{
		padding-left: 0;
	}
	.time-line-inner ul li{
		display: flex;
	}
	
	.time-line-inner .month{
		display: block;
		min-width: 3em;
        line-height: 1.75;
	}
	
	
	.recruit-intervie-list li .small{
		margin-left: -60px;
	}
	
	#recruit #content-03 .content-wrapper {
        position: relative;
		padding-bottom: 160px;
    }
	
	#recruit #content-03 .flex-box .inner-right{
		position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
	}
	.recruit-intervie-list{
		gap: 60px;
	}
	
	.interview-header .inner-left{
		    margin-top: -20px;
		max-width: unset;
	}
	.interview-header .inner-right{
		width: 100%;
	}
	
	.interview-header{
		margin-bottom: 0;
	}
	.interview-box .content-wrapper-inner{
		padding-top: 200px;
		padding-left: 50px;
        padding-right: 50px;
	}
	.faq-list{
		gap: 50px;
	}
	
	.faq-list li{
		max-width: unset;
	}
	
}


@media (max-width: 1040px) {
	.footer-inner-box-02{
		flex-direction: column;
	}
	#about_us #strength-02{
		padding-bottom: 150px;
	}
	.voice-title{
		padding: 0 50px;
	}
	.voice-title .inner-left{
		width: 100%;
		max-width: 539px;
	}
	#voice #content-01 .content-wrapper{
		padding: 0 50px 180px;
	}
	.sdgs-list .inner-left img {
    width: 120px;
}
	.company-container{
		flex-direction: column;
	}
	.side-contanier {
		width: 100%;
		/*background: #fff;*/
		z-index: 10;
		padding-bottom: 40px;
		background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%,rgba(255, 255, 255, 1) 80%,rgba(255, 255, 255, 0.5) 100%);
	}
	.side-contanier ul{
		flex-direction: row;
		padding: 0 80px;
	}
	#overview .main-contanier {
    width: 100%;
}
	.main-contanier #content-01 .title-box{
		margin-top: 100px;
	}
	
	#history .child-header,
	#message .child-header,
	#overview .child-header{
		margin-bottom: 0;
	}
	#history .child-header{
		margin-bottom: 80px;
	}
	
	
	.access-box .flex-box{
        flex-direction: column;
        gap: 40px;
	}
	.access-box .flex-box .inner-right {
		padding-left: 0;
	}
	.access-box .flex-box h4{
		margin-bottom: 20px;
	}
	.access-box .flex-box .inner-left{
		width: 100%;
		max-width: 470px;
	}
	
	#message #content-01{
		padding: 0 80px;
	}
	
	#message #content-02 .content-wrapper{
		padding: 0 80px;
	}
	
	.history-nav{
		padding-left: 80px;
		margin-bottom: 80px;
	}
	#history #content-01{
		padding: 0 80px;
	}
	.history-nav ul{
		gap: 40px;
	}
	.history-nav ul li a {
        width: 200px;
        font-size: 18px;
        height: 40px;
    }
	
	#overview #content-02,
	#message #content-02 {
    scroll-margin-top: 400px;
}
	#message #content-02 .title-box{
		margin-left: 0;
	}
	#message #content-01 .flex-box .inner-right{
      padding-top: 80px;
	}  
	
	#recruit #content-02 .title-box{
		padding-left: 50px;
	}
	
	.merit-item{
      flex-direction: column;
      margin-bottom: 80px;
      align-items: center;
	}
	.merit-info-box {
    padding-left: 0;
    width: 100%;
    margin-top: 1em;
		max-width: 560px;
    }
	#recruit #content-02{
      background-size: cover;
      padding-bottom: 80px;
	}
	
	.recruit-intervie-list{
		flex-direction: column;
		align-items: center;
		gap: 100px;
	}
.recruit-intervie-list li:nth-child(2) {
    padding-top: 0;
}

	#service-02 .item-wrapper h5{
		width: fit-content;
	}
	#service-02 .item-wrapper h5::before{
		bottom: unset;
	}
	
	
	
}



@media (max-width: 960px) {
    #hero {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        min-height: 0 !important; /* PC版のmin-heightを解除 */
        margin-bottom: 0px !important;
        overflow: visible !important;
		margin-top: 140px;
    }

    /* 1. 動画エリア：幅比率を維持しつつ「右寄せ」に配置 */
    .video-area {
        order: 1 !important;
        width: 97.174vw !important; /* 637px時619pxの比率 */
        max-width: 97.174vw !important;
        min-width: 0 !important;
        
        /* 右寄せ設定 */
        margin-left: auto !important;
        margin-right: 0 !important; 
        
        padding-bottom: 0 !important;
        position: relative !important;
        overflow: visible !important;
    }

    /* 2. 疑似要素：右寄せになっても動画との位置関係を維持 */
    .video-area:after {
        content: '';
        display: block !important;
        position: absolute !important;
        top: auto !important;
        /*bottom: -5.625vw !important;*/
		bottom: -2.825vw !important;
        /*left: auto !important; */
		left: -2.982vw !important;
        /*right: -1.2vw !important; */
		right: auto !important;
        width: 106% !important; 
        /*aspect-ratio: 1872 / 879 !important;*/
		aspect-ratio: 648 / 303.7986 !important;
        background: url("../images/video-wrapper-back-sp.svg") no-repeat !important;
        background-size: contain !important;
        background-position: right bottom !important;
        z-index: -1 !important;
    }

    /* 3. 画像（picture）：動画の下端に70px食い込ませる */
    .top-copy {
        order: 2 !important;
        position: relative !important;
        z-index: 10 !important;
        width: 100% !important; /* 画像の幅はデザインに合わせて適宜調整してください */
        /* 上方向へ70px食い込ませる。左右は中央配置を維持 */
        margin: -70px auto 0 !important; 
    }

    /* 4. 動画本体：設定維持 */
    .video-wrapper {
        width: 100% !important;
        aspect-ratio: 1655.5509 / 931.2474 !important;
        border-radius: 37.118vw 0 34.221vw 0 !important;
        overflow: hidden !important;
        z-index: 1 !important;
    }
		
		.top-copy{
			top: unset;
			left: unset;
		}

    .top-copy picture img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
    }
	
	#top-about-us h2{
		margin-top: 95px;
	}
	
	/*.site-header{
		height: 140px;
	}
	.main-nav.is-open > ul{
		padding-top: 140px;
	}*/

	
	/*#hero{
		min-height: unset;
		width: 100%;
		aspect-ratio: 768 / 784;
		max-height: 784px;
	}
	
	
	.top-copy{
		left: -30px;
	}*/
	#top-about-us .inner-flex{
        flex-direction: column;
        align-items: center;
	}
	.area-box{
		max-width: 609px;
        width: 100%;
        flex-direction: column;
        height: auto;
        align-items: flex-start;
	}
	#footer-contact-area .content-wrapper{
		border-radius: 396px 0px 0 0;
	}
	
	#top-profile .title-wrapper{
    align-items: flex-start;
    flex-direction: column;
		margin-bottom: 40px;
	}
	#top-profile p{
		font-size: clamp(20px,4vw,36px);
	}
	
	#top-csr{
		padding-top: 100px;
	}
	.footer-logo{
		width: 273.6634px;
    /*height: 53.7003px;*/
	}
	.footer-info-box{
		margin-top: 40px;
	}
	
	
	.child-header{
        background-position: left 30vw center;
        background-size: contain;
        aspect-ratio: 1610 / 539;
        height: auto;
	}
	.child-header .title-warpper{
		display: flex;
    flex-direction: column;
    justify-content: center;
	}
	
	.child-header .title-box h2{
		font-size: clamp(40px, 10vw, 90px);
		margin-top: 0;
	}
	.child .sub{
		        font-size: clamp(16px, 4vw, 26px);
        margin-top: 2em;
        position: relative;
        z-index: 1;
	}
	.child h3{
		font-size: clamp(40px, 10vw, 90px);
        margin-bottom: 0;
	}
	
	#about_us #content-02 .tug-line,
	.child .tug-line{
		font-size: clamp(20px, 4vw, 36px);
	}
	
	#about_us #content-03 .content-wrapper .button-wrapper {
    position: relative;
    top: unset;
    right: unset;
    margin-top: 80px;
    display: flex;
    justify-content: center;
}
	
	
	.link-wrapper a span{
		margin-left: 7vw;
		font-size: clamp(18px, 2.95vw, 32px);
	}
	.link-wrapper a span::before{
		font-size: clamp(36px, 8.735vw, 110px);
        left: -0.5em;
	}
	.link-wrapper a .inner-right::after{
        width: 37px;
        height: 37px;
		right: 8%;
	}
	.link-wrapper{
		margin-bottom: 40px;
	}
	
	#csr #content-01 .content-wrapper{
		    padding: 137px 50px 187px;
	}
	#csr #content-01 .content-wrapper-inner-02{
		padding: 100px 50px 84px;
	}
	.privacy-list-wrapper > p {
    padding: 0;
}
	.privacy-list{
		    padding: 64px 0;
	}
	.philosophy-list-wrapper{
		padding: 62px 50px;
	}
	#recruit #content-01 .flex-box{
		flex-direction: column;
	}
	#recruit #content-01 .flex-box .inner-left{
		margin-bottom: 80px;
	}
	#recruit #content-01 .flex-box .inner-right{
		padding-left: 14px;
		max-width: unset;
	}
	.merit-wrapper .image-box {
    width: 100%;
}
	#recruit #content-03 .flex-box{
		padding: 0 0 70px;
	}
	
	.merit-item{
      max-width: 560px;
	}
	.merit-wrapper{
		align-items: center;
	}
	/*#recruit #content-05 .sub{
		margin-top: 44px;
	}*/
    #recruit #content-05 .title-box {
        padding-left: 0;
    }
	
	.interview-box .content-wrapper-inner{
        padding-top: 80px;
	}

	#csr .child-header{
        margin-bottom: 160px;
	}
	#service-02 h5, #service-01 h5,
	#service-02 h4, #service-01 h4{
		font-size: clamp(24px, 4.5vw, 42px);
	}
	
	.side-contanier{
		display: none;
	}
	
	
}


@media (max-width: 768px) {
	
	#top-page h2{
		font-size: clamp(40px,10vw,90px);
		margin-bottom: 1em;
	}
	
	#top-about-us h2{
		margin-top: 60px;
	}
	
	#footer-contact-area h2{
		margin-bottom: 0;
	}
	.sub,
	#top-about-us .sub{
		font-size: clamp(16px,4vw,26px);
		    margin-top: 2em;
		position: relative;
		        z-index: 1;
	}
	
	#top-news .content-wrapper .inner-left{
		padding-bottom: 0;
	}
	
	
	
	
	
	
	#footer-contact-area {
    padding: 56px 20px 60px;
}
	#footer-contact-area .sub {
        margin-bottom: 48px;
    }

	#footer-contact-area .content-wrapper{
		border-radius: 0;
		padding: 50px 20px;
	}
	
	#footer-contact-area .contact-button{
		max-width: 500px;
		width: 100%;
		justify-content: center;
	}
	#footer-contact-area .contact-button span{
		font-size: clamp(16px,3.5vw,22px);
		margin-left: 0;
	}
	
	
	.area-box{
		padding: 25px 20px;
		gap: 20px;
	}
	.area-box p{
		font-size: 16px;
	}
	.contact-inner-01{
		margin-bottom: 20px;
	}
	#footer-contact-area p.center{
		font-size: 18px;
		margin-bottom: 40px;
	}
	#footer-contact-area .tel-button{
		padding-top: 0;
	}
	#footer-contact-area .tel-button p{
		font-size: clamp(32px,7.3vw,56px);
	}
	#footer-contact-area .mini{
		display: inline-block;
        font-size: 14px;
	}
	#footer-contact-area .mini > span{
		display: inline-block;
	}
	
	#top-page h2:before,
	#top-csr h2::before, 
	#top-news h2:before,
	#top-profile .title-box h2::before,
	#footer-contact-area h2::before {
    left: -0.5em;
    top: -0.3em;
    width: 2em;
}
	
	.child h3:before{
		left: -0.5em;
    bottom: 0.2em;
    width: 2em;
	}
	
	
	
	
	
	#top-about-us .inner-right::before{
		width: 25.57vw;
		top: -18vw;
        right: -10vw;
	}
	#top-about-us .inner-right h3{
		font-size: clamp(22px,5vw,42px);
	}
	#top-about-us .inner-right{
		padding: 85px 50px 65px;
	}
	#top-profile .title-wrapper .overflow-image-box{
		width: calc(100% + 40px);
	}
	
	#top-csr .content-wrapper ul{
		align-items: center;
	}
	#top-csr .content-wrapper ul li{
		width: fit-content;
	}
	#top-csr .content-wrapper ul li a{
		flex-direction: column;
		width: fit-content;
		max-width: 100%;
		height: auto;
		background: #fff;
	}
	#top-csr .content-wrapper ul li a span {
    display: block;
    margin-left: 0;
    background: #fff;
    width: 100%;
    text-align: center;
    position: relative;
    padding: 10px 0;
}
#top-csr .content-wrapper ul li a::after {
    content: '';
    display: none;
}
	#top-csr .content-wrapper ul li a span::after {
    content: '';
    display: block;
    width: 37px;
    height: 37px;
    background: url(../images/icon-arrow.svg);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
	#top-service .content-wrapper{
		padding-right: 20px;
		padding-left: 20px;
	}
	.service-list{
		width: 100%;
		max-width: 633px;
		padding: 110px 20px 54px;
	}
	.service-list ul{
		flex-direction: column;
	}
	.service-list ul li{
		font-size: 16px;
	}
	
	
	.service-list .etc{
		align-self: center;
	}
	.service-list-wrapper .service-list:nth-of-type(1):before,
	.service-list-wrapper .service-list:nth-of-type(2):before{
		aspect-ratio:311 / 148;
		width: 40vw;
		background-size: 30%;
        background-position: center;
	}
	.service-list-wrapper .service-list:nth-of-type(1) .service-list-inner-01:before,
	.service-list-wrapper .service-list:nth-of-type(2) .service-list-inner-01:before{
		top: -90px;
	}
	.service-list-wrapper .service-list:nth-of-type(2) .button{
		width: 100%;
    max-width: 331px;
	}
	.service-list-wrapper .service-list:nth-of-type(1) .button{
		width: 100%;
    max-width: 261px;
	}
#top-service .title-box p {
    font-size: 18px;
}
	
	#top-service .title-box p br{
		display: none;
	}
	
	.top-service-copy{
		max-width: 720px;
        min-width: 300px;
        width: fit-content;
		font-size: 16px;
		height: auto;
		min-height: 80px;
        margin-bottom: 100px;
		padding: 0 20px;
		flex-direction: column;
	}
	.top-service-copy::before,
	.top-service-copy::after{
		display: none;
	}
	top-service-copy > span{
		display: inline-block;
	}
	#top-service .title-box{
		padding: 0 20px;
	}
	#top-service .content-wrapper::after{
		min-width: 200px;
	}
	#top-profile{
		padding-bottom: 100px;
	}
	#top-recruit .tug-line{
		font-size: clamp(32px, 8vw, 50px);
	}
	#top-recruit .tug-line{
		margin-bottom: 1.5em;
	}
	#top-recruit .button{
		max-width: 420px;
		height: auto;
		width: 100%;
	}
	.footer-inner{
		padding-top: 100px;
		padding-bottom: 0;
	}
	.footer-info-title{
		margin-bottom: 16px;
	}
	
	#about_us .point-wrapper li,
	#about_us #content-03 .content-wrapper .point-wrapper li{
		max-width: 580px;
        width: 100%;
		padding-right: 20px;
        padding-left: 20px;
	}
	#about_us #strength-01 .inner-left, 
	#about_us #strength-02 .inner-right, #about_us #strength-03 .inner-left, 
	#about_us #strength-04 .inner-right{
		padding: 0 50px;
	}
	#about_us .point-wrapper{
		padding: 0 50px;
	}
	#about_us #content-03 .content-wrapper-inner{
		padding: 164px 50px 0;
	}
	#about_us #content-03 .content-wrapper .point-wrapper li .button{
		max-width: 331px;
    width: 100%;
	}
	
	#about_us #content-03 {
        margin-bottom: 0;
    }
	
	
	#service-02 .content-wrapper-inner{
		padding: 0;
	}
	#service-01 .content-wrapper-inner{
		padding: 0 50px;
	}
	
	/*#service-02 h5, #service-01 h5,
	#service-02 h4, #service-01 h4{
		font-size: clamp(24px, 4.5vw, 42px);
	}*/
	#service-02 .strength-wrapper, 
	#service-01 .strength-wrapper{
		padding: 50px 0 197px;
	}
	
	#service-01 .strength-wrapper{
		margin-bottom: 0;
		padding-bottom: 80px;
		margin-top: 80px;
	}
	
	#service-02 h5::before{
		top: -0.5em;
	}
	#service-02 .item-wrapper h5::before,
	#service-01 .item-wrapper h5::before {
    bottom: -0.5em;
}
	
	#service-01 h5::before{
		font-size: clamp(46px, 8.2vw, 120px);
		top: -0.5em;
	}
	
	#service-02 .item-wrapper{
		    display: flex;
    flex-direction: column;
    align-items: center;
	}
	#service-02 .title-wrapper,
	#service-01 .title-wrapper{
        width: fit-content;
		top: -1.5em;
	}
	#service-02 .item-wrapper h6,
	#service-01 .strength-list li h6, 
	#service-02 .strength-list li h6,
	#service-01 .tug-line, 
	#service-02 .tug-line{
		font-size: clamp(20px, 4vw, 30px);
	}
	#service-02 .item-wrapper .item-list li h7{
		font-size: clamp(20px, 4vw, 20px);
	}
	
	
	#service-02 .item-wrapper{
		    padding: 120px 50px;
	}
	#service-02 .item-wrapper .flex-box .item-list li{
		height: auto;
    padding-bottom: 20px;
	}
	
	#service-02 .ex-item-wrapper ul{
		padding: 68px 23px;
	}
	
	#service-01 .item-wrapper{
		    display: flex;
    flex-direction: column;
    align-items: center;
	}
	
	.link-wrapper{
		padding: 0 20px;
	}
	.link-wrapper a img {
        max-width: 30%;
    }
	
	#interview .child-header,
	#recruit .child-header,
	#news .child-header,
	#privacy .child-header,
	#voice .child-header,
	#business .child-header{
		margin-bottom: 80px;
	}
	
	#business #content-01 .content-wrapper .inner-left,
	#business #content-01 .content-wrapper .inner-right{
		width: 100%;
		max-width: 551px;
	}
	#about_us #content-02 .tug-line{
		margin-bottom: 0;
	}
	
	
	#business #content-01{
		padding-bottom: 200px;
	}
	.voice-title .inner-right{
		padding-left: 0;
	}
	
	#voice #content-02 .content-wrapper {
        padding-top: 160px;
		margin-bottom: 80px;
    }
	#voice #content-01 .content-wrapper .inner-left a img, 
	#voice #content-01 .content-wrapper .inner-right a img{
		width: 30%;
	}
	#voice #content-01 .content-wrapper .inner-left, 
	#voice #content-01 .content-wrapper .inner-right{
		height: fit-content;
		display: flex;
	}
	#voice #content-01 .content-wrapper .inner-left a, 
	#voice #content-01 .content-wrapper .inner-right a{
		height: auto;
	}
	
	#voice #content-02 .content-wrapper .tug-line{
		margin-bottom: 1em;
	}
	
	.environment-list-wrapper{
		padding: 57px 30px 75px;
		margin-bottom: 100px;
	}
	#csr #content-01 .content-wrapper-inner-02 {
        padding: 100px 30px 84px;
    }
	#csr #content-02 .content-wrapper .flex-box .inner-right{
		max-width: unset;
		width: 100%;
	}
	#csr #content-01 .content-wrapper{
		border-radius: 100px 0;
	}
	#csr #content-03 .content-wrapper .inner-right{
		flex-direction: column;
        align-items: center;
	}
	#privacy #content-01 .content-wrapper{
		padding: 0 50px;
		margin: 0 auto 80px;
	}
	
	.side-title{
		margin-left: 50px;
		margin-bottom: 30px;
	}
	.side-contanier ul {
		padding: 0 50px;
	}
	#overview #content-01 {
    padding-left: 50px;
}
	.profile-row dt {
		width: 160px;
		padding-left: 0;
	}
	#message #content-01 {
        padding: 0 50px;
    }
	.philosophy-list p br{
		display: none;
	}
	#message #content-02 .content-wrapper {
        padding: 0 50px;
    }
	.philosophy-list-wrapper {
        padding: 62px 30px;
    }
	#history #content-01 {
        padding: 0 50px;
    }
	
	.time-line-wrapper:last-of-type::after,
	.time-line-wrapper::before{
		left: 30px;
	}
    .time-line-inner {
        padding-left: 146px;
    }
	.time-line-wrapper{
		padding: 100px 0 50px;
	}
	#history #content-01{
		margin-bottom: 100px;
	}
	.history-nav ul {
        gap: 20px;
    }
	.history-nav ul li a{
		width: 150px;
	}
	.history-nav {
        padding-left: 50px;
        padding-right: 50px;
        margin-bottom: 50px;
    }
	
	.pager{
		margin: 60px auto 80px;
	}
	
	.news-info{
		padding: 0;
	}
	
	.tel-fax-wrapper .flex-box{
		min-height: unset;
		margin-bottom: 1em;
	}
	
	#recruit #content-01 .flex-box{
		padding: 0 50px 110px 50px;
	}
	#recruit #content-01 .flex-box .inner-right{
		padding-left: 0;
	}
	.merit-wrapper{
		padding: 0;
	}
	
	#recruit #content-03 .content-wrapper{
		padding: 0 50px 160px;
	}
	#recruit #content-03 {
    padding-top: 160px;
}
	.recruit-intervie-list li {
		width: 100%;
    max-width: 400px;
}
	#recruit #content-02 .title-box {
        padding-left: 0;
        padding-right: 0;
    }
	
	#recruit #content-04 .content-wrapper{
		padding: 0 50px;
	}
	#recruit #content-04 {
    margin-bottom: 80px;
}
	
	#recruit #content-05 .text-box p {
    text-align: left;
}
	
	
	.interview-header .inner-left{
		padding-left: 50px;
        padding-right: 50px;
		padding-bottom: 40px;
		min-height: 200px;
	}
	.interview-header .inner-left::after{
		right: 50px;
	}
	
	.faq-list li p{
		padding-left: 0;
	}
	.interview-box .content-wrapper-inner::before{
		top: 0;
	}
	.interview-box {
    margin-bottom: 100px;
}
	#footer-contact-area .tel-button,
	.tel-fax-wrapper .flex-box .inner-left a{
		pointer-events: auto;
	}
	
	#csr #content-01 .title-box{
		padding-left: 50px;
		margin-bottom: -100px;
	}
	
	#csr .child-header {
        margin-bottom: 100px;
    }
	.side-contanier ul li a{
		font-size: 16px;
	}
	#about_us .child-header {
    margin-bottom: 80px;
}
	#about_us #content-02 {
		padding-top: 80px;
	}
	#about_us #content-02 .title-box{
		margin-bottom: 20px;
	}
	
	.flow-list li{
		height: auto;
        padding-bottom: 48px;
    padding-top: 48px;
	}
	
	
	
}

@media (max-width: 580px) {
	#main-content [id] {
  scroll-margin-top: 140px;
}
	#business #item-01{
		scroll-margin-top: 300px!important;
	}
	#business #item-02{
		scroll-margin-top: 280px!important;
        padding-top: 100px;
	}
	
	#csr #content-01{
		scroll-margin-top: 260px;
	}
	
	
	.footer-nav-wrapper{
        flex-direction: column;
		gap: 0;
		margin-bottom: 20px;
	}
	.footer-nav li {
    margin-bottom: 20px;
}
	.footer-nav li.group{
		gap: 14px;
	}
	.footer-nav li.group a:nth-child(1){
		margin-bottom: 0;
	}
	.sanpai-kun{
		max-width: 320px;
		width: 100%;
	}
	.footer-inner-box-03-inner{
		width: 100%;
        flex-direction: column;
        gap: 4px;
	}
	.footer-info-area .content-wrapper{
		padding: 0 20px;
		background-size: 300px;
	}
	
	#voice #content-01 .content-wrapper .inner-left a .info-box .mini, 
	#voice #content-01 .content-wrapper .inner-right a .info-box .mini{
		font-size: 14px;
	}
	#voice #content-01 .content-wrapper .inner-left a .info-box::after, 
	#voice #content-01 .content-wrapper .inner-right a .info-box::after{
		right: 10px;
	}
	#voice #content-01 .content-wrapper {
        padding: 0 50px 80px;
    }
	#voice #content-02 .content-wrapper .last-box{
		padding: 70px 30px;
	}
	#csr #content-03 .content-wrapper{
		        padding: 0 20px;
		margin-bottom: 40px;
		gap: 40px;
	}
	#csr #content-01 .content-wrapper-inner-02 h4::before{
		left: 50%;
    /*transform: translate(-50%, -50%);*/
		transform: translateX(-50%);
        top: -0.5em;
		width: fit-content;
	}

	
	.side-contanier ul{
		flex-wrap: wrap;
		gap: 10px 34px;
	}
	.side-title{
		margin-bottom: 40px;
	}
	.side-contanier{
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.profile-row{
        flex-direction: column;
	}
    .profile-row dt {
        width: 100%;
        margin-bottom: 1em;
    }
	#overview .child-header {
        /*margin-bottom: 80px;*/
		margin-bottom: 0;
    }
	#overview #content-02{
		padding-left: 50px;
	}
	#message #content-01 .tug-line br{
		display: none;
	}
	.philosophy-list-wrapper{
		margin-bottom: 80px;
	}
	#history #content-01{
		padding: 0 20px;
	}
	.time-line-inner h4 {
		font-size: 26px;
	}
	.time-line-inner h4::before {
        width: 60px;
    }
    .time-line-inner {
        padding-left: 107px;
    }
	.time-line-inner ul li{
		flex-direction: column;
	}
	.history-nav {
        padding-left: 20px;
        padding-right: 20px;
    }
	
	#overview #content-02,
	#message #content-02 {
    scroll-margin-top: 300px;
}
	
	#news .news-list li::after{
		right: 20px;
	}
	#news .news-list li a{
		padding: 32px 74px 50px 32px;
	}
	.pager{
		gap: 20px;
	}
	
	.pager a,
	.pager-link.current,
	.pager .button-next, 
	.pager .button-prev {
    width: 37px;
    height: 37px;
	}
	.custom-pager .page-numbers{
		gap: 20px;
	}
	
	.tel-fax-wrapper{
		padding: 50px 20px;
	}
	.tel-fax-wrapper .flex-box .inner-left a::before, 
	.tel-fax-wrapper .flex-box .inner-right span::before{
		width: 8vw;
    height: 8vw;
	}
	.tel-fax-wrapper .flex-box .inner-left a, 
	.tel-fax-wrapper .flex-box .inner-right span{
		padding-left: 10vw;
	}
	
	#recruit #content-05 .content-wrapper{
		padding: 105px 50px 100px;
	}
	    #recruit #content-05 {
        padding: 0 20px;
    }
	.interview-header .tug-line-white br{
		display: none;
	}
	.site-logo{
		height: auto;
    width: 200px;
	}
	
.menu-toggle{
    width: 40px;
    padding: 11px;
}

.menu-toggle span,
.menu-toggle.is-active span{
	width: 18px;
	margin-bottom: 6px;
}

.menu-toggle.is-active span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
	margin: 0;
    }

.menu-toggle.is-active span:nth-child(3) {
        transform: translateY(-4px) rotate(-45deg);
	margin: 0;
    }
.site-header {
        height: 80px;
    }	
.child-header {
        margin-top: 100px;
    }	
	#hero{
		margin-top: 80px;
	}	
	
	#business #service-01{
		scroll-margin-top: 40px;
	}
	
	#business #service-02{
		scroll-margin-top: 0;
	}
	
	
}


@media (max-width: 440px) {
	
	#footer-contact-area .tel-button p::before{
        width: 37px;
        height: 37px;
	}
	#footer-contact-area .tel-button p{
          margin-left: 20px;
        padding-left: 57px;
	}
	#footer-contact-area .mini{
		padding-left: 57px;
	}
	
	
	#footer-contact-area .contact-button{
		height: auto;
	}
	
#footer-contact-area .contact-button span::before{
		width: 37px;
        height: 37px;
	left: 20px
	}
	#footer-contact-area .contact-button::after{
		width: 32px;
        height: 32px;
		right: 20px
	}
	
	#voice #content-02 .content-wrapper .last-box{
		margin: 0 20px;
	}
	
	#news.news-detail #content-01 .content-wrapper,
	#message #content-01,
	#csr #content-02 .content-wrapper,
	.voice-title,
	#voice #content-02 .content-wrapper .flex-box,
	#business #content-01 .content-wrapper,
	#service-01,
	#about_us .point-wrapper,
	#about_us #strength-01 .inner-left, 
	#about_us #strength-02 .inner-right, 
	#about_us #strength-03 .inner-left, 
	#about_us #strength-04 .inner-right,
	#about_us #strength-01 .inner-right, 
	#about_us #strength-02 .inner-left, 
	#about_us #strength-03 .inner-right, 
	#about_us #strength-04 .inner-left,
	#about_us #content-02 .title-box, 
	#about_us #content-04 .title-box,
	#about_us #content-01 .content-wrapper,
	.child-header,
	#top-about-us .content-wrapper, 
	#top-news .content-wrapper, 
	#top-csr .content-wrapper, 
	#top-profile .content-wrapper, 
	#top-recruit .content-wrapper{
		padding: 0 20px;
	}
	
	#overview #content-01 {
        padding-left: 20px;
        margin-bottom: 100px;
    }
	#overview .main-contanier {
    padding-right: 20px;
}
	.side-contanier ul {
        padding: 0 20px;
    }
	.side-title {
        margin-left: 20px;
    }
	
	
	#business #service-02{
		padding-left: 20px;
		padding-right: 20px;
	}
	
	#service-01 .content-wrapper-inner,
	#service-01 .item-wrapper{
		padding-left: 0;
		padding-right: 0;
	}
	#service-02 .item-wrapper {
        padding: 120px 20px;
    }
	
	#csr #content-01 .content-wrapper {
        padding: 137px 20px 187px;
    }
	
	
	
	
	
	#top-about-us .inner-right {
        padding: 85px 20px 65px;
    }
	
	#top-profile p{
		font-size: 20px;
	}
	
	#top-news .content-wrapper .inner-right{
		/*margin-top: 40px;*/
		margin-top: 20px;
	}
	.service-list-wrapper .service-list:nth-of-type(1):before,
	.service-list-wrapper .service-list:nth-of-type(2):before{
		background-size: 80px;
	}
	.service-list-inner-01 h3 {
        font-size: 18px;
    }
	#top-service .title-box-wrapper{
		height: 400px;
		top: 110px;
	}
	
	#about_us .point-wrapper li{
		padding: 44px 20px;
	}
	#about_us #content-03 .content-wrapper-inner{
		padding: 100px 20px 0;
	}
	#about_us #content-03 .title-box{
		margin-left: 0;
	}
	
	#service-02 .strength-list li, 
	#service-01 .strength-list li{
		max-width: 420px;
		width: 100%;
	}
	#voice #content-01 .content-wrapper {
        padding: 0 20px 180px;
    }
	#csr #content-03 .content-wrapper .inner-left dl:nth-of-type(3) dt,
	#csr #content-03 .content-wrapper .inner-left dl dt{
		margin-right: 1em;
	}
	#privacy #content-01 .content-wrapper {
        padding: 0 20px;
    }
	.privacy-list-title{
		font-size: 20px;
	}
	.privacy-list .privacy-list-title::before{
		top: 9px;
	}

	#overview #content-02{
		padding-left: 20px;
	}
	#message #content-02 .content-wrapper {
        padding: 0 20px;
    }
	
    .time-line-wrapper:last-of-type::after,
	.time-line-wrapper::before {
        left: 10px;
    }
	.time-line-inner {
        padding-left: 87px;
    }
	
	#news #content-01 .content-wrapper{
		padding: 0 20px;
        margin-bottom: 80px;
	}
	
	.tel-fax-wrapper .flex-box .inner-left a::before, 
	.tel-fax-wrapper .flex-box .inner-right span::before{
		width: 35.19px;
    height: 35.19px;
	}
	.tel-fax-wrapper .flex-box .inner-left a, 
	.tel-fax-wrapper .flex-box .inner-right span{
		padding-left: 44px;
	}
	
	#recruit #content-01 .flex-box {
        padding: 0 20px 80px 20px;
    }
	#recruit #content-01 .tug-line{
		margin-bottom: 1em;
	}
	
    #recruit #content-02 .content-wrapper {
    padding: 0 20px;
    }
	#recruit #content-02{
		padding-bottom: 0;
        padding-top: 100px;
	}
	#recruit #content-03 .content-wrapper {
        padding: 0 20px 160px;
    }
	#recruit #content-04 .content-wrapper{
		    padding: 0 20px;
	}
	#recruit #content-05 .content-wrapper{
		padding-top: 80px;
		padding-left: 30px;
		padding-right: 30px;
		border-radius: 40px;
	}
	#recruit #content-05 {
    margin-bottom: 80px;
}
	
	.interview-header .inner-left{
            padding-left: 20px;
            padding-right: 20px;
	}
	.interview-header .small:before{
		    width: 30px;
            height: 30px;
	}
	.interview-header .small{
		padding-left: 40px;
	}
	
	.interview-box .content-wrapper-inner{
            padding-left: 20px;
            padding-right: 20px;
	}
	.faq-list li{
		padding: 60px 30px 30px;
	}
	.faq-list li h5::before{
		width: 40px;
        height: 40px;
	}
	.faq-list li h5{
        padding-left: 55px;
	}
	
	#csr #content-01 .title-box{
		padding-left: 20px;
	}
	
	#business #content-01 {
        padding-bottom: 100px;
    }
	.voice-title dl dd {
    margin-left: 0;
}
	#voice-02 .voice-title dl:nth-of-type(2) dd,
	.voice-title dl:nth-of-type(2) dd {
    margin-left: 0;
}
	
	.voice-title dl dt{
		    min-width: 6em;
	}
	.voice-title dl dd br{
		display: none;
	}
	#voice #content-02 .content-wrapper {
        padding-top: 140px;
    }
	#voice #content-02 .content-wrapper .flex-box{
		margin-bottom: 40px;
	}
	#csr #content-03 .content-wrapper .inner-left dl dt{
		min-width: 4.5em;
        margin-right: 0;
	}
	csr #content-03 .content-wrapper .inner-left dl dd{
		font-feature-settings: 'palt';
	}
	
	#recruit #content-03 {
        padding-top: 80px;
    }
	#recruit #content-04 {
    padding-top: 100px;
}
	.flow-title{
		font-size: 24px;
	}
	#contact .child-header{
		    margin-bottom: 80px;
}
	#contact #content-01 {
    margin-bottom: 100px;
}

	
	
}









