@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;500;600;700;800;900&family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Overpass:wght@100;200;300;400;500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
/*------------------------------------------------------------
Theme Name: otravista
Theme URI: null
Description: Description
Author: 81bridge - LSZ
Version: 1.0
------------------------------------------------------------*/
.aligncenter {
	display: block;
	margin: 0 auto;
}
.alignright {
	float: right;
}
.alignleft {
	float: left;
}
img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}
.wp-block-image figure,
.wp-block-image figcaption {
	display: block;
}
a.nolink,
a.nolink:hover {
	opacity: 1;
	cursor: default;
	pointer-events: none;
}
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
	font-family: 'Noto Sans JP', sans-serif;
}

.plus {
	font-family: 'M PLUS 1p', sans-serif;
}

.montserrat {
	font-family: 'Montserrat', sans-serif;
}

.barlow {
	font-family: 'Barlow Condensed', sans-serif;
}

.shippori {
    font-family: 'Shippori Mincho', serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
a,
a:link {
	color: #303030;
	text-decoration: none;
}
a:visited {
	color: #303030;
}
a:hover {
	color: #303030;
}
a:active {
	color: #303030;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #303030;
	font-size: 1.6rem;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
#container {
	text-align: left;
	overflow: hidden;
}
#main {
    padding-top: 165px;
	display: block;
	position: relative;
}
#main:after {
	width: 100%;  
	height: calc(100% - 245px);
	background-color: #F2F2F2;
	position: absolute;  
	top: 410px;
	right: 0;  
	content: ""; 
	z-index: -1;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
	.menuBox {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.4rem;
	}
    body.fixed {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	#main::after {
		top: 195px;
		height: calc(100% - 195px);
	}
    #main {
        padding-top: 70px;
    }
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	padding: 67px 58px 60px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 900;
    box-sizing: border-box;
    transition: all ease 0.3s;
    background-color: white;
}
#gHeader.fixed h1 {
    display: block !important;
}
.hInner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.hInner .rBox {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.hInner .naviUl {
	display: flex;
}
.hInner .naviUl > li {
	margin-left: 32px;
    position: relative;
}
.hInner .naviUl .subUl {
    padding: 25px 0;
    position: absolute;
    left: -60px;
    top: 33px;
    width: 200px;
    z-index: 10;
    text-align: center;
    background-color: #F2F2F2;
    display: none;
}
.hInner .naviUl .subUl a {
    display: block;
    padding: 10px 10px;
    font-size: 1.5rem;
}
.hInner .naviUl .subUl a:hover {
    opacity: 0.7;
}
.hInner .naviUl > li > a {
	padding: 9px 0;
	font-weight: bold;
	position: relative;
}
.hInner .naviUl > .liStyle > a {
    pointer-events: none;
}
.hInner .naviUl > li > a:after {
	opacity: 0;
	width: 34px;  
	height: 3px;
	background-color: #000000;
	position: absolute;  
	bottom: 0;
	left: 50%;  
	transform: translateX(-50%);
	content: ""; 
}
.hInner .naviUl > li.active > a:after,
.hInner .naviUl > li.on > a:after {
    opacity: 1;
}
.hInner .link {
	margin-left: 36px;
	width: 140px;
}
.hInner .link a {
	display: block;
	color: white;
	background-color: #F08609;
	border-radius: 5px;
	text-align: center;
	font-weight: bold;
	padding: 8px 2px;
	font-size: 1.5rem;
}
.hInner .link a:hover {
	opacity: 0.7;
}

@media all and (min-width: 897px) {
	.hInner .naviUl > li > a:hover:after {
		opacity: 1;
	}
    #gHeader.fixed {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }
}
.cover {
	display: none;
}

@media all and (max-width: 896px) {
	#gHeader {
		display: flex;
		align-items: center;
		height: 70px;
		box-sizing: border-box;
		padding: 20px 22px 17px;
		z-index: 900;
	}
	.hInner {
		display: block;
	}
	.hInner h1 {
		width: 216px;
	}
	.hInner .rBox {
		display: none;
	}
	.menu {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 0;
	}
	.menuBox {
		position: fixed;
		top: 0;
		right: -297px;
		width: 297px;
		z-index: 1000;
		height: 100%;
		overflow-y: auto;
		transition: all 0.3s;
		background-color: #303030;
	}
	.menuBox.on {
		right: 0;
	}
	.menuBox .close {
		position: absolute;
		top: 23px;
		right: 21px;
	}
	.menuBox a {
		color: white;
	}
	.menuBox .naviUl {
		padding-bottom: 22px;
		margin: 92px 40px 28px 43px;
		border-bottom: 1px solid #707070;
	}
	.menuBox .naviUl > li {
		margin-bottom: 19px;
	}
	.menuBox .naviUl > li > a {
		font-size: 2rem;
		font-weight: bold;
	}
    .menuBox .naviUl > li > .style {
        pointer-events: none;
    }
	.menuBox .naviUl .subUl {
		margin: 16px 0 -3px 18px;
	}
	.menuBox .naviUl .subUl li {
		margin-bottom: 13px;
	}
	.menuBox .naviUl .subUl a {
		color: #AAAAAA;
	}
	.menuBox .linkUl {
		margin: 0 43px 80px;
	}
	.menuBox .linkUl li {
		margin-bottom: 13px;
	}
	.menuBox .linkUl a {
		color: #AAAAAA;
	}
	.menuBox .linkP {
		padding-top: 6px;
		margin: 0 43px 80px;
	}
	.menuBox .linkP a {
		padding-left: 25px;
		display: inline-block;
		font-size: 1.5rem;
		letter-spacing: 0.05em;
		color: #AAAAAA;
		background: url("img/recruitment_site/common/icon02.png") no-repeat left center;
		background-size: 17px auto;
	}
	.cover {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		opacity: 0;
		visibility: hidden;
		width: 100%;
		height: 100%;
		z-index: 901;
		background-color: rgba(0,0,0,0.6);
	}
	.cover.on {
		right: 0;
		opacity: 1;
		visibility: visible;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 152px 0 140px;
	color: white;
	background-color: #303030;
}
#gFooter a {
	color: #AAAAAA;
}
#gFooter .naviUl {
	margin-bottom: 95px;
	display: flex;
	flex-wrap: wrap;
}
#gFooter .naviUl > li {
	width: 22.3%;
	margin-right: 3.6%;
}
#gFooter .naviUl > li:nth-child(4n) {
	margin-right: 0;
}
#gFooter .naviUl .ttl {
	margin-bottom: 15px;
	padding-bottom: 13px;
	font-size: 1.4rem;
	font-weight: 500;
	border-bottom: 1px solid #727272;
}
#gFooter .naviUl .subUl {
	padding-top: 8px;
	font-size: 1.4rem;
}
#gFooter .naviUl .subUl02 {
	padding: 5px 0 23px;
}
#gFooter .naviUl .subUl li {
	margin-bottom: 10px;
}
#gFooter .naviUl a:hover {
	opacity: 0.7;
}
.fInner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.fInner .lBox {
	display: flex;
    align-items: center;
}
address {
	margin: 0 0 0 40px;
	font-style: normal;
	color: #AAAAAA;
	font-size: 1.4rem;
}
.fInner .linkUl {
	padding-bottom: 10px;
	display: flex;
}
.fInner .linkUl li {
	margin-left: 14px;
	font-size: 1.4rem;
}
.fInner .linkUl li a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	#gFooter {
		padding: 65px 0 100px;
	}
	#gFooter .naviUl {
		display: none;
	}
	.fInner {
		display: block;
	}
	.fInner .lBox {
		display: block;
	}
	.fLogo {
		margin-bottom: 40px;
		text-align: center;
	}
	.fInner .linkUl {
		justify-content: center;
	}
	.fInner .linkUl li {
		margin: 0 7px;
	}
	address {
		margin: 38px 0 0;
		font-size: 1.2rem;
		text-align: center;
	}
}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.fadeInUp {
	opacity: 0;
	transform: translate(0,20px);
	
}

.fadeInUp.on {
	opacity: 1;
	transform: translate(0, 0);
	transition: all 1s 0.2s;
}

.content {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 20px;
}
@media all and (max-width: 896px) {
	.content {
		padding: 0 24px;
	}
}

/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {
	margin-bottom: 134px;
}
#pagePath li {
	margin-right: 8px;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	color: #727272;
	display: inline;
}
#pagePath li a {
	margin-right: 10px;
	color: #727272;
}
#pagePath li a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	#pagePath {
		margin: 0 -0 62px 0;
	}
	#pagePath li {
		margin-right: 5px;
		font-size: 1rem;
		letter-spacing: 0;
	}
	#pagePath li a {
		margin-right: 5px;
	}
}

/*------------------------------------------------------------
	mainImg
------------------------------------------------------------*/
.mainImg {
	margin: 0 15vw 17px 0;
	height: 500px;
	display: flex;
	align-items: center;
	background: url("img/privacy/main_img.jpg") no-repeat center center;
	background-size: cover;
}
.mainImg .ttlBox {
	max-width: 925px;
	width: 100%;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 20px;
	color: white;
}
.mainImg h2 {
	display: inline-block;
	font-size: 2rem;
	letter-spacing: 0.05em;
}
.mainImg h2 .txtSpan {
	display: block;
	font-size: 6rem;
	line-height: 1;
	margin-bottom: 21px;
	font-family: 'M PLUS 1p', sans-serif;
}
@media all and (max-width: 896px) {
	.mainImg {
		height: 250px;
		margin: 0 24px 8px 0;
        background-image: url("img/privacy/sp_main_img.jpg");
	}
	.mainImg h2 {
		font-size: 1.4rem;
	}
	.mainImg h2 .txtSpan {
		font-size: 4rem;
		line-height: 1.125;
		margin-bottom: 9px;
	}
	.mainImg .ttlBox {
		max-width: inherit;
		padding: 0 22px;
	}
}

