@charset "UTF-8";

/*** reset*/
html,
body,
div,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
tt,
var,
b,
u,
i,
center,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
main {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	/* font-size: 100%; */
	font-weight: normal;
	font-style: normal;
	vertical-align: baseline;
	background: transparent;
}




* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	font-size: 14px;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
	display: block;
	margin: 0;
}

body {
	color: #5a5858;
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', sans-serif;
	/* background-color: #f8a6a6; */
	text-align: left;
}

ol,
ul {
	list-style: none;
}

small {
	font-size: 0.8em;
}

h1.top_h1 {
	position: absolute;
	top: 50%;
	display: inline-block;
	white-space: nowrap;
	overflow: hidden;
}

#mobile-head {
	max-width: 1000px;
	margin: 0 auto;
}

.gnav_logo {
	position: absolute;
	z-index: 888;
	line-height: 50px;
	background-color: #ffffff;
	padding: 0 20px;
}

.gnav_logo img {
	height: 16px;
	width: auto;
	vertical-align: middle;
}

@media screen and (max-width: 1100px) {
	.gnav_logo {
		left: 20px;
		top: 0px;
	}

	.gnav_logo img {
		height: 10px;
	}
}

.menublock p,
.menublock li,
.menublock dl dt,
.menublock dl dd,
.menublock th,
.menublock td {
	font-size: 14px;
	line-height: 1.8;
}

.linkout_icon_before_white::after {
	content: url('data:image/svg+xml;utf-8,<svg fill="%23fff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 198 195"><path d="M163,195H10A10,10,0,0,1,0,185V32A10,10,0,0,1,10,22H86.5a10,10,0,0,1,0,20H20V175H153V108.5a10,10,0,0,1,20,0V185A10,10,0,0,1,163,195Z"/><path d="M192.79,0H140.86a8,8,0,0,0-5.67,13.69l16.95,17L71.89,110.89a10.5,10.5,0,1,0,14.85,14.85L167,45.49l17.14,17.14A8.12,8.12,0,0,0,198,56.89V5.21A5.21,5.21,0,0,0,192.79,0Z"/></svg>');
	width: 10px;
	display: inline-block;
	margin-left: 5px;
}

.linkout_icon_before_black::after {
	content: url('data:image/svg+xml;utf-8,<svg fill="%23666" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 198 195"><path d="M163,195H10A10,10,0,0,1,0,185V32A10,10,0,0,1,10,22H86.5a10,10,0,0,1,0,20H20V175H153V108.5a10,10,0,0,1,20,0V185A10,10,0,0,1,163,195Z"/><path d="M192.79,0H140.86a8,8,0,0,0-5.67,13.69l16.95,17L71.89,110.89a10.5,10.5,0,1,0,14.85,14.85L167,45.49l17.14,17.14A8.12,8.12,0,0,0,198,56.89V5.21A5.21,5.21,0,0,0,192.79,0Z"/></svg>');
	width: 10px;
	display: inline-block;
	margin-left: 5px;
}


#top-head a {
	text-decoration: none;
}

.inquiries_request_top a:hover.news_company_icon {
	text-decoration: none !important;
}

li.megamenu_child a:hover {
	text-decoration: underline;
	color: #fff;
}

.flexbox_header {
	display: -webkit-box;
	/*Android4.3*/
	display: -moz-box;
	/*Firefox21*/
	display: -ms-flexbox;
	/*IE10*/
	display: -webkit-flex;
	/*PC-Safari,iOS8.4*/
	-js-display: flex;
	display: flex;

	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
}

.flexwrap {
	flex-wrap: wrap;
}

.bodyarea {
	overflow: hidden;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pconly {
	display: -webkit-box !important;
}

.sponly {
	display: none !important;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 768px) {
	.pconly {
		display: none !important;
	}

	.sponly {
		display: -webkit-box !important;
	}
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
	.pconly {
		display: block !important;
	}

	.sponly {
		display: none !important;
	}
}

@media all and (max-width: 768px) and (-ms-high-contrast: none) {

	*::-ms-backdrop,
	.pconly {
		display: none !important;
	}

	*::-ms-backdrop,
	.sponly {
		display: block !important;
	}
}


/* ------------------------ main ----------------------*/

.mainbg {
	background-image: url(/img/top/mainbg.jpg);
	background-position: center bottom;
	background-size: cover;
	height: calc(100vh - 30px);
	position: relative;
	color: #ffffff;
}

.no-webp .mainbg {
	background-position: center bottom;
	background-size: cover;
	height: 100vh;
	position: relative;
	color: #ffffff;
	background-image: url(/img/top/mainbg.jpg);
}

.webp .mainbg {
	background-position: center bottom;
	background-size: cover;
	height: 100vh;
	position: relative;
	color: #ffffff;
	background-image: url(/img/top/mainbg.webp);
}

.mainbg_data {
	width: 100%;
	height: 100%;
	color: #ffffff;
	background-repeat: no-repeat;
	background-size: 600px;
	background-position: left 0 bottom 0px;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="603" height="362" viewBox="0 0 603 362"><path fill-opacity="0.2" d="M-297-84L603,171,441,523l-736,80Z"/></svg>');
}

.mainbg_data span {
	font-weight: 800;
	font-size: 1.8rem;
}

.mainbg_data ul {
	position: absolute;
	bottom: 100px;
	left: 10%;
	color: #ffffff;
}

/*スクロールマークまわり*/
.scrollarrow a {
	position: absolute;
	bottom: 20px;
	left: 50%;
	z-index: 2;
	display: inline-block;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	text-decoration: none;
	padding-top: 60px;
}

.scrollarrow a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 24px;
	height: 24px;
	margin-left: -12px;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	box-sizing: border-box;
}

#NEWanchor {
	display: block;
	padding-top: 50px;
	margin-top: -50px;
}

.serviceindex div {
	position: relative;
	display: block;
	margin-top: 50px;
	width: 200px;
	height: 50px;
	line-height: 47px;
	text-align: center;
	color: #05a3af !important;
	background-color: #ffffff;
	opacity: 0.8;
	border: 2px solid #05a3af;
	border-radius: 40px;
}

a.serviceindex,
a.serviceindex:hover,
.serviceindex div:hover {
	color: #05a3af !important;
	text-decoration: none !important;
	background-color: #c8e7ee;
}

.serviceindex div::after {
	content: "";
	position: absolute;
	left: 30px;
	top: 16px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7.5px 0 7.5px 13.0px;
	border-color: transparent transparent transparent #05a4af;
}


.maintxt {
	position: absolute;
	top: 40%;
	left: 10%;
	font-size: 1.2rem;
	/* transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%); */
}

#ourstory {
	text-decoration: underline;
	color: #ffffff;
	font-size: 1.1rem;
	font-weight: 800;
}

.maintxt h2 {
	font-size: 3.5vw !important;
	line-height: 1.5em;
	margin: 0;
	margin-bottom: 2vw;
	line-height: 2.4rem;
	width: 60vw;
}

.maincontainer {
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
	margin: 0 auto;
}

.basic_area {
	padding: 20px 0;
}

/* ------------------------ ourstorybanner ----------------------*/

.ourstory {
	position: absolute;
	bottom: 120px;
	right: 60px;
	width: 240px;
}

/* ------------------------ globalmenu ----------------------*/

