@charset "UTF-8";
/*  
Theme Name: theme_tomitadenko
Description: Customized by cruller.
Version: 1.0
Author: cruller
License: GNU General Public License v2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

@import url(base.css);


/************/

/*** basement ***/
html {
  background-color: #FFFFFF;
}

body {
  font: 12px/24px "Lucida Grande", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  color: #232323;
}

a {
  color: #1F4BAD;
}

a:hover, a:active, a:focus {
  color: #265DD7;
}

.inner {
	max-width: 1040px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}

@media screen and (max-width: 480px) {
.inner {
	padding: 0 4vw;
}
}



/*** header ***/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 25px 0 25px;
	background-color: rgba(235,235,229,0.95);  /* #EBEBE5 */
	box-shadow: 0 1px 4px rgba(0,0,0,0.3);
	border-top: 6px solid #1F4BAD;
	border-bottom: 6px solid #1F4BAD;
	z-index: 50;
}

header div.inner {
	display: flex;
	justify-content: center;
  align-items: center;
  gap: 10px;
}

header h1.logoHeader {
}

header h1.logoHeader a img {
  max-width: 365px;
	width: 100%;
	transition-duration: 0.3s;	/* return duration */
}

header ul.btnHeader {
  display: flex;
  flex-wrap: wrap;
}

header ul.btnHeader li {
  margin: 0 0 10px 10px;
}

header ul.btnHeader li a {
  display: block;
	padding: 0.3em 0.5em;
  color: #232323;
  font-size: 0.9rem;
	background-color: #EBEBE5;
	border: 2px solid #1F4BAD;
}

header ul.btnHeader li a:hover {
	background-color: #FFFFFF;
}

@media screen and (max-width: 768px) {
header {
	padding: 10px 0;
}
header div.inner {
  justify-content: space-between;
	align-items: center;
}
header h1.logoHeader a img {
  max-width: 278px;
}
header ul.btnHeader {
  display: none;
}
}


/*** navigation ***/
/* navi button (mobile) */
@media screen and (max-width: 768px) {
#menubtn {
	display: block;
	padding: 8px 8px 6px;
	background-color: #1F4BAD;
	border: 1px solid;
	border-color: #1F4BAD;
	cursor: pointer;
	z-index: 30;
}
#menubtn:hover {
	background-color: #FFFFFF;
}
#menubtn:focus {
	outline: none;
}
#menubtn i {
	color: #1F4BAD;
	font-size: 18px;
}
#menubtn span {
	display: inline-block;
	text-indent: -9999px;
	background-color: #FFFFFF;
}
#menubtn:hover span {
	background-color: #1F4BAD;
}
}

@media screen and (min-width: 769px) {
#menubtn {
	display: none;
}
}

/* navi (mobile) */
@media screen and (max-width: 768px) {
#header-menu {
	display: none;
}
#header-menu {
	position: fixed;
	top: 59px;
	width: 100%;
	padding: 8px 0 0;
	background-color: rgba(0,0,0,0.8);
	z-index: 20;
}
#header-menu li:not(:first-of-type) {
	padding: 4px 0;
	letter-spacing: 0.1em;
	border-top: 1px solid #565656;
}
#header-menu li a {
	display: block;
	padding: 12px 8px 12px 8px;
	color: #DCEDF5;	/* (200/10%/96%) */
	font-size: 0.8rem;
	text-decoration: none;
}
#header-menu li a:before {
	content: "\f0da";
	font-family: FontAwesome;
	margin: 0 0.6em 0 5px;
	color: #F3F0EB;
	font-size: 120%;
}
#header-menu li.naviHome a:before {
	content: "\f015";
	margin: 0 0.6em 0 0;
}
#header-menu li a:hover {
	color: #FFFFFF;
}
}

@media screen and (min-width: 769px) {
#header-menu {
	display: none!important;
}
}

/* navi (global) */
@media screen and (max-width: 768px) {
#header-menu {
	display: none;
}
}

