@charset "utf-8";

/*==============================================================================
  
 【page.css】- ページ別スタイルシート
  
  各ページスタイルを記述しています。
  
  <目次>
   # ホーム
   # 下層ページ共通
   # 
   # 
   # 
   # 
   # 
   # 
   # 
   # Form
   # Footer

==============================================================================*/

/*--------------------------------------
  # ホーム
--------------------------------------*/
#top div#contents .node {
  opacity: 0;
  transition: 1s;
  transform: translateY(20px);
}
#top div#contents .node.show {
  opacity: 1;
  transform: translateY(0);
}

/* FEATURE
--------------------*/
div#contents section.node#feature {
	padding-bottom: 0;
}
#feature h3.feature-title {
	position: relative;
	margin: 0 0 2rem;
	font-size: clamp(5.0rem, 16vw, 8.6rem);
	font-weight: 700;
	text-align: left;
	letter-spacing: 0;
	line-height: 1.2;
	z-index: 2;
}
#feature h3.feature-title span {
	display: inline-block;
	margin: 0 0 10px;
	padding: 0 30px 10px 50px;
	background: rgb(0,87,167);
	background: -moz-linear-gradient(left,  rgba(0,87,167,1) 0%, rgba(147,29,107,1) 100%);
	background: -webkit-linear-gradient(left,  rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	background: linear-gradient(to right,  rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0057a7', endColorstr='#931d6b',GradientType=1 );
	color: #FFF;
	white-space: nowrap;
	transition: 1s;
	transform: translateX(-100%) skew(-15deg,0);
	opacity: 0;
}
#feature.show h3.feature-title span {
	transform: translateX(-5%) skew(-15deg,0);
	opacity: 1;
}
#feature div.feature-text .feature-text-inner {
	padding: 0 20px;
	font-size: 1.8rem;
	font-weight: 700;
}
#feature div.feature-text .feature-text-inner .fc-blue {
	line-height: 1.3;
}
#feature div.feature-link ul {
	margin: 0 20px;
}
#feature div.feature-link ul.feature-link-bottom {
	margin-top: -28px;
}
#feature div.feature-link ul li {
	position: relative;
	padding: 60px 20px;
	background: #0057a7;
	color: #FFF;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
}
#feature div.feature-link ul li:before {
	content: '';
	position: absolute;
	z-index: -1;
}
#feature div.feature-link ul.feature-link-top li:nth-child(1) {
	margin-bottom: -28px;
	padding: 30px 20px 60px;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), 0% 100%);
}
#feature div.feature-link ul.feature-link-top li:nth-child(1):before {
	bottom: 0;
	right: 5px;
	width: 179px;
	height: 245px;
	background: url(../img/home/img01.png) no-repeat center bottom;
	background-size: 100% auto;
}
#feature div.feature-link ul.feature-link-top li:nth-child(2) {
	clip-path: polygon(0 30px, 100% 0, 100% 100%, 0 calc(100% - 30px));
}
#feature div.feature-link ul.feature-link-top li:nth-child(2):before {
	bottom: 20px;
	left: -50px;
	width: 209px;
	height: 270px;
	background: url(../img/home/img02.png) no-repeat center bottom;
	background-size: 100% auto;
}
#feature div.feature-link ul.feature-link-bottom li:nth-child(1) {
	clip-path: polygon(0 0, 100% 30px, 100% calc(100% - 30px), 0 100%);
}
#feature div.feature-link ul.feature-link-bottom li:nth-child(1):before {
	bottom: -20px;
	right: 0;
	width: 127px;
	height: 254px;
	background: url(../img/home/img03.png) no-repeat center bottom;
	background-size: 100% auto;
}
#feature div.feature-link ul.feature-link-bottom li:nth-child(2) {
	margin: -28px 0;
	clip-path: polygon(0 30px, 100% 0, 100% 100%, 0 calc(100% - 30px));
}
#feature div.feature-link ul.feature-link-bottom li:nth-child(2):before {
	bottom: 20px;
	left: -10px;
	width: 186px;
	height: 198px;
	background: url(../img/home/img05.png) no-repeat center bottom;
	background-size: 100% auto;
}
#feature div.feature-link ul.feature-link-bottom li:nth-child(3) {
	padding: 60px 20px;
	clip-path: polygon(0 0, 100% 30px, 100% calc(100% - 30px), 0 100%);
}
#feature div.feature-link ul li .number {
	font-size: 9.0rem;
	line-height: 1.2;
}
#feature div.feature-link ul li a {
	position: relative;
	display: block;
	width: 100%;
	margin: 1rem 0 0;
	padding: 5px 20px 8px;
	background: #FFF;
	color: #0057a7;
	font-size: 2.2rem;
	text-decoration: none;
	text-align: center;
	transition: 0.2s;
}
#feature div.feature-link ul li a:before {
	content: '';
	display: inline-block;
	margin: 0 5px 2px 0;
	width: 0;
	height: 0;
	border-left: 6px solid #0057a7;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
}








@media all and (max-width:600px) {
#feature div.feature-link ul li:nth-child(1) {
	text-align: left;
}
#feature div.feature-link ul li:nth-child(2) {
	text-align: right;
}
}
@media all and (min-width:950px) {
div#contents section.node#feature {
	padding-top: 0;
}
#feature div.feature-wrapper {
	display: flex;
}
#feature div.feature-text {
	width: 455px;
}
#feature h3.feature-title span {
	padding: 0 60px 10px 80px;
}
#feature div.feature-text .feature-text-inner {
	padding: 0 5% 0 10%;
}
#feature div.feature-link {
	flex: 1;
	padding: 5% 80px 0 0;
}
#feature div.feature-link ul.feature-link-top li:nth-child(1) {
	padding: 30px 100px 60px 20px;
}
#feature div.feature-link ul.feature-link-top li:nth-child(2) {
	padding: 60px 20px 60px 100px;
}
#feature div.feature-link ul.feature-link-bottom li:nth-child(1) {
	padding: 60px 100px 60px 20px;
}
#feature div.feature-link ul.feature-link-bottom li:nth-child(2) {
	padding: 60px 20px 60px 100px;
}
#feature div.feature-link ul li a {
	display: inline-block;
	width: auto;
}
#feature div.feature-link ul li a:hover {
	background: #fff101;
}
}
@media all and (min-width:1200px) {

#feature div.feature-link ul {
	display: flex;
	margin: 0;
}
#feature div.feature-link ul.feature-link-top {
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 100px), 0% 100%);
}
#feature div.feature-link ul.feature-link-bottom {
	position: relative;
	margin-top: -98px;
	clip-path: polygon(0 100px, 100% 0, 100% calc(100% - 100px), 0% 100%);
}
#feature div.feature-link ul.feature-link-bottom:after {
	content: '';
	position: absolute;
	bottom: 35px;
	right: 20%;
	width: 186px!important;
	height: 198px;
	background: url(../img/home/img05.png) no-repeat center bottom;
	background-size: 100% auto;
	z-index: 1;
}
#feature div.feature-link ul li {
	font-size: min(1.6vw, 2.8rem);
}
#feature div.feature-link ul.feature-link-top li:nth-child(1) {
	width: 45%;
	margin: 0 -28px 0 0;
	padding: 30px 100px 60px 20px;
	clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 100%, 0 100%);
}
#feature div.feature-link ul.feature-link-top li:nth-child(1):before {
	bottom: 0;
	right: 20px;
}
#feature div.feature-link ul.feature-link-top li:nth-child(2) {
	width: calc(55% + 28px);
	padding: 30px 120px 100px 20px;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 30px 100%);
}
#feature div.feature-link ul.feature-link-top li:nth-child(2):before {
	bottom: 40px;
	left: auto;
	right: 0;
}
#feature div.feature-link ul.feature-link-bottom li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#feature div.feature-link ul.feature-link-bottom li:nth-child(1) {
	width: calc(35% + 28px);
	padding: 100px 20px 50px 100px;
	clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 100%, 0 100%);
}
#feature div.feature-link ul.feature-link-bottom li:nth-child(1):before {
	bottom: -30px;
	left: 10px;
	right: auto;
}
#feature div.feature-link ul.feature-link-bottom li:nth-child(2) {
	width: calc(35% + 28px);
	margin: 0 -28px;
	padding: 80px 50px 120px 20px;
	clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 100%, 30px 100%);
}
#feature div.feature-link ul.feature-link-bottom li:nth-child(2):before {
	display: none;
}
#feature div.feature-link ul.feature-link-bottom li:nth-child(3) {
	width: 30%;
	padding: 30px 20px 120px 30px;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 30px 100%);
}
#feature div.feature-link ul li a {
	font-size: min(1.4vw, 2.2rem);
}
}

