@charset "utf-8";
/*------------------------------------------------------------
Theme Name: ants design
Theme URI: null
Description: Description
Author: 81bridge - WXJ,LSZ
Version: 1.0
------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css?family=Josefin+Sans:300,400,600,700&display=swap');
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	outline: 0;
	font-size: 1em;
	border: 0;
	background: transparent;
}
html {
	font-size: 62.5%;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
a, a:link {
	color: #000;
	text-decoration: none;
}
a:visited {
	color: #000;
}
a:hover {
	color: #000;
}
a:active {
	color: #000;
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
* html .clearfix {
	zoom: 1;
}
* + html .clearfix {
	zoom: 1;
}
.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}
.txtC {
	text-align: center;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #000;
	font-size: 1.7rem;
	font-weight: 500;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
body.customize-support {
	margin-top: -32px !important;
}
body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
	overflow-y: scroll;
}
#container {
	padding-top: 137px;
	position: relative;
	text-align: left;
}
#main {
	padding-top: 136px;
	background: #C30000 url("img/common/bg01.jpg") no-repeat center top;
	background-size: 100% 578px;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (max-width: 1024px) {
	body.customize-support {
		margin-top: 0 !important;
	}
	#container {
		padding-top: 77px;
	}
	#main {
		padding-top: 64px;
		background-size: 100% 400px;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;	
	}
	a:hover, a:hover img {
		opacity: 1 !important;
	}
}
@media all and (min-width: 768px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 767px) {
	body {
		min-width: inherit;
		font-size: 1.2rem;
	}
	#container {
		padding-top: 68px;
	}
	#main {
		background-image: url("img/common/sp_bg01.jpg");
		background-size: 100% 172px;
	}
	.sp {
		display: block;
	}
	.pc {
		display: none !important;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	width: 100%;
	height: 137px;
	position: fixed;
	left: 0;
	top: 0;
	background-color: #FFF;
	z-index: 10000;
}
#gHeader .hBox {
	margin: 0 auto;
	padding: 51px 20px 0;
	max-width: 1600px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#gHeader h1 {
	width: 221px;
	position: relative;
	z-index: 100;
}
@media all and (min-width: 1025px) {
	.menu, .menuBox {
		display: none !important;
	}
}
@media all and (max-width: 1024px) {
	#gHeader {
		height: 77px;
	}
	#gHeader .hBox {
		padding: 20px;
		max-width: inherit;
		position: relative;
		z-index: 1001;
		background: rgba(255, 255, 255, 0.9);
	}
	.menu {
		margin-top: 9px;
		width: 39px;
		height: 22px;
		cursor: pointer;
		display: block;
		position: relative;
	}
	.menu span {
		width: 100%;
		height: 2px;
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		background-color: #000;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
	}
	.menu span:nth-child(2) {
		top: 9px;
	}
	.menu span:nth-child(3) {
		top: 17px;
	}
	.menu.on span:nth-child(1) {
		-webkit-transform: translateY(9px) translateX(0) rotate(45deg);
		-ms-transform: translateY(9px) translateX(0) rotate(45deg);
		transform: translateY(9px) translateX(0) rotate(45deg);
	}
	.menu.on span:nth-child(2) {
		opacity: 0;
	}
	.menu.on span:nth-child(3) {
		-webkit-transform: translateY(-9px) translateX(0) rotate(-45deg);
		-ms-transform: translateY(-9px) translateX(0) rotate(-45deg);
		transform: translateY(-9px) translateX(0) rotate(-45deg);
	}
	.menuBox {
		display: none;
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 0;
		background: rgba(255, 255, 255, 0.9);
		z-index: 1000;
		overflow: auto;
	}
	.menuBox .menuList {
		margin-top: 68px;
		padding-top: 18px;
	}
	.menuBox .menuList li {
		position: relative;
	}
	.menuBox .menuList li .parent,
	.menuBox .menuList li a {
		padding: 12px 40px 12px;
		display: block;
		font-size: 1.5rem;
		font-weight: 700;
		font-family: 'Josefin Sans', sans-serif;
		letter-spacing: 0.25em;
	}
	.menuBox .menuList li a span {
		padding-right: 20px;
		display: inline-block;
		background: url("img/common/icon06.png") no-repeat right top 2px;
		background-size: 12px 12px;
	}
	.menuBox .menuList li .dropBtn {
		width: 50px;
		height: 46px;
		position: absolute;
		top: 0;
		right: 25px;
		background: url("img/common/icon05.png") no-repeat center center;
		background-size: 12px auto;
	}
	.menuBox .menuList li .dropBtn.on {
		transform: rotate(180deg);
	}
	.menuBox .menuList li .subList {
		margin: 8px 0 18px;
		padding: 14px 0;
		display: none;
		background-color: #FFF;
	}
	.menuBox .menuList li .subList.on {
		display: block;
	}
	.menuBox .menuList li .subList li a {
		padding: 10px 68px;
		font-size: 1.2rem;
		font-weight: bold;
		font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	}
	.menuBox .linkList {
		margin: 12px 30px 30px;
	}
	.menuBox .linkList li {
		display: inline-block;
		vertical-align: top;
	}
	.menuBox .linkList li a {
		margin: 0 9px;
		display: inline-block;
		font-size: 1rem;
		font-weight: 700;
		font-family: 'Josefin Sans', sans-serif;
		letter-spacing: 0.25em;
	}
}
@media all and (max-width: 767px) {
	#gHeader {
		height: 68px;
	}
	#gHeader .hBox {
		padding: 22px 16px 21px;
	}
	#gHeader h1 {
		width: 147px;
	}
	.menu {
		margin-top: 3px;
	}
}
/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi {
	margin-top: 13px;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 600;
}
#gNavi .naviList {
	display: -webkit-flex;
	display: flex;
}
#gNavi .naviList > li {
	margin-left: 53px;
}
#gNavi .naviList > li > a,
#gNavi .naviList li .parent {
	display: block;
	position: relative;
	font-size: 1.4rem;
	letter-spacing: 0.25em;
	line-height: 1.7;
	z-index: 51;
	-webkit-transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
	-moz-transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
	-o-transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
	transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s
}
#gNavi .naviList li .parent:before {
	width: 7px;
	height: 5px;
	position: absolute;
	right: -12px;
	top: 7px;
	background: url("img/common/icon01.png") no-repeat;
	background-size: 100% auto;
	content: '';
}
#gNavi .naviList .navi04 a:before {
	width: 9px;
	height: 9px;
	position: absolute;
	right: -12px;
	top: 4px;
	background: url("img/common/icon02.png") no-repeat;
	background-size: 100% auto;
	content: '';
}
#gNavi .naviList > li > a:after,
#gNavi .naviList li .parent:after {
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #C20000;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	content: '';
}
#gNavi .naviList > li > a:hover:after,
#gNavi .naviList li .parent:hover:after,
#gNavi .naviList li .parent.on:after {
	transform-origin: left top;
	transform: scale(1, 1)
}
#gNavi .naviList li .subNavi {
	display: none;
	padding: 114px 20px 75px;
	width: 100%;
	left: 0;
	top: calc(100% - 51px);
	position: absolute;
	background: #FFF;
	z-index: 50;
}
#gNavi .naviList li .subNavi ul {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
}
#gNavi .naviList li .subNavi li {
	margin: 0 10px;
	width: 316px;
}
#gNavi .naviList li .subNavi li a {
	display: block;
}
#gNavi .naviList li .subNavi li a:before, #gNavi li .subNavi li a:after {
	display: none;
}
#gNavi .naviList li .subNavi li a:hover {
	opacity: 0.7;
}
#gNavi .naviList li .subNavi li .txt {
	padding: 14px 25px 0;
	display: block;
	position: relative;
	font-size: 1.7rem;
	font-weight: bold;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	letter-spacing: 0;
}
#gNavi .naviList li .subNavi li .txt:before {
	width: 13px;
	height: 2px;
	position: absolute;
	left: 0;
	top: 25px;
	background-color: #c9c9c9;
	content: '';
}
@media all and (max-width: 1024px) {
	#gNavi {
		display: none;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	color: #FFF;
	background: #C30D0C;
}
#gFooter a {
	color: #FFF;
}
#gFooter .fBg {
	padding: 138px 20px;
	min-height: 595px;
	background: url("img/common/f_bg01.jpg") no-repeat center center;
	background-size: cover;
}
#gFooter .fBox {
	margin: 0 auto;
	max-width: 1054px;
}
#gFooter .fLogo {
	margin-bottom: 48px;
}
#gFooter .fTxtList {
	margin: 0 10px 60px;
	padding: 0 35px;
	border-left: 1px solid #FFF;
}
#gFooter .fTxtList li {
	margin-bottom: 12px;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
}
#gFooter .fTxtList li:last-child {
	margin-bottom: 0;
}
#gFooter .fNaviList {
	margin: 0 7px;
}
#gFooter .fNaviList li {
	margin-right: 12px;
	display: inline-block;
	vertical-align: top;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
}
#gFooter .fNaviList li a {
	margin-right: 15px;
	display: inline-block;
}
#gFooter .fNaviList li a:hover {
	opacity: 0.7;
}
#gFooter .copyright {
	margin: 0 auto;
	padding: 38px 20px 34px;
	max-width: 1094px;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
#gFooter .pageTop {
	display: none;
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 10;
}
#gFooter .pageTop a:hover {
	opacity: 0.7;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	#gFooter .fBg {
		padding: 100px 20px;
		min-height: inherit;
	}
	#gFooter .fBox {
		max-width: inherit;
	}
	#gFooter .copyright {
		padding: 31px 20px;
	}
	#gFooter .pageTop {
		width: 85px;
	}
}
@media all and (max-width: 767px) {
	#gFooter .fBg {
		padding: 50px 0 27px;
		min-height: inherit;
		background-image: url("img/common/sp_f_bg01.jpg");
	}
	#gFooter .fBox {
		max-width: inherit;
	}
	#gFooter .fLogo {
		margin: 0 auto 36px;
		width: 95px;
	}
	#gFooter .fTxtList {
		margin: 0 10px 66px;
		padding: 0 35px;
		position: relative;
		border-left: none;
	}
	#gFooter .fTxtList:before {
		width: 100px;
		height: 1px;
		position: absolute;
		left: 50%;
		bottom: -32px;
		background: #FFF;
		content: '';
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	#gFooter .fTxtList li {
		margin-bottom: 17px;
		font-size: 1rem;
		text-align: center;
		line-height: 1.73;
	}
	#gFooter .fTxtList li:last-child {
		margin-bottom: 0;
	}
	#gFooter .fNaviList {
		margin: 0;
		text-align: center;
	}
	#gFooter .fNaviList li {
		margin: 0;
		font-size: 0.9rem;
	}
	#gFooter .fNaviList li a {
		margin: 0 9px 0 6px;
	}
	#gFooter .copyright {
		padding: 17px 22px 18px;
		max-width: inherit;
		font-size: 0.9rem;
	}
	#gFooter .pageTop {
		width: 50px;
	}
}
/*------------------------------------------------------------
	loading
------------------------------------------------------------*/
.loading {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: #FFF;
	z-index: 100000;
}
.loading .loadingImg {
	width: 100%;
	height: 100%;
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
.loading .loadingImg span {
	width: 10px;
	height: 10px;
	display: block;
	border-radius: 50%;
	overflow: hidden;
	-webkit-animation: 2.5s ease 0s infinite flower-spinner-bigger-dot-animation-data-v-7b1ad6b5;
	animation: 2.5s ease 0s infinite flower-spinner-bigger-dot-animation-data-v-7b1ad6b5;
	background: url("img/common/loading_img.png") no-repeat center center;
	background-size: 100% 100%;
}
@-webkit-keyframes flower-spinner-bigger-dot-animation-data-v-7b1ad6b5 {
	0%, to {
		width: 5px;
		height: 5px;
	}
	50% {
		-webkit-transform: rotate(180deg)
	}
	25%, 75% {
		width: 91px;
		height: 91px;
	}
	to {
		-webkit-transform: rotate(1turn);
	}
}
@keyframes flower-spinner-bigger-dot-animation-data-v-7b1ad6b5 {
	0%, to {
		width: 5px;
		height: 5px;
	}
	50% {
		transform: rotate(180deg)
	}
	25%, 75% {
		width: 91px;
		height: 91px;
	}
	to {
		transform: rotate(1turn);
	}
}
/*------------------------------------------------------------
	flex
------------------------------------------------------------*/
.flex {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}
.flex.left {
	justify-content: flex-start;
	-webkit-justify-content: flex-start;
}
/*------------------------------------------------------------
	fadeUp
------------------------------------------------------------*/
.fadeUp {
	display: block;
	visibility: hidden;
	opacity: 0;
	transition: opacity 1.25s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1.25s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: opacity 1.25s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1.25s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: opacity 1.25s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1.25s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1.25s cubic-bezier(0.215, 0.61, 0.355, 1);
	-webkit-transform: translateY(80px);
	transform: translateY(80px);
}
.fadeUp.is-fade {
	visibility: visible;
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	max-width: 1000px;
	margin: 0 auto;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	.content {
		max-width: inherit;
	}
}
@media all and (max-width: 767px) {
	.content {
		max-width: inherit;
		margin: 0 auto;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 31px;
	text-align: center;
}
.headLine01 .en {
	margin-bottom: 55px;
	color: #c30000;
	display: block;
	font-size: 2.2rem;
	font-family: 'Josefin Sans', sans-serif;
	letter-spacing: 2px;
}
.headLine01 .jp {
	display: block;
	font-size: 5.0rem;
}
@media all and (max-width: 767px) {
	.headLine01 {
		margin-bottom: 12px;
	}
	.headLine01 .en {
		margin-bottom: 17px;
		font-size: 1.1rem;
		letter-spacing: 1px;
	}
	.headLine01 .jp {
		font-size: 2.25rem;
		letter-spacing: -1px;
	}
}
@media all and (max-width: 374px) {
	.headLine01 .jp {
		font-size: 2rem;
	}
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 147px;
	text-align: center;
}
.headLine02 .txt {
	padding: 5px 12px;
	display: inline-block;
	color: #FFF;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	background-color: #C30000;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	.headLine02 {
		margin-bottom: 100px;
	}
}
@media all and (max-width: 767px) {
	.headLine02 {
		margin-bottom: 50px;
	}
	.headLine02 .txt {
		padding: 3px 8px;
		font-size: 1.2rem;
		letter-spacing: 0.1em;
	}
}
/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
	margin-bottom: 55px;
	text-align: center;
	color: #c30000;
	font-size: 1.8rem;
	font-family: 'Josefin Sans', sans-serif;
	letter-spacing: 0.05em;
}
@media all and (max-width: 767px) {
	.headLine03 {
		margin-bottom: 17px;
		font-size: 1.2rem;
	}
}
/*------------------------------------------------------------
	headLine04
------------------------------------------------------------*/
.headLine04 {
	margin-bottom: 15px;
	padding-left: 20px;
	position: relative;
	font-size: 1.3rem;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 700;
}
.headLine04:before {
	width: 11px;
	height: 1px;
	position: absolute;
	left: 0;
	top: 8px;
	background-color: #C30000;
	content: '';
}
/*------------------------------------------------------------
	headLine05
------------------------------------------------------------*/
.headLine05 {
	margin-bottom: 78px;
	text-align: center;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 700;
	font-size: 5rem;
	color: #c30000;
	letter-spacing: 0.1em;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	.headLine05 {
		margin-bottom: 60px;
		font-size: 4rem;
	}
}
@media all and (max-width: 767px) {
	.headLine05 {
		margin-bottom: 30px;
		font-size: 2.5rem;
		letter-spacing: 0.1em;
	}
}
/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn {
	display: -webkit-flex;
	display: flex;
}
.comBtn a {
	padding: 19px 10px 16px;
	width: 226px;
	position: relative;
	display: block;
	text-align: center;
	border-radius: 3px;
	border: 2px solid #CF0101;
	background: rgba(253, 252, 252, 0.5);
	overflow: hidden;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.comBtn a + a {
	margin-left: 15px;
}
.comBtn .link01 {
	width: 290px;
}
.comBtn a:after {
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #CF0101;
	content: '';
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.comBtn a:hover:after {
	width: 100%;
}
.comBtn a .txt {
	padding: 4px 0 0px 30px;
	position: relative;
	z-index: 1;
	display: inline-block;
	color: #CF0101;
	font-size: 1.9rem;
	font-weight: 600;
	font-family: 'Josefin Sans', sans-serif;
	background: url("img/common/icon08.png") no-repeat left center;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.comBtn a:hover .txt {
	color: #FFF;
	background-image: url("img/common/icon09.png");
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	.comBtn a:after {
		display: none;
	}
	.comBtn a:hover .txt {
		color: #CF0101;
		background-image: url("img/common/icon08.png");
	}
}
@media all and (max-width: 767px) {
	.comBtn {
		-webkit-justify-content: center;
		justify-content: center;
	}
	.comBtn a {
		padding: 10px 10px 10px;
		width: 156px;
		display: block;
		border: 1px solid #CF0101;
		background: transparent;
	}
	.comBtn a + a {
		margin-left: 9px;
	}
	.comBtn .link01 {
		width: 156px;
	}
	.comBtn a .txt {
		padding-left: 21px;
		padding-top: 3px;
		min-height: 16px;
		font-size: 1.25rem;
		letter-spacing: 0.05em;
		background-image: url("img/common/sp_icon08.png");
		background-size: 16px 16px;
	}
	.comBtn a:after {
		display: none;
	}
	.comBtn a:hover .txt {
		color: #CF0101;
		background-image: url("img/common/sp_icon08.png");
	}
}
/*------------------------------------------------------------
	comBgBox
------------------------------------------------------------*/
.comBgBox {
	padding: 0 20px 160px;
	position: relative;
}
.comBgBox:before {
	width: 100%;
	height: calc(100% - 217px);
	position: absolute;
	left: 0;
	bottom: 0;
	background: url("img/common/bg02.jpg") no-repeat top center;
	background-size: cover;
	content: '';
}
.comBgBox .bgWhite {
	margin: 0 auto;
	padding: 180px 20px 266px;
	max-width: 1500px;
	position: relative;
	z-index: 1;
	background: #FFF;
}
.comBgBox .bgWhite:before {
	margin-left: -1px;
	width: 2px;
	height: 60px;
	position: absolute;
	left: 50%;
	top: -60px;
	background: #DF8181;
	content: '';
}
.comBgBox .bgWhite:after {
	margin-left: -1px;
	width: 2px;
	height: 60px;
	position: absolute;
	left: 50%;
	top: 0;
	background: #E08081;
	content: '';
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	.comBgBox {
		padding: 0 20px 100px;
	}
	.comBgBox:before {
		height: calc(100% - 150px);
	}
	.comBgBox .bgWhite {
		padding: 100px 20px;
		max-width: inherit;
	}
	.comBgBox .bgWhite:before {
		height: 40px;
		top: -40px;
	}
	.comBgBox .bgWhite:after {
		height: 40px;
	}
}
@media all and (max-width: 767px) {
	.comBgBox {
		padding: 0;
	}
	.comBgBox:before {
		/* display: none; */
	}
	.comBgBox .bgWhite {
		padding: 80px 30px 96px;
		max-width: inherit;
	}
	.comBgBox .bgWhite:before {
		width: 1px;
		height: 30px;
		top: -30px;
	}
	.comBgBox .bgWhite:after {
		width: 1px;
		height: 30px;
	}
}
/*------------------------------------------------------------
	company
------------------------------------------------------------*/
#company .h2Ttl {
	margin: 0 auto 131px;
	width: 466px;
	text-align: center;
}
#company .ttl {
	margin-bottom: 90px;
	text-align: center;
	font-size: 4rem;
	line-height: 1.74;
}
#company .txtBox {
	margin-bottom: 82px;
	text-align: center;
}
#company .txtBox ul {
	display: inline-block;
	text-align: left;
}
#company .txtBox li {
	padding-left: 2em;
	text-indent: -2em;
	font-size: 3.2rem;
	line-height: 2;
}
#company .text01 {
	text-align: center;
	font-size: 2.4rem;
	line-height: 2;
}
#company .bgRed {
	padding: 169px 20px 260px;
	color: #FFF;
	background: #C30000 url("img/company/bg03.png") no-repeat right top;
	background-size: 1040px auto;
}
#company .h2Ttl01 {
	margin: 0 auto 64px;
	width: 220px;
	text-align: center;
}
#company .h2Ttl01 .txt {
	margin-top: 63px;
	display: inline-block;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.2em;
}
#company .name {
	margin-bottom: 76px;
	text-align: center;
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: 0.2em;
}
#company .name .txt {
	margin-bottom: 28px;
	padding: 9px 15px 6px;
	min-width: 441px;
	display: inline-block;
	color: #C30000;
	font-size: 3rem;
	letter-spacing: 0.15em;
	background-color: #fff;
}
#company .ttl01 {
	margin-bottom: 58px;
	font-weight: bold;
	line-height: 1.75;
	letter-spacing: 0.12em;
}
#company .text02 {
	text-align: center;
	font-size: 1.9rem;
	font-weight: bold;
	line-height: 2.1;
}
#company .bgBox02 {
	padding: 5px 0 227px;
	background: url("img/company/bg02.jpg") no-repeat center center;
	background-size: cover;
}
#company .logoBox {
	margin: -125px auto 178px;
	padding: 80px 30px 73px;
	width: 600px;
	text-align: center;
	background-color: #fff;
}
#company .logoBox .headLine02 {
	margin-bottom: 60px;
}
#company .logoBox .pho {
	margin-bottom: 62px;
}
#company .logoBox .pho img {
	width: 240px;
}
#company .logoBox .text {
	margin-bottom: 42px;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.95;
}
#company .logoBox .en {
	color: #C30000;
	letter-spacing: 0.09em;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 700;
}
.inforList {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
}
.inforList li {
	margin: 0 10px;
	width: 316px;
}
.inforList li a {
	display: block;
}
.inforList li a:hover {
	opacity: 0.7;
}
.inforList li img {
	height: 148px;
}
.inforList li .txt {
	padding: 14px 25px 0;
	position: relative;
	display: block;
	font-weight: bold;
}
.inforList li .txt:before {
	width: 13px;
	height: 2px;
	position: absolute;
	left: 0;
	top: 25px;
	background-color: #C9C9C9;
	content: '';
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	#company .h2Ttl {
		margin-bottom: 50px;
		width: 400px;
	}
	#company .ttl {
		margin-bottom: 50px;
		font-size: 3rem;
	}
	#company .txtBox {
		margin-bottom: 45px;
	}
	#company .txtBox li {
		font-size: 2.5rem;
	}
	#company .text01 {
		font-size: 2rem;
	}
	#company .bgRed {
		padding: 100px 10px 130px;
		background-size: 400px auto;
	}
	#company .h2Ttl01 {
		margin: 0 auto 64px;
		width: 190px;
	}
	#company .h2Ttl01 .txt {
		margin-top: 45px;
		font-size: 1.8rem;
	}
	#company .name {
		margin-bottom: 76px;
	}
	#company .name .txt {
		margin-bottom: 20px;
		min-width: 380px;
		font-size: 2.5rem;
	}
	#company .text02 {
		font-size: 1.8rem;
	}
	#company .bgBox02 {
		padding: 5px 0 100px;
	}
	#company .logoBox {
		margin: -95px auto 100px;
		padding: 60px 30px;
	}
	#company .logoBox .headLine02 {
		margin-bottom: 50px;
	}
	#company .logoBox .pho {
		margin-bottom: 50px;
	}
	#company .logoBox .pho img {
		width: 220px;
	}
	.inforList li {
		margin: 0 1.5%;
		width: 30%;
	}
	.inforList li img {
		height: auto;
	}
}
@media all and (max-width: 767px) {
	#company .h2Ttl {
		margin: 0 auto 45px;
		width: 171px;
	}
	#company .comBgBox .bgWhite {
		padding: 80px 27px 96px;
	}
	#company .ttl {
		margin-bottom: 20px;
		font-size: 2rem;
		font-weight: bold;
		line-height: 1.79;
		letter-spacing: 0;
	}
	#company .txtBox {
		margin: 0 10px 26px;
		text-align: left;
	}
	#company .txtBox ul {
		display: block;
		text-align: left;
	}
	#company .txtBox li {
		font-size: 1.5rem;
		font-weight: bold;
		line-height: 2.4;
	}
	#company .text01 {
		margin-left: 10px;
		text-align: justify;
		font-size: 1.5rem;
		font-weight: bold;
		line-height: 1.65;
		letter-spacing: 0;
	}
	#company .bgRed {
		margin-bottom: 281px;
		padding: 54px 20px 0;
		background-image: url("img/company/sp_bg03.png");
		background-size: 274px auto;
	}
	#company .h2Ttl01 {
		margin: 0 auto 16px;
		width: 121px;
	}
	#company .h2Ttl01 .txt {
		margin-top: 60px;
		font-size: 1.4rem;
		letter-spacing: 0.15em;
	}
	#company .name {
		margin-bottom: 42px;
		font-size: 1rem;
	}
	#company .name .txt {
		margin-bottom: 13px;
		padding: 6px 10px 4px;
		min-width: inherit;
		font-size: 2rem;
	}
	#company .ttl01 {
		margin-bottom: 39px;
		line-height: 2;
		letter-spacing: 0.1em;
	}
	#company .text02 {
		font-size: 1.6rem;
		line-height: 2.5;
	}
	#company .bgBox02 {
		padding: 5px 0 48px;
		background-image: url("img/company/sp_bg02.jpg");
	}
	#company .logoBox {
		margin: -240px 38px 43px;
		padding: 50px 20px 45px;
		width: auto;
	}
	#company .logoBox .headLine02 {
		margin-bottom: 31px;
	}
	#company .logoBox .pho {
		margin-bottom: 24px;
	}
	#company .logoBox .pho img {
		width: 120px;
	}
	#company .logoBox .text {
		margin-bottom: 15px;
		font-size: 1.4rem;
		line-height: 2;
	}
	#company .logoBox .en {
		font-size: 0.5rem;
	}
	.inforList li {
		margin: 0;
		width: 32%;
	}
	.inforList li:nth-child(3n-1) {
		margin: 0 2%;
	}
	.inforList li img {
		height: auto;
	}
	.inforList li .txt {
		padding: 9px 0 0;
		font-size: 1.2rem;
		text-align: center;
	}
	.inforList li .txt:before {
		display: none;
	}
}
@media all and (max-width: 365px) {
	#company .comBgBox .bgWhite {
		padding: 80px 20px 96px;
	}
}
@media all and (max-width: 359px) {
	#company .text02 {
		font-size: 1.5rem;
	}
	#company .logoBox {
		margin: -240px 20px 43px;
	}
}
/*------------------------------------------------------------
	news
------------------------------------------------------------*/
#news .h2Ttl {
	margin: 29px auto 144px;
	width: 206px;
}
#news .content {
	margin: 0 auto;
	width: 808px;
}
#news .comBgBox .bgWhite {
	padding: 143px 20px;
}
#news .linkList {
	margin-bottom: 25px;
	padding: 23px 28px 24px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	background-color: #F5F5F5;
}
#news .linkList li a {
	margin: 0 10px;
	display: inline-block;
	font-size: 1.3rem;
	font-weight: bold;
}
#news .linkList li a:hover {
	opacity: 0.7;
}
#news .newsList li {
	padding: 35px 0 26px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	font-weight: bold;
	border-bottom: 2px solid #F8F8F8;
}
#news .time {
	font-size: 1.4rem;
	font-weight: bold;
	color: #666;
}
#news .newsList li .time {
	width: 112px;
}
#news .mark {
	padding: 7px 5px 5px;
	width: 84px;
	text-align: center;
	color: #FFF;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1;
	border-radius: 2px;
}
#news .mark01 {
	background-color: #59A5D9;
}
#news .mark02 {
	background-color: #80BD6F;
}
#news .mark03 {
	background-color: #3860B8;
}
#news .mark04 {
	background-color: #CEC445;
}
#news .newsList li .mark {
	margin-right: 48px;
}
#news .newsList li .txt {
	width: calc(100% - 244px);
}
#news .newsList li a {
	padding-bottom: 5px;
	color: #333;
	display: block;
	font-size: 1.6rem;
	line-height: 1.6;
}
#news .newsList li a:hover,
#news .contentBox a:hover {
	opacity: 0.7;
}
#news .ttlBox {
	padding-top: 4px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#news .ttlBox .mark {
	margin-right: 20px;
}
#news .ttlBox .time {
	margin-top: 2px;
}
#news .ttlBox h3 {
	margin-top: 35px;
	padding-bottom: 43px;
	width: 100%;
	font-size: 2.5rem;
}
#news .contentBox {
	padding: 83px 0 91px;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: justify;
	line-height: 3;
	border-top: 1px solid #F0F0F0;
	border-bottom: 1px solid #F0F0F0;
}
#news .pageUl {
	margin-top: 87px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	font-size: 1.7rem;
	font-weight: bold;
}
#news .pageUl li {
	margin: 0 30px;
}
#news .pageUl li a {
	padding: 0 10px;
	display: block;
}
#news .pageUl li a:hover {
	opacity: 0.7;
}
#news .pageUl li img {
	width: 20px;
}
.wp-pagenavi {
	margin-top: 90px;
	clear: both;
	text-align: center;
}
.wp-pagenavi a, .wp-pagenavi span {
	display: inline-block;
	vertical-align: top;
	text-decoration: none;
	padding: 6px 15px 6px;
	margin: 0 10px;
	font-weight: bold;
	background: #F0F0F0;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
	background: #C30000;
	color: #FFF;
}
.wp-pagenavi .first, .wp-pagenavi .last, .wp-pagenavi .pages {
	display: none;
}
.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
	padding: 10px 10px 3px;
	background: transparent;
}
.wp-pagenavi .previouspostslink img, .wp-pagenavi .nextpostslink img {
	width: 20px;
}
.wp-pagenavi .previouspostslink:hover, .wp-pagenavi .nextpostslink:hover {
	opacity: 0.7;
	background: transparent;
}
.wp-pagenavi .extend {}
@media all and (max-width: 1024px) {
	.wp-pagenavi a:hover {
		background: #F0F0F0;
		color: #000;
	}
}
@media all and (max-width: 767px) {
	.wp-pagenavi a, .wp-pagenavi span {
		padding: 3px 10px 3px;
		margin: 0 5px;
	}
	.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
		padding: 5px 5px 3px;
	}
	.wp-pagenavi .previouspostslink img, .wp-pagenavi .nextpostslink img {
		width: 15px;
	}
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	#news .h2Ttl {
		margin: 26px auto 63px;
		width: 170px;
	}
	#news .content {
		width: 100%;
		max-width: 808px;
	}
	#news .comBgBox .bgWhite {
		padding-top: 80px;
	}
}
@media all and (max-width: 767px) {
	#news .h2Ttl {
		margin: 4px auto 66px;
		width: 68px;
	}
	#news .content {
		width: auto;
	}
	#news .comBgBox .bgWhite {
		padding: 50px 15px;
	}
	#news .linkList {
		margin-bottom: 25px;
		padding: 5px 10px 15px;
	}
	#news .linkList li a {
		margin: 10px 10px 0;
	}
	#news .newsList li {
		padding: 20px 0;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		border-bottom: 1px solid #F8F8F8;
	}
	#news .newsList li .mark {
		margin-right: 0;
	}
	#news .newsList li .txt {
		margin-top: 5px;
		width: 100%;
	}
	#news .newsList li a {
		padding-bottom: 0;
		font-size: 1.5rem;
	}
	#news .ttlBox {
		padding-top: 0;
	}
	#news .ttlBox h3 {
		margin-top: 12px;
		padding-bottom: 20px;
		font-size: 1.8rem;
	}
	#news .contentBox {
		padding: 30px 0;
		font-size: 1.4rem;
		line-height: 2;
	}
	#news .pageUl {
		margin-top: 40px;
		font-size: 1.5rem;
	}
	#news .pageUl li {
		margin: 0 15px;
	}
}
/*------------------------------------------------------------
	service
------------------------------------------------------------*/
#service #main {
	padding: 0;
	background: none;
}
#service .sec01 {
	min-height: 1343px;
	background: url("img/service/sec01_bg.jpg") no-repeat center center;
	background-size: cover;
}
#service .sec01 .content {
	max-width: 1116px;
	margin: 0 auto;
}
#service .sec01 .topBox {
	padding: 227px 0 120px 10px;
}
#service .sec01 .topBox h2 {
	float: left;
	width: 47%;
}
#service .sec01 .topBox .imgTxtBox {
	float: right;
	padding: 42px 0px 0 0;
	width: 50.6%;
	transition: 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#service .sec01 .topBox .imgTxtBox .imgTxt_item {
	margin-top: 13px;
	position: relative;
	height: 62px;
	overflow: hidden;
}
#service .sec01 .topBox .imgTxtBox .imgTxt_item:nth-child(1) {
	width: 100%;
	max-width: 550px;
}
#service .sec01 .topBox .imgTxtBox .imgTxt_item:nth-child(2) {
	width: 100%;
	max-width: 478px;
}
#service .sec01 .topBox .imgTxtBox .imgTxt_item .is-parent {
	display: block;
	position: absolute;
	left: -100%;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
