@charset "utf-8";
/*
Theme Name: 1956ogawa
Theme URI: 
Author: SYSTEMRUN
Author URI: https://systemrun.co.jp/
Description: 
Version: 1.0
*/

/* CSSページ内検索 */
/* ---------------------
  - *reset
  - *common
  - *utility
	- *container
	- *flexbox
	- *clearfix
	- *btn
	- *news_list
	- *tel
  - *mainslide
	- *mainslide
  - *header
	- *header
	- *header_menu
	- *header hum
	- *header tel
	- *header scroll animation
  - *footer
	- *ft_contact
	- *pagetop
	- *footer_bg
	- *footer_menu
	- *ft_info
	- *copyright
  - *front-page
	- *top_section
	- *top_aboutus
	- *top_business
	- *top_works
	- *top_news
	- *top_recruit
  - *lower
	- *pagetitle
	- *breadcrumbs
	- *lower common
	- *company
	- *business
	- *news
	- *recruit
	- *inquiry
	- *mailform
	- *privacy-policy
	- *notfound
--------------------- */

/*========================================
  *reset
========================================*/
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, 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, input, select, button, textarea, 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 {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	color: inherit;
	line-height: inherit;
	font-size: 100%;
	vertical-align: baseline;
	word-break: break-all;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, small, main {
	display: block;
}
body {
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
}
ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote::before, blockquote::after, q::before, q::after {
	content: '';
	content: none;
}
strong, b {
	font-weight: bold;
}
i, em {
	font-style: italic;
}
del {
	text-decoration: line-through;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	vertical-align: top;
	width: 100%;
	max-width: 100%;
	height: auto;
}
span, a, ruby {
	font-size: 100%;
}
a, a:hover {
	text-decoration: none;
}
*, *::before, *::after {
	box-sizing: border-box;
}
a, a:focus, *:focus {
	outline: none;
}
select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	cursor: pointer;
}
select::-ms-expand {
    display: none;
}
/*100vh指定時のiOSアドレスバー対応*/
html {
	height: -webkit-fill-available;
}
body {
	min-height: 100vh;
	min-height: -webkit-fill-available;
}
@media screen and (min-width: 961px){
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

/*========================================
  *common
========================================*/
:root {
	--color-blue: #019ed6;
}
body {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: #000;
	font-size: 17px;
	line-height: 2.4;
}
a {
	text-decoration: none;
}
a[target="_blank"]::after {
	content: "";
	background: url("images/linkblack.png") no-repeat center bottom;
	display: inline-block;
    width: 1em;
    height: 1em;
	margin: 0 0 0 .5em;
	background-position: bottom;
}
p {
	margin-bottom: 2.6em;
}
li {
	margin-bottom: .2em;
}
ul, ol {
	margin-left: 30px;
	margin-bottom: 1.6em;
}
ol {
	list-style-type: decimal;
}
table th, table td {
	border: 1px solid #d6d6d6;
	padding: .6em 1em;
	vertical-align: middle;
}
table th {
	border-top-color: var(--color-blue);
	border-bottom: none;
	background-color: #eaf7fc;
}
table th:first-child, table td:first-child {
	border-left: none;
}
table th:last-child, table td:last-child {
	border-right: none;
}
table tr:first-child td {
	border-top: none;
}
table tr:last-child td {
	border-bottom-color: var(--color-blue);
}
table {
	width: 100%;
	background-color: #fff;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
}
h1, h2, h3, h4, h5, h6 {
	font-family: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho Pro", serif;
	font-weight: bold;
	margin-bottom: .6em;
	letter-spacing: .1em;
	clear: both;
	position: relative;
}
h2 {
	font-size: 35px;
	position: relative;
	margin-bottom: 1em;
	padding-bottom: .2em;
	text-align: center;
}
h2 span.en {
	font-family: "Playfair Display", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: italic;
	font-size: 17px;
	color: #a093b9;
	display: block;
	line-height: 2.5;
}
h2::after {
	content: "";
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
}
h3 {
	font-size: 27px;
	margin-bottom: .5em;
}
h4, h5 {
	font-size: 20px;
}
h6 {
	font-size: 18px;
	margin-bottom: .5em;
}
.wp-block-image figure {
	width: 100%;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	display: none;
}
sup {
	vertical-align: super;
    font-size: 70%;
    padding: 0 0.2em;
}
sub {
	vertical-align: sub;
	font-size: smaller;
}
@media screen and (min-width: 961px) {
	input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, button:hover {
		color: inherit;
		border-color: initial;
		background: #fff;
	}
	a[target="_blank"]:hover {
		text-decoration: underline;
	}
	a[target="_blank"]:hover::after {
		opacity: .5;
	}
}
@media screen and (max-width: 960px) {
	body {
		font-size: 16px;
		padding-top: 60px;
	}
	p {
		margin-bottom: 2em;
	}
	table th, table td {
		padding: .3em .6em;
	}
	h2 {
		font-size: 26px;
		line-height: 1.6;
		margin-bottom: .8em;
		padding-bottom: .4em;
	}
	h2::before {
		height: 45px;
		top: -5px;
	}
	h3 {
		font-size: 25px;
	}
	select {
		background-position: right 10px top 17px;
	}
	.wp-block-gallery.has-nested-images figure.wp-block-image {
		width: 100% !important;
	}
}
@font-face {
	font-family: "mplus";
	src: url('font/mplus-1p-regular.ttf') format('truetype');
}

/*========================================
  *utility
========================================*/
/*container*/
.container {
	max-width: 1100px !important;
	width: 90%;
	margin: auto;
}
header .container, .footer_bg .container, .breadcrumbs .container, .copyright .container {
	max-width: 1300px !important;
}
.home .main_container {
	background: url("images/bg_home_01.png") no-repeat center top 0, url("images/bg_home_02.png") no-repeat center bottom 0;
}
.nohome .main_container {
	margin-top: 165px;
}
@media screen and (min-width: 961px) {
	/*pc container*/
	.nohome.page_business .main_container, .nohome.page_news .main_container {
		margin-top: 185px;
	}
}
@media screen and (max-width: 960px) {
	/*sp container*/
	.nohome .main_container {
		margin-top: 65px;
	}
}
@media screen and (max-width: 480px) {
	.nohome .main_container {
		margin-top: 35px;
	}
}
/*flexbox*/
.flexbox {
	display: flex;
	flex-wrap: wrap;
}
@media screen and (max-width: 960px) {
	/*sp flexbox*/
	.flexbox {
		display: block;
	}
}
/*clearfix*/
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
/*btn*/
.btn {
    position: relative;
    display: inline-block;
    width: 100%;
	max-width: 300px;
    background-color: var(--color-blue);
    color: #fff;
    font-size: 19px;
    font-weight: 500;
    text-align: center;
    padding: .5em 3em;
    letter-spacing: .1em;
	text-decoration: none;
}
.btn_inner {
    position: relative;
    z-index: 1;
}
.btn span::after {
    position: absolute;
    content: '';
    width: 2em;
    height: .7em;
	margin-left: 1.5em;
    background-color: #fff;
    transform: translateY(80%);
    transform-origin: left;
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
	transition: transform 1.2s;
}
@media screen and (min-width: 961px) {
	/*pc btn*/
    .btn {
        transition: .6s;
    }
    .btn::before {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1;
        content: '';
        background: #8bbd3a;
        transform-origin: right top;
        transform: scale(0, 1);
        transition: transform .6s;
    }
    .btn:hover::before {
        transform-origin: left top;
        transform: scale(1, 1);
    }
}
/*news_list*/
ul.news_list {
	list-style: none;
	margin: 0;
}
.graybox {
	font-weight: 400;
	font-size: 13px;
	padding: 1.7em 3em 1.5em;
	display: grid;
	vertical-align: middle;
}
.news_list article {
	background-color:#eeedf1;
	margin-bottom: 2.6em;
}
.news_list article:last-child {
	margin-bottom: 0;
}
.news_list a {
	display: flex;
	transition: .2s;
}
.news_list a img {
	max-width: 240px;
	width: 100%;
	aspect-ratio: 250 / 190;
    object-fit: cover;
}
.news_list time {
	letter-spacing: .1em;
	border: solid 1px #422874;
    width: max-content;
    height: max-content;
    color: #422874;
    padding: 0 .8em;
    border-radius: 50px;
    line-height: 1.8;
    background-color: #fff;
	font-weight: 500;
}
.news_list .post_title {
	font-weight: 600;
	font-size: 20px;
	letter-spacing: .03em;
	line-height: 1.75;
	margin: .8em 0 .4em;
}
.news_list p.post_text {
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
	line-height: 2.2;
	margin-bottom: 0;
}
@media screen and (min-width: 961px) {
	/*pc news_list*/
	.news_list a:hover {
		filter: saturate(200%);
		background-color: #eaf7fc;
	}
}
@media screen and (max-width: 960px) {
	/*sp news_list*/
	.graybox {
		padding: 1.8em 2em 1.6em;
	}
	.news_list article:first-child {
		margin-bottom: 2.6em;
	}
	.news_list a {
		display: block;
	}	
	.news_list a img {
		max-width: 100%;
		aspect-ratio: 250 / 140;
	}
}
@media screen and (max-width: 480px) {
	.graybox {
		padding: 1.8em 1.8em 1.6em;
	}
	.news_list a img {
		max-width: 100%;
		max-height: 200px;
	    object-fit: cover;
	}
}
/*tel*/
.tel {
	color: var(--color-blue);
    font-weight: bold;
}
.telnum {
	display: inline-block;
    font-size: 40px;
    line-height: 1;
    padding-bottom: 14px;
    border-bottom: solid 2px var(--color-blue);
	letter-spacing: .05em;
}
.telnum span {
	font-size: 27px;
	padding-right: .5em;
	letter-spacing: 0;
}
@media screen and (max-width: 960px) {
	/*sp tel*/
	.telnum {
		text-align: center;
		width: 100%;
	}
	.telnum span {
		display: block;
		padding: 0 0 .3em;
	}
}

/*========================================
  *mainslide
========================================*/
/*mainslide*/
.mainslide {
    position: relative;
    width: 100%;
    height: 100vh;
    margin: 0 auto;
    text-align: left;
    overflow: hidden;
}
.mainslide img {
    position: absolute;
    top: 0;
    left: 0;
	height: 100%;
    object-fit: cover;
}
.mainslide::before {
    position: absolute;
	content: "";
    background: url("images/catchcopy.png") no-repeat center center;
    background-size: contain;
    background-position: right;
    width: 100%;
    height: calc(100vh - 200px);
    max-height: 640px;
	max-width: 1400px; 
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	z-index: 98;
}
.testaaa {
	position: relative;
}
#scroll-icon {
	position: absolute;
	left: 145px;
	bottom: 8%;
	z-index: 98;
}
#scroll-icon-inner {
	display: table-cell;
	vertical-align:middle;
	width:100%;
	height:100%;
}
#scroll-down {
	display: block;
	position: relative;
	padding-bottom: 79px;
	text-align:center;
}
.arrow-down {
	display: block;
	margin: 0 auto;
	width: 9px;
	height: 28px;
}
.arrow-down:after {
	content: '';
	display: block;
	margin: 0;
	padding: 0;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	behavior: url(-ms-transform.htc);
	-moz-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);    
	position: absolute;
    bottom: 0;
}
#scroll-title {
    color: #fff;
    font-size: 12px;
    letter-spacing: .35em;
	white-space: pre;
    text-transform: uppercase;
	writing-mode: vertical-rl;
	display: grid;
	font-weight: bold;
	border: solid 3px #fff;
    border-radius: 50px;
    padding: 1em 0;
}
#scroll-down::before {
	-webkit-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
	/* Safari 4+ */
	-moz-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
	/* Fx 5+ */
	-o-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
	/* Opera 12+ */
	animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
	/* IE 10+, Fx 29+ */
	position: absolute;
	bottom: 0;
	margin-left: -1px;
	width: 2px;
	height: 90px;
	background: #fff;
	content: ' ';
}
@-webkit-keyframes elasticus {
    0% {
-webkit-transform-origin: 0% 0%;
-ms-transform-origin: 0% 0%;
-moz-transform-origin: 0% 0%;
-o-transform-origin: 0% 0%;
transform-origin: 0% 0%;
-webkit-transform: scale(1, 0);
-ms-transform: scale(1, 0);
-moz-transform: scale(1, 0);
-o-transform: scale(1, 0);
transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}
@-moz-keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}
@-o-keyframes elasticus {
	0% {
		-webkit-transform-origin: 0% 0%;
		-ms-transform-origin: 0% 0%;
		-moz-transform-origin: 0% 0%;
		-o-transform-origin: 0% 0%;
		transform-origin: 0% 0%;
		-webkit-transform: scale(1, 0);
		-ms-transform: scale(1, 0);
		-moz-transform: scale(1, 0);
		-o-transform: scale(1, 0);
		transform: scale(1, 0);
	}
	50% {
		-webkit-transform-origin: 0% 0%;
		-ms-transform-origin: 0% 0%;
		-moz-transform-origin: 0% 0%;
		-o-transform-origin: 0% 0%;
		transform-origin: 0% 0%;
		-webkit-transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-o-transform: scale(1, 1);
		transform: scale(1, 1);
	}
	50.1% {
		-webkit-transform-origin: 0% 100%;
		-ms-transform-origin: 0% 100%;
		-moz-transform-origin: 0% 100%;
		-o-transform-origin: 0% 100%;
		transform-origin: 0% 100%;
		-webkit-transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-o-transform: scale(1, 1);
		transform: scale(1, 1);
	}
	100% {
		-webkit-transform-origin: 0% 100%;
		-ms-transform-origin: 0% 100%;
		-moz-transform-origin: 0% 100%;
		-o-transform-origin: 0% 100%;
		transform-origin: 0% 100%;
		-webkit-transform: scale(1, 0);
		-ms-transform: scale(1, 0);
		-moz-transform: scale(1, 0);
		-o-transform: scale(1, 0);
		transform: scale(1, 0);
	}
}
@keyframes elasticus {
	0% {
		-webkit-transform-origin: 0% 0%;
		-ms-transform-origin: 0% 0%;
		-moz-transform-origin: 0% 0%;
		-o-transform-origin: 0% 0%;
		transform-origin: 0% 0%;
		-webkit-transform: scale(1, 0);
		-ms-transform: scale(1, 0);
		-moz-transform: scale(1, 0);
		-o-transform: scale(1, 0);
		transform: scale(1, 0);
	}
	50% {
		-webkit-transform-origin: 0% 0%;
		-ms-transform-origin: 0% 0%;
		-moz-transform-origin: 0% 0%;
		-o-transform-origin: 0% 0%;
		transform-origin: 0% 0%;
		-webkit-transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-o-transform: scale(1, 1);
		transform: scale(1, 1);
	}
	50.1% {
		-webkit-transform-origin: 0% 100%;
		-ms-transform-origin: 0% 100%;
		-moz-transform-origin: 0% 100%;
		-o-transform-origin: 0% 100%;
		transform-origin: 0% 100%;
		-webkit-transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-o-transform: scale(1, 1);
		transform: scale(1, 1);
	}
	100% {
		-webkit-transform-origin: 0% 100%;
		-ms-transform-origin: 0% 100%;
		-moz-transform-origin: 0% 100%;
		-o-transform-origin: 0% 100%;
		transform-origin: 0% 100%;
		-webkit-transform: scale(1, 0);
		-ms-transform: scale(1, 0);
		-moz-transform: scale(1, 0);
		-o-transform: scale(1, 0);
		transform: scale(1, 0);
	}
}
@media screen and (min-width: 961px) {
	/*pc mainslide*/
	.mainslide::before {
		transform: translate(-50%, -42.5%);
	}
	.mainslide img {
		top: 77.69px;
	}
}
@media screen and (min-width: 961px) {
	#scroll-down::before {
		left: 17px;
	}
}
@media screen and (min-width: 1401px) {
	.mainslide img {
		top: 100px;
	}
}
@media screen and (max-width: 1700px) {
	#scroll-icon {
		left: 105px;
		bottom: 7%;
	}
}
@media screen and (max-width: 1500px) {
	#scroll-icon {
		left: 95px;
		bottom: 6%;
	}
}
@media screen and (max-width: 1200px) {
	#scroll-icon {
		left: 75px;
	}
}
@media screen and (max-width: 960px) {
	/*sp mainslide*/
	.mainslide {
		height: 80vh;
	}
	.mainslide::before {
		max-height: 540px;
    	height: calc(100vh - 100px);
	}
	#scroll-icon {
		left: 55px;
		bottom: 5%;
	}
	#scroll-down {
		padding-bottom: 39px;
	}
	#scroll-title {
		font-size: 9px;
	}
	#scroll-down::before {
		height: 45px;
		left: 14px;
	}
	.arrow-down {
		width: 7px;
		height: 14px;
	}
}
@media screen and (max-width: 600px) {
	#scroll-icon {
		left: 35px;
	}
}
@media screen and (max-width: 480px) {
	.mainslide {
		height: 60vh;
	}
	.mainslide::before {
		max-height: 340px;
    	height: calc(100vh - 50px);
	}
	#scroll-icon {
		left: 25px;
	}
	#scroll-down {
		padding: 0 0 0 20px;
	}
	#scroll-down::before {
		left: 4px;
	}
	.arrow-down {
		height: 0;
	}
	.arrow-down:after {
		position: absolute;
		left: 0;
		bottom: 0;
	}
}