/* TECHNIQUE
--------------------*/
div#contents section.node#technique {
	padding-bottom: 0;
	overflow: visible;
}
#technique div.technique-wrapper {
	position: relative;
	padding: 0 20px 40px;
	color: #FFF;
}
#technique div.technique-wrapper:before {
	content: '';
	position: absolute;
	top: 15%;
	bottom: -2%;
	left: 0;
	right: 0;
	background: rgb(0,87,167);
	background: -moz-linear-gradient(45deg,  rgba(0,87,167,1) 0%, rgba(147,29,107,1) 100%);
	background: -webkit-linear-gradient(45deg,  rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	background: linear-gradient(45deg,  rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0057a7', endColorstr='#931d6b',GradientType=1 );
	transform: skewY(-5deg);
	z-index: -1;
}
#technique div.technique-wrapper:after {
	content: '';
	position: absolute;
	top: 5%;
	left: -20%;
	width: 120%;
	height: 0;
	padding-top: 70%;
	background: url(../img/bg/deco.png) no-repeat right center;
	background-size: 100% auto;
	transform: scale(-1, 1) rotate(10deg);
	z-index: -1;
}
#technique div.en-title {
	position: relative;
	display: inline-block;
	margin-left: -20px;
	background: -webkit-linear-gradient(0deg, #0057a7, #931d6b);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: clamp(7.0rem, 16vw, 14.0rem);
	font-weight: 500;
	letter-spacing: 2px;
	z-index: 1;
}
#technique .technique-btn {
	margin: -10% -20px 0;
}
#technique .technique-btn li {
	width: 95%;
	margin-bottom: 20px;
	opacity: 0;
	transition: 1.2s;
}
#technique .technique-btn li:nth-child(odd) {
	margin-left: 5%;
}
#technique .technique-btn li a {
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding-top: 45%;
	color: #0057a7;
	font-size: 2.0rem;
	font-weight: 500;
	text-decoration: none;
	overflow: hidden;
}
#technique .technique-btn li a:before {
	content: '';
	position: absolute;
	top: 5px;
	bottom: 5px;
	left: 5px;
	right: 5px;
	border: 1px solid rgba(255,255,255,0.7);
	z-index: 0;
}
#technique .technique-btn li a img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	transform: translate(-50%, -50%);
	transition: 0.3s;
	z-index: -1;
}
#technique .technique-btn li a .text {
	position: absolute;
	bottom: 20px;
	padding: 3px 15px 6px 40px;
	background: #FFF;
	line-height: 1.2;
	counter-reset: section;
}
#technique .technique-btn li:nth-child(odd) a .text {
	left: 0;
}
#technique .technique-btn li:nth-child(even) a .text {
	right: 0;
}
#technique .technique-btn li a .text:before {
	counter-increment: number;
	content: "0" counter(number);
	position: absolute;
	top: 5px;
	left: 15px;
	font-size: 1.8rem;
}
#technique div.technique-wrapper h3 {
	color: #FFF;
  font-size: clamp(3.2rem, 4vw, 5.6rem);
	text-align: left;
	line-height: 1.2;
	transform: skew(-15deg,0);
}
#technique div.technique-wrapper a.detail-link {
	background: #FFF;
	color: #0057a7;
}
@media all and (max-width:949px) {
#technique .technique-btn li:nth-child(odd) {
	transform: translateX(100%);
}
#technique .technique-btn li:nth-child(even) {
	transform: translateX(-100%);
}
#technique .technique-btn li.show {
	opacity: 1;
	transform: translateX(0);
}
}
@media all and (min-width:950px) {
#technique div.technique-wrapper {
	padding: 0 80px;
}
#technique div.technique-wrapper:before {
	top: 30%;
	bottom: -6%;
}
#technique div.technique-wrapper:after {
	top: 5%;
	left: -10%;
	width: 80%;
	max-width: 1071px;
	padding-top: 40%;
	transform: scale(-1, 1) rotate(5deg);
}
#technique div.en-title {
	margin-left: 0;
}
#technique .technique-btn {
	display: flex;
	justify-content: space-between;
	margin: -7% 0 0;
}
#technique .technique-btn li {
	width: 23%;
	margin-bottom: 0;
	transform: translateY(60px);
}
#technique .technique-btn li:nth-child(odd) {
	margin-left: 0;
}
#technique .technique-btn li:nth-child(2) {
	margin-top: 5%;
}
#technique .technique-btn li:nth-child(3) {
	margin-top: -2.5%;
}
#technique .technique-btn li:nth-child(4) {
	margin-top: 2.5%;
}
#technique .technique-btn li.show {
	opacity: 1;
	transform: translateY(0);
}
#technique .technique-btn li a {
	padding-top: 160%;
	font-size: 2.2rem;
}
#technique .technique-btn li a:hover img {
	transform: translate(-50%, -50%) scale(1.2);
}
#technique .technique-btn li a .text {
	padding-bottom: 8px;
}
#technique .technique-btn li:nth-child(even) a .text {
	left: 0;
	right: auto;
}
#technique .technique-btn li a .text:before {
	top: 7px;
}
}

/* PHILOSOPHY
--------------------*/
div#contents section.node#philosophy {
	padding-top: 0;
	padding-bottom: 80px;
	z-index: 0;
}
#philosophy div.philosophy-img {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 100%;
	overflow: hidden;
}
#philosophy div.philosophy-img img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	transform: translate(-50%, -50%);
}
#philosophy div.philosophy-text {
	position: relative;
	padding: 60px 20px 0;
}
#philosophy div.philosophy-text .en-title {
	position: absolute;
	top: -0.2em;
	left: 0;
	color: #fff34a;
	font-size: clamp(7.0rem, 16vw, 12.0rem);
	font-weight: 500;
	letter-spacing: 2px;
	line-height: 1.2;
	text-shadow: 5px 5px 0px rgba(0,0,0,0.05);
	z-index: 0;
}
#philosophy div.philosophy-text h3 {
	position: relative;
	background: -webkit-linear-gradient(0deg, #0057a7, #931d6b);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 3.0rem;
	text-align: left;
	line-height: 1.2;
}
#philosophy div.philosophy-text p {
	position: relative;
}
@media all and (min-width:950px) {
div#contents section.node#philosophy {
	padding-bottom: 0;
}	
#philosophy div.philosophy-wrapper {
	display: flex;
}
#philosophy div.philosophy-img {
	width: 48%;
	padding-top: 68%;
}
#philosophy div.philosophy-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 52%;
	padding: 100px 80px;
}
#philosophy div.philosophy-text .en-title {
	top: 8%;
	left: -0.15em;
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-o-writing-mode: vertical-rl;
}
#philosophy div.philosophy-text h3 {
	font-size: 2.0vw;
	letter-spacing: 2px;
}
#philosophy div.philosophy-text h3 span {
	display: inline-block;
}
}

/* INTERVIEW
--------------------*/
div#contents section.node#interview {
	padding: 40px 20px 80px;
	background: #d7dce9;
	overflow: visible;
}
div#contents section.node#interview:after {
	content: '';
	position: absolute;
	top: -7.9vw;
	left: 0;
	border-bottom: 8vw solid #d7dce9;
	border-right: 100vw solid transparent;
	z-index: -2;
}
div#contents section.node#interview:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	border-bottom: 8vw solid #FFF;
	border-left: 100vw solid transparent;
}
#interview div.interview-wrapper:before {
	content: '';
	position: absolute;
	top: -5%;
	right: -10%;
	width: 120%;
	height: 0;
	padding-top: 70%;
	background: url(../img/bg/deco.png) no-repeat right center;
	background-size: 100% auto;
	transform: rotate(-5deg);
	z-index: -1;
}
div.interview-inner {
	position: relative;
	margin: 0 0 40px;
	z-index: 2;
}
div.interview-inner a {
	position: relative;
	display: block;
	text-decoration: none;
}
div.interview-inner p {
	margin: 0;
}
div.interview-inner div.interview-photo {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 75%;
	overflow: hidden;
	transform: skewY(-5deg);
}
div.interview-inner div.interview-photo:before,div.interview-inner div.interview-photo:after {
	content: '';
	position: absolute;
	top: 20%;
	left: 0;
	bottom: 0;
	width: 100%;
}
div.interview-inner div.interview-photo:before {
	width: 0;
	background: #fff34a;
	transition: 0.3s;
}
div.interview-inner div.interview-photo:after {
	background: #d7dce9;
	z-index: -1;
}
#interview div.interview-inner div.interview-photo:after {
	background: #FFF;
}
div.interview-inner div.interview-photo .en {
	position: absolute;
	top: 17%;
	left: 0;
	color: #0057a7;
	font-size: 6.0rem;
	font-weight: 500;
	opacity: 0.5;
	line-height: 1.1;
	transition: 0.3s;
}
div.interview-inner div.interview-photo .en span {
	display: inline-block;
}
div.interview-inner div.interview-photo .en span:first-child {
	margin-right: 0.2em;
}
div.interview-inner div.interview-photo img {
	position: absolute;
	bottom: -100%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	transform: translate(-50%, 0) skewY(5deg);
	opacity: 0;
  transition: 1s;
}
div.interview-inner.show div.interview-photo img {
	bottom: -3%;
	transition: 0.4s;
	opacity: 1;
}
div.interview-inner div.position {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: absolute;
	top: 0;
	right: 0;
	width: 70px;
	height: 70px;
	color: #FFF;
	font-size: min(4vw, 1.8rem);
	font-weight: 500;
	text-align: center;
	line-height: 1.2;
	border-radius: 100px;
}
div.interview-inner div.position.bg1 {	background: #55c1ce;}
div.interview-inner div.position.bg2 {	background: #82dca0;}
div.interview-inner div.position.bg3 {	background: #4e96de;}
div.interview-inner div.position.bg4 {	background: #e671c2;}
div.interview-inner div.position.bg5 {	background: #ff9d00;}
div.interview-inner div.position.bg6 {	background: #e87956;}
div.interview-inner div.interview-caption {
	position: absolute;
	top: 48%;
	left: -10px;
}
div.interview-inner div.interview-caption p {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
div.interview-inner div.interview-caption p span {
	display: inline-block;
	margin: 0 0 5px;
	padding: 3px 10px 5px;
	background: rgb(0,87,167);
	background: -moz-linear-gradient(left, rgba(0,87,167,1) 0%, rgba(147,29,107,1) 100%);
	background: -webkit-linear-gradient(left, rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	background: linear-gradient(to right, rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0057a7', endColorstr='#931d6b',GradientType=1 );
	color: #FFF;
	font-size: min(6vw,2.2rem);
	font-weight: 700;
	line-height: 1.2;
	opacity: 0;
  transition: 1.2s;
	transform: translateX(-100%);
}
div.interview-inner.show div.interview-caption p span {
	opacity: 1;
	transform: translateX(0);
}
div.interview-inner div.interview-name {
	color: #000;
	font-size: 1.4rem;
	text-align: right;
}
div.interview-inner div.interview-name .data {
	color: #666;
}
div.interview-inner div.interview-name .name {
	font-size: 2.0rem;
	font-weight: 700;
}
@media all and (min-width:950px) {
div#contents section.node#interview {
	padding: 80px 80px 160px;
}
div.interview-wrapper {
	display: flex;
}
#interview div.interview-wrapper:before {
	top: -10%;
	right: -5%;
	width: 80%;
	max-width: 1169px;
	padding-top: 40%;
}
div.interview-inner {
	width: 30%;
	margin-left: 5%;
}
div.interview-inner:nth-child(3n+1) {
	margin-left: 0;
}
div.interview-inner a:hover div.interview-photo:before {
	width: 100%;
}
div.interview-inner a:hover div.interview-photo .en {
	opacity: 1;
}
div.interview-inner.show a:hover div.interview-photo img {
	bottom: -10%;
	width: 110%;
	height: 110%;
}
div.interview-inner div.position {
	right: 5px;
	width: 90px;
	height: 90px;
}
div.interview-inner div.interview-caption p span {
	font-size: min(1.4vw, 2.4rem);
}
}

/* OVERVIEW
--------------------*/
#overview div.overview-wrapper {
	position: relative;
	margin: 0 0 40px;
}
#overview div.overview-wrapper .en-title {
	display: inline-block;
	margin: 0;
	background: -webkit-linear-gradient(0deg, #0057a7, #931d6b);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 6.6rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
}
@media all and (min-width:950px) {
#overview div.overview-wrapper {
	margin: 0 0 80px;
}
#overview div.overview-wrapper .en-title {
	font-size: 9.0rem;
}
#overview div.overview-wrapper .overview-inner {
	overflow: hidden;
}
#overview div.overview-wrapper:nth-child(odd) .overview-inner {
	margin: 0 0 0 80px;
}
#overview div.overview-wrapper:nth-child(even) .overview-inner {
	margin: 0 80px 0 0;
}
}

/* DATA OF NOMOKOTSU */
#overview div.overview-wrapper.data .overview-inner {
	position: relative;
	margin-top: -0.5em;
	padding: 30px;
}
#overview div.overview-wrapper.data .overview-inner:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgb(0,87,167);
	background: -moz-linear-gradient(left, rgba(0,87,167,1) 0%, rgba(147,29,107,1) 100%);
	background: -webkit-linear-gradient(left, rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	background: linear-gradient(to right, rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0057a7', endColorstr='#931d6b',GradientType=1 );
}
#overview div.overview-wrapper.data .swiper-container {
	position: relative;
	margin-bottom: 20px;
}
#overview div.overview-wrapper.data a.detail-link {
	margin-top: -25px;
}
dl.data-inner {
	margin: 5px 10px;
	padding: 20px 0;
	background: #FFF;
	color: #0057a7;
	font-weight: 700;
	text-align: center;
	box-shadow: 0 0 4px rgba(0,0,0,0.3);
}
dl.data-inner dt {
	font-size: 2.4rem;
}
dl.data-inner dd {
	position: relative;
	font-size: 4.8rem;
	text-shadow: 3px 3px 0px #fff34a;
	line-height: 1.2;
}
#overview div.overview-wrapper.data .swiper-slide dl dd img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	opacity: 0.3;
}
dl.data-inner dd em {
	position: relative;
	font-size: 12.0rem;
}
#overview div.overview-wrapper.data .swiper-button-next:after, #overview div.overview-wrapper.data .swiper-button-prev:after {
	content: '';
	display: block;
	width: 16px;
	height: 16px;
	border-top: 1px solid #FFF;
	border-right: 1px solid #FFF;
	transition: 0.15s;
}
#overview div.overview-wrapper.data .swiper-button-next:after {transform: rotate(45deg);}
#overview div.overview-wrapper.data .swiper-button-prev:after {transform: rotate(225deg);}
#overview div.overview-wrapper.data .swiper-button-next:before, #overview div.overview-wrapper.data .swiper-button-prev:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	width: 23px;
	height: 1px;
	background: #FFF;
}
#overview div.overview-wrapper.data .swiper-button-next:before { left: 0;}
#overview div.overview-wrapper.data .swiper-button-prev:before { right: 0;}
@media all and (max-width:949px) {
#overview div.overview-wrapper.data .swiper-button-next {	right: -20px;}
#overview div.overview-wrapper.data .swiper-button-prev {	left: -20px;}
}
@media all and (min-width:950px) {
#overview div.overview-wrapper.data .en-title {
	position: absolute;
	top: 0;
	right: 30px;
}
#overview div.overview-wrapper.data .overview-inner {
	position: relative;
	/*height: 490px;*/
}
#overview div.overview-wrapper.data .overview-inner:before {
	top: 85px;
	bottom: 0;
	height: auto;
	z-index: -1;
}
#overview div.overview-wrapper.data .swiper-container {
	margin: -30px 0 60px;
	overflow: hidden;
}
#overview div.overview-wrapper.data .swiper-wrapper {
	align-items: flex-end;
}
#overview div.overview-wrapper.data .swiper-slide {
	position: relative;
	/*width: 20%;*/
	height: 0;
	padding-top: 420px;
	padding-top: 370px;
	transition: width .2s ease,height .2s ease;
	overflow: hidden;
}
/*#overview div.overview-wrapper.data .swiper-slide.swiper-slide-active {
	transform: scale(1.2);
}
#overview div.overview-wrapper.data .swiper-slide.swiper-slide-active {
	width: 40%;
}*/
#overview div.overview-wrapper.data .swiper-slide dl {
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(100% - 20px);
	width: calc(100% - 4px);
	margin: 0 2px;
}