#service .sec01 .topBox .imgTxtBox .imgTxt_item .is-child {
	background-color: #C30000;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
}
#service .sec01 .topBox .imgTxtBox .imgTxt_item img {
	display: block;
	position: absolute;
	left: -100px;
	top: 0;
	background: #FFF;
	z-index: 1;
	opacity: 0;
}
#service .sec01 .txtP {
	margin: 0 9px;
	font-size: 2.1rem;
	color: #fff;
	font-weight: bold;
	text-align: justify;
	line-height: 2.31;
}
#service .sec02 {
	padding-bottom: 150px;
	background: url("img/service/sec02_bg.jpg") no-repeat center center;
	background-size: cover;
}
#service .sec02 .topBox {
	max-width: 1504px;
	padding: 160px 0 145px;
	margin: 0 auto -330px;
	top: -535px;
	position: relative;
	background-color: #fff;
	box-sizing: border-box;
}
#service .sec02 .topBox:before {
	margin-left: -1px;
	position: absolute;
	left: 50%;
	top: -59px;
	width: 2px;
	height: 220px;
	content: "";
	background: url("img/service/line.jpg") no-repeat left top;
}
#service .sec02 .txtP {
	margin-bottom: 89px;
	font-weight: bold;
	font-size: 2.1rem;
	text-align: center;
}
#service .sec02 .txtP img {
	display: inline-block;
	vertical-align: middle;
	margin: -5px 10px 0;
}
#service .sec02 .topImg {
	margin-bottom: 38px;
}
#service .sec02 .content {
	padding-left: 30px;
	max-width: 1025px;
}
#service .sec02 .txtList {
	margin-bottom: 78px;
}
#service .sec02 .txtList li {
	margin-right: 2%;
	float: left;
	width: 32%;
	text-align: center;
}
#service .sec02 .txtList li:last-child {
	margin-right: 0;
}
#service .sec02 .txtList li .imgSpan {
	margin-bottom: 20px;
	display: block;
}
#service .sec02 .txtList li .ttl {
	margin-bottom: 46px;
	font-weight: bold;
	font-size: 3.3rem;
	display: block;
}
#service .sec02 .txtList li .ttl .info {
	display: block;
	font-size: 2.2rem;
	color: #c30000;
}
#service .sec02 .txtList li .link {
	display: block;
	width: 221px;
	margin: 0 auto;
}
#service .sec02 .txtList li .link a {
	padding: 18px 10px 17px;
	display: block;
	position: relative;
	font-size: 1.9rem;
	letter-spacing: 1px;
	font-family: 'Josefin Sans', sans-serif;
	border: 2px solid #C30000;
	border-radius: 3px;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
