@charset "UTF-8";
/** 
* Theme Name: Cuon
* Description: Cuon
* Version: 1.0.0
* Author: Otatsu
* */
/*
*base.css */
/* ==============================
*
*0:RESET
*1:Global Elements Style
*2:HEADER Style
*3:FOOTER Style
*
*============================== */
/* ---------------------------------------------------------
*0:RESET
*---------------------------------------------------------- */
html,
body,
div,
section,
span,
applet,
object,
iframe,
header,
footer,
nav,
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 {
	border: 0;
	margin: 0;
	padding: 0;
}

body {
	line-height: 1;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

ol,
ul {
	list-style: none;
}

blockquote {
	quotes: none;
}

blockquote:before,
blockquote:after {
	content: '';
	content: none;
}

del {
	text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

a img {
	border: none;
}

/*scrooll bar for FF */
html {
	overflow-y: scroll;
}

img {
	max-width: 100%;
}

/*Fonts */
html {
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

body,
input,
textarea,
table {
	color: #000;
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	font-size: 12px;
	line-height: 1.8;
}

input[type="button"] {
	cursor: pointer;
}

/*Reset: font-size, line-height propaty */
body {
	/* 12px */
	font-size: 12px;
	line-height: 1.8;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	/* 16px */
	font-size: 16px;
	line-height: 1.8;
	font-weight: normal;
}

p {
	/* 12px */
	font-size: 12px;
	line-height: 1.8;
}

body #contents #contents-main .layout-01 .leftside p {}

/* ---------------------------------------------------------
*1:Global Elements Style
*---------------------------------------------------------- */
/* */
body {
	width: 100%;
	background: #fff;
	overflow: hidden;
	color: #000;
}
div {
	background: transparent;
}

img {
	background: transparent;
	vertical-align: bottom;
}
hr {
	clear: both;
	height: 1px;
	border: 0;
	margin: 0 0 15px 0;
	background-color: #ccc;
}

/* Text elements */
strong {
	font-weight: bold;
}

cite,
em,
i {
	font-style: normal;
}

big {
	font-size: 120%;
}

ins {
	background: #ffc;
	text-decoration: none;
}

blockquote {
	padding: 0 1em;
}

blockquote cite,
blockquote em,
blockquote i {
	font-style: normal;
}

pre {
	margin: 0 0 18px 0;
	padding: 1.5em;
	line-height: 1.5;
	background: #f7f7f7;
	color: #333;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

sup,
sub {
	position: relative;
	height: 0;
	vertical-align: baseline;
	line-height: 1;
}

sup {
	bottom: 1ex;
}

sub {
	top: .5ex;
}

/*form */
select.wpcf7-form-control {
	padding: 4px 0;
	position: relative;
	top: 1px;
}

textarea {
	border: 1px solid #ccc;
	padding: 2px;
	background: #fff;
}

/*link */
a {
	color: #000000;
	outline: none;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
	color: #dc1433;
}

a img:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	-moz-opacity: 0.7;
	-khtml-opacity: 0.7;
}

animation a,
a img {
	-webkit-transition: All 0.5s ease;
	transition: All 0.5s ease;
}

/*clearfix */
.clearfix:after {
	visibility: hidden;
	height: 0;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
}

:focus {
	outline: none;
	box-shadow: none !important;
}

.th,
td,
p,
li {
	word-break: break-all;
}

/* utility styles */
.fl {
	float: left !important;
}

.fr {
	float: right !important;
}

.mt0 {
	margin-top: 0 !important;
	padding: 0 10px;
}

.mt5 {
	margin-top: 5px !important;
	padding: 0 10px;
}

.mt10 {
	margin-top: 10px !important;
	padding: 0 10px;
}

.mt15 {
	margin-top: 15px !important;
	padding: 0 10px;
}

.mt20 {
	margin-top: 20px !important;
	padding: 0 10px;
}

.mt30 {
	margin-top: 30px !important;
	padding: 0 10px;
}

.mt40 {
	margin-top: 40px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mt100 {
	margin-top: 100px !important;
}

.mb0 {
	margin-bottom: 0px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

.ml05em {
	margin-left: .5em !important;
}

.ml1em {
	margin-left: 1em !important;
}

.ml2em {
	margin-left: 2em !important;
}

.pt0 {
	padding-top: 0 !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pb0 {
	padding-bottom: 0 !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.pb35 {
	padding-bottom: 35px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pb45 {
	padding-bottom: 45px !important;
}

.pb50 {
	padding-bottom: 50px !important;
}

.ft_middle {
	font-size: 20px;
}


.textL {
	text-align: left;
}

.textR {
	text-align: right !important;
}

.textC {
	text-align: center !important;
	margin: 0px auto;
}

.vaT {
	vertical-align: top;
}

.vaB {
	vertical-align: bottom;
}

.vaM {
	vertical-align: middle;
}

.text14 {
	font-size: 14px !important;
}

.text16 {
	font-size: 16px !important;
}

.text18 {
	font-size: 18px !important;
}

.text20 {
	font-size: 20px !important;
}

.text24 {
	font-size: 24px !important;
}

.text34 {
	font-size: 34px !important;
}

.note {
	font-size: 12px !important;
}

.ftbld {
	font-weight: bold;
}

.pc_view {
	display: block;
}

.sp_view {
	display: none;
}

@media only screen and (min-width: 320px) and (max-width: 1024px) {
	#wrapper {
		overflow: hidden;
		box-sizing: border-box;
		width: 100%;
		position: absolute;
		left: 0;
	}
	.pc_view {
		display: none;
	}

	.sp_view {
		display: block;
	}

	body {
		min-width: 320px;
	}

	a:hover,
	a img:hover {
		opacity: 1;
		filter: alpha(opacity=100);
		-ms-filter: "alpha(opacity=100)";
		-moz-opacity: 1;
		-khtml-opacity: 1;
	}

	.fl,
	.fr {
		float: none !important;
		width: 100% !important;
	}

	.note {
		font-size: 12px !important;
	}

	.ft_middle {
		font-size: 16px;
	}

	.mt100 {
		margin-top: 70px !important;
	}

}

/* ---------------------------------------------------------
*2:HEADER Style
*---------------------------------------------------------- */
header .inner {
	position: relative;
}

header #explanation {
	left: 25px;
	position: absolute;
}

header #explanation h1 {
	font-size: 12px;
	line-height: 1.8;
}

header #logo {
	top: 25px;
	left: 25px;
	position: absolute;
}

header #logo span {
	font-size: 14px;
	padding-left: 82px;
	margin-top: -33px;
	display: block;
	font-family: 'Montserrat';
	color: #000000;
}

header #logo a:hover,
header #logo a img:hover {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	-moz-opacity: 1;
	-khtml-opacity: 1;
}

header nav .pc {
	position: absolute;
	top: 50px;
	right: 0;
	height: 48px;
	margin: 0 auto 10px;
}

header li {
	font-size: 14px;
	font-weight: 600;
}

header .mega-menu li a {
	display: inline-block;
	-webkit-transition: all .6s ease;
	transition: all .6s ease;
	color: rgba(255, 255, 255, 0);
	text-shadow: 0 0 0 #ed193a, 0 20px 0 #ed193a;
	line-height: 20px;
	overflow: hidden;
}

header .mega-menu li a:hover {
	opacity: 1.0;
	text-shadow: 0 -45px 0 #ed193a, 0 0 0 #ed193a;
}

header ul li ul li a {
	-webkit-transition: none !important;
	transition: none !important;
	color: #004898 !important;
}

header ul li ul li a:hover {
	text-shadow: none !important;
}

header ul li ul li a:hover {
	text-shadow: none !important;
}

header {
	height: 80px;
	background: none !important;
	width: 100%;
	position: absolute;
	z-index: 100;
}

/* PC Nav */
nav.pc {
	position: absolute;
	top: 45px;
	right: 0;
	height: 48px;
	margin: 0 auto 10px;
	width: 1020px;
}

nav.pc .right {
	float: right;
	margin-right: 20px;
}

nav.pc .right a {
	padding: 0 25px;
}

nav.pc .right li:last-child a {
	margin-right: 0px;
	border-left: none;
}

nav.pc li {
	float: right;
	display: inline-block;
	margin: 0;
	padding: 0;
	font-size: 15px;
	font-family: 'Montserrat';
}

nav.pc li a {
	float: right;
	display: block;
	text-decoration: none;
}

nav.pc li a:hover {
	text-decoration: underline;
}

nav.pc a.gnav_tit {
	display: block;
	text-indent: -9999px;
	height: 48px;
}

nav.pc li span.dc-mega-icon {
	background: none;
	padding: 0;
}

nav.pc li .sub-container,
nav.pc li .sub_list li img {
	display: none;
}

nav.pc li.mega-hover .sub-container {
	display: block;
	position: absolute;
	top: 64px !important;
	left: -20px !important;
	width: 1024px;
	padding: 0 10px 0 20px;
	background: #fff;
}

nav.pc li.mega-hover .sub_list:before {
	content: "▲";
	color: #fff;
	position: absolute;
	font-size: 32px;
	top: -16px;
	z-index: 900;
	line-height: 1;
}

nav.pc li.mega-hover .list01:before {
	left: 660px !important;
}

nav.pc li.mega-hover .list02:before {
	left: 750px !important;
}

nav.pc li .sub-container.non-mega ul {
	padding: 20px 0;
	margin-left: -10px;
	text-align: left;
}

nav.pc li .sub-container.non-mega ul li {
	display: inline-block;
	float: none;
	width: 158px;
	padding: 0;
	margin: 0 5px 10px;
	text-align: left;
	vertical-align: top;
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	font-size: 12px;
}

nav.pc li .sub-container.non-mega li a {
	margin: 0;
	padding: 0;
	border: none;
}

nav.pc li .sub-container.non-mega li a img {
	display: block;
	border: 1px solid #cfcfcf;
	width: 156px;
	margin-bottom: 10px;
}

@media only screen and (min-width: 320px) and (max-width: 1024px) {
	header .inner {
		width: 100%;
		background: #fff;
	}

	header #explanation {
		left: 20px;
		margin-left: 0px !important;
		padding-bottom: 5px;
		position: relative;
	}

	header #explanation h1 {
		font-size: 12px;
		line-height: 1.8;
	}

	header #logo {
		top: 20px;
		left: 20px;
		margin-left: 0px !important;
	}

	header #logo.exuse {

		left: 20px;
		margin-left: 0px !important;
		position: relative;
	}

	header nav.sp_view .wrap .checkbox {
		display: none;
	}

	header nav.sp_view .wrap .meun_btn {
		position: absolute;
		width: 30px;
		height: 23px;
		cursor: pointer;
		display: block;
		z-index: 2;
		top: 42px;
		right: 20px;
	}

	header nav.sp_view .meun_btn::before {
		-webkit-box-shadow: #ed193a 0 10px 0;
		box-shadow: #ed193a 0 10px 0;
	}

	header nav.sp_view .meun_btn::after {
		bottom: 0;
	}

	header nav.sp_view .meun_btn::before,
	header nav.sp_view .meun_btn::after {
		width: 30px;
		height: 2px;
		background: #ed193a;
		display: block;
		content: '';
		position: absolute;
		-webkit-transition: -webkit-box-shadow 0.2s linear, -webkit-transform 0.2s 0.2s;
		transition: box-shadow 0.2s linear, transform 0.2s 0.2s;
	}

	header nav.sp_view .menu_wrap {
		width: 100%;
		height: 10000px;
		background: #fff;
		position: absolute;
		left: -300%;
		top: 0;
		-webkit-transition: left 0.4s;
		transition: left 0.4s;
	}

	header nav.sp_view .checkbox:checked~.meun_btn::before {
		-webkit-box-shadow: transparent 0 0 0;
		box-shadow: transparent 0 0 0;
		-webkit-transform: rotate(35deg) translate3d(6px, 9px, 0);
		transform: rotate(35deg) translate3d(6px, 9px, 0);
	}

	header nav.sp_view .checkbox:checked~.meun_btn::after {
		-webkit-transform: rotate(-35deg) translate3d(6px, -9px, 0);
		transform: rotate(-35deg) translate3d(6px, -9px, 0);
	}

	header nav.sp_view .checkbox:checked~.menu_wrap {
		left: 0;
	}

	header nav.sp_view .list {
		list-style-type: none;
		margin: 90px auto 0 auto;
		padding: 0;
		text-align: center;
	}

	header nav.sp_view .list li {
		margin-bottom: 10px;
	}

	header nav.sp_view .list li a {
		color: #ed193a;
		text-decoration: none;
		z-index: 1;
		font-size: 24px;
		display: block;
		font-family: 'Century Gothic', 'Montserrat';
	}

}