/*------------------------------------------------------------
	comBox
------------------------------------------------------------*/
.comBoxInner {
    padding-top: 150px;
    background-color: white;
}
.comBox {
	padding: 149px 0 151px;
	background-color: #F2F2F2;
}
.comBox .title {
	margin-bottom: 34px;
	text-align: center;
	font-weight: bold;
	font-size: 2rem;
	letter-spacing: 0.05em;
}
.comBox .title .yellow {
	color: #F08609;
}
.comBox ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.comBox ul li {
	box-sizing: border-box;
	padding: 74px 30px 73px;
	width: 49%;
	border-radius: 5px;
	background-color: white;
	text-align: center;
}
.comBox ul p {
	margin-bottom: 38px;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.comBox ul p:last-child {
	margin-bottom: 0;
}
.comBox .tel {
	font-size: 1.4rem;
	font-weight: normal;
	letter-spacing: 0.05em;
}
.comBox .tel a {
	color: #000;
	margin-bottom: 7px;
	padding-left: 25px;
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1;
	display: inline-block;
	background: url("img/common/icon01.png") no-repeat left center;
	background-size: 19px auto;
}
.contactLink {
	padding-top: 5px;
	margin: 0 auto;
	width: 250px;
}
.contactLink a {
	padding: 16px 5px;
	text-align: center;
	display: block;
	background-color: #F08609;
	border-radius: 30px;
	color: white;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.contactLink a:hover {
	opacity: 0.7;
}
.contactLink a span {
	padding-left: 33px;
	display: inline-block;
	background: url("img/common/icon02.png") no-repeat left center;
	background-size: 22px auto;
}

@media all and (max-width: 896px) {
    .comBoxInner {
        padding-top: 70px;
    }
	.comBox {
		padding: 63px 0 57px;
	}
	.comBox .title {
		margin: 0 -23px 25px;
		font-size: 1.7rem;
		line-height: 1.764;
	}
	.comBox ul {
		display: block;
	}
	.comBox ul li {
		margin-bottom: 13px;
		width: auto;
		padding: 25px 20px 27px;
	}
	.comBox ul p {
		margin-bottom: 20px;
		font-size: 1.5rem;
	}
	.comBox .tel {
		font-size: 1.2rem;
	}
	.comBox .tel a {
		margin-bottom: 5px;
		padding-left: 18px;
		font-size: 2.2rem;
		background-size: 13px auto;
	}
	.contactLink {
		padding-top: 0;
		width: auto;
		max-width: 250px;
	}
	.comBox .contactLink {
		margin: -4px auto;
	}
}

/*------------------------------------------------------------
	comTable
------------------------------------------------------------*/
.comTable {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #727272;
	border-bottom: 1px solid #727272;
}
.comTable th, 
.comTable td {
	padding: 30px 29px;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	line-height: 2;
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid #DDDDDD;
	box-sizing: border-box;
}
.comTable tr:last-of-type th,
.comTable tr:last-of-type td {
	border-bottom: none;
}
.comTable th {
	max-width: 200px;
	width: 17.9%;
	background-color: #F2F2F2;
}
@media all and (max-width: 896px) {
	.comTable {
		border: none;
	}
	.comTable th, .comTable td {
		max-width: none;
		width: 100%;
		display: block;
		border-bottom: none;
	}
	.comTable th {
		padding: 17px 24px;
		font-size: 1.5rem;
		border-top: 1px solid #727272;
	}
	.comTable td {
		padding: 21px 0 24px;
		font-size: 1.4rem;
	}
}

.jsItem {
	overflow: hidden;
	position: relative;
}
.jsItem .jsChange {
	display: block;
	vertical-align: top;
	-webkit-transform: translate3d(-100%,0,0);
	transform: translate3d(-100%,0,0);
	transition: all 0.4s ease-in-out;
	overflow: hidden;
}
.jsItem.on .jsChange {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}
.jsItem .jsCover {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background-color: #1a1a1a;
	z-index: 1;
	transition: all 0.5s ease-in-out 0.35s;
}
.jsItem.on .jsCover {
	-webkit-transform: translate3d(102%,0,0);
	transform: translate3d(102%,0,0);
}

/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	display: inline-block;
	margin-bottom: 70px;
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 6rem;
	line-height: 1.333;
}
.headLine01 .txtSpan {
	margin-left: 24px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	vertical-align: 2px;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 34px;
		font-size: 3.4rem;
		line-height: 1.353;
	}
	.headLine01 .txtSpan {
		margin-left: 0;
		display: block;
		font-size: 1.3rem;
		line-height: 2.5;
	}
}


/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 33px;
	font-size: 2.4rem;
	line-height: 1.833;
	letter-spacing: 0.05em;
	text-align: center;
}
.headLine02::after {
	content: "";
	margin: 0 auto;
	height: 33px;
	width: 50px;
	display: block;
	border-bottom: 1px solid #303030;
}
.headLine02 .txtSpan {
	display: flex;
	align-items: center;
	justify-content: center;
}
@media all and (max-width: 896px) {
	.headLine02 {
		margin-bottom: 21px;
		font-size: 1.8rem;
		line-height: 2.444;
	}
	.headLine02::after {
		content: "";
		margin: 0 auto;
		height: 17px;
		width: 50px;
		display: block;
		border-bottom: 1px solid #303030;
	}
}

/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
	max-width: 1600px;
	margin:0 auto 75px;
}
.headLine03 .subSpan {
	display: inline-block;
}
.headLine03 .txtSpan {
	display: flex;
	align-items: center;
	position: relative;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.headLine03 .en {
/*
	position: absolute;
	right: 100%;
	top: 50%;
	transform: translateY(-50%);
*/
	color: white;
	margin-left: -15px;
	vertical-align: -61px;
	font-size: 20rem;
	line-height: 1;
	letter-spacing: 0;
	font-family: 'M PLUS 1p', sans-serif;
}
.headLine03 .txtSub {
	margin-left: 25px;
	padding: 5px 0 5px 35px;
	display: inline-block;
	background: url("img/recruitment_site/common/line.png") no-repeat left center;
	background-size: 16px auto;
}
.headLine04 {
	text-align: right;
}
.headLine04 .txtSub {
	margin: 0 45px 0 0;
}
.headLine04 .en {
	margin: 0 -10px 0 0;
}

@media all and (max-width: 896px) {
	.headLine03 {
		padding-top: 10px;
		margin: 0 0 30px;
	} 
	.headLine03 .txtSpan {
		flex-wrap: wrap;
		font-size: 1.5rem;
	}
	.headLine03 .txtSub {
		box-sizing: border-box;
		margin-top: 5px;
		padding-left: 15px;
		background-size: 10px auto;
	}
	.headLine03 .en {
		font-size: 7rem;
		width: calc(100% - 5px);
		margin-left: -5px;
	}
	.headLine04 .txtSpan {
		justify-content: flex-end;
	}
	.headLine04 .txtSub {
		margin-right: 25px;
		order: 2;
	}
	.headLine04 .en {
		margin: 0 -5px 0 0;
	}
}

/*------------------------------------------------------------
	comImgBox
------------------------------------------------------------*/
.comImgBox .comSubBox {
	margin: -96px auto 0;
	padding: 61px 20px;
	max-width: 860px;
	position: relative;
	background-color: #fff;
	z-index: 10;
}
.comImgBox .comSubBox p {
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	line-height: 2.125;
	text-align: center;
}
.comImgBox .comPhoto img {
	width: 100%;
}
@media all and (max-width: 896px) {
	.comImgBox .comPhoto {
		margin: 0 -24px;
	}
	.comImgBox .comPhoto img {
		width: 100%;
	}
	.comImgBox .comSubBox {
		margin: -59px 0 0;
		padding: 24px 24px;
	}
	.comImgBox .comSubBox p {
		text-align: left;
		font-size: 1.4rem;
		line-height: 2;
	}
}

/*------------------------------------------------------------
	comList
------------------------------------------------------------*/
.comList {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -86px;
}
.comList li {
	margin-bottom: 86px;
	width: 30.4%;
}
@media all and (min-width: 897px) {
	.comList li:nth-of-type(3n-1) {
		margin-left: 4.4%;
		margin-right: 4.4%;
	}
}
.comList .photo {
	margin-bottom: 46px;
}
.comList .headLine02 {
	margin-bottom: 29px;
	padding: 0;
	min-height: 76px;
	font-size: 2rem;
}
.comList p {
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	line-height: 2.125;
}

@media all and (max-width: 896px) {
	.comList {
		margin-bottom: 0;
		display: block;
	}
	.comList li {
		margin-bottom: 40px;
		width: 100%;
	}
	.comList li:last-of-type {
		margin-bottom: 0;
	}
	.comList .photo {
		margin-bottom: 17px;
	}
	.comList img {
		width: 100%;
	}
	.comList .headLine02 {
		margin-bottom: 7px;
		padding: 0 24px;
		font-size: 1.8rem;
	}
	.comList p {
		padding: 0 24px;
		font-size: 1.4rem;
		line-height: 2;
	}
}

/*------------------------------------------------------------
	comBox02
------------------------------------------------------------*/
.comBox02 {
	height: 574px;
	display: flex;
	align-items: center;
	background: url("img/recruitment_site/common/bg01.jpg") no-repeat center center;
	background-size: cover;
}
.comBox02 .content {
	width: 100%;
}
.comBox02 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.comBox02 li {
	width: 49.9%;
	padding: 60px 10px;
	min-height: 272px;
	box-sizing: border-box;
	background-color: white;
}
.comBox02 li .ttl {
	margin-bottom: 23px;
	font-size: 4rem;
	font-weight: bold;
	text-align: center;
	font-family: 'M PLUS 1p', sans-serif;
}
.comBox02 li .link {
	max-width: 250px;
	margin: 0 auto;
}
.comBox02 li .link a {
	display: block;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: white;
	background-color: #2CB5A9;
	border-radius: 50px;
	text-align: center;
	padding: 16px 10px;
}
.comBox02 li .link a:hover {
	opacity: 0.7;
}
.comBox02 li .linkBox {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.comBox02 li .linkBox .link {
	width: 200px;
	margin: 0 5px;
}

@media all and (max-width: 896px) {
	.comBox02 {
		background-image: url("img/recruitment_site/common/sp_bg01.jpg");
		height: 503px;
	}
	.comBox02 ul {
		display: block;
	}
	.comBox02 li {
		padding: 30px 20px 20px;
		width: auto;
		min-height: 181px;
		margin-bottom: 1px;
	}
	.comBox02 .content {
		box-sizing: border-box;
	}
	.comBox02 li .ttl {
		font-size: 2.6rem;
		margin-bottom: 18px;
	}
	.comBox02 li .linkBox .link {
		max-width: inherit;
		width: 42%;
	}
}


/*------------------------------------------------------------
	privacy
------------------------------------------------------------*/
.privacy {
    padding-bottom: 122px;
}
.privacy h3 {
	text-align: center;
	font-size: 2.6rem;
	letter-spacing: 0.05em;
	margin-bottom: 79px;
}
.privacy p {
	margin-bottom: 34px;
	letter-spacing: 0.05em;
	line-height: 2.125;
}
.privacy p .txtSpan {
	display: inline-block;
	margin-left: 17px;
}
.privacy p a:hover {
	opacity: 0.7;
}
.privacy p .link {
	text-decoration: underline;
}
.privacy .txt {
	margin-bottom: 124px;
}
.privacy .txt02 {
	margin-bottom: 64px;
}
.privacy h4 {
	padding-top: 5px;
	margin-bottom: 37px;
	font-size: 2rem;
	letter-spacing: 0.05em;
}


@media all and (max-width: 896px) {
    .privacy {
        padding-bottom: 40px;
    }
	.privacy h3 {
		margin-bottom: 45px;
		font-size: 1.7rem;
		line-height: 1.88;
	}
	.privacy p {
		margin-bottom: 28px;
		line-height: 2;
	}
	.privacy .txt {
		margin-bottom: 80px;
	}
	.privacy h4 {
		font-size: 1.7rem;
		padding-top: 4px;
		margin-bottom: 30px;
	}
	.privacy .txt02 {
		margin-bottom: 52px;
	}
}

/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.policy .mainImg {
	background-image: url("img/policy/main_img.jpg");
}
@media all and (max-width: 896px) {
    .policy .mainImg {
        background-image: url("img/policy/sp_main_img.jpg");
    }
}

/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
.contact .mainImg {
	background-image: url("img/contact/main_img.jpg");
}
.contact h3 {
	margin-bottom: 76px;
	padding: 15px 0;
	text-align: center;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	overflow: hidden;
}
.contact h3 span {
    min-width: 400px;
	padding: 0 35px;
	display: inline-block;
	position: relative;
}
.contact h3 span:after {
	width: 9999px;  
	height: 1px;
	background-color: #AAAAAA;
	position: absolute;  
	top: 50%;
	transform: translateY(-50%);
	right: 100%;  
	content: ""; 
}
.contact h3 span:before {
	width: 9999px;  
	height: 1px;
	background-color: #AAAAAA;
	position: absolute;  
	top: 50%;
	transform: translateY(-50%);
	left: 100%;  
	content: ""; 
}
.contactUl {
	max-width: 648px;
	margin: 0 auto 94px;
}
.contactUl li {
	margin-bottom: 26px;
}
.contactUl a {
	display: block;
	border-radius: 10px;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.05em;
	padding: 40px 5px 34px;
	background-color: white;
	box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.1);
}
.contactUl span {
	padding: 0 0 2px;
	display: block;
	background: url("img/common/icon03.png") no-repeat right 44px center;
	background-size: 26px auto;
}
.contactUl a:hover {
	opacity: 0.7;
}
.contactTel {
	padding: 61px 60px 65px;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	text-align: center;
	background-color: white;
	border-radius: 5px;
}
.contactTel a {
	margin-bottom: 4px;
	padding-left: 25px;
	display: inline-block;
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	background: url("img/common/icon01.png") no-repeat left center;
	background-size: 19px auto;
}

@media all and (max-width: 896px) {
    .contact .mainImg {
        background-image: url("img/contact/sp_main_img.jpg");
    }
	.contactUl {
		max-width: inherit;
		margin-bottom: 68px;
	}
	.contactUl li {
		margin-bottom: 18px;
	}
	.contactUl a {
		text-align: left;
		padding: 21px 17px 20px 20px;
		font-size: 1.5rem;
	}
	.contactUl span {
		padding: 5px 30px 5px 0;
		background-position: right center;
	}
	.contactTel {
		padding: 34px 20px 36px;
		font-size: 1.2rem;
	}
	.contactTel a {
		padding-left: 20px;
		margin-bottom: 1px;
		font-size: 2.2rem;
		background-size: 14px auto;
	}
}

/*------------------------------------------------------------
	hrtech
------------------------------------------------------------*/
.hrtech .mainImg {
	background-image: url("img/hrtech/main_img.jpg");
}
.development {
	background-color: white;
	max-width: 1480px;
	padding: 87px 40px 40px;
	min-height: 325px;
	box-sizing: border-box;
	margin: 0 auto 103px;
	border-radius: 5px;
}
.development h3 {
	margin-bottom: 50px;
	text-align: center;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
}
.development p {
	letter-spacing: 0.05em;
	line-height: 2.125;
	text-align: center;
}
.hrtechBox {
	padding: 155px 0 0;
	background-color: white;
}
.hrtechUl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.hrtechUl li {
	width: 47.8%;
}
.hrtechUl li .photo {
	margin-bottom: 42px;
	height: 300px;
	border: 1px solid #CCCCCC;
	box-sizing: border-box;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.hrtechUl li p {
	margin: -3px 0 40px;
	letter-spacing: 0.05em;
	line-height: 2.125;
}
.hrtechBox .headLine02::after {
	height: 31px;
}
.moreLink {
	text-align: right;
}
.moreLink .subSpan,
.moreLink a {
	padding: 7px 55px 7px 0;
	display: inline-block;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	background: url("img/common/icon04.png") no-repeat right center;
	background-size: 35px auto;
}
.moreLink a:hover {
	opacity: 0.7;
}
@media all and (min-width: 897px) {
	.hrtech #pagePath {
		margin-bottom: 97px;
	}
}


@media all and (max-width: 896px) {
	.hrtech .mainImg {
		background-image: url("img/hrtech/sp_main_img.jpg");
	}
	.development {
		min-height: inherit;
		padding: 39px 23px;
		margin: 0 25px 70px;
	}
	.hrtech #pagePath {
		margin-bottom: 70px;
	}
	.development h3 {
		margin-bottom: 24px;
		font-size: 1.8rem;
	}
	.development p {
		text-align: left;
		line-height: 2;
	}
	.hrtechBox {
		padding: 70px 0 0;
	}
	.hrtechUl {
		display: block;
	}
	.hrtechUl li {
		margin-bottom: 45px;
		width: auto;
	}
    .hrtechUl li:last-child {
        margin-bottom: 0;
    }
	.hrtechUl li .photo {
		height: 183px;
		margin-bottom: 27px;
	}
	.hrtechUl li .photo img {
		max-width: inherit;
		height: 70px;
		width: auto;
	}
	.hrtech .headLine02 {
		margin-bottom: 24px;
		line-height: 1.78;
	}
	.hrtechBox .headLine02::after {
		height: 23px;
	}
	.hrtechUl li p {
		margin-bottom: 24px;
		line-height: 2;
	}
	.hrtechUl li .photo02 img {
		height: 48px;
	}
	
}