#service .sec02 .txtList li .link a span {
	padding-left: 28px;
	padding-top: 5px;
	position: relative;
	z-index: 1;
	display: inline-block;
	color: #c30000;
	background: url("img/service/icon01.png") no-repeat left center;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

#service .sec02 .txtList li .link a:after {
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #CF0101;
	content: '';
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
#service .sec02 .txtList li .link a:hover:after {
	width: 100%;
}
#service .sec02 .txtList li .link a:hover span {
	color: #FFF;
	background-image: url("img/service/icon01_over.png");
}



#service .sec03 .photoList li .link a {
	padding: 18px 10px 17px;
	display: block;
	position: relative;
	font-size: 1.9rem;
	letter-spacing: 1px;
	font-family: 'Josefin Sans', sans-serif;
	border: 2px solid #fff;
	background-color: white;
	border-radius: 3px;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
#service .sec03 .photoList li .link a span {
	padding-left: 58px;
	padding-top: 5px;
	position: relative;
	z-index: 1;
	display: inline-block;
	color: #c30000;
	background: url("img/service/icon01.png") no-repeat left center;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

#service .sec03 .photoList li .link a:after {
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #CF0101;
	content: '';
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
#service .sec03 .photoList li .link a:hover:after {
	width: 100%;
}
#service .sec03 .photoList li .link a:hover span {
	color: #FFF;
	background-image: url("img/service/icon01_over.png");
}



