@charset "utf-8";



.col_w{
	color: #fff;
}




/* ---------------------------------------
* common
------------------------------------------ */

main{
	position: relative;
}

.btn.sp{
	display: none;
}

.col-w{
	color: #fff;
}

.access a{
	display: block;
	text-decoration: underline;
}

.mainTop{
	overflow: hidden;
}

.btn-404{
	margin: 0 auto;
}

.slideImg{
	display: inline-block;
	margin-right: 2.5vw;
}

.nav-other02{
	padding-left: 30px;
}

.nav-other02 li a{
	display: block;
	font-size: 12px;
	line-height: 100%;
	letter-spacing: normal;
	transition: all .3s;
}

.nav-other02 li a:hover{
	opacity: .5;
}

.nav-other02 li.active a{
	color: #005FFF;

}

.nav-other02 li:not(:last-of-type){
	padding-right: 5px;
	margin-right: 5px;
	position: relative;
}

.nav-other02 li:not(:last-of-type)::after{
	content: "/";
	display: block;
	position: absolute;
	right: -2px;
	top: 50%;
	transform: translateY(-50%);
	color: #000000;
	font-size: 12px;
	font-weight: 600;
	line-height: 100%;
	letter-spacing: normal;
}

svg{
	width: 100%;
	height: 100%;
}

.bg{
	background-repeat: no-repeat;
	background-size: cover;
}

.bg-w{
	background-color: #fff;
}

:root {
	--primary: #2638E6;
	--primary02: #4C2FFF;
	--primary03: linear-gradient(135deg, rgba(76,47,255,1) 0%, rgba(38,56,230,1) 50%, rgba(45,135,250,1) 100%);
	--bg01: #EFEFF2;
	--bg02: #232031;
	--bg03: #2638E6;
}

.multiBtnWrap{
	margin-left: 24px;
}

.multiBtnWrap a{
	font-size: 14px;
	line-height: 100%;
	letter-spacing: normal;
	display: block;
	padding: 4px 20px;
	border-radius: 100px;
	color: #74727D;
	background-color:#EFEFF2;
	transition: all .3s;
}

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

/* --------------------------------------
* コンポーネントパーツ
----------------------------------------- */

