@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Almarai:wght@300;400;700;800&display=swap');
/*------------------------------------------------------------
Theme Name: ラシクル
Theme URI: null
Description: ラシクル公式サイトです。
Author: ラシクル
Version: 1.0
------------------------------------------------------------*/
.aligncenter {
	display: block;
	margin: 0 auto;
}
.alignright {
	float: right;
}
.alignleft {
	float: left;
}
img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}
.wp-block-image figure,
.wp-block-image figcaption {
	display: block;
}
a.nolink,
a.nolink:hover {
	opacity: 1;
	cursor: default;
	pointer-events: none;
}
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
@media all and (min-width: 897px) and (max-width: 1600px) {
	html {
		font-size: 50%;
	}
}
body, table, input, textarea, select, option {
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
	box-sizing: border-box;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
a, a:link {
	transition: 0.3s;
	color: #373737;
	text-decoration: none;
}
a:visited {
	color: #373737;
}
a:hover {
	color: #373737;
}
a:active {
	color: #373737;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1330px;
	color: #373737;
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: 500;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
}
body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
#container {
	padding-top: 5.2rem;
	text-align: left;
	overflow: hidden;
	position: relative;
}
#container.nofix .containerBg {
	opacity: 0;
}
.wrapInner {
	position: absolute;
	z-index: 10;
	right: 0;
	top: 0;
	width: 100%;
	height: 64.2rem;
	background: url("img/index/page_img.png") no-repeat right top;
	background-size: auto 100%;
}
.containerBg {
	position: absolute;
	width: 100%;
	height: 64rem;
	left: 0;
	top: 0;
	z-index: 1;
}
.containerBg:after {
	position: absolute;
	width: 100%;
	height: 64rem;
	left: 0;
	top: 0;
	z-index: 1;
	background: url("img/index/bg.jpg") no-repeat center top;
	background-size: 100% 55rem;
	background-attachment: fixed;
	content: '';
}
.containerBg::before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 64rem;
	background: url("img/index/bg01.jpg") no-repeat center top -1rem;
	background-size: 100% auto;
	background-attachment: fixed;
	content: '';
	z-index: -1;
}
#main {
	display: block;
	position: relative;
	z-index: 10;
	padding-top: 14.1rem;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
	body.fixed {
		overflow-y: scroll;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.4rem;
	}
	#container {
		padding-top: 52px;
	}
	.wrapInner {
		height: 506px;
		background: url("img/index/sp_page_photo.png") no-repeat right top;
		background-size: auto 100%;
	}
	.containerBg {
		height: 640px;
	}
	.containerBg:after {
		height: 640px;
		background: url("img/index/sp_bg.jpg") no-repeat center top;
		background-size: 100% auto;
		background-attachment: fixed;
	}
	.containerBg::before {
		display: none;
	}
	#main {
		padding-top: 115px;
	}
	a:hover, a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	@media all and (max-width: 374px) {
		body {
			background: url("img/common/sp_f_bg.png") no-repeat center bottom;
			background-size: cover;
		}
	}
}
/*------------------------------------------------------------
	gHeader
------------------------------------------------------------*/
#gHeader {
	padding: 0 2rem;
	position: absolute;
	z-index: 203;
	left: 0;
	top: 5rem;
	width: 100%;
	box-sizing: border-box;
}
#gHeader h1 {
	position: fixed;
	left: 5rem;
	top: 5rem;
	box-sizing: border-box;
	z-index: 200;
}
#gHeader .hBox {
	max-width: 182rem;
	margin: 0 auto;
	flex-direction: row-reverse;
}
#gHeader #gNavi {
	width: 28.8rem;width: 52rem;
	margin-bottom: 0.2rem;
}

