@charset "UTF-8";
/*
 * cmn_layout.css
 *
 */


/* !HTML5 elements
---------------------------------------------------------- */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
{ display: block;}

/* !Reseting
---------------------------------------------------------- */
body {
	font-family: 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3" , "Hiragino Kaku Gothic ProN" , 'メイリオ' ,Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic" , Verdana, Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: 400;
	-webkit-text-size-adjust: none;
	line-height: 2;
	color: #22262F;
}

@media screen and (max-width:1039px){
body {
	font-size: 15px;
}
}

@media screen and (max-width:767px){
body {
	font-size: 14px;
}
}

body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td, figure, figcaption
{ margin: 0; padding: 0;}

input, textarea
{ margin: 0; font-size: 100%;}

label
{ cursor: pointer;}

table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}

fieldset, img
{ border: 0;}

img
{ max-width: 100%; height: auto; vertical-align: top;}

address, caption, cite, code, dfn, em, th, var
{ font-style: normal; font-weight: normal;}

ol, ul
{ list-style: none;}

caption, th
{ text-align: left;}

h1, h2, h3, h4, h5, h6
{ font-size: 100%; font-weight: normal;}

q:after, q:before
{ content:'';}

a
{ cursor: pointer; }

a, input
{ outline: none; }

input, textarea
{ border-radius: 0; font-family: 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3" , "Hiragino Kaku Gothic ProN" , 'メイリオ' ,Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic" , Verdana, Arial, Helvetica, sans-serif;}

input[type="button"],input[type="submit"],input[type="reset"]
{ -webkit-appearance: none; appearance: none; background: none; border: none; padding: 0; cursor: pointer;}

abbr, acronym
{ border: 0;}
*
{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}

/* !Clearfix
---------------------------------------------------------- */
.clearfix,
#contents,
.section
{
	display: block;
	min-height: 1%;
}
.clearfix:after,
#contents:after,
.section:after
{
	clear: both;
	content:".";
	display: block;
	height: 0;
	visibility: hidden;
}
* html .clearfix,
* html #contents,
* html .section
{
	height: 1%;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}
/* !Layout
---------------------------------------------------------- */
html { overflow-y: scroll;}
body { 
	text-align: left;
	position:relative;
}

/* !Loading
---------------------------------------------------------- */
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1.6s 0.4s;
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
}

.loaded {
  opacity: 0;
  visibility: hidden;
}

/* !アニメーション
---------------------------------------------------------- */
.fadeIn_pic01 {
  opacity: 0;
  transform: translate(-100px, 0);
  transition: 1.2s .2s;
}
.fadeIn_pic01.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.fadeIn_pic02 {
  opacity: 0;
  transform: translate(-100px, 0);
  transition: 1.2s .6s;
}
.fadeIn_pic02.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.fadeIn_pic03 {
  opacity: 0;
  transform: translate(100px, 0);
  transition: 1.2s .4s;
}
.fadeIn_pic03.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.fadeIn_pic04 {
  opacity: 0;
  transform: translate(100px, 0);
  transition: 1.2s .8s;
}
.fadeIn_pic04.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50px);
  transition: .8s .2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_up2 {
  opacity: 0;
  transform: translate(0, 100px);
  transition: 1.2s .4s;
}
.fadeIn_up2.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_left {
  opacity: 0;
  transform: translate(200px, 0);
  transition: 1.2s .4s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_left2 {
  opacity: 0;
  transform: translate(100px, 0);
  transition: 1.2s .4s;
}
.fadeIn_left2.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_right {
  opacity: 0;
  transform: translate(-200px, 0);
  transition: 1.2s .4s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_right2 {
  opacity: 0;
  transform: translate(-100px, 0);
  transition: 1.2s .4s;
}
.fadeIn_right2.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

/* 文字を包むコンテナ */
.reveal-text-container {
    display: inline-block;
    overflow: hidden;
    vertical-align: bottom;
    white-space: nowrap;
}
/* 各文字のスタイル */
.char-unit {
    display: inline-block;
    opacity: 0;
    transform: translateY(1.2em); /* 初期位置は下 */
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), 
                opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    /* JSから渡される --char-index と、CSSで設定する --base-delay を合算 */
    transition-delay: calc(var(--base-delay, 0s) + var(--char-index));
}
/* inviewが検知して is-active が付与された時の動き */
.is-active .char-unit {
    opacity: 1;
    transform: translateY(0);
}
/* --- 開始タイミングを制御 --- */
.char-animation {
    --base-delay: 0.3s; /* CONCEPTは検知後すぐ */
}

@media screen and (max-width:767px){
.fadeIn_pic01 {
  opacity: 0;
  transform: translate(-50px, 0);
  transition: 1.2s .2s;
}
.fadeIn_pic01.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.fadeIn_pic02 {
  opacity: 0;
  transform: translate(-50px, 0);
  transition: 1.2s .6s;
}
.fadeIn_pic02.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.fadeIn_pic03 {
  opacity: 0;
  transform: translate(50px, 0);
  transition: 1.2s .4s;
}
.fadeIn_pic03.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.fadeIn_pic04 {
  opacity: 0;
  transform: translate(50px, 0);
  transition: 1.2s .8s;
}
.fadeIn_pic04.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50px);
  transition: .8s .2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_up2 {
  opacity: 0;
  transform: translate(0, 50px);
  transition: 1.2s .4s;
}
.fadeIn_up2.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_left {
  opacity: 0;
  transform: translate(100px, 0);
  transition: 1.2s .4s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_left2 {
  opacity: 0;
  transform: translate(50px, 0);
  transition: 1.2s .4s;
}
.fadeIn_left2.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_right {
  opacity: 0;
  transform: translate(-100px, 0);
  transition: 1.2s .4s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_right2 {
  opacity: 0;
  transform: translate(-50px, 0);
  transition: 1.2s .4s;
}
.fadeIn_right2.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
}

/* !header
---------------------------------------------------------- */
#header {
	width:100%;
	height:120px;
	background: rgba(255, 255, 255, 0);
	margin:0 auto;
	z-index:100;
	position:fixed;
	top:0;
	left:0;
}
#header.transform {
	height:85px;
}
	#header h1#headerLogo a,
	#header p#headerLogo a {
		display:block;
		position:absolute;
		width:260px;
		height:120px;
		padding:35px 50px;
		background: #FFF;
		border-radius: 0 0 20px 0;
		top:0;
		left:0;
		transition: .3s;
	}
	#header.transform h1#headerLogo a,
	#header.transform p#headerLogo a {
		height:85px;
		padding:17px 50px;
	}
		#header h1#headerLogo a img,
		#header p#headerLogo a img {
			display: block;
			width:160px;
			height:50px;
		}

#header #sidebar {
	position: absolute;
	width: 76%;
	height: 120px;
	background-color:rgba(255, 255, 255, 0);
	text-align: center;
	z-index: 300;
	padding:25px 30px 25px 0;
	display: flex;
	justify-content: flex-end;
	top:0;
	right: 0;
	transition: .3s;
}
#header.transform #sidebar {
	height: 100px;
	padding:15px 30px 0 0;
}