@media screen and (min-width: 769px) {
#header-menu {
	display: block!important;
	position: absolute;
	left: 0;
	right: 0;
	width: 100%;
	margin: auto;
	background-color: #1F4BAD;
}
body.home #header-menu {
	top: 600px;
}
body:not(.home) #header-menu {
	top: 404px;
}
#header-menu ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 15px 20px 5px;
}
#header-menu li:not(:last-of-type) {
	margin: 0 0.75em 10px 0;
	padding: 0 0.75em 0 0;
	border-right: 1px solid #FFFFFF;
}
#header-menu li.naviHome {
	display: none;
}
#header-menu li a {
	color: #EEEEEE;
	font-size: 1.25rem;
	text-decoration: none;
}
#header-menu li a:hover {
	color: #FFFFFF;
}
}


/*** footer ***/
footer {
	color: #FFFFFF;
	background-color: #1F4BAD;
}

.footerCont {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	padding: 50px 20px 40px;
}

@media screen and (max-width: 768px) {
.footerCont {
	padding: 30px 10px 20px;
}
}

.footerCont h2 {
	margin: 0 0 0.5em;
	font-size: 1.5rem;
	line-height: 1.4;
}

.footerCont p.address {
	margin: 0 0 1.5em;
	font-size: 1.1rem;
	line-height: 1.4;
	text-align: center;
}

.footerCont p.address span {
	display: inline-block;
	margin: 0 0.5em;
	font-size: 1.1rem;
	line-height: 1.4;
}

.footerCont p.address a {	/* for mobile */
	color: #FFFFFF;
}

footer p.copyright {
	padding: 20px 0 20px;
	font-size: 0.6rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
	text-align: center;
	border-top: 1px solid #FFFFFF;
}

#footer-menu {
}

@media screen and (max-width: 768px) {
#footer-menu {
	display: none;
}
}

#footer-menu ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#footer-menu li {
	margin: 0 0 10px;
}

#footer-menu li:not(:last-of-type) {
	margin: 0 0.5em 10px 0;
	padding: 0 0.5em 0 0;
	border-right: 1px solid #FFFFFF;
}

#footer-menu li a {
	color: #FFFFFF;
	font-size: 1.1rem;
}

#footer-menu li a:hover {
	padding: 0 0 3px;
	border-bottom: 2px solid #FFFFFF;
}


/*** scrolltop ***/
p.pagetop {
	display: none;
	position: fixed;
	bottom: 45px;
	right: 5px;
	z-index: 100;
}

@media screen and (max-width: 999px) {
p.pagetop {
	bottom: 15px;
}
}

p.pagetop a {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 8px 15px 15px;
	color: #FFFFFF;
	font-size: 1rem;
	background-color: #1F4BAD;
	border: 1px solid;
	border-color: #FFFFFF;
  border-radius: 50px;
  box-shadow: 0 3px 3px rgba(0,0,0,0.2);
}

p.pagetop a:hover {
}

p.pagetop a i {
	display: block;
  margin: 0 0 2px;
	font-size: 150%;
}



/*** structure (each content) ***/
.page {
	position: relative;
}

#wrapper {
	min-height: 100vh;
	padding: 104px 0 60px;
}

@media screen and (max-width: 768px) {
#wrapper {
	padding: 64px 0 60px;
}
}

body.home #wrapper {
	padding: 0 0 60px;
}

.main {
	padding: 0 20px 50px;
}

@media screen and (max-width: 480px) {
.main {
	padding: 0 4vw 50px;
}
}

/* mainvisual */
.mv {
  margin: 0 0 120px;
  background-color: #FFFFFF;
}

body.home .mv {
	height: 600px;
	background-image: url(img/mv/mv_home.jpg);
	background-position: center;
	background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
body.home .mv {
	height: 100vw;
  margin: 0 0 10vw;
	background-image: url(img/mv/mv_home_ver.jpg);
	background-position: center center;
	background-size: cover;
}
}

body:not(.home) .mv {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 300px;
	background-position: center;
	background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
body:not(.home) .mv {
	max-height: 300px;
	height: 35vw;
  margin: 0 0 10vw;
	background-size: auto 100%;
}
}

body.news .mv, body.single .mv {
	background-image: url(img/mv/bg_mv_news.jpg);
}

body.company .mv {
	background-image: url(img/mv/bg_mv_company.jpg);
}

body.business .mv {
	background-image: url(img/mv/bg_mv_business.jpg);
}

body.recruit .mv {
	background-image: url(img/mv/bg_mv_recruit.jpg);
}