#service .sec02 .txt01 {
	margin: 0 11px;
	font-weight: bold;
	line-height: 2.35;
}
#service .sec02 .infoBox {
	max-width: 934px;
	margin: 0 auto;
}
#service .sec02 .infoBox .txt02 {
	padding: 15px 0 102px;
	text-align: center;
	font-weight: bold;
	line-height: 2.35;
}
#service .sec02 .infoBox .listUl {
	margin-bottom: 90px;
}
#service .sec02 .infoBox .listUl li {
	margin-bottom: 70px;
	float: left;
	width: 100%;
	position: relative;
}
#service .sec02 .infoBox .listUl li:before {
	position: absolute;
	left: 68px;
	top: 136px;
	width: 1px;
	height: 103px;
	content: "";
	background-color: #c20000;
}
#service .sec02 .infoBox .listUl li:last-child {
	margin-bottom: 0;
}
#service .sec02 .infoBox .listUl li:last-child:before {
	display: none;
}
#service .sec02 .infoBox li dt {
	float: left;
	padding: 53px 0 0 13px;
}
#service .sec02 .infoBox li dd {
	position: relative;
	margin: 0 20px 0 166px;
	padding: 40px 0 38px 162px;
	border-radius: 15px;
	background-color: #fff;
}
#service .sec02 .infoBox li dd:before {
	margin-top: -13px;
	position: absolute;
	left: -10px;
	top: 50%;
	width: 10px;
	height: 26px;
	content: "";
	background: url("img/service/icon02.png") no-repeat left top;
	background-size: 10px auto;
}
#service .sec02 .infoBox li dd .rTxt {
	margin-bottom: 10px;
	display: block;
	color: #c30000;
	font-size: 2.5rem;
	font-weight: bold;
}
#service .sec02 .infoBox li dd .lImg {
	position: absolute;
	left: 32px;
	top: 50%;
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#service .sec02 .infoBox li dd .txt {
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: -1px;
}
#service .sec02 .infoBox li dd .small {
	font-size: 1.5rem;
	display: inline-block;
	margin-left: 10px;
	vertical-align: middle;
}
#service .sec02 .infoBox .subBox {
	margin: 0 20px;
	padding: 50px 20px;
	position: relative;
	text-align: center;
	background: url("img/service/bg01.png") no-repeat center top;
	background-size: 100% 100%;
}
#service .sec02 .infoBox .subBox:before {
	position: absolute;
	left: -2px;
	top: -2px;
	right: -2px;
	bottom: -2px;
	border: 5px solid #fff;
	border-radius: 17px;
	box-sizing: border-box;
	content: "";
}
#service .sec02 .infoBox .subBox .ttl {
	margin-bottom: 18px;
	color: #fff;
	font-size: 3.5rem;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 4px;
}
#service .sec02 .infoBox .subBox .txt03 {
	color: #fff;
	font-weight: bold;
	line-height: 2.05;
}
#service .sec03 {
	padding: 257px 0 270px;
	background-color: #c30000;
}
#service .sec03 .content {
	max-width: 1140px;
}
#service .sec03 .inner {
	margin: 0 -30px 117px 0;
}
#service .sec03 .inner .photoBox {
	float: right;
	width: 50%;
}
#service .sec03 .inner .photoBox img {
	margin: -16px 0 0 0;
}
#service .sec03 .inner .textBox {
	padding-left: 20px;
	float: left;
	width: 50%;
}
#service .sec03 .inner .headLine01 {
	margin-bottom: 91px;
	color: #fff;
	text-align: left;
}
#service .sec03 .inner .headLine01 .en {
	margin-bottom: 50px;
	color: #fff;
	letter-spacing: 2px;
}
#service .sec03 .inner .textBox p {
	margin: 0 -400px 0 0;
	color: #fff;
	font-weight: bold;
	line-height: 2.3;
}
#service .sec03 .photoList {
	margin-left: 20px;
}
#service .sec03 .photoList li {
	width: 28.3%;
	color: #fff;
	font-weight: bold;
	margin-right: 6.78%;
}
#service .sec03 .photoList li:last-child {
	margin-right: 0;
}
#service .sec03 .photoList li .ttl {
	padding: 28px 0 31px;
	display: block;
	font-size: 2.5rem;
}
#service .sec03 .photoList li .txt {
	line-height: 1.7;
	display: block;
	text-align: justify;
}
#service .sec04 {
	padding: 286px 0 182px;
}
#service .sec04 .headLine01 {
	margin-bottom: 106px;
}
#service .sec04 .headLine01 .en {
	margin-bottom: 46px;
}
#service .sec04 .inner {
	margin: 0 -60px 0 -50px;
}
#service .sec04 .inner .photoBox {
	float: right;
	width: 41%;
}
#service .sec04 .inner .textBox {
	padding-top: 33px;
	float: left;
	width: 57%;
}
#service .sec04 .inner .textBox p {
	margin-bottom: 40px;
	font-weight: bold;
	line-height: 2.35;
}
#service .sec04 .inner .textBox p:last-child {
	margin-bottom: 0;
}
#service .sec05 {
	padding-bottom: 170px;
	text-align: center;
	background: url("img/service/sec05_bg.jpg") no-repeat center center;
	background-size: cover;
}
#service .sec05 .topImg {
	margin-bottom: 11px;
}
#service .sec05 .topImg img {
	margin-top: -68px;
}
#service .sec05 .title {
	margin-bottom: 33px;
	font-size: 5.0rem;
	font-weight: bold;
	color: #c30000;
	letter-spacing: 4px;
}
#service .sec05 .txt {
	font-weight: bold;
	line-height: 2.3;
}
@media all and (min-width: 1025px) and (max-width: 1550px) {
	#service .sec01 .topBox {
		padding: 227px 20px 120px;
	}
	#service .sec01 .txtP {
		margin: 0 20px;
	}
	#service .sec02 .topBox {
		max-width: inherit;
		margin: 0 20px -330px;
	}
	#service .sec02 .content {
		padding: 0 10px;
	}
	#service .sec03 .inner {
		margin: 0 10px 17px -10px;
		margin: 0 20px 17px;
	}
	#service .sec03 .photoList {
		margin: 0 40px;
	}
	#service .sec03 .photoList li {
		width: 30%;
		margin-right: 5%;
	}
	#service .sec04 {
		padding: 286px 20px 182px;
	}
	#service .sec04 .inner {
		margin: 0;
	}
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	#service .sec01 .content {
		max-width: inherit;
	}
	#service .sec01 .topBox {
		padding: 60px 20px 100px;
	}
	#service .sec01 .topBox h2 {
		margin: 0 auto;
		width: 380px;
		float: none;
	}
	#service .sec01 .topBox .imgTxtBox {

		width: auto;
		float: none;
	}
	#service .sec01 .txtP {
		margin: 0 20px;
	}
	#service .sec02 .topBox {
		max-width: inherit;
		margin: 0 20px -430px;
		padding: 100px 0;
	}
	#service .sec02 .content {
		padding: 0 20px;
		max-width: inherit;
	}
	#service .sec02 .headLine01 .jp {
		font-size: 3.8rem;
	}
	#service .sec02 .txtList li .ttl {
		font-size: 2.8rem;
	}
	#service .sec02 .txtList li .ttl .info {
		font-size: 1.8rem;
	}
	#service .sec02 .txtList li .link a {
		-webkit-transition: none;
		-moz-transition: none;
		-o-transition: none;
		transition: none;
	}
	#service .sec02 .txtList li .link a:after {
		display: none;
	}
	#service .sec02 .txtList li .link a:hover span {
		color: #c30000;
		background-image: url("img/service/icon01.png");
	}
	#service .sec02 .infoBox {
		max-width: inherit;
		margin: 0 20px;
	}
	#service .sec02 .infoBox li dt {
		padding-left: 0;
	}
	#service .sec02 .infoBox li dd {
		padding: 40px 10px 38px 130px;
		margin: 0 0 0 130px;
	}
	#service .sec02 .infoBox li dd .lImg {
		left: 15px;
	}
	#service .sec03 .inner {
		margin: 0 0 117px;
	}
	#service .sec03 {
		padding: 150px 20px;
	}
	#service .sec03 .content {
		max-width: inherit;
	}
	#service .sec03 .headLine01 .jp {
		font-size: 3.1rem;
	}
	#service .sec03 .photoList li .ttl {
		font-size: 2.0rem;
	}
	#service .sec03 .inner .textBox p {
		margin-right: -350px;
	}
	#service .sec04 {
		padding: 150px 20px;
	}
	#service .sec04 .inner {
		margin: 0;
	}
	#service .sec04 .inner .textBox {
		width: 59%;
	}
	#service .sec04 .inner .textBox p {
		margin-bottom: 30px;
	}
	#service .sec05 {
		padding: 0 20px 130px;
	}
	#service .sec05 .title {
		font-size: 4rem;
	}
}
@media all and (max-width: 767px) {
	#service .sec01 {
		padding-bottom: 45px;
		min-height: inherit;
		background: url("img/service/sp_sec01_bg.jpg") no-repeat center center;
		background-size: cover;
	}
	#service .sec01 .content {
		max-width: inherit;
		margin: 0 30px;
	}
	#service .sec01 .topBox {
		padding: 51px 0 48px;
	}
	#service .sec01 .topBox h2 {
		float: none;
		width: 176px;
		margin: 0 auto;
		text-align: center;
	}
	#service .sec01 .topBox .imgTxtBox {
		float: none;
		width: 275px;
		margin: 0 auto;
		padding: 19px 0 0 0;
	}
	#service .sec01 .topBox .imgTxtBox .imgTxt_item {
		margin: 6px auto 0;
		height: 32px;
	}
	#service .sec01 .topBox .imgTxtBox .imgTxt_item:nth-child(1) {
		margin-top: 0;
		width: 275px;
	}
	#service .sec01 .topBox .imgTxtBox .imgTxt_item:nth-child(2) {
		width: 239px;
	}
	#service .sec01 .txtP {
		margin-left: 0;
		font-size: 1.4rem;
		color: #fff;
		font-weight: bold;
		line-height: 1.7;
	}
	#service .sec02 {
		padding: 0;
		background: none;
	}
	#service .sec02 .topBox {
		max-width: inherit;
		padding: 62px 0 67px;
		top: 0;
		margin: 0 auto;
	}
	#service .sec02 .topBox:before {
		height: 60px;
		width: 1px;
		top: -30px;
		margin-left: -4px;
		background-size: 1px auto;
	}
	#service .sec02 .txtP {
		margin-bottom: 48px;
		font-weight: bold;
		font-size: 1.3rem;
		text-align: center;
	}
	#service .sec02 .txtP img {
		display: inline-block;
		vertical-align: middle;
		margin: -3px 10px 0;
		width: 18px;
	}
	#service .sec02 .content {
		padding: 0;
		max-width: inherit;
		margin: 0;
	}
	#service .sec02 .txtList {
		margin-bottom: 60px;
	}
	#service .sec02 .txtList li {
		margin: 0 0 23px;
		padding-bottom: 26px;
		float: none;
		width: 100%;
		text-align: center;
		background: url("img/service/sp_line01.jpg") no-repeat center bottom;
		background-size: 225px 1px;
	}
	#service .sec02 .txtList li:last-child {
		margin: 0;
		padding-bottom: 0;
		background: none;
	}
	#service .sec02 .txtList li .imgSpan {
		margin: 0 auto 1px;
		width: 225px;
	}
	#service .sec02 .txtList li .ttl {
		margin-bottom: 17px;
		font-size: 2.25rem;
	}
	#service .sec02 .txtList li .ttl .info {
		font-size: 1.75rem;
		margin-top: 2px;
	}
	#service .sec02 .txtList li .link {
		display: block;
		width: 156px;
		margin: 0 auto;
	}
	#service .sec02 .txtList li .link a {
		padding: 10px 10px 10px;
		font-size: 1.2rem;
		letter-spacing: 1px;
		font-weight: 600;
		border: 1px solid #C30000;
		border-radius: 2px;
		-webkit-transition: none;
		-moz-transition: none;
		-o-transition: none;
		transition: none;
	}
	#service .sec02 .txtList li .link a span {
		padding-left: 20px;
		padding-top: 3px;
		background-size: 16px auto;
		-webkit-transition: none;
		-moz-transition: none;
		-o-transition: none;
		transition: none;
	}
	#service .sec02 .txtList li .link a:after {
		display: none;
	}
	#service .sec02 .txtList li .link a:hover span {
		color: #c30000;
		background-image: url("img/service/icon01.png");
	}
	
	
	
	
	
	
	#service .sec03 .photoList li .link {
		display: block;
		width: 156px;
		margin: 0 auto;
	}
	#service .sec03 .photoList li .link a {
		padding: 10px 10px 10px;
		font-size: 1.2rem;
		letter-spacing: 1px;
		font-weight: 600;
		border: 1px solid #C30000;
		border-radius: 2px;
		-webkit-transition: none;
		-moz-transition: none;
		-o-transition: none;
		transition: none;
	}
	#service .sec03 .photoList li .link a span {
		padding-left: 20px;
		padding-top: 3px;
		background-size: 16px auto;
		-webkit-transition: none;
		-moz-transition: none;
		-o-transition: none;
		transition: none;
	}
	#service .sec03 .photoList li .link a:after {
		display: none;
	}
	#service .sec03 .photoList li .link a:hover span {
		color: #c30000;
		background-image: url("img/service/icon01.png");
	}
	
	
	

	
	#service .sec02 .txt01 {
		margin: 0 30px;
		font-size: 1.35rem;
		line-height: 1.8;
		text-align: justify;
	}
	#service .sec02 .infoBox {
		max-width: inherit;
		margin: 0;
		padding: 68px 30px 89px;
		background: url("img/service/sp_sec02_bg.jpg") no-repeat center top;
		background-size: cover;
	}
	#service .sec02 .infoBox .en {
		margin-bottom: 27px;
		letter-spacing: 1px;
	}
	#service .sec02 .infoBox .jp {
		line-height: 1.6;
	}
	#service .sec02 .infoBox .txt02 {
		padding: 15px 0 39px;
		font-size: 1.35rem;
		text-align: justify;
		line-height: 1.7;
	}
	#service .sec02 .infoBox .listUl {
		margin-bottom: 28px;
	}
	#service .sec02 .infoBox .listUl li {
		margin-bottom: 26px;
		position: relative;
	}
	#service .sec02 .infoBox .listUl li:before {
		position: absolute;
		left: 50%;
		top: auto;
		bottom: -26px;
		width: 1px;
		height: 44px;
		content: "";
		background-color: #c20000;
		z-index: 100;
	}
	#service .sec02 .infoBox .listUl li:last-child {
		margin-bottom: 0;
	}
	#service .sec02 .infoBox .listUl li:last-child:before {
		display: block;
	}
	#service .sec02 .infoBox li dt {
		float: none;
		text-align: center;
		padding: 0;
		width: 63px;
		margin: 0 auto;
		z-index: 100;
		position: relative;
	}
	#service .sec02 .infoBox li dd {
		margin: -20px 0 0;
		padding: 32px 0 44px;
		border-radius: 3px;
		background-color: #fff;
	}
	#service .sec02 .infoBox li dd:before {
		display: none;
	}
	#service .sec02 .infoBox li dd .top {
		margin: 0 auto 5px;
		width: 227px;
	}
	#service .sec02 .infoBox li dd .top .infoTop {
		display: table;
		width: 100%;
		height: 100%;
	}
	#service .sec02 .infoBox li dd .rTxt {
		margin: 0;
		padding-left: 11px;
		font-size: 2rem;
		display: table-cell;
		vertical-align: middle;
	}
	#service .sec02 .infoBox li dd .lImg {
		position: static;
		left: auto;
		top: auto;
		display: table-cell;
		vertical-align: middle;
		width: 50px;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform: none;
		-webkit-transform: none;
		transform: none;
	}
	#service .sec02 .infoBox li dd .txt {
		margin: 0 20px;
		font-size: 1.4rem;
		line-height: 1.6;
		text-align: center;
	}
	#service .sec02 .infoBox li dd .small {
		font-size: 1.4rem;
		margin: -2px 0 0 10px;
		display: block;
	}
	#service .sec02 .infoBox li dd .small01 {
		margin-left: 25px;
	}
	#service .sec02 .infoBox li dd .small02 {
		margin-left: -5px;
	}
	#service .sec02 .infoBox .subBox {
		padding: 31px 20px;
		margin: 0 2px;
		position: relative;
		background: url("img/service/sp_bg01.png") no-repeat center top;
		background-size: 100% 100%;
	}
	#service .sec02 .infoBox .subBox:before {
		position: absolute;
		left: -2px;
		top: -2px;
		right: -2px;
		bottom: -2px;
		border: 2px solid #fff;
		border-radius: 3px;
		box-sizing: border-box;
		content: "";
	}
	#service .sec02 .infoBox .subBox .ttl {
		margin-bottom: 16px;
		font-size: 2rem;
		line-height: 1.4;
		letter-spacing: 1px;
	}
	#service .sec02 .infoBox .subBox .txt03 {
		font-size: 1.4rem;
		line-height: 1.6;
	}
	#service .sec03 {
		padding: 87px 0 94px;
	}
	#service .sec03 .content {
		max-width: inherit;
	}
	#service .sec03 .inner {
		margin: 0 30px 52px;
	}
	#service .sec03 .inner .photoBox {
		float: none;
		width: auto;
		margin: 0 -30px;
	}
	#service .sec03 .inner .photoBox img {
		margin: 0;
	}
	#service .sec03 .inner .textBox {
		padding: 0 0 48px;
		float: none;
		width: 100%;
	}
	#service .sec03 .inner .headLine01 {
		margin: 0 -10px 45px;
		text-align: center;
	}
	#service .sec03 .inner .headLine01 .en {
		margin-bottom: 26px;
		letter-spacing: 1px;
	}
	#service .sec03 .inner .headLine01 .jp {
		line-height: 1.6;
	}
	#service .sec03 .inner .textBox p {
		margin: 0;
		font-size: 1.4rem;
		text-align: justify;
		line-height: 1.6;
	}
	#service .sec03 .photoList {
		margin: 0 20px 0 30px;
	}
	#service .sec03 .photoList li {
		width: 100%;
		color: #fff;
		margin: 0 0 30px;
	}
	#service .sec03 .photoList li:last-child {
		margin-right: 0;
	}
	#service .sec03 .photoList li .photo {
		float: left;
		width: 123px;
	}
	#service .sec03 .photoList li .rTxt {
		display: block;
		padding-left: 151px;
	}
	#service .sec03 .photoList li .ttl {
		padding: 0 0 13px;
		margin: 0 -10px 0 0;
		display: block;
		font-size: 1.75rem;
	}
	#service .sec03 .photoList li .txt {
		line-height: 1.5;
		font-size: 1.2rem;
	}
	#service .sec04 {
		padding: 83px 30px 132px;
	}
	#service .sec04 .headLine01 {
		margin: 0 -10px 28px;
	}
	#service .sec04 .headLine01 .en {
		margin-bottom: 30px;
	}
	#service .sec04 .inner {
		margin: 0;
	}
	#service .sec04 .inner .photoBox {
		float: none;
		width: auto;
		margin: 0 -30px 38px;
	}
	#service .sec04 .inner .textBox {
		padding: 0;
		float: none;
		width: 100%;
	}
	#service .sec04 .inner .textBox p {
		margin: 0 -10px 23px 0;
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 1.6;
		text-align: justify;
	}
	#service .sec04 .inner .textBox p:last-child {
		margin-bottom: 0;
	}
	#service .sec05 {
		padding: 0 30px 80px;
		background: url("img/service/sec05_bg.jpg") no-repeat center center;
		background-size: cover;
	}
	#service .sec05 .topImg {
		margin: 0 auto 16px;
		width: 202px;
	}
	#service .sec05 .topImg img {
		margin-top: -92px;
	}
	#service .sec05 .title {
		margin-bottom: 18px;
		font-size: 2.5rem;
		letter-spacing: 2px;
	}
	#service .sec05 .txt {
		line-height: 1.6;
		font-size: 1.4rem;
		text-align: justify;
	}
}