/*#overview div.overview-wrapper.data .swiper-slide.swiper-slide-active dl {
	height: 400px;
}*/
/*#overview div.overview-wrapper.data .swiper-slide dl {
	position: relative;
	height: 0;
	padding-top: 80%;
	background: #888;
	overflow: hidden;
}
#overview div.overview-wrapper.data .swiper-container {
	position: absolute;
	bottom: 15%;
	left: 10px;
	background: none;
}
#overview div.overview-wrapper.data .swiper-wrapper {
	align-items: flex-end;
}
#overview div.overview-wrapper.data .swiper-slide {
	width: 20%;
	transition: 0.05s;
}
#overview div.overview-wrapper.data .swiper-slide.swiper-slide-active {
	width: 40%;
}*/
dl.data-inner {
	transition: 0.6s;
}
dl.data-inner dt {
	font-size: min(2vw, 2.6rem);
	transition: font-size 0.6s;
}
dl.data-inner dd {
	font-size: min(2vw, 3.6rem);
	transition: font-size 0.6s;
}
dl.data-inner dd em {
	font-size: min(6vw, 8.6rem);
	transition: font-size 0.6s;
}
#overview div.overview-wrapper.data .swiper-slide.swiper-slide-active dl.data-inner {
	padding: 60px 0;
}
#overview div.overview-wrapper.data .swiper-slide.swiper-slide-active dl.data-inner dt {
	font-size: min(2.5vw, 3.6rem);
}
#overview div.overview-wrapper.data .swiper-slide.swiper-slide-active dl.data-inner dd {
	font-size: min(3vw, 4.6rem);
}
#overview div.overview-wrapper.data .swiper-slide.swiper-slide-active dl.data-inner dd em {
	font-size: min(8vw, 16.0rem);
}
/*#overview div.overview-wrapper.data .swiper-slide.swiper-slide-active dl.data-inner dt {
	font-size: min(4vw, 4.4rem);
}
#overview div.overview-wrapper.data .swiper-slide.swiper-slide-active dl.data-inner dd {
	font-size: min(4vw, 8.0rem);
	text-shadow: 6px 6px 0px #fff34a;
}
#overview div.overview-wrapper.data .swiper-slide.swiper-slide-active dl.data-inner dd em {
	font-size: min(12vw, 20.0rem);
}*/
#overview div.overview-wrapper.data .swiper-button-d {
	position: absolute;
	top: 30%;
	/*bottom: 50%;*/
	left: 25%;
	width: 80px;
	height: var(--swiper-navigation-size);
}
#overview div.overview-wrapper.data .swiper-button-next {	right: 0;}
#overview div.overview-wrapper.data .swiper-button-prev {	left: 0;}
#overview div.overview-wrapper.data .swiper-button-next:after, #overview div.overview-wrapper.data .swiper-button-prev:after {
	width: 12px;
	height: 12px;
}
}

/* EVENT */
#overview div.overview-wrapper.event {
	text-align: right;
}
#overview div.overview-wrapper.event .overview-inner {
	position: relative;
	margin-top: -1.5em;
	margin-bottom: 20px;
	z-index: -1;
}
#overview div.overview-wrapper.event .swiper-wrapper,.layout05-wrapper {
	transition-timing-function: linear !important;
}
.layout05-wrapper .layout05-inner {
	height: 0;
	padding-top: 80%;
	line-height: 0;
	overflow: hidden;
}
.layout05-wrapper .layout05-inner ul {
	display: flex;
	flex-direction: column;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.layout05-wrapper .layout05-inner ul li {
	position: relative;
	flex: 1;
}
.layout05-wrapper .layout05-inner img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	transform: translate(-50%, -50%);
}
@media all and (min-width:950px) {
#overview div.overview-wrapper.event {
	text-align: left;
}
#overview div.overview-wrapper.event .en-title {
	margin-left: 30px;
}
.layout05-wrapper .layout05-inner {
	padding-top: 30%;
}
}

/* NEWS/BLOG
--------------------*/
div#contents section.node#information {
	background: #eef4f8;
	overflow: visible;
}
div#contents section.node#information:before {
	content: '';
	position: absolute;
	top: -8vw;
	left: 0;
	border-bottom: 8vw solid #eef4f8;
	border-right: 100vw solid transparent;
}
#information div.information-wrapper {
	display: flex;
	align-items: flex-start;
}
#information div.information-wrapper .en-title {
	display: inline-block;
	margin: 0 10px 0 0;
	background: -webkit-linear-gradient(-90deg, #0057a7, #931d6b);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 6.0rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#information div.information-wrapper ul.news-list {
	height: 75vh;
	overflow-y: scroll;
}
ul.news-list {
	margin: 0 0 2rem;
}
ul.news-list li {
	padding: 15px 0;
	border-bottom: 1px solid rgba(0,0,0,0.2);
}
ul.news-list li:first-child {
	border-top: 1px solid rgba(0,0,0,0.2);
}
ul.news-list li .data,ul.blog-list li .data {
	display: block;
	font-weight: 700;
}
ul.news-list li a,ul.blog-list li a {
	display: block;
	color: #000;
	line-height: 1.6;
	text-decoration: none;
	transition: 0.2s;
}
ul.blog-list {
	margin: 0 0 2rem;
}
ul.blog-list li {
	margin: 0 0 20px;
}
ul.blog-list li dl {
	display: flex;
	align-items: center;
}
ul.blog-list li dl dt {
	position: relative;
	width: 35%;
	height: 0;
	padding-top: 35%;
	margin-right: 5%;
	line-height: 0;
	overflow: hidden;
}
ul.blog-list li dl dt img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	transform: translate(-50%, -50%);
	transition: 0.3s;
}
ul.blog-list li dl dd {
	flex: 1;
}
@media all and (max-width:949px) {
#information div.information-wrapper .en-title.news {
	margin: 0 10px 0 -20px;
}
#information div.information-wrapper .en-title.blog {
	order: 2;
	margin: 0 -20px 0 10px;
}
ul.blog-list {
	order: 1;
}
ul.reset.news-list {
    width: 100%;
}
}
@media all and (min-width:950px) {
#information div.information-wrapper {
	position: relative;
	height: calc(100% - 60px);
}
#information div.information-wrapper .en-title {
	font-size: 6.6rem;
}
#information div.information-wrapper ul.news-list {
	position: absolute;
	top: 0;
	bottom: 20px;
	left: 75px;
	right: 0;
	height: auto;
}
#information div.information-wrapper ul.blog-list li {
	width: 49%;
	margin: 0 0 20px 2%;
}
#information div.information-wrapper ul.blog-list li:nth-child(odd) {
	margin: 0 0 20px;
}
ul.news-list li {
	padding: 20px 10px;
}
ul.blog-list {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
}
ul.blog-list li {
	width: 24%;
	margin: 0 0 20px 1.2%;
}
ul.blog-list li:nth-child(4n+1) {
	margin: 0 0 20px;
}
ul.blog-list li dl {
	display: block;
}
ul.blog-list li dl dt {
	width: 100%;
	padding-top: 70%;
	margin: 0 0 5px;
}
ul.news-list li a:hover,ul.blog-list li a:hover {
	text-decoration: underline;
}
ul.blog-list li a:hover dl dt img {
	transform: translate(-50%, -50%) scale(1.2);
}
}