.inner {
	/* width: 980px; */
	margin: 0 auto;
}

.inner:after {
	content: "";
	clear: both;
	display: block;
}

/* header */
#header-top {
	position: relative;
}


#top-head {
	top: -100px;
	position: absolute;
	width: 100%;
	margin: 100px 0 0 0;
	line-height: 1;
	z-index: 999;
}

#top-head a,
#top-head {
	color: #fff;
	text-decoration: none;
	/* line-height: 3rem; */
}

#top-head a:hover {
	/* color: #fff; */
	text-decoration: underline;
}

#top-head .inner {
	position: relative;
}

#top-head .logo_mobile {
	float: left;
	font-size: 36px;
}

/* Fixed */
#top-head.fixed_pc {
	margin-top: 0;
	top: 0;
	position: fixed;
	padding-top: 29px;
	height: 55px;
	background: #fff;
	background: rgba(255, 255, 255, .7);
	transition: top 0.65s ease-in;
	-webkit-transition: top 0.65s ease-in;
	-moz-transition: top 0.65s ease-in;
}



#top-head.fixed_pc .logo_mobile {
	font-size: 24px;
	color: #333;
}

/* Toggle Button */
#nav-toggle {
	display: none;
	position: absolute;
	right: 12px;
	top: 19px;
	width: 20px;
	height: 20px;
	cursor: pointer;
	z-index: 101;
}

#nav-toggle div {
	position: relative;
}

#nav-toggle span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: #666;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
	top: 0;
}

#nav-toggle span:nth-child(2) {
	top: 7px;
}

#nav-toggle span:nth-child(3) {
	top: 14px;
}

#top-head input {
	display: none;
}

.nav_inquiry_box {
	background-color: #e9aa4f;
}

.nav_search_box {
	margin-bottom: 0px;
	padding-bottom: 0px;
	border-bottom: none;
	width: 100%;
	display: inline-block;
}

.nav_search_box form input {
	display: initial !important;
	border: none;
	border-radius: 4px;
	font-size: 1rem;
	height: 2rem;
}

#SS_searchQuery {
	padding: 0 8px;
}

.nav_search_box form input[type="button"],
.nav_search_box form input[type="submit"],
#search_window_box02 form input[type="submit"] {
	background-color: #34B5BE;
	color: #ffffff;
	padding: 0 20px;
	margin-left: 10px;
}


/*中身を非表示にしておく*/
.search_hidden_box .search_hidden_show {
	height: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
	transition: 0.8s;
}

/*クリックで中身表示*/
.search_hidden_box input:checked~.search_hidden_show {
	padding: 10px 0;
	height: auto;
	opacity: 1;
	position: absolute;
	right: 0px;
	background: #0B324D;
	padding: 20px;
	top: 50px;
}

.search_hidden_box {
	position: relative;
}

.search_hidden_box label {
	cursor: pointer;
}

.search_hidden_show {
	position: absolute;
	width: 400px;
	text-align: center;
	right: 0px;
	top: 50px;
}

@media all and (max-width: 768px) and (-ms-high-contrast: none) and (-ms-high-contrast: active) {
	.nav_search_box form input {
		display: block;
	}
}




@media screen and (max-width: 768px) {

	/* -------------------------------------------- 固定部分 -------------------------------------------- */
	.inner {
		/* width: 980px; */
		margin: 0 auto;
	}

	.inner:after {
		content: "";
		clear: both;
		display: block;
	}

	/* header */
	#top-head {
		top: -102px;
		position: absolute;
		width: 100%;
		margin: 100px auto 0;
		/* padding: 30px 0 0; */
		line-height: 1;
		z-index: 999;
		height: 50px;
	}

	#top-head a,
	#top-head {
		/* background-color: #fff; */
		text-decoration: none;
		color: #666;
		line-height: 3rem;
	}

	#top-head .inner {
		position: relative;
	}

	#top-head .logo_mobile {
		width: calc(100% - 180px);
		padding-left: 15px;
		/* padding-top: 3px; */
		font-size: 35px;
	}

	#top-head .logo_mobile a img {
		width: 100%;
	}

	/* Fixed */
	#top-head.fixed {
		margin-top: -1px;
		padding-top: 0px;
		top: 0;
		position: fixed;
		height: 50px;
		background: #fff;
		transition: none;
		-webkit-transition: none;
		-moz-transition: none;
	}

	#top-head.fixed .logo_mobile {
		font-size: initial;
		line-height: 50px;
	}

	/* -------------------------------------------- ハンバーガー -------------------------------------------- */
	.scroll-prevent {
		position: fixed;
		z-index: -1;
		width: 100%;
		height: 100%;
	}

	#nav-tgl {
		display: none;
	}

	.nav-tgl-btn {
		cursor: pointer;
		position: fixed;
		top: 0;
		right: 0;
		margin: 0;
	}

	.navopen {
		z-index: 900;
		width: 48px;
		height: 48px;
		background: #fff;
		transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.navopen::before,
	.navopen::after {
		content: "";
	}

	.navopen span,
	.navopen::before,
	.navopen::after {
		content: "";
		position: absolute;
		top: calc(50% - 1px);
		right: 30%;
		width: 40%;
		border-bottom: 2px solid #999999;
		transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.navopen::before {
		transform: translateY(-8px);
	}

	.navopen::after {
		transform: translateY(8px);
	}

	.navclose {
		z-index: 900;
		width: 100%;
		height: 100%;
		pointer-events: none;
		transition: background .6s;
	}

	#nav-tgl:checked+.navopen {
		background: #0B324D;
		transform: translateX(-400px);
	}

	#nav-tgl:checked+.navopen span {
		transform: scaleX(0);
	}

	#nav-tgl:checked+.navopen::before {
		transform: rotate(45deg);
	}

	#nav-tgl:checked+.navopen::after {
		transform: rotate(-45deg);
	}

	#nav-tgl:checked~.navclose {
		pointer-events: auto;
		background: rgba(0, 0, 0, .3);
	}

	.content-wrapper {
		transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	#nav-tgl:checked~.content-wrapper {
		transform: translateX(-400px);
	}

	/* メニューデザイン */
	.drower-menu {
		z-index: 999;
		position: fixed;
		overflow: scroll !important;
		-webkit-overflow-scrolling: auto;
		overflow-scrolling: touch;
		top: 0;
		right: 0;
		width: 400px;
		height: 100%;
		margin: 0;
		padding: 0 0 10px;
		box-sizing: border-box;
		background: #ffffff;
		transform: translateX(100%);
		transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.drower-menu a {
		display: block;
		color: #666;
		text-decoration: inherit;
		transition: background .6s;
		font-size: 1.4rem;
	}

	.drower-menu a:hover {
		/* background: #0B324D; */
	}

	#nav-tgl:checked~.drower-menu {
		transform: none;
	}

	/* -------------------------------------------- アコーディオン -------------------------------------------- */
	.menu_acc {
		max-width: 600px;
		padding: 0 10px;
		margin-top: 10px;
	}

	.menu_acc input {
		display: none;
	}

	.menu_acc span {
		border-bottom: 1px solid #999999;
		line-height: 1rem;
	}

	.cate_sub span {
		line-height: 3rem;
	}

	.menu_acc a {
		display: block;
		/* padding: 15px; */
		text-decoration: none;
	}

	.menu_acc label {
		display: block;
		margin: 0 0 4px 0;
		padding: 15px;
		line-height: 1;
		cursor: pointer;
		border-bottom: 1px solid #e6e6e6;
		font-weight: 800;
		position: relative;
	}

	.nav_inquiry_box {
		display: block;
		color: #ffffff;
		margin-top: -4px;
		padding: 15px;
		line-height: 1;
		cursor: pointer;
		/* border-bottom: 1px solid #e6e6e6; */
		font-weight: 800;
		position: relative;
		background-color: #e9aa4f;
		font-size: 1rem;
	}

	.nav_corp_box {
		display: block;
		margin-top: -4px;
		padding: 15px;
		line-height: 1;
		cursor: pointer;
		border-bottom: 1px solid #e6e6e6;
		font-weight: 800;
		position: relative;
		font-size: 1rem;
	}

	.menu_acc label::after {
		content: "+";
		color: #0B324D;
		position: absolute;
		right: 30px;
		top: 1rem;
		display: block;
	}

	.menu_acc input:checked+label::after {
		transform: rotate(45deg);
	}

	#top-head input {
		display: none;
	}

	.menu_acc ul {
		margin: 0;
		padding: 0 10px;
		list-style: none;
	}

	.menu_acc li {
		height: 0;
		overflow: hidden;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
		font-size: 0.9rem;
	}

	.menu_acc li a {
		font-size: 0.9rem;
	}

	#menu_bar01:checked~#links01 li,
	#menu_bar02:checked~#links02 li,
	#menu_bar03:checked~#links03 li,
	#menu_bar04:checked~#links04 li,
	#menu_bar05:checked~#links05 li,
	#menu_bar06:checked~#links06 li,
	#menu_bar07:checked~#links07 li {
		height: 2.5rem;
		opacity: 1;
	}

	.megamenu_child_sp {
		padding: 0 10px;
	}

	/* -------------------------------------------- アコーディオン2 -------------------------------------------- */
	#menu_bar02_01:checked~#links02_01 li,
	#menu_bar02_02:checked~#links02_02 li,
	#menu_bar02_03:checked~#links02_03 li,
	#menu_bar02_04:checked~#links02_04 li,
	#menu_bar02_05:checked~#links02_05 li,
	#menu_bar02_06:checked~#links02_06 li,
	#menu_bar02_07:checked~#links02_07 li {
		height: 35vw;
		opacity: 1;
		width: 50%;
	}

}