#gHeader #gNavi li {
	display: inline;
}
#gHeader #gNavi li a {
	padding: 0 2.2rem;
	color: #fff;color: #373737;font-weight: 700;
	display: inline-block;
	font-family: 'Almarai', sans-serif;
}
#gHeader #gNavi li a:hover {
	opacity: 0.7;
}
#gHeader .rBox {
	position: static;
	margin-right: 11.7rem;
	align-items: center;
}
#gHeader .link {
	width: 18.8rem;
}
#gHeader .link a {
	padding: 1.4rem 1rem;
	color: #fff;
	display: block;
	background-color: #373737;
	border-radius: 3rem;
	text-align: center;
	font-family: 'Almarai', sans-serif;
}
@media all and (min-width: 897px) {
	#gHeader .link a:hover {
		background-color: #F4B01C;
	}
}
.menu {
	width: 7.2rem;
	height: 5.5rem;
	position: fixed;
	right: 5rem;
	top: 5.2rem;
	cursor: pointer;
	z-index: 204;
	border-radius: 3rem;
	background-color: #fff;
}
@media all and (min-width: 897px) {
	.menu:hover {
		opacity: 0.7;
	}
}
.menu span {
	margin-left: -0.33rem;
	width: 30%;
	height: 2px;
	position: absolute;
	left: 40%;
	top: 1.8rem;
	background: #373737;
	transition: 0.3s;
}
.menu span:nth-child(2) {
	top: 2.6rem;
}
.menu span:nth-child(3) {
	top: 3.5rem;
}
.menu.on span:nth-child(1) {
	margin-left: -0.4rem;
	transform: translateY(0.8rem) translateX(0) rotate(45deg);
}
.menu.on span:nth-child(2) {
	opacity: 0;
}
.menu.on span:nth-child(3) {
	margin-left: -0.4rem;
	transform: translateY(-0.8rem) translateX(0) rotate(-45deg);
}
.menuBox {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: url("img/common/menu_bg.jpg") no-repeat center top;
	background-size: cover;
	overflow: hidden;
	z-index: 100;
	transition: 0.3s;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.menuBox.on {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.menuWrap {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	transition: 0.3s;
	overflow: auto;
}
.menuWrap .naviList {
	margin-top: 6.5rem;
}
.menuWrap .naviList > li {
	width: 33rem;
	margin: 0 0.6rem;
	text-align: center;
}
.menuWrap .naviList > li > a {
	font-family: 'Almarai', sans-serif;
	font-size: 4.6rem;
	font-weight: 700;
}
.menuWrap .naviList > li a {
	display: block;
}
.menuWrap .naviList > li a:hover {
	opacity: 0.7;
}
.menuWrap .naviList > li .col {
	color: #F4B01C;
}
.menuWrap .menuList {
	margin-top: 0.2rem;
}
.menuWrap .menuList li {
	font-weight: 500;
	font-size: 1.8rem;
}
.menuWrap .menuList li a {
	padding: 0.5rem 0 0.4rem;
}
.menuWrap .iconList {
	/*margin-top: 4.1rem;*/
}
.menuWrap .iconList li {
	width: 3rem;
	margin: 0 1.9rem;
}
@media all and (max-width: 896px) {
	#gHeader {
		margin-bottom: 115px;
	}
	#gHeader h1 {
		left: 30px;
		top: 30px;
	}
	#gHeader .hBox {
		max-width: inherit;
		display: block;
	}
	#gHeader .rBox {
		display: none;
	}
	.menu {
		width: 52px;
		height: 39px;
		right: 30px;
		top: 30px;
	}
	.menu span {
		margin-left: -3px;
		width: 30%;
		height: 1px;
		left: 40%;
		top: 13px;
	}
	.menu span:nth-child(2) {
		top: 19px;
	}
	.menu span:nth-child(3) {
		top: 26px;
	}
	.menu.on span:nth-child(1) {
		margin-left: -2px;
		width: 29%;
		transform: translateY(6px) translateX(0) rotate(45deg);
	}
	.menu.on span:nth-child(2) {
		opacity: 0;
	}
	.menu.on span:nth-child(3) {
		top: 25px;
		margin-left: -2px;
		width: 29%;
		transform: translateY(-6px) translateX(0) rotate(-45deg);
	}
	.menuBox {
		background: url("img/common/sp_menu_bg.jpg") no-repeat center top;
		background-size: cover;
	}
	.menuWrap {
		padding: 122px 0 100px;
		display: block;
	}
	.menuWrap .naviList {
		margin-top: 0;
		display: block;
	}
	.menuWrap .naviList > li {
		width: auto;
		margin: 0 6px 27px;
	}
	.menuWrap .naviList > li:last-child {
		margin-bottom: 0;
	}
	.menuWrap .naviList > li > a {
		font-size: 2.5rem;
	}
	.menuWrap .menuList {
		margin-top: 1px;
	}
	.menuWrap .menuList li {
		font-weight: 500;
		font-size: 1.8rem;
	}
	.menuWrap .menuList li a {
		padding: 6px 0 7px;
		font-size: 1.6rem;
	}
	.menuWrap .iconList {
		margin-top: 21px;
	}
	.menuWrap .iconList li {
		width: 21px;
		margin: 0 14px;
	}
}
/*------------------------------------------------------------
	gFooter
------------------------------------------------------------*/
#gFooter {
	position: relative;
	z-index: 10;
	padding: 28rem 0 5.5rem;
	background: url("img/common/f_bg.jpg") no-repeat center center / cover;
}
#gFooter::before {
	width: 100%;
	height: 6rem;
	background: #fff;
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 0 0 5rem 5rem;
	content: "";
	z-index: 1;
}
#gFooter .content {
	width: 120rem;
}
#gFooter .fBox {
	margin-bottom: 5.6rem;
	text-align: center;
}
#gFooter .fBox a {
	display: block;
}
#gFooter .imgList {
	margin-bottom: 9.7rem;
}
#gFooter .imgList li {
	width: 3rem;
	margin: 0 1.8rem;
}
#gFooter .imgList li a:hover {
	opacity: 0.7;
}
#gFooter .fInner {
	margin-bottom: 14.3rem;
}
#gFooter .lBox {
	width: 30.3%;
}
#gFooter .lBox .name {
	margin-bottom: 1rem;
	font-size: 1.6rem;
	font-weight: bold;
}
#gFooter .lBox .place {
	margin-bottom: 1rem;
	line-height: 1.75;
	font-size: 1.6rem;
}
#gFooter .lBox .tel {
	font-size: 3.4rem;
	font-weight: 700;
}
#gFooter .lBox .tel img {
	vertical-align: 0.1rem;
}
#gFooter .lBox .sml {
	margin-right: 0.6rem;
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: -0.08em;
	display: inline-block;
}
#gFooter .fInner .midBox {
	width: 35.3%;
}
#gFooter .fInner .midBox .fNavi > li {
	width: 51%;
}
#gFooter .fInner .midBox .fNavi > li:first-child {
	width: 42%;
}
#gFooter .fInner .midBox .fNavi > li > a {
	font-size: 2.6rem;
	font-weight: 700;
	font-family: 'Almarai', sans-serif;
}
#gFooter .fInner .midBox .fNavi > li > a:hover {
	opacity: 0.7;
}
#gFooter .fInner .midBox .fList {
	margin-top: 1.6rem;
}
#gFooter .fInner .midBox .fList li {
	margin-bottom: 0.4rem;
	font-size: 1.6rem;
	font-weight: 500;
}
#gFooter .fInner .midBox .fList li a:hover {
	opacity: 0.7;
}
#gFooter .fInner .rBox {
	width: 34.3%;
}
#gFooter .fInner .rBox .text {
	margin: 0 -1rem 3.1rem 0;
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 2;
}
#gFooter .fInner .rBox .link {
	width: auto;
}
#gFooter .fInner .rBox .link a {
	padding: 1.7rem 1rem 1.9rem;
	color: #fff;
	display: block;
	text-align: center;
	font-size: 2.6rem;
	letter-spacing: 0.06em;
	font-weight: 700;
	transition: 0.3s;
	border-radius: 4rem;
	background:  #373737 url("img/common/icon04.png") no-repeat right 1.5rem center;
	background-size: 4.7rem 4.7rem;
}
@media all and (min-width: 897px) {
	#gFooter .fInner .rBox .link a:hover {
		background:  #F4B01C url("img/common/icon05.png") no-repeat right 1rem center;
		background-size: 6.1rem 6.1rem;
	}
}
#gFooter address {
	text-align: center;
	font-size: 1.3rem;
	font-style: normal;
	letter-spacing: 0.03em;
	font-weight: 500;
}
@media all and (max-width: 896px) {
	#gFooter {
		padding: 111px 0 36px;
		background-image: url("img/common/sp_f_bg.jpg");
	}
	#gFooter::before {
		height: 30px;
		border-radius: 0 0 30px 30px;
	}
	#gFooter .content {
		width: auto;
	}
	#gFooter .fBox {
		margin-bottom: 30px;
		text-align: center;
	}
	#gFooter .imgList {
		margin-bottom: 92px;
	}
	#gFooter .imgList li {
		width: 21px;
		margin: 0 17px;
	}
	#gFooter .fInner {
		margin-bottom: 36px;
		display: block;
	}
	#gFooter .lBox {
		margin-bottom: 22px;
		width: 100%;
		text-align: center;
	}
	#gFooter .lBox .name {
		margin-bottom: 11px;
		font-size: 1.5rem;
	}
	#gFooter .lBox .place {
		margin-bottom: 7px;
		line-height: 1.857;
		font-size: 1.5rem;
	}
	#gFooter .lBox .tel {
		font-size: 2.2rem;
	}
	#gFooter .lBox .tel img {
		vertical-align: -1px;
	}
	#gFooter .lBox .sml {
		margin-right: 10px;
		font-size: 2.2rem;
	}
	#gFooter .fInner .midBox {
		width: 100%;
	}
	#gFooter .fInner .midBox .fNavi {
		margin-bottom: 91px; 
		display: block;
		text-align: center;
		position: relative;
	}
	/*#gFooter .fInner .midBox .fNavi::before {
		margin-left: -30px;
		position: absolute;
		left: 50%;
		top: -42px;
		height: 1px;
		width: 60px;
		background-color: #373737;
		content: "";
	}*/
	#gFooter .fInner .midBox .fNavi::after {
		margin-left: -30px;
		position: absolute;
		left: 50%;
		bottom: -45px;
		height: 1px;
		width: 60px;
		background-color: #373737;
		content: "";
	}
	#gFooter .fInner .midBox .fNavi > li:first-child,
	#gFooter .fInner .midBox .fNavi > li {
		width: 100%;
		margin-bottom: 38px;
	}
	#gFooter .fInner .midBox .fNavi > li:last-child {
		margin-bottom: 0;
	}
	#gFooter .fInner .midBox .fNavi > li > a {
		font-size: 2.5rem;
	}
	#gFooter .fInner .midBox .fList {
		margin-top: 5px;
	}
	#gFooter .fInner .midBox .fList li {
		margin-bottom: 16px;
		font-size: 1.6rem;
		font-weight: bold;
	}
	#gFooter .fInner .midBox .fList li:last-child {
		margin-bottom: 0;
	}
	#gFooter .fInner .rBox {
		width: 100%;
		text-align: center;
	}
	#gFooter .fInner .rBox .text {
		margin: 0 0 24px;
		font-size: 1.3rem;
		line-height: 1.75;
	}
	#gFooter .fInner .rBox .link {
		width: auto;
		margin: 0 auto;
		max-width: 450px;
	}
	#gFooter .fInner .rBox .link a {
		margin: 0 25px;
		padding: 19px 10px 18px;
		font-size: 1.4rem;
		background-image: none; 
	}
	#gFooter address {
		font-size: 1.1rem;
	}
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/* flex */
.flex, .flexA, .flexB, .flexC {
	display: flex;
	flex-wrap: wrap;
}
.flexA {
	justify-content: space-around;
}
.flexB {
	justify-content: space-between;
	align-items : center;
}
.flexC {
	justify-content: center;
}
.almarai {
	font-family: 'Almarai', sans-serif;
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	width: 108rem;
	margin: 0 auto;
}
@media all and (max-width: 896px) {
	.content {
		width: auto;
		margin: 0 30px;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 10.7rem;
	font-size: 2.5rem;
	font-weight: 500;
}
.headLine01 .en {
	margin-bottom: -0.7rem;
	display: block;
	font-weight: 700;
	font-size: 8.7rem;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 134px;
		font-size: 1.8rem;
	}
	.headLine01 .en {
		margin-bottom: -1px;
		font-size: 4.5rem;
	}
	@media all and (max-width: 374px) {
		.headLine01 {
			margin-bottom: 62px;
		}
	}
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 3.9rem;
	font-size: 8.7rem;
	font-weight: 700;
	text-align: center;
}
.headLine02 .sml {
	margin-top: 0.9rem;
	font-size: 2.5rem;
	display: block;
	font-weight: 500;
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media all and (max-width: 896px) {
	.headLine02 {
		margin-bottom: 10px;
		font-size: 3.5rem;
	}
	.headLine02 .sml {
		margin-top: -2px;
		font-size: 1.8rem;
	}
}
/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
	padding-bottom: 15.4rem;
}
.pageTitle .content {
	width: auto;
    padding: 0 2rem;
    position: relative;
    max-width: 139rem;
}
.pageTitle .content .photo {
	position: absolute;
	right: 15.1rem;
	bottom: 4.2rem;
	width: 13.4rem;
	animation: rock 2.5s linear infinite;
}
.pageTitle .content .photo span {
	position: absolute;
	left: 3.9rem;
	top: 9.9rem;
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 50%;
	background-color: #373737;
	animation: scale 2.5s linear infinite;
}
.pageTitle .content .photo .circle02 {
	top: 10.2rem;
	left: 5.9rem;
}
@keyframes rock {
	0% {
		transform: rotate(0);
	}
	7% {
		transform: rotate(10deg);
	}
	14% {
		transform: rotate(0);
	}
	21% {
		transform: rotate(10deg);
	}
	28% {
		transform: rotate(0);
	}
	40% {
		transform: rotate(0);
	}
	100% {
		transform: rotate(0);
	}
}
@keyframes scale {
	0% {
		transform: rotate(10deg) scale(1,1);
	}
	55% {
		transform: rotate(10deg) scale(1,1);
	}
	60% {
		transform: rotate(10deg) scale(1,0.1);
	}
	65% {
		transform: rotate(10deg) scale(1,1);
	}
	100% {
		transform: rotate(10deg) scale(1,1);
	}
}
@media all and (max-width: 896px) {
	.pageTitle {
		padding-bottom: 131px;
	}
	.pageTitle .content {
		width: auto;
		padding: 0;
	}
	.pageTitle .content .photo {
		width: 58px;
		right: 27px;
		bottom: 49px;
	}
	.pageTitle .content .photo span {
		width: 5px;
		height: 5px;
		left: 17px;
		top: 43px;
	}
	.pageTitle .content .photo .circle02 {
		top: 45px;
		left: 26px;
	}
}
/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath li {
	margin-right: 0.6rem;
	display: inline;
	font-size: 1.6rem;
	font-weight: 500;
}
#pagePath li:last-child {
	margin-right: 0;
}
#pagePath li a {
	padding-right: 1rem;
}
#pagePath li a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	#pagePath li {
		font-size: 1.3rem;
	}
}
/*------------------------------------------------------------
	contactBox
------------------------------------------------------------*/
.contactBox {
	margin-top: -10.9rem;
/* 	padding: 19.4rem 0 22rem; */
	padding: 8rem 0 22rem;
	border-radius: 6rem 6rem 0 0;
	background-color: #fff;
}
@media all and (max-width: 896px) {
	.contactBox {
		margin-top: -111px;
		padding: 63px 0 110px;
		border-radius: 30px 30px 0 0;
	}
}
.fadeIn {
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.8s ease-in-out;
}
.fadeIn.on {
	opacity: 1;
	transform: translateY(0);
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.wrapBox {
	margin-top: -5.2rem;
	padding-top: 13.8rem;
	background: url("img/index/top_bg.jpg") no-repeat center top;
	background-size: 100% 3435px;
}
@media all and (min-width: 897px) and (max-width: 1600px) {
	.wrapBox {
		background-size: 100% 370rem;
	}
}
.wrapBox .wrapInner {
	display: none;
}
.wrapBox .containerBg {
	display: none;
}
.wrapBox #main {
	padding-top: 0;
}
.wrapBox #gHeader #gNavi li a {
	color: #373737;
	font-weight: 700;
}
.wrapBox #gHeader {
	position: absolute;
	top: 5.2rem;
	left: 0;
	width: 100%;
}
.wrapBox .hBox {
	max-width: inherit;
    box-sizing: border-box;
	text-align: center;
}
.wrapBox #gHeader .hBox .rBox {
	margin-right: 11.7rem;
}
.wrapBox #gHeader #gNavi {
    width: 31.8rem;
    margin-bottom: 0.3rem;
}
.wrapBox .content {
	max-width: 108rem;
	margin: 0 auto;
	width: auto;
	padding: 0 1.5rem;
}
.wrapBox #gFooter .content {
	width: auto;
	max-width: 120rem;
}
.wrapBox #gFooter {
    padding: 28rem 0 3.6rem;
}
@keyframes opacity {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.topBody #gHeader {
	opacity: 0;
	pointer-events: none;
}
.topBody #gHeader.on {
	animation: opacity 0.5s 0.8s forwards;
	pointer-events: auto;
}
.mainViusal {
	margin-top: -13.8rem;
	width: 100%;
	height: 134.4rem;
	position: relative;
}
.mainViusal > * {
	opacity: 0;
}
.mainViusal .photo01 {
	position: absolute;
    top: 47.3rem;
    left: -160rem;
}
.mainViusal.on .photo01 {
	animation: animation01 0.5s forwards;
}
@keyframes animation01 {
	0% {
		opacity: 0;
		transform: translate(-1.5rem,1.5rem);
	}
	100% {
		opacity: 1;
		transform: translate(0,0);
	}
}
.mainViusal .photo02 {
	position: absolute;
	right: -26.2rem;
    top: 42.9rem;
	mix-blend-mode: color-burn;
}
@media all and (min-width: 897px) and (max-width: 1600px) {
	.mainViusal .photo01 img {
		width: 216.9rem;
	}
	.mainViusal .photo24 img {
		width: 61.2rem;
	}
	.mainViusal .photo02 img {
		width: 111.3rem;
	}
	.mainViusal .photo03 img {
		width: 188.5rem;
	}
	.mainViusal .photo04 img {
		width: 143.1rem;
	}
	.mainViusal .photo05 img {
		width: 204rem;
	}
	.mainViusal .photo06 img {
		width: 5rem;
	}
	.mainViusal .photo22 img {
		width: 5.4rem;
	}
	.mainViusal .photo23 img {
		width: 6.3rem;
	}
	.mainViusal .photo07 img {
		width: 27rem;
	}
	.mainViusal .photo08 img {
		width: 13.2rem;
	}
	.mainViusal .photo09 img {
		width: 40.9rem;
	}
	.mainViusal .photo10 img {
		width: 6.3rem;
	}
	.mainViusal .photo11 img {
		width: 19.7rem;
	}
	.mainViusal .photo12 img {
		width: 13.1rem;
	}
	.mainViusal .photo13 img {
		width: 14.3rem;
	}
	.mainViusal .photo14 img {
		width: 17.9rem;
	}
	.mainViusal .photo15 img {
		width: 14.2rem;
	}
	.mainViusal .photo16 img {
		width: 17.7rem;
	}
	.mainViusal .photo17 img {
		width: 19.2rem;
	}
	.mainViusal .photo18 img {
		width: 68rem;
	}
	.mainViusal .photo19 img {
		width: 11.5rem;
	}
	.mainViusal .photo20 img {
		width: 8.3rem;
	}
}
.mainViusal.on .photo02 {
	animation: animation02 0.5s 0.2s forwards;
}
@keyframes animation02 {
	0% {
		opacity: 0;
		transform: translate(1.5rem,1.5rem);
	}
	100% {
		opacity: 1;
		transform: translate(0,0);
	}
}
.mainViusal .photo24 {
	position: absolute;
	right: -17.7rem;
    bottom: 9.5rem;
	z-index: 1;
}
.mainViusal .photo03 {
	position: absolute;
    top: -106.8rem;
    left: -58.3rem;
	mix-blend-mode: color-burn;
}
.mainViusal.on .photo03 {
	animation: opacity 0.5s 0.4s forwards;
}
.mainViusal .photo04 {
	position: absolute;
	top: -53.5rem;
    right: -97rem;
}
.mainViusal.on .photo04 {
	animation: animation03 0.5s 0.4s forwards;
}
@keyframes animation03 {
	0% {
		opacity: 0;
		transform: translate(1.5rem,-1.5rem);
	}
	100% {
		opacity: 1;
		transform: translate(0,0);
	}
}
.mainViusal .photo05 {
	position: absolute;
    top: -1.1rem;
    left: -3px;
    width: auto;
    right: -11.5rem;
    text-align: center;
}
.mainViusal.on .photo05 {
	animation: opacity 0.5s 0.6s forwards;
}
@media all and (min-width: 897px) and (max-width: 1500px) {
	.mainViusal .photo05 {
		top: 3.9rem;
		right: -13.5rem;
	}
}
@media all and (min-width: 1601px) and (max-width: 1700px) {
	.mainViusal .photo05 {
		top: 5.9rem;
	}
}
@media all and (min-width: 1701px) and (max-width: 1800px) {
	.mainViusal .photo05 {
		top: 1.9rem;
	}
}
.mainViusal .photo06 {
	position: absolute;
    top: 3.7rem;
    left: calc(50% - 54.5rem);
    width: 100%;
}
.mainViusal.on .photo06 {
	animation: animation06 0.5s 0.8s forwards;
}
@keyframes animation06 {
	0% {
		opacity: 0;
		transform: translate(-1.5rem,-1.5rem);
	}
	100% {
		opacity: 1;
		transform: translate(0,0);
	}
}
.mainViusal .photo07 {
	position: absolute;
	top: 15.8rem;
    right: -13.5rem;
}
.mainViusal .photo08 {
	position: absolute;
	top: 65.3rem;
    right: -3.5rem;
}
.mainViusal.on .photo07,
.mainViusal.on .photo08 {
	animation: animation04 0.5s 0.8s forwards;
}
@keyframes animation04 {
	0% {
		opacity: 0;
		transform: translate(1.5rem,0);
	}
	100% {
		opacity: 1;
		transform: translate(0,0);
	}
}
.mainViusal .photo09 {
	position: absolute;
	top: 42.2rem;
    left: -26rem;
}
.mainViusal.on .photo09 {
	animation: animation05 0.5s 0.8s forwards;
}
@keyframes animation05 {
	0% {
		opacity: 0;
		transform: translate(-1.5rem,0);
	}
	100% {
		opacity: 1;
		transform: translate(0,0);
	}
}
.mainViusal .photo10 {
	margin-left: 16rem;
    position: absolute;
    top: 94.9rem;
    left: 0;
    width: 100%;
    text-align: center;
}
.mainViusal.on .photo10 {
	animation: animation02 0.3s 0.8s forwards;
}
.mainViusal .photo11 {
	margin-right: -57.4rem;
    position: absolute;
    top: 36.8rem;
    right: 0;
    width: 100%;
    text-align: center;
}
.mainViusal.on .photo11 {
	animation: animation03 0.3s 0.8s forwards;
}
.mainViusal .photo12 {
    position: absolute;
    top: 91.9rem;
    right: 39.4rem;
    text-align: center;
}
.mainViusal.on .photo12 {
	animation: animation13 0.3s 0.8s forwards;
}
.mainViusal .photo13 {
    position: absolute;
    top: 91.9rem;
    left: 30.3rem;
}
.mainViusal.on .photo13 {
	animation: animation13 0.3s 0.8s forwards;
}
@keyframes animation13 {
	0% {
		opacity: 0;
		transform: translate(0,1.5rem);
	}
	100% {
		opacity: 1;
		transform: translate(0,0);
	}
}
.mainViusal .photo14 {
    position: absolute;
    top: 63.4rem;
    left: 19rem;
    text-align: center;
}
.mainViusal.on .photo14 {
	animation: animation 0.5s 1s forwards;
}
.mainViusal .photo15 {
    position: absolute;
    top: 78.8rem;
    right: 7.5%;
	z-index: 2;
}
.mainViusal.on .photo15 {
	animation: animation 0.5s 1s forwards;
}
.mainViusal .photo16 {
    position: absolute;
    top: 19.7rem;
    margin-right: -50.5rem;
    right: 0;
    width: 100%;
    text-align: center;
}
.mainViusal .photo16 span {
	display: block;
}
.mainViusal.on .photo16 {
	animation: animation 0.5s 1s forwards;
}
.mainViusal .photo17 {
	margin-left: -7.6rem;
    position: absolute;
    top: 74.4rem;
    left: 0;
    width: 100%;
    text-align: center;
}
.mainViusal.on .photo17 {
	animation: animation 0.5s 1s forwards;
}
.mainViusal .photo18 {
	margin-left: -0.5rem;
    position: absolute;
    top: 35rem;
    left: 0;
    width: 100%;
    text-align: center;
}
.mainViusal.on .photo18 {
	animation: animation 0.5s 1s forwards;
}
@keyframes animation {
	0% {
		opacity: 0;
		transform: translate(0,-1.5rem);
	}
	30% {
		opacity: 1;
		transform: translate(0,0);
	}
	60% {
		opacity: 1;
		transform: translate(0,-0.5rem);
	}
	90% {
		opacity: 1;
		transform: translate(0,0);
	}
	100% {
		opacity: 1;
		transform: translate(0,0);
	}
}
.mainViusal .photo19 {
	position: absolute;
    top: 18rem;
    left: calc(50% - 38.4rem);
    width: 100%;
}
.mainViusal.on .photo19 {
	animation: animation06 0.5s 0.8s forwards;
}
.mainViusal .photo20 {
	margin-left: 6.7rem;
    position: absolute;
    top: 89.4rem;
    left: 0;
    width: 100%;
    text-align: center;
}
.mainViusal.on .photo20 {
	animation: animation02 0.3s 0.8s forwards;
}
.mainViusal .photo22 {
	position: absolute;
    top: 10.7rem;
    left: calc(50% - 42.9rem);
    width: 100%;
}
.mainViusal.on .photo22 {
	animation: animation06 0.5s 0.8s forwards;
}
.mainViusal .photo23 {
	position: absolute;
    top: 3.9rem;
    left: calc(50% - 38.8rem);
    width: 100%;
}
.mainViusal.on .photo23 {
	animation: animation06 0.5s 0.8s forwards;
}
.mainViusal .title {
	margin-left: 1.9rem;
    position: absolute;
    top: 49.1rem;
    left: 0;
    width: 100%;
    font-size: 4.6rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    text-align: center;
}
.mainViusal.on .title {
	animation: fadeinup 0.5s 1.2s forwards;
}
@keyframes fadeinup {
	0% {
		opacity: 0;
		transform: translateY(2rem);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
.mainViusal .link {
	margin-left: -20.4rem;
    position: absolute;
    top: 61.1rem;
    left: 50%;
    width: 39.8rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    text-align: center;
}
.mainViusal.on .link {
	animation: fadeinup 0.5s 1.3s forwards;
}
.mainViusal .link a {
	padding: 2.4rem 1rem 2.5rem;
    color: #fff;
    display: block;
    text-align: center;
    letter-spacing: 0.06em;
    font-weight: bold;
    transition: 0.3s;
    border-radius: 4rem;
    background: #F4B01C url(img/common/icon09.png) no-repeat right 1.5rem center;
    background-size: 4.7rem 4.7rem;
}
.mainViusal.on .photo04 img {
	animation: float01 3.5s 1.6s linear infinite;
}
.mainViusal.on .photo24 {
	animation: animation02 0.5s 0.2s forwards;
}
.mainViusal.on .photo24 img {
	animation: float01 3.5s 1.6s linear infinite;
}
.mainViusal.on .photo16 span {
	animation: float01 3.5s 1.6s linear infinite;
}
.mainViusal .photo17 span {
	display: block;
}
.mainViusal.on .photo17 span {
	animation: float01 3.5s 1.6s linear infinite;
}
@keyframes float01 {
	0% {
		
		transform: translateY(0);
	}
	50% {
		transform: translateY(-3rem);
	}
	100% {
		transform: translateY(0);
	}
}
.mainViusal .photo14 span {
	display: block;
}
.mainViusal.on .photo14 span {
	animation: float03 3.5s 1.6s infinite;
}
@keyframes float03 {
	0% {
		
		transform: translateY(0);
	}
	50% {
		transform: translateY(1rem);
	}
	100% {
		transform: translateY(0);
	}
}
.mainViusal.on .photo01 img {
	animation: float02 3.5s 1.6s infinite;
}
.mainViusal .photo15 span {
	display: block;
}
.mainViusal.on .photo15 span {
	animation: float02 3.5s 1.6s infinite;
}
@keyframes float02 {
	0% {
		
		transform: translateY(0);
	}
	50% {
		transform: translateY(3rem);
	}
	100% {
		transform: translateY(0);
	}
}
.mainViusal.on .photo05 img {
	animation: float04 3.5s 1.6s infinite;
}
@keyframes float04 {
	0% {
		
		transform: translateY(0);
	}
	50% {
		transform: translateY(-1rem);
	}
	100% {
		transform: translateY(0);
	}
}
.mainViusal.on .photo16 span img {
	animation: imgRock 2.5s 2s linear infinite;
}
.mainViusal.on .photo17 span img {
	animation: imgRock 2.5s 2s linear infinite;
}
.mainViusal.on .photo15 span img {
	animation: imgRock 2.5s 3.3s linear infinite;
}
.mainViusal.on .photo14 span img {
	animation: imgRock 2.5s 3.3s linear infinite;
}
@keyframes imgRock {
	0% {
		transform: rotate(0);
	}
	7% {
		transform: rotate(10deg);
	}
	14% {
		transform: rotate(0);
	}
	21% {
		transform: rotate(10deg);
	}
	28% {
		transform: rotate(0);
	}
	100% {
		transform: rotate(0);
	}
}
.mainViusal.on .photo10 img {
	animation: circRot02_cycle01 8s 4s infinite;
}
.mainViusal.on .photo20 img {
	animation: circRot02_cycle02 8s 4s infinite;
}
@keyframes circRot02_cycle01 {
	0% {
		transform: rotate(0deg);
	}
	24% {
		transform: rotate(360deg);
	}
	48% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
@keyframes circRot02_cycle02 {
	0% {
		transform: rotate(0deg);
	}
	48% {
		transform: rotate(0deg);
	}
	72% {
		transform: rotate(360deg);
	}
	96% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
@keyframes circRot {
	0% {
		transform: rotate(0deg);
	}
	50% {
		transform: rotate(360deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
.mainViusal.on .photo19 img {
	animation: circRot_cycle01 14s 2s infinite;
}
.mainViusal.on .photo06 img {
	animation: circRot_cycle02 14s 2s infinite;
}
.mainViusal.on .photo22 img {
	animation: circRot_cycle03 14s 2s infinite;
}
.mainViusal.on .photo23 img {
	animation: circRot_cycle04 14s 2s infinite;
}
@keyframes circRot_cycle01 {
	0% {
		transform: rotate(0deg);
	}
	14% {
		transform: rotate(360deg);
	}
	28% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
@keyframes circRot_cycle02 {
	0% {
		transform: rotate(0deg);
	}
	28% {
		transform: rotate(0deg);
	}
	42% {
		transform: rotate(360deg);
	}
	56% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
@keyframes circRot_cycle03 {
	0% {
		transform: rotate(0deg);
	}
	56% {
		transform: rotate(0deg);
	}
	70%{
		transform: rotate(360deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
@keyframes circRot_cycle04 {
	0% {
		transform: rotate(0deg);
	}
	84% {
		transform: rotate(0deg);
	}
	98%{
		transform: rotate(360deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

@media all and (min-width: 897px) {
	.mainViusal .link a:hover {
		background: #F7D209 url(img/common/icon08.png) no-repeat right 1rem center;
    	background-size: 6rem 6rem;
	}
}
@media all and (min-width: 897px) and (max-width: 1580px) {
	.mainViusal .photo05 img {
		width: 240rem;
	}
	.mainViusal .photo06 {
		left: calc(50% - 42rem);
	}
	.mainViusal .photo22 {
		left: calc(50% - 35rem);
	}
	.mainViusal .photo23 {
		left: calc(50% - 28rem);
	}
	.mainViusal .photo16 {
		margin-right: -43.5rem;
	}
	.mainViusal .photo11 {
		margin-right: -50rem;
		top: 40rem;
	}
	.mainViusal .photo10 {
		top: 98rem;
		margin-left: 16rem;
	}
}
#index .vision {
	margin: 1rem 0 23rem;
	position: relative;
	text-align: center;
}
#index .vision .title {
	margin: 0 0 6.1rem 4.4rem;
	font-size: 5rem;
}
#index .vision .text {
	margin-bottom: 4.5rem;
	line-height: 2.5;
}
#index .vision .text:last-child {
	margin-bottom: 0;
}
#index .vision .content {
	position: relative;
	z-index: 10;
}
#index .vision .photo01 {
	position: absolute;
    right: 6.9rem;
    top: 1.7rem;
    border-radius: 5rem;
    overflow: hidden;
}
@media all and (min-width: 897px) and (max-width: 1600px) {
	#index .vision {
		margin-bottom: 45rem;
	}
	#index .vision .photo01 img {
		width: 35.6rem;
	}
}
#index .vision .photo02 {
	position: absolute;
    left: -6rem;
    top: 13.7rem;
    border-radius: 5rem;
    overflow: hidden;
}
.photo25 {
	position: absolute;
    left: -20%;
    top: 159.7rem;
    mix-blend-mode: color-burn;
}
#index .vision .imgTxt01 {
	position: absolute;
    left: -5.3rem;
    top: -6.2rem;
}
@media all and (min-width: 897px) and (max-width: 1600px) {
	.photo25 img {
		width: 100.8rem;
	}
	#index .vision .imgTxt01 img {
		width: 16.4rem;
	}
	#index .vision .imgTxt02 img {
		width: 30.6rem;
	}
	#index .vision .imgTxt03 img {
		width: 133.9rem;
	}
	#index .vision .imgTxt04 img {
		width: 25.5rem;
	}
	#index .vision .imgTxt05 img {
		width: 19.4rem;
	}
	.photo26 img {
		width: 166.2rem;
	}
}
#index .vision .imgTxt02 {
	position: absolute;
    left: 13.5%;
    top: 97.1rem;
	z-index: 10;
}
#index .vision .imgTxt03 {
	position: absolute;
    right: -48.5%;
    top: 41.9rem;
}
#index .vision .imgTxt04 {
	position: absolute;
    right: 8.4%;
    top: 48.2rem;
}
#index .vision .imgTxt05 {
	position: absolute;
    left: 18%;
    top: 85.2rem;
	z-index: 12;
}
#index .vision .imgTxt05 img {
	animation: rock 2.5s linear infinite;
}
@media all and (min-width: 897px) and (max-width: 1680px) {
	#index .vision .photo02 {
		width: 24.46vw;
	}
}
@media all and (min-width: 897px) and (max-width: 1330px) {
	#index .vision .photo02 {
		width: 39rem;
	}
	#index .vision .imgTxt01 {
		top: -10rem;
	}
	#index .vision .imgTxt04 {
		right: 3%;
	}
}
#index .service {
	padding-bottom: 30.1rem;
	background: url("img/index/vision_img06.png") no-repeat left bottom;
	background-size: 61.9rem 52.3rem;
}
#index .service .content {
	max-width: 150rem;
	width: auto;
	position: relative;
	z-index: 20;
}
#index .service .headLine02 {
	margin-bottom: 5.3rem;
	text-align: left;
	font-size: 7.1rem;
}
#index .service .imgBox {
	z-index: 1;
    position: relative;
	flex-direction: row-reverse;
}
#index .service .imgBox .photoBox {
	margin-right: -16.75%;
    width: 70.45%;
    border-radius: 10rem;
    overflow: hidden;
}
#index .service .imgBox .photoBox img {
	border-radius: 10rem;
}
#index .service .imgBox .textBox {
	margin-top: 24.7rem;
	width: 30.6%;
}
#index .service .imgBox .textBox .text {
	margin-bottom: 10rem;
	line-height: 1.75;
}
#index .service .imgBox .link {
	text-align: right;
}
#index .service .imgBox .link a {
	padding: 3.1rem 10.3rem 3.1rem 0;
    font-size: 1.6rem;
    font-weight: 700;
	transition: 0.3s;
    background: url(img/common/icon10.png) no-repeat right 1.4rem center;
    background-size: 6.4rem 6.4rem;
}
@media all and (min-width: 897px) {
	#index .service .imgBox .link a:hover {
		background: url(img/common/icon11.png) no-repeat right 0.5rem center;
		background-size: 8rem 8rem;
	}
}
#index .service .imgTxt01 {
	position: absolute;
    left: 22.7%;
    top: 9rem;
	mix-blend-mode: hard-light;
}
#index .service .imgTxt02 {
	position: absolute;
    left: 30.1%;
    top: 19.5rem;
}
@media all and (min-width: 897px) and (max-width: 1330px) {
	#index .service .imgTxt01 {
		top: 6rem;
	}
	#index .service .imgTxt02 {
		top: 16.5rem;
	}
}
.photo26 {
	position: absolute;
	right: -24.3%;
    top: 270rem;
    mix-blend-mode: hard-light;
}
#index .partners {
	margin-top: -18.3rem;
	padding: 22.9rem 0 19.3rem;
	position: relative;
	z-index: 30;
	background-color: #fff;
	border-radius: 20rem 0 0 0;
}
#index .partners .content {
	width: auto;
	position: relative;
	z-index: 10;
}
#index .partners .headLine02 {
	margin-bottom: 13.1rem;
	font-size: 7.1rem;
}
#index .partners .headLine02 .sml {
	margin-top: -0.1rem;
}
#index .partners .photo {
	max-width: 105.6rem;
	margin: 0 auto 19.3rem;
}
#index .partners h3 {
	margin-bottom: 10.7rem;
	position: relative;
	font-size: 2.5rem;
	font-weight: bold;
	text-align: center;
}
#index .partners h3::before {
	margin-left: -2.5rem;
	position: absolute;
	bottom: -2.7rem;
	left: 50%;
	width: 5rem;
	height: 0.2rem;
	background-color: #373737;
	content: "";
}
#index .partners .lTxt {
	padding: 1.4rem 1rem;
	width: 18rem;
	color: #000;
	font-size: 1.5rem;
	text-align: center;
	font-weight: bold;
	background-color: #FAF9F7;
	border-radius: 3rem;
	box-sizing: border-box;
}
#index .partners .phoList {
	margin-top: -1.4rem;
	display: flex;
	margin: -1.4rem auto 0;
	width: calc(100% - 20rem);
	justify-content: space-between;
	align-items: center;
}
#index .partners .subBox02 .phoList {
	width: auto;
	margin: 0;
}
#index .partners .phoList:first-child {
	margin-bottom:50px;
}