/*--------------------------------------
  # 下層ページ共通
--------------------------------------*/
/*div#contents div#main div.googlemap {
  position: relative;
  height: 0;
  padding-bottom: 100%;
  overflow: hidden;
}
div#contents div#main div.googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}*/
div#main div.youtube-wrapper {
	max-width: 560px;
	margin: 0 auto;
}
div#main div.youtube {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	overflow: hidden;
	background: #000;
}
div#main div.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
div#main div.layout01-img,div#main div.layout02-img {
	position: relative;
	width: 100%;
	height: 0;
	margin: 0 0 20px;
	padding-top: 80%;
	transform: skew(0,5deg);
	overflow: hidden;
}
div#main div.layout01-img img,div#main div.layout02-img img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 110%;
	height: 110%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	transform: translate(-50%, -50%) skew(0,-5deg);
	object-position: top center;
}
div#main div.layout01-img p.img-caption {
	position: absolute;
	bottom: 0;
	right: -10px;
	padding: 3px 20px 5px;
	background: #FFF;
	transform: skew(-10deg,-5deg);
}
div#main div.img-caption-base {
	position: relative;
}
div#main div.img-caption-base p.img-caption {
	position: absolute;
	bottom: 0;
	left: -10px;
	padding: 3px 20px 5px;
	background: #FFF;
	transform: skew(-10deg,0);
}
/*div#main div.box01-frame {
	position: relative;
	margin: 10px 0 0;
	padding: 20px;
	background: #FFF;
  border: 2px solid rgb(0,87,167);
  border-image: linear-gradient(to bottom, #0057a7 0%, #931d6b 100%);
  border-image-slice: 1;
	overflow: hidden;
}*/
div#main dl.box01-frame {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
div#main dl.box01-frame dt {
	display: inline-block;
	margin: 0 0 0 10px;
	padding: 5px 15px 8px;
	background: #0c377c;
	color: #FFF;
	font-weight: 500;
	line-height: 1.4;
	transform: translateY(50%) skew(-10deg, 0);
}
div#main dl.box01-frame dd {
	padding: 30px 20px 0;
	background: #eef4f8 url(../img/bg/texture.jpg) repeat 0 0;
	border: 1px solid #0c377c;
	overflow: hidden;
}
/*div#main dl.box01-frame dd:before {
	content: '';
	position: absolute;
	top: -30%;
	left: 0;
	width: 100%;
	height: 160%;
	background: #eef4f8 url(../img/bg/nomokotsu.png) repeat 0 0;
	transform: rotate(-10deg);
	z-index: -1;
}*/




div#main .layout03-wrapper {
	display: flex;
	flex-wrap: wrap;
	line-height: 1.4;
}
div#main .layout03-wrapper .layout03-inner {
	width: 48%;
	margin: 0 0 15px 4%;
}
div#main .layout03-wrapper .layout03-inner:nth-child(odd) {
	margin-left: 0;
}
div#main .layout03-wrapper .layout03-img {
	position: relative;
	display: block;
	height: 0;
	margin: 0 0 5px;
	padding-top: 70%;
	overflow: hidden;
}
div#main .layout03-wrapper .layout03-img img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	transform: translate(-50%, -50%);
}
div#main .layout03-wrapper .features-inner-title {
	display: flex;
	color: #0057a7;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.2;
	counter-reset: section;
}
div#main .layout03-wrapper .features-inner-title:before {
	margin-right: 10px;
	padding: 0 10px 3px 0;
	font-size: 3.0rem;
}
div#main .layout03-wrapper.fifth .layout03-inner:nth-child(-n+5) .features-inner-title:before {
	content: "0" counter(number);
}
div#main .layout03-wrapper .features-inner-title > span:not([class]) {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
div#main .layout04-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
div#main .layout04-inner {
	width: calc(50% - 10px);
	margin: 0 5px 10px;
	padding: 5px 10px 8px;
	background: #0057a7;
	color: #FFF;
	text-align: center;
}
@media all and (min-width:950px) {
/*div#contents div#main div.node-flex-inner div.googlemap {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  padding-bottom: 0;
}*/
div#main div.layout01-wrapper,div#main div.layout02-wrapper {
	display: flex;
  justify-content: space-between;
}
div#main div.layout01-img {
	width: 45%;
	margin: 0;
	height: auto;
	min-height: 460px;
	padding-top: 0;
}
div#main div.layout01-img p.img-caption {
	bottom: 5%;
}
div#main div.layout01-body {
	width: 50%;
	padding: 20px 0 0;
}
div#main div.layout02-img {
	order: 2;
	width: 45%;
	margin: 0;
	height: auto;
	padding-top: 0;
}
div#main div.layout02-body {
	order: 1;
	width: 50%;
	padding: 20px 0 0;
}
div#main .layout03-wrapper .layout03-inner {
	width: 23.5%;
	margin: 0 0 20px 2%;
}
div#main .layout03-wrapper.column3 .layout03-inner {
	width: 32%;
}
div#main .layout03-wrapper .layout03-inner:nth-child(odd) {
	margin-left: 2%;
}
div#main .layout03-wrapper:not(.column3) .layout03-inner:nth-child(4n+1),
div#main .layout03-wrapper.column3 .layout03-inner:nth-child(3n+1) {
	margin-left: 0;
}
div#contents div#main a.fancybox img {
  transition: 0.2s;
}
div#contents div#main a.fancybox:hover img {
  opacity: 0.8;
}
div#main .layout04-inner {
	flex: 1;
	width: auto;
	padding: 10px 10px 13px;
}
}

/* link
--------------------*/
div#contents a.detail-link {
  position: relative;
  display: inline-block;
  margin: 5px;
  padding: 10px 20px;
	background: #0057a7;
  color: #fff34a;
	font-size: 2.0rem;
	font-weight: 500;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  letter-spacing: 1px;
  transition: 0.3s;
	transform: skew(-15deg,0);
}
div#contents a.detail-link.more {
	padding: 10px 30px;
}
div#contents a.detail-link:before {
  content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background: #fff34a;
	transition: 0.3s;
	z-index: -1;
}
div#contents a.detail-link:after {
  content: '';
	position: absolute;
	top: 3px;
	bottom: -3px;
	left: 3px;
	right: -3px;
	border: 1px solid #fff34a;
	transition: 0.3s;
	z-index: -1;
}
div#contents a.link-icon {
  position: relative;
  padding-left: 18px;
}
div#contents a.link-icon:before {
  content: '';
  position: absolute;
  top: 6px;
  left: 6px;
  width: 0;
  height: 0;
  border-left: 6px solid #00afcc;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}
div#contents .link-pdf {
  display: block;
  min-height: 20px;
  padding-left: 20px;
  background: url(../img/icon/pdf.png) no-repeat 0 0;
  background-size: 20px auto;
}
/*div#contents a[data-fancybox] {
  position: relative;
  display: block;
  transition: 0.3s;
}
div#contents a[data-fancybox]:before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 30px;
  height: 30px;
  background: rgba(0,0,0,0.5) url(../img/icon/zoom_white.svg) no-repeat center;
  background-size: 60% auto;
  opacity: 0.7;
}*/

@media all and (min-width:950px) {
div#contents a.detail-link {
	margin: 5px 10px;
	padding: 15px 30px;
}
div#contents a.detail-link.more {
	padding: 15px 60px;
}
div#contents a.detail-link:hover {
	color: #0057a7;
}
div#contents a.detail-link:hover:before {
  width: 100%;
}
div#contents a.detail-link:hover:after {
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	border: 1px solid #0057a7;
}
div#contents .link-pdf {
  min-height: 24px;
  padding-left: 28px;
  background-size: 24px auto;
}
div#contents a[data-fancybox]:hover {
  opacity: 0.7;
}
}