@media screen and (min-width: 769px) {
	header {
		height: 50px !important;
	}

	.menu {
		height: 50px;
		*zoom: 1;
		margin: 0 auto;
		position: fixed;
		left: 50%;
		right: 50%;
		-webkit-transform: translate(-50%);
		transform: translate(-50%);
		width: 100%;
		background: linear-gradient(90deg, #ffffff 0%, #ffffff 30%, rgba(84, 134, 203, 0.439) 30%, rgba(84, 134, 203, 0.439) 100%);

		display: -webkit-box;
		/*Android4.3*/
		display: -moz-box;
		/*Firefox21*/
		display: -ms-flexbox;
		/*IE10*/
		display: -webkit-flex;
		/*PC-Safari,iOS8.4*/
		-js-display: flex;
		display: flex;

		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;
	}

	.init-bottom {
		cursor: pointer;
	}

	#top-head.fixed_pc .menu {
		background: linear-gradient(90deg, #ffffff 0%, #ffffff 30%, #0B324D 30%, #0B324D 100%);
	}

	#top-head.fixed_pc .info_caution {
		background: #23d2ed;
	}

	.menu>div {
		height: 50px;
		line-height: 50px;
		background: transparent;
		font-size: 0.9em;
		padding: 0 0px;
		justify-content: flex-end;
	}

	.menu>div a {
		display: inline-block;
		color: #fff;
	}

	.menu>div a:hover {
		color: #999;
	}

	.menutitle:hover {
		background: #0B324D;
		-webkit-transition: all .5s;
		transition: all .5s;
		z-index: 2;
	}

	/* floatクリア */
	.menu:before,
	.menu:after {
		content: " ";
		display: table;
	}

	.menu:after {
		clear: both;
	}

	.menus {
		width: 70%;
		display: -webkit-box;
		/*Android4.3*/
		display: -moz-box;
		/*Firefox21*/
		display: -ms-flexbox;
		/*IE10*/
		display: -webkit-flex;
		/*PC-Safari,iOS8.4*/
		display: flex;
		justify-content: flex-end;
		margin-right: 10px;
	}

	.menu-left {
		height: 50px;
		line-height: 57px;
		background-color: #ffffff;
		text-align: right;
		padding-right: 20px;

		-webkit-box-flex: 1;
		-webkit-flex: 1;
		-ms-flex: 1;
		flex: 1;

		-webkit-flex-grow: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
	}

	.menu-left img {
		max-width: 250px;
		padding-left: 20px;
	}

	.menumax1000 {
		max-width: 1000px;
		box-sizing: 20px;
		padding: 5px 20px;
		margin: 0 auto;
		min-width: 600px;
	}

	div.menu__mega div.menu__second-level {
		/* position: absolute; */
		/* top: 40px;
		left: 0; */
		/* box-sizing: border-box; */
		/* width: 100%; */
		/* padding: 20px 2%; */
		/* background: #0B324D; */
		/* -webkit-transition: all .2s ease;
		transition: all .2s ease; */
	}


	div.menu__second-level {
		/* visibility: hidden; */
		position: absolute !important;
		/* opacity: 0; */
		z-index: 1;
		width: 100vw !important;
		background-color: #0B324D;
		padding: 20px 40px;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		display: none;
	}

	div.menu__mega div.menu__second-level {
		top: 50px;
		/* visibility: visible; */
		/* opacity: 1 !important; */
		/* display: block; */
	}

	a.gnav-active {
		text-decoration: underline;
		font-weight: 800;
		transform: translate(0, 3px);
		transition: transform 50ms ease-in-out 0ms;
	}

	a.gnav-active:hover {
		background: none;
	}

	a.js-dropdown::selection {
		background: none !important;
	}

	.nav_box {
		width: 100%;
		display: inline-block;
		margin-bottom: 10px;
		padding-bottom: 10px;
		border-bottom: 1px solid #ffffff;
		vertical-align: middle;
	}

	.nav_box>ul {
		/* margin-top: 10px; */
	}

	.nav_box>span>a,
	.nav_box>span {
		font-weight: 800;
		font-size: 1.2rem;
	}

	.megamenu_child {
		float: left;
		width: 32%;
		border: none;
		font-size: 1rem;
		height: 2rem;
	}

	.child_mulpay {
		width: 100%;
	}

	/* div.menu__mega div.menu__second-level>div:nth-child(3n+2) {
		margin: 0 1%;
	} */

	.menublock {
		max-width: 1000px;
		min-width: 600px;
		margin: 0 auto;
		width: 100%;
	}

	.menutitle {
		padding: 0 16px;
	}

	.translation {
		display: table;
		margin-left: 10px;
	}

	.translation span {
		font-weight: 800;
		color: #ffffff;
		box-sizing: border-box;
		padding: 0 6px;
		display: inline-block;
		line-height: 26px;
		height: 26px;
		width: 26px;
	}

	/* .translation span a:hover {
		background-color: rgba(255, 255, 255, 0.5);
		color: #111 !important;
		font-weight: 800;
		width: 26px;
		height: 26px;
	} */

	.trans_hover {
		background-color: #ffffff;
		color: #111 !important;
		font-weight: 800;
		width: 26px;
		height: 26px;
	}

	#EN {
		padding: 0 5px;
	}

	#EN>a {
		padding: 0 5px;
	}

	.drawer-content {
		line-height: 60px;
		height: 60px;
		width: 80%;
		font-weight: 800;
		background-color: #0B324D;
		text-align: center;
		margin: 10px;
	}

	.icon_search {
		fill: #999999;
		width: 55px;
		height: 100%;
		/* padding: 15px; */
		background-color: #efefef;
	}

	.icon_search svg {
		position: absolute;
		top: 14px;
		right: 16px;
		width: 25px;
	}

	.icon_detail {
		width: 13px;
		height: 13px;
		fill: #ffffff;
		margin-top: 19px;
	}
}