/***acodion***/
.hideContent {display: none;}
.hideContent {
	padding-bottom: 150px;
}
.panel {text-align: center;}
a.more {
	display: inline-block;
	padding: 24px 70px;
	color: #FFFFFF;
	background-color: #C30000;
}
.more.openBtn {
	background-color: #000000;
}



.panel .more {
	margin-top: -20px;
	margin-bottom: 60px;
	padding: 10px 50px;
}


/*------------------------------------------------------------
	mailForm
------------------------------------------------------------*/
.mailForm {
	padding-top: 33px;
	max-width: 800px;
	margin: 0 auto;
	border-top: 1px solid #f0f0f0;
}
.mailForm form {
	margin-top: -137px;
	padding-top: 137px;
}
.mailForm table {
	margin-bottom: 30px;
	width: 100%;
	border-collapse: collapse;
}
.mailForm th, .mailForm td {
	padding: 28px 3px;
	color: #333;
	font-size: 1.6rem;
	text-align: left;
	vertical-align: middle;
}
.mailForm th {
	padding: 42px 0 0 32px;
	width: 24.5%;
	position: relative;
	vertical-align: top;
}
.mailForm th .iconSpan {
	position: absolute;
	left: 5px;
	top: 46px;
	color: #C30000;
	font-size: 1.1rem;
}
.mailForm td {
	font-size: 1.5rem;
}
.mailForm td input[type="text"],
.mailForm td input[type="tel"],
.mailForm td input[type="email"],
.mailForm td textarea {
	width: 100%;
	height: 55px;
	padding: 5px 25px;
	border: none;
	border-radius: 0;
	font-size: 1.5rem !important;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif !important;
	background-color: #f5f5f5;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: inset 0 0 0 1000px #f5f5f5;
}
.mailForm td input:-internal-autofill-selected {
	box-shadow: inset 0 0 0 1000px #eed0d0 !important;
}
.mailForm td .listUl li {
	float: left;
	width: 47.5%;
}
.mailForm td .listUl li:last-child {
	float: right;
}
.mailForm td .wid01 {
	width: 36.5% !important;
}
.mailForm td .notes {
	color: #969696;
	display: block;
	margin: 10px 0 -35px;
}
.mailForm td .ico {
	margin: 0 20px 0 10px;
	font-size: 1.6rem;
	font-weight: bold;
	display: inline-block;
}
.mailForm td .btm {
	display: block;
	margin-top: 20px;
}
.mailForm td textarea {
	padding: 15px 25px;
	max-width: 598px !important;
	height: 230px;
	word-break: break-all;
}
.mailForm .title {
	margin: 0 0 13px -3px;
	color: #333;
	font-weight: bold;
	font-size: 1.6rem;
}
.mailForm .custom-wpcf7c-confirmed .title {
	display: none !important;
}
.mailForm .privacyBox {
	margin: 0 0 92px -2px;
	padding: 19px 20px;
	height: 287px;
	color: #666;
	line-height: 1.55;
	font-size: 1.4rem;
	overflow-y: scroll;
	border-radius: 2px;
	box-sizing: border-box;
	border: 1px solid #d9d9d9;
}
.mailForm .custom-wpcf7c-confirmed .privacyBox {
	display: none !important;
}
.mailForm .privacyBox p {
	margin-bottom: 22px;
	text-align: justify;
}
.mailForm .privacyBox p a {
	color: #666;
}
.mailForm .submit {
	text-align: center;
}
.mailForm .submit li {
	margin: 0 5px;
	display: inline-block;
	vertical-align: middle;
}
.mailForm .submit li input {
	padding: 24px 0;
	width: 283px;
	color: #fff;
	cursor: pointer;
	font-weight: bold;
	border-radius: 3px;
	font-size: 1.7rem;
	background: #c30000;
	-webkit-appearance: none;
	appearance: none;
}
.mailForm .submit li input:hover {
	opacity: 0.7;
}
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
	border-color: #c30000 !important;
}
.mailForm div.wpcf7 .ajax-loader {
	display: none;
}
span.wpcf7-not-valid-tip {
	margin-top: 5px;
}
.wpcf7c-conf {
	border: none;
}
.mailForm .custom-wpcf7c-confirmed td {
	padding-top: 41px;
	padding-bottom: 0;
}
.mailForm .custom-wpcf7c-confirmed td input[type="text"],
.mailForm .custom-wpcf7c-confirmed td input[type="tel"],
.mailForm .custom-wpcf7c-confirmed td input[type="email"],
.mailForm .custom-wpcf7c-confirmed td textarea {
	padding: 0 !important;
	height: auto !important;
	background-color: #FFF !important;
	box-shadow: inset 0 0 0 1000px #FFF !important;
}
.mailForm .custom-wpcf7c-confirmed td textarea {
	height: 100px !important;
}
.mailForm .custom-wpcf7c-confirmed td .listUl li {
	width: auto;
	float: none !important;
	display: inline-block;
	vertical-align: top;
}
.mailForm .custom-wpcf7c-confirmed td select {
	padding-left: 0 !important;
	padding-right: 0 !important;
	background-color: #FFF !important;
	background-image: none !important;
}
.mailForm .custom-wpcf7c-confirmed td .ico {
	display: none !important;
}
.mailForm .custom-wpcf7c-confirmed td .notes {
	display: none !important;
}
.mailForm .custom-wpcf7c-confirmed td input::-webkit-input-placeholder,
.mailForm .custom-wpcf7c-confirmed td textarea::-webkit-input-placeholder {
	color: #FFF;
}
.mailForm .custom-wpcf7c-confirmed td input:-moz-placeholder,
.mailForm .custom-wpcf7c-confirmed td textarea:-moz-placeholder {
	color: #FFF;
}
.mailForm .custom-wpcf7c-confirmed td input::-moz-placeholder,
.mailForm .custom-wpcf7c-confirmed td textarea::-moz-placeholder {
	color: #FFF;
}
.mailForm .custom-wpcf7c-confirmed td input:-ms-input-placeholder,
.mailForm .custom-wpcf7c-confirmed td textarea:-ms-input-placeholder {
	color: #FFF;
}
.mailForm .custom-wpcf7c-confirmed input:-internal-autofill-selected {
	box-shadow: inset 0 0 0 1000px #FFF !important;
}
.mailForm #hidden {
	display: none;
}
div.wpcf7-mail-sent-ok {
	display: none !important;
}
@media all and (-ms-high-contrast: none) {
	.mailForm td input[type="text"], .mailForm td input[type="tel"], .mailForm td input[type="email"], .mailForm td textarea {
		padding: 10px 25px 5px;
	}
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	.mailForm form {
		margin-top: -77px;
		padding-top: 77px;
	}
	.mailForm .submit li input:hover {
		opacity: 1;
	}
}
@media all and (max-width: 767px) {
	.mailForm {
		padding-top: 5px;
		max-width: auto;
		margin: 0 auto;
		overflow: hidden;
	}
	.mailForm form {
		margin-top: -68px;
		padding-top: 68px;
	}
	.mailForm table {
		margin-bottom: 20px;
	}
	.mailForm th, .mailForm td {
		width: 100%;
		display: block;
		box-sizing: border-box;
		font-size: 1.3rem;
	}
	.mailForm th {
		padding: 30px 0 15px 20px;
		width: 100%;
	}
	.mailForm .table02 th,
	.mailForm .table02 td {
		padding: 15px 20px !important;
		border-bottom: none !important;
	}
	.mailForm .table02 tr:last-child td {
		border-bottom: 1px solid #ddd !important;
	}
	.mailForm th .iconSpan {
		left: 0;
		top: 32px;
		font-size: 1.0rem;
	}
	.mailForm td {
		padding: 0 !important;
		font-size: 1.3rem;
	}
	.mailForm td input[type="text"],
	.mailForm td input[type="tel"],
	.mailForm td input[type="email"],
	.mailForm td textarea {
		height: 45px;
		padding: 5px 15px;
		font-size: 1.3rem !important;
	}
	.mailForm td .notes {
		margin: 6px 0 -10px;
	}
	.mailForm td .ico {
		margin: 0 10px 0 0;
		font-size: 1.3rem;
	}
	.mailForm td .btm {
		margin-top: 10px;
	}
	.mailForm td textarea {
		padding: 10px 15px;
		max-width: 702px !important;
		height: 200px;
	}
	.mailForm .title {
		margin: 0 0 10px 0;
		font-size: 1.3rem;
	}
	.mailForm .privacyBox {
		margin: 0 0 50px;
		padding: 15px;
		height: 260px;
		font-size: 1.2rem;
	}
	.mailForm .privacyBox p {
		margin-bottom: 18px;
	}
	.mailForm .submit li {
		margin: 0 0 10px;
		display: block;
		vertical-align: middle;
	}
	.mailForm .submit li input {
		padding: 17px 0;
		width: 220px;
		font-size: 1.4rem;
	}
	.mailForm .submit li input:hover {
		opacity: 1;
	}
}
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
#contact .comBgBox .bgWhite {
	padding-bottom: 192px;
}
#contact .h2Ttl {
	margin: -10px auto 144px;
	width: 320px;
}
#contact .topTxt,
#contact .confirmTxt {
	margin: -36px 0 81px;
	color: #333;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	position: relative;
	z-index: 2;
}
#contact .topTxt .infoSpan {
	margin-top: 18px;
	display: block;
}
#contact .topTxt .color {
	color: #C30000;
	font-size: 1.2rem;
}
#contact .confirmTxt {
	display: none;
}
#contact .confirm .topTxt {
	display: none;
}
#contact .confirm .mailForm {
	border-top: none;
}
#contact .confirm .confirmTxt {
	display: block;
}
#contact .thanks p, #contact .thanks .link {
	color: #333;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}