/* entry-nav
--------------------*/
.compensate-for-scrollbar {
	margin-right: 0 !important;
}
nav.entry-nav {
	text-align: center;
}
nav.entry-nav .title {
	margin-bottom: 44px;
	color: #083078;
}
nav.entry-nav .title span {
	display: block;
	line-height: 1.2;
}
nav.entry-nav .title .en {
	font-size: 6.0rem;
	font-weight: 400;
}
nav.entry-nav .title .jp {
	font-size: 2.0rem;
	font-weight: 700;
}
nav.entry-nav p:not(.title) {
	margin: 0 0 5px;
	font-size: 2.0rem;
	font-weight: 700;
}
nav.entry-nav p:not(.title):before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: 0 10px 0 0;
	background: url(../img/icon/mail_blue.svg) no-repeat center;
	background-size: 100% auto;
	vertical-align: middle;
}
nav.entry-nav p.mail:before {
	background: url(../img/icon/mail_blue.svg) no-repeat center;
	background-size: 100% auto;
}
nav.entry-nav p.line:before {
	background: url(../img/icon/line.svg) no-repeat center;
	background-size: 100% auto;
}
nav.entry-nav ul:not(.sns) {
	margin: 0 0 30px;
}
nav.entry-nav li {
	margin: 0 0 5px;
}
nav.entry-nav li a {
	position: relative;
	display: block;
	padding: 20px 10px;
	background: rgb(0,87,167);
	background: -moz-linear-gradient(45deg, rgba(0,87,167,1) 0%, rgba(147,29,107,1) 100%);
	background: -webkit-linear-gradient(45deg, rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	background: linear-gradient(45deg, rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0057a7', endColorstr='#931d6b',GradientType=1 );
	color: #fff34a;
	font-size: clamp(2.2rem, 2vw, 3.0rem);
	font-weight: 500;
	text-decoration: none;
	transform: skew(-15deg,0);
	white-space: nowrap;
	transition: 0.2s;
}
nav.entry-nav ul.sns {
	display: flex;
}
nav.entry-nav ul.sns li {
	flex: 1;
	margin: 0 5px;
}
nav.entry-nav ul.sns li a {
	padding: 10px 5px;
	background: #00B900;
	color: #FFF;
	font-size: clamp(2.0rem, 2vw, 2.6rem);
}
nav.entry-nav li a:before {
	content: '';
	display: inline-block;
	width: 35px;
	height: 35px;
	margin: 0 10px 0 0;
	transform: skew(15deg,0);
	vertical-align: middle;
}
nav.entry-nav li.newgraduate a:before {
	background: url(../img/icon/new_graduate.svg) no-repeat center;
	background-size: 100% auto;
}
nav.entry-nav li.halfway a:before {
	background: url(../img/icon/halfway.svg) no-repeat center;
	background-size: 75% auto;
}
nav.entry-nav li.experience a:before {
	background: url(../img/icon/experience.svg) no-repeat center;
	background-size: 100% auto;
}
nav.entry-nav li.line a:before {
	background: url(../img/icon/line_white.svg) no-repeat center;
	background-size: 90% auto;
}
@media all and (max-width:949px) {
#entry.fancybox-content {
	width: 100%;
}
.fancybox-content {
	padding: 30px !important;
}
}
@media all and (min-width:950px) {
#entry.fancybox-content {
	width: 1080px;
}
nav.entry-nav ul {
	display: flex;
}
nav.entry-nav li {
	flex: 1;
	margin: 0 10px;
}
nav.entry-nav li a {
	padding: 20px 40px;
}
nav.entry-nav li a:before {
	display: block;
	width: 60px;
	height: 60px;
	margin: 0 auto;
}
nav.entry-nav ul.sns li {
	margin: 0 10px;
}
nav.entry-nav ul.sns li a {
	padding: 20px 10px;
}
nav.entry-nav ul.sns li a:before {
	display: inline-block;
	margin: 0 10px 0 0;
	vertical-align: middle;
}
nav.entry-nav li a:hover {
	opacity: 0.7;
}
}

/*--------------------------------------
  # NEWS/BLOG
--------------------------------------*/
div#main .pagination {
  clear: both;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 40px 0 0;
  line-height: 1.2;
}
div#main .pagination ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
div#main .pagination li {
  margin: 3px;
}
div#main .pagination li .page-numbers {
  display: block;
  width: 30px;
  height: 30px;
  background: #d7dce9;
  color: #0057a7;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  line-height: 30px;
  text-decoration: none;
  transition: 0.2s;
}
div#main .pagination li .page-numbers.current {
  background: #0057a7;
  color: #FFF;
}
div#main .pagination > div {
	width: 33.3%;
	text-align: center;
}
div#main .pagination > div.prev-post {
	text-align: left;
}
div#main .pagination > div.next-post {
	text-align: right;
}
div#main .pagination > div a {
	display: inline-block;
	height: 30px;
  color: #0057a7;
  font-size: 1.4rem;
	line-height: 30px;
	text-decoration: none;
	transition: 0.2s;
}
div#main .pagination > div.prev-post a {
	position: relative;
	padding-left: 1.2em;
}
div#main .pagination > div.list-post a {
	display: block;
	border: 1px solid #0057a7;
}
div#main .pagination > div.next-post a {
	position: relative;
	padding-right: 1.2em;
}
div#main .pagination > div.prev-post a:before,div#main .pagination > div.next-post a:before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
div#main .pagination > div.prev-post a:before {
	content: '←';
	left: 0;
	transition: 0.2s;
}
div#main .pagination > div.next-post a:before {
	content: '→';
	right: 0;
	transition: 0.2s;
}

@media all and (min-width:950px) {
div#main .pagination {
	max-width: 1240px;
	margin: 60px auto 0;
}
div#main .pagination li {
  margin: 5px;
}
div#main .pagination li .page-numbers {
  width: 40px;
  height: 40px;
  font-size: 1.6rem;
  line-height: 40px;
}
div#main .pagination li a:hover {
  color: #FFF;
  background: #0057a7;
}
div#main p.navigation {
  padding: 20px 0;
}
div#main p.navigation span {
  line-height: 1.6;
}
div#main .pagination > div a {
	height: 40px;
  font-size: 1.6rem;
	line-height: 40px;
}
div#main .pagination > div.list-post a {
	position: relative;
	display: inline-block;
	padding: 0 40px;
}
div#main .pagination > div.list-post a:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background: #0057a7;
	transition: 0.2s;
	z-index: -1;
}
div#main .pagination > div a:hover {
	opacity: 0.7;
}
div#main .pagination > div.list-post a:hover {
	color: #FFF;
}
div#main .pagination > div.list-post a:hover:before {
	width: 100%;
}
div#main .pagination > div.prev-post a:hover:before {
	left: -5px;
}
div#main .pagination > div.next-post a:hover:before {
	right: -5px;
}
}

/*--------------------------------------
  # 会社概要
--------------------------------------*/
div#main div.vision-wrapper {
	position: relative;
	padding: 15vh 20px;
	background: url(../img/company/bg.jpg) no-repeat center bottom;
	background-size: cover;
	text-align: center;
	z-index: -1;
}
div#main dl.vision {
	display: inline-block;
	padding: 20px 30px 30px;
	color: #FFF;
	font-size: 1.8rem;
	line-height: 2.0;
	background: rgba(12,55,124,0.7);
}
div#main dl.vision dt {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
	font-weight: 700;
}
div#main dl.vision dt .en {
	margin-right: 10px;
	font-size: 3.6rem;
	font-weight: 500;
}

@media all and (min-width:950px) {
div#main div.vision-wrapper {
	padding: 20vh 80px;
}
div#main dl.vision {
	padding: 30px 60px 60px;
	font-size: 2.0rem;
}
div#main dl.vision dt .en {
	font-size: min(4vw, 4.6rem);
}
}

/*--------------------------------------
  # 選ばれる理由
--------------------------------------*/
div#main div.features-inner {
	display: flex;
	flex-direction: column;
	margin: 0 0 20px;
}
div#main div.features-inner:last-child {
	margin: 0;
}
div#main div.features-inner-img {
	position: relative;
	width: 90%;
	height: 0;
	padding-top: 60%;
	transform: skew(-10deg, 0);
	overflow: hidden;
}
div#main div.features-inner:nth-child(odd) div.features-inner-img {
	margin-left: -5%;
}
div#main div.features-inner:nth-child(even) div.features-inner-img {
	margin-left: 15%;
}
div#main div.features-inner-img img {
	position: absolute;
	top: 50%;
	left: 55%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	transform: translate(-50%, -50%) skew(10deg,0);
}
div#main div.features-inner:nth-child(even) div.features-inner-img img {
	left: 45%;
}
div#main div.features-inner-text {
	position: relative;
	width: 95%;
	padding: 20px 30px;
	background: #FFF;
	margin-top: -20%;
	transform: skew(-10deg, 0);
}
div#main div.features-inner:nth-child(even) div.features-inner-text {
	margin-left: -5%;
}
div#main div.features-inner-text .features-inner-title {
	position: relative;
	display: flex;
	margin: 0 0 20px;
	color: #0057a7;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	counter-reset: section;
	transform: skew(10deg, 0);
}
div#main .features-inner-title:before {
	counter-increment: number;
	content: counter(number);
	display: block;
	margin-right: 15px;
	padding: 0 15px 3px 0;
	font-size: 4.0rem;
	line-height: 1.2;
	white-space: nowrap;
	border-right: 1px solid #0057a7;
}
div#main div.features-inner:nth-child(-n+9) .features-inner-title:before {
	content: "0" counter(number);
}
div#main div.features-inner-text .features-inner-title > span:not([class]) {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
div#main div.features-inner-text p {
	margin-left: 20px;
	transform: skew(10deg, 0);
}
@media all and (min-width:950px) {
div#main div.features-inner {
	flex-direction: row;
	align-items: flex-end;
	margin: 0 0 40px;
}
div#main div.features-inner-img {
	width: 60%;
	padding-top: 35%;
}
div#main div.features-inner:nth-child(odd) div.features-inner-img {
	margin-left: 0;
	margin-right: -10%;
}
div#main div.features-inner:nth-child(even) div.features-inner-img {
	order: 2;
	margin-left: 0%!important;
}
div#main div.features-inner-img img {
	left: 50%;
	transform: translate(-50%, -50%) skew(10deg,0) scale(1.15, 1.15);
}
div#main div.features-inner:nth-child(even) div.features-inner-img img {
	left: 50%;
}
div#main div.features-inner-text {
	width: 60%;
	padding: 30px;
	margin-top: 0;
}
div#main div.features-inner:nth-child(odd) div.features-inner-text {
	margin-left: 0;
	padding-right: 0;
}
div#main div.features-inner:nth-child(even) div.features-inner-text {
	order: 1;
	margin-left: 0;
	padding-left: 0;
}
div#main div.features-inner-text .features-inner-title {
	font-size: 2.6rem;
}
div#main div.features-inner-text .features-inner-title:before {
	font-size: 6.0rem;
}
div#main div.features-inner-text p {
	margin-left: 110px;
}
}