/* ------------------------ めっちゃでかい時用 ----------------------*/
@media screen and (min-width: 1200px) {

	.menu {
		background: linear-gradient(90deg, #ffffff 0%, #ffffff 40%, rgba(84, 134, 203, 0.439) 40%, rgba(84, 134, 203, 0.439) 100%);
	}

	#top-head.fixed_pc .menu {
		background: linear-gradient(90deg, #ffffff 0%, #ffffff 40%, #0B324D 40%, #0B324D 100%);
	}
}






/* ------------------------ detailmenu ----------------------*/

#nav-drawer {
	position: relative;
	padding: 0 10px;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
	display: none;
}

/*閉じる用の薄黒カバー*/
#nav-close {
	display: none;
	/*はじめは隠しておく*/
	position: fixed;
	z-index: 99;
	top: 0;
	/*全体に広がるように*/
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0;
	transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
	overflow: auto;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9999;
	/*最前面に*/
	width: 90%;
	/*右側に隙間を作る（閉じるカバーを表示）*/
	max-width: 330px;
	/*最大幅（調整してください）*/
	height: 100%;
	background: #fff;
	/*背景色*/
	transition: .3s ease-in-out;
	/*滑らかに表示*/
	-webkit-transform: translateX(105%);
	transform: translateX(105%);
	/*左に隠しておく*/
	padding: 20px;
	margin-top: 20px;
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked~#nav-close {
	display: block;
	/*カバーを表示*/
	opacity: .5;
}

#nav-input:checked~#nav-content {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	/*中身を表示（右へスライド）*/
	box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
}

#nav-open span,
#nav-open span:before,
#nav-open span:after {
	cursor: pointer;
}

#nav-open span:before {
	bottom: -8px;
}

#nav-open span:after {
	bottom: -16px;
}

/* ------------------------ infomation ----------------------*/

.info_caution {
	background-color: rgba(35, 210, 237, 0.5);
	text-align: center;
	position: absolute;
	top: 50px;
	color: #ffffff;
	display: block;
	font-weight: 800;
	width: 100%;
	border-top: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	box-sizing: border-box;
	padding: 10px;
	font-size: 1em;
	z-index: 5;
}

.info_caution a,
.info_caution a:visited {
	color: #ffffff !important;
}

.maincontainer h2 {
	font-size: 2rem;
	font-weight: 800;
	margin: 20px;
}

.h2_sub {
	font-size: 1rem;
}