/*------------------------------------------------------------
	it
------------------------------------------------------------*/
.it .mainImg {
	background-image: url("img/it/main_img.jpg");
}
.it #pagePath {
	margin-bottom: 97px;
}
.itBox {
	margin-bottom: 97px;
	padding: 87px 0 63px;
	background-color: white;
}
.itBox h3 {
	text-align: center;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	margin-bottom: 60px;
}
.itBox .bannerUl {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.itBox .bannerUl li {
	margin: 0 50px 28px;
}
.troubleBox {
	padding: 145px 0 143px;
	background-color: white;
}
.troubleUl {
	margin-top: -7px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.troubleUl > li {
	width: 49%;
}
.troubleUl > li ul li {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: white;
	box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.1);
	border-radius: 32px;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.05em;
	padding: 21px 20px 20px;
	margin-bottom: 20px;
}
.troubleUl > li ul li .txtSpan {
	display: block;
	width: 100%;
}
.strengths {
	padding: 140px 0 68px;
}
.strengths .comImgBox {
	margin: -3px 0 27px;
}
.it .comImgBox .comSubBox {
	margin: -82px auto 0;
	background-color: #F2F2F2;
}
.it .comImgBox .comSubBox p {
	text-align: left;
	margin: 0 65px;
}
.occupaion {
	padding: 140px 0 115px;
	background-color: white;
}
.occupaionUl {
	margin: -12px -13px 0;
	display: flex;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
}
.occupaionUl li {
	margin: 0 13px 40px;
	width: calc(25% - 26px);
}
.occupaionUl li .photo {
	height: 210px;
	margin-bottom: 20px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	position: relative;
}
.occupaionUl li .photo:after {
	width: 100%;  
	background-color: #F2F2F2;
	position: absolute;  
	top: 40px;
	right: 0;
	left: 0;
	bottom: 33px;
	content: ""; 
	z-index: -1;
}
.occupaionUl .headLine02 {
	margin-bottom: 27px;
	font-size: 1.8rem;
}
.occupaionUl .headLine02::after {
	height: 25px;
}
.occupaionUl p {
	line-height: 2.125;
	letter-spacing: 0.05em;
}
.voiceSec {
	padding: 140px 0 158px;
}
.voiceUl {
	margin: -3px auto 0;
}
.voiceUl .slick-list {
	padding: 0 215px !important;
}
.voiceUl .slick-slide > div {
	margin: 0 30px;
	width: 1120px;
	box-sizing: border-box;
	padding: 75px 55px 65px;
	background-color: white;
	border-radius: 5px;
}
.voiceDl {
	margin-bottom: 28px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.voiceDl dt {
	margin-right: 60px;
}
.voiceDl dd {
	margin-right: -50px;
	flex: 1;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.voiceDl dd .txtSpan {
	display: block;
	font-size: 1.5rem;
	font-weight: normal;
	color: #3776CD;
	margin-top: 13px;
}
.voiceUl p {
	line-height: 2.14;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
.voiceSec .jsBox {
	position: relative;    
}
.icoBox {
	position: absolute;
	top: -110px;
	display: flex;
	right: calc(50% - 555px);
}
.icoBox > div {
	cursor: pointer;
}
.icoBox .prev {
	margin-right: 23px;
}
.flowSec {
	padding: 142px 0 160px;
	background-color: white;
}
.flowBox {
	margin-top: -3px;
	padding: 0 0 64px 45px;
	position: relative;
	border-left: 2px solid #303030;
}
.flowBox:after {
	width: 13px;  
	height: 33px;
	background: url("img/it/line.png") no-repeat;
	background-size: 100% auto;
	position: absolute;  
	bottom: 0;
	left: 0;  
	content: ""; 
}
.flowBox dl {
	margin-bottom: 30px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.flowBox dl:last-child {
	margin-bottom: 0;
}
.flowBox dt {
	margin-right: 40px;
	width: 100px;
	height: 100px;
	display: flex;
	font-weight: bold;
	align-items: center;
	justify-content: center;
	font-size: 2.8rem;
	line-height: 1;
	background-color: #F2F2F2;
	border-radius: 100%;
}
.flowBox dd {
	flex: 1;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.05em;
}
.flowBox dd .ttl {
	line-height: 1.5;
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.flowBox dd a {
	color: #3776CD;
}
.flowBox dd a:hover {
	opacity: 0.7;
}
.faqSec {
	padding: 140px 0 125px;
}
.faqDl {
	margin-top: -3px;
}
.faqDl dt {
	padding: 25px 25px 15px;
	border-radius: 5px;
	font-size: 1.7rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	background-color: white;
	display: flex;
}
.faqDl dd .txtSpan,
.faqDl dt .txtSpan {
	font-size: 3.5rem;
	line-height: 1;
	flex-shrink: 0;
	width: 47px;
	margin-right: 10px;
	font-family: 'Overpass', sans-serif;
}
.faqDl dd {
	padding: 32px 0 26px 25px;
	display: flex;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 2.14;
}

@media all and (max-width: 896px) {
	.it .mainImg {
		background-image: url("img/it/sp_main_img.jpg");
	}
	.it #pagePath {
		margin-bottom: 70px;
	}
	.itBox {
		margin-bottom: 70px;
		padding: 37px 0 34px;
	}
	.itBox h3 {
		margin-bottom: 34px;
		font-size: 1.8rem;
		line-height: 1.78;
	}
	.itBox .bannerUl li {
		margin: 0 50px 32px;
	}
	.itBox .bannerUl li img {
		width: auto;
		max-width: inherit;
		max-height: 25px;
	}
	.troubleBox {
		padding: 59px 0 55px;
	}
	.troubleUl {
		display: block;
		margin-top: -5px;
	}
	.troubleUl > li {
		width: auto;
	}
	.troubleUl > li ul li {
		margin-bottom: 17px;
		font-size: 1.5rem;
		line-height: 1.867;
		padding: 17px 25px 15px;
		border-radius: 50px;
	}
	.strengths {
		padding: 59px 24px 28px;
	}
	.strengths .comImgBox {
		margin: 0 0 11px;
		padding-top: 1px;
	}
	.it .comImgBox .comSubBox {
		margin: -59px auto 0;
	}
	.it .headLine02 {
		line-height: 1.78;
		margin-bottom: 21px;
		padding-top: 6px;
	}
	.it .headLine02::after {
		height: 20px;
	}
	.it .comImgBox .comSubBox p {
		margin: 0;
	}
	.occupaion {
		padding: 60px 0 35px;
	}
	.occupaionUl {
		display: block;
		margin: -8px 0 0;
	}
	.occupaionUl li {
		width: auto;
		margin: 0 0 30px;
	}
	.occupaionUl li .photo {
		margin-bottom: 10px;
	}
	.occupaionUl p {
		line-height: 2;
	}
	.occupaionUl .headLine02 {
		margin-bottom: 25px;
	}
	.voiceSec {
		padding: 60px 0 70px;
	}
	.voiceSec .jsBox {
		margin: 0 24px;
	}
	.voiceUl {
		margin-top: 0;
	}
	.voiceUl .slick-slide > div {
		width: 100%;
		margin: 0;
		padding: 20px 24px 41px;
	}
	.voiceUl .slick-list {
		padding: 0 !important;
	}
	.voiceDl {
		margin-bottom: 26px;
		display: block;
	}
	.voiceDl dt {
		margin: 0 0 10px;
		text-align: center;
		height: 100px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.voiceDl dd {
		margin-right: 0;
		font-size: 1.6rem;
		line-height: 1.875;
	}
	.voiceDl dd .txtSpan {
		margin-top: 8px;
	}
	.voiceUl p {
		line-height: 2;
	}
	.icoBox {
		right: 0;
	}
	.icoBox .prev {
		margin-right: 10px;
	}
	.flowSec {
		padding: 61px 0 69px;
	}
	.flowBox {
		margin-top: 0;
	}
	.flowBox {
		padding: 0 0 64px 30px;
	}
	.flowBox dl {
		margin-bottom: 18px;
		display: block;
	}
	.flowBox dt {
		margin-bottom: 16px;
		width: 80px;
		height: 80px;
		font-size: 2.8rem;
	}
	.flowBox dd {
		line-height: 2;
	}
	.flowBox dd .ttl {
		line-height: 1.56;
		margin-bottom: 6px;
	}
	.faqSec {
		padding: 60px 0 37px;
	}
	.faqDl {
		margin-top: 0;
	}
	.faqDl dt {
		padding: 17px 5px 13px 19px;
		font-size: 1.5rem;
		line-height: 1.867;
	}
	.faqDl dd .txtSpan, .faqDl dt .txtSpan {
		font-size: 2.8rem;
		width: 20px;
		margin-right: 6px;
		padding-top: 2px;
	}
	.faqDl dd {
		padding: 23px 0 26px 18px;
		line-height: 2;
	}
}

/*------------------------------------------------------------
	support
------------------------------------------------------------*/
.support .mainImg {
	background-image: url("img/support/main_img.jpg");
}
.support .strengths {
	background-color: white;
}
.support .comImgBox .comSubBox {
	background-color: white;
}
.merit {
	padding: 140px 0 92px;
}
.meritBox {
	max-width: 1480px;
	margin: 0 auto;
	padding: 0 20px;
}
.meritUl {
	margin-top: -2px;
	display: flex;
	flex-wrap: wrap;
}
.meritUl li {
	width: 31.8%;
	margin-bottom: 46px;
}
.meritUl li:nth-child(3n-1) {
	margin-left: 2.3%;
	margin-right: 2.3%;
}
.meritUl li .photo {
	position: relative;
}
.meritUl li .photo img {
	width: 100%;
}
.meritUl li .photo .num {
	width: 235px;
	text-align: center;
	font-size: 2.8rem;
	font-weight: bold;
	position: absolute;
	bottom: -1px;
	right: 0;
	line-height: 1;
	padding: 23px 10px 0;
	box-sizing: border-box;
	background-color: #F2F2F2;
}
.meritUl li .sub {
	padding: 60px 35px 20px;
}
.meritUl li h4 {
	margin-bottom: 38px;
    margin-right: -10px;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	line-height: 1.833;
}
.meritUl li p {
	letter-spacing: 0.05em;
	line-height: 2.125;
}
.advisor {
	padding: 140px 0 125px;
	background-color: white;
}
.advisorBox {
	margin-top: -2px;
}
.advisor .fooUl {
	display: flex;
	flex-wrap: wrap;
}
.advisor .fooUl li {
	width: 31.2%;
	margin-bottom: 40px;
}
.advisor .fooUl li .photo {
	margin-bottom: 35px;
}
.advisor .fooUl li:nth-child(3n-1) {
	margin-left: 3.2%;
	margin-right: 3.2%;
}
.advisor .fooUl li .ttl {
	margin: 0 2px 42px;
	font-weight: bold;
	font-size: 2.5rem;
}
.advisor .fooUl dl {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}
.advisor .fooUl dt {
	font-size: 1.2rem;
	font-weight: 500;
	width: 20px;
	overflow: hidden;
}
.advisor .fooUl dt .txtSpan {
	padding-bottom: 12px;
	display: block;
	position: relative;
}
.advisor .fooUl dt .subSpan {
	display: block;
	height: 40px;
	-webkit-writing-mode : tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.advisor .fooUl dt .txtSpan::before {
	width: 1px;  
	height: 9999px;
	background-color: #303030;
	position: absolute;  
	top: 100%;
	left: 36%;
	transform: translateX(-50%);
	content: ""; 
	z-index: 10;
}
.advisor .fooUl dd {
	margin: -7px -10px 0 22px;
	flex: 1;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.93;
}
.support .voiceDl dd {
	margin-right: 0;
}
.support .voiceDl dd .txtSpan {
	color: #303030;
}
.support .voiceUl p {
	margin: 30px 0 0;
	font-weight: normal;
	font-size: 1.4rem;
}
.support .voiceDl {
	align-items: flex-start;
}
.support .voiceDl dt {
	width: 125px;
	text-align: center;
	margin: 20px 30px 0 0;
}
.support .voiceDl dt img {
	display: inline-block !important;
}
.support .voiceUl .slick-slide > div {
	padding-bottom: 30px;
}
@media all and (max-width: 896px) {
	.support .mainImg {
		background-image: url("img/support/sp_main_img.jpg");
	}
	.support .development h3{
		line-height: 1.78;
		margin: -2px 0 34px;
	}
	.strengths {
		padding: 59px 0 32px;
	}
	.merit {
		padding: 60px 0 27px;
	}
	.meritUl {
		margin: 0 4px;
		display: block;
	}
	.meritUl li {
		margin: 0 0 8px !important;
		width: auto;
	}
	.meritUl li .photo .num {
		width: 163px;
		font-size: 2.3rem;
		padding: 12px 10px 0;
	}
	.meritUl li .sub {
		padding: 33px 0;
	}
	.meritUl li h4 {
		margin-bottom: 24px;
        margin-right: 0;
		height: auto !important;
		font-size: 1.8rem;
		line-height: 1.78;
	}
	.meritUl li p {
		line-height: 2;
	}
	.advisor {
		padding: 60px 0 65px;
	}
	.advisorBox {
		position: relative;
		margin-top: 0;
	}
	.advisor .fooUl {
		display: block;
	}
	.advisor .fooUl li {
		margin: 0 !important;
		width: auto;
	}
	.advisor .fooUl li .photo {
		margin-bottom: 29px;
	}
	.advisor .fooUl li .photo img {
		width: 100%;
	}
	.advisor .fooUl li .ttl {
		margin-bottom: 38px;
	}
	.advisor .fooUl dd {
		margin-right: 0;
	}
	.support .voiceDl {
		display: flex;
	}
	.support .voiceDl dt {
		margin: 35px 20px 0 -12px;
		width: 85px;
		text-align: center;
	}
	.support .voiceDl .sub {
		min-height: 212px;
	}
	.support .voiceDl dt img {
		width: auto;
		max-width: inherit;
		height: 212px;
	}
	.support .voiceUl .slick-slide > div {
		padding: 59px 24px 71px;
	}
	.support .voiceDl dd .txtSpan {
		margin: 16px -19px 0 0;
	}
	.support .voiceUl p {
		margin: 2vw 0 0 -95px;
		float: left;
	}
}

/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
.contact {
	border-bottom: 160px solid #fff;
	padding-bottom: 158px;
}
.industryBox .txt {
	margin-bottom: 69px;
	text-align: center;
	letter-spacing: 0.05em;
	line-height: 2.125;
}
.industryBox .txt a {
	color: #3776CD;
	text-decoration: underline;
}
.industryBox h3 {
	margin-bottom: 37px;
}
#satori__creative_container {
	background-color: white;
	padding: 80px 0 85px;
}
#satori__custom_form {
	max-width: 580px;
	margin: 0 auto;
}
.satori__custom_form label:first-child {
	font-weight: bold;
	color: #303030 !important;
	padding-bottom: 14px !important;
}
.satori__custom_form .satori__require {
	background-color: #F08609 !important;
}
.satori__custom_form .satori__not_require, 
.satori__custom_form .satori__require {
    font-weight: normal;
	padding: 9px 7px !important;
	margin: 0 !important;
	color: white !important;    
	position: absolute;
	top: 0;
	font-size: 15px !important;
	right: 0;
}
.satori__custom_form .satori__not_require {
	background-color: #AAAAAA !important;
}
.satori__input_group label {
	position: relative;
}
.satori__custom_form .satori__horiz_group {
	margin-bottom: 16px;
}
.satori__custom_form .satori__input_group input[type="text"], .satori__custom_form .satori__input_group input[type="tel"], .satori__custom_form .satori__input_group input[type="password"], .satori__custom_form .satori__input_group input[type="email"], .satori__custom_form .satori__input_group input[type="number"], .satori__custom_form .satori__input_group input[type="url"], .satori__custom_form .satori__input_group textarea {
	background-color: #F8F8F8 !important;
	border: 1px solid #CCCCCC;
	border-radius: 0 !important;
	box-shadow: none;
	font-size: 1.6rem !important;
	color: #303030 !important;
	height: 58px !important;
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;
}
.satori__custom_form select {
	height: 58px !important;
	width: 138px !important;
	margin-right: 4px !important;
	background: url("img/common/select.png") no-repeat right 15px center #F8F8F8 !important;
	background-size: 12px auto !important;
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;
	font-size: 1.6rem !important;
	color: #303030 !important;
	padding: 0 14px;
	margin-bottom: 15px !important;
}
#satori__customer_mobile_phone_number {
	margin-bottom: 15px !important;
}
#satori__customer_email {
	margin-bottom: 15px !important;
}
.satori__custom_form .satori__message {
	text-align: left !important;
	padding-top: 25px;
	letter-spacing: 0.05em;
}
#satori__finish_panel {
    width: 100%;
    text-align: center;
    line-height: 30px;
}
select::-ms-expand { display: none; }
#satori__privacy_policy_agreement_wrapper input[type="checkbox"]  {
	display: none !important;
	padding: 0;
	height: 32px;
	width: 32px;
	vertical-align: middle;
}
#satori__privacy_policy_agreement_wrapper input[type="checkbox"] + label {
	letter-spacing: 0;
	color: #2F2F2F !important;   
	width: 100%;
	display: inline-block;
	box-sizing: border-box;
	background:url("img/common/check01.png") no-repeat left center;
	background-size: 32px auto;
	border-radius: 0;
	line-height: 32px;
	text-align: left;
	font-size: 2rem;
	position: relative;
	padding: 4px 0 4px 52px !important;
}
#satori__privacy_policy_agreement_wrapper input[type="checkbox"]:checked + label {
	background-image: url("img/common/check02.png");
}
#satori__privacy_policy_agreement_wrapper input[type="checkbox"] + label span {
	top: 50%;
	transform: translateY(-50%);
}
.satori__custom_form .satori__submit_group input {
	width: 282px;
	font-size: 2rem;
	font-weight: bold;
	color: white !important;
	height: 80px;
	letter-spacing: 0.05em;
	background-color: #2CB5A9 !important;
}
.satori__custom_form .satori__submit_group {
	margin-top: 45px !important;
	margin-left: -20px !important;
	margin-right: -20px !important;
}
.satori__custom_form .satori__submit_group input {
	margin: 0 10px;
}
.satori__custom_form .satori__btn.cancel {
	background-color: #E9D985 !important;
}
.satori__custom_form_5c65694ffca2080a_css input[type="checkbox"] + label, 
.satori__custom_form_5c65694ffca2080a_css input[type="radio"] + label,
.satori__custom_form_17591e6de8b4cbf7_css input[type="radio"] + label,
.satori__custom_form_17591e6de8b4cbf7_css input[type="checkbox"] + label {
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	color: #303030 !important;
}
.satori__custom_form_5c65694ffca2080a_css .satori__input_group input[type="text"] {
	margin-bottom: 15px;
}
.satori__custom_form_5c65694ffca2080a_css .satori__notes {
	color: #FF0000;
	background: transparent !important;
	border: none !important;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	padding: 10px 0 !important;
}
.satori__custom_form_5c65694ffca2080a_css .satori__horiz_group .satori__input_group input[type="text"] {
    margin-bottom: 0;
}