#index .partners .subBox01 .phoList:nth-child(2) {
	margin-bottom:50px;
}
#index .partners .phoList li {
	margin: 2rem 2.7rem 0;
}
#index .partners .subBox02 .phoList li {
	margin-top: 0;
}
#index .partners .phoList li a {
	display: block;
}
#index .partners .phoList li a:hover {
	opacity: 0.7
}
#index .partners .subBox01 {
	margin-bottom: 5.9rem;
}
#index .subInner .subBox {
	width: 100%;
	margin-bottom: 3rem;
	justify-content: left;
}
#index .partners .stickyBox {
	position: absolute;
    right: 5.1%;
    top: 0;
	padding-top: 6.4rem;
}
#index .partners .stickyBox.on {
	position: fixed;
}
#index .partners .stickyBox.ab {
	position: absolute;
	top: auto;
	bottom: 14rem;
}
#index .partners .photo01 {
	position: sticky;
}
#index .partners .photo02 {
	position: absolute;
    left: 6.6%;
    top: 67.5rem;
}
#index .partners .photo03 {
	margin: 4.7rem 0 0 -0.5rem;
}
#index .partners .photo03 .img {
    display: block;
    margin: -3.7rem 0 0 0.5rem;
	position: relative;
    transform-origin: 5rem 3rem;
	animation: rock02 2s infinite;
}
@keyframes rock02 {
	0% {
		transform: rotate(0);
	}
	40% {
		transform: rotate(40deg);
	}
	60% {
		transform: rotate(40deg);
	}
	100% {
		transform: rotate(0);
	}
}
@keyframes scale02 {
	0% {
		transform: rotate(-15deg) scale(1,1);
	}
	40% {
		transform: rotate(-15deg) scale(1,1);
	}
	50% {
		transform: rotate(-15deg) scale(1,0.1);
	}
	60% {
		transform: rotate(-15deg) scale(1,1);
	}
	100% {
		transform: rotate(-15deg) scale(1,1);
	}
}
#index .partners .photo03 .circle {
	display: block;
	width: 0.9rem;
	height: 0.9rem;
	border-radius: 50%;
	background-color: #373737;
	animation: scale02 2s linear infinite;
}
#index .partners .photo03 .circle01 {
	position: absolute;
	left: 67px;
    top: 98px;
}
#index .partners .photo03 .circle02 {
	position: absolute;
	left: 84px;
    top: 89px;
}
#index .partners .photo04 {
	position: absolute;
    right: 5.1%;
    top: 88.4rem;
}
#index .partners .photo05 {
	position: absolute;
    right: 6.2%;
    top: 120.3rem;
}
/*
@media all and (min-width: 897px) and (max-width: 1600px) {
	.mainViusal .photo01 {
		top: 380px;
   	 	left: -1264px;
	}
	.mainViusal .photo01 img {
		width: 1735px;
	}
	.mainViusal .photo02 {
		right: -178px;
		top: 343px;
	}
	.mainViusal .photo02 img {
		width: 890px;
	}
	.mainViusal .photo24 {
		right: -122px;
		bottom: 319px;
	}
	.mainViusal .photo24 img {
		width: 490px;
	}
	.mainViusal .photo03 {
		top: -813px;
		left: -460px;
	}
	.mainViusal .photo03 img {
		width: 1508px;
	}
	.mainViusal .photo04 {
		top: -285px;
		right: -594px;
	}
	.mainViusal .photo04 img {
		width: 942px;
	}
.mainViusal .photo05 {
	margin-left: -5px;
    top: 79px;
    left: 0;
    width: 100%;
    text-align: center;
}
	.mainViusal .photo05 img {
		width: 1050px;
	}
	.mainViusal .photo06 {
		top: 33px;
		left: calc(50% - 455px);
		width: 100%;
	}
	.mainViusal .photo06 img {
		width: 40px;
	}
	.mainViusal .photo07 {
		top: 158px;
		right: -110px;
	}
	.mainViusal .photo07 img {
		width: 216px;
	}
	.mainViusal .photo08 {
		top: 550px;
		right: -35px;
	}
	.mainViusal .photo08 img {
		width: 106px;
	}
	.mainViusal .photo09 {
		top: 359px;
		left: -203px;
	}
	.mainViusal .photo09 img {
		width: 328px;
	}
	.mainViusal .photo10 {
		margin-left: 118px;
		top: 808px;
	}
	.mainViusal .photo10 img {
		width: 50px;
	}
	.mainViusal .photo11 {
		margin-right: -475px;
		top: 320px;
	}
	.mainViusal .photo11 img {
		width: 158px;
	}
	.mainViusal .photo12 {
		top: 765px;
		right: 346px;
	}
	.mainViusal .photo12 img {
		width: 104px;
	}
	.mainViusal .photo13 {
		top: 760px;
		left: 245px;
	}
	.mainViusal .photo13 img {
		width: 114px;
	}
	.mainViusal .photo14 {
		top: 540px;
		left: 150px;
	}
	.mainViusal .photo14 img {
		width: 144px;
	}
	.mainViusal .photo15 {
		top: 642px;
		right: 7.5%;
	}
	.mainViusal .photo15 img {
		width: 114px;
	}
	.mainViusal .photo16 img {
		width: 142px;
	}
	.mainViusal .photo17 {
		margin-left: -76px;
		top: 635px;
	}
	.mainViusal .photo17 img {
		width: 154px;
	}
	.mainViusal .photo18 {
		margin-left: 3px;
		top: 270px;
	}
	.mainViusal .photo18 img {
		width: 520px;
	}
	.mainViusal .photo19 {
		top: 156px;
		left: calc(50% - 316px);
		width: 100%;
	}
	.mainViusal .photo19 img {
		width: 92px;
	}
	.mainViusal .photo20 {
		margin-left: 48px;
		top: 747px;
	}
	.mainViusal .photo20 img {
		width: 66px;
	}
	.mainViusal .photo22 {
		top: 102px;
		left: calc(50% - 368px);
		width: 100%;
	}
	.mainViusal .photo22 img {
		width: 43px;
	}
	.mainViusal .photo23 {
		top: 39px;
		left: calc(50% - 327px);
		width: 100%;
	}
	.mainViusal .photo23 img {
		width: 50px;
	}
	.mainViusal .title {
		top: 410px;
		font-size: 3.7rem;
	}
	.mainViusal .link {
		margin-left: -160px;
		top: 513px;
		width: 320px;
	}
	.mainViusal .link a {
		background-size: 42px 42px;
	}
	#index .vision {
	margin: 10px 0 370px;
}
	#index .vision .title {
		margin: 0 0 61px 44px;
		font-size: 4rem;
	}
	#index .vision .text {
		margin-bottom: 36px;
		line-height: 2;
	}
#index .vision .photo01 {
    right: 69px;
    top: 17px;
	width: 24.46vw;
}
#index .vision .photo02 {
    left: -60px;
    top: 137px;
}
.photo25 {
	position: absolute;
    left: -20%;
    top: 1597px;
    mix-blend-mode: color-burn;
}
#index .vision .imgTxt01 {
	position: absolute;
    left: -53px;
    top: -62px;
}
#index .vision .imgTxt02 {
	position: absolute;
    left: 13.5%;
    top: 971px;
}
#index .vision .imgTxt03 {
	position: absolute;
    right: -48.5%;
    top: 419px;
}
#index .vision .imgTxt04 {
	position: absolute;
    right: 8.4%;
    top: 482px;
}
#index .vision .imgTxt05 {
	position: absolute;
    left: 18%;
    top: 852px;
}
#index .vision .imgTxt05 img {
	animation: rock 2.5s linear infinite;
}
	#index .service {
	padding-bottom: 301px;
	background: url("img/index/vision_img06.png") no-repeat left bottom;
	background-size: 619px 523px;
}
#index .service .content {
	max-width: 1320px;
	width: auto;
	position: relative;
	z-index: 20;
}
#index .service .headLine02 {
	margin-bottom: 53px;
	text-align: left;
	font-size: 7.1rem;
}
#index .service .imgBox {
	z-index: 1;
    position: relative;
	flex-direction: row-reverse;
}
#index .service .imgBox .photoBox {
	margin-right: -16.75%;
    width: 70.45%;
    border-radius: 100px;
    overflow: hidden;
}
#index .service .imgBox .photoBox img {
	border-radius: 100px;
}
#index .service .imgBox .textBox {
	margin-top: 247px;
	width: 30.6%;
}
#index .service .imgBox .textBox .text {
	margin-bottom: 100px;
	line-height: 1.75;
}
#index .service .imgBox .link {
	text-align: right;
}
#index .service .imgBox .link a {
	padding: 31px 103px 31px 0;
    font-size: 1.6rem;
    font-weight: 700;
	transition: 0.3s;
    background: url(img/common/icon10.png) no-repeat right 14px center;
    background-size: 64px 64px;
}
	#index .service .imgTxt01 {
	position: absolute;
    left: 22.7%;
    top: 90px;
	mix-blend-mode: hard-light;
}
#index .service .imgTxt02 {
	position: absolute;
    left: 30.1%;
    top: 195px;
}
	.photo26 {
	position: absolute;
	right: -24.3%;
    top: 2700px;
    mix-blend-mode: hard-light;
}
#index .partners {
	margin-top: -183px;
	padding: 229px 0 193px;
	position: relative;
	z-index: 30;
	background-color: #fff;
	border-radius: 200px 0 0 0;
}
#index .partners .content {
	width: auto;
	position: relative;
	z-index: 10;
}
#index .partners .headLine02 {
	margin-bottom: 131px;
	font-size: 7.1rem;
}
#index .partners .headLine02 .sml {
	margin-top: -1px;
}
#index .partners .photo {
	max-width: 1056px;
	margin: 0 auto 193px;
}
#index .partners h3 {
	margin-bottom: 107px;
	position: relative;
	font-size: 2.5rem;
	font-weight: bold;
	text-align: center;
}
#index .partners h3::before {
	margin-left: -25px;
	position: absolute;
	bottom: -27px;
	left: 50%;
	width: 50px;
	height: 2px;
	background-color: #373737;
	content: "";
}
#index .partners .lTxt {
	padding: 14px 10px;
	width: 180px;
	color: #000;
	font-size: 1.5rem;
	text-align: center;
	font-weight: bold;
	background-color: #FAF9F7;
	border-radius: 30px;
	box-sizing: border-box;
}
#index .partners .phoList {
	margin-top: -14px;
	display: flex;
	width: calc(100% - 200px);
}
#index .partners .phoList li {
	margin: 20px 27px 0;
}
#index .partners .phoList li a {
	display: block;
}
#index .partners .phoList li a:hover {
	opacity: 0.7
}
#index .partners .subBox01 {
	margin-bottom: 59px;
}
#index .subInner .subBox {
	width: 50%;
}
#index .partners .stickyBox {
	position: absolute;
    right: 5.1%;
    top: 0;
	padding-top: 64px;
}
#index .partners .stickyBox.on {
	position: fixed;
}
#index .partners .stickyBox.ab {
	position: absolute;
	top: auto;
	bottom: 140px;
}
#index .partners .photo01 {
	position: sticky;
}
#index .partners .photo02 {
	position: absolute;
    left: 6.6%;
    top: 675px;
}
#index .partners .photo03 {
	margin: 47px 0 0 -5px;
}
#index .partners .photo03 .img {
    display: block;
    margin: -37px 0 0 5px;
	position: relative;
    transform-origin: 50px 30px;
	animation: rock02 2s infinite;
}
	#index .partners .photo03 .circle {
	display: block;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background-color: #373737;
	animation: scale02 2s linear infinite;
}
#index .partners .photo03 .circle01 {
	position: absolute;
	left: 67px;
    top: 98px;
}
#index .partners .photo03 .circle02 {
	position: absolute;
	left: 84px;
    top: 89px;
}
#index .partners .photo04 {
	position: absolute;
    right: 5.1%;
    top: 884px;
}
#index .partners .photo05 {
	position: absolute;
    right: 6.2%;
    top: 1203px;
}
}
*/
@media all and (max-width: 896px) {
	.wrapBox {
		margin-top: -81px;
		padding-top: 167px;
		background: url("img/index/sp_top_bg.jpg") no-repeat center top;
		background-size: 100% 120%;
	}
	@media all and (min-width: 730px) and (max-width: 896px) {
		.wrapBox {
			background-size: 100% 5000px;
		}
	}
	@media all and (max-width: 374px) {
		.wrapBox {
			background-size: cover;
		}
	}
	.wrapBox .content {
		max-width: inherit;
		margin: 0 30px;
		padding: 0;
	}
	.mainViusal {
		height: 801px;
	}
	.mainViusal .photo01 {
		top: 459px;
		left: -99px;
	}
	.mainViusal .photo02 {
		right: -155px;
    	top: 378px;
	}
	.mainViusal .photo03 {
		top: -186px;
		left: -47px;
		width: 100%;
	}
	.mainViusal .photo04 {
		top: -95px;
    	right: -195px;
	}
	.mainViusal .photo05 {
		margin-left: 0;
		top: 143px;
		right: -197px;
		left: -234px;
		width: auto;
	}
	.mainViusal .photo06 {
	   top: 100px;
	   left: 50%;
	   margin-left: -158px;
	}
	.mainViusal .photo07 {
		top: 99px;
		right: -47px;
	}
	.mainViusal .photo08 {
		top: 529px;
		right: -19px;
	}
	.mainViusal .photo09 {
		top: 401px;
		left: -51px;
	}
	.mainViusal .photo10 {
		margin-left: 145px;
		top: 454px;
		left: 0;
	}
	.mainViusal .photo11 {
		margin-right: -59px;
		top: 148px;
		right: 0;
	}
	.mainViusal .photo12 {
		top: 518px;
    	right: 129px;
	}
	.mainViusal .photo13 {
		top: 631px;
    	left: 71px;
	}
	.mainViusal .photo14 {
		top: 472px;
		left: 33px;
	}
	.mainViusal .photo15 {
		top: 544px;
		right: 44px;
	}
	.mainViusal .photo16 {
		top: 94px;
		margin-left: 13px;
		right: auto;
		left: 0;
		width: 100%;
		text-align: center;
	}
	.mainViusal .photo17 {
		margin-left: 16px;
		top: 375px;
		left: 0;
		width: 100%;
	}
	.mainViusal .photo18 {
		margin-left: 1px;
		top: 226px;
		left: 0;
	}
	.mainViusal .photo19 {
	   top: 143px;
	   left: 50%;
	   margin-left: -110px;
	}
	.mainViusal .photo20 {
		margin-left: 111px;
		top: 428px;
		left: 0;
	}
	.mainViusal .photo21 {
		right: -68px;
		top: 547px;
	}
	.mainViusal .photo22 {
		top: 121px;
		left: 50%;
		margin-left: -123px;
	 }
	 .mainViusal .photo23 {
		top: 101px;
		left: 50%;
		margin-left: -110px;
	 }
	.mainViusal .photo24 {
		position: absolute;
		right: -70px;
    	bottom: 42px;
	}
	@media all and (max-width: 345px) {
		.mainViusal .photo18 {
			top: 224px;
		}
		.mainViusal .title {
			top: 270px;
		}
		.mainViusal .link {
			top: 310px;
		}
		.mainViusal .photo02 {
			right: -100px;
		}
		.mainViusal .photo15 {
			right: 35px;
		}
		.mainViusal .photo12 {
			right: 103px;
		}
	}
	.mainViusal .title {
		margin-left: 11px;
		top: 278px;
		font-size: 1.8rem;
	}
	.mainViusal .link {
		margin-left: -84px;
		top: 316px;
		width: 170px;
	}
	.mainViusal .link a {
		padding: 14px 30px 12px;
		font-size: 1.2rem;
		text-align: left;
		background: #F4B01C url(img/common/icon12.png) no-repeat right 9px center;
		background-size: 28px 28px;
	}
	#index .vision {
		margin: 35px 0 500px;
	}
	#index .vision .title {
		margin: 0 0 50px 20px;
		font-size: 2.4rem;
	}
	#index .vision .text {
		margin-bottom: 25px;
		line-height: 1.75;
		position: relative;
		z-index: 10;
	}
	#index .vision .photo01 {
		display: none;
	}
	#index .vision .photo02 {
		display: none;
	}
	.photo25 {
		left: -62%;
    	top: 1532px;
	}
	#index .vision .imgTxt01 {
		left: 0;
		top: -50px;
	}
	#index .vision .imgTxt02 {
		left: 0;
		top: 900px;
		width: 100%;
		margin-left: -6px;
	}
	.photo26 {
		right: -47.3%;
		top: 2050px;
	}
	#index .vision .imgTxt04 {
		display: none;
	}
	#index .vision .imgTxt05 {
		left: 50%;
		top: 820px;
		margin-left: -56px;
	}
	@media all and (max-width: 340px) {
		#index .vision .imgTxt02 {
			top: 850px;
		}
		#index .vision .imgTxt05 {
			top: 790px;
		}
	}
	#index .service .imgTxt03 {
		position: absolute;
		right: -206px;
    	top: 154px;
	}
	#index .service {
		padding-bottom: 210px;
		background: url("img/index/sp_vision_img06.png") no-repeat left bottom;
		background-size: 225px 182px;
	}
	#index .service .content {
		max-width: inherit;
	}
	#index .service .headLine02 {
		margin-bottom: 40px;
		font-size: 3.5rem;
	}
	#index .service .imgBox {
		display: block;
	}
	#index .service .imgBox .photoBox {
		margin: 0 0 66px;
		width: auto;
		border-radius: 30px;
	}
	#index .service .imgBox .photoBox img {
		width: 100%;
		border-radius: 30px;
	}
	#index .service .imgBox .textBox {
		position: relative;
		top: 50px;
		margin-top: 0;
		width: auto;
	}
	#index .service .imgBox .textBox .text {
		margin-bottom: 44px;
		text-align: center;
	}
	#index .service .imgBox .link a {
		padding: 15px 58px 18px 0;
		font-size: 1.3rem;
		background: url(img/common/icon10.png) no-repeat right 0 center;
		background-size: 42px 43px;
	}
	#index .service .imgTxt01 {
		left: auto;
		top: -60px;
		right: 24px;
	}
	#index .service .imgTxt02 {
		left: auto;
		top: -11px;
   		right: -1px;
	}
	#index .partners {
		margin-top: -25px;
		padding: 108px 0 123px;
		border-radius: 30px 0 0 0;
	}
	#index .partners .content {
		max-width: inherit;
	}
	#index .partners .headLine02 {
		margin-bottom: 33px;
		font-size: 3.5rem;
	}
	#index .partners .headLine02 .sml {
		margin-top: 10px;
	}
	#index .partners .photo {
		max-width: inherit;
		margin: 0 auto 114px;
	}
	#index .partners .photo img {
		width: 100%;
	}
	#index .partners h3 {
		margin-bottom: 59px;
		font-size: 2rem;
	}
	#index .partners h3::before {
		bottom: -19px;
	}
	#index .partners .lTxt {
		padding: 11px 10px 9px;
		width: 170px;
		margin: 0 auto 46px;
		font-size: 1.4rem;
	}
	#index .partners .phoList {
		width: 100%;
		justify-content: space-around;
		flex-wrap: wrap;
		margin: -55px -4% 15% 1%;
	}
	#index .partners .phoList li {
		margin: 55px 0 0;
		width: 39%;
		text-align: center;
	}
	#index .partners .subBox01 {
		margin-bottom: 0;
	}
	#index .partners .subBox02 .phoList {
		display: block;
		text-align: center;
		width: 100%;
	}
	#index .partners .subBox02 .phoList li{
		width: 100%;
		margin-block: 10%;
	}
	#index .partners .subBox:not(:last-child) {
		margin-bottom: 10px;
	}
	#index .subInner {
		display: block;
	}
	#index .partners .subBox01 {
		display: block;
	}
	#index .subInner .subBox {
		width: 100%;
	}
	#index .partners .photo01 {
		display: none;
	}
	#index .partners .photo02 {
		display: none;
	}
	#index .partners .photo03 {
		display: none;
	}
	#index .partners .photo04 {
		display: none;
	}
	#index .partners .photo05 {
		display: none;
	}
	.wrapBox #gFooter {
		padding: 110px 0 36px;
	}
}
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
#contact .topTxt {
	margin-bottom: 6.2rem;
	color: #262626;
	line-height: 1.78;
	text-align: center;
}
#contact .topTxt .txt {
	margin-top: 0.5rem;
	display: block;
}
#contact .topTxt .point {
	padding-left: 2rem;
	display: inline-block;
	background: url("img/common/icon01.png") no-repeat left center;
	background-size: 1.2rem 1.2rem;
}
#contact table {
	margin-bottom: 4.8rem;
	width: 100%;
	border-collapse: collapse;
}
#contact th, #contact td {
	padding: 2rem 0 2rem;
	color: #262626;
	font-size: 1.6rem;
	font-weight: 500;
	word-break: break-all;
	text-align: left;
	vertical-align: top;
	box-sizing: border-box;
}
#contact th {
	padding: 3.8rem 0 1rem;
	width: 29.3%;
	font-size: 1.8rem;
	font-weight: bold;
}
#contact .step01 tr:first-child td {
	padding-bottom: 0.9rem;
}
#contact .step01 tr:first-child th {
	padding-top: 2.4rem;
}
#contact .icon {
	padding-right: 2rem;
	display: inline-block;
	background: url("img/common/icon01.png") no-repeat right center;
	background-size: 1.2rem 1.2rem;
}
#contact td input[type="text"], #contact td input[type="tel"], #contact td input[type="email"], #contact td textarea {
	width: 100%;
	height: 6rem;
	padding: 0.3rem 2.8rem 0.1rem;
	border: 0.1rem solid #E3E3E3;
	font-size: 1.8rem;
	background: #fff;
	border-radius: 0.5rem;
	font-weight: 500;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