.info_area {
	padding: 40px 0;
	position: relative;
	background: linear-gradient(to left, #FBFDFF 0%, #F2F5F9 100%);
}

/* .info {
	width: 200px;
	position: relative;
} */

.infotag_new {
	width: 50px;
	background-color: rgba(162, 225, 233, 0.664);
	content: "NEW";
	color: #111;
	position: absolute;
	top: -15px;
	left: 0;
	text-align: center;
	width: 100px;
}

.infotag_new::before {
	content: "NEW";
	color: #111;
	font-weight: 800;
	font-size: 0.8em;
}

.infotag_press {
	width: 50px;
	background-color: #0CA2E6;
	content: "プレス";
	color: #ffffff;
	text-align: center;
	width: 150px;
}

.news_area {
	margin-bottom: 60px;
}

.news_date {
	font-weight: 800;
	border-bottom: 2px solid #E2EBF5;
	padding-bottom: 10px;
	width: 100%;
}

.news_company_icon {
	background-color: #888888;
	padding: 0 10px;
	font-size: 1rem;
	color: #ffffff;
	margin: 0 10px;
}

.companyicon_PG:before {
	content: "GMO PAYMENT GATEWAY";
	display: inline-block;
	font-size: 8pt;
	vertical-align: text-top;
}

.companyicon_EP:before {
	content: "GMO EPSILON";
	display: inline-block;
	font-size: 8pt;
	vertical-align: text-top;
}

.companyicon_PS:before {
	content: "GMO PAYMENT SERVICE";
	display: inline-block;
	font-size: 8pt;
	vertical-align: text-top;
}

.companyicon_FG:before {
	content: "GMO FINANCIAL GATE";
	display: inline-block;
	font-size: 8pt;
	vertical-align: text-top;
}

.companyicon_igiken:before {
	content: "GMO医療予約技術研究所";
	display: inline-block;
	font-size: 8pt;
	vertical-align: text-top;
}

.companyicon_PGFG:before {
	content: "GMO PAYMENT GATEWAY / GMO FINANCIAL GATE";
	display: inline-block;
	font-size: 8pt;
	vertical-align: text-top;
}

.companyicon_PGPS:before {
	content: "GMO PAYMENT GATEWAY / GMO PAYMENT SERVICE";
	display: inline-block;
	font-size: 8pt;
	vertical-align: text-top;
}


.info_block {
	width: 100%;
	background-color: #F7FAFC;
	display: block;
}

/* .inquiries_request_top ul li{
	padding-bottom: 10px;
} */

.info_data {
	font-size: 0.8rem;
	font-weight: 800;
	color: #333333;
}

.inquiries_request_ichiran {
	text-align: right;
}




/* ------------------------ pickup slide ----------------------*/

.pickupslide_area {
	position: relative;
	/* background: linear-gradient(-45deg,#ffffff 0%,#ffffff 45%,#efefef 45%,#efefef 100%); */
	padding: 40px 0;
}

/* .pickupslide_area h2 {
	color: #ffffff;
} */

.pickupslide {
	max-width: calc(100% - 120px);
	min-height: 400px;
	background-color: #FFF;
	margin: 0 auto;
	box-shadow: 0px 0px 15px 0px rgba(76, 131, 207, 0.35);
}

.left-box {
	background-color: #efefef;
	height: 60%;
	width: 10%;
	position: absolute;
	left: 0;
	bottom: 0;
}

.right-box {
	background-color: #efefef;
	height: 60%;
	width: 10%;
	position: absolute;
	right: 0;
	top: 0;
}

.pickup_slides {
	position: relative;
	/* padding: 40px; */
}

.pickup_slides a:hover {
	text-decoration: none !important;
	color: initial !important;
}

.pickup_slides h3 {
	background-color: #ffffff;
	width: 100%;
	font-size: 1.5rem;
	/* padding: 30px 40px; */
	margin-bottom: 40px;
}

/* #slide_01 {
	margin: 40px;
}


#slide_01 .slidebox {
	background-repeat: no-repeat;
	background-image: url(/img/top/PICKUP_Creditcard.jpg);
	background-position: left 0px bottom 0px;
	background-size: 600px;
	min-height: 300px;
}

#slide_02 {
	height: 550px;
	background-image: url(/img/top/main_recruit_pc.png);
	background-position: right;
	background-repeat: no-repeat repeat;
	background-size: 80% auto;
	padding-top: 50px;
}

#pickup_recruit_txtbox {
	width: 100%;
	background-color: rgba(255, 255, 255, 0.8);
	padding: 20px 40px;
}

#pickup_recruit_txtbox img {
	width: 50%;
	display: block;
	margin: 0;
}

#pickup_recruit_btn {
	overflow: hidden;
	width: 250px;
	height: 80px;
	margin: 0;
	padding: 0;
	position: absolute;
	bottom: 5%;
	right: 5%;
}

#pickup_recruit_btn a {
	display: block;
	position: relative;
	z-index: 100;
	text-align: center;
	background: #3049d9;
	color: #ffffff;
	font-size: 14px;
	line-height: 80px;
	text-decoration: none;
}

#pickup_recruit_btn a:hover {
	opacity: 0.8;
	color: #ffffff;
}

#pickup_recruit_btn a:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 0;
	height: 0;
	margin-top: -5px;
	border: 5px solid transparent;
	border-left: 5px solid #fff;
}

#pickup_recruit_btn a:hover:before {
	right: 12px;
}


.slidebox {
	position: relative;
} */

/* .slide_img {
	position: absolute;
	width: 60%;
	height: 100%;
	bottom: 50px;
	right: 0;
	opacity: 0.6;
	z-index: -2;
}

.slide_img img {
	width: 100%;
} */

.slide_text {
	/* background-color: rgba(255, 255, 255, 0.9);
	width: 60%;
	font-size: 1rem;
	padding: 20px; */
	/* margin: 20px 40px; */
	/* float: right; */
}

.moreinfo {
	z-index: 6;
	background: linear-gradient(90deg, rgba(60, 143, 206, 1) 0%, rgba(112, 194, 190, 1) 100%);
	width: 200px;
	text-align: center;
	line-height: 2.5rem;
	color: #ffffff;
	border-radius: 20px;
	margin: 0 0 0 auto;
	margin-top: 20px;
	height: 2.5rem;
}

/* .moreinfo::after {
	content: "";
	position: absolute;
	right: -16px;
	top: 9px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #111;
} */

.prev-arrow-box {
	width: 60px;
	height: 50%;
	background-color: #0B324D;
	position: absolute;
	/* right: calc(100% - 60px); */
	left: -60px;
	top: 0;
	box-shadow: 0px 0px 15px 0px rgba(76, 131, 207, 0.35);
	cursor: pointer;
}

.next-arrow-box {
	width: 60px;
	height: 50%;
	background-color: #0B324D;
	position: absolute;
	right: -60px;
	bottom: 0;
	box-shadow: 0px 0px 15px 0px rgba(76, 131, 207, 0.35);
	cursor: pointer;
}

.prev-arrow {
	width: 0;
	height: 0;
	z-index: 2;
	border-style: solid;
	border-width: 8px 13.9px 8px 0;
	border-color: transparent #ffffff transparent transparent;
	position: absolute;
	bottom: 20px;
	left: 20px;
}

.next-arrow {
	width: 0;
	height: 0;
	z-index: 2;
	border-style: solid;
	border-width: 8px 0 8px 13.9px;
	border-color: transparent transparent transparent #ffffff;
	position: absolute;
	top: 20px;
	right: 20px;
}


/* .pickupslide .slick-dots {
    position: absolute;
    bottom: 20px;
    display: block;
    width: 50%;
    padding: 0;
	margin: 0;
	right: 40px;
    list-style: none;
	text-align: right;
	padding-right: 20px;
}

.pickupslide .slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 10px;
    padding: 0;
    cursor: pointer;
}

.pickupslide .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.pickupslide .slick-dots li button:hover,
.pickupslide .slick-dots li button:focus
{
    outline: none;
}
.pickupslide .slick-dots li button:hover:before,
.pickupslide .slick-dots li button:focus:before
{
    opacity: 1;
}
.pickupslide .slick-dots li button:before
{
    font-size: 60px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '－';
    text-align: center;

    opacity: .25;
    color: #666666;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
} */

.pickupslide .slick-dots li.slick-active button:before {
	opacity: .75;
	color: #666666;
}


/* .pickupslide_shadow {
	position: absolute;
	height: 300px;
	width: 200px;
	z-index: -2;
	background-color: #999;
	top: -20px;
	right: 0;
} */




/* ------------------------ pickup_tab ----------------------*/
.pickuptab_area {
	align-items: flex-end;
	background-color: #F4F8FC;
	padding: 60px 0px;
}

ul.pickuptab_headline {
	/* float:right; */
	width: 30%;
	padding: 0;
	position: relative;
	/* margin-top: auto; */
}

ul.pickuptab_headline li {
	display: inline-block;
	width: 100%;
	height: 60px;
	font-weight: 800;
	line-height: 60px;
	margin: 0;
	/* background-color:#AAA; */
	text-align: left;
	padding-left: 10%;
	cursor: pointer;
	position: relative;
	/* color: #FFF; */
	border-bottom: 1px solid #999999;
}

ul.pickuptab_headline li::before {
	content: "";
	position: absolute;
	right: 15px;
	top: 27px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #111;
}

.hottopic {
	color: #34B5BE;
}

.hottopic::before {
	border-color: transparent transparent transparent #34B5BE !important;
}

ul.pickuptab_headline li.current {
	color: #0B324D;
	background-color: #E2EBF5;
	/* border-bottom: none; */
}

ul.pickuptab_headline li.current::before {
	border-color: transparent transparent transparent #111;
}

ul.pickuptab_story {
	/* float:right; */
	width: 70%;
	/* margin: 10px 0 0 0px; */
	padding: 0;
}

.pickuptab_story sup {
	font-size: 0.6rem;
}

ul.pickuptab_story li {
	display: none;
	vertical-align: top;
	min-height: 400px;
	background-color: #E2EBF5;
	padding: 5%;
	z-index: 2;
}

ul.pickuptab_story li h3 {
	font-size: 1.3rem;
	margin-top: -10px;
}

ul.pickuptab_story li.current {
	display: block;
}

.pickaptab_others {
	box-sizing: border-box;
	height: 50px;
	line-height: 50px;
	text-align: center;
	margin: 10px;
}

.pickup_box {
	width: 42%;
	box-sizing: border-box;
	margin: 3%;
}

.pickup_box_img {
	width: 100%;
	background-color: #ffffff;
	position: relative;
	vertical-align: bottom;
}

.pickup_box_img img {
	vertical-align: bottom;
}

/* .pickup_box_img::after {
	content: "more >";
	color: #333;
	position: absolute;
	bottom: 0px;
	right: 10px;
	font-size: 0.4rem;
} */

.pickup_box_txt {
	font-size: 1rem;
	margin-top: 10px;
}




.pickupspecial_area {
	text-align: center;
}

.special_btn_01 {
	background-color: #f0f0f0;
	padding: 40px 20px 35px 20px;
}

.special_btn_securitysolution {
	position: relative;
	background: url(/service/ssl/img/img_main.jpg);
	background-size: auto 150px;
	border-radius: 50px;
	width: 380px;
	max-width: 100%;
	height: 60px;
	margin: 0 auto;
}

.special_btn_securitysolution p {
	position: absolute;
	background-color: #0B324D;
	text-align: center;
	color: #ffffff;
	font-weight: 800;
	font-size: 1.2rem;
	top: 50%;
	right: 0;
	line-height: 60px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	border-radius: 0 50px 50px 0;
	-ms-transform: translateY(-50%);
	box-sizing: border-box;
	padding-left: 10px;
	padding-right: 10px;
}

.special_btn_02 {
	background-color: #dadada;
	padding: 40px 20px 35px 20px;
}

.special_btn_test {
	position: relative;
	background-color: #1457a0;
	border-radius: 50px;
	width: 380px;
	max-width: 100%;
	height: 60px;
	margin: 0 auto;
}

.special_btn_test p {
	/* position: absolute; */
	text-align: center;
	color: #ffffff;
	font-weight: 800;
	font-size: 1.5rem;
	line-height: 60px;
	text-align: center;
	/* top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%); */
}

.pickupspecial_button {
	height: 60px;
	width: 30%;
	background-color: #ffffff;
	display: inline-block;
	text-align: center;
	font-weight: 800;
	line-height: 60px;
	margin: 0 20px;
}

.tab_moreinfo_box,
.tab_moreinfo_box a {
	z-index: 6;
	background: linear-gradient(90deg, rgba(60, 143, 206, 1) 0%, rgba(112, 194, 190, 1) 100%);
	width: 150px;
	text-align: center;
	line-height: 2rem;
	color: #ffffff;
	border-radius: 20px;
	margin-top: 5px;
}


/* ------------------------ IR ----------------------*/
.IR_area {
	background-color: #ffffff;
	padding: 80px;
}

.IR_icon_area {
	justify-content: space-around;
}

.category_news01 {
	background-color: #0CA2E6;
}

html[lang=ja].category_news01:before {
	content: "プレス";
	font-size: 8pt;
}

html[lang=en].category_news01:before {
	content: "Press";
	font-size: 8pt;
}

.category_news02 {
	background-color: #555555;
}

html[lang=ja].category_news02:before {
	content: "お知らせ";
	font-size: 8pt;
}

html[lang=en].category_news02:before {
	content: "News";
	font-size: 8pt;
}

.category_news03 {
	background-color: #34B5BE;
}

.category_news03:before {
	content: "IR";
	font-size: 8pt;
}


/* 
.IR_icon_area > div {
	position: relative;
	width: 20%;
	height: 100px;
	font-size: 1.2rem;
} */

/* .IR_icon_area > div > a{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-weight: 800;
	color: #ffffff;
	z-index: 20;
} */

/* #company {
	background-image: url(/img/top/ir_01.png);
}

#ir {
	background-image: url(/img/top/ir_02.png);
}

#newsroom {
	background-image: url(/img/top/ir_03.png);
}

#security {
	background-image: url(/img/top/ir_04.png);
} */

.ir_icon_box {
	position: relative;
	width: 24%;
	height: 100%;

	font-size: 1.2rem;
	/* background-size: cover;
	background-color: #0B324D ;
	height: 120px; */
	/* opacity: 0.6; */
}

/* .ir_img_box img {
	height: 120px;
}

.ir_text {
	z-index: 20;
	color: #ffffff;
	text-align: center;
	position: absolute;
	top: calc(50% - 1rem);
	width: 100%;
	line-height: 1.6rem;
} */

.ir_img_box {
	position: relative;
}

.ir_img_box p {
	position: absolute;
	color: white;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	margin: 0;
	padding: 0;
	font-weight: 800;
	font-size: 1.2rem;
	line-height: 1.5rem;
	text-align: center;
}

.ir_img_box img {
	width: 100%;
}







/* ------------------------ recruit ----------------------*/
.recruit_area {
	/* background: #004FBA; */
	/* padding: 80px 0px 200px 0px; */
	background-image: url(/img/top/main_recruit_pc.png);
	background-position: right;
	background-repeat: no-repeat;
	background-size: auto 100%;
}

.recruit_maincontainer {
	padding: 40px 0;
}

.recruit_blue_block {
	/* background-color: #004FBA;
	background-image: url(/img/top/recruit_blue_main_bg.png); */
	max-width: 100%;
	height: 480px;
	background-size: cover;
	/* color: #ffffff; */
	padding: 20px;
	margin: 0 auto;
}

.recruit_blue_block img {
	width: 50%;
	margin-top: 60px;
}

.recruit_button {
	background-color: #3049d9;
	width: 360px;
	height: 80px;
	position: relative;
	line-height: 80px;
	padding-left: 20px;
	margin-top: 60px;
	font-size: 1.2rem;
	font-weight: 800;
	color: #ffffff;
}

.recruit_img_box>a:hover {
	text-decoration: none;
}


.recruit_button::before {
	content: "";
	position: absolute;
	right: 30px;
	top: 35px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #ffffff;
}

.recruit_link_block {
	position: absolute;
	padding: 40px;
	bottom: -120px;
	left: 30px;
}

.recruit_link {
	/* width: 180px; */
	height: 180px;
	width: 100%;
	text-align: center;
	margin: 0 20px;
	color: #ffffff;
	font-weight: 800;
	display: inline-block;
}

.recruit_link span {
	display: block;
	line-height: 2rem;
	height: 2rem;
}

.recruit_link a {
	color: #ffffff;
}

.recruit_link img {
	vertical-align: middle;
}

.recruit_link a div {
	line-height: 3rem;
	background-color: #222222;
}

/* ------------------------ global ----------------------*/

.global_area {
	background-color: #ffffff;
	padding: 60px 0px;
}

.global_block {
	background-image: url(/img/top/global_bg.png);
	background-size: 80%;
	background-repeat: no-repeat;
	background-position: center;
	width: 100%;
	height: 400px;
}

.global_text {
	text-align: center;
	color: #0B324D;
	margin-top: 200px;
}

/* ------------------------ companies ----------------------*/

.companies_area {
	background-color: #ffffff;
	padding-bottom: 180px;
}

.companiesslide_box {
	background-color: #ffffff;
	box-shadow: 0px 0px 15px 0px rgba(76, 131, 207, 0.35);
	height: 100px;
	margin-top: 40px;
}

.companies_slides img {
	height: 100px;
	width: auto;
	padding: 30px 20px;
}


.companiesslide .slick-dots {
	display: block;
	/* width: 100%; */
	padding: 0;
	margin: 0;
	list-style: none;
	bottom: -40px;

}

.companiesslide .slick-dots li {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0 15px;
	cursor: pointer;
}

.companiesslide .slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 20px;
	height: 20px;
	padding: 5px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}