@media all and (max-width: 896px) {
	.industryBox {
		margin-top: -32px;
	}
	.contact h3 {
		margin: -10px 0 43px;
		font-size: 1.6rem;
		padding-bottom: 17px;
		border-bottom: 1px solid #AAAAAA;
	}
	.contact h3 span {
        min-width: inherit;
		padding: 0;
	}
	.industryBox h3 {
		margin-bottom: 37px;
	}
	.contact h3 span::after,
	.contact h3 span::before {
		display: none;
	}
	.industryBox .txt {
		text-align: left;
		line-height: 2;
		padding-top: 3px;
		margin-bottom: 40px;
	}
	#satori__creative_container {
		padding: 28px 25px 42px;
	}
	#satori__custom_form {
		max-width: inherit;
	}
	.satori__custom_form .satori__horiz_group {
		display: block !important;
		font-size: 1.6rem;
		margin-bottom: 0;
	}
	.satori__input_group label {
		font-size: 1.6rem;
	}
	.satori__custom_form select {
		margin: 0 0 10px !important;
	}
	#satori__customer_mobile_phone_number {
		margin-bottom: 0 !important;
	}
	#satori__customer_email {
		margin-bottom: 0 !important;
	}
	.satori__custom_form .satori__message {
		font-size: 1.6rem;
		line-height: 2.125;
		padding-top: 20px;
	}
	#satori__privacy_policy_agreement_wrapper input[type="checkbox"] + label{
		margin: 0 !important;
		font-size: 1.4rem;
		line-height: 1.43;
		padding: 10px 50px 10px 45px !important;
	}
	.satori__custom_form .satori__submit_group {
		margin: 33px 0 0!important;
	}
	.satori__custom_form .satori__submit_group input {
		margin: 0 5px 10px;
		max-width: 255px;
		width: calc(100% - 10px);
	}
	.satori__custom_form .satori__btn:hover {
		opacity: 1 !important;
	}
	.contact {
		padding-bottom: 73px;
		border-bottom: 70px solid #fff;
	}
	.satori__custom_form_17591e6de8b4cbf7_css input[type="checkbox"] + label {
		margin-right: -20px !important;
		display: inline-block;
	}
	.satori__custom_form_5c65694ffca2080a_css .satori__input_group input[type="text"] {
		margin-bottom: 0;
	}
	.satori__custom_form_5c65694ffca2080a_css .satori__notes {
		padding-bottom: 0 !important;
	}
}