#header #global-nav ul {
	width:auto;
	height:70px;
	padding:10px 10px 10px 40px;
	list-style: none;
	display:flex;
	background: #FFF;
	border-radius: 35px;
	top:0;
}
			#header #global-nav ul li.norm a {
				font-size:16px;
				font-weight:600;
				color:#22262F;
				height:50px;
				line-height:50px;
				position: relative;
				display: block;
				outline: none;
				text-decoration: none;
				text-transform: uppercase;
				margin-right:40px;
				transition: .5s;
			}
				#header #global-nav ul li.norm a span {
					position:relative;
					z-index:2;
				}
				
			#header #global-nav ul li.norm a:hover,
			#header #global-nav ul li.norm a.current {
				color:#0E6EB8;
			}
				#header #global-nav ul li.norm a:after {
					content: '';
					position: absolute;
					bottom: 0;
					left: 0;
					width: 100%;
					height: 2px;
					background:#0E6EB8;
					transition: all .3s;
					transform: scale(0, 1);
					transform-origin: center top;
				}
				#header #global-nav ul li.norm a:hover:after,
				#header #global-nav ul li.norm a.current:after{
					transform: scale(1, 1);
				}
			#header #global-nav ul li.contactBtn a {
				position: relative;
				display: block;
				width:180px;
				height: 50px;
				background-color: #0E6EB8;
				font-size:16px;
				font-weight: 600;
				color:#FFF;
				line-height: 48px;
				border-radius: 25px;
				transition: .5s;
			}
				#header #global-nav ul li.contactBtn a:hover {
					background-color: #60A1F1;
				}
				#header #global-nav ul li.contactBtn a i {
					margin-right: 0.6em;
				}

a#panel-btn {
	display: none;
}

#overlay {
	display: none;
	position: fixed;
	background: rgba(63,71,86,.6);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

@media screen and (max-width:1239px){
	#header h1#headerLogo a,
	#header p#headerLogo a {
		width:240px;
		height:120px;
		padding:35px 40px;
	}
	#header.transform h1#headerLogo a,
	#header.transform p#headerLogo a {
		height:85px;
		padding:17px 40px;
	}
		#header h1#headerLogo a img,
		#header p#headerLogo a img {
			display: block;
			width:160px;
			height:50px;
		}

#header #global-nav ul {
	padding:10px 10px 10px 30px;
}
			#header #global-nav ul li.norm a {
				margin-right:24px;
			}
}

@media screen and (max-width:1039px){
#header {
	height:110px;
}
#header.transform {
	height:85px;
}
	#header h1#headerLogo a,
	#header p#headerLogo a {
		width:240px;
		height:110px;
		padding:30px 40px;
	}
	#header.transform h1#headerLogo a,
	#header.transform p#headerLogo a {
		height:85px;
		padding:17px 40px;
	}
		#header h1#headerLogo a img,
		#header p#headerLogo a img {
			width:160px;
			height:50px;
		}
	
#header #sidebar {
	padding: 150px 0 0 0;
	position: fixed;
	right: -50%;
	top: 0;
	height: 100%;
	width: 50%;
	justify-content: center;
	background-color: #4E6675;
	-webkit-transition: .8s ease;
	transition: .8s ease;
}
#header.transform #sidebar {
	height: 100%;
	padding: 150px 0 0 0;
}
	
#header #global-nav ul {
	width:60%;
	height:auto;
	padding:0;
	display:flex;
	flex-wrap: wrap;
	background: none;
	border-radius: 0;
	top:auto;
	margin:0 auto;
}
	#header #global-nav ul li {
		width:100%;
	}
			#header #global-nav ul li.norm a {
				display: block;
				width:100%;
				font-size:18px;
				height:60px;
				color:#FFF;
				line-height:60px;
				margin-right:0;
			}
			#header #global-nav ul li.norm a:hover {
				color:#FFF;
			}
			#header #global-nav ul li.norm a.current {
				color:#1F286F;
			}
				#header #global-nav ul li.norm a:after {
					display:none;
				}
			#header #global-nav ul li.contactBtn a {
				width:220px;
				height: 50px;
				background-color: #FFF;
				font-size:18px;
				color:#0E6EB8;
				line-height: 48px;
				border: 0;
				top:20px;
				margin: 0 auto;
			}
				#header #global-nav ul li.contactBtn a:hover {
					background-color: #FFF;
					color:#0E6EB8;
					transform: none;
				}

	/* nav open */
	.open {
		overflow: hidden;
	}
	.open #overlay {
		display: block;
		animation: overlay .5s 1 ease ;
	}
	.open #sidebar  {
		-webkit-transform: translate3d(-100%,0,0);
		transform: translate3d(-100%,0,0);
	}
	@keyframes overlay {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
		}
	}
	
a#panel-btn {
width: 60px;
height: 60px;
display: block;
float:right;
position:fixed;
top:25px;
right:30px;
z-index:400;
transition: .3s;
}

#panel-btn{
  display: inline-block;
  position: relative;
  width: 60px;
  height: 60px;
  background: #0E6EB8;
  border-radius:50%;
}
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 2px;
  margin: -1px 0 0 -12px;
  background: none;
  transition: .2s;
}
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 24px;
  height: 2px;
  background:#FFF;
  transition: .3s;
}
#panel-btn-icon:before{
  margin-top: -5px;
}
#panel-btn-icon:after{
  margin-top: 3px;
}
#panel-btn .close{
  background: transparent;
}
#panel-btn .close:before, #panel-btn .close:after{
  margin-top: 0;
}
#panel-btn .close:before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#panel-btn .close:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}

	/* z-index */
	#sidebar {
		z-index: 300;
	}
	#panel-btn {
		z-index: 400;
	}
	#overlay {
		z-index: 200;
	}
	#header {
		z-index: 100;
	}
}

@media screen and (max-width:767px){
#header {
	height:80px;
}
#header.transform {
	height:80px;
}
	#header h1#headerLogo a,
	#header p#headerLogo a {
		width:180px;
		height:84px;
		padding:20px 20px;
	}
	#header.transform h1#headerLogo a,
	#header.transform p#headerLogo a {
		height:64px;
		padding:10px 20px;
	}
		#header h1#headerLogo a img,
		#header p#headerLogo a img {
			width:140px;
			height:44px;
		}
	
#header #sidebar {
	padding: 90px 0 0 0;
	right: -100%;
	width: 100%;
}
#header.transform #sidebar {
	padding: 90px 0 0 0;
}
	
#header #global-nav ul {
	width:60%;
	padding: 0;
	margin:0 auto;
}
			#header #global-nav ul li.norm a {
				font-size:16px;
				height:50px;
				color:#FFF;
				line-height:50px;
				display: block;
				margin-right:0;
			}
			#header #global-nav ul li.contactBtn a {
				font-size:16px;
			}
	
a#panel-btn {
width: 50px;
height: 50px;
top:10px;
right:15px;
}

#panel-btn{
  width: 50px;
  height: 50px;
}
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 2px;
  margin: -1px 0 0 -12px;
  background: none;
  transition: .2s;
}
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 24px;
  height: 2px;
  background:#FFF;
  transition: .3s;
}
#panel-btn-icon:before{
  margin-top: -5px;
}
#panel-btn-icon:after{
  margin-top: 3px;
}
#panel-btn .close{
  background: transparent;
}
#panel-btn .close:before, #panel-btn .close:after{
  margin-top: 0;
}
#panel-btn .close:before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#panel-btn .close:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}
}

/* !mainvisual
---------------------------------------------------------- */
.main {
	width: 100%;
	height:100vh;
	position: relative;
	z-index:-99;
	overflow: hidden;
}
	.main div.mainSlideWrap {
		position: relative;
		width:calc(100% - 100px);
		height: 96%;
		margin-left:100px;
	}
		.main div.mainSlideWrap div.mainSlide {
			width:100%;
			height: 100%;
			z-index: 1;
		}
		.main div.mainSlideWrap div.copyBg {
			display: block;
			position: absolute;
			width:650px;
			height: 220px;
			bottom:0;
			left:0;
			z-index: 2;
		}
		.main div.mainSlideWrap img.copy {
			display: block;
			position: absolute;
			width:620px;
			height: 181px;
			left:-40px;
			bottom:10px;
			z-index: 3;
			animation: text-animation 2.5s 1 ease ;
		}