#contact .thanks .link {
	margin-top: 40px;
}
#contact .thanks .link a:hover {
	opacity: 0.7;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	#contact .comBgBox .bgWhite {
		padding-bottom: 100px;
	}
	#contact .h2Ttl {
		margin: -5px auto 62px;
		width: 266px;
	}
	#contact .topTxt,
	#contact .confirmTxt {
		margin: -10px 0 50px;
	}
}
@media all and (max-width: 767px) {
	#contact .comBgBox .bgWhite {
		padding-bottom: 80px;
	}
	#contact .h2Ttl {
		margin: -7px auto 68px;
		width: 100px;
	}
	#contact .topTxt,
	#contact .confirmTxt {
		margin: -15px 0 40px;
		font-size: 1.5rem;
	}
	#contact .topTxt .infoSpan {
		margin-top: 12px;
	}
	#contact .topTxt .color {
		font-size: 1.2rem;
	}
}
/*------------------------------------------------------------
	partner
------------------------------------------------------------*/
#partner .h2Ttl {
	margin: -10px auto 119px;
	max-width: 616px;
}
#partner .comBgBox .bgWhite {
	padding: 360px 20px 160px;
	background: #FFF url("img/partner/bg01.jpg") no-repeat center top;
	background-size: 100% auto;
}
#partner h3 {
	margin-bottom: 31px;
	text-align: center;
	font-size: 3rem;
	line-height: 1.72;
	position: relative;
	z-index: 2;
}
#partner .topTxt,
#partner .confirmTxt {
	margin: 0 0 100px;
	color: #333;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	line-height: 2.63;
	position: relative;
	z-index: 2;
}
#partner .topTxt .infoSpan {
	display: block;
}
#partner .topTxt .color {
	color: #C30000;
}
#partner .topTxt .sml {
	font-size: 1.1rem;
}
#partner .confirmTxt {
	display: none;
}
#partner .confirm h3,
#partner .confirm .topTxt {
	display: none !important;
}
#partner .confirm .mailForm {
	border-top: none;
}
#partner .confirm .confirmTxt {
	margin-bottom: 65px;
	display: block;
}
.mailForm .table02 {
	display: none;
}
.confirm .mailForm .table01 {
	display: none;
}
.confirm .mailForm .table02 {
	display: block;
}
.confirm .mailForm .table02 .file01,
.confirm .mailForm .table02 .file02,
.confirm .mailForm .table02 .file03,
.confirm .mailForm .table02 .url01,
.confirm .mailForm .table02 .url02,
.confirm .mailForm .table02 .url03 {
	display: block;
}
.confirm .mailForm .table02 .fileWrap {
	margin-bottom: 15px;
}
.mailForm .table02 th,
.mailForm .table02 td {
	border: 1px solid #ddd;
	padding: 28px 32px;
}
.mailForm .table02 tbody {
	width: 100%;
}
.mailForm td select {
	margin-bottom: 19px;
	padding: 10px 25px;
	width: 240px;
	height: 55px;
	font-weight: normal;
	font-weight: 1.5rem !important;
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif !important;
	color: #333;
	border-radius: 0;
	border: none;
	background: #F5F5F5 url("img/common/icon14.png") no-repeat center right 18px;
	background-size: 9px auto;
	-webkit-appearance: none;
	appearance: none;
}
.mailForm td select::-ms-expand {
	display: none;
}
.mailForm .custom-wpcf7c-confirmed td select {
	height: auto;
	padding: 0;
}
.mailForm td .text01 {
	margin-bottom: 10px;
	color: #C30000;
	font-size: 1.5rem;
	font-weight: normal;
}
.mailForm .custom-wpcf7c-confirmed td .text01 {
	display: none;
}
.mailForm td .radioList {
	margin: 13px 2px 16px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.mailForm td .radioList span.wpcf7-list-item {
	margin: 0 51px 0 0;
}
.mailForm td .radioList span.wpcf7-list-item input[type="radio"] {
	display: none;
}
.mailForm td .radioList span.wpcf7-list-item input[type="radio"] ~ span {
	padding-left: 35px;
	padding-top: 3px;
	min-height: 21px;
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	background: url("img/common/icon15.png") no-repeat left center;
	background-size: 21px 21px;
}
.mailForm td .radioList span.wpcf7-list-item input[type="radio"]:checked ~ span {
	background-image: url("img/common/icon16.png");
}
.mailForm .custom-wpcf7c-confirmed td .radioList {
	margin: 0;
}
.mailForm .custom-wpcf7c-confirmed td .radioList span.wpcf7-list-item input[type="radio"] ~ span {
	padding-top: 0;
	font-size: 1.5rem;
	font-weight: 500;
}
.mailForm .timeList {
	margin-right: -13px;
	padding-left: 48px;
	position: relative;
	overflow: hidden;
	zoom: 1;
}
.mailForm .timeList li {
	padding-right: 37px;
	width: 33.33%;
	float: left;
	position: relative;
	font-size: 1.6rem;
	font-weight: bold;
}
.mailForm .custom-wpcf7c-confirmed .timeList li {
	padding-right: 1em;
	max-width: 70px;
}
.mailForm .timeList .txt {
	padding: 3px 0 0;
	width: 48px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.mailForm .custom-wpcf7c-confirmed .timeList .txt {
	padding-top: 0;
	font-weight: 500;
}
.mailForm .timeList li span.word {
	padding-top: 3px;
	width: 37px;
	text-align: center;
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.mailForm .custom-wpcf7c-confirmed .timeList li span.word {
	padding-top: 0;
	width: 1em;
	font-weight: 500;
}
.mailForm .wid02 {
	width: 165px !important;
}
.mailForm .custom-wpcf7c-confirmed .wid02 {
	width: 35px !important;
}
.mailForm .age {
	margin-left: 8px;
	font-weight: bold;
	font-size: 1.6rem;
}
.mailForm .custom-wpcf7c-confirmed .age {
	margin-left: 0;
	font-weight: 500;
}
.mailForm td .text03 {
	margin-bottom: 35px;
}
.mailForm td .text02 {
	margin-bottom: 15px;
	color: #969696;
	font-weight: normal;
	font-size: 1.5rem;
}
.mailForm td .fileList {
	margin-bottom: 25px;
}
.mailForm td .fileList li + li {
	margin-top: 5px;
}
.mailForm td .urlList li + li {
	margin-top: 10px;
}
.mailForm .custom-wpcf7c-confirmed td .errorTip, .mailForm .custom-wpcf7c-confirmed td .errorAge {
	display: none !important;
}
.mailForm td .year01 .wpcf7-not-valid-tip, .mailForm td .month01 .wpcf7-not-valid-tip, .mailForm td .day01 .wpcf7-not-valid-tip, .mailForm td .age01 .wpcf7-not-valid-tip {
	display: none !important;
}
.mailForm td .errorTip, .mailForm td .errorAge {
	color: #f00;
	font-size: 1em;
	font-weight: normal;
	display: none;
}
.mailForm .custom-wpcf7c-confirmed .timeList .wpcf7-form-control-wrap input[type="text"] {
	text-align: center;
}
.mailForm .custom-wpcf7c-confirmed td .radioList span.wpcf7-list-item input[type="radio"]:checked ~ span {
	background-image: none;
	padding-left: 0;
}
.mailForm .custom-wpcf7c-confirmed td .text03 {
	display: none;
}
#partner .thanks p, #partner .thanks .link {
	color: #333;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}
#partner .thanks .link {
	margin-top: 40px;
}
#partner .thanks .link a:hover {
	opacity: 0.7;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	#partner .h2Ttl {
		margin: -5px auto 44px;
		max-width: 500px;
	}
	#partner .comBgBox .bgWhite {
		padding: 240px 20px 80px;
		background-size: auto 200px;
	}
	#partner h3 {
		margin-bottom: 31px;
		text-align: center;
		font-size: 2.8rem;
	}
	#partner .topTxt,
	#partner .confirmTxt {
		margin: 0 0 50px;
		font-size: 1.5rem;
		line-height: 2;
	}
	#partner .topTxt .sml {
		margin-top: 4px;
		display: inline-block;
		vertical-align: top;
	}
	#partner .confirm .confirmTxt {
		margin: 15px 0 50px;
	}
}
@media all and (max-width: 767px) {
	#partner .h2Ttl {
		margin: -5px auto 62px;
		max-width: 176px;
	}
	#partner .comBgBox .bgWhite {
		padding: 190px 15px 60px;
		background-size: auto 150px;
	}
	#partner h3 {
		margin-bottom: 25px;
		font-size: 1.9rem;
	}
	#partner .topTxt {
		margin: 0 0 30px;
		font-size: 1.4rem;
		line-height: 2;
	}
	.mailForm td select {
		margin-bottom: 15px;
		padding: 10px 15px;
		height: 45px;
		font-weight: 1.3rem !important;
	}
	.mailForm td .text01 {
		margin-bottom: 10px;
		font-size: 1.3rem;
	}
	.mailForm td .radioList {
		margin: 0;
	}
	.mailForm td .radioList span.wpcf7-list-item {
		margin-right: 20px;
	}
	.mailForm td .radioList span.wpcf7-list-item input[type="radio"] ~ span {
		padding-left: 25px;
		min-height: 18px;
		font-size: 1.3rem;
		background-size: 18px 18px;
	}
	.mailForm .custom-wpcf7c-confirmed td .radioList span.wpcf7-list-item input[type="radio"] ~ span {
		font-size: 1.3rem !important;
	}
	.mailForm .timeList {
		margin-right: 0;
		padding-left: 35px;
	}
	.mailForm .timeList li {
		padding-right: 35px;
		font-size: 1.3rem;
	}
	.mailForm .timeList .txt {
		padding: 0 !important;
		width: 35px;
	}
	.mailForm .custom-wpcf7c-confirmed .timeList .txt {
		padding-top: 2px !important;
	}
	.mailForm .timeList li span.word {
		padding-top: 0;
		width: 35px;
	}
	.mailForm .custom-wpcf7c-confirmed .timeList li span.word {
		padding-top: 2px;
	}
	.mailForm .timeList li input[type="text"] {
		padding: 5px 8px;
	}
	.mailForm .wid02 {
		width: 100px !important;
	}
	.mailForm .age {
		font-size: 1.3rem;
	}
	.mailForm td .text03 {
		margin-bottom: 15px;
	}
	.mailForm td .text02 {
		font-size: 1.3rem;
	}
}
/*------------------------------------------------------------
	outline
------------------------------------------------------------*/
#outline .h2Ttl {
	margin: 0 auto 131px;
	width: 466px;
	text-align: center;
}
#outline .comBgBox .bgWhite {
	padding: 180px 20px 160px;
	margin: 0 auto 160px;
}
#outline .tableBox {
	width: 100%;
	min-width: 668px;
	max-width: 800px;
	margin: 0 auto;
}
#outline .tableBox table {
	border-collapse: collapse;
}
#outline .tableBox th,
#outline .tableBox td{
}
#outline .tableBox th {
	width: 160px;
	color: #C30000;
	border-bottom: 1px solid #C30000;
	text-align: center;
	padding: 40px 0;
	vertical-align: top;
}
#outline .tableBox .first th {
	border-top: 1px solid #C30000;
}
#outline .tableBox td {
	border-bottom: 1px solid #CCC;
	padding: 40px 0 40px 60px;
}
#outline .tableBox .first td {
	border-top: 1px solid #CCC;
}
#outline .tableBox .link {
	display: block;
	color: #C30000;
	text-align: right;
	font-weight: bold;
}
#outline .tableBox .map .link {
	margin-bottom: 20px;
}
#outline .tableBox .map .address {
	font-size: 16px;
	display: block;
	margin: 10px 0 30px;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	#outline .h2Ttl {
		margin-bottom: 50px;
		width: 400px;
	}
}
@media all and (max-width: 767px) {
	#outline .h2Ttl {
		margin: 0 auto 45px;
		width: 171px;
	}
	#outline .comBgBox {
		padding-bottom: 40px;
		background-image: url(img/company/sp_bg02.jpg);
	}
	#outline .comBgBox .bgWhite {
		padding: 80px 30px 0;
		margin: 0 auto 40px;
	}
	#outline .tableBox {
		min-width: inherit;
		max-width: inherit;
	}
	#outline table {
		width: 100%;
	}
	#outline .tableBox th,
	#outline .tableBox td{
		display: block;
		width: auto;
		border: none !important;
		text-align: center;
		font-size: 16px;
	}
	#outline .tableBox th {
		padding: 0;
	}
	#outline .tableBox td {
		padding: 10px 0 60px 0;
	}
	#outline .tableBox .link {
		font-size: 12px;
		text-align: center;
		margin: 10px 0 50px !important;
	}
	#outline .tableBox .map .address {
		font-size: 14px;
		margin: 10px 0 30px;
	}
	#outline .tableBox .map iframe {
		width: 100%;
		height: 200px;
	}
	#outline .tableBox .service .small {
		display: block;
		font-size: 12px;
		margin: 5px 0 0 0;
	}
	#outline .tableBox .service .gray {
		display: block;
		background: #F5F5F5;
		padding: 25px 0;
		margin-bottom: 10px;
	}
}
/*------------------------------------------------------------
	greeting
------------------------------------------------------------*/
#greeting .h2Ttl {
	margin: 0 auto 131px;
	width: 629px;
	text-align: center;
}
#greeting .comBgBox .bgWhite {
	padding: 160px 20px;
	margin: 0 auto 160px;
}
#greeting .greetingBox {
	width: 100%;
	min-width: 668px;
	max-width: 800px;
	margin: 0 auto;
}
#greeting p {
	line-height: 2;
}
#greeting .sign {
	text-align: right;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	#greeting .h2Ttl {
		margin-bottom: 50px;
		width: 400px;
	}
}
@media all and (max-width: 767px) {
	#greeting .comBgBox {
		padding-bottom: 40px;
		background-image: url(img/company/sp_bg02.jpg);
	}
	#greeting #main {
		padding-top: 67px;
	}
	#greeting .h2Ttl {
		margin: 0 auto 38px;
		width: 168px;
	}
	#greeting .comBgBox .bgWhite {
		padding: 60px 40px;
		margin: 0 auto 40px;
	}
	#greeting .greetingBox {
		min-width: inherit;
		max-width: inherit;
		font-size: 16px;
	}
}
/*------------------------------------------------------------
	privacy
------------------------------------------------------------*/
#privacy .h2Ttl {
	margin: 0 auto 131px;
	width: 629px;
	text-align: center;
}
#privacy .comBgBox .bgWhite {
	padding: 160px 20px;
}
#privacy .privacyBox {
	width: 100%;
	min-width: 668px;
	max-width: 800px;
	margin: 0 auto;
}
#privacy .privacyBox .borderBox {
	border-bottom: 1px dotted #CCC;
	padding: 40px 0;
}
#privacy .privacyBox .borderBox:last-child {
	border-bottom: none;
}
#privacy .privacyBox .borderBox .title {
	font-weight: bold;
	margin: 0 0 20px 0;
}
#privacy .privacyBox .borderBox table {
	margin-top: 20px;
}
#privacy .privacyBox .borderBox th {
	vertical-align: top;
	font-weight: normal;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	#privacy .h2Ttl {
		margin-bottom: 50px;
		width: 400px;
	}
}
@media all and (max-width: 767px) {
	#privacy #main {
		padding-top: 18px;
	}
	#privacy .h2Ttl {
		margin: 0 auto 10px;
		width: 315px;
	}
	#privacy .comBgBox .bgWhite {
		padding: 60px 40px;
		margin: 0;
	}
	#privacy .privacyBox {
		min-width: inherit;
		max-width: inherit;
		font-size: 16px;
	}
}
/*------------------------------------------------------------
	sitemap
------------------------------------------------------------*/
#sitemap .h2Ttl {
	margin: 0 auto 131px;
	width: 629px;
	text-align: center;
}
#sitemap .comBgBox .bgWhite {
	padding: 160px 20px;
}
#sitemap .sitemapBox {
	width: 100%;
	min-width: 668px;
	max-width: 800px;
	margin: 0 auto;
}