/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#index #gHeader {
    padding-bottom: 0;
	box-sizing: border-box;
    background-color: transparent;
}
#index #gHeader.fixed {
    background-color: white;
}
.mainVisual {
    height: 100vh;
	position: relative;
	overflow: hidden;
}
.subMainVisual {
    width: 100%;
}
.mainVisual .inner {
    display: flex;
    align-items: center;
    justify-content: center;
	box-sizing: border-box;
	position: relative;
}
.mainVisual .innerBox {
	margin-left: auto;
	padding-left: 240px;
}
.mainVisual .fooUl {
    width: 37.5vw;
	text-align: center;
    height: 100%;
}
.mainVisual .fooUl img {
	display: inline-block;
}
.mainVisual .textBox {
    box-sizing: border-box;
	position: relative;
	z-index: 1;
}
.mainVisual .textBox h2 {
	margin-bottom: 5.2%;
	font-size: 7.5rem;
    color: black;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.47;
    font-family: 'Shippori Mincho', serif;
}
.mainVisual .textBox p {
	margin-bottom: 25px;
	letter-spacing: 0.1em;
	line-height: 1.875;
}
#index #main {
	padding: 0;
}
#index #main::after {
	display: none;
}
.mainVisual .linkBox {
	display: flex;
	flex-wrap: wrap;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 10;
	margin-left: auto;
	width: 100%;
	box-sizing: border-box;
	padding-left: 240px;
}
.mainVisual .linkBox > li {
	padding: 50px 60px;
	width: 33.333%;
	box-sizing: border-box;
	text-align: center;
	color: white;
	background-color: #626262;
}
.mainVisual .linkBox > li:nth-child(2) {
	background-color: #464646;
}
.mainVisual .linkBox > li:nth-child(3) {
	background-color: #303030;
}
.mainVisual .linkBox > li span {
	margin: 0 -15px 20px;
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.mainVisual .subUl {
	display: flex;
	justify-content: center;
}
.mainVisual .subUl li {
	margin: 0 2px;
    min-width: 162px;
	width: 100%;
}
.mainVisual .subUl a {
	padding: 10px 5px;
	display: block;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	color: white;
	text-align: center;
	border: 1px solid #fff;
	border-radius: 50px;
}
.mainVisual .subUl a:hover {
	opacity: 0.7;
}
.mainVisual .textImg {
	height: 100%;
	position: absolute;
	top: 0;
	left: -3px;
	width: 7.8vw;
}
.mainVisual .textImg img {
	max-width: inherit;
	width: auto;
	height: 100%;
}
#index #gHeader h1 {
	display: none;
}
.index .itBox {
	margin-bottom: 83px;
	padding-top: 160px;
}
.index .imgBox {
	margin-top: -3px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.index .imgBox .photoBox {
	width: calc(50% + 70px);
}
.index .imgBox .photoBox img {
	width: 100%;
}
.index .imgBox .textBox {
	padding: 0 5.6%;
	flex: 1;
}
.index .imgBox .textBox .sub {
	width: 100%;
	max-width: 400px;
}
.index .imgBox h4 {
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	line-height: 1.833;
	margin-bottom: 38px;
}
.index .imgBox p {
	margin-bottom: 40px;
	letter-spacing: 0.05em;
	line-height: 2.125;
}
.index .imgBox .moreLink {
	text-align: left;
}
.sec02 {
	padding: 139px 0 132px;
}
.businessBox {
	position: relative;
	padding: 88px 0 88px 180px;
	box-sizing: border-box;
	margin-top: -3px;
	background-color: #F2F2F2;
	margin-left: 60px;
}
.businessBox .icoBox {
	right: auto;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 80px;
	cursor: pointer;
}
.businessBox .fooList a {
	display: flex;
	align-items: center;
	position: relative;
}
.businessBox .fooList a span {
	display: block;
}
.businessBox .fooList .photoBox {
	width: 58.3%;
	margin-right: -72px;
	overflow: hidden;
}
.businessBox .fooList .photoBox img {
	transition: all ease 0.3s;
}
.businessBox .slick-list {
	padding-right: 110px;
}
.businessBox .slick-slide > div {
	width: 600px;
	margin-right: 48px;
}
.businessBox .fooList .photoBox img {
	width: 100%;
}
.businessBox .fooList .textBox {
	position: relative;
	z-index: 10;
	flex: 1;
	background-color: white;
	border-radius: 5px;
	padding: 48px 43px 48px;
}
.businessBox .fooList .textBox .ttl {
	font-weight: bold;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	margin-bottom: 13px;
}
.businessBox .fooList .textBox .txt {
	letter-spacing: 0.05em;
	line-height: 2.125;
}
.businessBox .fooList .moreLink {
	position: absolute;
	bottom: 0;
	right: 40px;
}
@media all and (min-width: 897px) {
    .businessBox {
        padding-bottom: 62px;
        margin-left: 0;
        padding-left: 0;
    }
    .businessBox .pcBox {
        max-width: 1480px;
        margin: 0 auto;
        padding: 0 20px;
    }
    .businessBox .fooList {
        display: flex;
        flex-wrap: wrap;
				justify-content: center;
    }
    .businessBox .fooList li {
        width: 31.7%;
    }
    .businessBox .fooList li:nth-child(3n-1) {
        margin-left: 2.45%;
        margin-right: 2.45%;
    }
    .businessBox .fooList a {
        display: block;
    }
    .businessBox .fooList .photoBox {
        width: auto;
        margin: 0;
    }
    .businessBox .fooList .textBox {
        margin: -78px 35px 0;
    }
    .businessBox .fooList .textBox .ttl {
        text-align: center;
        margin-bottom: 20px;
    }
    .businessBox .fooList .textBox .txt {
        margin: 0 -10px;
    }
    .businessBox .fooList .moreLink {
        position: relative;
        bottom: auto;
        right: auto;
        margin: 20px 32px 0;
    }
    .businessBox .icoBox {
        display: none;
    }
}
@media all and (min-width: 897px) and (max-width: 1200px) {
	.businessBox .fooList {
		justify-content: start;
	}
}
.sec03 .ulBox {
	max-width: 1480px;
	margin: -3px auto 0;
	padding: 0 20px;
}
.sec03 .ulBox ul {
	display: flex;
	flex-wrap: wrap;
}
.sec03 .ulBox ul li {
	width: 31.7%;
}
.sec03 .ulBox ul a {
	display: block;
}
.sec03 .ulBox ul span {
	display: block;
}
.sec03 .ulBox ul li:nth-child(3n-1) {
	margin-left: 2.45%;
	margin-right: 2.45%;
}
.sec03 .ulBox ul .photo {
	margin-bottom: 32px;
	overflow: hidden;
	position: relative;
}
.sec03 .ulBox ul .photo .txtSpan {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 235px;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	padding: 22px 10px 0;
	box-sizing: border-box;
	letter-spacing: 0.05em;
	background-color: white;
}
.sec03 .ulBox ul .photo img {
	transition: all ease 0.3s;
}
.sec03 .ulBox .moreLink {
	margin-right: 93px;
}
.sec04 {
	padding: 129px 0 0;
}
.sec04 .imgBox .photoBox {
	order: 2;
}
.sec04 .imgBox .textBox {
	justify-content: flex-end;
	display: flex;
}


@media all and (max-width: 896px) {
    #index #gHeader.fixed {
        background-color: transparent;
    }
    #index #gHeader.fixed h1 {
        display: none !important;
    }
	.mainVisual {
		display: block;
		height: auto;
	}
	.mainVisual .textImg {
		width: 86px;
	}
	.mainVisual .inner {
        margin-top: 0;
        flex-wrap: wrap;
		padding-left: 31.2vw;
	}
	.mainVisual .textBox {
        width: 100%;
		padding: 80px 0 30px;
        height: 230px;
		min-height: inherit;
	}
	.mainVisual .textBox h2 {
		margin-bottom: 35px;
		font-size: 2.8rem;
		line-height: 1.63;
	}
	.mainVisual .textBox p {
        display: none;
		margin-bottom: 0;
		font-size: 1.2rem;
		line-height: 2.08;
	}
	.mainVisual .fooUl {
		width: 95%;
        height: calc(100vh - 360px);
        box-sizing: border-box;
		display: flex;
		align-items: flex-end;
		justify-content: center;
		position: relative;
		bottom: auto;
		right: auto;
		margin: 0 11px -15px -5px;
		max-width: inherit;
	}
	.mainVisual .linkBox {
		padding-left: 0;
		position: relative;
		left: auto;
		bottom: auto;
		display: block;
	}
    .mainVisual > div {
        max-height: inherit;
    }
	.mainVisual .innerBox {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-end;
		position: relative;
		padding-left: 0;
	}
	.mainVisual .innerBox .spBox {
		width: 100%;
	}
	.mainVisual .scroll {
		position: absolute;
		bottom: 0;
		right: 22px;
	}
	.mainVisual .linkBox > li {
		width: auto;
		padding: 31px 22px;
	}
	.mainVisual .linkBox > li span {
		font-size: 1.6rem;
        margin-left: 0;
        margin-right: 0;
	}
	.mainVisual .subUl02 {
		padding: 0 24px;
	}
	.index .itBox {
		margin-bottom: 10px;
		padding: 61px 0 34px;
	}
	.index .itBox h3 {
		margin-bottom: 47px;
		font-size: 1.7rem;
	}
	.index .imgBox {
		margin-top: 0;
		padding-top: 1px;
		display: block;
	}
	.index .imgBox .photoBox {
		width: auto;
	}
	.index .imgBox .textBox {
		padding: 35px 25px;
	}
	.index .imgBox .textBox .sub {
		max-width: inherit;
	}
	.index .imgBox h4 {
		font-size: 2rem;
		margin-bottom: 33px;        
	}
	.index .imgBox p {
		margin-bottom: 34px;
		line-height: 2;
	}
	.sec01 {
		padding-bottom: 35px;
	}
	.sec02 {
		background-color: #F2F2F2;
		padding: 59px 0 69px;
	}
	.businessBox {
        margin-left: 0;
		padding: 0;
		margin-top: 0;
	}
	.businessBox .prev {
		position: relative;
		top: auto;
		transform: none;
		left: auto;
	}
	.businessBox .icoBox {
		left: auto;
		top: -86px;
		right: 23px;
	}
	.businessBox .fooList {
		margin: -3px 24px 0;
	}
	.businessBox .slick-slide > div {
		width: auto;
		margin: 0;
	}
	.businessBox .slick-list {
		padding-right: 0;
	}
	.businessBox .fooList a {
		display: block;
	}
	.businessBox .fooList .photoBox {
		width: auto;
		margin: 0 0 -50px;
	}
	.businessBox .fooList .textBox {
		margin: 0 23px;
		padding: 26px 24px;
	}
	.businessBox .fooList .textBox .ttl {
		font-size: 1.8rem;
		text-align: center;
	}
	.businessBox .fooList .textBox .txt {
		font-size: 1.3rem;
		line-height: 2;
		padding-top: 1px;
	}
	.sec03 {
		padding: 60px 0 24px;
	}
	.sec03 .ulBox {
		margin-top: -1px;
		padding: 0 24px;
	}
	.sec03 .ulBox ul {
		display: block;
	}
	.sec03 .ulBox ul li {
		width: auto;
		margin: 0 0 37px !important;
	}
	.sec03 .ulBox ul .photo .txtSpan {
		width: 163px;
		font-size: 1.6rem;
		padding: 14px 10px 0;
		bottom: -3px;
	}
	.sec03 .ulBox .moreLink {
		display: none;
	}
	.sec04 {
		padding: 0px 0;
	}
	.sec04 .imgBox .photoBox {
		margin: 0 24px;
	}
	.sec04 .imgBox .textBox {
		padding-bottom: 0;
	}
}