/* Section backgrounds — alternating rhythm */
/* CASE(sec03): white, REPORT(sec04): gray, EVENT(sec05): white, NEWS(sec07): gray */
.sec03{ background-color: #fff; }
.sec04{ background-color: var(--bg01); }
.sec05{ background-color: #fff; }
.sec06{ background-color: var(--bg02); color: #fff; } /* MEMBER: dark */
.sec07{ background-color: var(--bg01); }
/* sec08 (COMPANY): dark — defined below */

.section-feature,.section-flow{
	background-color: #fff;
	border-radius: 0;
}

.sec03,.sec04,.sec05,.sec06,.sec07,.sec08{
	padding: 60px 0;
}

/* セクション間の横線 */
.sec03,.sec04,.sec05,.sec06,.sec07,.sec08,.secHighlight,.secMission-en,.secMission-en-detail{
	border-top: 1px solid rgba(0,0,0,0.08);
}
.sec06,.sec08,.secMission-en{
	border-top-color: rgba(255,255,255,0.08);
}

.menuGroup-list{
	column-gap: 30px;
	row-gap: 30px;
}

.menuGroup-listItem{
	background-color: #fff;
	width: calc((100% - ( 30px * 1)) / 2);
	border-radius: 5px;
}

.menuGroup-listItem>a{
	border-radius: 5px 5px 0 0;
	background-color: var(--bg02);
	padding: 20px 30px;
	font-size: 16px;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: normal;
}

.menuGroup-listItem>a span:first-of-type{
	display: inline-block;
	position: relative;
	/* 	width: 90%; */
}

.menuGroup-listItem>a span:first-of-type::after,.menuGroup-subList a span:last-of-type::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: #fff;
	position: absolute;
	left: 0;
	bottom: 0;
	opacity: 0;
	transition: all .3s;
}

.menuGroup-subList a span:last-of-type::after{
	background-color: #232031;
}

.menuGroup-listItem>a:hover span:first-of-type::after,.menuGroup-subList a:hover span:last-of-type::after{
	opacity: 1;
}

.menuGroupArrow{
	display: inline-block;
	width: 32px;
	height: 32px;
}

.menuGroupArrow rect,.menuGroupArrow path{
	transition: all .3s;
}

.menuGroup-listItem>a:hover .menuGroupArrow rect{
	fill: var(--primary);
}

.menuGroup-listItem>a:hover .menuGroupArrow path{
	fill: #fff;
}

.menuGroup-subList,.menuGroupTxt{
	padding: 30px 30px 40px;
	border-radius: 0 0 5px 5px;
}

.menuGroup-subListItem:not(:last-of-type){
	margin-bottom: 16px;
}

.menuGroupArrow02{
	display: inline-block;
	width: 20px;
	height: 20px;
	position: relative;
}

.menuGroupArrow02 svg{
	position: absolute;
	left: 0;
	top: 0;
}

.menuGroup-subList a span:last-of-type{
	line-height: 160%;
	letter-spacing: normal;
	margin-left: 6px;
	display: inline-block;
	position: relative;
}

.menuGroupTxt p{
	line-height: 160%;
	letter-spacing: normal;
}

.section-about{
	background-color: var(--primary);
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}

.aboutBg{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.aboutTxt{
	width: 58.3%;
	margin: 0 auto;
}

.aboutTxt02{
	text-align: left;
}

.aboutTxt:not(:first-of-type){
	padding-top: 30px;
}

.featureContents:not(:last-of-type){
	padding-bottom: 60px;
}

.featureContents .ttl-wrapper{
	padding-bottom: 20px;
	border-bottom: solid 1px #DEDCE8;
}

.featureContents h3{
	font-weight: 600;
	font-size: 20px;
	line-height: 160%;
	letter-spacing: normal;
	padding-left: 40px;
	position: relative;
}

.featureContents h3::before{
	content: "";
	display: block;
	width: 30px;
	height: 26px;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/service/icon.png);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.feature-list{
	column-gap: 30px;
	row-gap: 30px;
	padding-top: 30px;
}

.feature-list02{
	padding-top: 0;
}

.feature-listItem{
	width: calc((100% - (30px * 2)) / 3);
}

.feature-listImg{
	position: relative;
	cursor: pointer;
}

.featureIcon{
	position: absolute;
	right: 20px;
	bottom: 20px;
	width: 34px;
	height: 34px;
}

.feature-listTxt{
	padding-top: 10px;
}

.feature-listTxt h4{
	font-weight: 600;
	font-size: 18px;
	line-height: 160%;
	letter-spacing: normal;
	padding-bottom: 20px;
}

.feature-listTxt p{
	font-size: 14px;
}

.cvDownload-list{
	column-gap: 30px;
}

.cvDownload-listItem{
	border-radius: 5px;
	width: calc((100% - (30px * 1)) / 2);
	background-color: var(--bg02);
	box-shadow: 0 4px 20px rgba(35,32,49,.1);
}

.cvDownload-listItem a{
	height: 100%;
}

.cvDownload-listItem:last-of-type{
	background-color: var(--primary);
}

.cvDownload-listImg{
	width: 47.3%;
	height: auto;
	overflow: hidden;
	border-radius: 5px 0 0 5px;
}

.cvDownload-listImg .imgWrap{
	width: 100%;
	height: 100%;
}

.cvDownloadImg{
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/common/down01.png);
	transition: all .5s;
}

.cvDownloadImg02{
	background-image: url(../img/common/down02.png);
}

/* .cvDownloadImg::after{
content: "";
display: block;
padding-top: 131.5%;
} */

.cvDownload-listItem:hover .cvDownloadImg{
	transform: scale(1.08);
}

.cvDownload-listTxt{
	width: 52.8%;
	padding: 3.33vw 2.5vw;
}

.cvDownload-listTxt h3 span:first-of-type{
	font-size: 20px;
	line-height: 160%;
	letter-spacing: normal;
	font-weight: 600;
}

.cvDownload-listTxt h3 span:last-of-type{
	display: block;
	width: 26px;
	height: 26px;
	margin-left: 20px;
}

.cvDownload-listTxt>p{
	font-size: 14px;
	padding-top: 20px;
}

.problem-listItem{
	font-size: 20px;
	line-height: 160%;
	letter-spacing: normal;
	font-weight: 600;
}

.problemWrap{
	padding: 40px;
	background-color: #fff;
	border-radius: 10px;
}

.problem-listItem{
	padding: 14px 0 14px 18px;
	position: relative;
	border-bottom: solid 1px #DEDCE8;
}

.problem-listItem::before{
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 100px;
	background-color: var(--primary);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.problem-listItem span{
	color: var(--primary);
}

.faq-defList:not(:last-of-type){
	padding-bottom: 40px;
}

.faq-defTtl{
	padding: 30px 20px;
	background-color: #fff;
	border-radius: 10px;
}

.faq-defTtl span{
	display: inline-block;
	vertical-align: middle;
	font-family: 'Satoshi',sans-serif;
	font-size: 20px;
	line-height: 160%;
	letter-spacing: normal;
}

.faq-defTtl span:first-of-type{
	color: var(--primary);
	padding-right: 10px;
}

.faq-defDesc{
	padding-top: 20px;
}

/* --------------------------------
* Top ページ
----------------------------------- */

.mv{
	position: relative;
	padding: 160px 0 40px;
	background-color: var(--bg02);
}

.mvBg{
	position: absolute;
	top: 130px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 90%;
}

.mvWrap{
	z-index: 2;
	position: relative;
}

.mvTxtWrap{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.mv-tagList{
	column-gap: 10px;
	padding-bottom: 10px;
}

.mv-tagListItem{
	background-color: rgba(255,255,255,.1);
	border-radius: 100px;
	display: inline-block;
	padding: 4px 10px;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: normal;
	font-size: 14px;
}

.mvTtl{
	font-size: 64px;
	line-height: 100%;
	letter-spacing: normal;
	font-weight: 500;
}

.mvTtl span{
	font-weight: 500;
	display: inline-block;
	color: transparent;
	background: rgb(137,164,248);
	background: linear-gradient(45deg, rgba(137,164,248,1) 0%, rgba(220,144,242,1) 76%);
	-webkit-background-clip: text;
}

.mvTxt{
	padding-top: 20px;
	font-size: 22px;
	line-height: 160%;
	letter-spacing: normal;
}

.mvImg{
	margin-left: auto;
	width: 36%;
}

.mvBtn-list{
	column-gap: 20px;
}

.mv .btnMv{
	background-color: transparent;
	border: solid 1px rgba(255,255,255,0.7);
	color: #fff;
}
.mv .btnMv:hover{
	background-color: rgba(255,255,255,0.08);
	border-color: #fff;
}
.mv .btnMv path{
	fill: #fff;
}
.mv .btnMv02{
	background-color: #fff;
	border: solid 1px #fff;
	color: #0A0E1A;
}
.mv .btnMv02:hover{
	background-color: rgba(255,255,255,0.85);
}
.mv .btnMv02 path{
	fill: #0A0E1A;
}

.logoFixed{
	padding: 30px 0;
	background-color: #fff;
	border-bottom: 1px solid #E8E8EE;
	text-align: center;
}
.logoFixed-label{
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #9CA3AF;
	margin-bottom: 16px;
}
.logoFixed-list{
	justify-content: center;
	gap: 48px;
	padding: 0 40px;
}
.logoFixed-item{
	width: 140px;
}
.logoFixed-item img{
	width: 100%;
	height: auto;
	object-fit: contain;
}
.logoFixed .logos-strip{
	max-width: 900px;
	margin: 0 auto;
	padding: 0 40px;
}
.logoFixed .logos-strip img{
	width: 100%;
	height: auto;
}

/* HIGHLIGHT */
.secHighlight{
	background-color: var(--bg01);
}
.secHighlight .blog_list{
	width: calc((100% - 90px) / 4);
}
.secHighlight .blog_list a{
	display: block;
}
.secHighlight .blog_list_img_wrap{
	width: 100%;
	overflow: hidden;
}
.secHighlight .blog_list_img::before{
	padding-top: 56%;
}
.secHighlight .blog_list_txt{
	padding-top: 10px;
}
.secHighlight .blog_list_ttl{
	font-size: 14px;
	font-weight: 600;
	line-height: 1.6;
	margin-bottom: 0;
}

/* Service EN section — dark (lead only) */
.secMission-en{
	padding: 100px 0 80px;
	background-color: var(--bg02);
}
.secMission-en .ttl-wrapper{
	margin-bottom: 40px;
}
.mission-en-body{
	max-width: 900px;
}
.mission-en-lead{
	font-size: 28px;
	font-weight: 600;
	line-height: 1.7;
	color: #fff;
	letter-spacing: -0.01em;
	margin-bottom: 0;
}

/* Service EN section — white (detail) */
.secMission-en-detail{
	padding: 80px 0 100px;
	background-color: var(--bg01);
}
.secMission-en-detail .ttl-wrapper{
	margin-bottom: 32px;
}
.secMission-en-detail .ttl1_sub{
	color: var(--bg02);
}
.secMission-en-detail .ttl1_sub::before{
	border-color: var(--bg02);
}
.mission-en-detail-body{
	max-width: 960px;
}
.mission-en-detail-lead{
	font-size: 17px;
	font-weight: 500;
	line-height: 1.9;
	color: #232031;
	margin-bottom: 8px;
}
.mission-en-detail-sub{
	font-size: 14px;
	line-height: 1.8;
	color: #444;
	margin-bottom: 32px;
}
.mission-en-detail-list{
	list-style: none;
	padding: 0;
	margin: 0 0 40px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.mission-en-detail-list li{
	font-size: 14px;
	line-height: 1.7;
	color: #555;
	padding: 24px 28px;
	background: #f5f5f8;
	border-radius: 12px;
	border: 1px solid #ebebf0;
	display: flex;
	align-items: baseline;
	gap: 16px;
}
.detail-list-num{
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: var(--primary);
	letter-spacing: 0.05em;
	margin-bottom: 0;
	flex-shrink: 0;
}
.mission-en-detail-list li strong{
	font-size: 16px;
	color: #1a1a2e;
	font-weight: 700;
	margin-right: 8px;
}
.mission-en-detail-list li span:last-child{
	color: #666;
	font-size: 13px;
	line-height: 1.6;
}
.mission-en-detail-closing{
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8;
	color: #232031;
	padding-top: 8px;
	border-top: 1px solid #ebebf0;
}

.logoSlide{
	padding: 14px 0;
	background-color: #fff;
	overflow: hidden;
}

.logoSlideWrap{
	width: calc(4640px * 3);
}

.logoSlideImg{
	width: 4620px;
}

.partnerBanner a{
	padding: 40px 60px;
	border-radius: 5px;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/top/partnerbg.png);
}

.partnerBannerTxt h3{
	font-size: 24px;
	font-weight: 600;
	line-height: 160%;
	letter-spacing: normal;
	padding-bottom: 4px;
}

.btnPartner{
	width: 196px;
	background-color: #fff;
	border: solid 1px #fff;
	color: var(--primary);
}

.partnerBanner a:hover .btnPartner{
	color: #fff;
	background-color: var(--primary);
}

.partnerBanner a:hover path{
	fill: #fff;
}

.sec01{
	background-color: var(--bg01);
	overflow: hidden;
	position: relative;
}

.sec01SlideWrap{
	position: absolute;
	left: 0;
	bottom: 40px;
	width: calc( 1798px * 3);
}

.sec01SlideImg{
	width: 1768px;
}


.sec01TxtWrap{
	align-items: flex-end;
}

.sec01TxtWrap p{
	width: 50%;
	line-height: 180%;
	letter-spacing: normal;
}

.sec02{
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	background: rgb(76,47,255);
	background: linear-gradient(135deg, rgba(76,47,255,1) 0%, rgba(38,56,230,1) 50%, rgba(45,135,250,1) 100%);
}

.sec02Bg{
	position: absolute;
	left: 0;
	top: 0;
}

.sec02Wrap{
	position: relative;
	z-index: 2;
}

.sec02Data-list{
	justify-content: center;
	column-gap: 40px;
}

.sec02Data-listItem{
	width: calc((100% - (40px * 2)) / 3);
	text-align: center;
}

.sec02Data-listItem h3,.sec02-listItem h3{
	font-size: 24px;
	line-height: 160%;
	letter-spacing: normal;
	font-weight: 700;
	padding-bottom: 14px;
}

.dataNum{
	font-size: 18px;
	font-weight: 700;
	letter-spacing: normal;
	line-height: 120%;
}

.dataNum span{
	vertical-align: middle;
	font-family: "Inter", sans-serif;
	display: inline-block;
	font-size: 72px;
	line-height: 100%;
	padding-right: 6px;
}

.dataNum span:last-of-type{
	font-size: 16px;
	display: block;
	padding-top: 8px;	
}

.dataCaut{
	font-size: 14px;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: normal;
}

.sec02-list{
	column-gap: 20px;
}

.sec02-listItem{
	width: calc( (100% - ( 20px * 2) ) /3 );
}

.sec02-listNum{
	width: 82px;
	margin: 0 auto;
}

.sec02-listItem h3{
	padding: 30px 0;
}

.sec02-listItem p{
	letter-spacing: normal;
}

.case-list{
	column-gap: 40px;
	row-gap: 32px;
	justify-content: center;
}

.case-listItem{
	width: calc( (100% - (40px * 2)) / 3);
	display: flex;
	align-items: center;
	justify-content: center;
}

.case-listItem img{
	max-width: 220px;
	max-height: 40px;
	height: auto;
	object-fit: contain;
}

.member-list{
	column-gap: 30px;
	row-gap: 60px;
}

.member-listIItem{
	width: calc( (100% - (30px * 2)) / 3);
}

.member-listInfo{
	padding-top: 10px;
}

.position{
	font-size: 14px;
	line-height: 160%;
	letter-spacing: normal;
	font-family: 'Satoshi',sans-serif;
}

.member-listInfo h3{
	font-weight: 600;
}

.memberTxt{
	font-size: 12px;
	line-height: 180%;
	letter-spacing: normal;
	padding-top: 10px;
}

.lang-label{
	font-size: 14px;
	line-height: 180%;
	letter-spacing: normal;
	padding-top: 10px;
}

/* コンテナ：常に5px間隔＆折返し */
.lang-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 5px;                 /* 横・縦どちらも5px */
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}

/* タグ（ピル） */
.lang-tag{
  font-size: 12px;
  font-weight: 700;
  background-color: var(--lang-bg, #2638E6);
  color: var(--lang-text, #FFFFFF);
  border-radius: 100px;
  padding: 8px 12px;
  line-height: 1;
  display: inline-block;    /* 内容幅のまま */
  width: max-content;       /* 伸び防止 */
}

/* 3つごとに改行させるための見えない要素（PHPで<li class="lang-break"></li>を挿入） */
.lang-break{
  flex-basis: 100%;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
}

.sec08{
	background: #232031;
	overflow: hidden;
	position: relative;
}

.sec08Bg{
	position: absolute;
	left: 0;
	top: 0;
}

.sec08Loop{
	position: relative;
	z-index: 2;
	width: calc(2370px * 3);
}

.sec08LoopImg{
	width: 2310px;
}

.sec08TxtLoop{
	width: calc(2191px * 3);
	position: absolute;
	left: 0;
	bottom: 0;
}

.sec08TxtLoopImg{
	width: 2161px;
}

.sec08 .inner{
	position: relative;
	z-index: 2;
}

.sec08-list{
	column-gap: 30px;
}

.sec08-listItem{
	overflow: hidden;
	width: calc((100% - (30px * 2)) / 3);
	border-radius: 5px;
}

.sec08-listItem a{
	display: block;
	position: relative;
	height: 100%;
	border-radius: 5px;
}

.sec08-listItem a::after{
	content: "";
	display: block;
	width: 100%;
	padding-top: 50%;
	border-radius: 5px;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(https://pacific-meta.co.jp/wp-content/themes/pacific/img/top/com01.png);
	transition: all .5s;
}

.sec08-listItem02 a::after{
	background-image: url(https://pacific-meta.co.jp/wp-content/uploads/2026/03/7776aa7bc95be27c54ee72fe73175023.jpg);
}

.sec08-listItem03 a::after{
	background-image: url(https://pacific-meta.co.jp/wp-content/uploads/2026/03/20240719_pacificmetasama29652-scaled.jpg);
}

.sec08-listItem02 a::before,
.sec08-listItem03 a::before{
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.3);
	border-radius: 5px;
	z-index: 1;
	pointer-events: none;
}

.sec08-listItem:hover a::after{
	transform: scale(1.08);
}

.sec08-listItem a p{
	z-index: 2;
	position: absolute;
	left: 24px;
	bottom: 20px;
	line-height: 160%;
	letter-spacing: normal;
	font-weight: 600;
}

/* --------------------------------------
* Service
----------------------------------------- */
.downloadBanner{
	padding: 40px 60px;
	border-radius: 5px;
	background-color: var(--primary);
}

.download-l p{
	padding-top: 4px;
	line-height: 180%;
	letter-spacing: normal;
}

/* --------------------------------------
* Feature
----------------------------------------- */

.strength-listItem{
	background-color: #fff;
	padding: 60px;
	border-radius: 10px;
}

.strength-listItem:not(:last-of-type){
	margin-bottom: 40px;
}

.strength-listImg{
	width: 43.75%;
}

.strength-listTxt{
	position: relative;
	width: 50%;
}

.strengthNum{
	position: absolute;
	right: 0;
	top: -50px;
	font-style: italic;
	color: #EFEFF2;
	letter-spacing: normal;
	line-height: 120%;
	font-size: 128px;
}

.strength-listTxt h3,.strengthPara{
	position: relative;
	z-index: 2;
}

.strengthPara{
	padding-top: 20px;
}

.section-data{
	margin-top: 100px;
	background-color: #fff;
}

.dataTxtWrap{
	width: 78.125%;
	margin: 0 auto;
}

.dataTxtWrap p{
	padding-top: 20px;
}

.flow02-list{
	column-gap: 30px;
}

.flow02-listItem{
	width: calc((100% - ( 30px * 1 )) / 2);	
	background-color: #fff;
	padding: 30px 30px 40px 30px;
	border-radius: 10px;
}

.flow02-listItem>h3{
	line-height: 160%;
	letter-spacing: normal;
	font-weight: 600;
	color: var(--bg03);
}

.flow02sub-list{
	padding-top: 30px;
}

.flow02sub-listItem{
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: solid 1px #DEDCE8;
}

.flow02sub-listItem:last-of-type{
	margin-bottom: 0;
}

.flow02sub-listIcon{
	flex: 0 0 40px;
	width: 40px;
}

.flow02sub-listTxt{
	flex: 1 1 auto;
	padding-left: 20px;
}

.flow02sub-listTxt h3{
	font-weight: 600;
	line-height: 160%;
	letter-spacing: normal;
	padding-bottom: 10px;
}

.flow02sub-listTxt p{
	font-size: 14px;
	letter-spacing: normal;
}

.section-output{
	background-color: var(--bg02);
}

.outontents:not(:last-of-type){
	padding-bottom: 80px;
}

.outontents h3{
	font-size: 20px;
	font-weight: 600;
	line-height: 160%;
	letter-spacing: normal;
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: solid 1px #DEDCE8;
}

.btnStrength{
	justify-content: flex-end;
}

.btnStrength span{
	display: inline-block;
}

.btnStrength span:first-of-type{
	padding: 3px 0;
	position: relative;
	line-height: 160%;
	letter-spacing: 0.02em;
}

.btnStrength span:first-of-type::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: var(--bg02);
	position: absolute;
	left: 0;
	bottom: 0;
	opacity: 0;
	transition: all .3s;
}

.btnStrength:hover span:first-of-type::after{
	opacity: 1;
}

.btnStrength span:last-of-type{
	width: 32px;
	height: 32px;
	margin-left: 14px;
}


/* ---------------------------------------
* company
------------------------------------------ */

.section-comInfo{
	overflow: hidden;
}

.comLoopWrap{
	padding-bottom: 120px;
	position: relative;
}

.comLoopWrap p{
	text-align: center;
	font-size: 16.6vw;
	font-weight: 200;
	line-height: 120%;
	letter-spacing: normal;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 70px;
	z-index: 3;
}

.comLoop{
	width: calc(2370px * 3);
}

.comLoopImg{
	width: 2310px;
}

.companyImg .img{
	height: 400px;
	border-radius: 5px;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/company/company.png);
}

.section-company{
	background-color: #fff;
	border-radius: 10px;
}

.section-service{
	overflow: hidden;
}

.companyWrap{
	overflow: hidden;
	padding: 60px 0 60px 60px;
}

.info-defList{
	padding: 30px 0;
	border-bottom: 1px solid #D8D8D8;
}

.info-defList:first-of-type{
	padding-top: 0;
}

.info-defTitle{
	width: 230px;
	flex: 0 0 230px;
}

.info-defDesc{
	flex: 1 1 auto;
}

.info-defDesc p:not(:last-of-type){
	padding-bottom: 30px;
}

.info-defDesc p span{
	display: block;
}

.info-defDesc p span:first-of-type{
	font-weight: 700;
}

.maps-wrapper{
	padding-bottom: 20px;
}

.info-defDesc a{
	display: inline-block;
	outline: none;
	text-decoration: underline;
	color: #000;
}

.memSns-list{
	padding-top: 10px;
	column-gap: 10px;
}

.memSns-listItem{
	transition: all .3s;
	width: 28px;
}

.memSns-listItem:hover{
	opacity: .6;
}

/* ---------------------------------------
* download
------------------------------------------ */

.section-download{
	margin-top: 100px;
	background-color: #fff;
	border-radius: 10px;
}

.download-list{
	column-gap: 30px;
	row-gap: 60px;
}

.download-listItem{
	width: calc((100% - ( 30px * 2)) / 3);
}


.download-listItem .blog_list_img::before {
	padding-top: 52.333%;
}

.download-listTxt{
	padding-top: 20px;
}

.download-listTxt h3{
	padding-bottom: 20px;
	font-weight: 600;
	font-size: 18px;
}

/* ---------------------------------------
* Partner
------------------------------------------ */

.PageHeading-partner{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	background-image: url(../img/partner/partnerBg.png);
}

.partnerFilter{
	padding-top: 20px;
}

.partnerFilter p span{
	display: inline-block;
	font-size: 14px;
	line-height: 160%;
	letter-spacing: normal;
	font-weight: 600;
}

.partnerFilter p span:first-of-type{
	width: 20px;
	height: 20px;
	margin-right: 4px;
	position: relative;
}

.partnerFilter p span:first-of-type svg{
	position: absolute;
	left: 0;
	top: 0;
}

.partnerSelect{
	width: 180px;
	margin-left: 12px;
	position: relative;
}

.partnerSelect::after{
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/partner/arrow.svg);
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}

select {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	border: none;
	border-radius: 5px;
	font-size: 14px;
	line-height: 160%;
	letter-spacing: normal;
	font-weight: 600;
	padding: 10px 20px;
	background-color: #fff;
	border-radius: 50px;
	width: 100%;
	position: relative;
	border: solid 1px #232031;
}


.partner-list{
	column-gap: 30px;
	row-gap: 30px;
}

.partner-listItem{
	width: calc((100% - ( 30px * 2 )) / 3);
	border-radius: 10px;
	background-color: #fff;
	border: solid 1px #DEDCE8;
}

.partner-listImgWrap{
	background-color: var(--primary);
	border-radius: 10px 10px 0 0 ;
	padding: 17px 0;
}

.partner-listImg{
	background-color: #fff;
	width: 56.666%;
	max-width: 170px;
	margin: 0 auto;
	padding: 10px;
	border-radius: 10px;
}

.partner-listImg .img{
	width: 150px;
	height: 46px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	margin: 0 auto;
}

.partner-listDetail{
	padding: 20px;
}

.partnerInfo{
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: solid 1px #DEDCE8;
}

.partnerInfo h3{
	font-family: 'Inter','Noto Sans JP',sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 160%;
	letter-spacing: normal;
}

.partner-tagList{
	padding: 10px 0 20px;
	column-gap: 4px;
}

.partner-tagListItetm{
	font-size: 12px;
	padding: 2px 10px;
	line-height: 160%;
	letter-spacing: normal;
	background-color: #EFEFF2;
	border-radius: 3px;
}

.partnerInfo p{
	font-size: 14px;
	line-height: 160%;
	letter-spacing: normal;
}

.partnerLink a{
	transition: all .3s;
}

.partnerLink a:hover{
	opacity: .6;
}

.partnerSns{
	width: 24px;
}

.partnerWeb{
	padding: 2px 10px;
	background-color: #EFEFF2;
	border-radius: 50px;
}

.partnerWeb span{
	display: inline-block;
}

.partnerWeb span:first-of-type{
	font-size: 12px;
	letter-spacing: normal;
}

.partnerWeb span:last-of-type{
	width: 16px;
	height: 16px;
	position: relative;
	margin-left: 4px;
}

.partnerWeb span:last-of-type svg{
	position: absolute;
	left: 0;
	top: 0;
}

.section-serviceForm{
	margin-top: 100px;
	background-color: var(--bg02);
	border-radius: 10px;
}

.serviceFormWrap{
	width: 64.6%;
	max-width: 800px;
	margin: 0 auto;
}

.serviceFormTtl{
	font-size: 26px;
	font-weight: 600;
	line-height: 160%;
	letter-spacing: normal;
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: solid 1px #DFDFDF;
}

.serviceForm{
	padding: 30px 30px 60px;
	background-color: #EFEFF2;
	border-radius: 5px;
}

.serviceForm h4{
	font-size: 20px;
	font-weight: 600;
	line-height: 160%;
	letter-spacing: normal;
}

.serviceForm .form{
	padding: 0;
	background-color: unset;
	box-shadow: unset;
	padding-top: 30px;
}

.serviceForm .singleForm-defList:not(:last-of-type){
	padding-bottom: 10px;
}

.serviceForm .singleForm-defListTtl{
	padding-bottom: 10px;
}

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

	/* ---------------------------------------
	* common
	------------------------------------------ */

	.btn.sp{
		display: flex;
	}

	.btn.pc{
		display: none;
	}

	.btn{
		margin: 0 auto;
	}

	.nav-other02{
		padding-right: 10px;
	}

	.nav-other02 li a{
		display: block;
		font-size: 12px;
	}

	/* --------------------------------------
	* コンポーネントパーツ
	----------------------------------------- */

	.menuGroup-list{
		column-gap: 30px;
		row-gap: 30px;
	}

	.menuGroup-listItem{
		width: 100%;
	}

	.menuGroup-listItem:not(:last-of-type){
		margin-bottom: 20px;
	}

	.menuGroup-listItem>a{
		padding: 20px 30px;
		font-size: 16px;
	}

	.menuGroup-listItem>a span:first-of-type {
		width: 90%;
	}

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

	.menuGroup-subList,.menuGroupTxt{
		padding: 30px;
	}

	.menuGroup-subListItem:not(:last-of-type){
		margin-bottom: 16px;
	}

	.menuGroupArrow02{
		width: 18px;
		height: 18px;
	}


	.aboutBg{
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.aboutTxt{
		width: 100%;
	}

	.aboutTxt02{
		text-align: left;
	}

	.aboutTxt:not(:first-of-type){
		padding-top: 30px;
	}

	.featureContents:not(:last-of-type){
		padding-bottom: 60px;
	}

	.featureContents .ttl-wrapper{
		padding-bottom: 20px;
		border-bottom: solid 1px #DEDCE8;
	}

	.featureContents h3{
		font-size: 18px;
	}

	.featureContents h3::before{
		content: "";
		display: block;
		width: 30px;
		height: 26px;
	}

	.feature-list{
		column-gap: 30px;
		row-gap: 30px;
		padding-top: 30px;
	}

	.feature-list02{
		padding-top: 0;
	}

	.feature-listItem{
		width: 100%;
	}

	.feature-listItem:not(:last-of-type){
		margin-bottom: 40px;
	}


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

	.feature-listTxt{
		padding-top: 10px;
	}

	.cvDownload-listItem{
		width: 100%;
	}

	.cvDownload-listItem a {
		height: auto;
	}

	.cvDownload-listItem:not(:last-of-type){
		margin-bottom: 30px;
	}

	.cvDownload-listImg{
		width: 100%;
		border-radius: 5px 5px 0 0;
	}

	.cvDownload-listTxt {
		width: 100%;
		padding: 40px 30px;
	}

	.cvDownload-listTxt h3 span:first-of-type {
		font-size: 18px;
	}

	.problemWrap{
		padding: 40px;
		background-color: #fff;
		border-radius: 10px;
	}

	.problem-listItem{
		font-size: 16px;
		padding: 12px 0 12px 18px;
	}

	.problem-listItem::before{
		width: 6px;
		height: 6px;
		top: 23px;
		transform: unset;
	}

	.faq-defList:not(:last-of-type){
		padding-bottom: 40px;
	}

	.faq-defTtl{
		display: flex;
		padding: 20px;
	}

	.faq-defTtl span{
		font-size: 16px;
	}

	.faq-defTtl span:first-of-type{
		color: var(--primary);
		padding-right: 10px;
	}

	.faq-defDesc{
		padding-top: 20px;
	}

	.cvDownload-listImg{
		width: 100%;
		border-radius: 5px 5px 0 0;
	}

	.cvDownloadImg{
		height: 100%;
	}

	.cvDownloadImg::after{
		content: "";
		display: block;
		padding-top: 60%;
	}

	/* --------------------------------
	* Top ページ
	----------------------------------- */

	.mv{
		padding: 130px 0 80px;
	}

	.mvBg{
		display: none;
	}

	.mvWrap{
		z-index: 2;
		position: relative;
	}

	.mvTxtWrap{
		position: static;
		transform: unset;
	}

	.mv-tagList{
		column-gap: 10px;
		padding-bottom: 10px;
	}

	.mv-tagListItem{
		padding: 4px 8px;
		font-size: 10px;
	}

	.mvTtl{
		font-size: 32px;
	}

	.mvImg{
		display: none;
	}

	.mvBtn-listItem:not(:last-of-type){
		margin-bottom: 16px;
	}

	.mvBtn-list{
		padding-top: 60px;
	}

	.logoSlide{
		padding: 14px 0;
	}

	.logoSlideWrap{
		width: calc(1620px * 3);
	}

	.logoSlideImg{
		width: 1600px;
	}

	.logoSlide{
		padding: 14px 0;
	}

	.logoSlideWrap{
		width: calc(2020px * 3);
	}

	.logoSlideImg{
		width: 2000px;
	}

	/* SP: ロゴ固定 */
	.logoFixed-list{
		gap: 20px;
		padding: 0 20px;
	}
	.logoFixed-item{
		width: 80px;
	}

	/* SP: HIGHLIGHT */
	.secHighlight .blog_list{
		width: 100%;
	}
	.secHighlight .blog_list a{
		display: flex;
		align-items: flex-start;
		gap: 14px;
	}
	.secHighlight .blog_list_img_wrap{
		width: 45%;
		flex-shrink: 0;
		border-radius: 6px;
	}
	.secHighlight .blog_list_img::before{
		padding-top: 56.25%;
	}
	.secHighlight .blog_list_txt{
		flex: 1;
		padding-top: 0;
	}
	.secHighlight .blog_list_ttl{
		font-size: 13px;
	}

	/* SP: FV ボタン */
	.mv .btnMv{
		background-color: transparent;
		border: solid 1px rgba(255,255,255,0.7);
		color: #fff;
		width: 100%;
		padding: 14px 22px;
	}
	.mv .btnMv02{
		background-color: #fff;
		border: solid 1px #fff;
		color: #0A0E1A;
	}
	.mv .btnMv02 path{
		fill: #0A0E1A;
	}
	.mv .btnMv path{
		fill: #fff;
	}
	.mvBtn-list{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		padding-top: 24px;
	}

	/* SP: Mission */
	.secMission-en{
		padding: 60px 0 48px;
	}
	.mission-en-lead{
		font-size: 20px;
		line-height: 1.6;
	}
	.secMission-en-detail{
		padding: 48px 0 60px;
	}
	.mission-en-detail-lead{
		font-size: 15px;
	}
	.mission-en-detail-list li{
		padding: 20px;
		flex-direction: column;
		gap: 8px;
	}
	.mission-en-detail-list li strong{
		font-size: 15px;
	}
	.mission-en-detail-closing{
		font-size: 14px;
		text-align: left;
	}

	.partnerBanner a{
		padding: 60px 30px;
		background-image: url(../img/top/partnerbg.png);
	}

	.partnerBannerTxt{
		text-align: center;
	}

	.partnerBannerTxt h3{
		font-size: 24px;
		padding-bottom: 4px;

	}

	.btnPartner{
		width: 80%;
		margin: 40px auto 0;
	}

	.sec01SlideWrap{
		bottom: 20px;
		width: calc( 920px * 3);
	}

	.sec01SlideImg{
		width: 900px;
	}

	.sec01TxtWrap{
		align-items: flex-end;
	}

	.sec01TxtWrap>p{
		width: 100%;
		padding-top: 30px;
	}

	.sec02Data-listItem {
		width: 100%;
		text-align: center;
	}

	.sec02Data-listItem:not(:last-of-type){
		margin-bottom: 40px;
	}

	.sec02Data-listItem h3,.sec02-listItem h3{
		font-size: 20px;
		padding-bottom: 10px;
	}

	.dataNum{
		font-size: 20px;
	}

	.dataNum span{
		font-size: 56px;
	}

	.dataNum span:last-of-type{
		font-size: 14px;
	}

	.dataCaut{
		padding-top: 4px;
	}

	.sec02-list{
		padding-top: 60px;
	}

	.sec02-listItem{
		width: 100%;
	}

	.sec02-listItem:not(:last-of-type){
		margin-bottom: 40px;
	}

	.sec02-listNum{
		width: 56px;
	}

	.sec02-listItem h3{
		padding: 20px 0 10px;
	}

	.caseWrap{
		padding-top: 20px;
	}

	.case-list{
		column-gap: 20px;
		row-gap: 20px;
	}

	.case-listItem{
		width: calc( (100% - 20px) / 2);
	}

	.member-listIItem{
		width: 100%;
	}

	.member-listIItem:not(:last-of-type){
		margin-bottom: 40px;
	}

	.sec08Loop{
		width: calc(1230px * 3);
	}

	.sec08LoopImg{
		width: 1200px;
	}

	.sec08TxtLoop{
		width: calc(1230px * 3);
	}

	.sec08TxtLoopImg{
		width: 1200px;
	}

	.sec08-listItem{
		width: 100%;
	}

	.sec08-listItem:not(:last-of-type){
		margin-bottom: 30px;
	}


	/* --------------------------------------
	* Service
	----------------------------------------- */
	.downloadBanner{
		padding: 40px 30px;
		border-radius: 5px;
		background-color: var(--primary);
	}

	.download-l p{
		padding-top: 4px;
		line-height: 180%;
		letter-spacing: normal;
	}

	.download-r{
		width: 100%;
		padding-top: 30px;
	}

	.download-r .btn03{
		width: 100%;
	}

	/* 	.flowWrap{
	overflow: scroll;
}

	.flowImg{
	width: 200%;
} */

	/* --------------------------------------
	* Feature
	----------------------------------------- */

	.strength-listItem{
		padding: 30px;
	}

	.strength-listItem:not(:last-of-type){
		margin-bottom: 40px;
	}

	.strength-listImg{
		width: 100%;
	}

	.strength-listTxt{
		width: 100%;
		padding-top: 20px;
	}

	.strengthNum{
		display: none;
	}

	.section-data{
		margin-top: 80px;
	}

	.dataTxtWrap{
		width: 100%;
	}

	.dataTxtWrap p{
		padding-top: 20px;
	}
	/* 
	.flow02ImgWrap{
	overflow: scroll;
}

	.flow02Img{
	width: 200%;
} */

	.flow02-listItem{
		width: 100%;	
		padding: 30px;
	}

	.flow02-listItem:not(:last-of-type){
		margin-bottom: 40px;
	}

	.flow02sub-listItem:last-of-type{
		margin-bottom: 0;
	}

	.flow02sub-listTxt{
		width: 100%;
		padding-left: 0;
	}

	.flow02sub-listTxt h3{
		font-weight: 600;
		line-height: 160%;
		letter-spacing: normal;
		padding-bottom: 10px;
	}

	.flow02sub-listTxt h3 span{
		display: inline-block;
		width: 32px;
		margin-right: 8px;
		margin-top: 0px;
		margin-bottom: 4px;
		vertical-align: super;
	}

	.btnStrength span:last-of-type{
		width: 24px;
		height: 24px;
	}



	/* ---------------------------------------
	* company
	------------------------------------------ */

	.section-service{
		overflow: hidden;
	}

	.comLoopWrap{
		padding-bottom: 80px;
	}

	.comLoopWrap p{
		font-size: 62px;
		bottom: 50px;
	}

	.comLoop{
		width: calc(1420px * 3);
	}

	.comLoopImg{
		width: 1400px;
	}

	.companyImg .img{
		height: 240px;
		background-position: center;
	}

	.companyWrap{
		padding: 40px 0;
	}

	.info-defList{
		padding: 20px 0;
	}

	.info-defList:first-of-type{
		padding-top: 0;
	}

	.info-defTitle{
		width: 100%;
	}

	.info-defDesc{
		width: 100%;
		padding-top: 10px;
	}

	/* ---------------------------------------
	* download
	------------------------------------------ */

	.section-download{
		margin-top: 80px;
	}

	.download-listItem{
		width: 100%;
	}

	.download-listItem:not(:last-of-type){
		margin-bottom: 60px;
	}

	.download-listTxt{
		padding-top: 20px;
	}

	.download-listTxt h3{
		font-size: 16px;
	}

	/* ---------------------------------------
	* Partner
	------------------------------------------ */

	.PageHeading-partner{
		background-image: url(../img/partner/partnerBgsp.png);
	}

	.partner-listItem{
		width: 100%;
	}

	.partner-listItem:not(:last-of-type){
		margin-bottom: 40px;
	}


}

.cvArea{
	padding: 0 22px;
	background-color: var(--bg02);
}

.cvArea-listItem{
	padding: 80px 120px 100px;
	width: calc(100% / 2);
}

.cvArea-listItem:not(:last-of-type){
	border-right: 1px solid rgba(255,255,255,.05);
}

.cvArea-listItem h3{
	font-size: 24px;
	line-height: 160%;
	letter-spacing: normal;
	font-weight: 700;
}

.cvArea-listItem p{
	letter-spacing: normal;
	padding: 20px 0;
}

.cvAreaBtn{
	width: 100%;
	padding: 20px 24px;
	border-radius: 5px;
	border: solid 1px #fff;
	line-height: 100%;
	letter-spacing: normal;
	font-weight: 600;
	background-color: var(--bg02);
	transition: all .3s;
}

.cvAreaBtn:hover{
	background-color: #fff;
	color: var(--bg02);
}

.cvAreaBtn span{
	display: inline-block;
}

.cvAreaBtn span:last-of-type{
	width: 18px;
	height: 18px;
}

.cvAreaBtn span path{
	transition: all .3s;
}

.cvAreaBtn:hover span path{
	fill: var(--bg02);
}

.newsletter p{
	padding: 0;
	position: relative;
}

.newsInput{
	padding: 20px 24px;
	line-height: 100%;
	border: unset;
}

.wpcf7-form-control-wrap {
	position: relative;
	display: block;
}

.submit02{
	padding: 0 24px;
	height: 57px;
	color: var(--primary);
	font-size: 14px;
	line-height: 100%;
	letter-spacing: normal;
	font-weight: 600;
	position: absolute;
	right: 0;
	top: 0;
	cursor: pointer;
}

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

	.cvArea{
		padding: 0;
	}

	.cvArea-listItem{
		padding: 40px 30px;
		width: 100%;
	}

	.cvArea-listItem:not(:last-of-type){
		border-right: unset;
		border-bottom: 1px solid rgba(255,255,255,.05);
	}

	.cvArea-listItem h3{
		font-size: 20px;
	}

}

.lightbox {
	position: fixed!important;
	left: 0;
	width: 100%;
	z-index: 10000;
	text-align: center;
	line-height: 0;
	font-weight: normal;
	outline: none;
	top: 50%!important;
	transform: translateY(-50%)!important;
}

.lightbox .lb-image{
	border: unset!important;
}

.lb-dataContainer{
	position: absolute;
	right: 0;
	left: 0;
	top: 0;
	z-index: 200;
}

.lb-data .lb-close {
	display: block;
	float: unset;
	margin-left: auto;
	margin-right: 10px;
	margin-top: 10px;
	right: 10px;
	top: 10px;
	width: 30px;
	height: 30px;
	background: url(../img/common/close.png);
	background-repeat: no-repeat;
	background-size: cover;
	text-align: right;
	outline: none;
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
	opacity: 1;
	-webkit-transition: opacity 0.2s;
	-moz-transition: opacity 0.2s;
	-o-transition: opacity 0.2s;
	transition: opacity 0.2s;
}

.lb-details,.lb-nav{
	display: none!important;
}



@media screen and (max-width:768px) {
	.lb-outerContainer{
		width: 85%!important;
		height: auto!important;
	}

	.lightbox .lb-image {
		width: 100%!important;
	}

}

.newsletter input[type="email"]{
	color: #232031;
}

.test-listItem{
	width: 80%;
	margin: 0 auto;
	max-width: calc(1200 * 1em / 16);
	padding: 30px 40px;
	background: #fff;
	border-radius: 10px;
}

.test-listItem{
	column-gap: 30px;
}

.test-l{
	width: 34%;
	max-width: 300px;
}

.test-r{
	width: calc(100% - 34% - 30px);
}

.testTxtWrap .com{
	color: var(--primary);
	font-size: 18px;
	font-weight: 500;
	line-height: 160%;
	letter-spacing: normal;
}

.testTxtWrap .name{
	font-size: 24px;
	font-weight: 500;
	line-height: 160%;
	letter-spacing: normal;
}

.testTxtWrap .position{
	font-size: 12px;
	font-weight: 500;
	line-height: 160%;
	letter-spacing: normal;
	color: #74727D;
}

.test-r>p{
	font-style: italic;
	margin-top: 20px;
	font-size: 14px;
	line-height: 160%;
	letter-spacing: normal;
}

.swiper-button-prev,
.swiper-button-next {
	height: 50px;
	width: 50px;
}
/* 矢印を消して画像に変更する */
.swiper-button-prev::after,
.swiper-button-next::after {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	height: 50px;
	width: 50px;
	margin: auto;
}

.swiperBtn{
	display: flex;
	column-gap: 40px;
	justify-content: center;
	padding-top: 30px;
}

.swiper-button-prev,
.swiper-button-next {
	margin: 0;
	transform: translateY(-50%);
	height: 40px;
	width: 40px;
}

.swiper-button-prev{
	left: 200px;
}

.swiper-button-next{
	right: 200px;
}

.swiper-button-prev:after,
.swiper-button-next:after {
	height: 40px;
	width: 40px;
}

.swiper-button-prev::after {
	background-image: url(../img/top/prev2.svg);
}

.swiper-button-next::after {
	background-image: url(../img/top/next2.svg);
}

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

	.testlWrap{
		width: calc(100% - 40px)!important;
		margin: 0 auto
	}
	.test-listItem{
		width: 100%;
		max-width: 100%;
		padding: 30px;
	}

	.test-listItem{
		column-gap: 30px;
	}

	.test-l{
		width: 100%;
		max-width: 100%;
	}

	.test-r{
		width: 100%;
		padding-top: 20px;
	}

	.testTxtWrap .com{
		font-size: 14px;
	}

	.testTxtWrap .name{
		font-size: 20px;
	}

	.testTxtWrap .position{
		font-size: 12px;
	}

	.test-r>p{
		margin-top: 20px;
		font-size: 14px;
		line-height: 160%;
		letter-spacing: normal;
	}

	.section-serviceForm {
		margin-top: 80px;
	}

	.serviceFormTtl {
		font-size: 20px;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}

	.serviceFormWrap {
		width: 90%;
		max-width: 100%;
		margin: 0 auto;
	}

	.serviceForm {
		padding: 30px 20px 40px;
	}

	.serviceForm .formInput, .serviceForm .textarea{
		padding: 10px;
	}
}
/* Page hero ported from the JA theme for the privacy page (PM-1660) */
:root{ --header-h: 104px; }
.pmPageHero{
	position: relative;
	overflow: hidden;
	padding: calc(var(--header-h) + 56px) 0 58px;
	background:
		linear-gradient(90deg, rgba(5,8,24,0.99) 0%, rgba(8,10,29,0.98) 42%, rgba(12,15,35,0.82) 64%, rgba(12,15,35,0.42) 100%),
		linear-gradient(180deg, rgba(255,255,255,0.025) 0%, rgba(5,8,24,0.12) 100%),
		var(--pm-page-hero-image);
	background-repeat: no-repeat;
	background-size: cover, cover, auto 128%;
	background-position: center center, center center, 82% center;
	color: #fff;
}

.pmPageHero--abstract{
	background:
		linear-gradient(90deg, rgba(5,8,24,0.99) 0%, rgba(9,10,30,0.98) 52%, rgba(21,22,48,0.92) 100%),
		radial-gradient(circle at 88% 12%, rgba(102,91,166,0.16), transparent 38%),
		linear-gradient(135deg, rgba(255,255,255,0.06) 0 1px, transparent 1px 100%);
	background-size: auto, auto, 128px 128px;
	background-position: center;
}

.pmPageHero::after{
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(5,8,24,0.28), transparent 52%),
		linear-gradient(135deg, transparent 0 49.9%, rgba(150,142,205,0.06) 50%, transparent 50.1%);
	background-size: auto, 160px 160px;
	opacity: .78;
}

.pmPageHero--abstract::after{
	inset: 0 0 0 auto;
	width: 48%;
	background:
		linear-gradient(135deg, transparent 0 49.86%, rgba(150,142,205,0.12) 50%, transparent 50.14%),
		linear-gradient(45deg, transparent 0 49.9%, rgba(150,142,205,0.06) 50%, transparent 50.1%),
		radial-gradient(circle at 70% 35%, rgba(180,174,226,0.30) 0 1px, transparent 2px);
	background-size: 280px 210px, 360px 260px, 300px 240px;
	mask-image: linear-gradient(90deg, transparent 0%, #000 34%, #000 100%);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 34%, #000 100%);
	opacity: .46;
}

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

.pmPageHero .breadcrumb-listItem,
.pmPageHero .breadcrumb-listItem a{
	color: rgba(255,255,255,0.68);
}

.pmPageHero__title{
	padding-top: 34px;
	font-size: 48px;
	line-height: 120%;
	font-weight: 700;
	letter-spacing: normal;
}

.pmPageHero__lead{
	max-width: 720px;
	padding-top: 18px;
	font-size: 16px;
	line-height: 190%;
	font-weight: 500;
	letter-spacing: normal;
	color: rgba(255,255,255,0.90);
}

@media screen and (max-width: 768px) {
	:root{ --header-h: 88px; }
	.pmPageHero{
		padding: calc(var(--header-h) + 46px) 0 46px;
		background-size: cover, cover, auto 82%;
		background-position: center center, center center, right top;
	}

	.pmPageHero--abstract{
		background-size: auto, auto, 112px 112px;
		background-position: center;
	}

	.pmPageHero--abstract::after{
		width: 70%;
		opacity: .42;
	}

	.pmPageHero__title{
		padding-top: 28px;
		font-size: 36px;
	}

	.pmPageHero__lead{
		font-size: 14px;
		line-height: 185%;
	}

}

/* --------------------------------
------ プライバシーポリシー等の規約ページ (PM-1660) ------
---------------------------------*/
.pmLegalHero .pmPageHero__lead{
	max-width: 860px;
}

.pmLegalPage{
	padding: 24px 0 96px;
}

.pmLegal{
	max-width: 860px;
}

.pmLegal__section{
	padding-top: 52px;
}

.pmLegal__title{
	padding-bottom: 14px;
	margin-bottom: 18px;
	border-bottom: 1px solid #E0E4EC;
	font-size: 22px;
	line-height: 145%;
	font-weight: 700;
	color: #11162E;
	letter-spacing: normal;
}

.pmLegal p{
	font-size: 15px;
	line-height: 200%;
	letter-spacing: normal;
}

.pmLegal p + p{
	margin-top: 14px;
}

.pmLegal__list{
	margin: 12px 0 16px;
	padding-left: 1.4em;
	list-style: disc;
}

.pmLegal__list li{
	font-size: 15px;
	line-height: 190%;
	letter-spacing: normal;
}

.pmLegal__list li + li{
	margin-top: 6px;
}

.pmLegal__address{
	padding: 18px 22px;
	border-radius: 8px;
	background: #fff;
	border: 1px solid #E0E4EC;
}

.pmLegal a{
	color: var(--primary);
	text-decoration: underline;
}

.pmLegal__dates{
	margin-top: 56px;
	font-size: 13px;
	line-height: 180%;
	color: #7D8494;
	text-align: right;
}

@media screen and (max-width: 768px) {
	.pmLegalPage{
		padding: 12px 0 72px;
	}

	.pmLegal__section{
		padding-top: 40px;
	}

	.pmLegal__title{
		font-size: 19px;
	}

	.pmLegal p,
	.pmLegal__list li{
		font-size: 14px;
	}

	.pmLegal__dates{
		text-align: left;
	}
}