#sitemap .sitemapBox ul > li {
	margin-bottom: 20px;
}

#sitemap .sitemapBox ul > li > ul {
	margin: 20px 0 40px 20px;
}

#sitemap .sitemapBox ul > li > ul > li:before {
	content: "-";
	margin-right: 16px;
}

#sitemap .sitemapBox .en {
	display: block;
	padding: 20px 0 16px 40px;
	font-family: 'Josefin Sans', sans-serif;
    font-weight: 600;
    font-size: 2rem;
    letter-spacing: 0.25em;
	background: #F5F5F5;
}

#sitemap .sitemapBox .en {
	font-family: 'Josefin Sans', sans-serif;
    font-weight: 600;
    font-size: 2rem;
    letter-spacing: 0.25em;
}

#sitemap .sitemapBox .sub:before {
	font-size: 8px;
	margin: 0 16px 0 20px;
	content: "●";
	color: #C30000;
}

@media all and (min-width: 768px) and (max-width: 1024px) {
	#sitemap .h2Ttl {
		margin-bottom: 50px;
		width: 400px;
	}
}
@media all and (max-width: 767px) {
	#sitemap #main {
		padding-top: 60px;
	}
	#sitemap .h2Ttl {
		margin: 0 auto 53px;
		width: 157px;
	}
	#sitemap .comBgBox .bgWhite {
		padding: 60px 40px;
		margin: 0;
	}
	#sitemap .sitemapBox {
		min-width: inherit;
		max-width: inherit;
		font-size: 16px;
	}
}