/*------------------------------------------------------------
	background-white
------------------------------------------------------------*/
.whiteBg, .whiteBg .content{
    margin-bottom: -1px;
	background-color: #fff;
}

/*------------------------------------------------------------
	otravista
------------------------------------------------------------*/
.otravista .mainImg {
	background-image: url("img/otravista/main_img.jpg");
}
.otravista #pagePath {
	margin-bottom: 97px;
}
.otravistaBox {
	margin: 0 auto 102px;
	padding: 0 20px;
}
.otravistaBox .content {
	padding: 87px 40px 90px;
	max-width: 1480px;
	background-color: #fff;
	border-radius: 5px;
	box-sizing: border-box;
}
.otravistaBox h3 {
	margin-bottom: 50px;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	font-weight: 700;
	text-align: center;
}
.otravistaBox p {
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	line-height: 2.125;
	text-align: center;
}
.otravista .white, .otravista .white .content{
	background-color: #fff;
}
.mvvcBox {
	padding: 136px 20px 138px;
}
.mvvcBox .photo {
	margin: 0 auto;
	padding: 96px 50px 95px;
	max-width: 1380px;
	background-color: #EAEAEA;
	text-align: center;
}
.missionBox {
	padding: 0 0 76px;
}
.visionBox {
	padding: 0 0 76px;
}
.valueBox {
	padding: 0 0 132px;
}
.credoUl {
	margin-bottom: -50px;
	display: flex;
	flex-wrap: wrap;
}
.credoUl li {
	margin-bottom: 86px;
	width: 30.4%;
}
@media all and (min-width: 897px) {
	.credoUl li:nth-of-type(3n-1) {
		margin-left: 4.4%;
		margin-right: 4.4%;
	}
}
.credoUl h4 {
	margin-bottom: 40px;
	padding: 10px;
	min-height: 118px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2rem;
	letter-spacing: 0.05em;
	line-height: 1.8;
	text-align: center;
	border-top: 1px solid #303030;
	border-bottom: 1px solid #303030;
	box-sizing: border-box;
}
@media all and (-ms-high-contrast:none){
    .credoUl h4 {
        padding-top: 0;
        padding-bottom: 0;
    }
	.credoUl h4::after {
		font-size: 0;
		content: '';
		min-height: inherit;
	}
}
.credoUl p {
	color: #303030;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	line-height: 2.125;
}
@media all and (max-width: 896px) {
	.otravista #pagePath {
		margin-bottom: 70px;
	}
	.otravista .mainImg {
		background-image: url("img/otravista/sp_main_img.jpg");
	}
	.otravistaBox {
		margin: 0 auto 70px;
		padding: 0 24px;
	}
	.otravistaBox .content {
		padding: 37px 24px 42px;
		max-width: 100%;
	}
	.otravistaBox h3 {
		margin-bottom: 34px;
		font-size: 1.8rem;
		line-height: 1.778;
	}
	.otravistaBox p {
		font-size: 1.4rem;
		line-height: 2;
		text-align: left;
	}
	.mvvcBox {
		padding: 61px 12px 63px;
	}
	.mvvcBox .headLine01 {
		margin-left: -12px;
	}
	.mvvcBox .photo {
		margin: 0;
		padding: 41px 20px 41px;
		max-width: inherit;
	}
	.missionBox {
		padding: 0 0 33px;
	}
	.visionBox {
		padding: 0 0 33px;
	}
	.valueBox {
		padding: 0 0 58px;
	}
	.valueBox .headLine01 {
		padding: 0;
	}
	.credoBox {
		padding: 0;
	}
	.credoUl {
		margin-bottom: 0;
	}
	.credoUl li {
		margin-bottom: 26px;
		width: 100%;
	}
	.credoUl li:last-of-type {
		margin-bottom: 0;
	}
	.credoUl h4 {
		margin-bottom: 26px;
		padding: 10px;
		min-height: 74px;
		font-size: 1.6rem;
		line-height: 2.25;
	}
	.credoUl p {
		font-size: 1.4rem;
		line-height: 2;
	}
}