#contact td input[type="text"].wid01 {
	width: 23rem;
}
#contact td input[type="text"]::placeholder, #contact .step01 td input[type="tel"]::placeholder, #contact .step01 td input[type="email"]::placeholder, #contact .step01 td textarea::placeholder {
	font-size: 1.8rem;
	color: #B5B5B5;
}
#contact td input[type="text"]:-ms-input-placeholder, #contact .step01 td input[type="tel"]:-ms-input-placeholder, #contact .step01 td input[type="email"]:-ms-input-placeholder, #contact .step01 td textarea:-ms-input-placeholder {
	font-size: 1.8rem;
	color: #B5B5B5;
}
#contact td input[type="text"]::-ms-input-placeholder, #contact .step01 td input[type="tel"]::-ms-input-placeholder, #contact .step01 td input[type="email"]::-ms-input-placeholder, #contact .step01 td textarea::-ms-input-placeholder {
	font-size: 1.8rem;
	color: #B5B5B5;
}
#contact .code {
	margin-right: 1.1rem;
	display: inline-block;
	font-weight: 500;
	font-size: 1.8rem;
}
#contact .inputList li {
	margin-bottom: 2rem;
}
#contact .inputList li:last-child {
	margin-bottom: 0;
}
#contact td textarea {
	padding: 1.4rem 2.6rem;
	height: 31rem;
	resize: vertical;
}
#contact .checkList .wpcf7-form-control {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
#contact .checkList .wpcf7-list-item {
	margin: 0;
	width: 56.5%;
}
#contact .checkList .wpcf7-list-item:nth-child(2n) {
	width: 43.5%;
}
#contact label input {
	display: none;
}
#contact label input ~ span {
	padding: 1.2rem 0 1.1rem 4rem;
	display: inline-block;
	font-weight: 500;
	cursor: pointer;
	background: url("img/common/icon02.png") no-repeat left center;
	background-size: 2.7rem 2.7rem;
}
#contact label input:checked ~ span {
	background-image: url("img/common/icon03.png");
}
#contact .title {
	margin-bottom: 2.5rem;
	color: #262626;
	font-size: 2rem;
	font-weight: bold;
}
#contact .sml {
	margin-top: 1rem;
	font-size: 1.6rem;
	display: block;
	color: #000;
}
#contact .height01 {
	padding: 3.5rem 3.9rem 3.5rem 3.9rem;
	margin-bottom: 3.1rem;
	height: 31rem;
	border-radius: 0.5rem;
	border: 1px solid #E3E3E3;
	box-sizing: border-box;
}
#contact .height01 .text {
	font-size: 1.6rem;
}
#contact .height01 .text:not(:last-child) {
	margin-bottom: 3rem;
}
#contact .agree {
	margin-bottom: 7.8rem;
	text-align: center;
	font-size: 1.6rem;
}
#contact .agree .wpcf7-list-item {
	margin-left: 0;
}
#contact .submit li {
	width: 40rem;
	margin: 0 1.5rem;
	overflow: hidden;
	background-color: #373737;
	position: relative;
	border-radius: 4rem;
}
#contact .submit li input {
	width: 100%;
	padding: 0 1rem;
	height: 7.5rem;
	letter-spacing: 0.06em;
	border-radius: 4rem;
	border: 0;
	transition: 0.3s;
	font-size: 1.8rem;
	cursor: pointer;
	background-color: transparent;
	font-weight: bold;
	color: #fff;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
	z-index: 1;
}
#contact td.color input[type="text"], #contact td.color input[type="tel"], #contact td.color input[type="email"], #contact .step01 td.color textarea {
	border: 1px solid #870009;
	background-color: #FFF7F7;
}
#contact .erroTtl {
	margin: 9.1rem 0 7.2rem;
	padding: 3.2rem 2rem 3rem;
	font-size: 1.8rem;
	font-weight: bold;
	color: #B1000C;
	text-align: center;
	border: 1px solid #B1000C;
	display: none;
}
#contact .error,
#contact .wpcf7-not-valid-tip {
	margin: 0.7rem 0 -0.6rem;
	display: block;
	color: #B1000C;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
}
#contact .error {
	display: none;
}
#contact .error01 {
	margin: 1.4rem 0 0.4rem;
}
#contact .error02 {
	margin: -0.4rem 0 0;
}
#contact .step02 .icon {
	padding-right: 0;
	background-image: none;
}
#contact .step02 .topTxt {
	margin-bottom: 9rem;
}
#contact .step02 table {
	margin-bottom: 3.6rem;
}
#contact .step02 th, #contact .step02 td {
	padding: 3.4rem 0 3.2rem;
	border-bottom: 1px solid #E3E3E3;
	font-size: 1.8rem;
	line-height: 1.75;
}
#contact .step02 th {
	padding: 3.4rem 0 3.2rem;
	width: 32%;
}
#contact .step02 tr:first-child td,
#contact .step02 tr:first-child th {
	border-top: 1px solid #E3E3E3;
}
#contact .step02 a:hover {
	opacity: 0.7;
}
#contact .step02 .title {
	margin-bottom: 10rem;
	padding-bottom: 3.5rem;
	font-size: 1.8rem;
	border-bottom: 1px solid #E3E3E3;
}
#contact .step02 .title .lTxt {
	margin-right: 12.9rem;
	display: inline-block;
}
#contact .step02 .title .rTxt {
	display: inline-block;
	font-weight: 500;
}
#contact .step02 .submit li {
	width: 30rem;
	margin: 0 5rem;
}
#contact .thanks .topTtl {
	margin-bottom: 5.6rem;
	font-size: 3.1rem;
	font-weight: bold;
	text-align: center;
}
#contact .thanks .textArea {
	margin-bottom: 9.1rem;
	text-align: center;
}
#contact .thanks .textArea .text {
	margin-bottom: 3.2rem;
	line-height: 1.78;
}
#contact .thanks .textArea .text:last-child {
	margin-bottom: 0;
}
#contact .thanks .link {
	width: 30rem;
	margin: 0 auto;
}
#contact .thanks .link a {
	padding: 2.4rem 1.5rem;
	display: block;
	color: #fff;
	text-align: center;
	letter-spacing: 0.06em;
	background-color: #373737;
	border-radius: 4rem;
}
.simplebar-track.simplebar-vertical {
	width: 1.8rem;
	background-color: #EFEFEF;
}
.simplebar-track.simplebar-vertical .simplebar-scrollbar::before {
	background-color: #646464;
	border-radius: 5px;
	left: 0;
	right: 0;
}