@keyframes text-animation {
    0% {
		opacity:0;
        transform: translateX(-50px);
    }
	60% {
		opacity:0;
        transform: translateX(-50px);
    }
    100% {
		opacity:1;
        transform: translateX(0);
    }
}

.contactMain {
	width: 100%;
	height:500px;
	position: relative;
	z-index:-99;
	overflow: hidden;
}
	.contactMain div.wrapper {
		position: relative;
		width:calc(100% - 100px);
		height: 100%;
		margin-left:100px;
		background: #CCC;
	}

@media screen and (max-width:1039px){
	.main div.mainSlideWrap {
		width:calc(100% - 70px);
		margin-left:70px;
	}
		.main div.mainSlideWrap div.copyBg {
			width:500px;
			height: 169px;
		}
		.main div.mainSlideWrap img.copy {
			width:480px;
			height: 140px;
			left:-30px;
			bottom:5px;
		}
}

@media screen and (max-width:767px){
.main {
	height:100vh;
	height: 100svh;
}
	.main div.mainSlideWrap {
		width:calc(100% - 30px);
		margin-left:30px;
	}
		.main div.mainSlideWrap div.copyBg {
			width:320px;
			height: 108px;
		}
		.main div.mainSlideWrap img.copy {
			width:300px;
			height: 88px;
			left:-15px;
			bottom:2px;
		}
}

@media screen and (max-width:399px){
		.main div.mainSlideWrap div.copyBg {
			width:280px;
			height: 94px;
		}
		.main div.mainSlideWrap img.copy {
			width:270px;
			height: 79px;
			left:-15px;
			bottom:0;
		}
}

/* !私たちについて
---------------------------------------------------------- */
.about {
	width:100%;
	padding:60px 50px 0 50px;
	overflow: hidden;
}
	.about div.inner {
		width:100%;
		max-width: 1200px;
		margin: 0 auto;
	}
		.about div.inner p.enTit {
			font-family: "Lato", sans-serif;
			font-size:80px;
			font-weight: 700;
			text-align:center;
			line-height: 1.4;
			letter-spacing: 0.01em;
			color: #0E6EB8;
		}
		.about div.inner h2 {
			font-size:20px;
			font-weight: 600;
			color: #60A1F1;
			text-align:center;
			line-height: 1.4;
			letter-spacing: 0.04em;
			margin-bottom: 60px;
		}
		.about div.inner div.article {
			width:100%;
			position: relative;
			padding:60px 0;
		}
			.about div.inner div.article p.read {
				position: relative;
				font-size:18px;
				text-align: center;
				line-height: 2.2;
				margin-bottom: 30px;
				z-index: 2;
			}
				.about div.inner div.article p.read strong {
					font-size:140%;
					font-weight: 600;
					color: #0E6EB8;
				}
			.about div.inner div.article img.pic01 {
				position: absolute;
				width:168px;
				top:0;
				left:0;
				z-index: 1;
			}
			.about div.inner div.article img.pic02 {
				position: absolute;
				width:149px;
				bottom:0;
				left:140px;
				z-index: 1;
			}
			.about div.inner div.article img.pic03 {
				position: absolute;
				width:336px;
				top:0;
				right:0;
				z-index: 1;
			}
			.about div.inner div.article img.pic04 {
				position: absolute;
				width:188px;
				bottom:20px;
				right:120px;
				z-index: 1;
			}

@media screen and (max-width:1169px){
		.about div.inner div.article {
			padding:50px 0;
		}
			.about div.inner div.article p.read {
				font-size:17px;
			}
			.about div.inner div.article img.pic01 {
				width:151px;
			}
			.about div.inner div.article img.pic02 {
				width:134px;
				left:120px;
			}
			.about div.inner div.article img.pic03 {
				width:302px;
			}
			.about div.inner div.article img.pic04 {
				width:169px;
				right:110px;
			}
}

@media screen and (max-width:1039px){
.about {
	padding:50px 30px 0 30px;
}
		.about div.inner p.enTit {
			font-size:64px;
		}
		.about div.inner h2 {
			font-size:18px;
			margin-bottom: 50px;
		}
		.about div.inner div.article {
			padding:30px 0;
		}
			.about div.inner div.article p.read {
				font-size:16px;
				line-height: 2.2;
				margin-bottom: 30px;
			}
				.about div.inner div.article p.read strong {
					font-size:130%;
				}
			.about div.inner div.article img.pic01 {
				width:118px;
			}
			.about div.inner div.article img.pic02 {
				width:104px;
				left:100px;
			}
			.about div.inner div.article img.pic03 {
				width:225px;
			}
			.about div.inner div.article img.pic04 {
				width:132px;
				right:90px;
			}
}

@media screen and (max-width:939px){
.about {
	padding:50px 10px 0 10px;
}
			.about div.inner div.article p.read {
				font-size:14px;
			}
			.about div.inner div.article img.pic02 {
				left:60px;
			}
			.about div.inner div.article img.pic04 {
				right:60px;
			}
}

@media screen and (max-width:767px){
.about {
	padding:50px 25px 0 25px;
}
		.about div.inner p.enTit {
			font-size:44px;
		}
		.about div.inner h2 {
			font-size:16px;
			margin-bottom: 40px;
		}
		.about div.inner div.article {
			max-width:440px;
			padding:0 0 250px 0;
			margin: 0 auto;
		}
			.about div.inner div.article p.read {
				font-size:14px;
				text-align: left;
				margin-bottom: 25px;
			}
				.about div.inner div.article p.read strong {
					font-size:120%;
					line-height: 1.8;
				}
			.about div.inner div.article img.pic01 {
				width:84px;
				top:auto;
				bottom:50px;
			}
			.about div.inner div.article img.pic02 {
				width:75px;
				left:70px;
				bottom:0;
			}
			.about div.inner div.article img.pic03 {
				width:158px;
				top:auto;
				bottom:70px;
			}
			.about div.inner div.article img.pic04 {
				width:94px;
				right:70px;
			}
}

@media screen and (max-width:360px){
			.about div.inner div.article img.pic02 {
				left:50px;
			}
			.about div.inner div.article img.pic04 {
				right:50px;
			}
}