.companiesslide .slick-dots li button:hover,
.companiesslide .slick-dots li button:focus {
	outline: none;
}

.companiesslide .slick-dots li button:hover:before,
.companiesslide .slick-dots li button:focus:before {
	opacity: 1;
}

.companiesslide .slick-dots li button:before {
	font-size: 40px;
	line-height: 20px;

	position: absolute;
	top: 0;
	left: 0;

	width: 20px;
	height: 20px;

	content: '－';
	text-align: center;

	opacity: .25;
	color: #666666;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.companiesslide .slick-dots li.slick-active button:before {
	opacity: .75;
	color: #0CA2E6;
}

.companies_area p {
	margin-left: 20px;
	font-size: 1.6rem;
}

.companies_dekai {
	font-size: 1.2em;
	font-weight: 800;
}

.companies_area p small {
	font-size: 1rem;
}

.slick-next {
	right: 0;
}



/* ------------------------ banner ----------------------*/
.banner_area {
	margin: 0 auto;
	background-color: #ffffff;
	/* border-top: 1px solid #9EA0A2; */
	text-align: center;
	max-width: 1000px;
}



/* ------------------------------------------------------- responsive ---------------------------------------*/
/* ------------------------------------------------------- responsive ---------------------------------------*/
/* ------------------------------------------------------- responsive ---------------------------------------*/
/* ------------------------------------------------------- responsive ---------------------------------------*/