/*  追加  */
#contact h2 {
    margin: 50px 0 40px 0;
    padding: 15px 0 15px 20px;
    font-size: 2rem;
    border-left: 5px solid #f4b01c
}

#contact ol {
    margin: 20px 0 0 50px
}

#contact ol li {
    position: relative;
    list-style: outside decimal;
    padding: 0 0 0 5px;
}

#contact ol li::marker {
    font-size: 130%;
    font-weight: 700;
    color: #f4b01c
}

#contact ol li ol {
    padding: 20px 0 0 20px
}

#contact ol.kakkoNum {
    counter-reset: listNum
}

#contact ol.kakkoNum li {
    list-style: none;
    margin-left: 1.5rem
}

#contact ol.kakkoNum li+li {
    margin-top: 2rem
}

#contact ol.kakkoNum li:before {
    display: block;
    position: absolute;
    top: -0.2rem;
    left: -3.5rem;
    width: 3.5rem;
    counter-increment: listNum;
    content: "（" counter(listNum) "）";
    font-size: 130%;
    font-weight: 700;
    color: #5db5bd
}

#contact ol.kakkoNum li dt {
    margin-bottom: 0.3rem;
    font-size: 1.2rem
}

#contact ol.kakkoNum li dl+p {
    margin-top: 1.5rem
}
#contact li+li {
    margin-top: 15px;
}