/* !事業内容
---------------------------------------------------------- */
.business {
	width:100%;
	padding:60px 0 60px 0;
	overflow: hidden;
}
	.business p.enTit {
			font-family: "Lato", sans-serif;
			font-size:80px;
			font-weight: 700;
			text-align:center;
			line-height: 1.4;
			letter-spacing: 0.01em;
			color: #0E6EB8;
		}
		.business h2 {
			font-size:20px;
			font-weight: 600;
			color: #60A1F1;
			text-align:center;
			line-height: 1.4;
			letter-spacing: 0.04em;
			margin-bottom: 60px;
		}
	.business div.foodBusiness {
		margin: 0 50px 0 0;
		padding:80px 50px 80px 50px;
		background: #175298;
		border-radius: 0 60px 60px 0;
		margin-bottom: 70px;
	}
		.business div.foodBusiness div.inner {
			width:100%;
			max-width:1150px;
			margin: 0 auto;
		}
			.business div.foodBusiness div.inner p.number {
				font-family: "Lato", sans-serif;
				font-size:18px;
				font-weight: 700;
				line-height: 1;
				letter-spacing: 0.04em;
				color: #A3C5EF;
				margin-bottom: 3px;
			}
				.business div.foodBusiness div.inner p.number span {
					position: relative;
					font-size:130%;
					vertical-align: middle;
					border-left:1px solid #A3C5EF;
					padding-left:16px;
					margin-left: 16px;
					top:-2px;
				}
			.business div.foodBusiness div.inner h3 {
				font-size:40px;
				font-weight: 600;
				color: #FFF;
				line-height: 1.5;
				letter-spacing: 0.04em;
				margin-bottom: 50px;
			}
			.business div.foodBusiness div.inner ul.businessList {
				width:100%;
			}
				.business div.foodBusiness div.inner ul.businessList > li {
					width:100%;
					display: flex;
					justify-content: space-between;
					margin-bottom: 60px;
				}
				.business div.foodBusiness div.inner ul.businessList > li:last-child {
					margin-bottom: 0;
				}
					.business div.foodBusiness div.inner ul.businessList > li div.left {
						width:33%;
					}
						.business div.foodBusiness div.inner ul.businessList > li div.left img.photo {
							display: block;
							width:100%;
							border-radius: 20px;
						}
					.business div.foodBusiness div.inner ul.businessList > li div.right {
						width:60%;
					}
						.business div.foodBusiness div.inner ul.businessList > li div.right h4 {
							font-size:28px;
							font-weight: 600;
							line-height: 1.6;
							letter-spacing: 0.04em;
							color: #FFF;
							margin-bottom: 20px;
						}
						.business div.foodBusiness div.inner ul.businessList > li div.right p.read {
							color: #FFF;
							margin-bottom: 30px;
						}
						.business div.foodBusiness div.inner ul.businessList > li div.right div.box {
							width:100%;
							padding:25px 35px;
							background: rgba(255, 255, 255, .16);
							border-radius: 8px;
							margin-bottom: 30px;
						}
							.business div.foodBusiness div.inner ul.businessList > li div.right div.box ul li {
								position: relative;
								color: #FFF;
								padding-left:1.2em;
								margin-bottom: 5px;
							}
							.business div.foodBusiness div.inner ul.businessList > li div.right div.box ul li:last-child {
								margin-bottom: 0;
							}
								.business div.foodBusiness div.inner ul.businessList > li div.right div.box ul li:before {
									position: absolute;
									content:"";
									width:8px;
									height: 8px;
									background: #DFA936;
									border-radius: 50%;
									top:14px;
									left:0;
								}

	.business div.recruitmentBusiness {
		margin: 0 0 0 50px;
		padding:80px 50px 80px 50px;
		background: #0E6EB8;
		border-radius: 60px 0 0 60px;
	}
		.business div.recruitmentBusiness div.inner {
			width:100%;
			max-width:1150px;
			margin: 0 auto;
		}
			.business div.recruitmentBusiness div.inner p.number {
				font-family: "Lato", sans-serif;
				font-size:18px;
				font-weight: 700;
				line-height: 1;
				letter-spacing: 0.04em;
				color: #A3C5EF;
				margin-bottom: 3px;
			}
				.business div.recruitmentBusiness div.inner p.number span {
					position: relative;
					font-size:130%;
					vertical-align: middle;
					border-left:1px solid #A3C5EF;
					padding-left:16px;
					margin-left: 16px;
					top:-2px;
				}
			.business div.recruitmentBusiness div.inner h3 {
				font-size:40px;
				font-weight: 600;
				color: #FFF;
				line-height: 1.5;
				letter-spacing: 0.04em;
				margin-bottom: 50px;
			}
			.business div.recruitmentBusiness div.inner ul.businessList {
				width:100%;
			}
				.business div.recruitmentBusiness div.inner ul.businessList > li {
					width:100%;
					display: flex;
					justify-content: space-between;
					padding:40px 50px;
					background: rgba(255, 255, 255, .12);
					border-radius: 16px;
					margin-bottom: 60px;
				}
				.business div.recruitmentBusiness div.inner ul.businessList > li:last-child {
					margin-bottom: 0;
				}
					.business div.recruitmentBusiness div.inner ul.businessList > li div.left {
						width:220px;
					}
						.business div.recruitmentBusiness div.inner ul.businessList > li div.left img.icon {
							display: block;
							width:160px;
						}
					.business div.recruitmentBusiness div.inner ul.businessList > li div.right {
						width:calc(100% - 220px);
					}
						.business div.recruitmentBusiness div.inner ul.businessList > li div.right h4 {
							font-size:28px;
							font-weight: 600;
							line-height: 1.6;
							letter-spacing: 0.04em;
							color: #FFF;
							margin-bottom: 20px;
						}
						.business div.recruitmentBusiness div.inner ul.businessList > li div.right p.read {
							color: #FFF;
							margin-bottom: 30px;
						}
						.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail {
							margin-bottom: 30px;
						}
							.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail h5 {
								position: relative;
								display: inline-block;
								font-size:20px;
								font-weight: 600;
								line-height: 1.4;
								letter-spacing: 0.04em;
								vertical-align: top;
								color: #143578;
								padding:0.6em 1em 0 1em;
								background: #DEF4FF;
								border-radius: 6px 6px 0 0;
							}
								.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail h5 svg {
									position: absolute;
									width:10px;
									height: 10px;
									bottom:0;
									right: -10px;
								}
							.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail div.box {
								width:100%;
								padding:25px 35px;
								background: #DEF4FF;
								border-radius: 0 6px 6px 6px;
							}
								.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail div.box ul {
									display: flex;
									justify-content: space-between;
									flex-wrap: wrap;
								}
									.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail div.box ul li {
										width:49%;
										position: relative;
										padding-left:1.1em;
										margin-bottom: 5px;
									}
									.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail div.box ul li:last-child {
										margin-bottom: 0;
									}
										.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail div.box ul li:before {
											position: absolute;
											content:"";
											width:8px;
											height: 8px;
											background: #DFA936;
											border-radius: 50%;
											top:14px;
											left:0;
										}

p.linkBtn {
	text-align: center;
}
	p.linkBtn a {
		display: inline-block;
		padding:10px 10px 10px 40px;
		font-size:18px;
		font-weight: 600;
		color: #FFF;
		background: #143578;
		border-radius: 40px;
		transition:.4s;
	}
	p.linkBtn.bgBlue a {
		background: #0E6EB8;
	}
		p.linkBtn a span {
			display: inline-block;
			width:40px;
			height: 40px;
			background: #FFF;
			border-radius: 50%;
			line-height: 40px;
			text-align: center;
			margin-left: 1em;
		}
			p.linkBtn a span i {
				font-size:16px;
				color: #143578;
				line-height: 40px;
				transition:.4s;
			}
			p.linkBtn.bgBlue a span i {
				color: #0E6EB8;
			}
		p.linkBtn a:hover {
			background: #60A1F1;
			transform: scale(1.05);
		}
			p.linkBtn a:hover span i {
				color: #60A1F1;
			}