/*------------------------------------------------------------
	company
------------------------------------------------------------*/
.company .mainImg {
	background-image: url("img/company/main_img.jpg");
}
.messageBox {
	margin-bottom: 156px;
}
.messageBox .photo {
	margin-bottom: 62px;
}
.messageBox h4 {
	margin-bottom: 59px;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	line-height: 1.833;
	text-align: center;
}
.messageBox .txt {
	margin-bottom: 34px;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	line-height: 2.125;
	text-align: center;
}
.messageBox .chairman {
	margin-top: 56px;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	line-height: 2;
	text-align: center;
}
.messageBox .chairman span {
	line-height: 1;
	margin-top: 17px;
	display: block;
	font-size: 3.3rem;
}
.profileBox {
	margin-bottom: 137px;
	padding: 137px 0 149px;
}
.profileBox .tableBox {
	margin-bottom: 95px;
}
.profileBox .profileList {
	margin-bottom: -70px;
	display: flex;
	flex-wrap: wrap;
}
.profileBox .profileList li {
	margin-bottom: 70px;
	width: 30.4%;
}
@media all and (min-width: 897px) {
	.profileBox .profileList li:nth-child(3n-1) {
		margin-left: 4.4%;
		margin-right: 4.4%;
	}
}
.profileBox .profileList li .photo {
	margin-bottom: 18px;
}
.profileBox .profileList li p {
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	line-height: 2;
}
.accessBox {
	margin-bottom: 160px;
}
.accessBox .mapBox {
	height: 400px;
}
.accessBox .mapBox iframe {
	width: 100%;
	height: 100%;
}
.btmLink {
	position: fixed;
	left: 0;
	width: 100%;
	bottom: 0;
	z-index: 500;
	padding: 9px 10px;
	box-sizing: border-box;
	background-color: white;
}
.btmLink a {
	display: block;
	font-size: 1.5rem;
	font-weight: bold;
	color: white;    
	border-radius: 5px;
	padding: 9px;
	text-align: center;
	background-color: #F08609;
}
@media all and (max-width: 896px) {
	.company .mainImg {
		background-image: url("img/company/sp_main_img.jpg");
	}
	.messageBox {
		margin-bottom: 67px;
	}
	.messageBox .photo {
		margin: 0 -24px 33px;
	}
	.messageBox .photo img {
		width: 100%;
	}
	.messageBox h4 {
		margin-bottom: 24px;
		font-size: 1.8rem;
		line-height: 1.778;
	}
	.messageBox .txt {
		margin-bottom: 28px;
		font-size: 1.4rem;
		line-height: 2;
		text-align: left;
	}
	.messageBox .chairman {
		margin-top: 40px;
		font-size: 1.4rem;
		line-height: 2.142;
		text-align: center;
	}
	.messageBox .chairman span {
		display: block;
		font-size: 3.3rem;
	}
	.profileBox {
		margin-bottom: 60px;
		padding: 62px 0 47px;
	}
	.profileBox .tableBox {
		margin-bottom: 21px;
	}
	.profileBox .profileList {
		margin-bottom: 0;
		display: block;
	}
	.profileBox .profileList li {
		margin-bottom: 0;
		width: 100%;
	}
	.profileBox .profileList li .photo {
		margin-bottom: 6px;
	}
	.profileBox .profileList li .photo img {
		width: 100%;
	}
	.profileBox .profileList li p {
		margin-bottom: 18px;
		font-size: 1.4rem;
		line-height: 2.143;
	}
	.accessBox {
		margin-bottom: 70px;
	}
	.accessBox .mapBox {
		height: 68vw;
	}
}

@media all and (min-width: 897px) {
	.businessBox .fooList a:hover .photoBox img {
		transform: scale(1.1);
	}
	.industryBox .txt a:hover {
		text-decoration: none;
	}
	.satori__custom_form .satori__customer_last_name {
		padding-right: 25px !important;
	}
	.satori__custom_form .satori__customer_first_name {
		padding-left: 25px !important;
	}
	.sec03 .ulBox a:hover .photo img {
		transform: scale(1.1);
	}
}

@media all and (max-width: 374px) {
	.it .headLine02 {
		font-size: 1.6rem;
	}
	.flowBox dd .ttl {
		font-size: 1.7rem;
	}
	.icoBox {
		top: -105px;
	}
	.icoBox > div {
		width: 30px;
	}
	.icoBox .prev {
		margin-right: 5px;
	}
	.headLine01 {
		font-size: 3.1rem;
	}
	.support .voiceDl dd .txtSpan {
		font-size: 1.3rem;
	}
	.support .voiceDl dt {
		width: 70px;
	}
	.support .voiceDl dt img {
		height: 180px;
	}
	.support .voiceUl p {
		margin-left: -80px;
	}
	#satori__creative_container {
		padding-left: 15px;
		padding-right: 15px;
	}
	.satori__custom_form_17591e6de8b4cbf7_css input[type="checkbox"] + label {
		font-size: 1.4rem;
	}
	.headLine03 .en {
		font-size: 6rem;
	}
	.mainVisual .textBox h2 {
		font-size: 2.3rem;
	}
	.mainVisual .textBox p {
		font-size: 1rem;
	}
	.hInner h1 {
		width: auto;
	}
	.hInner h1 img {
		width: 169px !important;
	}
	.contactUl a {
		font-size: 1.4rem;
	}
}

@media all and (min-width: 897px) and (max-width: 1200px) {
	.headLine03 .en {
		font-size: 13rem;
	}
	#gHeader {
		padding-left: 20px;
		padding-right: 20px;
	}
	.hInner h1 img {
		width: 200px;
	}
	.hInner .naviUl > li {
		margin-left: 18px;
	}
	.hInner .link {
		margin-left: 18px;
	}
	.voiceUl .slick-slide > div {
		width: 800px;
	}
	.icoBox {
		right: calc(50% - 400px);
	}
    .mainVisual .textBox h2 {
        font-size: 5.0vw;
    }
    .mainVisual .textBox p {
        margin-bottom: 5px;
        font-size: 1.3rem;
    }
    .mainVisual .subUl li {
        min-width: 110px;
    }
    .mainVisual .subUl a {
        font-size: 1.3rem;
    }
	.comBox02 li .linkBox .link {
		width: 185px;
	}
}

@media all and (min-width: 897px) and (max-width: 1400px) {
    .mainVisual .innerBox {
        padding-left: 150px;
    }
    .mainVisual .linkBox {
        padding-left: 150px;
    }
    .mainVisual .linkBox > li {
        padding-left: 2%;
        padding-right: 2%;
    }
    .mainVisual .fooUl {
        width: 50%;
    }
    .mainVisual .textBox h2 {
        font-size: 6rem;
    }
}

@media all and (min-width: 1401px) and (max-width: 1450px) {
    .mainVisual .textBox h2 {
        font-size: 7.2rem;
    }
}


@media all and (max-height: 700px) and (min-width: 897px) {
    .mainVisual .textBox h2 {
        font-size: 6rem;
    }
    .mainVisual .fooUl {
        max-width: 380px;
    }
    .mainVisual {
        height: 700px !important;
    }
}

@media all and (min-width: 897px) and (max-width: 1200px) and (max-height: 850px) {
    .mainVisual .textBox h2 {
        font-size: 4.2rem;
    }
    .mainVisual .linkBox > li span {
        font-size: 1.7rem;
    }
}


/*
@media all and (max-height: 600px) and (max-width: 896px) {
    .mainVisual .textBox h2 {
        font-size: 2.3rem;
        margin-bottom: 15px;
    }
    .mainVisual .textBox {
        padding: 0;
    }
    .mainVisual .fooUl {
        height: calc(100vh - 402px);
        margin-bottom: -50px;
    }
}
*/

@media all and (max-height: 500px) and (max-width: 896px) {
    .mainVisual .innerBox {
        height: auto !important;
    }
    .mainVisual .inner {
        height: 580px !important;
    }
    .mainVisual .fooUl {
        height: auto;
    }
    .mainVisual .textBox {
        height: auto;
        padding-top: 40px;
    }
}

@media all and (max-height: 500px) and (max-width: 896px) and (orientation: landscape) {
    .mainVisual .fooUl {
        height: 400px;
        align-items: flex-start;
    }
}