@media screen and (max-width: 768px) {
	body {
		font-size: 14px;
	}

	.maincontainer p {
		font-size: 1rem;
	}

	.maincontainer h2 {
		font-size: 1.5rem;
	}

	.maincontainer {
		width: 100%;
		padding: 20px;
	}

	.basic_area {
		padding: 40px 0;
	}

	.menu {
		background: none;
	}

	.menu-left {
		display: none;
	}

	.menublock {
		min-width: auto;
	}

	.menus {
		display: block;
		width: 100%;
	}

	.menumax1000 {
		min-width: auto;
		padding: 0;
	}

	.megamenu_child_sp {
		width: 100%;
	}

	div.menu__second-level {
		padding: 0;
	}

	div.menu__mega div.menu__second-level {
		padding: 0;
	}

	.nav_etc_sp {
		text-align: right;
		margin-top: 10px;
	}

	.nav_etc_sp a {
		font-size: 1rem;
		display: inline-block;
	}

	.nav_etc_sp div {
		margin-right: 20px;
		line-height: 2rem;
	}

	.translation {
		display: inline-block;
	}

	.icon_inquiry_box>a {
		display: block;
	}

	.icon_inquiry {
		fill: #ffffff;
		width: 50px;
		position: absolute;
		right: 100px;
		padding: 13px;
		background-color: #e9aa4f;
		box-sizing: border-box;
		height: 50px;
	}

	.icon_detail {
		width: 13px;
		height: 13px;
		fill: #666;
		float: left;
	}

	.icon_search {
		fill: #666666;
		width: 50px;
		position: absolute;
		right: 50px;
		padding: 13px;
		background-color: #efefef;
		box-sizing: border-box;
		height: 50px;
	}

	.search_inner {
		position: relative;
		background-color: #c0c9cd;
		padding: 23px 22px;
	}

	.search_inner svg {
		width: 20px;
		fill: #ffffff;
		box-sizing: border-box;
		/* height: 25px; */
		position: absolute;
		top: 10px;
		right: 10px;
	}

	.search_inner button {
		border: none;
		background-color: #666666;
		box-sizing: border-box;
		width: 40px;
		height: 40px;
		position: absolute;
		right: 22px;
		/* border-radius: 5px; */
		cursor: pointer;
	}

	#SS_searchQuery {
		width: 70%;
	}

	#SS_searchQuery2 {
		width: calc(100% - 50px);
		border: none;
		line-height: 30px;
		padding: 5px 10px;
		/* border-radius: 5px; */
	}

	.search_hidden_box {
		position: initial;
	}

	.search_hidden_show {
		left: 0;
		width: 100%;
	}

	.search_hidden_show input {
		display: initial;
	}

	.info_caution {
		background-color: rgba(35, 210, 237, 0.4);
		top: 48px;
	}

	h2,
	.flex_a,
	.news_smr {
		margin: 0px;
	}

	.mainbg {
		height: 80vh;
		min-height: 500px;
		background-image: url(/img/top/mainbg_sp.jpg);
	}

	.no-webp .mainbg {
		height: 80vh;
		min-height: 500px;
		background-image: url(/img/top/mainbg_sp.jpg);
	}

	.webp .mainbg {
		height: 80vh;
		min-height: 500px;
		background-image: url(/img/top/mainbg_sp.webp);
	}

	.maintxt {
		width: 80%;
		top: 40%;
	}

	.maintxt h2 {
		font-size: 5vw !important;
	}

	.ourstory {
		position: absolute;
		bottom: 120px;
	}

	.ourstory_btn {
		display: block;
		position: relative;
		width: 10.2em;
		padding: 0.8em;
		text-align: center;
		text-decoration: none;
		color: #1B1B1B;
		background: rgba(255, 255, 255, 0.8);
		border: 1px solid #1B1B1B;
	}

	.ourstory_btn:hover {
		background: #1B1B1B;
		color: #fff;
		cursor: pointer;
		text-decoration: none;
	}

	.mainbg_data {
		min-height: 70px;
		height: initial;
		position: absolute;
		bottom: 0;
		background-repeat: initial;
		background-size: initial;
		background-position: initial;
		background-image: initial;
		background-color: #004FBA;
	}

	.mainbg_data span {
		font-weight: 800;
		font-size: 1.8rem;
	}

	.mainbg_data ul {
		position: relative;
		bottom: initial;
		left: initial;
		text-align: center;
		margin-top: 12px;
	}

	.mainbg_data ul li {
		display: inline-block;
		margin: 0 10px;
		vertical-align: top;
		line-height: 1.5rem;
	}

	.mainbg_data ul li:last-child {
		text-align: left;
	}

	.serviceindex div {
		font-size: 1rem;
		width: 150px;
		height: 40px;
		line-height: 37px;
	}

	.serviceindex div::after {
		left: 18px;
		top: 14px;
		border-width: 5px 0 5px 8.7px;
	}

	.news_smr {
		width: 75px;
		padding: 0;
		line-height: 1rem;
	}

	.info_area {
		padding: 0;
	}

	.pickupslide {
		max-width: 100%;
		min-height: 200px;
		box-shadow: 0px 0px 15px 0px rgba(76, 131, 207, 0.35);
		margin-top: 20px;
	}

	.pickup_slides {
		padding: 0px;
	}

	.slidebox {
		padding: 20px;
	}

	/* #slide_01 {
		margin: 0;
	}

	#slide_01 .slidebox {
		background-position: initial;
		background-size: cover;
		min-height: 200px;
	}

	#slide_02 {
		height: 314px;
		padding-top: 20px;
		background-size: cover;
	}

	#pickup_recruit_txtbox {
		width: 100%;
		padding: 20px;
	}

	#pickup_recruit_txtbox img {
		width: 100%;
	}

	#pickup_recruit_btn {
		right: 0;
		width: 100%;
	}

	.pickup_slides h3 {
		margin-bottom: 0px;
		padding: 20px;
	}

	.slide_text {
		width: 100%;
		float: initial;
	} */

	.moreinfo {
		position: absolute;
		right: 60px;
		bottom: 10px;
		z-index: 6;
	}

	/* .pickupslide_area {
					padding: 0px;
				}

				.pickupslide_maincontainer {
					width: 100%;
					padding: 0;
				}

				.pickupslide {
					max-width: 100%;
					width: 100%;
					box-shadow: none;
				}

				#slide_01 {
					background-size: 100%;
					background-position: initial;
					background-size: cover;
				}

				.slide_text {
					background-color: rgba(255, 255, 255, 0.9);
					margin: 0 auto;
					margin-top: 30px;
					width: 80%;
					float: initial;
					font-size: 1rem;
					height: 240px;
					padding: 20px;
				}

				.prev-arrow-box {
					display: none;
				}

				.next-arrow-box {
					display: none;
				} */

	.pickuptab_area {
		background-color: #E2EBF5;
	}

	.pickup_box_txt {
		margin-top: 0px;
	}

	ul.pickuptab_headline {
		width: 100%;
		padding: 0;
		position: relative;
		margin-top: 30px;
	}

	ul.pickuptab_headline li {
		height: 30px;
		line-height: 30px;
	}

	ul.pickuptab_headline li::before {
		right: 15px;
		top: 10px;
		border-width: 8.7px 5px 0 5px;
		border-color: #111 transparent transparent transparent;
	}

	ul.pickuptab_headline li.current {
		color: #004FBA;
		background-color: #E2EBF5;
		border-bottom: none;
	}

	ul.pickuptab_headline li.current::before {
		border-color: #111 transparent transparent transparent;
	}

	.hottopic::before {
		border-color: #34B5BE transparent transparent transparent !important;
	}

	ul.pickuptab_story {
		width: 100%;
	}

	.pickuptab_area .menu_acc {
		width: 100%;
		max-width: 100%;
		/* margin-top: 40px; */
		padding: 0;
	}

	.pickuptab_area .menu_acc label {
		padding: 30px 25px;
		font-weight: 800;
		border-bottom: 1px solid #999999;
	}

	.pickuptab_area .menu_acc label::after {
		top: 33px;
	}

	.pickuptab_area .menu_acc label::before {
		content: "";
		position: absolute;
		left: 10px;
		top: 33px;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 5px 0 5px 8.7px;
		border-color: transparent transparent transparent #111;
	}

	.pickuptab_area .menu_acc ul {
		margin-top: 20px;
	}

	.pickuptab_area .menu_acc ul li {
		width: 50%;
	}

	.pickup_box {
		width: 100%;
		box-sizing: border-box;
		padding: 0 15px;
	}

	.pickupspecial_area p {
		/* text-align: left; */
	}

	.pickupspecial_button {
		width: 100%;
		margin: 0;
		margin-top: 5px;
		margin-bottom: 5px;
	}



	.IR_icon_area {
		flex-wrap: wrap;
	}

	.ir_icon_box {
		width: 45%;
		margin-bottom: 3vw;
	}

	.ir_img_box p {
		font-size: 1.2rem;
	}

	.recruit_area {
		background-image: none;
	}


	.recruit_maincontainer {
		padding: 0;
	}

	.recruit_blue_block {
		min-width: 100%;
		width: 100%;
		height: auto;
	}

	.recruit_img_box {
		text-align: center;
	}

	.recruit_blue_block img {
		margin-top: 0;
	}

	.recruit_img_box img {
		width: 100%;
		padding: 10px;
	}

	.recruit_button {
		position: relative;
		width: 100%;
		top: 0;
		margin-top: 20px;
		margin-left: 0;
		padding-left: 0;
	}

	.recruit_button::before {
		top: calc(50% - 4px);
	}

	.recruit_link_block {
		bottom: -80px;
		padding: 0 10px;
		left: auto;
		top: auto;
		justify-content: space-around;
	}

	.recruit_link {
		width: 30%;
		height: initial;
		margin: 0;
	}

	.global_block {
		height: auto;
	}

	.global_text {
		margin-top: 60px;
		padding-bottom: 40px;

	}

	.companies_area {
		padding: 40px 0;
	}

	.companiesslide_box {
		margin-top: 40px;
		margin-bottom: 40px;
		height: 90px;
	}

	.companiesslide .slick-dots {
		bottom: -30px;
	}

	.companies_slides img {
		padding: 30px 0px;
		height: 90px;
	}
}