@media screen and (max-width:1039px){
.business {
	padding:50px 0 50px 0;
}
	.business p.enTit {
		font-size:64px;
	}
	.business h2 {
		font-size:18px;
		margin-bottom: 50px;
	}
	.business div.foodBusiness {
		margin: 0 30px 0 0;
		padding:60px 30px 60px 30px;
		border-radius: 0 50px 50px 0;
		margin-bottom: 60px;
	}
			.business div.foodBusiness div.inner p.number {
				font-size:16px;
				margin-bottom: 2px;
			}
				.business div.foodBusiness div.inner p.number span {
					top:-1px;
				}
			.business div.foodBusiness div.inner h3 {
				font-size:34px;
				margin-bottom: 40px;
			}
				.business div.foodBusiness div.inner ul.businessList > li {
					margin-bottom: 50px;
				}
				.business div.foodBusiness div.inner ul.businessList > li:last-child {
					margin-bottom: 0;
				}
					.business div.foodBusiness div.inner ul.businessList > li div.left {
						width:34%;
					}
						.business div.foodBusiness div.inner ul.businessList > li div.left img.photo {
							border-radius: 16px;
						}
						.business div.foodBusiness div.inner ul.businessList > li div.right h4 {
							font-size:24px;
						}
						.business div.foodBusiness div.inner ul.businessList > li div.right div.box {
							padding:20px 30px;
							border-radius: 6px;
						}
								.business div.foodBusiness div.inner ul.businessList > li div.right div.box ul li:before {
									top:13px;
								}
	
	.business div.recruitmentBusiness {
		margin: 0 0 0 30px;
		padding:60px 30px 60px 30px;
		border-radius: 50px 0 0 50px;
	}
			.business div.recruitmentBusiness div.inner p.number {
				font-size:16px;
				margin-bottom: 2px;
			}
				.business div.recruitmentBusiness div.inner p.number span {
					top:-1px;
				}
			.business div.recruitmentBusiness div.inner h3 {
				font-size:34px;
				margin-bottom: 40px;
			}
				.business div.recruitmentBusiness div.inner ul.businessList > li {
					padding:30px 30px;
					border-radius: 12px;
					margin-bottom: 50px;
				}
				.business div.recruitmentBusiness div.inner ul.businessList > li:last-child {
					margin-bottom: 0;
				}
					.business div.recruitmentBusiness div.inner ul.businessList > li div.left {
						width:180px;
					}
						.business div.recruitmentBusiness div.inner ul.businessList > li div.left img.icon {
							width:140px;
						}
					.business div.recruitmentBusiness div.inner ul.businessList > li div.right {
						width:calc(100% - 180px);
					}
						.business div.recruitmentBusiness div.inner ul.businessList > li div.right h4 {
							font-size:24px;
						}
							.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail h5 {
								font-size:18px;
							}
							.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail div.box {
								padding:15px 25px;
							}
										.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail div.box ul li:before {
											top:12px;
										}

	p.linkBtn a {
		font-size:16px;
	}
		p.linkBtn a:hover {
			background: #143578;
			transform: none;
		}
		p.linkBtn.bgBlue a:hover {
			background: #0E6EB8;
		}
			p.linkBtn a:hover span i {
				color: #143578;
			}
			p.linkBtn.bgBlue a:hover span i {
				color: #0E6EB8;
			}
}

@media screen and (max-width:767px){
.business {
	padding:50px 0 50px 0;
}
	.business p.enTit {
		font-size:44px;
	}
	.business h2 {
		font-size:16px;
		margin-bottom: 40px;
	}
	.business div.foodBusiness {
		margin: 0 20px 0 0;
		padding:50px 20px 50px 20px;
		border-radius: 0 30px 30px 0;
		margin-bottom: 50px;
	}
			.business div.foodBusiness div.inner p.number {
				font-size:14px;
			}
			.business div.foodBusiness div.inner h3 {
				font-size:28px;
				margin-bottom: 40px;
			}
			.business div.foodBusiness div.inner ul.businessList {
				width:100%;
			}
				.business div.foodBusiness div.inner ul.businessList > li {
					width:100%;
					flex-wrap: wrap;
					margin-bottom: 60px;
				}
				.business div.foodBusiness div.inner ul.businessList > li:last-child {
					margin-bottom: 0;
				}
					.business div.foodBusiness div.inner ul.businessList > li div.left {
						width:100%;
						margin-bottom: 30px;
					}
						.business div.foodBusiness div.inner ul.businessList > li div.left img.photo {
							max-width:340px;
							border-radius: 12px;
							margin: 0 auto;
						}
					.business div.foodBusiness div.inner ul.businessList > li div.right {
						width:100%;
					}
						.business div.foodBusiness div.inner ul.businessList > li div.right h4 {
							font-size:20px;
							margin-bottom: 20px;
						}
						.business div.foodBusiness div.inner ul.businessList > li div.right div.box {
							padding:20px 20px;
						}
								.business div.foodBusiness div.inner ul.businessList > li div.right div.box ul li:before {
									width:6px;
									height: 6px;
								}
	
	.business div.recruitmentBusiness {
		margin: 0 0 0 20px;
		padding:50px 20px 30px 20px;
		border-radius: 30px 0 0 30px;
	}
			.business div.recruitmentBusiness div.inner p.number {
				font-size:14px;
			}
			.business div.recruitmentBusiness div.inner h3 {
				font-size:28px;
				margin-bottom: 40px;
			}
				.business div.recruitmentBusiness div.inner ul.businessList > li {
					flex-wrap: wrap;
					padding:30px 20px;
					border-radius: 10px;
					margin-bottom: 30px;
				}
				.business div.recruitmentBusiness div.inner ul.businessList > li:last-child {
					margin-bottom: 0;
				}
					.business div.recruitmentBusiness div.inner ul.businessList > li div.left {
						width:100%;
						margin-bottom: 30px;
					}
						.business div.recruitmentBusiness div.inner ul.businessList > li div.left img.icon {
							width:120px;
							margin: 0 auto;
						}
					.business div.recruitmentBusiness div.inner ul.businessList > li div.right {
						width:100%;
					}
						.business div.recruitmentBusiness div.inner ul.businessList > li div.right h4 {
							font-size:20px;
						}
							.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail h5 {
								font-size:16px;
								padding:0.6em 0.8em 0 0.8em;
							}
							.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail div.box {
								padding:15px 20px;
							}
									.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail div.box ul li {
										width:100%;
									}
										.business div.recruitmentBusiness div.inner ul.businessList > li div.right div.detail div.box ul li:before {
											width:6px;
											height: 6px;
										}

	p.linkBtn a {
		padding:10px 10px 10px 30px;
		font-size:14px;
	}
			p.linkBtn a span i {
				font-size:14px;
			}
}

@media screen and (max-width:360px){
	p.linkBtn a {
		padding:10px 10px 10px 20px;
		font-size:13px;
	}
		p.linkBtn a span {
			width:30px;
			height: 30px;
			line-height: 30px;
			margin-left: 0.6em;
		}
			p.linkBtn a span i {
				font-size:13px;
				line-height: 30px;
			}
}

/* !採用情報
---------------------------------------------------------- */
.recruit {
	width:100%;
	padding:60px 50px 120px 50px;
	overflow: hidden;
}
	.recruit div.inner {
		width:100%;
		max-width: 1200px;
		margin: 0 auto;
	}
		.recruit div.inner p.enTit {
			font-family: "Lato", sans-serif;
			font-size:80px;
			font-weight: 700;
			text-align:center;
			line-height: 1.4;
			letter-spacing: 0.01em;
			color: #0E6EB8;
		}
		.recruit div.inner h2 {
			font-size:20px;
			font-weight: 600;
			color: #60A1F1;
			text-align:center;
			line-height: 1.4;
			letter-spacing: 0.04em;
			margin-bottom: 60px;
		}
		.recruit div.inner div.intro {
			width:100%;
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-bottom: 100px;
		}
			.recruit div.inner div.intro div.left {
				width:52%;
			}
				.recruit div.inner div.intro div.left h3.copy {
					font-size:32px;
					font-weight: 600;
					color: #175298;
					line-height: 1.6;
					margin-bottom: 30px;
				}
				.recruit div.inner div.intro div.left h4.subCopy {
					font-size:20px;
					font-weight: 600;
					margin-bottom: 30px;
				}
				.recruit div.inner div.intro div.left p.read {
					margin-bottom: 30px;
				}
				.recruit div.inner div.intro div.left p:last-child.read {
					margin-bottom: 0;
				}
			.recruit div.inner div.intro div.right {
				width:42%;
			}
				.recruit div.inner div.intro div.right img.pic {
					display: block;
					width:100%;
				}
		.recruit div.inner div.requirements {
			width:100%;
			display: flex;
			justify-content: space-between;
			margin-bottom: 60px;
		}
			.recruit div.inner div.requirements div.detail {
				width:48%;
				padding:40px 40px;
				background: #EEF7FC;
				border-radius: 16px;
			}
				.recruit div.inner div.requirements div.detail h3 {
					font-size: 24px;
					font-weight: 600;
					color: #175298;
					line-height: 1.6;
					text-align: center;
					margin-bottom: 25px;
				}
				.recruit div.inner div.requirements div.detail h4 {
					font-size: 18px;
					font-weight: 600;
					line-height: 1.6;
					margin-bottom: 10px;
				}
				.recruit div.inner div.requirements div.detail ul.list {
					margin-bottom: 25px;
				}
					.recruit div.inner div.requirements div.detail ul.list li {
						position: relative;
						padding-left: 1.2em;
						margin-bottom: 5px;
					}
						.recruit div.inner div.requirements div.detail ul.list li:before {
							position: absolute;
							content:"";
							width:8px;
							height: 8px;
							background: #DFA936;
							border-radius: 50%;
							top:14px;
							left: 0;
						}
		.recruit div.inner div.entry {
			width:100%;
		}
			.recruit div.inner div.entry h3 {
				font-size: 24px;
				font-weight: 600;
				color: #175298;
				line-height: 1.6;
				text-align: center;
				margin-bottom: 25px;
			}
			.recruit div.inner div.entry p.read {
				text-align: center;
				margin-bottom: 50px;
			}