#contact .wpcf7-spinner{
	display: none!important;
}
/*  追加  */

@media all and (min-width: 897px) {
	#contact .submit li::before {
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		background-color: #FFAC00;
		border-radius: 4rem;
		transform: translateX(-100%);
		transition: 0.3s;
	}
	#contact .submit li:hover::before {
		transform: translateX(0);
	}
	#contact .thanks .link {
		background-color: #373737;
    	border-radius: 4rem;
		position: relative;
		overflow: hidden;
	}
	#contact .thanks .link a {
		position: relative;
		z-index: 1;
		overflow: hidden;
		background-color: transparent;
	}
	#contact .thanks .link a::before {
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		border-radius: 4rem;
		content: "";
		background: #FFAC00;
		transform: translateX(-100%);
		transition: 0.3s;
		z-index: -1;
	}
	#contact .thanks .link a:hover::before {
		transform: translateX(0);
	}
}
@media all and (max-width: 896px) {
	#contact .topTxt {
		line-height: 1.75;
	}
	#contact .topTxt .txt {
		margin-top: 4px;
	}
	#contact .topTxt .point {
		padding-left: 18px;
		background-size: 10px 10px;
	}
	#contact table {
		margin-bottom: 15px;
	}
	#contact th, #contact td {
		padding: 3px 0 15px;
		display: block;
		font-size: 1.5rem;
	}
	#contact th {
		padding: 21px 0 12px	;
		width: 100%;
		font-size: 1.6rem;
	}
	#contact .step01 tr:first-child td {
		padding-bottom: 24px;
	}
	#contact .step01 tr:first-child th {
		padding: 8px 0 6px;
	}
	#contact td.height02 {
		padding-bottom: 23px;
	}
	#contact .icon {
		padding-right: 18px;
		background-size: 10px 10px;
	}
	#contact .step01 td input[type="text"], #contact .step01 td input[type="tel"], #contact .step01 td input[type="email"], #contact .step01 td textarea {
		padding: 4px 19px 1px;
		font-size: 1.5rem;
	}
	#contact .step01 td input[type="text"]::placeholder, #contact .step01 td input[type="tel"]::placeholder, #contact .step01 td input[type="email"]::placeholder, #contact .step01 td textarea::placeholder {
		font-size: 1.5rem;
	}
	#contact .step01 td input[type="text"]:-ms-input-placeholder, #contact .step01 td input[type="tel"]:-ms-input-placeholder, #contact .step01 td input[type="email"]:-ms-input-placeholder, #contact .step01 td textarea:-ms-input-placeholder {
		font-size: 1.5rem;
	}
	#contact .step01 td input[type="text"]::-ms-input-placeholder, #contact .step01 td input[type="tel"]::-ms-input-placeholder, #contact .step01 td input[type="email"]::-ms-input-placeholder, #contact .step01 td textarea::-ms-input-placeholder {
		font-size: 1.5rem;
	}
	#contact .code {
		margin-right: 14px;
		font-size: 1.6rem;
	}
	#contact td input[type="text"].fonts::placeholder,
	#contact td textarea.fonts::placeholder {
		font-size: 1.4rem;
	}
	#contact td textarea {
		padding: 18px 19px;
	}
	#contact .checkList {
		display: block;
	}
	#contact .checkList li.wid02 {
		width: 100%;
	}
	#contact .checkList li.wid03 {
		width: 100%;
	}
	#contact .checkList li {
		font-size: 1.4rem;
	}
	#contact .checkList li.sml01 {
		font-size: 1.3rem;
	}
	#contact label input ~ span {
		padding: 6px 0 6px 36px;
		font-size: 1.4rem;
		background-size: 23px 23px;
	}
	#contact .title {
		margin-bottom: 13px;
		font-size: 1.6rem;
	}
	#contact .sml {
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1.75;
	}
	#contact .height01 {
		padding: 17px 20px;
		margin-bottom: 29px;
	}
	#contact .height01 .text {
		font-size: 1.4rem;
	}
	#contact .height01 .text:not(:last-child) {
		margin-bottom: 20px;
	}
	#contact .agree {
		margin-bottom: 70px;
		font-size: 1.4rem;
		text-align: left;
	}
	#contact .submit {
		display: block;
		margin: 0 25px;
		text-align: center;
	}
	#contact .submit li {
		width: auto;
		max-width: 400px;
		margin: 0 auto 15px;
		background-color: transparent;
	}
	#contact .submit li:last-child {
		margin-bottom: 0;
	}
	#contact .submit li input {
		padding: 0 10px;
		height: 58px;
		font-size: 1.4rem;
		background-color: #373737;
	}
	#contact .erroTtl {
		margin: 70px 0 55px;
		padding: 20px 15px;
		font-size: 1.6rem;
	}
	#contact .error {
		margin: 6px 0 -6px;
		font-size: 1.4rem;
	}
	#contact .error01 {
		margin: 10px 0 0;
	}
	#contact .error02 {
		margin: 0;
	}
	#contact .error02 {
		margin: -4px 0 0;
	}
	#contact .step02 .topTxt {
		margin-bottom: 76px;
	}
	#contact .step02 table {
		margin-bottom: 39px;
	}
	#contact .step02 th, #contact .step02 td {
		padding: 5px 0 34px;
		font-size: 1.4rem;
	}
	#contact .step02 th {
		padding: 37px 0 3px;
		width: 100%;
		font-size: 1.6rem;
		border-bottom: none;
	}
	#contact .step02 tr:first-child th {
		border-bottom: none;
	}
	#contact .step02 tr:first-child td {
		border-top: none;
	}
	#contact .step02 .code {
		margin-right: 0;
		font-size: 1.4rem;
	}
	#contact .step02 .fzip {
		margin-right: 18px;
	}
	#contact .step02 .title {
		margin-bottom: 80px;
		font-size: 1.6rem;
	}
	#contact .step02 .title .lTxt {
		margin: 0 0 12px;
		display: block;
	}
	#contact .step02 .title .rTxt {
		display: block;
		font-size: 1.4rem;
	}
	#contact .step02 .submit {
		display: block;
		margin: 0 17px;
	}
	#contact .step02 .submit li {
		max-width: 300px;
		width: auto;
		margin: 0 auto 40px;
	}
	#contact .step02 .submit li:last-child {
		margin-bottom: 0;
	}
	#contact .thanks .topTtl {
		margin-bottom: 26px;
		font-size: 2rem;
		line-height: 1.75;
	}
	#contact .thanks .textArea {
		margin-bottom: 73px;
	}
	#contact .thanks .textArea .text {
		margin-bottom: 25px;
		line-height: 1.75;
	}
	#contact .thanks .link {
		width: auto;
		margin: 0 auto;
		max-width: 300px;
	}
	#contact .thanks .link a {
		padding: 19px 15px 18px;
		margin: 0 18px;
	}
	#contact .checkList .wpcf7-form-control {
		display: block;
	}
	#contact .checkList .wpcf7-list-item {
		width: 100%;
	}
	#contact .checkList .wpcf7-list-item:nth-child(2n) {
		width: 100%;
	}
	#contact .checkList .wpcf7-list-item.last {
		font-size: 1.3rem;
	}

	#contact h2 {
		font-size: 1.5rem;
	}
	#contact ol{
		margin: 10px 0 0 10px;
	}
	#contact ol li ol {
		padding: 20px 0 0 5px;
	}
}
/*------------------------------------------------------------
	company
------------------------------------------------------------*/
#company .contactBox {
	padding: 20rem 0 33rem;
}
#company table {
	width: 100%;
	border-collapse: collapse;
}
#company .tableBox th,
#company .tableBox td {
	padding: 5.7rem 0 5.5rem;
	color: #3B4043;
	font-size: 1.8rem;
	font-weight: 400;
	word-break: break-all;
	text-align: left;
	line-height: 1.89;
	vertical-align: middle;
	box-sizing: border-box;
	border-bottom: 1px solid #D1D1D1;
}
#company .tableBox th {
	width: 26%;
	font-weight: bold;
}
#company .tableBox tr:first-child th,
#company .tableBox tr:first-child td {
	border-top: 1px solid #D1D1D1;
}
#company .tableBox td dl{
	display: table;
}
#company .tableBox td dt,
#company .tableBox td dd{
	display: table-cell;
    vertical-align: top;
}
#company .tableBox td dt{
	width:100px;
}
#company .tableBox td dd span{
	font-size: 1.25rem;
    display: block;
    margin-top: -5px;
}
#company .tableBox span.address{
	display: block;
	margin-bottom: 10px;
	font-size: 1.5rem;
    line-height: 2rem;
}
@media all and (max-width: 896px) {
	#company .contactBox {
		padding: 70px 0 138px;
	}
	#company .tableBox th,
	#company .tableBox td {
		padding: 4px 0 34px;
		font-size: 1.4rem;
		font-weight: 400;
		line-height: 1.75;
		display: block;
	}
	#company .tableBox th {
		padding: 37px 0 4px;
		width: 100%;
		font-weight: bold;
		font-size: 1.6rem;
		border-bottom: none;
	}
	#company .tableBox tr:first-child td {
		border-top: none;
	}
	#company .tableBox span.address{
		margin-bottom: 25px;
	}
	#company .tableBox td dd span{
		font-size: 1rem;
	}
	#company .tableBox td dt{
		width:85px;
	}
}
/*------------------------------------------------------------
	service
------------------------------------------------------------*/
#service .contactBox {
	padding: 18.7rem 0 33.2rem;
}
#service .contactBox .content {
	width: 120rem;
}
#service .topTtl {
	margin-bottom: 6.4rem;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.86;
	text-align: center;
}
#service .serviceList {
	margin-bottom: 21rem;
}
#service .serviceList li {
	width: 20.8rem;
	height: 20.8rem;
	position: relative;
	margin-right: 4rem;
	background-color: #F4B01C;
	border-radius: 50%;
}
#service .serviceList li::before {
	margin-left: -0.8rem;
	position: absolute;
	left: 50%;
	bottom: 2rem;
	width: 1.7rem;
	height: 1rem;
	background: url("img/common/icon06.png") no-repeat left top;
	background-size: 1.7rem 1rem;
	content: "";
}
#service .serviceList li a {
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	display: flex;
	flex-direction: column;
	text-align: center;
}
#service .serviceList li a:hover {
	opacity: 0.7;
}
#service .serviceList li:last-child {
	margin-right: 0;
}
#service .serviceList li .pho {
	margin-bottom: 1.3rem;
	display: block;
}
#service .serviceList li .ttl {
	width: 15.9rem;
	padding: 0.3rem 0.5rem 0.1rem;
	margin-bottom: 1.2rem;
	font-size: 2rem;
	display: block;
	font-weight: 700;
	border-radius: 3rem;
	box-sizing: border-box;
	background-color: #fff;
}
#service .serviceList li .txt {
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: 1.6rem;
	line-height: 1.33;
	font-weight: bold;
}
#service .serviceList li .sml {
	margin-bottom: 0.3rem;
	display: block;
	font-size: 1.3rem;
}
#service .serviceList li.bg01 {
	background-color: #2AC18A;
}
#service .serviceList li.bg02 {
	background-color: #2793E3;
}
#service .serviceList li.bg03 {
	background-color: #C76FB9;
}
#service .serviceList li.bg04 {
	background-color: #F56386;
}
#service .subBox:not(:last-child) {
	margin-bottom: 21rem;
}
#service .subBox h3 {
	margin-bottom: 9.5rem;
	padding: 2.8rem 2rem 3.7rem 1.5rem;
	text-align: center;
	font-size: 3.4rem;
	font-weight: bold;
	background-color: #FAF9F7;
	border-radius: 6rem;
}
#service .subBox h3 .pho {
	margin-right: 1.5rem;
	width: 27rem;
	display: inline-block;
}
#service .subBox h3 .pho img {
	vertical-align: -0.8rem;
}
#service .subBox h3 .en {
	padding: 0.2rem 0.2rem 0;
	width: 12.5rem;
	color: #fff;
	display: inline-block;
	font-size: 1.9rem;
	font-weight: bold;
	border-radius: 3rem;
	box-sizing: border-box;
	background-color: #F4B01C;
}
#service .subBox h3 .en.color01 {
	background-color: #2AC18A;
}
#service .subBox h3 .en.color02 {
	background-color: #2793E3;
}
#service .subBox h3 .en.color03 {
	background-color: #C76FB9;
	width: 16rem;
}
#service .subBox h3 .en.color04 {
	background-color: #F56386;
}
#service .subBox h3 .en.info-en {
	width: auto;
	padding: 0.2rem 1.5rem 0;
}
#service .subBox h3 .lTxt {
	margin-right: 2.2rem;
	display: inline-block;
    vertical-align: 0.5rem;
}
#service .subBox h3 .sml {
	display: inline-block;
	font-size: 2.2rem;
	font-weight: bold;
	vertical-align: 2px;
}
#service .subBox .imgBox .photoBox {
	width: 56rem;
	border-radius: 3rem;
	overflow: hidden;
}
#service .subBox .imgBox .textBox {
	width: 56rem;
	margin-top: 3.5rem;
}
#service .subBox .imgBox .textBox h4 {
	margin-bottom: 2.2rem;
	font-size: 2.4rem;
	line-height: 1.75;
	font-weight: bold;
}
#service .subBox .imgBox .text {
	margin-bottom: 3.2rem;
	line-height: 1.75;
}
#service .subBox .imgBox .link {
	width: 28rem;
	text-align: center;
}
#service .subBox .imgBox .link a {
	padding: 2.2rem 2rem;
	display: block;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	background-color: #373737;
	border-radius: 4rem;
}
@media all and (min-width: 897px) {
	#service .subBox .imgBox .link a:hover {
		background-color: #F4B01C;;
	}
}
#service .subBox .subInfo {
	margin-top: 7rem;
	align-items: center;
}
#service .subBox .subInfo .ttl  {
	margin-right: 3.9rem;
	padding: 0.8rem 0.5rem;
	width: 12.6rem;
	font-size: 1.6rem;
	font-weight: bold;
	border-radius: 3rem;
	text-align: center;
	box-sizing: border-box;
	border: 3px solid #373737;
}
#service .subBox .subInfo .imgList li {
	margin-right: 4rem;
    display: flex;
	align-items: center;
}
#service .subBox .subInfo .imgList li:last-child {
	margin-right: 0;
}
#service .subBox .subInfo .imgList li a {
	display: block;
}
#service .subBox .subInfo .imgList li a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	#service .contactBox {
		padding: 66px 0 140px;
	}
	#service .contactBox .content {
		width: auto;
	}
	#service .topTtl {
		margin-bottom: 50px;
		font-size: 2rem;
		line-height: 1.75;
	}
	#service .serviceList {
		margin-bottom: 159px;
		display: block;
	}
	#service .serviceList li {
		margin: 0 auto 5px;
		max-width: 500px;
		width: auto;
		height: auto;
		position: relative;
		border-radius: 5px;
	}
	#service .serviceList li:last-child {
		margin: 0 auto;
	}
	#service .serviceList li::before {
		margin: -3px 0 0;
		top: 50%;
		left: auto;
		right: 20px;
		bottom: auto;
		width: 16px;
		height: 9px;
		background-size: 16px 9px;
	}
	#service .serviceList li a {
		width: auto;
		height: auto;
		padding: 25px 25px 21px;
		display: block;
		text-align: left;
	}
	#service .serviceList li .pho {
		display: none;
	}
	#service .serviceList li .ttl {
		display: none;
	}
	#service .serviceList li .txt {
		display: block;
		font-size: 1.8rem;
		line-height: 1.18;
	}
	#service .serviceList li .sml {
		margin-bottom: 6px;
		font-size: 1.2rem;
	}
	#service .subBox:not(:last-child) {
		margin-bottom: 160px;
	}
	#service .subBox h3 {
		margin-bottom: 20px;
		padding: 20px 15px 25px;
		font-size: 1.8rem;
		text-align: center;
		border-radius: 20px;
	}
	#service .subBox h3 .pho {
		margin: 0 auto 5px;
		width: 150px;
		display: block;
	}
	#service .subBox h3 .pho img {
		vertical-align: 0;
	}
	#service .subBox h3 .en {
		padding: 2px 2px 0px;
		width: 96px;
		margin: 0 auto;
		display: block;
		font-size: 1.4rem;
		border-radius: 30px;
	}
	#service .subBox h3 .en.info-en {
		width: auto;
		display: inline-block;
		padding: 2px 15px 0px;
	}
	#service .subBox h3 .lTxt {
		margin: 0 0 16px;
		display: block;
		vertical-align: 0;
	}
	#service .subBox h3 .sml {
		margin: 2px 0 3px;
		display: block;
		font-size: 1.3rem;
		vertical-align: 0;
	}
	#service .subBox .imgBox {
		display: block;
	}
	#service .subBox .imgBox .photoBox {
		margin-bottom: 33px;
		width: auto;
		border-radius: 20px;
	}
	#service .subBox .imgBox .textBox {
		width: auto;
		margin-top: 0;
	}
	#service .subBox .imgBox .textBox h4 {
		margin-bottom: 7px;
		font-size: 1.8rem;
	}
	#service .subBox .imgBox .text {
		margin-bottom: 33px;
	}
	#service .subBox .imgBox .link {
		max-width: 400px;
		width: auto;
		margin: 0 auto;
	}
	#service .subBox .imgBox .link a {
		margin: 0 25px;
		padding: 19px 20px 18px;
		font-size: 1.4rem;
	}
	#service .subBox .subInfo {
		margin: 34px 0 70px;
		display: block;
	}
	#service .subBox .subInfo .ttl  {
		margin: 0 auto 40px;
		padding: 10px 20px 8px;
		width: 142px;
		text-align: left;
		border: 2px solid #373737;
	}
	#service .subBox .subInfo .imgList {
		display: block;
	}
	#service .subBox .subInfo .imgList li {
		margin: 0 0 39px;
		display: block;
		text-align: center;
	}
	#service .subBox .subInfo .imgList li:last-child {
		margin: 0;
	}
}
/*トップページお知らせ*/
#index .service .imgBox{flex-direction:column;flex-direction: row-reverse;flex-direction: row;}
#index .service .imgBox .photoBox img {
    border-radius: 0;
}
#index .service .imgBox .textBox .text { margin-bottom: 3rem;margin-bottom: 0;}
#index .service .imgBox .textBox {width: 200px;position: relative;z-index:10;}
#index .service .imgBox .photoBox {
    margin-right: 0;
    width: calc(95% - 140px);
    border-radius: 0;}
    #news{position: relative;}
    .news-contens{position: absolute;
    top: 0;
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
    justify-content: center;
}
.blog-info{width:100px;}
.blog-title{font-size:1.1em;}
.news-contens dl{align-items: baseline;border-bottom: 1px dashed #ddd;padding: 15px 0;}
.blog-title a:hover{color:#f4b01c;}
.news-contens dl span{color:#f4b01c;margin-left: 20px;}
@media all and (max-width: 1200px) {
#index .service .imgBox .photoBox { width:100%;}

}
@media all and (max-width:850px) {
    #index .service .imgBox .photoBox{margin-top: 50px;}
}
@media all and (max-width:700px) {
#index .service .imgBox .photoBox img{display:none;}
.news-contens{position:static; }
#news{background: #fff; padding: 30px 6%;border-radius: 20px;margin-top: 70px;}
    #index .service .imgBox .textBox {width: 100%;}
    .blog-info {width: 100%;}
    .news-contens dl:last-child{border-bottom: 0px dashed #ddd;}
    
}
@media all and (max-width:500px) {
.news-contens dl span { margin-left: 0px; display: block;}
}




/*お知らせ投稿*/
.single-title{display: block;line-height: 1.5;font-weight: bold;font-size: 1.2em;}
.prev-next{margin-top:80px;padding-top:20px;border-top:1px solid #eee;margin-top: 80px;display: flex; justify-content: space-between;}
.single-page .content p,.single-page .content figure{margin-bottom:30px;}
.single-page .content h2{font-size:1.2em;font-weight:bold;line-height:1.5;margin:50px 0 15px;}
.single-page .content h3{font-size:1.1em;font-weight:bold;line-height:1.5;margin:35px 0 15px;}
.single-page .content .single-cat{font-size:1.3em;}
#breadcrumb,#breadcrumb span{font-size:14px;}
/*お知らせ一覧*/
.cat-card{margin-bottom:30px;padding-bottom:30px;border-bottom:1px solid #eee;}
.card__title{font-size: 1.15em;line-height: 1.6;}
.pagination{margin-top: 50px;}
.page-numbers{padding: 5px 10px;border: 1px solid #ccc;}
.pagination .current{background:#000;border: 1px solid #000;color:#fff;}
.content.category-news-contents {width: 84%;}
.category-news-contents .fadeIn{width:70%;}
.category-news-contents .sidebar{width:25%;margin-right: 5%;}
.sidebar p{margin-bottom:15px;padding:15px 15px 15px 20px;border-bottom:1px solid #eee;font-size:1.5rem;position: relative;transition:all ease 200ms;}
.sidebar p::before {content: "";position: absolute;top: 50%;left: 0;transform: translateY(-50%);border: 6px solid transparent;border-left: 10px solid #39caee;}
.sidebar p:hover {opacity:.7;}
.sidebar p a{font-weight:bold;}

@media all and (max-width: 1250px) {
	.content.category-news-contents{flex-direction: column-reverse;}
	.category-news-contents .fadeIn{width:100%;}
	.category-news-contents .sidebar{width:100%;margin-right: 0%;}
	
}


/*採用情報*/
/*採用情報メニュー追加*/
.wrapBox #gHeader #gNavi { width: 55rem;}
.wrapBox #gHeader #gNavi li a { color: #373737;font-weight: 700;}

.mt20{margin-top:20px !important;}
.recruit-text-s{margin-top:30px;font-size:16px;}
.recruit-text{font-size: 3.2rem;font-weight: bold;line-height: 1.86;}
@media all and (max-width: 896px) {
	.recruit-text {font-size: 2rem;}
}
@media all and (max-width: 415px) {
	.recruit-text {font-size: 1.5rem;}
}


.page-link a {max-width:320px;margin-top: 30px;width:88%;
	padding: 2.4rem 1rem 2.5rem;
    color: #fff;
    display: block;
    text-align: center;
    letter-spacing: 0.06em;
    font-weight: bold;
    transition: 0.3s;
    border-radius: 4rem;
    background: #F4B01C url(https://rashikuru.jp/wp-content/themes/type-r/img/common/icon09.png) no-repeat right 1.5rem center;
    background-size: 4.7rem 4.7rem;
}
@media all and (min-width: 897px) {
	.page-link a:hover {
		background: #F7D209 url(https://rashikuru.jp/wp-content/themes/type-r/img/common/icon08.png) no-repeat right 1rem center;
    	background-size: 6rem 6rem;
	}
}
@media all and (min-width: 897px) and (max-width: 1600px) {
.mainViusal .link a {
		background-size: 42px 42px;
	}
	}
	@media all and (max-width: 896px) {
	.mainViusal .link a {
		padding: 14px 30px 12px;
		font-size: 1.2rem;
		text-align: left;
		background: #F4B01C url(https://rashikuru.jp/wp-content/themes/type-r/img/common/icon12.png) no-repeat right 9px center;
		background-size: 28px 28px;
	}
	}