/*--------------------------------------
  # スタッフインタビュー
--------------------------------------*/
div#main div.interview-header {
	position: relative;
	display: flex;
	flex-direction: column;
}
div#main div.interview-header img {
	width: 100%;
}
div#main div.interview-header div.interview-header-title {
	margin: -10% -20px 0 20px;
	padding: 20px 20px 0;
	background: #f2f3f5;
  border-left: 3px solid rgb(0,87,167);
  border-image: linear-gradient(to bottom, #0057a7 0%, #931d6b 100%);
  border-image-slice: 1;
  /*transform: translateY(-10%);*/
}
div#main div.interview-header div.interview-header-title h3 {
	margin-bottom: 10px;
	color: #0c377c;
	font-size: min(5vw, 2.2rem);
}
div#main div.interview-header div.interview-header-title p:not(.name) {
	padding-top: 10px;
	border-top: 1px solid rgba(0,0,0,0.3);
}
div#main div.interview-header div.interview-header-title .name {
	font-size: 1.8rem;
	text-align: right;
	line-height: 1.4;
}
div#main div.interview-header div.interview-header-title .name .data {
	display: inline-block;
	margin-right: 1em;
	color: #666;
	font-size: 1.5rem;
}
div#main p.talk-listener {
	margin-bottom: 1rem;
	margin-left: 35px;
	color: #0c377c;
	font-weight: 700;
	text-indent: -35px;
	line-height: 1.6;
}
div#main p.talk-listener:before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 1px;
	margin: 0 5px 2px 0;
	background: #0c377c;
	vertical-align: middle;
}
@media all and (min-width:950px) {
div#main div.interview-header div.interview-header-img {
	position: relative;
	width: 80%;
	height: 0;
	padding-top: 45%;
	overflow: hidden;
}
div#main div.interview-header div.interview-header-img img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	transform: translate(-50%, -50%);
	/*object-position: top center;*/
	z-index: -1;
}
div#main div.interview-header div.interview-header-title {
	margin: -10% 0 0 10%;
	padding: 20px 40px 0;
}
div#main div.interview-header div.interview-header-title h3 {
	font-size: min(2.2vw, 3.6rem);
}
div#main div.interview-header div.interview-header-title .name {
	font-size: 2.0rem;
}
}

/*--------------------------------------
  # 教育制度
--------------------------------------*/
div#main ul.training-triangle {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
div#main ul.training-triangle:before {
	content: '';
	position: absolute;
	bottom: calc(1rem + 20px);
	left: 50%;
	width: 50%;
	height: 10px;
	background: #0c377c;
	transform: translate(-50%, 0);
	z-index: -1;
}
div#main ul.training-triangle li {
	position: relative;
	width: 50%;
	text-align: center;
	line-height: 1.4;
}
div#main ul.training-triangle li:first-child {
	flex: none;
	width: 100%;
	margin-bottom: 40px;
}
div#main ul.training-triangle li:first-child:before {
	content: '';
	position: absolute;
	top: 90%;
	left: 50%;
	display: block;
	width: 80px;
	height: 80px;
	border-top: 10px solid #0c377c;
	border-left: 10px solid #0c377c;
	transform: translate(-50%, 0) rotate(45deg);
}
div#main ul.training-triangle li .triangle-inner {
	position: relative;
	display: inline-block;
	width: 80%;
	padding: 5px 15px 15px 5px;
	background: #fff34a;
	color: #0c377c;
	font-size: 2.4rem;
	font-weight: 500;
	transform: skew(-10deg, 0);
}
div#main ul.training-triangle li:first-child .triangle-inner {
	width: 40%;
}
div#main ul.training-triangle li .triangle-inner:before {
	content: '';
	position: absolute;
	top: -5px;
	bottom: 5px;
	left: -5px;
	right: 5px;
	background: #FFF;
	border: 4px solid #0c377c;
	z-index: -1;
}
div#main ul.training-triangle li .en {
	display: block;
	font-size: 1.2rem;
	font-weight: 400;
}
div#main dl.box01-frame dd .layout03-inner {
	display: flex;
	flex-direction: column;
	padding: 10px;
	background: #FFF;
	border: 1px solid #96b0da;
}
div#main dl.box01-frame dd .layout03-inner:not(:has(img)) {
	justify-content: center;
}
div#main dl.box01-frame dd .layout03-img {
	margin: -10px -10px 5px;
}

/*--------------------------------------
  # 福利厚生
--------------------------------------*/
div#main ul.club-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 0 2rem;
}
div#main ul.club-list li {
	position: relative;
	width: 50%;
	overflow: hidden;
}
div#main ul.club-list li .club-list-img {
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding-top: 70%;
	overflow: hidden;
}
div#main ul.club-list li .club-list-img img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	transform: translate(-50%, -50%);
}
div#main ul.club-list li .club-list-text {
	position: absolute;
	bottom: 10px;
	left: -5px;
	padding: 3px 10px 5px 15px;
	background: rgba(255,255,255,0.9);
	font-weight: 500;
	transform: skew(-10deg,0);
}
div#main ul.support-icon {
	display: flex;
	flex-wrap: wrap;
}
div#main ul.support-icon li {
	position: relative;
	width: 50%;
	padding: 15px 10px;
	font-size: 1.4rem;
	border-top: 1px solid rgba(0,0,0,0.2);
  counter-reset: section;
}
div#main ul.support-icon li:nth-child(odd) {
	padding-left: 0;
	border-right: 1px solid rgba(0,0,0,0.2);
}
div#main ul.support-icon li:nth-child(even) {
	padding-right: 0;
}
div#main ul.support-icon li:nth-child(-n+2) {
	border-top: none;
}
div#main ul.support-icon li:before {
	counter-increment: number;
	content: '＼ SUPPORT ' counter(number) ' ／';
	display: block;
	color: #0057a7;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
}
div#main ul.support-icon li strong {
	display: block;
	color: #0057a7;
	font-size: 1.6rem;
	text-align: center;
}
div#main ul.support-icon li img {
	display: block;
	width: auto;
	height: 70px;
	margin: 0 auto;
}



div#main div.voice-wrapper {
}
div#main div.voice-inner {
	margin: 0 0 15px;
	padding: 15px;
	background: #FFF;
	border: 1px solid rgba(0,0,0,0.2);
}
div#main div.voice-inner div.voice-inner-img {
	position: relative;
	width: 100%;
	height: 0;
	margin: 0 0 10px;
	padding-top: 75%;
	overflow:hidden;
}
div#main div.voice-inner div.voice-inner-img img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	transform: translate(-50%, -50%);
}
div#main div.voice-inner div.voice-inner-text .title {
	margin: 0 0 10px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
}
div#main div.voice-inner div.voice-inner-text .name {
	padding-bottom: 10px;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: right;
	line-height: 1.4;
	border-bottom: 2px dotted rgba(0,0,0,0.4);
}
@media all and (min-width:950px) {
div#main ul.club-list li {
	width: auto;
	flex: 1;
}
div#main ul.club-list li .club-list-img {
	padding-top: 65%;
}
div#main ul.club-list li .club-list-text {
	bottom: 5%;
	padding: 3px 20px 5px 25px;
	transform: skew(-15deg,0);
}
div#main ul.support-icon li {
	width: 25%;
	padding: 0 20px;
	border-top: none;
	border-right: 1px solid rgba(0,0,0,0.2);
}
div#main ul.support-icon li:nth-child(odd) {
	padding-left: 20px;
}
div#main ul.support-icon li:nth-child(even) {
	padding-right: 20px;
}
div#main ul.support-icon li:first-child {
	border-left: 1px solid rgba(0,0,0,0.2);
}
div#main ul.support-icon li strong {
	font-size: 1.8rem;
}
div#main ul.support-icon li img {
	height: 140px;
}
div#main div.voice-inner {
	display: flex;
	margin: 0 0 20px;
	padding: 20px;
}
div#main div.voice-inner div.voice-inner-img {
	width: 30%;
	margin: 0 3% 0 0;
	padding-top: 22%;
}
div#main div.voice-inner div.voice-inner-text {
	flex: 1;
}
div#main div.voice-inner div.voice-inner-text .title {
	font-size: 2.0rem;
}
div#main div.voice-inner div.voice-inner-text .name {
	text-align: left;
}
}

/*--------------------------------------
  # 数字で見るNOMOKOTSU
--------------------------------------*/
div#main div.data-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
div#main div.data-wrapper .data-inner {
	width: 48%;
	margin: 0 0 4%;
	padding: 10px;
	border: 3px solid #0057a7;
	box-shadow: none;
}
div#main div.data-wrapper .data-inner dt {
	margin: 0 0 5px;
	color: #222;
  font-size: 2.0rem;
}
div#main div.data-wrapper .data-inner dd {
	font-size: min(6vw, 2.6rem);
	white-space: nowrap;
}
div#main div.data-wrapper .data-inner dd em {
	font-size: min(14vw, 6.0rem);
}
div#main div.data-wrapper .data-inner dd .data-img {
	position: relative;
	display: block;
	height: 0;
	padding-top: 40%;
	overflow: hidden;
}
div#main div.data-wrapper .data-inner dd .data-img img {
	position: absolute;
	top: 0;
	left: 50%;
	width: auto;
	height: 100%;
	transform: translate(-50%, 0);
}
@media all and (min-width:950px) {
div#main div.data-wrapper {
	justify-content: flex-start;
}
div#main div.data-wrapper .data-inner {
	width: 24.25%;
	margin: 0 0 1% 1%;
}
div#main div.data-wrapper .data-inner:nth-child(4n+1) {
	margin-left: 0;
}
div#main div.data-wrapper .data-inner dt {
	margin: 0 0 10px;
}
div#main div.data-wrapper .data-inner dd em {
	font-size: min(6vw, 8.0rem);
}
div#main div.data-wrapper .data-inner dd .data-img {
	padding-top: 30%;
}
}

/*--------------------------------------
  # イベント
--------------------------------------*/
@media all and (min-width:950px) {
div#main div.event-wrapper {
	overflow: hidden;
}
}

/*--------------------------------------
  # 採用情報（募集要項）
--------------------------------------*/
div#main ul.area-list {
	font-size: 1.4rem;
	line-height: 1.4;
}
div#main ul.area-list li {
	margin: 0 0 1em 1%;
}
div#main ul.area-list li span:not([class]) {
	display: inline-block;
}
@media all and (min-width:950px) {
div#main ul.area-list {
	display: flex;
	flex-wrap: wrap;
}
div#main ul.area-list li {
	width: 49%;
}
}





