﻿@charset "utf-8";


/*----------------------------------------------
	Overall settings
-----------------------------------------------*/

body{ min-width: 1100px; color: #231815; text-align: center; overflow: clip;}
body.ovh{ overflow: hidden;}
a{ color: #231815; text-decoration:none; -webkit-transition: all .2s; transition: all .2s;}
a:hover{ opacity: .7; text-decoration:none;}
.underline{ text-decoration: underline;}
/* font */
.gothic{ font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;}
.mincho{ font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;}
.zenkaku{ font-family: "Zen Kaku Gothic New", sans-serif;}
.zenmaru{ font-family: "Zen Maru Gothic", sans-serif;}
/* bg */
.bg-white{ background: #fff;}
/* color */
.f-white{ color: #fff;}
.f-red{ color: #c00;}
/* anchor */
.anchorwrap{ position: relative;}
.anchorwrap .anchor{ position: absolute; top: -100px;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	body{ min-width: inherit;}
	/* anchor */
	.anchorwrap .anchor{ top: -70px;}
}
@media screen and (max-width: 350px) {
	html{ font-size: 50%;}
}



/*----------------------------------------------
	header
-----------------------------------------------*/

header{
	max-width: 1130px;
	padding: 0 3%;
	box-sizing: content-box;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	height: 80px;
}
header .logo{
	width: 335px;
	position: relative;
	z-index: 100;
}
header .logo a{ margin-right: 30px;}
header .spmenu{
	color: #fff;
	display: block;
	position: absolute;
	top: 0;
	right: 3%;
	width: 80px;
	height: 80px;
	cursor: pointer;
	z-index: 101;
	margin-right: 3%;
}
header .spmenu span,
header .spmenu span:before,
header .spmenu span:after{
	position: absolute;
	display: block;
	background: #000;
	width: 48px;
	height: 2px;
	transition: all .5s;
}
header .spmenu span{
	top: 28px;
	left: 20px;
}
header .spmenu span:before,header .spmenu span:after{
	content: "";
	left: 0;
}
header .spmenu span:before{ top: 10px;}
header .spmenu span:after{ top: 20px;}
header.open .spmenu span{
	top: 15px;
	-webkit-transform: translateY(20px) rotate(-45deg);
	transform: translateY(20px) rotate(-45deg);
}
header.open .spmenu span:before{ opacity: 0;}
header.open .spmenu span:after{
	-webkit-transform: translateY(-20px) rotate(90deg);
	transform: translateY(-20px) rotate(90deg);
	top: 20px;
}
header ul.pc{
	line-height: 1.5;
	flex: 1;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	padding-right: 90px;
}
header ul.pc li{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 2px 0;
}
header ul.pc li a{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 10px;
	min-width: 140px;
	line-height: 1.1;
	border-left: 1px solid #333333;
}
header ul.pc li:first-child a{ border-left: none;}
/* nav */
header nav{
	top: 0;
	right: 0;
	width: 100%;
	text-align: left;
	overflow: auto;
	position: absolute;
	z-index: 1;
	top: 80px;
	width: 100%;
	left: 0;
	-webkit-transform: scale(1, 0);
	transform: scale(1, 0);
	-webkit-transform-origin: center top;
	transform-origin: center top;
	opacity: 0;
	transition-property: opacity, transform, -webkit-transform;
	transition-duration: .5s, 0s, 0s;
	transition-delay: 0s, .5s, .5s;
	box-shadow: 0 0 0 100vh #fff;
	background: #fff;
	height: calc(100vh - 80px);
}
header.open nav{
	-webkit-transform: scale(1);
	transform: scale(1);
	opacity: 1;
	transition-delay: 0s, 0s, 0s;
}
header nav ul li a{
	text-align: center;
	padding: 15px;
	display: block;
	width: 25em;
	margin: 0 auto;
	border-bottom: 1px solid #000;
}
header nav ul li:first-child a{ border-top: 1px solid #000;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	header{
		height: 64px;
		position: relative;
		border-bottom: 1px solid #666863;
	}
	header .logo{ width: auto;}
	header .logo img{ width: 102px;}
	header .logo a{ margin-right: 18px;}
	header .logo a img{ width: 100px;}
	header .spmenu{
		right: 0;
		width: 64px;
		height: 64px;
	}
	header .spmenu span,header .spmenu span:before,header .spmenu span:after{ width: 40px;}
	header .spmenu span{
		top: 23px;
		left: 13px;
	}
	header.open .spmenu span{ top: 10px;}
	header nav{
		top: 64px;
		z-index: 5;
	}
	header nav ul li a{
		padding: 4vw;
		width: auto;
	}
}



/*----------------------------------------------
	section
-----------------------------------------------*/

section{}
.wrap{ clear: both; box-sizing: content-box; max-width: 1120px; margin-left: auto; margin-right: auto; padding-left: 3%; padding-right: 3%;}
.maxw994{ max-width: 994px;}
.btn1{
	display: inline-block;
	border-radius: 98px;
	border: 4px solid #3cd1dc;
	font-size: 22px;
	font-weight: 500;
	max-width: 470px;
	width: 100%;
	padding: 25px;
	background: #fff;
}
.btn1.btn1-pink{ border: 4px solid #fabdbb;}
.btn1 span{
	display: inline-block;
	padding-right: 45px;
	position: relative;
}
.btn1 span:after{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto 0;
	width: 33px;
	height: 33px;
	border-radius: 50%;
	background: url(../img/arrow2-right-white.svg) center no-repeat #3cd1dc;
}
.btn1.btn1-pink span:after{ background-color: #f57a78;}
.lower-ttl{
	padding: 0 3%;
}
/*
.service .lower-ttl{ background: #e8fafb;}
.office .lower-ttl{ background: #feefef;}
*/
.pan{
	display: flex;
	flex-wrap: wrap;
	max-width: 990px;
	padding-top: 5px;
	margin: 0 auto;
}
.pan a{
	position: relative;
	display: block;
	padding-right: 1.5em;
}
.pan a:after{
	content: ">";
	position: absolute;
	top: -.1em;
	right: .4em;
}
.lower-ttl h1{
	max-width: 990px;
	height: 90px;
	margin: 0 auto;
	position: relative;
}
.lower-ttl h1 img{
	position: absolute;
	bottom: -2px;
	left: 0;
}
.lower-lead{
	color: #fff;
	text-align: left;
	padding: 30px 0 40px;
	background: #858585;
}
.lower-lead.lower-lead-bg{
	background: url(../img/lower-lead-bg.png) left top / 1440px auto repeat;
}
.service .lower-lead{
	color: #fff;
	background: #3cd1dc;
}
.office .lower-lead{
	color: #fff;
	background: #f57a78;
}
.office.recruit .lower-lead{ background: #57b3e2;}
.service .lower-lead p{
	font-size: 18px;
	font-weight: bold;
	max-width: 990px;
	margin: 0 auto 20px;
}
.lower-lead dl{
	max-width: 990px;
	margin: 0 auto;
}
.lower-lead dl dt{
	font-size: 35px;
	line-height: 1.3;
	font-weight: 500;
}
.lower-lead dl dt span{
	color: #231815;
	font-size: 16px;
	text-align: center;
	display: inline-block;
	min-width: 145px;
	padding: 7px 20px;
	background: #fff;
	border-radius: 98px;
	box-shadow: 3px 3px 0px 0px #333;
}
.service .lower-lead dl dt span{ background: #b7ebf2;}
.office .lower-lead dl dt span{ background: #ffdbda;}
.office.recruit .lower-lead dl dt span{ background: #fdf1f0;}
.lower-lead dl dd{
	font-size: 18px;
	font-weight: bold;
	padding-top: 10px;
}
.bg{ background: url(../img/lower-bg.webp) left top / 15px auto repeat;}
.tag-subt{
	font-size: 24px;
	font-weight: bold;
  display: inline-block;
  min-width: 145px;
  background: #e3e3e3;
  text-align: center;
  padding: 7px 50px;
  border-radius: 98px;
  box-shadow: 2px 2px 0px 0px #333;
	margin-bottom: 35px;
}


/* wpeditor */
.wpeditor{ text-align: left; clear: both;}
.wpeditor *:first-child{ margin-top: 0!important;}
.wpeditor h1,.wpeditor h2,.wpeditor h3,.wpeditor h4,.wpeditor h5,.wpeditor h6,.wpeditor a{ color: #0F3286; line-height: 1.4; margin-top: 2em;}
.wpeditor a{ text-decoration: underline;}
.wpeditor h1{ font-size: 32px;}
.wpeditor h2{ font-size: 30px;}
.wpeditor h3{ font-size: 28px;}
.wpeditor h4{ font-size: 24px;}
.wpeditor h5{ font-size: 20px;}
.wpeditor h6{ font-size: 18px;}
.wpeditor p, .wpeditor ul, .wpeditor ol, .wpeditor table{ margin-top: 2em;}
.wpeditor figure{ text-align: center;}
.wpeditor img{ display: block; margin: 2em auto 0;}
.wpeditor p.date{ text-align: right;}
@media screen and (max-width: 768px){
	.wpeditor{ padding-top: 15px;}
	.wpeditor h1{ font-size: 20px;}
	.wpeditor h2{ font-size: 18px;}
	.wpeditor h3{ font-size: 16px;}
	.wpeditor h4{ font-size: 15px;}
	.wpeditor h5{ font-size: 14px;}
	.wpeditor h6{ font-size: 13px;}

	.lower-ttl h1{
		width: 60vw;
		height: 16vw;
		margin: 0;
	}
	.lower-ttl h1 img{ bottom: -.3vw;}
	.lower-lead{ padding: 7vw 0;}
	.service .lower-lead p{
		font-size: 4vw;
		padding: 0 3%;
		margin-bottom: 4vw;
	}
	.lower-lead dl{ padding: 0 3%;}
	.lower-lead dl dt{
		font-size: 9vw;
	}
	.lower-lead dl dt span{
		font-size: 4.8vw;
		padding: 2.2vw 4vw;
		margin-top: 4vw;
	}
	.lower-lead dl dd{
		font-size: 4vw;
		line-height: 2;
		padding-top: 5vw;
	}
	.btn1{
		border: 3px solid #3cd1dc;
		font-size: 4.8vw;
		padding: 4.266vw;
	}
	.btn1.btn1-pink{ border: 3px solid #f67a78;}
	.btn1 span{ padding-right: 25px;}
	.btn1 span:after{
		width:20px;
		height: 20px;
		background-position-x: right 6px;
	}
	.tag-subt{
		font-size: 4.266vw;
		min-width: inherit;
		padding: 2vw 6.5vw;
  	box-shadow: 3px 3px 0px 0px #333;
		margin-bottom: 12vw;
	}
}

/* top */
.mv{
	min-width: 1440px;
	position: relative;
	overflow: clip;
}
.mv img{ width: 100%;}
.mv .fig1,.mv .fig2{
	position: absolute;
	bottom: -5px;
}
.mv .fig1{
	left: 140px;
	animation: shop1img1 2s ease-in-out infinite;
	transform-origin: center bottom;
	will-change: transform;
}
.mv .fig2{
	right: 140px;
	animation: shop1img2 2s ease-in-out infinite;
	transform-origin: center bottom;
	will-change: transform;
}
@keyframes shop1img1{
	0%{ transform: rotate(2deg);}
	50%{ transform: rotate(-2deg);}
	100%{ transform: rotate(2deg);}
}
@keyframes shop1img2{
	0%{ transform: rotate(-2deg);}
	50%{ transform: rotate(2deg);}
	100%{ transform: rotate(-2deg);}
}
.bg1{
	padding: 1px 0;
	background: url(../img/top/bg1.webp) center / cover no-repeat;
}
.top1{
	padding: 150px 0 135px;
}
.top1 h2{
	font-size: 42px;
	font-weight: bold;
	margin-bottom: 30px;
}
.top1 h2 span{ color: #f57a78;}
.top1 h3{
	font-size: 20px;
	font-weight: bold;
	background: #fde4e4;
	width: fit-content;
	padding: 10px 45px;
	margin: 0 auto 35px;
}
.top1 h3 span{ color: #f57a78;}
.top1 .lead{
	color: #333;
	font-size: 18px;
	font-weight: 500;
	line-height: 2.22;
}
.top1 .lead p{ margin-bottom: 2em;}
.top1 .link{
	display: flex;
	justify-content: center;
}
.top1 .link a{
	color:#fff;
	font-size: 10px;
	font-weight: bold;
	width: 160px;
	height: 160px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	border-radius: 10px;
	padding: 5px 0 10px;
	margin: 0 16px 15px;
	position: relative;
}
.top1 .link a:after{
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	display: block;
	margin: 0 auto;
}
.top1 .link a.link-service{ background: #3cd1dc;}
.top1 .link a.link-office{ background: #f57a78;}
.top1 .link a.link-voice{ background: #ffca3c;}
.top1 .link a.link-recruit{ background: #55bdf0;}
.top1 .link a.link-service:after,.top1 .link a.link-office:after{
	background: url(../img/top/arrow-right.svg) center no-repeat;
	width: 40px;
	height: 16px;
	bottom: 34px;
}
.top1 .link a.link-voice:after,.top1 .link a.link-recruit:after{
	background: url(../img/top/arrow-bottom.svg) center no-repeat;
	width: 16px;
	height: 28px;
	bottom: 27px;
}
.top1 .link a p.zenmaru{
	font-size: 12px;
	letter-spacing: .18em;
	font-weight: bold;
}
.top1 .link a strong{
	font-size: 22px;
	font-weight: 500;
	letter-spacing: -.03em;
}
.top2{
	display: flex;
	margin-bottom: 200px;
}
.top2 h2{
	padding-top: 30px;
	font-size: 35px;
	font-weight: 500;
	width: 300px;
	text-align: center;
}
.top2 .bg-white{
	text-align: left;
	flex: 1;
	border-radius: 20px;
	padding: 40px 75px;
}
.top2 .bg-white dl{
	display: flex;
	align-items: flex-end;
	padding: 15px 0;
	border-bottom: 1px solid #000;
}
.top2 .bg-white dl dt{
	font-size: 12px;
	width: 125px;
}
.top2 .bg-white dl dt .tag{
	line-height: 1.2;
	text-align: center;
	display: block;
	min-width: 80px;
	width: fit-content;
	border-radius: 98px;
	border: 1px solid #000;
	margin-top: 7px;
	padding: 3px 10px;
}
.top2 .bg-white dl dd{
	font-size: 15px;
	font-weight: 500;
	flex: 1;
}
.top2 .bg-white dl dd a{ color: #ed5c59;}
.top3{
	text-align: left;
	background: #c4f1f5;
	position: relative;
	border-radius: 0 0 150px 150px;
	padding: 50px 0 80px;
	margin-bottom: 260px;
	width: 1120px;
}
.top3.bg-pink{
	background: #fcd7d6;
	margin-bottom: 240px;
}
.top3:before{
	content: "";
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	margin: 0 auto;
	background: url(../img/top/service-top.svg) center no-repeat;
	width: 1120px;
	height: 64px;
	display: block;
}
.top3.bg-pink:before{ background: url(../img/top/office-top.svg) center no-repeat;}
.top3 h2{
	line-height: 1;
	position: absolute;
	top: -70px;
	left: 90px;
}
.top3 .lead{
	max-width: 940px;
	margin-right: auto;
	margin-left: auto;
}
.top3 .clm2{
	display: flex;
	max-width: 940px;
	margin: 0 auto 85px;
}
.top3 .clm2 .leftcol{
	width: 284px;
}
.top3 .clm2 h3{
	font-size: 35px;
	font-weight: 500;
	margin-bottom: 10px;
}
.top3 .clm2 .leftcol p span{
	font-weight: 500;
	display: block;
	width: 145px;
	background: #fff;
	text-align: center;
	padding: 5px 20px;
	border-radius: 98px;
	box-shadow: 2px 2px 0px 0px #333;
}
.top3.bg-pink .clm2 .leftcol p span{
	box-shadow: 2px 2px 0px 0px #333;
}
.top3 .clm2 .rightcol{ flex: 1;}
.top3 .clm2 .rightcol p{ line-height: 1.875;}
.top3 .slick-slide{
	width: 240px!important;
	margin: 0 16px 32px;
}
.top3 .slick-slide img{
	border-radius: 20px;
}
.top4{
	text-align: left;
	width: 676px;
	margin: 0 auto;
	padding-bottom: 80px;
}
.top4 h2{
	padding: 0 15px;
	background:linear-gradient(transparent 60%, #fff2cf 60%);
	width: fit-content;
	margin-bottom: 50px;
}
.top4 .imgright{
	position: relative;
	padding-right: 240px;
}
.top4 h3{
	font-size: 35px;
	font-weight: 500;
	margin-bottom: 10px;
}
.top4 p span{
	font-weight: 500;
	display: block;
	width: 168px;
	background: #fff2ce;
	text-align: center;
	padding: 5px 20px;
	border-radius: 98px;
	box-shadow: 2px 2px 0px 0px #333;
	margin-bottom: 40px;
}
.top4 p.lead{
	line-height: 2;
}
.top4 div figure{
	position: absolute;
	right: 0;
	bottom: 0;
}
.top5{
	padding: 75px 0 228px;
	background: url(../img/top/bg2.webp) center / cover no-repeat;
}
.top5 .list{
	display: flex;
	flex-wrap: wrap;
	gap: 2.75%;
}
.top5 .list a{
	display: flex;
	background: #fff;
	width: 31.5%;
	box-shadow: 3px 4px 0px 0px #333;
	border-radius: 20px;
	margin-bottom: 32px;
}
.top5 .list a.coming-soon{
	position: relative;
	box-shadow: 0 0 0px 0px #333;
	pointer-events: none;
}
.top5 .list a.coming-soon:before,
.top5 .list a.coming-soon:after{
	position: absolute;
	top: 0;
	left: 0;
}
.top5 .list a.coming-soon:before{
	content: "";
	width: 100%;
	height: 100%;
	background: #e3e3e3;
	border-radius: 20px;
}
.top5 .list a.coming-soon:after{
	content: "Coming soon";
	height: 26px;
	font-weight: bold;
	right: 0;
	bottom: 0;
	margin: auto;
}
.top5 .list a figure{
	width: 49%;
	position: relative;
}
.top5 .list a figure:after{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	display: block;
	background: url(../img/top/ic-movie.svg) center no-repeat;
	width: 32px;
	height: 32px;
}
.top5 .list a figure img{ border-radius: 18px 0 0 18px;}
.top5 .list a dl{
	font-weight: bold;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.top5 .list a dl dt{
	color: #ed5c59;
	width: fit-content;
	padding-bottom: 10px;
	border-bottom: 1px solid #666863;
	margin: 0 auto 10px;
}
.top5 .list a dl dt.f-black{
	color: #231815;
	border-bottom: 2px solid #b2b3b1;
}
.top5 .list a dl dd strong{
	font-size: 20px;
	font-weight: 500;
	display: block;
}
.top6{
	padding-top: 95px;
	position: relative;
	background: #d4effb;
}
.top6:before{
	content: "";
	position: absolute;
	bottom: 100%;
	left: 0;
	background: url(../img/top/recruit-top.svg) center / 100% auto no-repeat;
	width: 100%;
	height: 4.51388vw;
}
.top6 h2.zenkaku{
	margin-bottom: 40px;
}
.top6 h2.zenmaru{
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 25px;
}
.top6 h2.zenmaru span{
	padding: 0 54px;
	display: inline-block;
	position: relative;
}
.top6 h2.zenmaru span:before,
.top6 h2.zenmaru span:after{
	content: "";
	position: absolute;
	bottom: .3em;
	width: 28px;
	height: 44px;
	display: block;
}
.top6 h2.zenmaru span:before{
	left: 0;
	background: url(../img/top/info-ttl1.svg) center no-repeat;
}
.top6 h2.zenmaru span:after{
	right: 0;
	background: url(../img/top/info-ttl2.svg) center no-repeat;
}
.top6 h2.zenmaru strong{ font-size: 42px;}
.top6 .movie-cont{
	max-width: 720px;
	margin: 0 auto 65px;
}
.top6 .imgright1{
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
.top6 .imgright1 p{
	font-size: 56px;
	font-weight: bold;
	text-align: left;
	margin: 0 35px 10px 0;
}
.top6 .fig-cont1{
	position: relative;
	padding: 90px 0 80px;
}
.top6 .fig-cont1 h3{
	font-size: 35px;
	font-weight: 500;
	margin-bottom: 10px;
}
.top6 .fig-cont1 p span{
	font-weight: 500;
	display: inline-block;
	width: 145px;
	background: #fff;
	text-align: center;
	padding: 5px 20px;
	border-radius: 98px;
	box-shadow: 2px 2px 0px 0px #333;
	margin-bottom: 40px;
}
.top6 .fig-cont1 .lead{
	line-height: 2;
}
.top6 .fig-cont1 .fig1,.top6 .fig-cont1 .fig2{ position: absolute;}
.top6 .fig-cont1 .fig1{
	top: -80px;
	left: -110px;
}
.top6 .fig-cont1 .fig2{
	top: 30px;
	right: -85px;
}
.top6 .btn-cont{
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
}
.top6 .btn-cont a{
	font-size: 17px;
	font-weight: 500;
	display: block;
	padding: 20px;
	border: 3px solid #000;
	padding-right: 30px;
	position: relative;
	max-width: 384px;
	width: 100%;
	background: #fff;
	margin: 0 15px 15px;
}
.top6 .btn-cont a:before,
.top6 .btn-cont a:after{
	content: "";
	position: absolute;
	display: block;
}
.top6 .btn-cont a:before{
	bottom: 5%;
	width: 3px;
	height: 90%;
	background: #000;
	right: 33px;
}
.top6 .btn-cont a:after{
	bottom: 38%;
	background: url(../img/top/arrow4-right-black.svg) center no-repeat;
	width: 13px;
	height: 23px;
	right: 10px;
}
.top6 .fig-cont2{ position: relative;}
.top6 .fig-cont2 .fig1,.top6 .fig-cont2 .fig2{ position: absolute;}
.top6 .fig-cont2 .fig1{
	top: 40px;
	left: 60px;
}
.top6 .fig-cont2 .fig2{
	top: 20px;
	right: 55px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.mv{ min-width: inherit;}
	.mv .fig1,.mv .fig2{
		bottom: -11vw;
		width: 57%;
	}
	.mv .fig1{
		left: -3vw;
		z-index: 2;
	}
	.mv .fig2{
		right: -3vw;
		z-index: 1;
	}
	.bg1{ background: url(../img/lower-bg.webp) center top / 18px auto repeat;}
	.bg1 .wrap{ padding: 0;}
	.top1{ padding: 12vw 3% 22vw;}
	.top1 h2{
		font-size: 11.2vw;
		margin-bottom: 14vw;
	}
	.top1 h3{
		font-size: 4.8vw;
		padding: 1.8vw;
		width: auto;
		margin: 0 auto 5vw;
		border-radius: 5px;
	}
	.top1 .lead{
		font-size: 4vw;
		margin-bottom: 30vw;
	}
	.top1 .link{
		flex-wrap: wrap;
		gap: 4%;
	}
	.top1 .link a{
		font-size: 2.8vw;
		width: 48%;
		height: 43vw;
		padding: 1vw 0 2vw;
		margin: 0 0 4vw;
	}
	.top1 .link a p.zenmaru{ font-size: 3.2vw;}
	.top1 .link a strong{ font-size: 5.866vw;}
	.top2{
		display: block;
		margin-bottom: 0;
	}
	.top2 h2{
		font-size: 9.2vw;
		padding: 6vw 5% 0;
		width: auto;
		text-align: left;
		background: #fff;
	}
	.top2 .bg-white{
		border-radius: 0;
		padding: 0 5% 50vw;
	}
	.top2 .bg-white dl{
		display: block;
		padding: 6vw 0 3vw;
		border-bottom: 1px solid #000;
	}
	.top2 .bg-white dl dt{
		font-size: 4vw;
		width: auto;
		margin-bottom: 1vw;
	}
	.top2 .bg-white dl dt .tag{
		display: inline-block;
		min-width: 20vw;
		margin: 0 0 0 3vw;
		padding: 1vw 3vw;
	}
	.top2 .bg-white dl dd{ font-size: 4vw;}
	.top3{
		border-radius: 0;
		padding: 5vw 3% 43vw;
		margin-bottom: 0;
		width: auto;
		background: #b7ebf2;
	}
	.top3.bg-pink{
		background: #ffdbda;
		padding: 21vw 3%;
		margin-bottom: 0;
	}
	.top3:before{
		bottom: 99%;
		background: url(../img/top/service-top-sp.svg) center / 100% auto no-repeat;
		width: 100%;
		height: 18vw;
	}
	.top3.bg-pink:before{ background: url(../img/top/office-top-sp.svg) center bottom / 100% auto no-repeat;}
	.top3.bg-pink:after{
		content: "";
		position: absolute;
		top: 99.99%;
		left: 0;
		width: 100%;
		height: 15vw;
		display: block;
		background: url(../img/top/office-bottom-sp.svg) center top / 100% auto no-repeat;
	}
	.top3 h2{
		text-align: center;
		top: -22vw;
		left: 10%;
		width: 80%;
	}
	.top3.bg-pink h2{
		top: -19vw;
		left: 19vw;
		width: 58vw;
	}
	.top3 .clm2{
		display: block;
		margin: 0 auto 18vw;
	}
	.top3 .clm2 .leftcol{
		width: auto;
		margin-bottom: 6vw;
	}
	.top3 .clm2 h3{
		font-size: 9.6vw;
		margin-bottom: 3.5vw;
	}
	.top3 .clm2 .leftcol p span{
		width: 38vw;
		padding: 1.8vw 4vw;
	}
	.top3 .slick-slide{
		width: 125px!important;
		margin: 0 12px 16px;
	}
	.top3 .slick-slide img{
		border-radius: 10px;
	}
	.top3 .slick-list{ overflow: visible;}
	.top4{
		text-align: center;
		width: auto;
		background-color: #fff;
		padding: 19vw 5% 10vw;
	}
	.top4 h2{
		text-align: center;
		padding: 2vw;
		background:linear-gradient(transparent 72%, #fff2cf 72%);
		width: auto;
		margin-bottom: 12.5vw;
	}
	.top4 h2 img{
		width: 54vw;
	}
	.top4 .imgright{
		padding-right: 0;
	}
	.top4 h3{
		font-size: 9vw;
		margin-bottom: 2vw;
	}
	.top4 p.lead{
		margin-bottom: 24vw;
	}
	.top4 p span{
		font-size: 4.66vw;
		display: inline-block;
		width: auto;
		padding: 1.5vw 5vw;
		margin-bottom: 7vw;
	}
	.top4 div figure{
		position: static;
	}
	.top5{
		padding: 12vw 0 24vw;
	}
	.top5 .list{
		display: none;
	}
	.top5 .list a{
		display: flex;
		width: auto;
		border-radius: 20px;
		margin-bottom: 4vw;
	}
	.top5 .list a.coming-soon{
		height: 30vw;
	}
	.top5 .list a.coming-soon:before{
		border-radius: 15px;
	}
	.top5 .list a figure img{ border-radius: 10px 0 0 10px;}
	.top5 .list a dl dt{
		padding-bottom: 2vw;
		margin: 0 auto 2vw;
	}
	.top5 .list a dl dd strong{
		font-size: 5.33vw;
	}
	.top5 .ac-btn{
		font-size: 4.8vw;
		font-weight: 500;
		background: #ffc55b;
		border-radius: 15px;
		padding: 7vw;
		box-shadow: 2px 3px 0px 0px #333;
		margin-bottom: 20vw;
		position: relative;
		cursor: pointer;
	}
	.top5 .ac-btn:after{
		content: "";
		position: absolute;
		right: 0;
		bottom: -14vw;
		left: 0;
		margin: 0 auto;
		background: url(../img/top/arrow3-bottom-black.svg) center no-repeat;
		width: 40px;
		height: 24px;
		display: block;
	}
	.top5 .ac-btn.open:after{ transform: rotate(180deg);}
	.top5 .ac-btn span{
		display: inline-block;
		position: relative;
		padding-right: 35px;
		min-height: 16px;
	}
	.top5 .ac-btn span:before,
	.top5 .ac-btn span:after{
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto 0;
	}
	.top5 .ac-btn span:before{
		background: #fff;
		width: 30px;
		height: 30px;
		border-radius: 50%;
		right: 0;
	}
	.top5 .ac-btn span:after{
		right: 7px;
		width: 16px;
		height: 16px;
		background: url(../img/top/plus.svg) right center no-repeat;
	}
	.top5 .ac-btn.open span:after{
		background: url(../img/top/minus.svg) right center no-repeat;
	}
	.top6{
		padding-top: 25vw;
		background: #c2efff;
	}
	.top6:before{
		background: url(../img/top/recruit-top-sp.svg) center / 100% auto no-repeat;
	}
	.top6 h2.zenkaku{
		width: 70vw;
		margin: 0 auto 12vw;
	}
	.top6 h2.zenmaru{
		font-size: 5.066vw;
		margin-bottom: 5vw;
	}
	.top6 h2.zenmaru span{
		padding: 0 50px;
	}
	.top6 h2.zenmaru strong{ font-size: 9.066vw;}
	.top6 .movie-cont{
		margin-bottom: 6vw;
	}
	.top6 .imgright1{
		display: block;
	}
	.top6 .imgright1 p{
		font-size: 12.5vw;
		line-height: 1.3;
		text-align: center;
		margin: 0 0 1.5vw;
	}
	.top6 .imgright1 p strong{
		font-size: 14vw;
	}
	.top6 .imgright1 figure{
		width: 63vw;
		margin: 0 auto;
	}
	.top6 .fig-cont1{
		padding: 12vw 0 6vw;
	}
	.top6 .fig-cont1 h3{
		font-size: 9vw;
		margin-bottom: 3vw;
	}
	.top6 .fig-cont1 p span{
		font-size: 4.8vw;
		width: auto;
		padding: 1.5vw 5vw;
		margin-bottom: 12vw;
	}
.top6 .fig-cont1 .lead{
	text-align: left;
	line-height: 2;
}
	.top6 .fig-cont1 .fig1,.top6 .fig-cont1 .fig2{ display: none;}
	.top6 .btn-cont{
		display: block;
		margin-bottom: 17vw;
	}
	.top6 .btn-cont a{
		font-size: 4.533vw;
		padding: 6vw 9vw 6vw 3vw;
		border: 2px solid #000;
		max-width: inherit;
		margin: 0 0 6vw;
	}
	.top6 .btn-cont a:before{
		bottom: 7.5%;
		width: 2px;
		height: 85%;
	}
	.top6 .btn-cont a:after{
		bottom: 38%;
	}
	.top6 .fig-cont2 .fig1,.top6 .fig-cont2 .fig2{ display: none;}
	.top6 .fig-cont2 figure{
		width: 68vw;
		margin: 0 auto;
	}
}



/*----------------------------------------------
	footer
-----------------------------------------------*/

footer .bg-gray{
	font-size: 15px;
	line-height: 1.655;
	text-align: left;
	padding: 45px 0 50px;
	background: #e3e3e3;
}
footer .bg-gray .wrap{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
footer .bg-gray .wrap nav{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	width: 470px;
}
footer .bg-gray .wrap nav a{
	margin: 0 0 7px 15px; 
}
footer .bg-gray .wrap .leftcol{
	flex: 1;
	display: flex;
}
footer .bg-gray .wrap .leftcol .logo{
	margin-right: 22px;
}
footer .copy{
	color: #fff;
	font-size: 12px;
	padding: 25px;
	background: #666863;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	footer .bg-gray{
		line-height: 1.66;
		font-size: 3.733vw;
		text-align: center;
		padding: 10vw 0 10vw;
	}
	footer .bg-gray .wrap{
		display: block;
	}
	footer .bg-gray .wrap nav{
		font-size: 3.2vw;
		justify-content: center;
		width: auto;
		margin-bottom: 4vw;
	}
	footer .bg-gray .wrap nav a{
		margin: 0 2vw 1.5vw;
	}
	footer .bg-gray .wrap .leftcol{
		display: block;
	}
	footer .bg-gray .wrap .leftcol .logo{
		width: 33vw;
		margin: 0 auto 9vw;
	}
	footer .copy{
		font-size: 3.2vw;
		padding: 6vw;
	}
}


/* service */
.service .bg{
	text-align: left;
	padding: 72px 0 180px;
	background: url(../img/service/bg.webp) center / cover no-repeat;
}
.service1 h2{
	font-size: 46px;
	line-height: 1.3;
	font-weight: 500;
	margin-bottom: 10px;
}
.service1 h2 span{
	font-size: 18.5px;
	display: inline-block;
	border-radius: 5px;
	padding: 5px 27px;
	background: #e3e3e3;
}
.service1 .lead{
	font-size: 23px;
	font-weight: 500;
	margin-bottom: 1.5em;
}
.service1 h3{
	font-size: 27px;
	font-weight: 500;
	margin-bottom: .5em;
}
.service1 h3 small{ font-size: 16px;}
.service1 .clm2{
	display: flex;
	justify-content: space-between;
	margin-bottom: 110px;
}
.service1 .clm2 .clm{
	width: 47%;
	border-top: 2px solid #e3e3e3;
}
.service1 .clm2 .clm dl{
	border-bottom: 2px solid #e3e3e3;
}
.service1 .clm2 .clm dl dt{
	padding: 20px 40px 20px 0;
	display: flex;
	align-items: center;
	position: relative;
	cursor: pointer;
}
.service1 .clm2 .clm dl dt:after{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto 0;
	background: url(../img/service/plus.svg) center no-repeat;
	width: 36px;
	height: 36px;
}
.service1 .clm2 .clm dl dt.open:after{ background: url(../img/service/minus.svg) center no-repeat;}
.service1 .clm2 .clm dl dt em{
	display: block;
	padding: 5px;
	background: #fff;
	border-radius: 15px;
}
.service1 .clm2 .clm dl dt span{
	font-size: 17px;
	display: block;
	margin-left: 5px;
	flex: 1;
}
.service1 .clm2 .clm dl dt span small{
	font-weight: bold;
	padding: 2px 10px;
	border-bottom: 1px solid #000;
	display: block;
	width: fit-content;
}
.service1 .clm2 .clm dl dt span strong{
	font-size: 32px;
	font-weight: 500;
}
.service1 .clm2 .clm dl dd{ display: none;}
.service1 .clm2 .clm dl dd .inner{
	padding: 15px;
	border-radius: 20px;
	background: #fff;
	display: flex;
}
.service1 .clm2 .clm dl dd .leftcol{
	width: 33%;
	margin-right: 20px;
}
.service1 .clm2 .clm dl dd .leftcol img{ border-radius: 15px;}
.service1 .clm2 .clm dl dd .rightcol{
	font-weight: 500;
	flex: 1;
}
.service1 .clm2 .clm dl dd .rightcol figure{ margin-bottom: 15px;}
.service1 .clm2 .clm dl dd .rightcol .btn-cont{
	padding-top: 10px;
	display: flex;
	flex-wrap: wrap;
}
.service1 .clm2 .clm dl dd .rightcol .btn-cont a{
	color: #333;
	font-size: 16px;
	font-weight: bold;
	display: block;
	background: #e3e3e3;
	border-radius: 10px;
	padding: 12px 25px;
	margin: 0 14px 10px 0;
}
.service1 .clm2 .clm dl dd .rightcol .btn-cont a.btn-home{
	color: #ed5c59;
	background: #fde6e5;
}
.service1 .clm2 .clm dl dd .rightcol .btn-cont a.btn-office{
	color: #3685e9;
	background: #d5e7ff;
}
.service1 .clm2 .clm dl dd .rightcol .btn-cont a span{
	padding-right: 25px;
	display: inline-block;
	position: relative;
}
.service1 .clm2 .clm dl dd .rightcol .btn-cont a span:after{
	content: "▶";
	position: absolute;
	top: 0;
	right: 0;
}
.service2{
	color: #fff;
	font-size: 18px;
	max-width: 994px;
	margin: 0 auto;
	background: #ed5c59;
	padding: 40px 45px 50px;
	border-radius: 40px;
	clear: both;
	overflow: hidden;
}
.service2 .f-left{
	float: left;
	width: 50%;
}
.service2 .f-left h2{
	font-size: 26px;
	border-bottom: 1px solid #fff;
	margin-bottom: 20px;
}
.service2 .f-left h2 strong{
	font-size: 39px;
	font-weight: 900;
}
.service2 .f-left p{ margin-bottom: 30px;}
.service2 .f-right{
	float: right;
	width: 46.5%;
	padding-top: 85px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.service .bg{
		background: #fff;
		padding: 7vw 0 0;
	}
	.service .wrap{ padding: 0;}
	.service1 h2{
		font-size: 9vw;
		font-weight: bold;
		padding: 0 4%;
		margin-bottom: 2vw;
	}
	.service1 h2 span{
		font-size: 4.533vw;
		font-weight: 500;
		border-radius: 10px;
		padding: 1.2vw 5vw;
		margin-bottom: 2vw;
	}
	.service1 .lead{
		font-size: 4vw;
		padding: 0 4%;
	}
	.service1 h3{
		font-size: 4.8vw;
		padding-bottom: 2vw;
		border-bottom: 2px solid #e3e3e3;
		margin-right: 4%;
		margin-left: 4%;
	}
	.service1 h3 small{ font-size: 3.77vw;}
	.service1 .clm2{
		display: block;
		margin-bottom: 8vw;
	}
	.service1 .clm2 .clm{
		width: auto;
		border-top: none;
	}
	.service1 .clm2 .clm dl{
		padding: 0 4%;
		border-bottom: 1px solid #eaeaea;
	}
	.service1 .clm2 .clm dl dt{ padding: 4vw 35px 4vw 0;}
	.service1 .clm2 .clm dl dt span{
		font-size: 3.733vw;
		margin-left: 1vw;
	}
	.service1 .clm2 .clm dl dt:after{
		background-size: 32px auto;
		width: 32px;
		height: 32px;
	}
	.service1 .clm2 .clm dl dt.open:after{ background-size: 32px auto;}
	.service1 .clm2 .clm dl dt span small{ padding: .4vw 2vw;}
	.service1 .clm2 .clm dl dt span strong{ font-size: 6.4vw;}
	.service1 .clm2 .clm dl dd .inner{
		padding: 6vw 0 3vw;
	}
	.service1 .clm2 .clm dl dd .leftcol{
		width: 48%;
		margin-right: 3vw;
	}
	.service1 .clm2 .clm dl dd .rightcol{ font-size: 3.466vw;}
	.service1 .clm2 .clm dl dd .rightcol figure{
		width: 60%;
		margin: 0 0 2vw;
	}
	.service1 .clm2 .clm dl dd .rightcol .btn-cont{
		padding-top: 0;
		display: block;
	}
	.service1 .clm2 .clm dl dd .rightcol .btn-cont a{
		font-size: 4vw;
		text-align: center;
		padding: 1.5vw;
		margin: 3vw 10px 0;
	}
	.service2{
		font-size: 4.8vw;
		padding: 8vw 4% 4vw;
		border-radius: 0;
	}
	.service2 .f-left{
		text-align: center;
		float: none;
		width: auto;
	}
	.service2 .f-left h2{
		font-size: 4.8vw;
		border-bottom: 2px solid #fff;
		margin-bottom: 5vw;
	}
	.service2 .f-left h2 strong{ font-size: 8vw;}
	.service2 .f-left p{ margin-bottom: 8vw;}
	.service2 .f-right{
		text-align: center;
		float: none;
		width: auto;
		margin-bottom: 7vw;
		padding-top: 0;
	}
}


/* office */
.office .wrap{ width: 1120px;}
.office .bg{
	text-align: left;
	padding: 80px 0 140px;
	background: url(../img/office/bg.webp) center / cover no-repeat;
}
.office1 h2{
	font-size: 27px;
	font-weight: 500;
	margin-bottom: 30px;
}
.office1 .ac-ttl{
	padding: 20px 40px 20px 0;
	display: flex;
	align-items: center;
	position: relative; 
}
.office1 .ac-ttl em{
	display: block;
	padding: 5px;
	background: #fff;
	border-radius: 15px;
}
.office1 .ac-ttl span{
	font-size: 17px;
	display: block;
	margin-left: 10px;
	flex: 1;
}
.office1 .ac-ttl span small{
	font-weight: bold;
	padding: 2px 10px;
	border-bottom: 1px solid #000;
	display: block;
	width: fit-content;
}
.office1 .ac-ttl span strong{
	font-size: 32px;
	font-weight: 500;
}
.office1 .clm2{
	display: flex;
	justify-content: space-between;
	margin-bottom: 3em;
}
.office1 .clm2 .clm{ width: 546px;}
.office1 ul.ac-inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 3em;
}
.office1 ul.ac-inner:last-of-type{ margin-bottom: 0;}
.office1 ul.ac-inner li{
	width: 546px;
	display: flex;
	align-items: center;
	border-radius: 5px;
	background: #fff;
	padding: 15px;
	box-shadow: 2px 2px 0px 0px #d9d9d9;
	margin-bottom: 15px;
}
.office1 ul.ac-inner li figure{
	width: 41%;
	margin-right: 15px;
}
.office1 ul.ac-inner li figure img{ border-radius: 8px;}
.office1 ul.ac-inner li .rightcol{ flex: 1;}
.office1 ul.ac-inner li .rightcol div{
	line-height: 1;
	padding-left: 8px;
	border-left: 3px solid #e50044;
	margin-bottom: 15px;
}
.office1 ul.ac-inner.sm li .rightcol div{ border-left: 3px solid #009fb9;}
.office1 ul.ac-inner.tmx li .rightcol div{ border-left: 3px solid #ea5532;}
.office1 ul.ac-inner.hr li .rightcol div{ border-left: 3px solid #d5022c;}
.office1 ul.ac-inner.mm li .rightcol div{ border-left: 3px solid #d6007f;}
.office1 ul.ac-inner.tg li .rightcol div{ border-left: 3px solid #00a040;}
.office1 ul.ac-inner.us li .rightcol div{ border-left: 3px solid #0070c3;}
.office1 ul.ac-inner.hb li .rightcol div{ border-left: 3px solid #f4b61b;}
.office1 ul.ac-inner.od li .rightcol div{ border-left: 3px solid #9b77db;}
.office1 ul.ac-inner.ra li .rightcol div{ border-left: 3px solid #2c4198;}
.office1 ul.ac-inner.md li .rightcol div{ border-left: 3px solid #551900;}
.office1 ul.ac-inner li .rightcol div h4{ margin-bottom: 5px;}
.office1 ul.ac-inner li .rightcol div h4 strong{
	font-size: 23px;
	font-weight: bold;
	line-height: 1;
	display: inline-block;
	vertical-align: middle;
}
.office1 ul.ac-inner li .rightcol div h4 span{
	font-size: 16px;
	line-height: 1.4;
	font-weight: 500;
	background:linear-gradient(transparent 60%, #ffba39 60%);
	padding: 0 7px;
	display: inline-block;
	vertical-align: middle;
	margin-left: 20px;
}
.office1 ul.ac-inner li .rightcol div h4 span.marker-no{ background: none;}
.office1 ul.ac-inner li .rightcol div p{ font-size: 14px;}
.office1 ul.ac-inner li .rightcol div p a.tel{
	margin-left: 10px;
	border-left: 1px solid #c7c7c7;
	padding-left: 10px;
}
.office1 ul.ac-inner li .rightcol a.btn{
	color: #333;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	background: #eaeaea;
	border-radius: 5px;
	padding: 8px 5px;
	display: block;
	margin-top: 3px;
}
.office.recruit .office1 ul.ac-inner li .rightcol a.btn{ background: #d7ecf8;}
.office1 ul.ac-inner li .rightcol a.btn span{
	display: inline-block;
	padding-right: 1em;
	position: relative;
}
.office1 ul.ac-inner li .rightcol a.btn span:after{
	content: "▶";
	position: absolute;
	top: 0;
	right: 0;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.office .wrap{
		padding: 0;
		width: auto;
	}
	.office .bg{
		background: #fff;
		padding: 11vw 0 9vw;
	}
	.office1 h2{
		font-size: 4.8vw;
		padding-bottom: 2vw;
		border-bottom: 2px solid #e3e3e3;
		margin: 0 4%;
	}
	.office1 .ac-ttl{
		padding: 4vw 50px 4vw 4%;
		border-bottom: 1px solid #eaeaea;
		cursor: pointer;
	}
	.office1 .ac-ttl:after{
		content: "";
		display: block;
		position: absolute;
		top: 0;
		right: 4%;
		bottom: 0;
		margin: auto 0;
		background: url(../img/service/plus.svg) center / 32px auto no-repeat;
	}
	.office1 .ac-ttl.open:after{ background: url(../img/service/minus.svg) center / 32px auto no-repeat;	}
	.office1 .ac-ttl span{
		font-size: 3.733vw;
		margin-left: 1vw;
	}
	.office1 .ac-ttl:after{
		background-size: 32px auto;
		width: 32px;
		height: 32px;
	}
	.office1 .ac-ttl.open:after{ background-size: 32px auto;}
	.office1 .ac-ttl span small{
		font-weight: 500;
		padding: .4vw 2vw;
	}
	.office1 .ac-ttl span strong{
		font-size: 6.4vw;
		font-weight: bold;
	}
	.office1 .clm2{
		display: block;
		margin-bottom: 0;
	}
	.office1 .clm2 .clm{ width: auto;}
	.office1 ul.ac-inner{
		display: none;
		padding: 4vw;
		background: #fdeff4;
	}
	.office1 ul.ac-inner.sm{ background:  #eff9fb;}
	.office1 ul.ac-inner.tmx{ background:  #fef5f3;}
	.office1 ul.ac-inner.hr{ background:  #fcefef;}
	.office1 ul.ac-inner.mm{ background:  #fdeff7;}
	.office1 ul.ac-inner.tg{ background:  #effaf5;}
	.office1 ul.ac-inner.us{ background:  #eff7fc;}
	.office1 ul.ac-inner.hb{ background:  #faf6e1;}
	.office1 ul.ac-inner.od{ background:  #f9f7fd;}
	.office1 ul.ac-inner.ra{ background:  #f3f3f9;}
	.office1 ul.ac-inner.md{ background:  #f5f1ef;}
	.office1 ul.ac-inner li{
		width: 100%;
		padding: 3vw;
		margin-bottom: 2.2vw;
	}
	.office1 ul.ac-inner li figure{
		width: 25%;
		margin-right: 2.5%;
		position: relative;
		padding-bottom: 25%;
		height: 0;
		overflow: hidden;
	}
	.office1 ul.ac-inner li figure img{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.office1 ul.ac-inner li .rightcol div{
		padding-left: 1.5vw;
		margin-bottom: 3vw;
	}
	.office1 ul.ac-inner li .rightcol div h4{ margin-bottom: 1vw;}
	.office1 ul.ac-inner li .rightcol div h4 strong{
		font-size: 6.133vw;
		font-family: "Zen Maru Gothic", sans-serif;
	}
	.office1 ul.ac-inner li .rightcol div h4 span{
		font-size: 4.266vw;
		padding: 0 1.4vw;
		margin-left: 4vw;
	}
	.office1 ul.ac-inner li .rightcol div p{ font-size: 3.733vw;}
	.office1 ul.ac-inner li .rightcol div p a.tel{
		margin-left: 2vw;
		padding-left: 2vw;
	}
	.office1 ul.ac-inner li .rightcol a.btn{
		font-size: 3.733vw;
		padding: 1vw;
	}
	.office1 ul.ac-inner li .rightcol a.btn span{ padding-right: 1em;}
}


/* outline */
.outline .bg-white{
	text-align: left;
	padding: 120px 63px 95px;
}
.outline .tag-subt{ min-width: 220px;}
.outline1{
	display: flex;
	justify-content: space-between;
	padding-bottom: 85px;
	border-bottom: 1px solid #c7c7c7;
	margin-bottom: 120px;
}
.outline1 .leftcol{
	width: 42.8%;
}
.outline1 .rightcol{
	width: 52.42%;
}
.outline1 .rightcol table{ width: 100%;}
.outline1 .rightcol table th,.outline1 .rightcol table td{
	padding: 30px 0;
	border-top: 1px solid #c7c7c7;
}
.outline1 .rightcol table tr:first-child th,.outline1 .rightcol table tr:first-child td{
	padding-top: 0;
	border-top: none;
}
.outline1 .rightcol table th{
	font-weight: bold;
	width: 7.5em;
	padding-right: .5em;
}
.outline1 .rightcol table td{ font-size: 17px;}
.outline2{
	padding-bottom: 120px;
	border-bottom: 1px solid #c7c7c7;
	margin-bottom: 155px;
}
.outline2 .imgright{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 50px;
}
.outline2 .imgright .leftcol{ width: 67.74%;}
.outline2 .imgright .leftcol p{ margin-bottom: 1.8em;}
.outline2 .imgright .rightcol{
	width: 26.3%;
	margin-bottom: 30px;
}
.outline2 .imgright .rightcol figure{ margin-bottom: 10px;}
.outline2 h3{
	font-size: 33px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 25px;
}
.outline2 h3 span{
	display: inline-block;
	padding: 0 122px;
	position: relative;
}
.outline2 h3 span::before,.outline2 h3 span::after{
	content: "";
	position: absolute;
	top: .8em;
	display: block;
	width: 100px;
	height: 1px;
	background: #000;
}
.outline2 h3 span::before{ left: 0;}
.outline2 h3 span::after{ right: 0;}
.outline2 .clm3{
	width: 928px;
	margin: 0 auto;
	display: flex;
	gap: 20px;
	background: url(../img/company/clm3.svg) center no-repeat;
}
.outline2 .clm3 dl{
	font-size: 15px;
	font-weight: 500;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 296px;
	height: 323px;
}
.outline2 .clm3 dl:nth-child(1){ padding-left: 25px;}
.outline2 .clm3 dl:nth-child(3){ padding-right: 25px;}
.outline2 .clm3 dl dt{ font-size: 20px;}
.outline3{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.outline3 div{ width: 70%;}
.outline3 div dl dt{
	font-size: 20px;
	font-weight: bold;
}
.outline3 div dl dd{
	padding-bottom: 25px;
	border-bottom: 1px solid #e3e3e3;
	margin-bottom: 20px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.outline .wrap{ padding: 0;}
	.outline .bg-white{ padding: 11vw 4vw 20vw;}
	.outline .tag-subt{
		min-width: inherit;
		margin-bottom: 7vw;
	}
	.outline1{
		display: block;
		padding-bottom: 0;
		border-bottom: none;
		margin-bottom: 21vw;
	}
	.outline1 .leftcol{ width: 100%;}
	.outline1 .rightcol{ width: 100%;}
	.outline1 .rightcol table th,.outline1 .rightcol table td{
		padding: 6vw 0;
		border-top: 1px solid #c7c7c7;
		display: block;
	}
	.outline1 .rightcol table tr:first-child th,.outline1 .rightcol table tr:first-child td{
		border-top: none;
		padding-top: 2vw;
	}
	.outline1 .rightcol table th{
		width: 100%;
		padding: 6vw 0 0;
	}
	.outline1 .rightcol table td{
		font-size: 4.533vw;
		font-weight: 500;
		border-top: none;
		padding-top: 3vw;
	}
	.outline2{
		padding-bottom: 0;
		border-bottom: none;
		margin-bottom: 21vw;
	}
	.outline2 .imgright{
		display: block;
		margin-bottom: 10vw;
	}
	.outline2 .imgright .leftcol{
		width: 100%;
		margin-bottom: 15vw;
	}
	.outline2 .imgright .leftcol p{ 
		line-height: 1.75;
		margin-bottom: 1.8em;
	}
	.outline2 .imgright .rightcol{
		width: 63%;
		margin: 0 auto 20vw;
	}
	.outline2 .imgright .rightcol figure{ margin-bottom: 4vw;}
	.outline2 .imgright .rightcol p img{ width: 70%;}
	.outline2 h3{
		font-size: 5.066vw;
		margin-bottom: 6vw;
	}
	.outline2 h3 span{
		padding: 1.5vw 8vw;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
	}
	.outline2 h3 span::before,.outline2 h3 span::after{ content: none;}
	.outline2 .clm3{
		width: auto;
		padding: 6vw 0;
		margin-bottom: 6vw;
		display: block;
		background: url(../img/company/clm3-sp.png) center / 100% auto no-repeat;
	}
	.outline2 .clm3 dl{
		font-size: 4vw;
		width: auto;
		height: 63vw;
	}
	.outline2 .clm3 dl:nth-child(1){ padding: 0 0 5vw;}
	.outline2 .clm3 dl:nth-child(3){ padding: 5vw 0 0;}
	.outline2 .clm3 dl dt{
		font-size: 4vw;
		font-weight: bold;
		margin-bottom: 2vw;
	}
	.outline3{
		display: block;
	}
	.outline3 div{ width: 100%;}
	.outline3 div dl dt{
		font-size: 4vw;
		margin-bottom: 2vw;
	}
	.outline3 div dl dd{
		font-size: 3.733vw;
		padding-bottom: 6.5vw;
		margin-bottom: 7vw;
	}
	.outline3 div p{ font-size: 3.2vw;}
}


/* privacy */
.privacy section{
	text-align: left;
	padding: 80px 4% 110px;
	box-sizing: content-box;
	max-width: 864px;
	margin: 0 auto;
}
.privacy section h3,
.privacy section h4{
	font-size: 20px;
}
.privacy section h5{
	font-size: 20px;
	font-weight: bold;
	width: fit-content;
	position: relative;
	padding-right: 20px;
	margin-bottom: 5px;
	cursor: pointer;
}
.privacy section h5:after{
	content: "";
	position: absolute;
	top: .5em;
	right: 0;
	display: block;
	background: url(../img/plus.png) center no-repeat;
	width: 15px;
	height: 14px;
}
.privacy section h5.open:after{ background: url(../img/minus.png) center no-repeat;}
.privacy section ol.privacy-ol > li{ margin-bottom: 2em;}
.privacy section .ac-cont{ display: none;}
.privacy section h6{
	font-weight: bold;
	margin-bottom: 5px;
}
.privacy section .ac-cont p{ margin-bottom: 1em;}
.privacy section ul.a-list li{
	position: relative;
	padding-left: 2.5em;
	margin-bottom: 1em;
}
.privacy section ul.a-list li em{
	position: absolute;
	top: 0;
	left: 1em;
}
.privacy section .box{
	border: 1px solid #ccc;
	padding: 1.5em 2em;
}
.privacy section .box-ttl{
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 1em;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.privacy section{ padding: 11vw 4%;}
	.privacy .wrap{ padding: 0;}
	.privacy section h3{ font-size: 5.33vw;}
	.privacy section h4{
		font-size: 4.266vw;
		font-weight: 500;
	}
	.privacy section ol.privacy-ol li{
		font-size: 4.266vw;
		margin-bottom: 1vw;
	}
	.privacy section p em{
		font-size: 4.8vw;
		font-weight: 500;
		display: inline-block;
		padding-top: 2vw;
	}
	.privacy section .box-ttl{ font-size: 4.266vw;}
}


/* contact */
.contact1{
	text-align: left;
	padding: 70px 4% 110px;
	max-width: 738px;
	margin: 0 auto;
	box-sizing: content-box;
}
.contact1 .lead{
	font-size: 18px;
	font-size: 500;
	margin-bottom: 30px;
}
.contact1 .remarks{
	font-size: 18px;
	font-size: 80%;
	font-weight: normal;
}
.contact1 dl{
	margin-bottom: 50px;
}
.contact1 dl dt{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 15px;
}
.contact1 dl dt .hissu{
	color: #ed5c59;
	font-size: 16px;
	border: 3px solid #ed5c59;
	border-radius: 10px;
	padding: 3px 15px;
	display: inline-block;
	margin-right: 15px;
}
.contact1 dl dd input[type="text"],
.contact1 dl dd input[type="button"],
.contact1 dl dd input[type="submit"],
.contact1 dl dd input[type="password"],
.contact1 dl dd input[type="email"],
.contact1 dl dd input[type="tel"],
.contact1 dl dd textarea{
	background: #e3e3e3;
	border: none;
	line-height: 61px;
}
.contact1 dl dd textarea{ height: 300px;}
.contact1 dl dd .error{
	color: #e00;
}
.contact1 .btn-cont{
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
}
.contact1 .btn-cont a{
	color: #fff;
	text-align: center;
	font-weight: bold;
	background: #666863;
	padding: 25px;
	border-radius: 10px;
	max-width: 334px;
	width: 100%;
	display: block;
	margin: 0 20px 10px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.contact1{ padding: 11vw 4% 14vw;}
	.contact1 .lead{
		font-size: 4.266vw;
		margin-bottom: 13vw;
	}
	.contact1 dl{ margin-bottom: 14vw;}
	.contact1 dl dt{
		font-size: 5.33vw;
		margin-bottom: 4vw;
	}
	.contact1 dl dt .hissu{
		font-size: 4.266vw;
		border: 1px solid #ed5c59;
		padding: 1vw 3vw;
		margin-right: 3vw;
	}
	.contact1 dl dd input[type="text"],
	.contact1 dl dd input[type="button"],
	.contact1 dl dd input[type="submit"],
	.contact1 dl dd input[type="password"],
	.contact1 dl dd input[type="email"],
	.contact1 dl dd input[type="tel"],
	.contact1 dl dd textarea{
		line-height: 16vw;
		height: 16vw;
	}
	.contact1 dl dd textarea{ height: 80vw;}
	.contact1 .btn-cont{
		display: block;
	}
	.contact1 .btn-cont a{
		padding: 6.5vw;
		max-width: inherit;
		margin: 0 0 5vw;
	}
}