@media screen and (max-width:1039px){
.recruit {
	padding:50px 30px 100px 30px;
}
		.recruit div.inner p.enTit {
			font-size:64px;
		}
		.recruit div.inner h2 {
			font-size:18px;
			margin-bottom: 50px;
		}
		.recruit div.inner div.intro {
			margin-bottom: 80px;
		}
				.recruit div.inner div.intro div.left h3.copy {
					font-size:28px;
					margin-bottom: 25px;
				}
				.recruit div.inner div.intro div.left h4.subCopy {
					font-size:18px;
					margin-bottom: 25px;
				}
				.recruit div.inner div.intro div.left p.read {
					margin-bottom: 25px;
				}
		.recruit div.inner div.requirements {
			margin-bottom: 50px;
		}
			.recruit div.inner div.requirements div.detail {
				padding:35px 30px;
			}
				.recruit div.inner div.requirements div.detail h3 {
					font-size: 20px;
				}
				.recruit div.inner div.requirements div.detail h4 {
					font-size: 16px;
				}
						.recruit div.inner div.requirements div.detail ul.list li:before {
							top:12px;
						}
			.recruit div.inner div.entry h3 {
				font-size: 20px;
			}
			.recruit div.inner div.entry p.read {
				margin-bottom: 40px;
			}
}

@media screen and (max-width:767px){
.recruit {
	padding:50px 25px 80px 25px;
}
		.recruit div.inner p.enTit {
			font-size:44px;
		}
		.recruit div.inner h2 {
			font-size:16px;
			margin-bottom: 40px;
		}
		.recruit div.inner div.intro {
			flex-wrap: wrap;
			margin-bottom: 60px;
		}
			.recruit div.inner div.intro div.left {
				width:100%;
				margin-bottom: 40px;
			}
				.recruit div.inner div.intro div.left h3.copy {
					font-size:20px;
				}
				.recruit div.inner div.intro div.left h4.subCopy {
					font-size:16px;
				}
			.recruit div.inner div.intro div.right {
				width:100%;
			}
				.recruit div.inner div.intro div.right img.pic {
					max-width:280px;
					margin: 0 auto;
				}
		.recruit div.inner div.requirements {
			flex-wrap: wrap;
			margin-bottom: 40px;
		}
			.recruit div.inner div.requirements div.detail {
				width:100%;
				padding:35px 20px;
				border-radius: 12px;
				margin-bottom: 30px;
			}
			.recruit div.inner div.requirements div.detail:last-child {
				margin-bottom: 0;
			}
				.recruit div.inner div.requirements div.detail h3 {
					font-size: 18px;
					margin-bottom: 25px;
				}
				.recruit div.inner div.requirements div.detail h4 {
					font-size: 15px;
				}
				.recruit div.inner div.requirements div.detail ul.list {
					margin-bottom: 25px;
				}
					.recruit div.inner div.requirements div.detail ul.list li {
						position: relative;
						padding-left: 1.2em;
						margin-bottom: 5px;
					}
						.recruit div.inner div.requirements div.detail ul.list li:before {
							width:6px;
							height: 6px;
							top:12px;
						}
			.recruit div.inner div.entry h3 {
				font-size: 18px;
			}
			.recruit div.inner div.entry p.read {
				text-align: left;
				margin-bottom: 40px;
			}
}

/* !会社概要
---------------------------------------------------------- */
.company {
	width:100%;
	padding:0 50px 120px 50px;
	overflow: hidden;
}
	.company div.inner {
		width:100%;
		max-width: 1200px;
		margin: 0 auto;
	}
		.company div.inner div.bg {
			width:100%;
			display: flex;
			margin-bottom: 80px;
		}
			.company div.inner div.bg div {
				width:100%;
				height: 3px;
				overflow: hidden;
				position: relative;
				z-index: 1;
			}
			.company div.inner div.bg div:first-child {
				background: #0E6EB8;
			}
				.company div.inner div.bg div:first-child:before {
					background: #FFF;
					content: '';
					display: block;
					height: 3px;
					position: absolute;
					transform: translateX(0);
					transition:all 0.8s 0s ease; 
					width: 100%;
					z-index: 2;
				}
				.company div.inner div.bg div:first-child.is-show:before {
					transform: translateX(100%); 
				}
			.company div.inner div.bg div:nth-child(2) {
				background: #60A1F1;
			}
				.company div.inner div.bg div:nth-child(2):before {
					background: #FFF;
					content: '';
					display: block;
					height: 3px;
					position: absolute;
					transform: translateX(0);
					transition:all 0.8s 0.3s ease; 
					width: 100%;
					z-index: 2;
				}
				.company div.inner div.bg div:nth-child(2).is-show:before {
					transform: translateX(100%); 
				}
			.company div.inner div.bg div:nth-child(3) {
				background: #143578;
			}
				.company div.inner div.bg div:nth-child(3):before {
					background: #FFF;
					content: '';
					display: block;
					height: 3px;
					position: absolute;
					transform: translateX(0);
					transition:all 0.8s 0.6s ease; 
					width: 100%;
					z-index: 2;
				}
				.company div.inner div.bg div:nth-child(3).is-show:before {
					transform: translateX(100%); 
				}
		.company div.inner p.enTit {
			font-family: "Lato", sans-serif;
			font-size:80px;
			font-weight: 700;
			text-align:center;
			line-height: 1.4;
			letter-spacing: 0.01em;
			color: #0E6EB8;
		}
		.company div.inner h2 {
			font-size:20px;
			font-weight: 600;
			color: #60A1F1;
			text-align:center;
			line-height: 1.4;
			letter-spacing: 0.04em;
			margin-bottom: 60px;
		}
		.company div.inner div.profile {
			width:100%;
			padding:60px 70px;
			background: #F1F3F5;
			border-radius: 30px;
			margin-bottom: 20px;
		}
			.company div.inner div.profile table {
				width: 100%;
				border-collapse:collapse;
			}
				.company div.inner div.profile table th,
				.company div.inner div.profile table td {
					position: relative;
					padding: 1.6em 0;
					border-bottom: 1px solid #D2D6DF;
				}
					.company div.inner div.profile table th:before {
						position: absolute;
						content:"";
						width:20px;
						height: 1px;
						background: #0E6EB8;
						bottom:-1px;
						left:0;
					}
				.company div.inner div.profile table th {
					width:22%;
					vertical-align:top;
					font-weight: 600;
				}
				.company div.inner div.profile table td {
					width:78%;
					vertical-align:top;
				}
		.company div.inner div.gallery-container {
			width:100%;
			display: grid;
			/* 左右1:1の比率 */
			grid-template-columns: 1fr 1fr;
			/* 各行（右側の各写真）の高さを350pxに指定 
				これで全体の高さは 350 + 20(gap) + 350 = 720px になります  */
			grid-template-rows: 350px 350px;
			/* 隙間を20px */
			gap: 20px;
			width: 100%;
		}
		/* 左側の大きな画像：2行分を結合 */
		.company div.inner div.gallery-container div.item-large {
			grid-row: 1 / 3;
		}
		/* 画像自体の設定 */
		.company div.inner div.gallery-container div.item img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			border-radius: 30px;
			display: block;
		}

