@charset "UTF-8";
/* CSS Document */

/* ************************************************************* */
/*          COMMON Rayout 
/* ************************************************************* */

body {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	color: #333;
	font-size: 95%;
	line-height: 1.7em;
	letter-spacing: 0;
	text-align: left;
	background-color: #FFF;
	animation: fade_In 2s ease 0s 1 normal;
    -webkit-animation: fade_In 2s ease 0s 1 normal;
}

h1,h2,h3,h4,h5 { font-weight: 700; }

ul,li { list-style: none; }

img { max-width: 100%; }

a:hover { cursor: pointer; }


@keyframes fade_In {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeI_n {
    0% {opacity: 0}
    100% {opacity: 1}
}

a { text-decoration: none; }
a:hover { cursor: pointer;}


/* ************************************************************* */
/*          HEADER  RAYOUT
/* ************************************************************* */

.head {
	width: 100%;
	height: 100px;
	margin: 0;
	padding: 0;
	top: 0;
	display: block;
	position: fixed;
	background: linear-gradient(90deg, #FFF 0%, #FFF 300px, #3B3B3B 60%);
	z-index: 999999;
}

.head .h_logo {
	width: 260px;
	margin: 20px 0 0 40px;
	float: left;
}

.head .logo a {
	width: 100%;
	padding: 0;
	margin: 0;
	display: block;
}

.head .h_logo dl,
.head .h_logo dt,
.head .h_logo dd {
	width: 100%;
	margin: 0;
	padding: 0;
	float: left;
	color: #0058A6;
	font-weight: 700;
	line-height: 20px;
}

.head .h_logo dt img {
	width: 180px;
}

.head .language {
	width: 120px;
	height: 31px;
	float: right;
	margin: 10px 20px 0 0;
	padding: 0;
}

.head .language ul {
	width: 100%;
	margin: 0;
	padding: 0;
}

.head .language li {
	width: 70px;
	margin: 0;
	padding: 0;
	float: left;
	top: -31px;
	display: block;
	position: relative;
	z-index: 0;
	text-align: center;
	line-height: 31px;
	border-radius: 15.5px;
	transition: ease 0.3s all;
	font-size: 14px;
	letter-spacing: 0;
}

.head .language li:active,
.head .language li:hover {
	z-index: 99;
}

.head .language li.act {
	width: 70px;
	top: 0;
	left: 0;
	margin: 0;
	padding: 0;
	float: right;
	background-color: #0058A6;
	color: #FFF;
	border-radius: 15.5px;
	z-index: 9;
}

.head .language a {
	width: 100%;
	margin: 0;
	padding: 0;
	display: block;
	color: #3B3B3B;
	background-color: #FFF;
	font-weight: 700;
	transition: ease 0.5s all;
	border-radius: 15.5px;
	box-sizing: border-box;
	background-image: initial;
	background-repeat: no-repeat;
	background-position: center right 10px;
	background-size: 20px;
}

.head .language a:hover,
.head .language a:active {
	cursor: pointer;
}

.head .bar_block {
	display: block;
	margin: 0;
	padding: 0;
	float: right;
}

.head .bar_block .btn {
	width: 110px;
	height: 30px;
	margin: 0 0 0 10px;
	padding: 0;
	float: left;
}

.head .bar_block .btn a {
	width: 80px;
	height: 100%;
	margin: 0;
	padding: 0 0 0 30px;
	display: block;
	background-color: rgba(227,0,18,1.00);
	color: #FFF;
	font-weight: 700;
	line-height: 30px;
	border-radius: 5px;
	font-size: 90%;
	transition: ease 0.5s all;
	background-image: url("../images/common/ico_mail_wh.svg");
	background-repeat: no-repeat;
	background-position: center left 5px;
	background-size: 20px;
}

.head .bar_block .btn a:hover {
	background-color: #FFF;
	color: #3B3B3B;
	background-image: url("../images/common/ico_mail_gr.svg");
}

.head .bar_block .btn.recruit a {
	background-color: #008045;
	background-image: url("../images/common/ico_recruit.png");
	background-size: 25px;
	background-position: center left 15px;
	padding: 0 0 0 50px;
	width: 80px;
}

.head .bar_block .btn.recruit a:hover {
	background-color: #FFF;
	background-image: url("../images/common/ico_recruit_gr.png");
}

/* ************************************************************* */
/*          SERCH BOX  RAYOUT
/* ************************************************************* */

.head .search_box {
	float: right;
	width: 200px;
	margin: 0 70px 0 0;
	display: block;
}

section.search_box {
    max-width:300px;
    border:none;
    padding-top:0;
    padding-right:20px;
    padding-bottom:5px;
    padding-left:20px;
	top: 10px;
	right: 70px;
	position: absolute;
	display: block;
}


/** 外枠に色を付けて角丸にする */
.search_box .gsc-control-cse {
	width: 100%;
	height: 30px!important;
    margin:0px!important;
    padding:0px!important;
    border:none!important;
    border-radius:20px;
    -webkit-border-radius:20px;
    -moz-border-radius:20px;
}
 
/** 外枠内側のマージンを0にする */
.search_box .gsc-search-box { 
	margin:0px!important;
	position: relative;
}
  
/** キーワード入力部分のボーダーを消し、角丸にする */
.search_box .gsc-input-box {
	margin-top: -3px!important;
    border:none!important;
    border-radius:20px!important;
    -webkit-border-radius:20px!important;
    -moz-border-radius:20px!important;
	background-color: transparent;
}
 
 /** キーワード入力部分の左側に20ピクセル余白を入れる */
.search_box .gsib_a { margin: -25px 0 5px 0!important; padding-left:20px!important; }
.search_box .gsib_b { display: none!important; }
  
/** 検索ボタンを無色透明にし、線を消す */
.search_box .gsc-search-button-v2 {
    margin:0px!important;
    padding-top:2px!important;
    padding-bottom:2px!important;
    padding-right:14px!important;
    padding-left:14px!important;
    background-color:transparent!important;
    color:#4990c8!important;
    border-top-style:none!important;
    border-right-style:none!important;
    border-bottom-style:none!important;
    border-left-style:none!important;
    cursor:pointer;
}
 
/** 検索ボタンのアイコンの色と大きさを設定 */
.search_box .gsc-search-button-v2 svg {
    fill:#00a0e9!important;
    width:13px;
    height:13px;
}
 
/** placeholderの色設定 */
.search_box input:placeholder-shown {    color:#bababa;}
 
/* Google Chrome, Safari, Opera 15+, Android, iOS */
.search_box input::-webkit-input-placeholder {    color:#bababa;}
 
/* Firefox 18- */
.search_box input:-moz-placeholder {    color:#bababa;opacity:1;}
 
/* Firefox 19+ */
.search_box input::-moz-placeholder {   color:#bababa;opacity:1;}
 
/* IE 10+ */
.search_box input:-ms-input-placeholder {   color:#bababa!important;}

/* ************************************************************* */
/*          SERCH PAGE  RAYOUT
/* ************************************************************* */

.content.common.single.serch {
	color: #333;
}

.content.common.single.serch h1 {
	width: 90%;
	margin: 50px 5%;
	text-align: center;
	font-size: 18px;
}

.content.common.single.serch h2 {
	width: 96%;
	margin: 50px 0 0;
	padding: 0 2%;
	font-size: 18px;
	color: #333;
	border-bottom: #999 1px solid;
}

.content.common.single.serch main {
	width: 90%;
	max-width: 900px;
	margin: 50px auto;
}

.content.common.single.serch ul li {
	list-style: none;
	width: 94%;
	margin: 10px 3%;
	padding: 0;
}

.content.common.single.serch ul.meta {
	display: none;
}

.content.common.single.serch img {
	display: none;
}

.content.common.single.serch .text {
	width: 96%;
	margin: 10px 0;
	padding: 0 2%;
}

.content.common.single.serch .readmore {
	width: 100%;
	margin: 10px 0;
	text-align: center;
}

.content.common.single.serch .readmore a {
	background-color: #0058A6;
	color: #FFF;
	padding: 5px 10px;
	border-radius: 5px;
}

/* ************************************************************* */
/*          CONTENT  RAYOUT
/* ************************************************************* */
.content {
	width: 100%;
	min-height: 60vh;
	margin: 100px 0 0;
	padding: 0;
	float: left;
	background-color: #FFF;
	z-index: 999;
}

.content .wrapper {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	padding: 0;
}

.content .inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 50px;
}

.content .inner_box {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0;
	background-color: #FFF;
	border-radius: 20px;
}

.content .wrapper_fixbg {
	width: 100%;
	margin: 0;
	padding: 0;
	float: left;
	background-image: url("../images/common/content_bg.svg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	background-attachment: fixed;
}

.content .content_title {
	width: 100%;
	margin: 0;
	padding: 50px 0 20px;
	text-align: center;
	color: #0058A6;
	background-color: #FFF;
	float: left;
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	font-size: 60px;
}

.content .content_title h1 {
	font-size: 21px;
	margin: 30px 0 0;
	padding: 0;
}

.content .title {
	width: 90%;
	margin: 50px 5% 0;
	padding: 0;
	float: left;
	text-align:center;
	color: #0058A6;
}

.content .title h2 {
	width: 100%;
	margin: 0;
	padding: 0;
	float: left;
	font-size: 24px;
}

.content .title .en {
	font-size: 16px;
}

/* **** MAIN VISUAL **** */

.content .main_img {
	width: 96%;
	height: 500px;
	max-width: 1880px;
	margin: 20px auto 0;
	border-radius: 20px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

/* **** PANKUZU LIST **** */

.content .pan_list {
	width: 90%;
	margin: 20px 5%;
	float: left;
}

.content .pan_list ol {
	width: 100%;
	margin: 0;
	padding: 0;
	float: left;
}

.content .pan_list ol li {
	width: auto;
	margin: 0 0.5em 10px 0;
	padding: 0;
	float: left;
}

.content .pan_list ol li::after {
	content: " -"
}

.content .pan_list ol li a {
	text-decoration: underline;
	color: #00718B;
}


/* **** READ MORE BUTTON **** */

.more_btn {
	width: 100%;
	margin: 50px 0;
	display: flex;
	float: left;
	text-align: center;
}

button {
	margin: 0 auto;
	position: relative;
	display: inline-block;
	cursor: pointer;
	outline: none;
	border: 0;
	vertical-align: middle;
	text-decoration: none;
	background: transparent;
	padding: 0;
	font-size: inherit;
}

button.learn-more {
	width: 12rem;
	height: auto;
}

button.learn-more .circle {
	transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
	position: relative;
	display: block;
	margin: 0;
	width: 3rem;
	height: 3rem;
	background: #0058A6;
	border-radius: 1.625rem;
}

.white button.learn-more .circle {
	background: #FFF;
}

button.learn-more .circle .icon {
	transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	background: #fff;
}

.white button.learn-more .circle .icon {
	background: #3B3B3B;
}

button.learn-more .circle .icon.arrow {
	transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
	left: 0.625rem;
	width: 1.125rem;
	height: 0.125rem;
	background: none;
}

button.learn-more .circle .icon.arrow::before {
	position: absolute;
	content: "";
	top: -0.25rem;
	right: 0.0625rem;
	width: 0.625rem;
	height: 0.625rem;
	border-top: 0.125rem solid #fff;
	border-right: 0.125rem solid #fff;
	transform: rotate(45deg);
}

.white button.learn-more .circle .icon.arrow::before {
	border-top: 0.125rem solid #3B3B3B;
	border-right: 0.125rem solid #3B3B3B;
}

button.learn-more .button-text {
	transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 0.75rem 0;
	margin: 0 0 0 1.85rem;
	color: #0058A6;
	font-weight: 400;
	line-height: 1.6;
	text-align: center;
	text-transform: uppercase;
}

.white button.learn-more .button-text {
	color: #FFF;
}

button:hover .circle {
	width: 100%;
}

button:hover .circle .icon.arrow {
	background: #fff;
	transform: translate(1rem, 0);
}

.white button:hover .circle .icon.arrow {
	background: #3B3B3B;
}

button:hover .button-text {
	color: #fff;
}

.white button:hover .button-text {
	color: #3B3B3B;
}


/* ************************************************************* */
/*          FOOTER  RAYOUT
/* ************************************************************* */


.foot {
	width: 100%;
	margin: 0;
	padding: 0;
	float: left;
	background-color: #3B3B3B;
	z-index: 999;
}

.foot .bar_area {
	width: 100%;
	height: 330px;
	margin: 0;
	padding: 0;
	float: left;
	background-position: center;
	background-size: cover;
	background-color: #3B3B3B;
}

.foot .bar_area .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}

.foot .bar_area .glid {
	width: 50%;
	margin: 0 25%;
	padding: 0;
	float: left;
	display: flex;
}

.foot .bar_area .glid a {
	display: block;
	width: 100%;
	height: 100px;
	margin: 100px 0 0;
	text-align: center;
	background-color: rgba(255,255,255,0.00);
	transition: ease 0.5s all;
	color: #FFF;
	float: left;
	border: #FFF 2px solid;
	box-sizing: border-box;
	background-image: url("../images/common/ico_recruit.png");
	background-repeat: no-repeat;
	background-position: center left 40px;
}

.foot .bar_area .glid.contact a {
	background-image: url("../images/common/ico_mail_wh.svg");
	background-position: center left 50px;
	background-size: 50px;
}

.foot .bar_area .glid a:hover {
	background-color: rgba(255,255,255,1.00);
	color: #3B3B3B;
	background-image: url("../images/common/ico_recruit_gr.png");
}

.foot .bar_area .glid.contact a:hover {
	background-image: url("../images/common/ico_mail_gr.svg");
}

.foot .bar_area .glid a .cover {
	width: 100%;
	padding: 30px 0;
	font-size: 16px;
	background-image: url("../images/common/arr_wh_large.png");
	background-position: center right 40px;
	background-repeat: no-repeat;
}

.foot .bar_area .glid a:hover .cover {
	background-image: url("../images/common/arr_gr_large.png");
}

.foot .bar_area .glid a .cover span {
	font-size: 28px;
}

.foot .f_logo {
	width: 100%;
	margin: 0;
	padding: 0 0 50px;
	float: left;
	background-color: #3B3B3B;
}

.foot dl {
	width: 100%;
	margin: 0;
	text-align: center;
	float: left;
	color: #FFF;
	background-color: #3B3B3B;
}

.foot dl dt {
	width: 100%;
	margin: 0;
	padding: 0;
	float: left;
	text-align: center;
}

.foot dl dt img {
	width: 180px;
	margin: 0 auto;
}

.foot dl dd {
	width: 100%;
	margin: 0;
	padding: 0;
	float: left;
}

.foot .copy {
	width: 100%;
	margin: 0;
	padding: 0;
	float: left;
	line-height: 50px;
	font-size: 14px;
	color: #FFF;
	text-align: center;
	background-color: #3B3B3B;
}

/****************************************************
/*               page-top
*****************************************************/
.pagetop {
	position: fixed;
	bottom: 70px;
	right: 25px;
	z-index: 99999;
	display: block;
}

.pagetop a { 
	display: block;
	width: 51px;
	height: 200px;
	background-image: url("../images/common/p_top.png");
	background-repeat: no-repeat;
	background-position: top;
	transition: ease 0.5s all;
}

.pagetop a:hover { 
	cursor: pointer;
	background-image: url("../images/common/p_top_wh.png");
}

/* ***********  PAGE NAVI  LAYOUT  ************** */

.pagenav {
	width: 100%;
	margin: 50px 0;
	padding: 0;
	text-align: center;
	display: flex;
}

.pagenav .wp-pagenavi {
	width: auto;
	margin: 0 auto;
	display: inline-block;
}

.pagenav span {
	width: 2.3em;
	height: 2.3em;
	text-align: center;
	line-height: 2.3em;
	float: left;
	margin: 0 10px 0 0 0;
}

.pagenav a {
	width: 2.3em;
	height: 2.3em;
	line-height: 2.3em;
	text-decoration: none;
	color: #000;
	text-align: center;
	display: block;
	float: left;
}

.pagenav a.first,
.pagenav a.last { width: 4em; }

.pagenav a:hover { opacity: 0.7; }
.pagenav.column a {	background-color: #FFF;border: #07328f 1px solid;box-sizing: border-box; }
.pagenav .wp-pagenavi { width: auto;margin: 0 auto;text-align: center; }
.pagenav .wp-pagenavi .pages { border: none;font-style: italic;display: none; }
.pagenav .wp-pagenavi .pages:before { content: "Page - "; }
.pagenav .wp-pagenavi .current { background-color: #07328f;color: #FFF;font-weight: 700;margin: 0 10px 0 0 0; }

/* **************************************************************** */
/*  RESPONSIVE  RAYOUT  MAX-WIDTH 1400px */
/* **************************************************************** */

@media only screen and (max-width: 1400px) {

.content .content_title { font-size: 4vw; }

.content .main_img {
	height: 350px;
}

}

/* **************************************************************** */
/*  RESPONSIVE  RAYOUT  MAX-WIDTH 1100px */
/* **************************************************************** */

@media only screen and (max-width: 1100px) {

.head .bar_block {
	display: none;
}

.content .inner {
	width: 90%;
	margin: 0;
	padding: 0 5%;
}

}

/* **************************************************************** */
/*  RESPONSIVE  RAYOUT  MAX-WIDTH 880px */
/* **************************************************************** */

@media only screen and (max-width: 880px) {

.content .main_img { height: 400px; }

.foot .bar_area { height: auto;margin: 0;padding: 0 0 50px; }
.foot .bar_area .glid { width: 100%;margin: 50px 0 0; }
.foot .bar_area .glid a { width: 80%;margin: 50px 10% 0; }
.foot .bar_area .glid.contact a { margin: 20px 10%; }

}

/* **************************************************************** */
/*  RESPONSIVE  RAYOUT  MAX-WIDTH 780px */
/* **************************************************************** */

@media only screen and (max-width: 780px) {

.head { background: linear-gradient(90deg, #FFF 0%, #FFF 300px, #FFF 60%); }
.head .h_logo { width: 240px;margin: 20px 0 0 20px; }
.head .h_logo dd { font-size: 13px;letter-spacing: 0; }
.head .h_logo dt img { width: 130px; }

.head .search_box { display: none; }

.head .language a { border: #3B3B3B 2px solid;box-sizing: border-box;line-height: 27px; }
.head .language a:hover { color: #3B3B3B;background-color: #FFF; }

}

/* **************************************************************** */
/*  RESPONSIVE  RAYOUT  MAX-WIDTH 580px */
/* **************************************************************** */

@media only screen and (max-width: 580px) {

.head .language {
	top: 0px;
	right: 5px;
	position: absolute;
	display: block;
}

.content .main_img { height: 300px; }

.foot dl dt img { width: 130px; }
.foot dl dd { font-size: 14px; }

.foot .bar_area .glid a {
	height: 80px;
	background-size: 30px;
}

.foot .bar_area .glid.contact a {
	background-size: 25px;
	background-position: center left 43px;
}

.foot .bar_area .glid a .cover {
	padding: 10px 0;
	font-size: 14px;
}

.pagetop { bottom: 20px;right: 15px; }
.pagetop a { width: 40px;height: 160px;background-size: 40px;background-position: bottom; }

.content .content_title { font-size: 30px; }
.content .content_title h1 { font-size: 18px;margin: 10px 0 0; }

}


/* **************************************************************** */
/*  RESPONSIVE  RAYOUT  MAX-WIDTH 480px */
/* **************************************************************** */

@media only screen and (max-width: 480px) {

.head .language { width: 70px; }
.head .language li.act { display: none; }
.head .language li { top: 0; }
.head .language a { border-radius: 15.5px; }

.foot .bar_area .glid a { background-position: center left 20px; }
.foot .bar_area .glid.contact a { background-position: center left 23px; }

}