/* ---------------------------------------------------------
*3:FOOTER Style
*---------------------------------------------------------- */
footer .pagetop a {
	width: 100%;
	display: block;
	background: #283341;
	padding: 15px 0;
	text-align: center;
	margin: 0px auto;
}

footer .pagetop_right a {
	position: fixed;
	right: 20px;
	bottom: 140px;
	z-index: 12;
}

footer .f_menu {
	width: 100%;
	background: #222c39;
}

footer .f_menu ul {
	width: 1080px;
	text-align: center;
	margin: 0px auto;
	padding: 25px 0px;
}

footer .f_menu ul li {
	text-align: left;
	font-size: 14px;
	margin-bottom: 5px;
	width: 210px;
	display: inline-block;
	vertical-align: top;
}

footer .f_menu ul li ul {
	text-align: left;
	display: block;
}

footer .f_menu ul li ul li.ttl {
	margin-bottom: 20px;
}

footer .f_menu ul li ul li.ttl a {
	font-size: 14px;
	color: #ffffff;
}

footer .f_menu ul li ul li.ttl a:hover {
	opacity: 0.7;
}

footer .f_menu ul li ul li {
	text-align: left;
	display: block;
	font-size: 13px;
}

footer .f_menu ul li ul li a {
	text-align: left;
	display: block;
	font-size: 13px;
	color: #8f8f8f;
	opacity: 1;
}