@media screen and (max-width:1039px){
.company {
	padding:0 30px 100px 30px;
}
		.company div.inner div.bg {
			margin-bottom: 70px;
		}
		.company div.inner p.enTit {
			font-size:64px;
		}
		.company div.inner h2 {
			font-size:18px;
			margin-bottom: 50px;
		}
		.company div.inner div.profile {
			padding:40px 40px;
			border-radius: 26px;
			margin-bottom: 20px;
		}
				.company div.inner div.profile table th {
					width:25%;
				}
				.company div.inner div.profile table td {
					width:75%;
				}
		.company div.inner div.gallery-container {
			grid-template-rows: 280px 280px;
			gap: 15px;
		}
		.company div.inner div.gallery-container div.item img {
			border-radius: 26px;
		}
}

@media screen and (max-width:767px){
.company {
	padding:0 25px 80px 25px;
}
		.company div.inner div.bg {
			margin-bottom: 50px;
		}
		.company div.inner p.enTit {
			font-size:44px;
		}
		.company div.inner h2 {
			font-size:16px;
			margin-bottom: 40px;
		}
		.company div.inner div.profile {
			padding:20px 20px 30px 20px;
			border-radius: 16px;
			margin-bottom: 15px;
		}
			.company div.inner div.profile table {
				width: 100%;
			}
				.company div.inner div.profile table,
				.company div.inner div.profile table tbody,
				.company div.inner div.profile table tr,
				.company div.inner div.profile table th,
				.company div.inner div.profile table td {
					width: 100%;
					display: block;
				}
					.company div.inner div.profile table th:before {
						display: none;
					}
					.company div.inner div.profile table td:before {
						position: absolute;
						content:"";
						width:20px;
						height: 1px;
						background: #0E6EB8;
						bottom:-1px;
						left:0;
					}
				.company div.inner div.profile table th {
					font-weight:bold;
					padding: 1.2em 0 0 0;
					border-bottom:0;
				}
				.company div.inner div.profile table td {
					padding: 0.6em 0 1.2em 0;
					border-bottom:1px solid #D2D6DF;
				}
		.company div.inner div.gallery-container {
			grid-template-columns: 1fr;
			grid-template-rows: auto;
			/* スマホ時は固定高さを解除 */
			height: auto;
		}
		.company div.inner div.gallery-container div.item-large {
			grid-row: auto;
		}
		.company div.inner div.gallery-container div.item img {
			height: 240px;
			border-radius: 16px;
		}
}

/* !お問い合わせ
---------------------------------------------------------- */
#contact {
	width:100%;
	position: relative;
	overflow: hidden;
}
	#contact div.bgTop {
		display: block;
		width:100%;
		height: auto;
	}
		#contact div.bgTop svg {
			display: block;
			position: relative;
			bottom:-1px;
		}
.contact {
	width:100%;
	padding:60px 50px 120px 50px;
	background: #EEF7FC;
}
.contact.conf {
	padding-top:150px;
}
	.contact div.inner {
		width:100%;
		max-width: 1000px;
		margin: 0 auto;
	}
		.contact div.inner p.enTit {
			font-family: "Lato", sans-serif;
			font-size:80px;
			font-weight: 700;
			text-align:center;
			line-height: 1.4;
			letter-spacing: 0.01em;
			color: #0E6EB8;
		}
		.contact div.inner h2 {
			font-size:20px;
			font-weight: 600;
			color: #60A1F1;
			text-align:center;
			line-height: 1.4;
			letter-spacing: 0.04em;
			margin-bottom: 60px;
		}
		.contact div.inner h3 {
			font-size:26px;
			font-weight: 600;
			line-height: 1.6;
			letter-spacing: 0.04em;
			padding-left:0.6em;
			border-left:5px solid #0E6EB8;
			margin-bottom: 40px;
		}
		.contact div.inner p.read {
			margin-bottom: 50px;
		}
		.contact div.inner div.formBox {
			width:100%;
			background: #FFF;
			padding:60px 70px;
			border-radius: 30px;
		}
			.contact div.inner div.formBox table {
				width: 100%;
				border-collapse:collapse;
				margin-bottom: 20px;
			}
				.contact div.inner div.formBox table th,
				.contact div.inner div.formBox table td {
					position: relative;
					padding: 1.6em 0;
				}
				.contact div.inner div.formBox table th {
					width:25%;
					vertical-align:top;
					font-weight: 600;
				}
				.contact div.inner div.formBox table td {
					width:75%;
					vertical-align:top;
				}

@media screen and (max-width:1039px){
.contact {
	padding:50px 30px 100px 30px;
}
.contact.conf {
	padding-top:140px;
}
		.contact div.inner p.enTit {
			font-size:64px;
		}
		.contact div.inner h2 {
			font-size:18px;
			margin-bottom: 50px;
		}
		.contact div.inner div.formBox {
			padding:40px 40px;
			border-radius: 26px;
		}
				.contact div.inner div.formBox table th {
					width:30%;
				}
				.contact div.inner div.formBox table td {
					width:70%;
				}
}

@media screen and (max-width:767px){
.contact {
	padding:40px 25px 80px 25px;
}
.contact.conf {
	padding-top:120px;
}
		.contact div.inner p.enTit {
			font-size:44px;
		}
		.contact div.inner h2 {
			font-size:16px;
			margin-bottom: 40px;
		}
		.contact div.inner div.formBox {
			padding:20px 20px 30px 20px;
			border-radius: 16px;
		}
			.contact div.inner div.formBox table {
				width: 100%;
			}
				.contact div.inner div.formBox table,
				.contact div.inner div.formBox table tbody,
				.contact div.inner div.formBox table tr,
				.contact div.inner div.formBox table th,
				.contact div.inner div.formBox table td {
					width: 100%;
					display: block;
				}
				.contact div.inner div.formBox table th {
					font-weight:bold;
					padding: 1.2em 0 0 0;
					border-bottom:0;
				}
				.contact div.inner div.formBox table td {
					padding: 0.6em 0 1.2em 0;
				}
}

/* !ページ内リンク設定
---------------------------------------------------------- */
.linkInPage {
	margin-top:-85px;
	padding-top:85px;
}

@media screen and (max-width:767px){
.linkInPage {
	margin-top:-65px;
	padding-top:65px;
}
}

/* !pageTop
---------------------------------------------------------- */
.pagetop {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 99;
}
	.pagetop a {
		display: block;
		width: 50px;
		height: 50px;
		background-color: #0E6EB8;
		border-radius:50%;
		text-indent:-9999px;
		transition: all 0.2s ease;
		position:relative;
	}
		.pagetop a:before{
			position:absolute;
			content:"";
			display: inline-block;
			width: 8px;
			height: 8px;
			margin: 0 10px;
			border-top: 2px solid #FFF;
			border-left: 2px solid #FFF;
			transform: rotate(45deg);
			top:24px;
			left:10px;
			transition:.2s;
		}
			.pagetop a:hover:before{
				top:20px;
			}
	