/*--------------------------------------
  # 会社概要
--------------------------------------*/

/*--------------------------------------
  # 会社概要
--------------------------------------*/

/*--------------------------------------
  # 会社概要
--------------------------------------*/

/*--------------------------------------
  # 会社概要
--------------------------------------*/

/*--------------------------------------
  # 会社概要
--------------------------------------*/

/*--------------------------------------
  # 会社概要
--------------------------------------*/

/*--------------------------------------
  # 会社概要
--------------------------------------*/














div#main div.service-policy {
}
div#main div.motto-block {
  margin-bottom: 30px;
  text-align: center;
}
div#main div.motto-block ul {
  display: inline-block;
  text-align: left;
}
div#main div.motto-block ul li {
  padding: 10px 0 10px 3em;
  text-indent: -3em;
  border-bottom: 1px dotted rgba(0,0,0,0.2);
}
div#main div.motto-block ul li:first-child {
  border-top: 1px dotted rgba(0,0,0,0.2);
}
div#main ul.philosophy {
  position: relative;
  height: 0;
  padding-top: 94%;
  background: url(../img/company/service_policy.png) no-repeat center 0;
  background-size: 100% auto;
  overflow: hidden;
}
div#main ul.philosophy li {
  position: absolute;
  width: 53%;
  height: 0;
  padding-top: 53%;
  border-radius: 100%;
  overflow: hidden;
}
div#main ul.philosophy li:first-child {
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
div#main ul.philosophy li:nth-child(2) {
  bottom: 0;
  left: 0;
}
div#main ul.philosophy li:nth-child(3) {
  bottom: 0;
  right: 0;
}
div#main ul.philosophy li dl {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 13% 5%;
  text-align: center;
}
div#main ul.philosophy li dt {
  margin: 0 0 5px;
  color: #2b2f39;
  font-size: 2.0rem;
  font-weight: 500;
}
div#main ul.philosophy li dt .en {
  display: block;
  color: #00c5bc;
  font-family: 'Jost', sans-serif;
  font-size: 2.4rem;
  font-size: 1.4rem;
  line-height: 1.2;
}
div#main ul.philosophy li dd {
  padding: 0 5%;
  color: #333;
  font-size: 1.3rem;
  line-height: 1.4;
}
div#main ul.service-name li {
  position: relative;
  margin: 0 0 0.5em;
  padding-left: 12px;
  line-height: 1.4;
}
div#main ul.service-name li:before {
  content: '';
  position: absolute;
  top: 7px;
  left: 0;
  width: 0;
  height: 0;
  border-left: 6px solid #00afcc;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}

@media all and (min-width:950px) {
div#main div.service-policy {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
div#main div.motto-block {
  width: 51%;
}
div#main div.motto-block ul li {
  padding: 15px 0 15px 3em;
}
div#main div.philosophy-block {
  width: 47%;
}
div#main ul.philosophy li dt {
  margin: 0 0 5%;
  font-size: 2.4rem;
}
div#main ul.philosophy li dt .en {
  font-size: 2.8rem;
  font-size: 1.8rem;
}
}

/*--------------------------------------
  # サービス
--------------------------------------*/
div#main ul.step-block {
}
div#main ul.step-block li {
  position: relative;
  margin: 0 0 30px;
  padding-left: 20px;
  counter-reset: section;
}
div#main ul.step-block li:before {
  counter-increment: number;
  content: counter(number);
  position: absolute;
  top: 50%;
  left: 0;
  width: 40px;
  height: 40px;
  background: #00afcc;
  color: #FFF;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 2.0rem;
  font-weight: 500;
  text-align: center;
  line-height: 40px;
  border: 1px solid #FFF;
  border-radius: 50%;
  transform: translate(0, -50%);
}
div#main ul.step-block li:after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  margin: 8px 0;
  border-style: solid;
  border-width: 15px 15px 0 15px;
  border-color: rgba(0,175,204,0.3) transparent transparent transparent;
  transform: translate(-50%, 0);
}
div#main ul.step-block li:last-child:after {
  display: none;
}
div#main ul.step-block li dl {
  background: #f3f7f8;
  border: 1px solid #00afcc;
}
div#main ul.step-block li dt {
  padding: 10px 15px 10px 30px;
  color: #2b2f39;
  font-weight: 700;
  line-height: 1.4;
}
div#main ul.step-block li dd {
  padding: 10px 15px 10px 30px;
  background: #FFF;
}
@media all and (min-width:950px) {
div#main ul.step-block li:after {
  left: 13%;
  transform: translate(0, 0);
}
div#main ul.step-block li dl {
  display: flex;
  align-items: center;
  padding: 0;
  background: #f3f7f8;
}
div#main ul.step-block li dt {
  width: 26%;
  padding: 20px 20px 20px 40px;
}
div#main ul.step-block li dd {
  flex: 1;
  padding: 20px;
}
}

/*--------------------------------------
  # Form
--------------------------------------*/
div#main div.form_in {
  clear: both;
  overflow: hidden;
}
div#main div.form_in p.error {
  color: #F00;
  font-size: 1.4rem;
}
div#main div.form-block {
  margin-bottom: 40px;
}
div#main div.form-block > dl {
  clear: both;
  padding: 15px 0;
  border-bottom: 1px solid rgba(0,0,0,0.2);
  overflow: hidden;
}
div#main div.form-block > dl:first-child {
  border-top: 1px solid rgba(0,0,0,0.2);
}
div#main div.form-block > dl > dt {
  position: relative;
  padding: 0 0 10px;
	color: #222;
  font-weight: 700;
  line-height: 1.4;
}
div#main div.form-block > dl > dt span.required {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0 8px 2px;
  color: #FFF;
  font-size: 1.1rem;
  background: #0057a7;
  border-radius: 2px;
  line-height: 18px;
}
div#main div.form-block > dl > dd {
  margin: 0 0 0 5px;
}
div#main div.form-block dl dd p {
  margin: 0;
}
div#main div.form_in input[type="text"],div#main div.form_in input[type="email"],div#main div.form_in input[type="tel"],div#main div.form_in select,div#main div.form_in textarea,div#main input[type="password"] {
  display: inline-block;
  width: 98%;
  min-height: 38px;
  margin: 1%;
  padding: 10px;
  background: rgba(0,0,0,0.05);
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  border: none;
  border-radius: 3px;
  outline: none;
  vertical-align: middle;
}
div#main div.form_in select.short {
  width: 25%;
}
div#main div.form_in input.short {
  width: 30%;
}
div#main div.form_in input.medium {
  width: 50%;
}
div#main div.form_in dd > label {
  display: inline-block;
  min-height: 38px;
  margin-right: 20px;
  padding: 6px 0 0 20px;
  text-indent: -20px;
  vertical-align: top;
}
div#main div.form_in textarea {
  min-width: 98%;
  padding: 10px;
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
}
div#main div.form_in input::placeholder {
	color: #afafaf;
}
div#main div.form_in .button-block {
  padding: 30px 0 0;
}
div#main .form-btn {
  clear: both;
  margin: 40px 0 1px;
  text-align: center;
  letter-spacing: -.40em;
}
div#main .form-btn input[type="submit"] {
  position: relative;
  display: inline-block;
  width: 43%;
  height: auto;
  margin: 0 10px;
  padding: 8px 10px;
  background: #0057a7;
  color: #fff34a;
	font-size: 2.0rem;
  vertical-align: top;
  letter-spacing: 2px;
  border: 1px solid #0057a7;
  border-radius: 0;
  cursor: pointer;
  transition: 0.2s;
	transform: skew(-15deg,0);
}
.mw_wp_form_confirm .confirm-hidden {
  display: none;
}
@media all and (min-width:950px) {
div#main div.form_in {
  max-width: 900px;
  margin: 0 auto 60px;
}
div#main div.form-block {
  margin-bottom: 40px;
}
div#main div.form-block > dl {
  display: flex;
  padding: 20px;
}
div#main div.form-block > dl > dt {
  width: 10em;
  padding: 5px 0;
}
div#main div.form-block > dl > dt span.required {
  top: 5px;
}
div#main div.form-block > dl > dd {
  flex: 1;
  margin-left: 2em;
}
div#main div.form_in input[type="text"],div#main div.form_in input[type="email"],div#main div.form_in input[type="tel"],div#main div.form_in select,div#main div.form_in textarea,div#main input[type="password"] {
  font-size: 1.6rem;
}
div#main div.form_in input.short {
  width: 20%;
}
div#main div.form_in input.middle {
  width: 60%;
}
div#main div.form_in select.short {
  width: 20%;
}
div#main div.form_in textarea {
  font-size: 1.6rem;
}
div#main .form-btn input[type="submit"] {
  width: 20%;
}
div#main .form-btn input[type="submit"]:hover {
  background: #fff34a;
  color: #0057a7;
}
}