body.access .mv {
	background-image: url(img/mv/bg_mv_access.jpg);
}

body.contact .mv {
	background-image: url(img/mv/bg_mv_contact.jpg);
}

body.error404 .mv {
	background: linear-gradient(#999999 0%, #333333 100%);
}

.mv h2 {
	color: #FFFFFF;
	font-size: 2.6rem;
	text-shadow: 0 0 4px rgba(0,0,0,0.4), 0 0 10px rgba(0,0,0,0.7);
}

@media screen and (max-width: 480px) {
.mv h2 {
	font-size: 8.5vw;
}
}

/* pictures, photos */
.pict {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
}

.pict p {
	max-width: 482px;
	width: 48.2%;
	margin: 0 0 70px!important;
  color: #284567;
	text-align: center;
  font-weight: bold;
}

.pictVer p {
	max-width: 309px;
	width: 30.9%;
}

@media screen and (max-width: 768px) {
.pict {
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

.pict p {
	width: 100%;
	margin: 0 0 30px!important;
}
}

.pictSingle p {
	margin: 0 0 70px!important;
}

.pict p img, .pictSingle p img {
	display: block;
	margin: 0 0 10px;
}

/* button */
p.btn {
	font-size: 1.25rem;
}

p.btn span {
	display: inline-block;
	font-size: 70%;
}

p.btn a {
	display: inline-block;
  min-width: 280px;
	padding: 0.6em 0.9em;
	color: #1F4BAD;
	border: 2px solid;
  border-color: #1F4BAD;
	background-color: #FFFFFF;
}

p.btn a:hover {
  color: #265DD7;
	border-color: #265DD7;
}

p.btn a i {
	padding: 0 0.2rem;
}

/* map */
.map {
	width: 100%;
  margin: 0 0 40px;
  padding: 10px;
  background-color: #EBEBE5;
}

.map iframe.mapGoogle {
	width: 100%;
	height: 430px;
}


/*** content(home) ***/
/* main contents */
section.contHome {
}

section.contHome article {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 0 80px;
}


section.contHome article h2 {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 0 0.5em;
	font-size: 2rem;
	line-height: 1.4;
  font-weight: bold;
}

section.contHome article h2::before {
	position: absolute;
	top: -5px;
	left: auto;
	right: auto;
	content: "";
	display: block;
	width: 60px;
	height: 5px;
	background-color: #E6EB00;
}

section.contHome article p {
	margin: 0 0 1em;
	font-size: 1.1rem;
	line-height: 1.5;
	text-align: center;
}

section.contHome article:not(.access) p {
  max-width: 560px;
  width: 100%;
}

section.contHome article:not(.access) p span {
	display: inline-block;
	line-height: 1.5;
}

@media screen and (max-width: 560px) {
section.contHome article:not(.access) p:not(.detail) {
  text-align: left;
}

section.contHome article:not(.access) p span {
	display: inline;
}
}

section.contHome article p.detail a {
	padding: 0 0 2px;
	border-bottom: 2px dotted;
}

/* access */
section.contHome article.access h3 {
	margin: 0 0 0.2em;
	font-size: 2rem;
	line-height: 1.4;
  font-weight: bold;
}

@media screen and (max-width: 480px) {
section.contHome article.access h3 {
	font-size: 6.5vw;
}
}

section.contHome article.access p:not(.tel) {
	margin: 0 0 10px;
	font-size: 1.25rem;
	line-height: 1.4;
	text-align: center;
}

section.contHome article.access p.address span {
	display: inline-block;
	margin: 0 0.5em;
	line-height: 1.4;
}

section.contHome article.access p.address a {	/* for mobile */
	color: #232323;
}

section.contHome article.access p.tel {
	margin: 0 0 10px;
	color: #1F4BAD;
	font-size: 3.5rem;
	line-height: 1.2;
	text-align: center;
}

@media screen and (max-width: 640px) {
section.contHome article.access p.tel {
	font-size: 8.5vw;
}
}

section.contHome article.access p.tel::before {
	content: "\f098";
	font-family: FontAwesome;
	margin: 0 0.1em 0 0;
}

section.contHome article.access p.tel a {	/* for mobile */
	color: #1F4BAD;
}

/* article pickup */
section.newsPickup {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 0 80px;
}

section.newsPickup article {
	display: flex;
  flex-direction: column;
  align-items: center;
	max-width: 830px;
	width: 100%;
	margin: 0 0 1em;
}

section.newsPickup h2 {
	display: flex;
	align-items: center;
	padding: 0.2em 1.2em;
	color: #FFFFFF;
	font-size: 1.5rem;
	text-align: center;
	background-color: #1F4BAD;
  border-radius: 1em;
}

@media screen and (max-width: 768px) {
section.newsPickup h2 {
	flex-direction: column;
	padding: 0.4em 1.8em;
	background-repeat: repeat-x;
}
}

section.newsPickup ul {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	padding: 1em 3em;
}

@media screen and (max-width: 768px) {
section.newsPickup ul {
	padding: 1em 2em;
}
}

section.newsPickup li {
	width: 100%;
	display: flex;
	padding: 0.3em 0;
	font-size: 1.1rem;
}

@media screen and (max-width: 640px) {
section.newsPickup li {
	flex-direction: column;
}
}

section.newsPickup li span.date {
	width: 7em;
  color: #284567;
	line-height: 1.4;
}

section.newsPickup li span.title {
	width: calc(100% - 7em);
}

@media screen and (max-width: 640px) {
section.newsPickup li span {
	width: 100%!important;
}
}

section.newsPickup li a {
	padding: 0 0 1px;
	color: #232323;
	line-height: 1.4;
	border-bottom: 1px solid;
	border-color: transparent;
}

section.newsPickup li a:hover {
	color: #265DD7;
	border-color: #265DD7;
}

section.newsPickup p {
	font-size: 1.1rem;
	line-height: 1.5;
}

section.newsPickup p.detail a {
	padding: 0 0 2px;
	border-bottom: 2px dotted;
}



/*** content (each cont page) ***/
body:not(.home) section {
	margin: 0 0 80px;
}

/*
body:not(.home) section {
	padding: 0 15px;
}
*/

body:not(.home) section:not(.contNews) h3 {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 0 0.8em;
	font-size: 2rem;
	line-height: 1.4;
  font-weight: bold;
}

body:not(.home) section:not(.contNews) h3::before {
	position: absolute;
	top: -5px;
	left: auto;
	right: auto;
	content: "";
	display: block;
	width: 60px;
	height: 5px;
	background-color: #E6EB00;
}

@media screen and (max-width: 480px) {
body:not(.home) section:not(.contNews) h3 {
	font-size: 6.8vw;
}
}

body:not(.home) section h4 {
	margin: 0 0 0.6em;
	font-size: 1.75rem;
	line-height: 1.4;
  font-weight: bold;
	text-align: center;
}

@media screen and (max-width: 480px) {
body:not(.home) section h4 {
	font-size: 6vw;
}
}

body:not(.home) section h4::before {
	content: "《";
	color: #1F4BAD;
}

body:not(.home) section h4::after {
	content: "》";
	color: #1F4BAD;
}

body:not(.home) section h5 {
	margin: 0 0 0.5em;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}

body:not(.home) section h6 {
	margin: 0 0 1em;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1.4;
}

@media screen and (max-width: 480px) {
body:not(.home) section h5 {
	font-size: 5vw;
}
}

body:not(.home) section p:not(.btn), body:not(.home) section li, body:not(.home) section dt, body:not(.home) section dd {
	margin: 0 0 1.5em;
	font-size: 1.1rem;
	line-height: 1.4;
}


/*** content(company) ***/
section.contCompany {
}

section.contCompany article {
	margin: 0 0 90px;
}

/* outline */
section.contCompany article.outlineCompany {
	display: flex;
	flex-direction: column;
	align-items: center;
}

section.contCompany article.outlineCompany dl {
	display: flex;
	flex-wrap: wrap;
	max-width: 620px;
	width: 100%;
	margin: 0 0 80px;
	border-top: 2px solid #EBEBE5;
}

section.contCompany article.outlineCompany dl span {
	font-size: 80%;
}

section.contCompany article.outlineCompany dt {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 7em;
	margin: 0;
	padding: 0.5em 0.2em;
	font-weight: bold;
	border-bottom: 2px solid #EBEBE5;
}

section.contCompany article.outlineCompany dd {
	width: calc(100% - 7em);
	margin: 0;
	padding: 0.5em 1em 0.5em 1em;
	border-bottom: 2px solid #EBEBE5;
}

section.contCompany article.outlineCompany dd::after {
}

section.contCompany article.outlineCompany dd a {	/* for mobile */
	color: #232323;
}

section.contCompany article.outlineCompany ul {
	margin: 0 0 0 1em;
}

section.contCompany article.outlineCompany li {
	margin: 0 0 0.4em;
	padding: 0;
	line-height: 1.2;
}

section.contCompany article.outlineCompany ul li {
	list-style-type: "・";
}

/* history */
section.contCompany article.historyCompany {
}

section.contCompany article.historyCompany dl {
	display: flex;
	flex-wrap: wrap;
	max-width: 900px;
	width: 100%;
	margin: 0 auto 80px;
	border-top: 2px solid #1F4BAD;
	border-bottom: 2px solid #1F4BAD;
}

@media screen and (max-width: 768px) {
section.contCompany article.historyCompany dl {
	flex-direction: column;
}
}

section.contCompany article.historyCompany dt {
	display: flex;
  align-items: center;
	width: 8em;
	margin: 0;
	padding: 0.6em 0.8em;
}

@media screen and (max-width: 768px) {
section.contCompany article.historyCompany dt {
	width: 100%;
}
}

section.contCompany article.historyCompany dt:nth-of-type(2n-1), 
section.contCompany article.historyCompany dd:nth-of-type(2n-1) {
	background-color: #EBEBE5;
}

section.contCompany article.historyCompany dd {
	width: calc(100% - 8em);
	margin: 0;
	padding: 0.6em 1em 0.6em 1em;
}

@media screen and (max-width: 768px) {
section.contCompany article.historyCompany dd {
	width: 100%;
	padding: 0 1em 0.6em 1.5em;
}
}

/* salute */
section.contCompany article.saluteCompany {
}

section.contCompany article.saluteCompany .contSalute {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
}

@media screen and (max-width: 768px) {
section.contCompany article.saluteCompany .contSalute {
	flex-direction: column;
	align-items: center;
}
}

section.contCompany article.saluteCompany h4 {
	font-size: 2.4rem;
	text-align: left;
}

@media screen and (max-width: 768px) {
section.contCompany article.saluteCompany h4 {
	font-size: 5.1vw;
}
}

section.contCompany article.saluteCompany h4::before, 
section.contCompany article.saluteCompany h4::after {
	content: none;
}

section.contCompany article.saluteCompany h4 span {
	display: inline-block;
}

section.contCompany article.saluteCompany img {
	display: block;
	margin: 0 0 0 30px;
}

@media screen and (max-width: 768px) {
section.contCompany article.saluteCompany img {
	margin: 0 0 30px;
}
}

section.contCompany article.saluteCompany p.footerSalute {
	font-size: 1.3rem;
}


/*** content(business) ***/
section.contBusiness {
}

section.contBusiness article {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 0 30px;
}

section.contBusiness article:not(:last-of-type) {
	margin: 0 0 150px;
}

section.contBusiness article:first-of-type h3 {
  display: block;
	margin: 0 0 0.8em;
	font-size: 1.75rem;
	line-height: 1.5;
	text-align: center;
}

@media screen and (max-width: 480px) {
section.contBusiness article:first-of-type h3 {
	font-size: 6vw;
}
}

section.contBusiness article:first-of-type h3::before {
	width: 0;
	height: 0;
}

section.contBusiness article:first-of-type h3 span {
  display: inline-block;
}

@media screen and (max-width: 640px) {
section.contBusiness article:first-of-type h3 span {
  display: inline;
}
}

section.contBusiness article .content {
	max-width: 690px;
	width: 100%;
  margin: 0 0 40px;
}

section.contBusiness article .column {
	display: flex;
  flex-wrap: wrap;
  gap: 30px 4%;
}

section.contBusiness article .column article {
	width: 48%;
  margin: 0;
}

@media screen and (max-width: 768px) {
section.contBusiness article .column article {
	width: 100%;
}
}

section.contBusiness article .column article h4 {
  font-size: 1.5rem;
}


section.contBusiness article .column article h4::before, 
section.contBusiness article .column article h4::after {
	content: none;
}

section.contBusiness article .pict p {
  margin: 0 0 30px!important;
}


/*** content(recruit) ***/
/* navi */
body.recruit .main section nav {
	margin: 0 0 40px;
}

body.recruit .main section nav ul {
	display: flex;
  flex-wrap: wrap;
	justify-content: center;
  gap: 10px 12px;
}

body.recruit .main section nav li {
	width: 42%;
	font-size: 1.35rem;
  line-height: 1.4;
	text-align: center;
}

@media screen and (max-width: 640px) {
body.recruit .main section nav li {
	font-size: 3.3vw;
}
}

body.recruit .main section nav li span {
	display: block;
	font-size: 1.1rem;
}

body.recruit .main section nav li a {
	display: block;
	padding: 0.4em 0.2em;
	color: #263148;
	background-color: #FFFFFF;
  border: 2px solid;
  border-color: #1F4BAD;
  border-radius: 5px;
}

body.recruit .main section nav li.current a {
	background-color: #EBEBE5;
}

body.recruit .main section nav li:not(.current) a:hover {
	background-color: #EBEBE5;
}

/* message */
section.messageRecruit {
	margin: 0 0 120px!important;
}

section.messageRecruit article {
	margin: 0 0 100px;
}

section.messageRecruit article .headerMessage {
	display: flex;
	align-items: center;
	margin: 0 0 30px;
}

@media screen and (max-width: 768px) {
section.messageRecruit article .headerMessage {
	flex-direction: column;
}
}

section.messageRecruit .headerMessage div {
	display: flex;
	flex-direction: column;
	align-items: center;
}

section.messageRecruit .headerMessage h4 {
	font-size: 2rem;
  line-height: 1.5
}

@media screen and (max-width: 999px) {
section.messageRecruit .headerMessage h4 {
	font-size: 3vw;
}
}

@media screen and (max-width: 768px) {
section.messageRecruit .headerMessage h4 {
	font-size: 2.5rem;
}
}

@media screen and (max-width: 640px) {
section.messageRecruit .headerMessage h4 {
	font-size: 6vw;
}
}

section.messageRecruit .headerMessage h4::before, 
section.messageRecruit .headerMessage h4::after {
	content: none;
}

section.messageRecruit .headerMessage h4 span {
	display: inline-block;
	font-weight: bold;
}

section.messageRecruit .headerMessage p {
  margin: 0 0 0.5em!important;
	font-size: 2.1rem!important;
	text-align: center;
}

section.messageRecruit .headerMessage p span.division {
  display: block;
	font-size: 70%;
}

section.messageRecruit .headerMessage img {
	max-width: 50%;
}

@media screen and (max-width: 768px) {
section.messageRecruit .headerMessage img {
	max-width: 500px;
	width: 100%;
}
}

/* summary */
section.summaryRecruit {
}

section.summaryRecruit h3 {
}

section.summaryRecruit h3 span {
  font-size: 75%;
}

section.summaryRecruit h4::before, 
section.summaryRecruit h4::after {
	content: none!important;
}

section.summaryRecruit dl {
	display: flex;
	flex-wrap: wrap;
	max-width: 900px;
	width: 100%;
	margin: 0 auto 80px;
	border-top: 2px solid #EBEBE5;
}

section.summaryRecruit dt {
	width: 8em;
	margin: 0!important;
	padding: 1em 0.2em;
	font-weight: bold;
	border-bottom: 2px solid #EBEBE5;
}

section.summaryRecruit dd {
	width: calc(100% - 8em);
	margin: 0!important;
	padding: 1em 1em 1em 1em;
	border-bottom: 2px solid #EBEBE5;
}

section.summaryRecruit dd a {
  text-decoration: underline;
}


/*** content(access) ***/
section.contAccess {
}

section.contAccess article {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 0 90px;
}

section.contAccess article h3 {
	margin: 0 0 0.2em!important;
}

@media screen and (max-width: 480px) {
section.contAccess article h3 {
	font-size: 6.5vw;
}
}

section.contAccess article h3::before {
	width: 0!important;
	height: 0!important;
}

section.contAccess article p:not(.tel) {
	margin: 0 0 10px;
	font-size: 1.25rem;
	text-align: center;
}

section.contAccess article p.address span {
	display: inline-block;
	margin: 0 0.5em;
	line-height: 1.4;
}

section.contAccess article p.address a {	/* for mobile */
	color: #232323;
}

section.contAccess article p.tel {
	margin: 0 0 10px;
	color: #1F4BAD;
	font-size: 3.5rem;
	line-height: 1.2;
	text-align: center;
}

@media screen and (max-width: 640px) {
section.contAccess article p.tel {
	font-size: 8.5vw;
}
}

section.contAccess article p.tel::before {
	content: "\f098";
	font-family: FontAwesome;
	margin: 0 0.1em 0 0;
}

section.contAccess article p.tel a {	/* for mobile */
	color: #1F4BAD;
}


/*** content(contact) ***/
section.formContact {
	display: flex;
	flex-direction: column;
	align-items: center;
}

section.formContact h3 {
	width: 100%;
}

section.formContact article {
	max-width: 900px;
	width: 100%;
}

section.formContact article div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 1em 0.2em;
	border-top: 2px solid #EBEBE5;
}

@media screen and (max-width: 640px) {
section.formContact article div:not(.formCommand) {
	flex-direction: column;
}
}

section.formContact article div h4 {
	width: 10em;
	margin: 0;
	font-size: 1.1rem;
	text-align: left;
}

@media screen and (max-width: 640px) {
section.formContact article div h4 {
	width: 100%;
}
}

section.formContact article div h4 label {
	font-weight: bold;
}

section.formContact article div h4::before, 
section.formContact article div h4::after {
	content: none;
}

section.formContact article div p {
	width: calc(100% - 10em);
	margin: 0!important;
}

@media screen and (max-width: 640px) {
section.formContact article div p {
	width: 100%;
}
}

section.formContact input[type="text"],
section.formContact input[type="email"],
section.formContact textarea {
	width: 100%;
	padding: 8px 6px;
	font-size: 1.1rem;
	background-color: rgba(235,235,229,1);
	border: none!important;
	box-sizing: border-box;
}

section.formContact input.half {
	width: 50%;
}

section.formContact input.zip {
	width: 5em;
}

section.formContact input[type="text"]:focus,
section.formContact input[type="email"]:focus,
section.formContact textarea:focus {
	background-color: rgba(235,235,229,0.8);
}

section.formContact span.inputmust {
	margin: 0 4px;
	padding: 2px 5px;
	color: #FFFFFF;
	font-size: 80%;
	background-color: #BE0003;
}

section.formContact span.caption {
	margin: 0 0 0 5px;
	font-size: 80%;
}

section.formContact span.block {
	display: block;
	line-height: 1.4;
}

section.formContact p.btn {
	text-align: center;
}

/* command button */
.formCommand {
	align-items: flex-start!important;
	justify-content: center;
	padding: 80px 0 0!important;
}

.formCommand input[type="submit"] {
	margin: 0 10px;
	padding: 0.6em 0.9em;
	color: #1F4BAD;
	font-size: 1.25rem;
	background-color: #FFFFFF;
	border: 2px solid;
	border-color: #1F4BAD;
  border-radius: 5px;
}

.formCommand input[type="submit"]:hover {
	color: #265DD7;
  border-color: #265DD7;
}

/* confirm */
.mw_wp_form_input h4.confirm, .mw_wp_form_complete h4.confirm {
	display: none;
}

section.formContact h4.confirm::before, 
section.formContact h4.confirm::after {
	content: none!important;
}

/* completed */
section.completed h4::before, 
section.completed h4::after {
	content: none!important;
}

section.formContact p.msgContact {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 0 80px!important;
}

section.formContact p.msgContact {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 0 80px!important;
}

/* privacy */
section.privacy {
	padding: 150px 0 0;
}

@media screen and (max-width: 768px) {
section.privacy {
	padding: 90px 0 0;
}
}

section.privacy article {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 80px;
}

section.privacy article h5 {
	margin: 0 0 1.5em;
}

section.privacy article h6:first-of-type {
	text-align: center;
}

section.privacy article div {
	max-width: 690px;
	width: 100%;
}

section.privacy article p a {	/* for mobile */
	color: #232323;
}

section.privacy article ol {
  margin: 0 0 1.5em 1.6em;
}

section.privacy article ol li {
  margin: 0 0 0.5em;
  list-style: decimal;
}

/* MW WP Form */
.mw_wp_form_confirm section.contAccess, .mw_wp_form_confirm section.privacy, .mw_wp_form_complete section.contAccess, .mw_wp_form_complete section.privacy {
	display: none;
}



/*** content(news) ***/
section.contNews {
	max-width: 900px;
	width: 100%;
	margin: 0 auto 80px!important;
}

.newsBox {
	margin: 0 0 90px;
	padding: 0 0 30px;
	border-bottom: 2px solid;
	border-color: #EBEBE5;
}

.newsBox h3 {
	margin: 0 0 25px;
	padding: 0 0 20px;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: bold;
	border-bottom: 2px solid;
	border-color: #EBEBE5;
}

@media screen and (max-width: 480px) {
.newsBox h3 {
	padding: 0 0 4vw;
	font-size: 6.5vw;
}
}

.newsBox h3 span.date {
	display: block;
  color: #1F4BAD;
	margin: 0 0.2em 0.5em;
	font-size: 1.1rem;
  font-weight: normal;
}

@media screen and (max-width: 480px) {
.newsBox h3 span.date {
	margin: 0 0.2em 2vw;
}
}

.newsBox article {
}

.newsBox p {
	margin: 0 0 1em;
	font-size: 1.1rem;
	line-height: 1.4;
}

.newsBox p a {
	padding: 0 0 2px;
	border-bottom: 1px solid;
}

.newsBox article img {
	max-width: 100%;
	height: auto;
	width /***/: auto;
}







/*** button shape ***/
.menu-trigger, .menu-trigger span {
	display: inline-block;
}

.menu-trigger {
	position: relative;
	width: 20px;
	height: 17px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	border-radius: 3px;
	transition: all .4s;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 7px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(7px) rotate(-45deg);
	transform: translateY(7px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-7px) rotate(45deg);
	transform: translateY(-7px) rotate(45deg);
}

/*** wp-pagenavi ***/
.wp-pagenavi {
	clear: both;
	font-size: 0.8rem;
	text-align: center;
}
.wp-pagenavi span {
	margin: 0 5px;
	padding: 0.6em 0.9em;
	color: #FFFFFF;
	border: 1px solid;
	border-color: #CDCDCD;
	background-color: #CDCDCD;
  border-radius: 5px;
}
.wp-pagenavi span.extend {
}
.wp-pagenavi span.current {
}
.wp-pagenavi span.pages {
}
.wp-pagenavi a {
	margin: 0 5px;
	padding: 0.6em 0.9em;
	color: #1F4BAD;
	border: 1px solid;
  border-color: #EBEBE5;
	background-color: #EBEBE5;
  border-radius: 5px;
}
.wp-pagenavi a:hover {
  color: #265DD7;
	border-color: #1F4BAD;
	background-color: #FFFFFF;
}

/*** navigation ***/
.navigation {
	clear: both;
	text-align: center;
}
.navigation span {
	padding: 0.6em 0.9em;
	color: #FFFFFF;
	font-size: 0.9rem;
	border: 1px solid;
	border-color: #CDCDCD;
	background-color: #CDCDCD;
  border-radius: 5px;
}
.navigation a {
	padding: 0.6em 0.9em;
	color: #1F4BAD;
	font-size: 0.9rem;
	border: 1px solid;
  border-color: #EBEBE5;
	background-color: #EBEBE5;
  border-radius: 5px;
}
.navigation a:hover {
  color: #265DD7;
	border-color: #1F4BAD;
	background-color: #FFFFFF;
}
.navigation div.alignleft {
	float: left;
	margin: 0 5px 0 0;
}
.navigation div.alignright {
	float: right;
	margin: 0 0 0 5px;
}



/*** not found ***/
section.notfound {
}

section.notfound p.btn {
	text-align: center;
}


/*** underconstruction ***/
p.underconstruction {
	padding: 150px 0;
	color: #FFFFFF;
	font-size: 120%;
	line-height: 1.5;
	text-align: center;
	background-color: #ABABAB;
}