footer .f_menu ul li ul li a:hover {
	color: #ffffff;
}

#footer .f_btm {
	width: 100%;
	background: #1b2430;
}

#footer>.f_btm>ul {
	max-width: 1080px;
	margin: 0px auto;
	padding: 30px 0;
	display: flex;
	flex-wrap: wrap;
}

#footer>.f_btm>ul>li.left-block {
	width: 112px;

}

#footer .f_btm ul li.center-block {
	max-width: calc(100% - 112px - 250px - 60px);
	margin: 0 30px;
}

#footer .f_btm ul li.center-block ul {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

#footer .f_btm ul li.center-block ul li {
	line-height: 1.2;
	margin-right: 15px;
	margin-bottom: 10px;
}

#footer .f_btm ul li.center-block ul li a {
	font-size: 13px;
	color: #8f8f8f;
	opacity: 1;
}

#footer .f_btm ul li.center-block ul li a:hover {
	color: #fff;
}

#footer .f_btm ul li.right-block {
	width: 250px;
}

#footer .f_btm ul li.right-block ul {
	width: 100%;
	display: flex;
}

#footer .f_btm ul li.right-block ul li:first-child {
	width: 117px;
	margin-right: 3px;
}

#footer .f_btm ul li.right-block ul li:nth-of-type(2) {
	width: 55px;
	margin-right: 3px;
}