/*--------------------------------------
  # Footer
--------------------------------------*/
@media all and (min-width:950px) {
footer#footer {
  position: relative;
  clear: both;
	padding: 100px 0 0;
	overflow: hidden;
}
/*footer#footer:before {
	content: '';
	position: absolute;
	top: 60px;
	left: 0;
	right: 0;
	bottom: -100px;
	background: url(../img/bg/f_bg.jpg) no-repeat center 0;
	background-size: cover;
	background-attachment: fixed;
	transform: skew(0,5deg);
	z-index: -1;
}*/
footer#footer:before {
	content: '';
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 0;
	padding-bottom: 60%;
	background: url(../img/bg/f_bg.jpg) no-repeat center 0;
	background-size: cover;
	/*transform: skew(0,5deg);*/
	z-index: -1;
}
footer#footer nav#contact-link {
  position: relative;
  clear: both;
  padding: 80px;
}
footer#footer nav#contact-link ul {
  position: relative;
  display: flex;
  align-items: center;
	justify-content: center;
}
footer#footer nav#contact-link ul li {
  position: relative;
	width: 45%;
	margin: 0 -15px;
  line-height: 1.2;
  overflow: hidden;
}
footer#footer nav#contact-link ul li a {
	position: relative;
  display: block;
	margin: 0 15px;
  padding: 60px 0;
  font-size: 3.6rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
	transform: skew(-15deg,0);
  transition: 0.2s;
}
footer#footer nav#contact-link ul li.f-recruit a {
	background: #083078;
	color: #fff34a;
}
footer#footer nav#contact-link ul li.f-entry a {
	background: #fff34a;
	color: #083078;
}
footer#footer nav#contact-link ul li a span {
	display: block;
	line-height:0%;
	transition: 0.3s;
}
footer#footer nav#contact-link ul li a .en {
	font-size: 9.0rem;
	font-weight: 500;
	white-space: normal;
	opacity: 0.1;
}
body.dv footer#footer nav#contact-link ul li a:hover .en {
	letter-spacing: 10px;
	opacity: 0.2;
}
footer#footer nav#footer-sns {
  padding: 15px 80px;
	background: rgba(46,50,57,1);
}
footer#footer nav#footer-sns ul {
	display: flex;
	justify-content: center;
	align-items: center;
}
footer#footer nav#footer-sns ul li {
	margin: 0 10px;
	color: #FFF;
	font-size: 1.8rem;
	font-weight: 700;
}
footer#footer nav#footer-sns ul li a {
	position: relative;
	display: block;
	padding: 10px 20px;
	background: #00B900;
	color: #FFF;
	font-size: 1.4rem;
	font-weight: 500;
	text-decoration: none;
	border-radius: 6px;
	transition: 0.2s;
}
footer#footer nav#footer-sns ul li.line a:before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: 0 10px 0 0;
	background: url(../img/icon/line_white.svg) no-repeat center;
	background-size: 100% auto;
	vertical-align: middle;
}
body.dv footer#footer nav#footer-sns ul li a:hover {
	opacity: 0.7;
}
footer#footer #footer-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
  padding: 40px 80px 0;
	background: rgba(46,50,57,0.95);
  color: #FFF;
  overflow: hidden;
}
footer#footer div.information {
  width: 30%;
	margin-bottom: 20px;
}
footer#footer div.information a {
  color: #FFF;
}
footer#footer div.information p {
  margin-bottom: 0;
}
footer#footer div.information .site-title a {
  display: block;
  margin: 0 0 5px;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
  transition: 0.2s;
}
footer#footer div.information .site-title a:hover {
  opacity: 0.7;
}
footer#footer div.information address {
  font-size: 1.4rem;
}
footer#footer div.information ul.sns-link {
	display: flex;
	margin: 2rem 0 0;
}
footer#footer div.information ul.sns-link li a {
	position: relative;
	display: block;
	width: 20px;
	height: 0;
	margin-right: 15px;
	padding-top: 20px;
	overflow: hidden;
	transition: 0.2s;
}
footer#footer div.information ul.sns-link li.instagram a {
	background: url(../img/icon/instagram_white.svg) no-repeat center;
	background-size: 100% auto;
}
footer#footer div.information ul.sns-link li.tiktok a {
	background: url(../img/icon/tiktok_white.svg) no-repeat center;
	background-size: 100% auto;
}
footer#footer div.information ul.sns-link li.twitter a {
	background: url(../img/icon/twitter_white.svg) no-repeat center;
	background-size: 100% auto;
}
footer#footer div.information ul.sns-link li.youtube a {
	background: url(../img/icon/youtube_white.svg) no-repeat center;
	background-size: 100% auto;
}
footer#footer div.information ul.sns-link li.facebook a {
	background: url(../img/icon/facebook_white.svg) no-repeat center;
	background-size: 100% auto;
}
footer#footer div.information ul.sns-link li.note a {
	background: url(../img/icon/note_white.svg) no-repeat center;
	background-size: 100% auto;
}
body.dv footer#footer div.information ul.sns-link li a:hover {
	opacity: 0.7;
}
footer#footer div.footer-link {
  width: 70%;
	margin-bottom: 20px;
}
footer#footer nav#sitemap-nav {
  display: flex;
	justify-content: flex-end;
}
footer#footer nav#sitemap-nav > ul {
  padding-left: 6%;
}
footer#footer nav#sitemap-nav li {
  padding: 0 0 10px;
}
footer#footer nav#sitemap-nav .item-name {
  position: relative;
  display: block;
  padding-left: 10px;
  color: #FFF;
  font-size: 1.4rem;
	font-weight: 500;
  text-decoration: none;
}
footer#footer nav#sitemap-nav .item-name:before {
  content: '';
  position: absolute;
  top: 9px;
  left: 0;
  width: 0;
  height: 0;
  border-left: 5px solid #FFF;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
}
footer#footer nav#sitemap-nav a:hover {
  text-decoration: underline;
}
footer#footer nav#sitemap-nav li ul {
  margin: 0 0 0 10px;
}
footer#footer nav#sitemap-nav li li {
  padding: 0 0 5px;
}
footer#footer nav#sitemap-nav li li a {
	position: relative;
  display: block;
  padding: 0 0 0 10px;
  color: #FFF;
  font-size: 1.3rem;
	font-weight: 400;
  text-decoration: none;
}
footer#footer nav#sitemap-nav li li a:before {
  content: '';
  position: absolute;
  top: 12px;
  left: 0;
  width: 5px;
  height: 1px;
	background: #FFF;
}
footer#footer p.copyright {
	flex: none;
	width: 100%;
  margin: 0;
  color: rgba(255,255,255,0.6);
  font-size: 1.1rem;
  text-align: right;
  letter-spacing: 1px;
  line-height: 60px;
	border-top: 1px solid rgba(255,255,255,0.3); 
}
div#pagetop {
  position: fixed;
  right: 0;
  bottom: 105px;
  z-index: 10;
  opacity: 0;
  transition: 0.3s;
}
div#pagetop.show {
  opacity: 1;
}
div#pagetop a {
  display: block;
  width:50px;
  height: 0;
  padding-top: 60px;
  background: #1c1e23;
  overflow: hidden;
}
div#pagetop a:before {
  content: '';
  position: fixed;
  right: 19px;
  bottom: 125px;
  display: block;
  width: 10px;
  height: 10px;
  border-top: 1px solid #FFF;
  border-left: 1px solid #FFF;
  transform: rotate(45deg);
  transition: 0.1s;
}
body.dv div#pagetop a:hover,
body.dv div#pagetop a:hover:before {
  opacity: 0.8;
}
}
@media all and (max-width:949px) {
footer#footer {
  position: relative;
  clear: both;
	padding: 120px 0 0;
	overflow: hidden;
}
footer#footer:before {
	content: '';
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 0;
	padding-bottom: 130%;
	background: url(../img/bg/f_bg.jpg) no-repeat center 0;
	background-size: cover;
	z-index: -1;
}
footer#footer nav#contact-link {
	display: none;
}
footer#footer nav#footer-sns {
  padding: 15px 20px;
	background: rgba(46,50,57,0.95);
}
footer#footer nav#footer-sns ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
footer#footer nav#footer-sns ul li {
	width: 50%;
	color: #FFF;
	font-weight: 700;
	text-align: center;
}
footer#footer nav#footer-sns ul li:first-child {
	flex: none;
	width: 100%;
}
footer#footer nav#footer-sns ul li a {
	position: relative;
	display: block;
	margin: 5px 5px 0;
	padding: 8px 5px;
	background: #00B900;
	color: #FFF;
	font-size: 1.4rem;
	font-weight: 500;
	text-decoration: none;
	border-radius: 4px;
}
footer#footer nav#footer-sns ul li.line a:before {
	content: '';
	display: inline-block;
	width: 25px;
	height: 25px;
	margin: 0 5px 0 0;
	background: url(../img/icon/line_white.svg) no-repeat center;
	background-size: 100% auto;
	vertical-align: middle;
}
footer#footer #footer-wrapper {
  padding: 20px 20px 0;
	background: rgba(46,50,57,0.95);
  color: #FFF;
  overflow: hidden;
}
footer#footer div.information {
  margin: 0 0 20px;
  color: #FFF;
	text-align: center;
}
footer#footer div.information a,footer#footer div.information .call-link {
  color: #FFF;
}
footer#footer div.information p {
  margin-bottom: 0;
}
footer#footer div.information .site-title a {
  display: block;
  margin: 0 0 5px;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
}
footer#footer div.information address {
  font-size: 1.4rem;
}
footer#footer div.information ul.sns-link {
	display: flex;
	justify-content: center;
	margin: 20px 0 0;
}
footer#footer div.information ul.sns-link li a {
	position: relative;
	display: block;
	width: 20px;
	height: 0;
	margin: 0 10px;
	padding-top: 20px;
	overflow: hidden;
}
footer#footer div.information ul.sns-link li.instagram a {
	background: url(../img/icon/instagram_white.svg) no-repeat center;
	background-size: 100% auto;
}
footer#footer div.information ul.sns-link li.tiktok a {
	background: url(../img/icon/tiktok_white.svg) no-repeat center;
	background-size: 100% auto;
}
footer#footer div.information ul.sns-link li.twitter a {
	background: url(../img/icon/twitter_white.svg) no-repeat center;
	background-size: 100% auto;
}
footer#footer div.information ul.sns-link li.youtube a {
	background: url(../img/icon/youtube_white.svg) no-repeat center;
	background-size: 100% auto;
}
footer#footer div.information ul.sns-link li.facebook a {
	background: url(../img/icon/facebook_white.svg) no-repeat center;
	background-size: 100% auto;
}
footer#footer div.information ul.sns-link li.note a {
	background: url(../img/icon/note_white.svg) no-repeat center;
	background-size: 100% auto;
}
footer#footer div.footer-link {
  display: none;
}
footer#footer p.copyright {
  margin: 0;
  padding: 10px 0;
  color: rgba(255,255,255,0.6);
  font-size: 1.1rem;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 1px;
}
div#pagetop {
  position: fixed;
  right: 0;
  bottom: 70px;
  opacity: 0;
  transition: 0.3s;
  z-index: 998;
}
div#pagetop.show {
  opacity: 1;
}
div#pagetop a {
  display: block;
  width: 40px;
  height: 0;
  padding-top: 50px;
  background: #1c1e23;
  overflow: hidden;
  transition: 0.1s;
}
div#pagetop a:before {
  content: '';
  position: fixed;
  right: 12px;
  bottom: 85px;
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #FFF;
  border-left: 2px solid #FFF;
  transform: rotate(45deg);
  transition: 0.1s;
}
}