/* ------------------------------------------------------- responsive ---------------------------------------*/
/* ------------------------------------------------------- responsive ---------------------------------------*/
/* 中途半端幅 */
/* ------------------------------------------------------- responsive ---------------------------------------*/
/* ------------------------------------------------------- responsive ---------------------------------------*/

@media screen and (min-width:481px) and (max-width:900px) {
	.megamenu_child {
		width: 48%;
	}

	.recruit_link_block {
		bottom: -120px;
	}

	#top-head .logo_mobile {
		padding-top: 3px;
		width: 40%;
		padding-left: 25px;
	}

	#top-head .logo_mobile a img {
		width: 100%;
	}

	.moreinfo {
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.menu-left img {
		max-width: 170px;
		padding-left: 10px;
		padding-right: 10px;
	}

	.menu-left {
		width: 180px;
		padding-right: 0;
		line-height: 52px;
	}

	.menus {
		width: calc(100% - 180px);
	}

	.menu {
		background: linear-gradient(90deg, #ffffff 0%, #ffffff 170px, rgba(84, 134, 203, 0.439) 170px, rgba(84, 134, 203, 0.439) 100%);
	}

	#top-head.fixed_pc .menu {
		background: linear-gradient(90deg, #ffffff 0%, #ffffff 170px, #0B324D 170px, #0B324D 100%);
	}

	.menutitle {
		padding: 0 8px;
	}

}

/* ------------------------------------------------------- responsive ---------------------------------------*/
/* ------------------------------------------------------- responsive ---------------------------------------*/
/* ------------------------------------------------------- responsive ---------------------------------------*/
/* ------------------------------------------------------- responsive ---------------------------------------*/

@media screen and (max-width: 480px) {
	.drower-menu {
		width: 80%;
	}

	#nav-tgl:checked+.navopen {
		background: #0B324D;
		transform: translateX(-80%);
	}

	#nav-tgl:checked~.content-wrapper {
		transform: translateX(-80%);
	}


	.pickuptab_area .menu_acc ul li {
		width: 100%;
	}

	.pickup_box {
		width: 100%;
		margin: 0;
	}

	#menu_bar02_01:checked~#links02_01 li,
	#menu_bar02_02:checked~#links02_02 li,
	#menu_bar02_03:checked~#links02_03 li,
	#menu_bar02_04:checked~#links02_04 li,
	#menu_bar02_05:checked~#links02_05 li,
	#menu_bar02_06:checked~#links02_06 li,
	#menu_bar02_07:checked~#links02_07 li {
		height: auto;
		opacity: 1;
		width: 100%;
		margin-bottom: 20px;
	}

	.slidebox {
		padding: 20px 20px 40px 20px;
	}

	.moreinfo {
		bottom: 10px;
		right: 40px;
	}

	.companies_area {
		padding: 0;
		margin-bottom: 120px;
	}

	.companiesslide .slick-dots {
		bottom: -60px;
	}


}





/* wovn */
.wovncaution {
	background-color: #ffffff;
	width: 100%;
	text-align: right;
	padding-right: 100px;
	color: #52b0e9;
	font-size: 10px;
	line-height: 36px;
	height: 40px;
	position: fixed;
	bottom: 0;
}

html[lang=ja] .wovncaution {
	display: none;
}

html[lang=en] .wovncaution {
	display: block;
}

html[lang=ja] .hide_if_ja {
	display: none;
}

html[lang=en] .hide_if_en {
	display: none;
}