/*========================================
  *header
========================================*/
/*header*/
.header {
	position: fixed;
	height: 100px;
	width: 100%;
	z-index: 99;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	color: #000;
	text-align: center;
}
.header_container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 0;
	height: 100%;
}
.header_logo {
	margin: 10px 0;
}
.header_logo h1 {
	margin: 0;
}
@media screen and (min-width: 961px) {
	/*pc header*/
	.header_logo a:hover {
		opacity: .6;
		transition: .2s;
	}
}
@media screen and (max-width: 1400px) {
	/*sp header*/
	.header {
		height: auto;
	}
	.header_container {
		padding: 0;
	}
	.header_logo {
		max-width: 270px;
	}
}
@media screen and (max-width: 960px) {
	.header {
		position: fixed;
		height: 60px;
		top: 0;
		left: 0;
		z-index: 99;
		width: 100%;
		background: #fff;
	}
	.header_container {
		padding: 0;
		height: 60px;
	}
}
/*header_menu*/
.header_menu ul {
	display: flex;
	margin: 0;
	list-style: none;
	padding-left: 30px;
	align-items: center;
}
.header_menu ul li:first-child {
	border-left: solid 1px var(--color-blue);
}
.header_menu li {
	margin-bottom: 0;
	border-right: solid 1px var(--color-blue);
}
.header_menu li.top_btn a {
	background-color: #fff;
	color: var(--color-blue);
	border: solid 1px var(--color-blue);
	border-radius: 5px;
}
.header_menu li.top_btn span::after {
	position: inherit;
	content: "";
    background: url("images/hd_recruit.png") no-repeat 0 0;
    width: 24px;
    height: 21px;
    display: inline-block;
    margin-left: .6em;
	vertical-align: text-top;
	transition: 1.2s;
    transform: none;
    clip-path: none;
}
.header_menu ul li:nth-last-child(2), .header_menu ul li:last-child {
	border: none;
}
.header_menu ul li a {
	position: relative;
	display: block;
	text-decoration: none;
	font-size: 17px;
	line-height: 1.1;
	font-style: normal;
	font-family: 'mplus', sans-serif;
	font-weight: 500;
	padding: .8em 1.4em;
}
.header_menu li.top_btn a {
	padding: 1em 1.4em;
}
.header_menu .sp {
	display: none;
}
@media screen and (min-width: 961px) {
	/*pc header_menu*/
	.header_menu {
		display: block !important;
		margin: 10px 0;
	}
	.header_menu li.top_btn a:hover {
		color: #fff;
	}
	.header_menu li.top_btn a::before, .header_menu li.top_btn a:hover::before {
		background-color: var(--color-blue);;
	}
	.header_menu a:hover {
		background-color: var(--color-blue);
		transition: .2s;
		color: #fff;
	}
	.header_menu li.top_btn:hover span::after {
		background: url("images/hd_recruitwhite.png") no-repeat 0 0;
		transition: .6s;
	}
}
@media screen and (max-width: 1200px) {
	/*sp header_menu*/
	.header_menu ul {
		padding-left: 15px;
		justify-content: flex-end;
	}
	.header_menu ul li a {
		font-size: 17px;
		padding: .8em;
	}
	.header_menu ul li.top_btn a {
		padding: 1em .8em;
	}
}
@media screen and (max-width: 960px) {
	.header_menu {
		display: none;
		position: fixed;
		top: 60px;
		left: 0;
		width: 100%;
		z-index: 9999;
		padding: 1.4em 2.4em;
		background: rgba(0, 0, 0, .8);
		height: 100vh;
	}
	.header_menu ul {
		display: block;
		padding-left: 0;
		margin-bottom: 1.8em;
	}
	.header_menu ul li, .header_menu ul li:first-child {
		border: none;
		border-bottom: solid 1px var(--color-blue);
	}
	.header_menu ul li a {
		text-align: center;
		padding: 1.4em .8em;
		color: #fff;
	}
	.header_menu ul li.top_btn a {
		max-width: 100%;
		border: none;
		padding: 1.4em .8em;
	}
	.header_logo {
		max-width: 220px;
	}
}
/*header hum*/
.header_hum {
	display: none;
}
@media screen and (max-width: 960px) {
	/*sp header hum*/
	.hum.menu_open .header_menu {      
		display: block;
		padding: 150px 5vw 5vw;
		height: 100vh;
		top: 0 !important;
		z-index: 99;
	}
	.header_hum {
		position: absolute;
		top: 5px;
		right: 5px;
		width: 50px;
		height: 50px;
		display: block;
		cursor: pointer;
	}
	.header_hum span {
		position: absolute;
		top: 8px;
		right: 13px;
		width: 25px;
		height: 2px;
		background: var(--color-blue);
		display: block;
		transition: all .4s;
	}
	.header_hum span:nth-child(2) {
		top: 15px;
	}
	.header_hum span:nth-child(3) {
		top: 22px;
	}
	.header_hum.active span:nth-child(1) {
		transform: translateY(7px) rotate(315deg);
	}
	.header_hum.active span:nth-child(2) {
		opacity: 0;
	}
	.header_hum.active span:nth-child(3) {
		transform: translateY(-7px) rotate(-315deg);
	}
	.header_hum p {
		font-size: 13px;
		text-align: center;
		margin-top: 23px;
		font-family: 'mplus', sans-serif;
	}
}
/*header tel*/
.header_menu .tel {
	color: #fff;
}
.header_menu .telnum {
	border-bottom: solid 1px #fff;
	font-size: 37px;
}
.header_menu .telnum span {
	font-size: 25px;
}
.header_menu .calltime {
	font-size: 90%;
	font-weight: 500;
	padding-top: 7px;
}
@media screen and (max-width: 960px) {
	/*sp header tel*/
	.header_menu .telnum {
		width: auto;
	}
	.header_menu .tel.sp {
		display: block;
	}
}
/*header scroll animation*/
.header.UpMove {
	position: fixed;
	width: 100%;
	animation: UpAnime .5s forwards;
}
@keyframes UpAnime {
	from {
		opacity: 1;
		transform: translateY(0);
	}
	to {
		opacity: 0;
		transform: translateY(-100px);
	}
}
.header.DownMove {
	position: fixed;
	width: 100%;
	animation: DownAnime .5s forwards;
}
@keyframes DownAnime {
	from {
		opacity: 0;
		transform: translateY(-100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/*========================================
  *footer
========================================*/
/*ft_contact*/
.ft_contact {
	background:  url(images/bg_home_04.png) no-repeat center top 0;
}
.ft_contact .container {
	border: solid 1px var(--color-blue);
	padding: 3em;
	margin: 135px auto;
}
.ft_contact .text {
	text-align: center;
	font-weight: 600;
	margin-bottom: 1em;
}
.ft_contact .btn_area {
	display: flex;
	justify-content: space-between;
	max-width: 890px;
	margin: 0 auto;
	align-items: center;
}
.ft_contact .top_btn {
	margin-bottom: 0;
}
.ft_contact .btn {
	background-color: var(--color-blue);
	color: #fff;
	width: 400px;
	max-width: 100%;
}
.ft_contact .btn span::before {
    content: "";
    background: url("images/ft_mail.png") no-repeat 0 0;
    width: 20px;
    height: 15px;
    display: inline-block;
    margin-right: 1em;
}
.ft_contact .calltime {
	text-align: center;
    padding-top: .6em;
}
@media screen and (min-width: 1201px) {
	/*pc ft_contact*/
	.ft_contact .top_btn {
		margin-right: 3em;
	}
}
@media screen and (max-width: 1200px) {
	/*sp ft_contact*/
	.ft_contact .btn_area {
		max-width: 760px;
	}
	.ft_contact .telnum span {
		display: block;
		padding-bottom: .3em;
	}
	.ft_contact .calltime {
		font-size: 90%;
	}
}
@media screen and (max-width: 960px) {
	.ft_contact .container {
		padding: 2em;
		margin: 90px auto;
	}
	.ft_contact .text {
		margin-bottom: 1.5em;
	}
	.ft_contact .btn_area {
		display: block;
	}
	.ft_contact .btn {
		width: 100%;
		margin-bottom: 1.5em;
	}
	.ft_contact .calltime {
		font-size: 100%;
	}
}
@media screen and (max-width: 480px) {
	.ft_contact .container {
		padding: 2em 1em;
	}
	.ft_contact .text {
		text-align: left;
	}
	.ft_contact .btn {
		padding-left: .5em;
	    padding-right: 4em;
	}
	.ft_contact .telnum {
		font-size: 37px;
	}
	.ft_contact .telnum span {
		font-size: 24px;
	}
}
/*pagetop*/
.pagetop a {
    background-color: #e2f3c6;
    padding: 2.6em 1em 1em;
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: italic;
    font-size: 17px;
    color: #658a2b;
    text-align: center;
    width: 100%;
    display: block;
    position: relative;
    letter-spacing: .1em;
    line-height: 1.4;
}
.pagetop a::before {
	content: "";
    width: 16px;
    height: 16px;
    border-top: 2px solid #658a2b;
    border-left: 2px solid #658a2b;
    transform: rotate(45deg);
    position: absolute;
    top: 25px;
    left: 0;
    right: 0;
    margin: auto;
}
.pagetop a, .pagetop a::before {
    transition: all .2s;
}
@media screen and (min-width: 961px) {
	/*pc pagetop*/
	.pagetop a:hover {
		background-color: #658a2b;
		color: #fff;
	}
	.pagetop a:hover::before {
		border-color: #fff;
		top: 22px;
	}
}
/*footer_bg*/
.footer_bg {
	background-color:#eeedf1;
}
.footer_bg .container {
	justify-content: space-between;
	padding: 90px 0;
	font-weight: 500;
	position: relative;
}
.ft_inner {
	background: url(images/bg_home_05.png) no-repeat center top 30px;
}
.ft_inner a {
	transition: .2s;
}
.footer_bg .ft_info {
	font-weight: 600;
}
.footer_bg .ft_info .logo {
	max-width: 400px;
}
@media screen and (max-width: 1200px) {
	/*sp footer_bg*/
	.footer_bg .container {
		display: block;
		padding: 60px 0;
	}
	.footer_bg .ft_info {
		text-align: center;
	}
	.footer_bg .ft_info .logo {
		margin: 0 auto;
	}
}
/*footer_menu*/
.footer_menu {
	display: flex;
	margin-top: .45em;
}
.footer_menu ul {
	list-style: none;
	margin-left: 3em;
	margin-bottom: 0;
}
.footer_menu ul li {
	margin-bottom: 0;
}
.footer_menu ul.lv01 > li > a {
	color: #422874;
	margin-bottom: .8em;
	display: inline-block;
	position: relative;
	text-decoration: none;
	font-weight: 600;
}
.footer_menu ul.lv01 > li > a::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 1px;
	width: 100%;
	height: 2px;
	background: #422874;
	transform: scale(0,1);
	transform-origin: left;
	transition: .4s;
}
.footer_menu ul.lv02 {
	margin-left: 0;
}
.footer_menu ul.lv02 li {
	border-left: solid 1px #d6d6d6;
	padding-left: 1.6em;
	font-size: 16px;
	line-height: 3;
}
.footer_menu ul.lv02 li a {
	font-size: 15px;
    padding: 0 0 0 12px;
    margin-bottom: -16px;
	position: relative;
	display: inline-block;
}
.footer_menu ul.lv02 li a::before {
    box-sizing: border-box;
    width: 4px;
    height: 6px;
    border: 4px solid transparent;
    border-left: 6px solid #000;    
	position: absolute;
    top: 19px;
    bottom: auto;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.ft_menubox > ul:nth-child(2) {
	margin-top: 1.4em;
}
@media screen and (min-width: 961px) {
	/*pc footer_menu*/
	.footer_menu ul.lv01 > li > a:hover::before {
		transform: scale(1);
	}
	.footer_menu ul.lv02 li a:hover {
		color: var(--color-blue);
	}
	.footer_menu ul.lv02 li a:hover::before {
		border-left: 6px solid var(--color-blue);
	}
}
@media screen and (max-width: 1400px) {
	/*sp footer_menu*/
	.footer_menu ul {
		margin-left: 2em;
	}
}
@media screen and (max-width: 1200px) {
	.footer_menu {
		margin-top: 2em;
		justify-content: center;
	}
	.footer_menu ul {
		margin-left: 2.6em;
	}
	.footer_menu > .ft_menubox:first-child ul {
		margin-left: 0;
	}
}
@media screen and (max-width: 960px) {
	.footer_menu {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		max-width: 405px;
		margin: 2em auto 0;
	}
	.footer_menu .ft_menubox, .footer_menu > .ft_menubox:last-child ul.lv01 {
		width: calc(100% / 2 - 10px);
		margin: 0;
	}
	.footer_menu > .ft_menubox:last-child {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.footer_menu > .ft_menubox:nth-child(2) {
		margin-left: 10px;
	}
	.footer_menu ul {
		margin-left: 0;
	}
	.footer_menu ul.lv02 li {
		padding-left: .8em;
	}
	.footer_menu > .ft_menubox:first-child ul, .footer_menu > .ft_menubox:last-child ul.lv01:first-child {
		margin-left: 0;
	}
	.ft_menubox > ul:nth-child(2) {
		margin-left: 10px !important;
	}
	.footer_menu > .ft_menubox:nth-child(2) > ul:nth-child(2) {
		margin-left: 0 !important;
	}
}
/*ft_info*/
.ft_info .head_office {
	margin: 1.6em 0 1em;
}
.ft_info .branch_office ul {
	display: flex;
	justify-content: space-between;
	margin: 0;
    list-style: none;
	font-size: 90%;
}
.ft_info .branch_office ul li {
	margin-bottom: 0;
    margin-left: 1.2em;
}
.ft_info .branch_office ul li:first-child {
	margin-left: 0;
}
.ft_info .branch_office a {
    display: flex;
    justify-content: center;
    align-items: center;
}
.ft_info .branch_office a::before {
    content: "";
    height: 2px;
    width: 10px;
    background-color: #000;
	margin-right: .8em;
}
.ft_info .branch_office p {
	margin-bottom: 0;
}
@media screen and (min-width: 961px) {
	/*pc ft_info*/
	.ft_info .logo a:hover {
		opacity: .6;
		transition: .2s;
	}
	.ft_info .branch_office a:hover {
		color: var(--color-blue);
	}
	.ft_info .branch_office a:hover::before {
		background-color: var(--color-blue);
	}
}
@media screen and (max-width: 1400px) {
	/*sp ft_info*/
	.ft_info .branch_office ul li {
		margin-left: .8em;
	}
	.ft_info .branch_office a::before {
		margin-right: .4em;
	}
}
@media screen and (max-width: 1200px) {
	.ft_info .branch_office ul {
		justify-content: center;
	}
	.ft_info .branch_office ul li {
		margin-left: 1.6em;
	}
	.ft_info .branch_office a::before {
		margin-right: .8em;
	}
}
@media screen and (max-width: 960px) {
	.ft_info .branch_office ul li {
		margin-left: .8em;
	}
	.ft_info .branch_office a::before {
		margin-right: .4em;
	}
}
@media screen and (max-width: 480px) {
	.ft_info .branch_office ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		max-width: 330px;
		margin: 0 auto;
	}
	.ft_info .branch_office ul li {
		margin-left: 30px !important;
		width: calc(100% / 3 - 30px);
	}
	.ft_info .branch_office a {
		justify-content: flex-start;
		max-width: fit-content;
	}
}
/*copyright*/
.copyright {
	background-color: var(--color-blue);
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .075em;
}
.copyright a {
	transition: .2s;
}
.copyright .container, .copyright .container ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .9em 0;
}
.copyright .container ul {
	list-style: none;
	margin: 0;
}
.copyright li {
	margin-right: 4.5em;
	margin-bottom: 0;
}
.copyright li:last-child {
	margin-right: 0;
}
.copyright li a[target="_blank"]::after {
	background: url("images/link.png") no-repeat center bottom;
}
@media screen and (min-width: 961px) {
	/*pc copyright*/
	.copyright li a[target="_blank"]:hover {
		text-decoration: none;
		color: #000;
	}
	.copyright li a[target="_blank"]:hover::after {
		background: url("images/linkblack.png") no-repeat center bottom;
		opacity: 1;
	}
}
@media screen and (max-width: 1400px) {
	/*sp copyright*/
	.copyright li {
		margin-right: 2em;
	}
}
@media screen and (max-width: 1200px) {
	.copyright .container {
		display: grid;
		text-align: center;
		justify-content: center;
	}
	.copyright li {
		margin-right: 2.6em;
	}
	.copyright .container ul {
		order: 1;
	}
	.copyright {
		order: 2;
	}
}
@media screen and (max-width: 960px) {
	.copyright .container ul {
		display: block;
		padding-top: 0;
	}
	.copyright li {
		margin-right: 0;
	}
}

/*========================================
  *front-page
========================================*/
/*top_section*/
.top_sec h2, #company_creed h3 {
	margin-bottom: 1.45em;
	line-height: 1.4;
	margin-top: -20px;
	font-weight: bold;
	padding-bottom: .5em;
	text-align: center;
	position: relative;
}
.top_sec h2::before, .top_sec h2::after, #company_creed h3::before, #company_creed h3::after {
	content: '';
	position: absolute;
	margin:auto;
	left: 0;
	bottom: 0;
	width: 22.5px;
	background-color: #8bbd3a;
	height: 2px;
	right: 22.5px; 
}
.top_sec h2::before, #company_creed h3::before { 
	background-color: var(--color-blue);
	left: 22.5px;
	width: 45px;
	top: auto;
}
.top_sec table th {
	width: 25%;
}
.top_sec table th:nth-child(2) {
	width: 50%;
}
.top_sec .top_btn {
	width: 100%;
}
@media screen and (max-width: 960px) {
	/*sp top_sec*/
	.top_sec h2 {
		margin-bottom: 1em;
	}
	.top_sec table th:nth-child(2) {
		width: 35%;
	}
	.top_sec .btn, .top_sec.top_works .btn, .top_sec.top_news .btn {
		max-width: 100%;
	}
}
/*top_aboutus*/
.top_aboutus {
	position: relative;
	margin: 90px auto;
}
.top_aboutus .container {
	position: relative;
}
.top_aboutus .Lbox {
    z-index: 3;
    width: 39%;
	padding-right: 5%;
}
.top_aboutus .Rbox {
	z-index: 1;
	width: 61%;
}
.top_aboutus .top_btn {
	margin-bottom: 0;
}
@media screen and (min-width: 481px) {
	/*pc top_aboutus*/
	.top_aboutus h2 span br {
		display: none;
	}
}
@media screen and (min-width: 961px) {
	.top_aboutus .top_btn.sp {
		display: none;
	}
}
@media screen and (max-width: 1200px) {
	/*sp top_aboutus*/
	.top_aboutus .text {
		font-size: 100%;
	}
}
@media screen and (max-width: 960px) {
	.top_aboutus .container {
		flex-direction: column-reverse;
	}
	.top_aboutus .Lbox {
		width: 100%;
		padding: 0;
	}
	.top_aboutus .Rbox {
		width: 100%;
		text-align: center;
	}
	.top_aboutus .top_btn {
		margin-top: 2em;
		text-align: center;
	}
	.top_aboutus .top_btn.pc {
		display: none;
	}
}
/*top_business*/
.top_business .flexbox {
    justify-content: space-between;
}
.top_business .box {
	width: calc((100% - 60px) / 3);
	transition: .2s;
}
.top_business .box h3 {
	text-align: center;
	margin-top: 1.5em;
}
.top_business .box .img {
	position: relative;
}
.top_business .box .img::after {
	content: '';
    width: 2px;
    height: 45px;
    position: absolute;
    bottom: -22.5px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--color-blue);
}
.top_business .box .text {
	font-size: 15px;
	line-height: 2.25;
	margin-bottom: 0;
}
.top_business .top_btn {
	text-align: center;
	margin-bottom: 0;
}
.top_business .btn {
	margin-top: 2.6em;
}
@media screen and (min-width: 961px) {
	/*pc top_business*/
	.top_business .box:hover {
		filter: saturate(200%);
		background-color: #eaf7fc;
	}
}
@media screen and (max-width: 960px) {
	/*sp top_business*/
	.top_business .flexbox {
		display: block;
	}
	.top_business .box h3 {
		margin: 1em 0 0;
		font-size: 23px;
	}
	.top_business .box .text {
		padding-bottom: 2.6em;
		margin-top: -.5em;
	}
	.top_business .box:last-child .text {
		padding-bottom: 0;
	}
	.top_business .btn {
		margin-top: 2em;
	}
}
@media screen and (max-width: 480px) {
	.top_business .box .text {
		letter-spacing: -.03em;
	}
}
/*top_works*/
.top_works {
	position: relative;
    background: url("images/works_bg.jpg") no-repeat center center;
    background-size: auto;
    padding: 2.8em 0;
	margin: 90px auto 0;
}
.top_works p.works_source {
	position: absolute;
    right: 1em;
	bottom: .5em;
	margin-bottom: 0;
	font-size: 13px;
}
.top_works.top_sec h2 {
    margin-bottom: 1em;
	text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
}
.top_works table {
    margin-bottom: 2.6em;
}
.top_works .top_btn {
	text-align: center;
	margin-bottom: 0;
}
.top_works p.btn {
	margin-bottom: 0;
}
.top_works .btn {
	max-width: 340px;
}
@media screen and (max-width: 960px) {
	/*sp top_works*/
	.top_works {
		padding: 2.6em 0 3.6em;
		margin-bottom: 90px;
	}
	.top_works table {
		margin-bottom: 2em;
	}
}
/*top_news*/
.top_news {
	background: url(images/bg_home_03.png) no-repeat center top 0;
}
.top_news .container {
    align-items: center;
}
.top_news .Lbox {
    z-index: 3;
    width: 35%;
	padding-right: 5%;
}
.top_news .Rbox {
	z-index: 1;
	width: 65%;
}
.top_news h2 {
	margin-bottom: 2em;
	padding-bottom: 1em;
}
.top_news h2::before, .top_news h2::after {
	transform: rotate(90deg);
}
.top_news h2::before {
	bottom: -11.25px;
}
.top_news h2::after {
	bottom: 0;
	left: 22.5px;
}
.top_news .btn {
	max-width: 340px;
}
@media screen and (min-width: 961px) {
	/*pc top_news*/
	.top_news {
		margin: 135px 0;
	}
	.top_news .top_btn.sp {
		display: none;
	}
}
@media screen and (max-width: 1200px) {
	/*sp top_news*/
	.top_news .btn {
		padding-left: 1em;
	    padding-right: 4em;
	}
}
@media screen and (max-width: 960px) {
	.top_news .flexbox {
		display: block;
	}
	.top_news .Lbox, .top_news .Rbox {
		width: 100%;
	}	
	.top_news .btn {
		padding: .5em 3em;
	}
	.top_news .top_btn {
		margin: 2em 0 0;
	    text-align: center;
	}
	.top_news .top_btn.pc {
		display: none;
	}
}
/*top_recruit*/
.top_recruit {
    background: url("images/recruit_bg.jpg") no-repeat center center;
    background-size: cover;
    padding: 3% 0;
    position: relative;
	margin: 0 auto;
	z-index: 1;
}
.top_recruit .container {
    max-width: 753px !important;
	background:rgba(0,165,227,.90);
	padding: 2.6em 3em 0;
	position: relative;
	z-index: 2;
}
.top_recruit .container::after {
    content: "";
    background: url("images/recruit_illust.png") no-repeat 0 0;
    background-size: contain;
    width: 282px;
    height: 259px;
    position: absolute;
    top: 0;
    right: 0;
	z-index: -1;
}
.top_recruit.top_sec h2::before, .top_recruit.top_sec h2::after {
	background-color: #fff;
}
.top_recruit .en {
	opacity: .6;
}
.top_recruit .en, .top_recruit .ja, .top_recruit .text {
    color: #fff;
	text-align: center;
}
.top_recruit .text {
	font-weight: 500;
}
.top_recruit .flexbtn {
	display: flex;
	justify-content: space-between;
}
.top_recruit .top_btn a {
	width: 300px;
}
.top_recruit .flexbtn > .top_btn:last-child a {
	width: 330px;
	max-width: 330px;
}
.top_recruit .btn {
	border: none;
	background-color: #fff;
	color: var(--color-blue);
}
.top_recruit .btn::before {
	background-color: #422874;
}
.top_recruit .btn span::after {
	background-color: var(--color-blue);
}
@media screen and (min-width: 961px) {
	/*pc top_recruit*/
	.top_recruit.top_sec h2 {
		margin-bottom: .8em;
	}
	.top_recruit .text {
		margin-bottom: 1.8em;
	}
	.top_recruitimg {
		display: none;
	}
	.top_recruit .btn:hover{
		color: #fff;
	}
	.top_recruit .btn:hover span::after {
		background-color: #fff;
		transition: .6s;
	}
}
@media screen and (max-width: 960px) {
	/*sp top_recruit*/
	.top_recruit {
		margin: 90px auto 0;
		background: none;
		padding: 0;
	}
	.top_recruit .container {
		width: 100%;
		max-width: 100% !important;
		padding: 2.6em 0;
	}
	.top_recruit .container::after {
		width: 182px;
	}
	.top_recruit .text {
		width: 90%;
		margin: 0 auto 1.8em;
	}
	.top_recruit .flexbtn {
		display: block;
		width: 90%;
		margin: 0 auto;
	}
	.top_recruit .flexbtn > .top_btn:last-child a, .top_recruit .top_btn a {
		width: 100%;
		max-width: 100%;
	}
	.top_recruit .top_btn {
		margin-bottom: 1em;
	}
	.top_recruit .top_btn:last-child {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 480px) {
	.top_recruit .text {
		text-align: left;
	}
	.top_recruit .text br {
		display: none;
	}
}

/*========================================
  *lower
========================================*/
/*pagetitle*/
.nohome .pagetitle {
    text-align: center;
    font-size: 45px;
    font-weight: bold;
	position: relative;
	text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
	background-image: url("images/pagetitle_bg01.jpg");
	background-position: 50% 100%;
	background-repeat: no-repeat;
	background-size: cover;
	display: grid;
    padding: 2.9em 0;
}
.pagetitle h1, .pagetitle span.en {
    margin-bottom: 0;
	line-height: 1;
}
.pagetitle h1 {
	padding-top: .6em;
}
.pagetitle span.en {
	font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: italic;
    font-size: 22px;
	letter-spacing: .1em;
}
.pagetitle time {
	font-size: 15px;
	font-weight: normal;
	display: block;
}
.page_business .pagetitle {
	background-image: url("images/pagetitle_bg02.jpg");
}
.page_news .pagetitle {
	background-image: url("images/pagetitle_bg03.jpg");
	background-position: 92% 100%;
}
.page_inquiry .pagetitle {
	background-image: url("images/pagetitle_bg04.jpg");
}
.page_recruit .pagetitle {
	background-image: url("images/pagetitle_bg05.jpg");
}
@media screen and (min-width: 481px) {
	/*pc pagetitle*/
	.notfound_title br {
		display: none;
	}
}
@media screen and (min-width: 961px) {
	.nohome .pagetitle {
		top: 77.69px;
	}
}
@media screen and (min-width: 1401px) {
	.nohome .pagetitle {
		top: 100px;
	}
}
@media screen and (max-width: 960px) {
	/*sp pagetitle*/
	.nohome .pagetitle {
		font-size: 37px;
		padding: 1.9em 0;
	}
	.pagetitle span.en {
		font-size: 17px;
	}
}
@media screen and (max-width: 480px) {
	.nohome .pagetitle {
		font-size: 35px;
		padding: 1.5em 0;
	}
	.pagetitle span.en {
		font-size: 15px;
	}
}
/*breadcrumbs*/
.breadcrumbs {
	font-size: 90%;
	font-weight: 500;
}
.breadcrumbs p {
	margin: 3px 0;
}
.breadcrumbs p > span > span:first-child > a {
	margin-left: 0;
}
.breadcrumbs a {
	text-decoration: underline;
}
.breadcrumbs a, .breadcrumb_last {
	margin-left: .4em;
}
.breadcrumbs span:not(.breadcrumb_last) {
	margin-right: .4em;
}
@media screen and (min-width: 961px) {
	/*pc breadcrumbs*/
	.breadcrumbs a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 960px) {
	/*sp breadcrumbs*/
	.breadcrumbs {
		margin-top: 70px;
	}
}
/*lower common*/
.nohome .sitebody {
	background: url("images/bg_company_01.png") no-repeat center top 540px, url("images/bg_company_03.png") no-repeat center bottom 0;
}
.gray_inner {
	background: url("images/bg_company_02.png") no-repeat center top 200px;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th {
	background-color: #eaf7fc;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th, 
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td {
	border-right: none;
	border-left: none;
	padding: .8em 45px;
	line-height: 1.75;
	vertical-align: baseline;
	border-color: #d6d6d6;
}
table.has-fixed-layout tbody > tr:first-child th, table.has-fixed-layout tbody > tr:first-child td {
	border-top-color: var(--color-blue);
}
table.has-fixed-layout tbody > tr:last-child th, table.has-fixed-layout tbody > tr:last-child td {
	border-bottom-color: var(--color-blue);
}
.nohome h2 {
	line-height: 1.4;
	padding-bottom: 0;
	padding-top: 90px;
	margin-top: -90px;
}
.nohome h2 span.en {
	letter-spacing: .14em;
}
.nohome h3 {
	margin-bottom: 1.6em;
	background-color:#eeedf1;
    border-left: 16px solid #7ac9e6;
    padding-left: 30px;
	line-height: 2.2;
}
.nohome h4 {
    color: var(--color-blue);
	border-bottom: solid 1px var(--color-blue);
	line-height: 1;
    margin-bottom: 1em;
    padding-bottom: 1em;
}
.nohome h4, .nohome h5, .nohome h6 {
    font-family: inherit;
}
.nohome h5 {
    line-height: 1.8;
    border-left: 6px solid #000;
    padding-left: 14px;
    margin-bottom: 1em;
}
.lower_content .text_small {
	font-size: 90%;
	display: inline-block;
	margin-top: .5em;
}
.lower_content .text_indent {
	padding-left: 1em;
    display: inline-block;
}
.nohome .sitebody ul {
	margin: 0;
}
.nohome .sitebody ul li {
    position: relative;
	padding-left: 20px;
	margin: 0;
}
.nohome .sitebody li::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: var(--color-blue);
    display: inline-block;
    position: absolute;
    top: 17px;
    left: 0;
}
@media screen and (max-width: 960px) {
	/*sp lower common*/
	body .is-layout-flex {
		display: block;
	}
	.nohome h2 {
		padding-top: 70px;
	}
	.lower_content .wp-block-column + .wp-block-column {
		margin-top: 2em;
	}
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th, 
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td {
		display: block;
		padding: .8em 20px;
		width: 100% !important;
	}
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th {
		border-bottom: none;
	}
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
		border: none;
	}
	table.has-fixed-layout tbody > tr:last-child td {
		border-bottom: solid 1px var(--color-blue);
	}
	.nohome h3 {
		padding-left: 20px;
		font-size: 23px;
	}
	.nohome .sitebody ul li {
		padding-left: 15px;
	}
	.nohome .sitebody li::before {
		top: 16px;
	}
}
/*company*/
#greeting .greet_text {
	background-color: #eaf7fc;
	padding: 2em 3em;
	display: inline-block;
	font-weight: 500;
}
#greeting .greet_text p {
	margin-bottom: 1em;
}
#greeting figure {
	max-width: 380px;
	text-align: right;
}
#company_creed.lower_content h3 {
	margin-top: 0;
	padding: 1.6em 0 1em;
	margin-bottom: 1em;
	letter-spacing: .05em;
	background-color: transparent;
	border: none;
}	
#company_creed.lower_content h3 br {
	display: none;
}
#company_creed p {
	margin-bottom: 0;
	font-weight: 500;
}
#principles {
	position: relative;
	display: grid;
}
#principles::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -10%);
    width: 100%;
    height: 100%;
    max-width: 400px;
    background-image: url(images/principles_bg.png);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: -1;
}
.principles_text {
	max-width: max-content;
    text-align: left;
    margin: 2.6em auto 0;
    font-size: 82%;
    float: right;
	line-height: 2;
	margin-bottom: 0;
}
.principles_text span {
	margin-left: 1em;
    display: inline-block;
}
.nohome .sitebody .principles_list {
	font-family: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho Pro", serif;
    display: flex;
    flex-wrap: wrap;
	font-size: 20px;
	max-width: 1000px;
    margin: 0 auto;
}
.nohome .sitebody .principles_list li {
    width: calc(100% / 2 - 45px);
    position: relative;
    padding-left: 25px;
    margin: 0;
	font-weight: 500;
}
.nohome .sitebody .principles_list li:nth-child(odd) {
	margin-right: 45px;
}
.nohome .sitebody .principles_list li::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--color-blue);
    display: inline-block;
    position: absolute;
    top: 18px;
    left: 0;
}
#company_overview {
	margin: 0 calc(50% - 50vw + 10px);
}
#bases_list .main_office, #bases_list .branch_office p.indent {
    border-bottom: solid 1px #d6d6d6;
    margin-bottom: 2.4em;
    padding-bottom: 2.4em;
}
#bases_list .branch_office > div .wp-block-columns:last-child p.indent {
    margin-bottom: 0;
}
.nohome #bases_list h4 {
	border: none;
    margin-bottom: 0;
	padding-bottom: 1.3em;
	padding-top: 70px;
	margin-top: -70px;
}
#bases_list .indent {
    line-height: 1.7;
}
.map, .map > div.wp-block-group__inner-container {
	height: 100%;
}
.map iframe {
    aspect-ratio: 4 / 2.6 !important;
}
@media screen and (min-width: 961px) {
	/*pc company*/
	#principles {
		padding: 90px 0;
	}
}
@media screen and (max-width: 1400px) {
	/*sp company*/
	#principles {
		padding-bottom: 90px;
	}
	#principles::before {
		top: 0;
	}
	.principles_text {
		float: inherit;
		max-width: 550px !important;
	}
	.nohome .sitebody .principles_list {
		max-width: 440px;
		padding-left: 0;
	}
	.nohome .sitebody .principles_list li {
		width: 100%;
		padding-left: 20px;
	}
	.nohome .sitebody .principles_list li:nth-child(odd) {
		margin-right: 0;
	}
}
@media screen and (max-width: 1000px) {
	#company_creed.lower_content h3 {
		font-size: 25px;
	}
}
@media screen and (max-width: 960px) {
	#principles {
		padding: 90px 0;
	}
	.principles_text {
		margin-top: 1em;
	}
	#greeting .greet_text {
		padding: 1.8em;
	}
	#greeting figure {
		margin: .8em 0 0;
	}
	#company_creed.lower_content h3 {
		padding-top: 1em;
	}
	#company_creed.lower_content h3 br.br_tablet {
		display: block;
	}
	#bases_list h4 {
		padding-bottom: 1em;
	}
}
@media screen and (max-width: 600px) {
	#company_creed.lower_content h3 br {
		display: block;
	}
}
@media screen and (max-width: 480px) {
	.nohome .sitebody .principles_list {
		font-size: 17px;
		padding-left: 0;
	}
	.nohome .sitebody .principles_list li::before {
		top: 14px;
	}
}
/*business*/
.nohome.page_business .sitebody {
	background: url("images/bg_business_01.png") no-repeat center top 540px;
}
#results h3 {
	background-color: var(--color-blue);
    border-color: var(--color-blue);
	color: #fff;
	margin-bottom: 1.4em;
	transition: .6s;
}
#lifecycle .lifecycle_sp {
	display: none;
}
.business_content p {
	font-weight: 500;
}
.nohome .sitebody .business_content ul {
	display: flex;
	flex-wrap: wrap;
}
.nohome .sitebody .business_content ul + p {
	margin-top: 1em;
}
.nohome .sitebody .business_content ul li {
	width: calc(100% / 2 - 15px);
}
.nohome .sitebody .business_content li:nth-child(odd) {
	margin-right: 15px;
}
.accordion {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: 100%;
}
.accordion_title {
	cursor: pointer;
}
.accordion_content {
	display: none;
	margin: 0 0 2.8em;
	border-bottom: 5px solid rgb(1, 158, 214);
}
.accordion_title {
	position: relative;
}
.accordion_title::after {
	border-right: solid 3px #fff;
	border-top: solid 3px #fff;
	content: "";
	display: block;
	height: 16px;
	position: absolute;
	right: 50px;
	top: 30%;
	transform: rotate(135deg);
	transition: transform .3s ease-in-out, top .3s ease-in-out;
	width: 16px;
}
.accordion_title.open::after {
	top: 43%;
	transform: rotate(-45deg);
}
#results table {
	margin-bottom: 2.8em;
}
@media screen and (min-width: 961px) {
	/*pc business*/
	#results h3:hover {
		opacity: .6;
	}
}
@media screen and (max-width: 960px) {
	/*sp container*/
	.nohome .main_container {
		margin-top: 65px;
	}
	.accordion_title::after {
		right: 40px;
		top: 25%;
	}
}
@media screen and (max-width: 600px) {
	/*sp business*/
	#lifecycle .lifecycle_pc {
		display: none;
	}
	#lifecycle .lifecycle_sp {
		display: block;
	}
}
@media screen and (max-width: 480px) {
	#results h3 {
		padding: 0 2em 0 0;
	}
	.accordion_title::after {
		right: 20px;
		top: 27%;
	}
}
/*news*/
.nohome.page_news .sitebody {
	background: url("images/bg_news_01.png") no-repeat center top 540px;
}
.sidebar_area, .sidebar_area ul {
	display: inline-table !important;
	width: 100%;
}
.sidebar_area h2 {
    font-size: 18px;
    font-family: inherit;
    color: #422874;
    line-height: 1;
	margin: 0 0 1.3em;
    padding: 0;
    text-align: left;
}
.sidebar_area ul.wp-block-archives {
	margin: 0;
}
.nohome .sitebody .sidebar_area li::before {
	display: none;
}
.sidebar_area ul.wp-block-archives li {
    border-left: solid 1px #d6d6d6;
    padding-left: 1.6em;
    font-size: 16px;
    line-height: 3;
	margin-bottom: 0;
}
.sidebar_area ul.wp-block-archives li a {
    padding: 0 0 0 12px;
    position: relative;
    display: inline-block;
	color: #422874;
	text-decoration: underline;
}
.sidebar_area ul.wp-block-archives li a::before {
    border: 4px solid transparent;
    border-left: 6px solid #000;
    position: absolute;
    top: 20px;
    left: 0;
    content: "";
}
.page_news h2 {
    text-align: left;
}
.page_news h2.single_title {
    border-bottom: solid;
	padding-bottom: 1em;
	line-height: 1.4;
}
.page_news .single_btn {
	margin: 2.6em 0 0;
	text-align: center;
}
.page_news .single_btn .btn {
    max-width: 450px;
}
.page_news .single_date {
    font-weight: 500;
	margin-bottom: 1em;
	display: inline-block;
	letter-spacing: .1em;
    border: solid 1px #422874;
    width: max-content;
    height: max-content;
    color: #422874;
    padding: 0 .8em;
    border-radius: 50px;
    line-height: 1.8;
	font-size: 90%;
}
.pagination .nav-links {
    display: flex;
    justify-content: center;
	color: var(--color-blue);
	font-weight: 500;
	line-height: normal;
}
.pagination .current {
    background: var(--color-blue);
	color: #fff;
}
.pagination .page-numbers {
    padding: .5em .8em;
    border: 1px solid var(--color-blue);
    margin: 0 7px;
}
@media screen and (min-width: 961px) {
	/*pc news*/
	.page_news .news_content {
		float: left;
		width: calc(100% - 190px);
	}
	.page_news .sidebar_area {
		float: right;
		width: 190px;
	}
	.nohome .sitebody .sidebar_area > ul > li {
		padding-left: 2em;
	}
	.page_news .single_date {
		margin-bottom: 1.6em;
	}
	.page_news .sidebar_area ul.wp-block-archives li a:hover {
		text-decoration: none;
	}
	.news_list .pagination a:hover {
		background-color: var(--color-blue);
		color: #fff;
		filter: none;
		border-color: var(--color-blue);
	}
}
@media screen and (max-width: 960px) {
	/*sp news*/
	.page_news .news_content figure.wp-block-image + figure {
		margin-top: 2em !important;
	}
	.sidebar_area {
		margin-top: 3.6em;
	}
	.sidebar_area h2 {
		background-color: #ece9f1;
		margin-bottom: 0;
		padding: 1em 1.6em;
	}
	.nohome .sitebody .sidebar_area ul, .nohome .sitebody .sidebar_area > ul > li {
		margin: 0;
		padding-left: 0;
	}
	.sidebar_area ul.wp-block-archives li {
		border-left: none;
		border-bottom: solid 1px #d6d6d6;
		padding: .6em 1.6em;
	}
}
/*recruit*/
.nohome.page_recruit .sitebody {
	background: url("images/bg_recruit_01.png") no-repeat center top 540px;
}
.recruit_btn {
	display: flex;
	column-gap: 1.8em;
	justify-content: center;
}
.recruit_btn > .top_btn {
	width: 100%;
	max-width: 400px;
	margin-bottom: 0;
}
.recruit_btn > .top_btn:last-child {
	max-width: 450px;
}
.recruit_btn .top_btn a {
	max-width: 100%;
}
.candidate_inner {
    padding: 2em 2.8em;
    display: inline-block;
    font-weight: 500;
}
.candidate_inner p {
	margin-bottom: 0;
}
.nohome .sitebody .candidate_inner ul {
	margin: 0 0 1.8em;
}
.nohome .sitebody .candidate_inner ul li {
    margin-bottom: .7em;
    border-bottom: 1px dashed #019ed6;
    position: relative;
    font-family: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho Pro", serif;
	padding-left: 33px;
	font-size: 20px;
}
.nohome .sitebody .candidate_inner ul li::before {
	content: "";
    background: url("images/checkbox.png") no-repeat center bottom;
	position: absolute;
	left: 0;
	top: 12px;
    display: inline-block;
    width: 1em;
    height: 1em;
	background-size: contain;
	border-radius: inherit;
}
.recruit_scroll dl {
	margin-bottom: 0;
	padding: 1em 2.8em;
	border: solid 1px #d6d6d6;
}
.recruit_scroll dl dd {
	display: inline-block;
	margin-right: 1.4em;
}
#new_graduate .top_btn, #career .top_btn {
	text-align: center;
	margin-bottom: 0;
}
#new_graduate .top_btn a, #career .top_btn a {
	max-width: 500px;
}
#new_graduate, #career {
	margin: 0 calc(50% - 50vw + 10px);
}
#new_graduate h3, #career h3 {
	background-color: #fff;
}
#new_graduate p, #career p {
	font-weight: 500;
}
.phonenumber, .faxnumber {
    position: relative;
    padding-left: 4.75em;
	margin-bottom: 0;
}
.phonenumber::before, .faxnumber::before {
    position: absolute;
	content: "";
    left: 0;
    top: 9px;
    width: 3.5em;
    height: 3.5em;
    display: inline-block;
    background: url("images/inquiry_tel.png") no-repeat center bottom;
    background-size: contain;
}
.faxnumber::before {
    background: url("images/inquiry_fax.png") no-repeat center bottom;
    background-size: contain;
}
.phonenumber strong, .faxnumber strong {
	display: inline-block;
    font-size: 37px;
    line-height: 1;
    letter-spacing: .05em;
}
@media screen and (min-width: 961px) {
	/*pc recruit*/
	.recruit_title {
		padding-top: 90px;
		margin-top: -70px;
	}
}
@media screen and (max-width: 960px) {
	/*sp recruit*/
	.recruit_btn {
		display: block;
	}
	.recruit_btn > .top_btn, .recruit_btn > .top_btn:last-child, #new_graduate .top_btn a, #career .top_btn a {
		max-width: 100%;
	}
	.recruit_btn > .top_btn:last-child {
		margin-top: 1em;
	}
	.candidate_inner {
		padding: 1.8em;
	}
	.recruit_scroll dl {
		padding: .8em 1.8em;
	}
}
@media screen and (max-width: 600px) {
	.recruit_btn .top_btn a, #new_graduate .top_btn a, #career .top_btn a {
		padding-left: .5em;
		padding-right: 4em;
	}
	#new_graduate .top_btn a, #career .top_btn a {
		font-size: 16.5px;
	}
}
@media screen and (max-width: 480px) {
	.phonenumber, .faxnumber {
		padding-left: 3.75em;
		font-size: 14px;
	}
	.phonenumber strong, .faxnumber strong {
		font-size: 32px;
	}
	.phonenumber::before, .faxnumber::before {
		top: 16px;
		width: 3em;
		height: 3em;
	}
}
/*inquiry*/
.nohome.page_inquiry .sitebody {
	background: url("images/bg_news_01.png") no-repeat center top 540px;
}
.nohome.page_inquiry .gray_inner {
	background: url("images/bg_inquiry_02.png") no-repeat center top 240px;
}
.telfax_box {
	max-width: 900px !important;
	margin: 0 auto;
}
@media screen and (min-width: 481px) {
	/*pc inquiry*/
	.telfax_group h2 br {
		display: none;
	}
}
@media screen and (max-width: 960px) {
	/*sp inquiry*/
	.telfax_box {
		max-width: 400px !important;
		margin-top: 1.5em;
	}
	.lower_content .telfax_box .wp-block-column + .wp-block-column {
		margin-top: 1.5em;
	}
}
/*mailform*/
input, textarea {
	width: 100%;
	border: 1px solid #999;
	border-radius: 3px;
	padding: .5em .7em;
	box-shadow: 2px 2px 3px #ddd inset;
}
input[type="text"].p-postal-code {
    width: 125px !important;
    margin: 0 .5em 1em;
}
input[type="radio"], input[type="checkbox"], input[type="file"] {
	width: auto;
	border: none;
	box-shadow: none;
	border-radius: 0;
	padding: 0;
}
input[type="checkbox"] {
	margin: 10px;
}
input[type="date"] {
    width: auto;
    box-shadow: none;
    padding: .3em;
}
input[type="submit"], input[type="reset"], input[type="button"], button {
    width: auto;
    box-shadow: none;
	border: 1px solid transparent;
	background: var(--color-blue);
	color: #fff;
	padding: .5em 1em;
	border-radius: 3px;
	cursor: pointer;
}
input:not([type="radio"]):not([type="checkbox"]), textarea {
	appearance: none;
	outline: none;
	box-shadow: none;
	width: 100%;
    border: 1px solid #b4b4b4;
    border-radius: 5px;
	padding: .7em;
}
input[type="radio"] {
	appearance: none;
    position: relative;
    padding-left: 25px;
}
input[type="radio"]::before, input[type="radio"]::after{
	content: "";
	display: block;
	border-radius: 50%;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	margin-top: 1px;
}
input[type="radio"]::before {
	background: #fff;
	border: 2px solid #422874;
	width: 22px;
	height: 22px;
	left: 0px;
}
input[type="radio"]::after {
    background: #422874;
    width: 10px;
    height: 10px;
	left: 6px;
	opacity: 0;
}
input[type="radio"]:checked::after {
	opacity: 1;
}
.mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0;
    margin-top: 10px;
    display: block;
}
.mw_wp_form {
	padding-top: 110px;
	margin-top: -80px;
}
#mailform {
	margin: 0 calc(50% - 50vw + 10px);
}
#mailform table {
	margin-bottom: 2.6em;
}
#mailform h2 {
	margin-bottom: 0;
}
#mailform table th {
	width: 25%;
	vertical-align: top;
}
#mailform .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th, 
#mailform .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td {
	padding: 1.2em 20px;
}
#mailform .mwform-radio-field > label {
	display: flex;
    align-items: center;
    cursor: pointer;
    border: 1px solid #b4b4b4;
    border-radius: 5px;
    padding: .7em 1em;
}
#mailform .mwform-zip-field {
	display: flex;
    align-items: center;
    column-gap: .5em;
}
#mailform .mwform-zip-field input[type="tel"] {
	max-width: 200px;
}
#mailform .error {
    color: #c00;
    font-weight: bold;
    font-size: 85%;
    padding-top: .5em;
}
#mailform .mwform-zip-field .error {
	width: 100%;
	padding-top: 0;
}
#mailform .confirm-hidden {
	display: inline-block;
	margin: .75em 0;
}
#mailform .req {
    background: #c00;
	color: #fff;
	margin-left: .75em;
	display: inline-block;
	font-size: 13px;
	padding: 1px .5em;
	vertical-align: bottom;
}
#mailform .any {
    background: #fff;
	color: #422874;
	border: solid 1px #422874;
}
#mailform .confirm_none a {
    text-decoration: underline;
    color: #422874;
    margin-right: .5em;
}
#mailform .confirm_none a[target="_blank"]::after {
    background: url("images/linkblue.png") no-repeat center bottom;
}
#mailform .confirm_none a[target="_blank"]:hover::after {
    opacity: inherit;
}
#mailform .confirm_none a:hover {
	text-decoration: none;
}
#mailform .confirm_none p {
	margin-bottom: 0;
}
#mailform .confirm_none .mwform-checkbox-field > label {
    display: inline-block;
    margin-top: .5em;
}
#mailform .submit {
    max-width: 400px;
	margin: 0 auto;
}
#mailform .submit input:not([type="radio"]):not([type="checkbox"]) {
    background-image: url(images/arrow.png);
    background-position: center right 75px;
    background-repeat: no-repeat;
    font-size: 19px;
    border-radius: 0;
    border: none;
    letter-spacing: .1em;
	line-height: 1.8;
	font-weight: 500;
}
.mw_wp_form_preview .submit {
    justify-content: center;
	max-width: 100% !important;
}
.mw_wp_form_preview .submit input[type="submit"] {
	max-width: 400px;
}
.mw_wp_form_preview .submit input[type="submit"]:first-child {
	max-width: 350px;
}
.mw_wp_form_preview .confirm-hidden, .mw_wp_form_preview .preview_none {
	display: none !important;
}
.mw_wp_form_preview table.has-fixed-layout tbody > tr:nth-last-child(2) td {
	border-bottom: solid 1px var(--color-blue);
}
@media screen and (min-width: 961px) {
	/*pc mailform*/
	input[type="submit"]:hover {
		background-color: #8bbd3a;
		color: #fff;
	}
	.mw_wp_form_preview .submit {
		column-gap: 2em;
		display: flex;
	}
	.mw_wp_form_preview table.has-fixed-layout tbody > tr:nth-last-child(2) th {
		border-bottom: solid 1px var(--color-blue);
	}
	#mailform .mwform-radio-field {
		display: inline-block;
	}
	.mw_wp_form .horizontal-item + .horizontal-item {
		margin: 0 0 0 .8em;
	}
}
@media screen and (max-width: 1400px) {
	/*sp mailform*/
	input[type="text"].p-postal-code {
		width: 110px !important;
	}
}
@media screen and (max-width: 960px) {
	#mailform .confirm-hidden {
		display: block;
		margin-bottom: 1em;
	}
	#mailform .mwform-zip-field {
		display: block;
	}
	#mailform .mwform-zip-field .error {
		padding-top: .5em;
	}
	#mailform .form_title br {
		display: none;
	}
	.mw_wp_form_preview .submit input[type="submit"], .mw_wp_form_preview .submit input[type="submit"]:first-child {
		max-width: 100%;
	}
	.mw_wp_form_preview .submit input[type="submit"]:first-child {
		margin-bottom: 1.2em;
	}
}
@media screen and (max-width: 480px) {
	#mailform .submit input:not([type="radio"]):not([type="checkbox"]) {
	    padding-right: 3.5em;
	}
	#mailform .submit input:not([type="radio"]):not([type="checkbox"]):last-child {
		background-position-x: 80%;
	}
}
/*privacy-policy*/
.nohome.page_privacy-policy .sitebody {
    background: url(images/bg_company_01.png) no-repeat center top 540px;
}
.page_privacy-policy p {
	margin-bottom: 0;
}
.nohome.page_privacy-policy h3 {
	margin-bottom: .8em;
}
.policy_list {
	line-height: 1.8;
    margin-top: 1em;
}
/*notfound*/
.notfound p:first-child {
	margin-bottom: 1em;
}
@media screen and (max-width: 480px) {
	/*sp notfound*/
	.notfound a {
		max-width: 100%;
	}
}