#footer .f_btm ul li.right-block ul li:last-child {
	width: 70px;
	display: flex;
	flex-wrap: wrap;
	font-size: 10px;
	color: #ffffff;
	justify-content: center;
	text-align: center;
}

#footer .f_btm .copyr {
	max-width: 1080px;
	margin: 0px auto;
	text-align: center;
	color: #ffffff;
}

/* Contact Form */
.c_wrap {
	display: flex;
	flex-wrap: wrap;
}

.c_box {
	display: flex;
	width: 100%;
	margin-bottom: 20px;
}

.c_subttl {
	width: 30%;
}

.c_subttl>p {
	display: flex;
	justify-content: space-between;
}

.c_subttl>p>span:first-child {}

.c_subttl>P>span:last-child {
	background-color: #ed193a;
	color: #fff;
	padding: 2px 10px;
	font-size: 15px;
	height: 28px;

}

.c_input {
	width: calc(70% - 10px);
	padding-left: 10px;
}

input[type="text"],
input[type="email"],
input[type="tel"],
select[name="select-116"] {
	border: 1px solid #ccc;
	padding: 2px;
	background: #fff;
	height: 28px;
	width: 100%;
}

select[name="select-116"] {
	width: calc(100% + 5px)
}

textarea.wpcf7-textarea {
	border: 1px solid #ccc;
	padding: 2px;
	background: #fff;
	width: 100%;
}

/* recruit-shinsotu */
.p-recruit-wrap {
	padding: 0 20px;
}

ul.ul-recruit-wrap {
	padding: 10px 20px !important;
}

.dl-table-salary>dd {
	margin-left: 20px;
	font-size: 15px;
}

.recruit-benefit {
	list-style: disc;
	margin-left: 30px;
	margin-bottom: 10px;
}

.dl-recruit-loc {
	font-size: 17px;
	display: flex;
	flex-wrap: wrap;
	text-align: left;
	padding: 0 20px;
}

.dl-recruit-loc>dt {
	width: 20%;
}

.dl-recruit-loc>dd {
	width: 80%;
}

@media only screen and (min-width: 320px) and (max-width: 1024px) {
	footer .pagetop_right a {
		display: none;
	}

	footer .f_menu {
		display: none;
	}

	#footer>.f_btm>ul {}

	#footer>.f_btm>ul>li {}

	#footer>.f_btm>ul>li.left-block {
		width: 100%;
		display: flex;
		justify-content: center;
	}

	#footer .f_btm ul li.center-block {
		max-width: 100%;
		width: 100%;
		margin: 0;
		margin-top: 30px;
	}

	#footer .f_btm ul li.center-block ul {
		width: 100%;
	}

	#footer .f_btm ul li.center-block ul li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 0;
		border-bottom: 1px solid #36404d;
		height: 40px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding-left: 20px;
	}

	#footer .f_btm ul li.center-block ul li:first-child {
		border-top: 1px solid #36404d;
	}

	#footer .f_btm ul li.right-block {
		width: 100%;
	}

	#footer .f_btm ul li.right-block ul {
		display: flex;
		justify-content: center;
		margin-top: 30px;
	}

	footer .f_btm .copyr {
		width: 100%;
		padding: 10px 0px 30px 0px;
	}

	footer .f_btm .copyr p {
		text-align: center;
	}

}