@media all and (-ms-high-contrast:none){
    .comList .headLine02::after {
        font-size: 0;
        min-height: inherit;
        content: '';
    }
    .comList .headLine02 {
        min-height: inherit;
    }
}
.mainVisual .slick-list,
.mainVisual .slick-track,
.mainVisual .slick-slide,
.mainVisual .slick-slide > div,
.mainVisual .subFoo {
    height: 100% !important;
}
.mainVisual .subImg {
    height: 100% !important;	
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.mainVisual > div {
    height: 100%;
}
.mainVisual .fooUl img { 
    max-height: 100%;
    width: auto;
}

@media all and (min-width: 897px) {
    .mainVisual .inner {
        height: calc(100% - 187px);
    }
    .mainVisual .fooUl {
        padding-top: 105.5px;
        box-sizing: border-box;
    }
    .mainVisual .textBox {
        padding-top: 60px;
    }
    .mainVisual .innerBox,
    .mainVisual .innerBox .spBox {
        height: 100%;
    }

}

/*------------------------------------------------------------
	adoption
------------------------------------------------------------*/
.adoption .mainImg02 {
	padding: 102px 0 50px;
	min-height: 720px;
	color: #fff;
	box-sizing: border-box;
	position: relative;
	background: url(img/adoption/bg01.jpg) no-repeat center;
	background-size: cover;
}
.adoption .mainImg02 .photo {
	position: absolute;
	bottom: 0;
	right: calc(50% - 484px);
}
.adoption .mainImg02 p {
	position: relative;
	z-index: 1;
}
.adoption .mainImg02 .ttl {
	margin-bottom: 54px;
}
.adoption .mainImg02 .txt {
	margin-bottom: 39px;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.adoption .mainImg02 .list {
	padding: 0 7px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
	z-index: 1;
}
.adoption .mainImg02 .list li {
	width: 31.8%;
	padding: 15px 10px;
	box-sizing: border-box;
	text-align: center;
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	position: relative;
	z-index: 1;
}
.adoption .mainImg02 .list li:after {
	width: 100%;  
	height: 100%;
	z-index: -1;
	background-color: #000;
	position: absolute;  
	top: 0;
	right: 0;  
	content: ""; 
	transform: skewX(-16.8deg);
}
.adoption .mainImg02 .list li:nth-child(3n-1) {
	margin-left: 2.3%;
	margin-right: 2.3%;
}
.adoption .whiteBox {
	padding-top: 12px;
	background-color: #fff;
}
.adoption #pagePath {
	margin-bottom: 0;
}
.adoption .itBox {
	padding: 82px 0 78px;
}
.adoption .agency {
	margin-bottom: 100px;
	padding: 6px 20px 0;
}
.adoption .subAgency {
	padding: 79px 20px 84px;
	max-width: 1480px;
	margin: 0 auto;
	box-sizing: border-box;
	background-color: #FFFFFF;
	border-radius: 5px;
}
.adoption .agency p {
	text-align: center;
	letter-spacing: 0.05em;
	line-height: 2.125;
}
.adoption .agency .ttl {
	margin-bottom: 43px;
	font-size: 2.4rem;
	font-weight: 700;
}
.adoption .yellowBox {
	padding: 78px 0 75px;
	background-color: #FDEDDA;
}
.adoption .yellowBox .ttl {
	margin-bottom: 21px;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	color: #303030;
	letter-spacing: 0.05em;
}
.adoption .yellowBox .ttl .yellow {
	color: #F08609;	
}
.adoption .yellowBox .contactLink {
	width: 346px;
}
.adoption .yellowBox .contactLink a {
	font-size: 2rem;
}
.adoption .yellowBox .contactLink a span {
	background-size: 25px auto;
	padding-bottom: 3px;
	padding-top: 2px;
	margin-bottom: -3px;
}
.adoption .troubleBox {
	padding: 137px 0 88px;
}
.adoption .troubleBox .ulBox {
	margin: -3px -10px 35px;
	padding-bottom: 35px;
	background: url(img/adoption/arrow.png) no-repeat center bottom;
	background-size: 106px auto;
}
.adoption .troubleList {
	margin: 0 0 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.adoption .troubleList li {
	margin: 0 10px 33px;
	min-height: 65px;
	width: calc(33.33% - 20px);
	padding: 5px;
	font-weight: 700;
	letter-spacing: 0.05em;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	border-radius: 32.5px;
	background: #fff;
	box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.1);
}
.adoption .meritUl li h4 {
	margin-bottom: 45px;
	text-align: center;
}
.adoption .strengths {
	padding-bottom: 86px;
}
.adoption .serviceSec {
	padding: 140px 0 100px;
	background-color: #fff;
}
.adoption .serviceSec .txt {
	margin-bottom: 90px;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.adoption .serviceSec .txt .yellow {
	color: #F08609;
}
.adoption .serviceUl {
	display: flex;
	flex-wrap: wrap;
}
.adoption .serviceUl li {
	width: 31.25%;
	margin-bottom: 50px;
}
.adoption .serviceUl li:nth-child(3n-1) {
	margin-left: 3.125%;
	margin-right: 3.125%;
}
.adoption .serviceUl li .photo {
	margin-bottom: 32px;
	height: 138px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #F2F2F2;
}
.adoption .serviceUl li .headLine02 {
	margin-bottom: 27px;
	font-size: 1.8rem;
}
.adoption .serviceUl li .headLine02::after {
	height: 24px;
}
.adoption .serviceUl li p {
	letter-spacing: 0.05em;
	line-height: 2.125;
}
.adoption .flowSec {
	background-color: #F2F2F2;
}
.adoption .flowBox dt {
	background-color: #fff;
}
.adoption .priceSec {
	padding: 140px 0 150px;
	background-color: #fff;
}
.adoption .priceSec table {
	margin-bottom: 35px;
	width: 100%;
	letter-spacing: 0.05em;
	border-collapse: collapse;
}
.adoption .priceSec table th {
	padding: 26px 20px;
	width: 12.5%;
	font-size: 1.5rem;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #CCCCCC;
	background-color: #F2F2F2;
	border-right: none;
	word-break: break-all;
}
.adoption .priceSec table td {
	width: 37.5%;
	padding: 26px 20px 26px 35px;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: left;
	vertical-align: middle;
	border: 1px solid #CCCCCC;
	background-color: #fff;
	border-left: none;
	word-break: break-all;
}
.adoption .priceSec table td .redSpan {
	margin-top: 2px;
	display: block;
	font-size: 1.6rem;
	color: #FF0000;
}
.adoption .priceSec .textList li {
	letter-spacing: 0.05em;
	line-height: 2.125;
}
.adoption .flowBox dd .ttl:last-child {
	margin-bottom: 0;
}

@media all and (min-width: 897px) {
	.adoption .comImgBox .comSubBox {
		margin-top: -82px;
	}
}

@media all and (max-width: 896px) {
	.adoption .mainImg02 {
		padding: 46px 0 30px;
		min-height: 595px;
		background-image: url(img/adoption/bg01_sp.jpg);
	}
	.adoption .mainImg02 .spBox {
		margin-bottom: -8px;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.adoption .mainImg02 .ttl {
		margin-bottom: 0;
	}
	.adoption .mainImg02 .ttl img {
		width: 100%;
	}
	.adoption .mainImg02 .txt {
		margin: 7px 0 0;
		font-size: 1.3rem;
		line-height: 1.86;
		flex: 1;
		text-align: left;
	}
	.adoption .mainImg02 .photo {
		position: static;
		padding-right: 5px;
		width: 45%;
	}
	.adoption .mainImg02 .photo img {
		width: 100%;
	}
	.adoption .mainImg02 .list{
		padding: 0;
		margin: 0 8px;
		display: block;
	}
	.adoption .mainImg02 .list li {
		width: auto;
		padding: 11px 10px;
		font-size: 1.4rem;
		margin: 6px 0 0 !important;
	}
	.adoption .mainImg02 .list li::after {
		transform: skewX(-19deg);
	}
	.adoption .whiteBox {
		padding-top: 10px;
	}
	.adoption .itBox {
		margin-bottom: 65px;
		padding: 65px 0 54px;
	}
	.adoption .agency {
		margin-bottom: 70px;
		padding-left: 24px;
		padding-right: 24px;
	}
	.adoption .subAgency {
		padding: 37px 0;
	}
	.adoption .agency p {
		text-align: left;
		line-height: 2;
	}
	.adoption .agency .ttl {
		margin-bottom: 21px;
		text-align: center;
		font-size: 1.8rem;
		line-height: 1.78;
	}
	.adoption .yellowBox {
		padding: 67px 0 70px;
	}
	.adoption .yellowBox .ttl {
		margin-bottom: 19px;
		font-size: 1.8rem;
		line-height: 1.78;
	}
	.adoption .yellowBox .ttl .yellow {
		display: block;
	}
	.adoption .yellowBox .contactLink {
		width: auto;
		max-width: 278px;
	}
	.adoption .yellowBox .contactLink a {
		padding: 13px 5px;
		font-size: 1.7rem;
	}
	.adoption .yellowBox .contactLink a span {
		background-size: 20px auto;
		padding-top: 0;
		margin-bottom: -1px;
	}
	.adoption .troubleBox {
		padding: 61px 0 42px;
	}
	.adoption .troubleBox .ulBox {
		margin-bottom: 27px;
		margin-top: 0;
		padding-bottom: 42px;
		background-size: 64px auto;
	}
	.adoption .troubleList {
		display: block;
	}
	.adoption .troubleList li {
		margin-bottom: 19px;
		width: auto;
		min-height: 60px;
		font-size: 1.5rem;
		box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.1);
	}
	.adoption .meritUl li .photo .num {
		font-size: 2rem;
		padding-top: 15px;
	}
	.adoption .meritUl li h4 {
		margin-bottom: 20px;
	}
	.adoption .strengths {
		padding-bottom: 26px;
	}
	.adoption .serviceSec {
		padding: 60px 0 38px;
	}
	.adoption .serviceSec .txt {
		margin-bottom: 41px;
		font-size: 1.7rem;
		line-height: 1.88;
	}
	.adoption .serviceUl {
		display: block;
	}
	.adoption .serviceUl li {
		width: auto;
		margin: 0 0 28px !important;
	}
	.adoption .serviceUl li .photo {
		margin-bottom: 14px;
		height: 129px;
	}
	.adoption .serviceUl li .headLine02 {
		margin-bottom: 19px;
	}
	.adoption .serviceUl li .headLine02::after { 
		height: 14px;
	}
	.adoption .serviceUl li p {
		line-height: 2;
	}
	.adoption .priceSec {
		padding: 60px 0 76px;
	}
	.adoption .priceSec table {
		margin-bottom: 28px;
		table-layout: fixed;
	}
	.adoption .priceSec table th {
		float: left;
		padding: 13px 10px;
		width: 100%;
		box-sizing: border-box;
		border: 1px solid #CCCCCC;
		border-bottom: none;
	}
	.adoption .priceSec table td {
		float: left;
		width: 100%;
		height: 96px;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 13px 10px;
		text-align: center;
		box-sizing: border-box;
		border: 1px solid #CCCCCC;
		border-top: none;
		border-bottom: none;
	}
	.adoption .priceSec table td:last-child {
		border-bottom: 1px solid #CCCCCC;
	}
	.adoption .priceSec table td .redSpan {
		margin-top: 5px;
		font-size: 1.4rem;
	}
	.adoption .priceSec .textList li {
		line-height: 2;
	}
	.comBox .title .yellow {
		display: block;
	}
}

@media all and (max-width: 374px) {
	.comBox .title {
		font-size: 1.5rem;
	}
	.adoption .agency .ttl {
		font-size: 1.7rem;
	}
}

@media all and (min-width: 897px) and (max-width: 1000px) {
	.adoption .mainImg02 .list li {
		font-size: 1.5rem;
	}
}

@media all and (min-width: 897px) {
	.businessBox .indexList {
		margin: 0 -13px;
	}
	.businessBox .indexList li {
		width: calc(33.3% - 26px) !important;
		margin: 0 13px 40px !important;
	}
	.businessBox .indexList .photoBox {
		height: 275px;
	}
	.businessBox .indexList .photoBox img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.businessBox .indexList .textBox {
		/**padding-bottom: 15px;**/
	}
	.businessBox .indexList .textBox .txt {
		margin-left: -15px;
	}
}


@media all and (min-width: 897px) and (max-width: 1200px) {
	.businessBox .indexList li {
		width: calc(50% - 26px) !important;
	}
}


@media all and (max-width: 374px) {
	.adoption .mainImg02 .photo {
		width: 42%;
	}
	.adoption .mainImg02 .txt {
		font-size: 1.1rem;
	}
	.adoption .headLine02 {
		font-size: 1.6rem;
		margin-left: -10px;
		margin-right: -10px;
	}
}