@media screen and (max-width:1039px){
.pagetop {
	bottom: 15px;
	right: 15px;
}
			.pagetop a:hover:before{
				top:24px;
			}
}

@media screen and (max-width:767px){
.pagetop {
	bottom: 10px;
	right: 10px;
}
	.pagetop a {
		width: 44px;
		height: 44px;
	}
		.pagetop a:before{
			top:20px;
			left:7px;
		}
			.pagetop a:hover:before{
				top:20px;
			}
}

/* !footer
---------------------------------------------------------- */
#footer {
	width: 100%;
	background: #EEF7FC;
	overflow:hidden;
}
	#footer div.footer {
		width: 100%;
		background: #3F4756;
		padding: 100px 50px 30px 50px;
		border-radius: 60px 60px 0 0;
	}
		#footer div.footer div.inner {
			width: 100%;
			max-width:1200px;
			margin: 0 auto;
			display: flex;
			justify-content: space-between;
			position:relative;
		}
			#footer div.footer div.inner div.left {
				width: calc(100% - 400px);
			}
				#footer div.footer div.inner div.left a.footerLogo {
					display: block;
					width:200px;
					padding:10px 20px;
					background: #FFF;
					border-radius: 6px;
					margin-bottom: 20px;
				}
					#footer div.footer div.inner div.left a.footerLogo img {
						display: block;
						width:100%;
					}
				#footer div.footer div.inner div.left p.footerName {
					font-size:18px;
					font-weight: 600;
					color: #FFF;
					letter-spacing: 0.04em;
					margin-bottom: 10px;
				}
				#footer div.footer div.inner div.left p.add {
					font-size:14px;
					color: #FFF;
				}
			#footer div.footer div.inner div.right {
				width: 400px;
			}
				#footer div.footer div.inner div.right ul.footerLinks {
					width: 100%;
					display: flex;
					flex-wrap: wrap;
					justify-content: space-between;
				}
				#footer div.footer div.inner div.right ul.footerLinks li {
					width: 150px;
					margin-bottom: 15px;
				}
					#footer div.footer div.inner div.right ul.footerLinks li a {
						color:#FFF;
						transition: .5s;
					}
					#footer div.footer div.inner div.right ul.footerLinks li a:hover {
						color:#60A1F1;
					}
		#footer div.footer p.copyright {
			width:100%;
			max-width:1200px;
			font-family: "Lato", sans-serif;
			font-size:14px;
			font-weight:700;
			text-align:center;
			color:#FFF;
			padding-top:1.8em;
			border-top:1px solid #565D6B;
			letter-spacing:0.06em;
			margin: 50px auto 0 auto;
		}

@media screen and (max-width:1039px){
	#footer div.footer {
		padding: 70px 30px 30px 30px;
		border-radius: 50px 50px 0 0;
	}
			#footer div.footer div.inner div.left {
				width: calc(100% - 320px);
			}
				#footer div.footer div.inner div.left a.footerLogo {
					width:180px;
				}
				#footer div.footer div.inner div.left p.footerName {
					font-size:16px;
				}
				#footer div.footer div.inner div.left p.add {
					font-size:13px;
				}
			#footer div.footer div.inner div.right {
				width: 320px;
			}
				#footer div.footer div.inner div.right ul.footerLinks li {
					width: 120px;
				}
					#footer div.footer div.inner div.right ul.footerLinks li a {
						font-size:14px;
					}
					#footer div.footer div.inner div.right ul.footerLinks li a:hover {
						color:#FFF;
					}
}

@media screen and (max-width:767px){
	#footer div.footer {
		padding: 50px 20px 20px 20px;
		border-radius: 40px 40px 0 0;
	}
		#footer div.footer div.inner {
			width: 100%;
			max-width:1200px;
			margin: 0 auto;
			flex-wrap: wrap;
			position:relative;
		}
			#footer div.footer div.inner div.left {
				width: 100%;
				margin-bottom: 40px;
			}
				#footer div.footer div.inner div.left a.footerLogo {
					width:160px;
					padding:12px 20px;
					margin: 0 auto 25px auto;
				}
				#footer div.footer div.inner div.left p.footerName {
					font-size:15px;
					text-align: center;
				}
				#footer div.footer div.inner div.left p.add {
					text-align: center;
				}
			#footer div.footer div.inner div.right {
				width: 100%;
			}
				#footer div.footer div.inner div.right ul.footerLinks {
					width: 100%;
					display: flex;
					flex-wrap: wrap;
					justify-content: space-between;
				}
				#footer div.footer div.inner div.right ul.footerLinks li {
					width: 50%;
					text-align: center;
					margin-bottom: 20px;
				}
					#footer div.footer div.inner div.right ul.footerLinks li a {
						font-size:14px;
					}
		#footer div.footer p.copyright {
			font-size:12px;
			padding-top:1.8em;
			margin: 20px auto 0 auto;
		}
}

@media screen and (max-width:359px){
				#footer div.footerBtm div.inner div.left p.add br {
					display: inherit;
				}
}

/*フォーム--------------------------------------*/
span.label {
	display:inline-block;
	padding:1px 5px;
	background-color:#DFA936;
	color:#FFF;
	font-size:10px;
	margin-left:7px;
	border-radius: 4px;
	opacity: 1;
}

input.norm {
	width:100%;
	background:#EEEFF3;
	padding:0.8em;
	border: 0;
	border-radius: 6px;
}

input.short {
	width:50%;
	background:#EEEFF3;
	padding:0.8em;
	border: 0;
	border-radius: 6px;
}

input.exshort {
	width:30%;
	background:#EEEFF3;
	padding:0.8em;
	border: 0;
	border-radius: 6px;
}

select {
	border:1px solid #EEEFF3;
	padding:0.8em;
}
	select option{
		margin-bottom:5px;
	}

textarea.norm {
	width:100%;
	height:150px;
	background:#EEEFF3;
	padding:0.8em;
	border: 0;
	border-radius: 6px;
}

label.check {
	display:inline-block;
	padding:0.8em;
	background:#EEEFF3;
}

input.btn_submit {
	padding:1em 2em;
	font-size:18px;
	font-weight: 600;
	background:#0E6EB8;
	color:#FFF;
	border-radius: 40px;
	transition: all 0.5s ease;
	margin-right: 1em;
}
	input.btn_submit:hover {
		background: #60A1F1;
	}

input.btn_back {
	font-size:18px;
	font-weight: 600;
	background:#A3ABBD;
	padding:1em 2em;
	color:#FFF;
	border-radius: 40px;
	transition: all 0.5s ease;
}
	input.btn_back:hover {
		background: #C1CAD6;
	}

input:focus:not([type="submit"]):not([type="reset"]):not([type="button"]),
textarea:focus {
	outline: none;
	border:1px solid #60A1F1;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
	transition: all 0.2s;
	transform: translateY(-2px);
}

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

@media screen and (max-width:1039px){
	input.btn_submit:hover {
		background:#0E6EB8;
	}

	input.btn_back:hover {
		background:#A3ABBD;
	}
}

@media screen and (max-width:767px){
input.norm {
	width:100%;
}

input.short {
	width:70%;
}

input.exshort {
	width:50%;
}

label.check {
	width:100%;
}

textarea.norm {
	width:100%;
}

input.btn_submit {
	font-size:14px;
}

input.btn_back {
	font-size:14px;
}

input.btn_submit {
	padding:1em 1.6em;
	font-size:15px;
	margin-right: 0.4em;
}

input.btn_back {
	padding:1em 1.6em;
	font-size:15px;
}
}

@media screen and (max-width:360px){
input.btn_submit {
	padding:1em 1.2em;
	font-size:14px;
}

input.btn_back {
	padding:1em 1.2em;
	font-size:14px;
}
}