@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@700&display=swap');
/* Body
------------------------------ */
html {
	overflow-x: hidden;
	font-size: 62.5%;
}
body {
	color: #000000;
	font-family: "Noto Sans JP","YakuHanJPs", "Hiragino Kaku Gothic Pro", "Hiragino Sans",
				 "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Meiryo", sans-serif;
	font-weight: normal;
	font-size: 1.6em;
	font-weight: 300;
	line-height: 1.88;
	letter-spacing: .04em;
	text-size-adjust: 100%;
	margin: 0;
	animation: fadeIn 0.4s ease-in 0s 1 normal;
}
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
a {
	text-decoration: none;
	transition: 0.25s ease;
}
ul,ol {
	letter-spacing: -0.4em;
	line-height: 0;
}
li {
	letter-spacing: normal;
	vertical-align: top;
	line-height: 188%;
}
img {
	vertical-align: top;
	max-width: 100%;
	width: 100%;
	height: auto;
}
h1,h2,h3{
	position: relative;
	color: #222;
	letter-spacing: 0.03em;
}

/* layout
------------------------------ */
@media screen and (min-width: 641px) {
	.wrapper {
		width: 1200px;
		/*padding: 0 15px;*/
	}
}
.wrapper {
	margin: 0 auto;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}
.layout_flex{
	display: flex;
}
.sb{
	justify-content: space-between;
}
.pict_r_contents{
	flex-direction: row-reverse;
}
.center {
	text-align: center;
}

/* Header
------------------------------ */
.contents {
	position: relative;
}
header {
	position: relative;
	width: 100%;
	top: 0;
	z-index: 10;
	background: rgba(255, 255, 255, 0.86);
}
header > div.wrapper > div.layout_flex{
	padding: 10px 0 22px;
	align-items: center;
}
.logo {
	display: block;
	font-size: 0;
	background: url(../images/common/logo.svg) no-repeat center center;
	background-size: contain;
	transition: opacity 0.3s;
}
.logo:hover {
	opacity: 0.7;
}
@media screen and (min-width: 641px) {
	header .flex_l {
		margin: 10px 20px 19px;
	}
	header p {
		font-size: 10px;
		color: #7B7B7B;
		margin: 0 0 15px 2px;
    	line-height: 1;
	}
	.logo {
		width: 461px;
		height: 48px;
	}
}

/* global navi
------------------------------ */
@media screen and (min-width: 641px) {
	#gnav ul li {
		padding: 41px 15px;
		width: auto;
	}
	#gnav ul li:last-of-type{
		padding-right: 37px;
	}
	#gnav ul li a{
		position: relative;
		display: block;
		font-size: 1.6rem;
		font-weight: 500;
		color: #000;
		text-align: center;
		letter-spacing: 0.08em;
		line-height: 1;
		transition: all 0.2s ease-in;
		white-space: nowrap;
	}
	#gnav ul li a::after {
	    content: "";
	    position: absolute;
	    display: block;
	    width: 0;
	    transition: width 0.3s;
	    border-bottom: 4px solid #2751A0;
	    bottom: -20px;
	}
	#gnav ul li a:hover:after {
	    width: 100%;
	}
	/* fixed header */
	header.fixed{
		position: fixed;
		top: 0;
		left: 0;
		box-shadow: 0 0 3px rgba(0,0,0,.75);
	}
	header.fixed > .wrapper{
		display: none;
	}
	.customize-support header.fixed{
		top: 32px!important;
	}
}
@media screen and (max-width: 1370px) {
	#gnav ul li {
	    padding: 41px 9px;
	}
	#gnav ul li:last-of-type {
	    padding-right: 20px;
	}
	#gnav ul li a {
		font-size: 1.5rem;
	}
}

/* slider
------------------------------ */
.topslider {
	line-height: 0;
	opacity: 0;
}
.topslider.slick-initialized {
	opacity: 1;
}
.topslider .slick-slide {
	position: relative;
}
.topslider01 {
	background: url(../images/top/slider01.jpg)no-repeat;
	background-size: cover;
}
.topslider02 {
	background: url(../images/top/slider02.jpg)no-repeat;
	background-size: cover;
}
.topslider03 {
	background: url(../images/top/slider03.jpg)no-repeat;
	background-size: cover;
}
.topslider04 {
	background: url(../images/top/slider04.jpg)no-repeat;
	background-size: cover;
}
.topslider .slider{
	position: relative;
	width: 100%;
	overflow: hidden;
}
.topslider .text {
	position: absolute;
	display: block;
}
.topslider .text p {
	color: #323333;
	background: #fff;
	font-weight: 600;
	padding-left: 11px;
	box-sizing: border-box;
}
.topslider .text p:nth-of-type(2) {
	max-width: 442px;
}
.topslider .text p:last-of-type {
	max-width: 543px;
	margin-bottom: 0;
}

@media screen and (min-width: 641px) {
	.topslider .slider{
		height: 700px;
	}
	.topslider .text{
		max-width: 700px;
		height: 224px;
		bottom: 87px;
		left: 140px;
	}
	.topslider .text p {
		font-size: 4.8rem;
		height: 64px;
		line-height: 62px;
		letter-spacing: 5px;
		margin-bottom: 16px;
	}
}

/* Common
------------------------------ */
table {
	width: 100%;
}
.btn{
	position: relative;
	display: inline-block;
	width: 285px;
	height: 70px;
	color: #FFF;
	font-weight: 600;
	line-height: 68px;
	text-align: center;
	background: #2751A0;
}
.btn::before, .btn.white::before{
	position: absolute;
	content: "";
	width: 48px;
	height: 1px;
	background: #fff;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
}
.btn::after, .btn.white::after {
	position: absolute;
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #fff;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 46px;
}
.btn.white::before,
.btn.white::after{
	background: #2751A0;
}
.btn:hover{
	background: #677AAC;
}
.btn:hover::after {
	transform: scale(1.8);
	transition: .3s;
}
.btn.contact {
	display: block;
    width: 241px;
    height: 105px;
    line-height: 98px;
    text-align: center;
    border-radius: 0;
}
.btn.contact::before{
	content: "";
	position: relative;
	display: inline-block;
	width: 24px;
	height: 17px;
	vertical-align: text-top;
	background: url(../images/common/icon_mailW.svg) no-repeat center center;
	background-size: contain;
	top: 4px;
	margin-right: 20px;
}
.btn.contact::after {
	display: none;
}
.btn.white {
	width: 285px;
	height: 70px;
	background: #fff;
	color: #294986;
	line-height: 68px;
	margin-top: 70px;
}
.btn.center{
	display: block;
	margin: 0 auto;
}
.tel{
	position: relative;
	display: block;
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.01em;
}
.tel a{
	color: #000;
}
@media screen and (min-width: 641px) {
	.tel {
		font-size: 3.4rem;
	}
	.tel::before{
		width: 16px;
		height: 24px;
	}
}
.hour{
	position: relative;
	display: block;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.5;
}
.caution {
	position: relative;
	display: block;
	padding-left: 1rem;
	text-indent: -1rem;
}
.caution::before {
	content: "※";
}
.text_link{
	position: relative;
}
.text_link::after{
	content: "";
	position: absolute;
	height: 1px;
	width: 0;
	background-color: #000;
	left: 0;
	bottom: 0;
	transition: .25s;
}
.text_link:hover:after {
	width:100%;
}
figure{
	margin: 0;
}
.fw_6{
	font-weight: 600;
}
.fw_5{
	font-weight: 500;
}
.mt_20 {
	display: block;
	margin-top: 20px;
}
.mb_30 {
	content: "";
	display: block;
	margin-bottom: 30px;
}
.center {
	text-align: center;
}

@media screen and (max-width: 1280px) {
	.btn.contact {
	    width: 190px;
	}
}

/* index common
------------------------------ */
.top_section{
	position: relative;
	display: block;
	letter-spacing: 0;
}
.index_h2 h2 {
	font-weight: 600;
}
.index_h2 h2.white {
	color: #fff;
}
.index_h2 p{
	position: relative;
    display: block;
    height: 15px;
    padding-bottom: 15px;
    margin-bottom: 10px;
    font-size: 0;
}
.index_h2 p::after {
	content: "";
	position: absolute;
	background: #007440;
	width: 100%;
	height: 1px;
	bottom: -10px;
}
.index_h2 p.white::after {
	content: "";
	position: absolute;
	background: #fff;
	width: 100%;
	height: 1px;
	bottom: -10px;
}
.index_h2.center p::after {
	margin: auto;
    left: 0;
    right: 0;
}
@media screen and (min-width: 641px) {
	.index_h2 h2 {
		font-size: 3.4rem;
		margin-top: 47px;
	}
}
.top_section a.btn{
	margin-top: 70px;
}

/* index 
------------------------------ */
#index_wwa {
	padding-top: 130px;
}
#index_wwa::before {
	position: absolute;
	content: "";
	background: #ECECEC;
	width: 498px;
	height: 630px;
	top: 0;
	left: 0;
	z-index: -1;
}
#index_wwa .first_contents {
	position: relative;
	padding-bottom: 130px;
}
#index_wwa .first_contents::after {
	position: absolute;
	content: "";
	background: url(../images/top/logo_bg.svg)no-repeat;
	background-size: contain;
	width: 440px;
    height: 227px;
    bottom: 60px;
    right: -80px;
    z-index: -1;
}
#index_wwa .first_contents .layout_flex {
	gap: 0 80px;
}
#index_wwa .pict {
	position: relative;
	width: 100%;
	max-width: 470px;
	height: 620px;
}
#index_wwa .index_h2 p {
	background: url(../images/top/en_who_we_are.svg)no-repeat center center;
	background-size: contain;
	width: 119px;
}
#index_wwa .intro {
	margin-top: 56px;
}
#index_wwa ul {
}
#index_wwa ul li{
	width: 34%;
	height: 660px;
	color: #fff;
	text-align: center;
	background: url(../images/top/what_we_do_bg.jpg)no-repeat center center;
	background-size: cover;
	padding: 170px 100px 80px;
}
#index_wwa ul li:nth-of-type(2) {
	background: url(../images/top/facility_bg.jpg)no-repeat center center;
	background-size: cover;
}
#index_wwa ul li:nth-of-type(3) {
	background: url(../images/top/company_bg.jpg)no-repeat center center;
	background-size: cover;
}
#index_wwa ul li .index_h3 h3 {
	color: #fff;
	font-size: 4rem;
}
#index_wwa ul li .index_h3 h3::before {
	position: absolute;
	content: "";
	width: 1px;
	height: 57px;
	background: #fff;
	margin: auto;
	top: -94px;
	left: 0;
	right: 0;
}
#index_wwa ul li .index_h3 p {
	position: relative;
    display: block;
    width: 95px;
    height: 20px;
    font-size: 0;
    background: url(../images/top/en_what_we_do.svg)no-repeat center center;
	background-size: contain;
	margin: 20px auto 0;
}
#index_wwa ul li:nth-of-type(2) .index_h3 p {
    width: 66px;
    background: url(../images/top/en_facility.svg)no-repeat center center;
	background-size: contain;
}
#index_wwa ul li:nth-of-type(3) .index_h3 p {
    width: 71px;
    background: url(../images/top/en_company.svg)no-repeat center center;
	background-size: contain;
}
#index_wwa ul li p.center {
	max-width: 320px;
	margin: 70px auto 0;
}
#index_works {
	padding: 100px 0 140px;
}
#index_works::after {
	position: absolute;
    content: "";
    display: block;
    width: 73%;
    height: 750px;
    background: #2751A0;
    z-index: -1;
    top: 0;
    right: 0;
}
#index_works .index_h2 p {
	background: url(../images/top/en_works.svg)no-repeat center center;
	background-size: contain;
	width: 66px;
	margin: auto;
}
#index_works ul {
	margin-top: 40px;
	height: 300px;
}
#index_works ul li {
	width: 450px;
}
#index_works .index_h2 h2 {
	margin-top: 20px;
}
#index_works .slick-slide {
  	width: 450px!important;
    height: 300px !important;
}
#index_news {
	background: url(../images/top/news_bg.jpg)no-repeat center center;
	background-size: cover;
}
#index_news .index_h2 {
	position: relative;
	text-align: left;
}
#index_news .index_h2 p {
	background: url(../images/top/en_news.svg)no-repeat center center;
	background-size: contain;
	width: 52px;
}
#index_news a.btn.sp_none {
	margin-top: 60px;
}
#index_news .news_list p.date {
	font-weight: 600;
	color: #fff;
	font-size: 1.4rem;
	margin-right: 21px;
}
.index_news_instagram {
	width: 100%;
	max-width: 50px;
	margin-top: 30px;
}
.news_list p.tag {
	color: #294986;
	font-size: 1.4rem;
	background: #fff;
	padding: 4px 20px 6px;
	margin-right: 25px;
}
#index_news .news_list h3 {
	color: #fff;
}
#index_news .news_list li {
	position: relative;
	width: 833px;
	padding: 19px 0 20px;
	border-bottom: 1px solid #fff;
	line-height: 1.3;
	align-items: center;
	cursor: pointer;
}
#index_news .news_list li::before {
	position: absolute;
    content: "";
    width: 52px;
    height: 1px;
    background: #fff;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
}
#index_news .news_list li::after {
	position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
}
#index_news .news_list li:hover {
	background: rgba(255, 255, 255, .3);
	transition: .3s;
}
#index_news .news_list li:hover::after {
/*	transform: scale(1.8);*/
	right: 48px;
    transition: .3s;
}
#index_news .news_list li:first-of-type {
	border-top: 1px solid #fff;
}
#index_news .news_list li a .layout_flex {
	align-items: center;
}
@media screen and (min-width: 641px) {
	.index_news_instagram a:hover {
		opacity: .7;
	}
}
#index_access .fl_l{
	width: 44%;
	height: 690px;
	padding: 120px 0 305px 10%;
	background: url(../images/top/access_bg.jpg)no-repeat center bottom -30px;
	background-size: contain;
}
#index_access .index_h2 p {
	background: url(../images/top/en_access.svg)no-repeat center center;
	background-size: contain;
	width: 70px;
}
#index_access .fl_l p.address {
	margin-top: 47px;
}
#index_access .fl_l p span {
	font-size: 2rem;
}
#index_access .gg_map{
	width: 56%;
}
#index_access .gg_map iframe {
	width: 100%;
	height: 690px;
}
#index_recruit {
	padding: 120px 0;
	background: #ECECEC;
}
#index_recruit .index_h2 p {
	background: url(../images/top/en_recruit.svg)no-repeat center center;
	background-size: contain;
	width: 79px;
}
#index_recruit p.intro {
	margin-top: 50px;
}
#index_recruit .pict.top {
	position: absolute;
	max-width: 714px;
	width: 100%;
	height: 451px;
	top: 0;
	right: 0;
	z-index: 1;
}
#index_recruit .pict.bottom {
	position: absolute;
	max-width: 673px;
	width: 100%;
	height: 389px;
	bottom: -224px;
    right: 150px;
    z-index: 1;
}
#index_recruit::after {
	position: absolute;
    content: "";
    background: #2751A0;
    width: 510px;
    height: 528px;
    right: 0;
    bottom: -363px;
}

@media screen and (min-width: 641px) {
	#index_wwa .text_box {
		width: 600px;
	}
	#index_news {
		padding: 111px 0 130px;
	}
	#index_access {
		height: 690px;
	}
	#index_recruit {
		padding: 120px 0;
	}
}
@media screen and (max-width: 1508px) {
	#index_wwa ul li{
		padding: 170px 80px 80px;
	}
}
@media screen and (max-width: 1388px) {
	#index_wwa ul li{
		padding: 170px 60px 80px;
	}
}

/* sub common
------------------------------ */
.main_title{
	position: relative;
}
.main_title::after{
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 360px;
	top: 0;
	background: linear-gradient(90deg, 
	rgba(39, 81, 160, 0.98) 14.58%, rgba(39, 81, 160, 0.00) 85%);
}
.main_title .inner{
	position: relative;
	display: block;
	width: 100%;
	padding: 150px 0 160px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.main_title .sub_h1{
	position: relative;
	color: #fff;
	line-height: 1;
	letter-spacing: .1em;
	font-weight: 700;
	z-index: 1;
}
.main_title .sub {
    position: absolute;
    font-size: 0;
    bottom: 0;
    height: 69px;
    z-index: 1;
}
.sub_h2 {
	text-align: center;
}
.sub_h2 h2 {
	font-weight: 600;
}
.sub_h2 h2.white {
	color: #fff;
}
.sub_h2 p{
	position: relative;
    display: block;
    height: 15px;
    padding-bottom: 25px;
    margin: 0 auto 12px;
    font-size: 0;
}
.sub_h2 p::after {
	content: "";
	position: absolute;
	background: #007440;
	width: 100%;
	height: 1px;
	margin: auto;
	bottom: 0;
	left: 0;
	right: 0;
}
.sub_h2 p.white::after {
	content: "";
	position: absolute;
	background: #fff;
	width: 100%;
	height: 1px;
	bottom: 0;
}
.sub_section h3{
	line-height: 1.5;
	margin-bottom: 38px;
}
.sub_section h4{
	font-size: 2.4rem;
	letter-spacing: 0.03em;
	line-height: 100%;
}
.sub_section dl{
	border-bottom: 1px solid #D9D9D9;
}
.sub_section table{
	width: 100%;
}
.sub_section table tr th{
	font-weight: 400;
	text-align: left;
	color: #2751A0;
	background: #ECECEC;
	border-bottom: 1px solid #fff;
}
.sub_section table tr td{
	border-top: 1px solid #CBCBCB;
	border-right: 1px solid #CBCBCB;
	border-bottom: 1px solid #CBCBCB;
}
.sub_section table tr:first-of-type th {
	border-top: 1px solid #ECECEC;
}
.sub_section table tr:last-of-type th {
	border-bottom: 1px solid #ECECEC;
}
.sub_section .tel_box{
	position: relative;
	display: flex;
	background: #F7F7F7;
	align-items: center;
	justify-content: center;
	gap: 0 25px;
}
.bg_gray {
	background: #ECECEC;
}
.circle {
	position: relative;
    display: inline-block;
    background: url(../images/common/circle.svg)no-repeat;
    background-size: contain;
    width: 10px;
    height: 10px;
    margin-right: 8px;
    top: -1px;
}	

@media screen and (min-width: 641px) {
	.main_title .sub_h1{
		font-size: 5rem;
	}
	.sub_section{
		position: relative;
		padding-top: 130px;
		letter-spacing: 0;
	}
	.sub_section:first-of-type,
	.pt90{
		padding-top: 90px;
	}
	.sub_section.pt0{
		padding-top: 0;
	}
	.sub_h2 h2{
		font-size: 3.4rem;
		line-height: 1.5;
		margin-bottom: 60px;
	}
	.sub_section h3{
		font-size: 2.6rem;
		line-height: 1;
	}
	.sub_section dl dt,
	.sub_section dl dd{
		line-height: 1.75;
		padding: 17px 0 18px;
	}
	.sub_section table tr th{
		width: 255px;
		font-weight: 600;
		padding: 17px 21px 20px 18px;
	}
	.sub_section table tr td{
		width: 845px;
		padding: 17px 21px 20px 18px;
	}
	.sub_section .tel_box{
		height: 140px;
		padding-left: 40px;
	}
	.sub_section .tel_box .tel{
		font-size: 4rem;
	}
	.sub_section .tel_box .hour{
		font-size: 1.6rem;
		margin-left: 1rem;
	}
}

/* Breadcrumb
------------------------------ */
@media screen and (min-width: 641px) {
	.bread_crumb{
		padding: 6px 0 10px;
	}
}
.bread_crumb{
	position: relative;
	text-align: right;
}
.bread_crumb span,.bread_crumb a{
	display: inline-block;
	font-size: 1.2rem;
	line-height: 1;
}
.bread_crumb a{
	color: #2751A0;
	margin-right: 8px;
}
.bread_crumb a:hover{
	color: #000;
}
.bread_crumb a::after{
	content: "";
	background: url(../images/common/bc_arrow.svg)no-repeat;
    display: inline-block;
    vertical-align: middle;
    width: 8px;
    height: 12px;
    margin-left: 10px;
}

/* service
------------------------------ */
#service .main_title .inner {
	background-image: url(../images/company/maintitle_company.jpg);

}
#service .main_title .sub {
    background: url(../images/service/main_title_en_service.svg)no-repeat;
    background-size: contain;
    width: 381px;
}
#service_strength {
	padding-bottom: 180px;
}
.strength_contents {
	position: relative;
	padding-bottom: 100px;
}
.strength_02.strength_contents{
	padding-top: 116px;
}
.strength_03.strength_contents {
	padding: 116px 0 140px;
}
.strength_contents::after {
	position: absolute;
	content: "";
	background: #ECECEC;
	width: 452px;
	height: 560px;
	right: 0;
	top: 0;
	z-index: -1;
}
.strength_01.strength_contents::after {
	height: 700px;
	top: -284px;
}
.strength_02.strength_contents::after {
	right: unset;
	left: 0;
}
#service_strength .text_box {
	max-width: 574px;
}
#service_strength .sub_h2 p {
	background: url(../images/service/en_strength.svg)no-repeat;
    background-size: contain;
    width: 95px;
}
#service_strength .strength_h3 h3 {
	letter-spacing: -0.01em;
	line-height: 45px;
	margin-bottom: 50px;
}
#service_strength .strength_h3 p {
	position: relative;
    display: block;
    font-size: 0;
	background: url(../images/service/en_strength.svg)no-repeat;
    background-size: contain;
    width: 86px;
    height: 18px;
    margin: 38px 0;
}
#service_strength .strength_h3 p::after {
	content: "";
	position: absolute;
    display: block;
    font-size: 0;
	background: url(../images/service/tri_01.svg)no-repeat;
    background-size: contain;
    width: 136px;
    height: 76px;
    margin: auto;
    left: 101px;
    top: -23px;
    bottom: 0;
}
#service_strength .strength_02 .strength_h3 p::after {
	background: url(../images/service/tri_02.svg)no-repeat;
    background-size: contain;
}
#service_strength .strength_03 .strength_h3 p::after {
	background: url(../images/service/tri_03.svg)no-repeat;
    background-size: contain;
}
#service_strength .text_box p {
	line-height: 35px;
}
#service_strength .text_box p.blank {
	margin-top: 50px;
}
#service_strength .pict {
	position: relative;
	max-width: 530px;
	width: 100%;
	height: 630px;
}
ul.service_works_slider .slick-slide {
    width: 450px!important;
    height: 300px !important;
    margin-right: 18px;
}
#jump_link {
	display: block;
    position: relative;
    padding-top: 110px;
    margin-top: -110px;
}
#service_wwcd {
	position: relative;
	padding: 76px 0 180px;
    background: #ECECEC;
}
#service_wwcd::before {
	content: "";
	position: absolute;
	background: #2751A0;
	width: 100%;
	height: 330px;
	top: 0;
	z-index: 0;
}
#service_wwcd .sub_h2 p {
	background: url(../images/service/en_wwcd.svg)no-repeat;
    background-size: contain;
    width: 163px;
}
#service_wwcd ul {
	position: relative;
	gap: 70px 60px;
	flex-wrap: wrap;
	z-index: 1;
}
#service_wwcd ul li {
	width: 570px;
	background: #fff;
}
#service_wwcd ul li figure {
	max-width: 570px;
	width: 100%;
	height: 360px;
}
#service_wwcd ul li .text_box {
	position: relative;
	padding: 40px 40px 78px;
}
#service_wwcd ul li .text_box::after {
	content: "";
	position: absolute;
	background: url(../images/service/wwcd_01.svg)no-repeat;
    background-size: contain;
    width: 70px;
    height: 64px;
    right: 25px;
    bottom: -2px;
}
#service_wwcd ul li:nth-of-type(2) .text_box::after {
	background: url(../images/service/wwcd_02.svg)no-repeat;
    background-size: contain;
    width: 78px;
}
#service_wwcd ul li:nth-of-type(3) .text_box::after {
	background: url(../images/service/wwcd_03.svg)no-repeat;
    background-size: contain;
    width: 79px;
}
#service_wwcd ul li:nth-of-type(4) .text_box::after {
	background: url(../images/service/wwcd_04.svg)no-repeat;
    background-size: contain;
    width: 81px;
}
#service_wwcd ul li:nth-of-type(5) .text_box::after {
	background: url(../images/service/wwcd_05.svg)no-repeat;
    background-size: contain;
    width: 80px;
}
#service_wwcd ul li:nth-of-type(6) .text_box::after {
	background: url(../images/service/wwcd_06.svg)no-repeat;
    background-size: contain;
    width: 80px;
}
#service_wwcd .text_box figcaption {
	text-align: center;
	font-size: 2.6rem;
	font-weight: 600;
}
#service_wwcd .text_box p {
	margin-top: 26px;
	line-height: 2.1;
}

@media screen and (min-width: 641px) {
	#service_strength .strength_h3 {
		margin-top: 68px;
	}
}
@media screen and (max-width: 1401px) {
	#service_strength .slick-slider {
		height: 300px;
	}
}

/* company
------------------------------ */
#company .main_title .inner{
	background-image: url(../images/company/maintitle_company.jpg);
}
#company .main_title .sub {
    background: url(../images/company/main_title_en_company.svg)no-repeat;
    background-size: contain;
    width: 435px;
}
#company_greeting {
	padding-bottom: 140px;
}
#company_greeting::before {
	content: "";
	position: absolute;
	background: url(../images/top/logo_bg.svg)no-repeat;
    background-size: contain;
    width: 440px;
    height: 227px;
    bottom: 71px;
    left: 80px;
    z-index: -1;
}
#company_greeting .sub_h2 p {
	background: url(../images/company/en_greeting.svg)no-repeat;
    background-size: contain;
    width: 88px;
}
#company_greeting .pict {
	max-width: 330px;
	width: 100%;
	height: 425px;
}
#company_greeting .text_box {
	max-width: 802px;
	line-height: 2.2;
}
#company_greeting .text_box p.name {
	background: url(../images/company/name.svg)no-repeat;
    background-size: contain;
    width: 242px;
    height: 19px;
    font-size: 0;
    display: block;
    margin: 49px 0 0 auto;
}
#company_facilities .sub_h2 p {
	background: url(../images/company/en_facilities.svg)no-repeat;
    background-size: contain;
    width: 98px;
}
#company h3.h3_line{
	line-height: 1.5;
	padding-left: 17px;
	margin-bottom: 24px;
}
#company h3.h3_line::before {
	content: "";
	position: absolute;
	width: 7px;
	height: 30px;
	background: url(../images/company/h3_line.svg)no-repeat;
    background-size: contain;
	top: 5px;
	left: 0;
}
#company_facilities {
	padding-bottom: 140px;
}
#company_facilities .box,
#company_facilities .wide_box {
	padding-top: 70px;
}
#company_facilities .box:first-of-type {
	padding-top: 0;
}
#company_facilities .box ul li .text_box {
	background: #fff;
	padding: 20px 20px 35px;
}
#company_facilities .box ul li figcaption,
#company_facilities .wide_box ul li figcaption {
	font-size: 2rem;
	font-weight: 600;
	padding-bottom: 14px;
	border-bottom: 1px solid #2751A0;
}
#company_facilities .box ul li .accordion {
	margin-top: 20px;
}
#company_facilities .box ul li .accordion_btn {
	position: relative;
	text-align: center;
	height: 60px;
	line-height: 58px;
	width: 100%;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid #CBCBCB;
}
#company_facilities .box ul li .accordion_btn::after {
	content: "";
	position: absolute;
	width: 17px;
	height: 17px;
	background: url(../images/company/circle_arrow.svg)no-repeat;
    background-size: contain;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 20px;
}
#company_facilities .box ul li .accordion_btn.active::after {
	transform: rotate(180deg);
	transition: .3s;
}
#company_facilities .box ul li .accordion_box {
	display: none;
	background: #fff;
	margin-top: 30px;
}
#company dl {
	display: flex;
	border-bottom: 0;
}
#company dl dt {
	width: 25%;
	display: inline-flex;
	align-items: center;
	background: #2751A0;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 600;
	padding: 4px 10px 5px;
	border-bottom: 1px solid #fff;
}
#company dl dd {
	width: 75%;
	font-size: 1.4rem;
	padding: 4px 12px 5px;
	border-right: 1px solid #ECECEC;
	border-bottom: 1px solid #ECECEC;
}
#company dl dt.top {
	align-items: baseline;
}
#company dl:first-of-type dt {
	border-top: 1px solid #2751A0;
}
#company dl:last-of-type dt {
	border-bottom: 1px solid #2751A0;
}
#company dl:first-of-type dd {
	border-top: 1px solid #ECECEC;
}
#company dl dd p {
	display: flex;
	justify-content: space-between;
}
#company_facilities .wide_box ul {
	background: #fff;
	padding: 40px 30px 50px;
	flex-wrap: wrap;
	gap: 40px 50px;
}
#company_facilities .wide_box ul li {
	width: 545px;
}
#company_facilities .wide_box ul li .text_box {
	margin-top: 20px;
}
#company_facilities .wide_box dl dt,
#company_facilities .wide_box dl dd {
	font-size: 1.6rem;
	padding: 11px 12px;
}
#company_outline .sub_h2 p {
	background: url(../images/company/en_company_outline.svg)no-repeat;
    background-size: contain;
    width: 160px;
}
#company_outline dl dt,
#company_outline dl dd {
	padding: 16px 20px;
}
#company_access {
	padding-bottom: 140px;
}
#company_access .sub_h2 p {
	background: url(../images/company/en_access.svg)no-repeat;
    background-size: contain;
    width: 68px;
}
#company_history {
	padding: 105px 0 180px;
}
#company_history .sub_h2 p {
	background: url(../images/company/en_history.svg)no-repeat;
    background-size: contain;
    width: 77px;
}
#company_history table {
	background: #fff;
}
#company_history table tr {
	border-top: 1px solid #CBCBCB;
}
#company_history table tr:last-of-type {
	border-bottom: 1px solid #CBCBCB;
}
#company_history table tr th {
	position: relative;
	font-weight: 600;
	background: #fff;
	border-bottom: 0;
	max-width: 261px;
    padding: 26px 21px 26px 20px;
    box-sizing: border-box;
}
#company_history table tr th::after {
	position: absolute;
    content: "";
    background: #CBCBCB;
    width: 1px;
    height: 60%;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
}
#company_history table tr:first-of-type th {
    border-top: 0;
}
#company_history table tr td {
	border-top: 0;
    border-right: 0;
    border-bottom: 0;
    max-width: 839px;
    padding: 26px 21px 26px 25px;
    box-sizing: border-box;
    line-height: 1.6;
}


@media screen and (min-width: 641px) {
	#company_facilities .box ul li {
		width: 376px;
	}
	#company_outline dl dt,
	#company_outline dl dd {
		font-size: 1.6rem;
	}
	#company_outline dl dt {
		width: 230px;
	}
	#company_outline dl dd {
		width: 970px;
	}
	#company_outline dl dd ul {
		display: flex;
		gap: 0 92px;
		margin-bottom: 10px;
	}
	#company_history table {
		width: 1100px;
		margin: auto;
	}
}


/* recruit
------------------------------ */
#recruit .main_title .inner{
	background-image: url(../images/recruit/maintitle_recruit.jpg);
}
#recruit .main_title .sub {
    background: url(../images/recruit/main_title_en_recruit.svg)no-repeat;
    background-size: contain;
    width: 385px;
}
#recruit_message {
	padding-top: 68px;
}
#recruit_message::before {
	content: "";
    position: absolute;
    background: url(../images/recruit/recruit_message_bg.jpg)no-repeat center center;
    background-size: contain;
    width: 100%;
    height: 520px;
    z-index: -1;
}
#recruit_message .text_box {
	width: 100%;
    max-width: 1000px;
    padding: 40px 100px 62px;
    background: #fff;
    border-right: 4px solid #2751A0;
    border-bottom: 4px solid #2751A0;
    margin: 294px auto 0;
}
#recruit_message .text_box h2 {
	position: relative;
    display: block;
    font-size: 0;
	background: url(../images/recruit/en_message.svg)no-repeat;
    background-size: contain;
    width: 197px;
    height: 34px;
    margin: 0 auto 38px;
}
#recruit_message .text_box p {
	line-height: 2.1;
}
#recruit_work {
	padding-bottom: 140px;
}
#recruit_work::after {
	content: "";
	position: absolute;
	background: #ECECEC;
	width: 529px;
	height: 332px;
	right: 0;
	bottom: 0;
	z-index: -1;
}
#recruit_work .sub_h2 p {
	background: url(../images/recruit/en_recruit_work.svg)no-repeat;
    background-size: contain;
    width: 54px;
}
#recruit_work .text_box {
	max-width: 561px;
	line-height: 2.1;
}
#recruit_work .pict {
	max-width: 573px;
	width: 100%;
	height: 390px;
}
#recruit_person {
	background: #2751A0;
	padding: 78px 0 0;
}
#recruit_person .sub_h2 p {
	background: url(../images/recruit/en_recruit_person.svg)no-repeat;
    background-size: contain;
    width: 72px;
}
#recruit_person .white_box {
	position: relative;
	background: #fff;
	padding: 55px 50px 79px;
	z-index: 0;
}
#recruit_person ul li {
	gap: 0 131px;
	border-bottom: 1px solid #2751A0;
	padding: 43px 0 40px 54px;
}
#recruit_person ul li:first-of-type {
	padding-top: 0;
}
#recruit_person ul li:last-of-type {
	padding-bottom: 0;
	border-bottom: 0;
}
#recruit_person ul li h3 {
	position: relative;
	line-height: 1.4;
	margin-bottom: 0;
}
#recruit_person ul li h3::before {
	position: absolute;
	content: "";
	background: url(../images/recruit/num_01.svg)no-repeat;
    background-size: contain;
    width: 70px;
    height: 64px;
    left: -40px;
    top: -20px;
    z-index: -1;
}
#recruit_person ul li:nth-of-type(2) h3::before {
	background: url(../images/recruit/num_02.svg)no-repeat;
    background-size: contain;
    width: 78px;
}
#recruit_person ul li:nth-of-type(3) h3::before {
	background: url(../images/recruit/num_03.svg)no-repeat;
    background-size: contain;
    width: 79px;
}
#recruit_person ul li h3::after {
	position: absolute;
	content: "";
	background: url(../images/recruit/icon_tool.svg)no-repeat;
    background-size: contain;
    width: 63px;
    height: 79px;
    right: -66px;
    top: 0;
    z-index: -1;
}
#recruit_person ul li:nth-of-type(2) h3::after {
	background: url(../images/recruit/icon_up.svg)no-repeat;
    background-size: contain;
    width: 95px;
    height: 80px;
    right: -103px;
}
#recruit_person ul li:nth-of-type(3) h3::after {
	background: url(../images/recruit/icon_handshake.svg)no-repeat;
    background-size: contain;
    width: 105px;
    height: 68px;
    right: -52px;
    top: 10px;
}
#kendo {
	padding-top: 120px;
}
#kendo .white_box,
#recreation .white_box {
	background: #fff;
	padding: 50px 50px 60px;
}
#kendo .white_box .pict_list,
#recreation .white_box .pict_list {
	max-width: 416px;
}
#kendo .white_box .pict_list .pict{
	width: 100%;
}
#kendo .white_box .pict_list .layout_flex {
	margin-top: 20px;
	gap: 20px;
	flex-wrap: wrap;
}
#kendo .white_box .pict_list .layout_flex .pict {
	max-width: 198px;
	width: 100%;
	height: 124px;
}
#kendo .white_box .text_box,
#recreation .white_box .text_box{
	max-width: 644px;
    letter-spacing: .01em;
    line-height: 2.1;
}
#kendo .white_box .text_box p.title,
#recreation .white_box .text_box p.title {
	line-height: 1;
	font-size: 2.6rem;
	font-weight: 600;
	margin-bottom: 20px;
}
#kendo .bottom {
	margin-top: 90px;
	justify-content: flex-end;
	gap: 0 13px;
	align-items: end;
}
#kendo .bottom .pict {
	max-width: 240px;
	width: 100%;
	height: 165px;
}
#recreation {
	padding-top: 70px;
}
#recreation .white_box .pict_list .pict {
	width: 100%;
	height: 210px;
}
#recreation .white_box .pict_list .pict:last-of-type {
	margin-top: 20px;
}
#recreation p.blank {
	margin-top: 40px;
}
#recruit_requirements .white_box {
	position: relative;
	background: #fff;
}
#recruit .sub_h2.bg_blue {
	max-width: 505px;
    display: flex;
    align-items: center;
    gap: 0 26px;
    background: #2751A0;
    padding: 19px 26px 20px;
}
#recruit .sub_h2.bg_blue p {
	background: url(../images/recruit/en_recruit_requirments.svg)no-repeat;
    background-size: contain;
    width: 140px;
    margin: 8px 0 0;
}
#recruit .sub_h2.bg_blue p.white::after {
    width: 168px;
    left: -26px;
}
#recruit .sub_h2.bg_blue h2 {
	margin-bottom: 0;
}
#recruit_requirements .requirements_box {
	padding: 60px 50px 80px;
}
#recruit_requirements dl {
	display: flex;
	justify-content: space-between;
	border: 0;
}
#recruit_requirements dl dt{
	width: 255px;
	color: #2751A0;
	font-weight: 600;
	padding: 25px 10px;
	border-bottom: 1px solid #2751A0;
}
#recruit_requirements dl:first-of-type dt {
	border-top: 1px solid #2751A0;
}
#recruit_requirements dl dd {
	width: 818px;
	padding: 25px 10px;
	border-bottom: 1px solid #CBCBCB;
}
#recruit_requirements dl:first-of-type dd {
	border-top: 1px solid #CBCBCB;
}
#recruit_requirements dl dd span{
	display: block;
	margin-bottom: 10px;
}
#bnr_mynavi a{
	position: relative;
	display: block;
	max-width: 330px;
	width: 100%;
	margin: auto;
}
/*#bnr_mynavi a::after {
	position: absolute;
	content: "";
	width: 68px;
    height: 33px;
	background: url(../images/recruit/bnr_arrow.svg)no-repeat;
    background-size: contain;
    margin: auto;
    top: 0;
    bottom: 0;
}*/
#bnr_mynavi a:hover {
	opacity: .7;
	transition: .3s;
}
#recruit_entry .sub_h2.bg_blue p {
	background: url(../images/recruit/en_recruit_entry.svg)no-repeat;
    background-size: contain;
    width: 57px;
    margin: 8px 0 0;
}
#recruit_entry .sub_h2.bg_blue p.white::after {
    width: 84px;
}
#recruit_entry .white_box{
	position: relative;
	background: #fff;
}
#recruit_entry p.intro {
	padding: 60px 50px 0;
}
#recruit_entry #mailformpro {
	padding: 40px 50px 80px;
}
#mailformpro table tr.radio_menu td ul {
	gap: 0 40px;
}
/* movie */
.recruit_movie{
	width: 100%;
	margin-top: 80px;
	justify-content: center;
}
.recruit_movie video{
	position: relative;
	display: block;
	max-height: 364px;
	height: 100%;
	margin: 0 auto;
}
.recruit_movie a{
	position: relative;
	display: block;
	max-width: 600px;
	width: 100%;
	height: auto;
	cursor: pointer;
}
.recruit_movie a:hover{
	opacity: .7;
}
.recruit_movie figcaption{
	color: #2751A0;
	font-weight: 600;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: .05em;
	text-align: center;
	margin-bottom: 16px;
}
.recruit_movie .caution{
	display: block;
	font-size: 1.4rem;
	line-height: 1;
	text-align: center;
	margin-top: 10px;
}

@media screen and (min-width: 641px) {
	#recruit_person ul li h3 {
		width: 268px;
		font-size: 2.6rem;
	}
	#recruit_person .pict_list {
		margin-top: 130px;
	}
	#bnr_mynavi {
		padding-top: 95px;
	}
	#bnr_mynavi a::after {
	    right: 70px;
	}
	#bnr_mynavi a:hover::after {
		right: 63px;
		transition: .3s;
	}
	#recruit_entry {
		padding-bottom: 180px;
	}
}



/* news - archive
------------------------------ */
#news .main_title .inner,
#thanks .main_title .inner,
#thanks_entry .main_title .inner,
#yonmaruyon .main_title .inner{
	background-image: url(../images/news/maintitle_news.jpg);
}
#news .main_title .sub {
    background: url(../images/news/main_title_en_news.svg)no-repeat;
    background-size: contain;
    width: 250px;
}
#news .contents {
	background: #ECECEC;
}
#news .bread_crumb::after {
	content: "";
    position: absolute;
    background: #ECECEC;
    width: 130vw;
    height: 48px;
    top: 0;
    left: -40%;
    z-index: -1;
}
#news .news_contents {
	background: #ECECEC;
	gap: 0 70px;
	justify-content: center;
	padding-bottom: 180px;
}
#news .archive ol li{
	background: #fff;
}
#news .archive ol li:first-of-type {
	margin-top: 0;
}
#news .archive ol li a{
	color: #2751A0;
}
#news .archive ol li .pict{
	width: 100%;
}
#news .archive ol li h2{
	color: #2751A0;
}
#news .archive ol li p.date{
	font-size: 1.4rem;
	font-weight: 600;
	color: #2751A0;
	margin-right: 21px;
	display: inline-block;
}
#news .archive ol li p.news_archive_cat{
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 500;
	color: #294986;
	border: 1px solid #294986;
	padding: 0px 20px;
	height: 30px;
	line-height: 28px;
}
#news .archive ol li p.outline{
	color: #000;
}

@media screen and (min-width: 641px) {
	#news article{
		width: 900px;
	}
	#news .archive ol li{
		line-height: 1.5;
		padding: 45px 45px 50px;
		margin-top: 60px;
	}
	#news .archive ol li a:hover{
		opacity: .7;
	}
	#news .archive ol li .pict{
		position: relative;
		display: block;
		max-width: 280px;
		height: auto;
	}
	#news .archive ol li .pict img{
		height: 196px;
		object-fit: contain;
	}
	#news .archive ol li .flex_r{
		width: 480px;
	}
	#news .archive ol li h2{
		font-size: 2rem;
	    margin: 14px 0 0;
	    text-align: left;
	    padding-bottom: 0;
	}
	#news .archive ol li h2::before,
	#news .archive ol li h2::after {
		display: none;
	}
	#news .archive ol li p.outline{
		line-height: 1.7;
		margin-top: 20px;
	}
}

/* news - single
------------------------------ */
#single01 {
	background: #fff;
	padding: 45px 45px 60px;
}
#single01 p.date{
	font-size: 1.4rem;
    font-weight: 600;
    color: #2751A0;
    margin-right: 21px;
    display: inline-block;
}
#single01 p.news_archive_cat{
	display: inline-block;
	font-size: 1.4rem;
	color: #294986;
	border: 1px solid #294986;
	padding: 0px 20px;
}
#single01 h1 {
	font-size: 2rem;
    color: #2751A0;
    font-weight: 600;
    padding-bottom: 15px;
    margin-top: 18px;
    line-height: 1.3;
    border-bottom: 1px solid #2751A0;
}
#single01 .content{
	clear: both;
	margin-top: 30px;
}
#single01 .content h2,#single01 .content h3,
#single01 .content h4{
	line-height: 1.5;
	margin-bottom: 15px;
}
#single01 .content h1{
	font-size: 2.4rem;
	line-height: 1.5;
	margin-bottom: 15px;
}
#single01 .content h2 {
    font-size: 2rem;
    text-align: left;
    padding-bottom: 0;
}
#single01 .content h2::before,
#single01 .content h2::after {
	display: none;
}
#single01 .content h3{
	font-size: 1.8rem;
	padding-bottom: 5px;
	border-bottom: 1px dashed #D9D9D9;
}
#single01 .content h4 {
	font-size: 1.6rem;
}
#single01 .content div,
#single01 .content p{
	clear: both;
}
#single01 .content img{
	max-width: 100%;
	width: auto;
	margin-bottom: 1.5rem;
}
#single01 .content img.aligncenter{
	display: block;
	margin: 0 auto 1.5rem;
}
#single01 .content img.alignright{
	float: right;
}
#single01 .content img:last-of-type{
	margin-bottom: 0;
}
@media screen and (min-width: 641px) {
	#single01 .pict{
		margin-top: 30px;
	}
	#single01 .content div,
	#single01 .content p{
		clear: both;
		line-height: 1.88;
		margin-bottom: 3rem;
	}
	#single01 .content div:last-of-type,
	#single01 .content p:last-child{
		margin-bottom: 0;
	}
}

/* aside
------------------------------ */
.category_list.recent_post {
	margin-top: 45px;
}
.category_list .sub_h3 {
    display: flex;
    align-items: center;
    gap: 0 13px;
    background: #2751A0;
    padding: 2px 26px 4px 12px;
}
.category_list .sub_h3 p {
	position: relative;
    display: block;
    font-size: 0;
    background: url(../images/news/en_category.svg)no-repeat;
    background-size: contain;
    width: 65px;
    height: 15px;
}
.category_list.recent_post .sub_h3 p {
    background: url(../images/news/en_recent_post.svg)no-repeat;
    background-size: contain;
    width: 85px;
}
.category_list .sub_h3 p.white::after {
    content: "";
    position: absolute;
    background: #fff;
    width: 78px;
    height: 1px;
    left: -12px;
    bottom: 0;
}
.category_list.recent_post .sub_h3 p.white::after {
    width: 99px;
}
.category_list .sub_h3 h3{
	line-height: 1;
    color: #fff;
    font-size: 1.8rem;
    height: 54px;
    line-height: 52px;
}
.category_list ul li {
	position: relative;
	display: block;
	background: #fff;
}

.category_list ul li::after {
	content: "";
	position: absolute;
	background: url(../images/news/cat_arrow.svg)no-repeat;
    background-size: contain;
    width: 7px;
    height: 12px;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 12px;
}
.category_list ul li a{
	display: block;
	position: relative;
	font-size: 1.6rem;
	font-weight: 600;
	color: #2751A0;
	padding: 13px 12px;
}
.category_list ul li a:hover {
	color: #000;
}
.category_list ul li:hover::after {
	right: 7px;
	transition: .3s;
}
.category_list ul li.recent_item {
	padding: 18px 12px 21px;
	border-bottom: 1px solid #CBCBCB;
}
.category_list ul li.recent_item::after {
	display: none;
}
.category_list ul li.recent_item:last-of-type {
	border-bottom: 0;
}
.category_list ul li.recent_item a{
	color: #000000;
	font-size: 1.4rem;
	line-height: 1.5;
	padding: 0;
}
.category_list ul li p.date {
	font-size: 1.2rem;
	font-weight: 600;
	color: #2751A0;
}
.category_list ul li.recent_item h2:hover{
	color: #2751A0;
}

@media screen and (min-width: 641px) {
	aside {
		width: 230px;
	}
}

/* wp-pagenavi
------------------------------ */
.pagenavi,.wp-pagenavi{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 10px;
}
.wp-pagenavi span.pages{
	display: none;
}
.pagenavi span.current,.pagenavi a,
.wp-pagenavi span.current, .wp-pagenavi a{
	position: relative;
	display: block;
	width: 35px;
	height: 35px;
	font-weight: 300;
	text-align: center;
	line-height: 33px;
	margin: 0;
	padding: 0;
	border: 0;
}
.pagenavi a.prev,.pagenavi a.next,
.wp-pagenavi a.previouspostslink, .wp-pagenavi a.nextpostslink{
	font-size: 0;
}
.pagenavi a.prev::after,
.pagenavi a.next::after,
.wp-pagenavi a.previouspostslink::after,
.wp-pagenavi a.nextpostslink::after {
	content: "";
	position: absolute;
	display: block;
	width: 9px;
	height: 9px;
	border-top: solid 1px #002278;
	border-right: solid 1px #002278;
	transform: rotate(45deg);
	top: 0;
	left: 11px;
	bottom: 0;
	margin: auto 0;
	transition: .25s;
}
.pagenavi a.prev::after,
.wp-pagenavi a.previouspostslink::after{
	transform: rotate(225deg);
	left: auto;
	right: 11px;
}
.pagenavi span.current,
.wp-pagenavi span.current{
	color: #FFF;
	background: #2751A0;
}
.pagenavi a,
.wp-pagenavi a{
	color: #2751A0;
	background: #fff;
	border: 1px solid #2751A0;
}
@media screen and (min-width: 641px) {
	.pagenavi,
	.wp-pagenavi{
		margin-top: 70px;
	}
	.pagenavi a:hover,
	.wp-pagenavi a:hover{
		color: #FFF;
		background: #2751A0;
	}
	.pagenavi a.prev:hover::after,
	.pagenavi a.next:hover::after,
	.wp-pagenavi a.previouspostslink:hover::after,
	.wp-pagenavi a.nextpostslink:hover::after{
		border-top-color: #FFF;
		border-right-color: #FFF;
	}
	.single_pagenavi {
		margin: 80px auto 0;
	}
	.single_pagenavi li a{
		position: relative;
		display: block;
		width: 280px;
		height: 70px;
		line-height: 68px;
	}
	.single_pagenavi li a:hover{
		opacity: .7;
	}
}
.single_pagenavi li a{
	position: relative;
	display: block;
	color: #FFF;
	font-weight: 600;
	text-align: center;
	background: #2751A0;
}
.single_pagenavi {
	display: flex;
	gap: 0 30px;
	justify-content: space-between;
}

/* contact & thanks
------------------------------ */
#contact .main_title .inner{
	background-image: url(../images/contact/maintitle_contact.jpg);
}
#contact .main_title .sub {
    background: url(../images/contact/main_title_en_contact.svg)no-repeat;
    background-size: contain;
    width: 404px;
}
#contact_tel {
	padding-bottom: 140px;
}
#contact_tel .sub_h2 p {
	background: url(../images/contact/en_tel_fax.svg)no-repeat;
    background-size: contain;
    width: 195px;
}
#contact_tel .box {
	height: auto;
	margin: auto;
	border: 6px solid #ECECEC;
	gap: 0 50px;
}
#contact_tel .box div h3{
	height: 45px;
	line-height: 43px;
	background: #2751A0;
	color: #fff;
	font-size: 2rem;
	text-align: center;
}
#contact_tel .box .tel p.tel_number a,
#contact_tel .box .fax p.fax_number {
	display: block;
	width: 340px;
	height: 46px;
	font-size: 0;
	margin: auto;
}
#contact_tel .box .tel p.tel_number a{
	background: url(../images/contact/tel_num.svg)no-repeat;
	background-size: contain;
}
#contact_tel .box .fax p.fax_number{
	background: url(../images/contact/fax_num.svg)no-repeat;
	background-size: contain;
}
@media(min-width: 641px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}
#contact_tel .hour {
	display: block;
	font-weight: 600;
    text-align: center;
    margin: 20px auto 0;
}
#contact_mail {
	padding-bottom: 180px;
}
#contact_mail .white_box {
	background: #fff;
	padding: 50px 50px 80px;
}
#contact_mail .sub_h2 p {
	background: url(../images/contact/en_mail.svg)no-repeat;
    background-size: contain;
    width: 92px;
}
#privacy_policy {
	position: relative;
	display: block;
	border: 1px solid #2751A0;
	width: 100%;
	height: 200px;
	margin: 40px auto 0;
}
#privacy_policy .inner {
	padding: 40px;
    max-height: 180px;
    overflow: hidden;
    overflow-y: scroll;
}
#privacy_policy h4{
	margin-bottom: 20px;
	font-size: 2rem;
	font-weight: 600;
	color: #2751A0;
}
#privacy_policy p span {
	display: block;
	margin-top: 8px;
}
#privacy_policy p br.mb_20 {
	display: block;
	content: "";
	margin-bottom: 20px;
}
#mailformpro button.btn {
	display: block;
	border: 0;
	margin: 50px auto 0;
	cursor: pointer;
	font-size: 1.6rem;
}

#thanks01 h2,
#thanks_entry01 h2 {
	margin-bottom: 30px;
}
#thanks01 .tel_box .tel,
#thanks_entry01 .tel_box .tel {
	position: relative;
    font-size: 0;
    background: url(../images/contact/tel_num.svg)no-repeat;
    background-size: contain;
    width: 341px;
    height: 46px;
}
@media screen and (min-width: 641px) {
	#contact_tel .box {
		width: 1000px;
		padding: 50px 75px 60px;
	}
	#contact_tel .box div{
		width: 400px;
	}
	#contact_mail #mailformpro table{
		margin-top: 41px;
	}
	#contact_mail #mailformpro table tr th,
	#contact_mail #mailformpro table tr td {
		border-bottom: 0;
	}
	#contact_mail #mailformpro table tr th{
		min-width: 255px;
		padding-right: 18px;
		border-bottom: 1px solid #fff;
	}
	#mailformpro tr th.top {
		padding-top: 25px;
	}
	#contact_mail #mailformpro table tr td {
		width: 845px;
		padding: 22px 28px 22px 30px;
	}
	#contact_mail #mailformpro table tr:last-of-type td {
		border-bottom: 1px solid #CBCBCB;
	}
	#thanks01,#thanks_entry01 {
		width: 860px;
		max-width: 860px;
    	margin: auto;
    	display: block;
    	text-align: center;
    	padding-bottom: 150px;
	}
	#thanks01 a.btn,
	#thanks_entry01 a.btn{
		margin-top: 50px;
	}
	#thanks01 .tel_box,
	#thanks_entry01 .tel_box{
		margin: 20px auto 30px;
	}
}

/*  yonmaruyon
------------------------------ */
#yonmaruyon .main_title .inner{
	background-image: url(../images/news/maintitle_news.jpg);
}
#yonmaruyon01 h2{
	text-align: center;
	letter-spacing: .1em;
}
#yonmaruyon01 .outline .circle{
	width: 12px;
	height: 12px;
}
#yonmaruyon01 .outline .text_link{
	color: #2751A0;
}
#yonmaruyon01 .outline .text_link::after{
	bottom: -3px;
	background-color: #2751A0;
}
@media screen and (min-width: 641px) {
	#yonmaruyon01 {
		padding-bottom: 150px;
	}
	#yonmaruyon01 .outline{
		max-width: 800px;
		margin: 0 auto;
	}
	#yonmaruyon01 .outline p{
		line-height: 2;
		letter-spacing: .05em;
		margin-bottom: 1rem;
	}
	#yonmaruyon01 .outline .btn{
		margin-top: 50px;
	}
}

/* bottom_contact
------------------------------ */
#index #bottom_contact {
	padding-top: 158px;
}
#bottom_contact .index_h2 {
	position: relative;
	top: 136px;
    left: 72px;
}
#bottom_contact .index_h2 p {
	background: url(../images/top/en_contact.svg)no-repeat center center;
	background-size: contain;
	width: 393px;
	height: 122px;
	margin-bottom: 0;
}
#bottom_contact .index_h2 p::after {
	display: none;
}
#bottom_contact .index_h2 h2 {
	color: #fff;
	margin-top: 0;
}
#bottom_contact .cta_contents{
	width: 100%;
	height: 508px;
	background: url(../images/top/bottom_contact_bg.jpg)no-repeat center center;
	background-size: contain;
	padding: 194px 0 100px;
}
#bottom_contact ul li {
	position: relative;
	padding: 0 50px;
	border-right: 1px solid #fff;
}
#bottom_contact ul li:nth-of-type(3) {
	border-right: 0;
}
#bottom_contact ul li p {
	color: #fff;
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
}
#bottom_contact ul li .tel_box {
	background: #fff;
	width: 285px;
	height: 70px;
	line-height: 68px;
	margin-top: 23px;
}
#bottom_contact ul li .tel_box a{
	color: #294986;
	font-size: 3.6rem;
	font-weight: 600;
}

@media screen and (min-width: 641px) {
	#bottom_contact .index_h2 h2 {
		font-size: 4.4rem;
	}
	#bottom_contact ul li:first-of-type {
		width: 407px;
		padding-left: 72px;
	}
	#bottom_contact ul li:nth-of-type(2) {
		width: 385px;
	}
	#bottom_contact ul li:nth-of-type(3) {
		width: 408px;
		padding: 0 67px 0 56px;
	}
	#bottom_contact ul li a {
		margin-top: 54px;
	}
	#bottom_contact ul li:first-of-type a {
		padding-left: 20px;
	}
	#bottom_contact ul li:nth-of-type(3) a {
		margin-top: 23px;
	}
}

/* footer
------------------------------ */
footer {
	position: relative;
	padding-bottom: 73px;
}
footer::after {
	position: absolute;
	content: "";
	background: #2751A0;
	width: 38%;
	height: 100%;
	top: 0;
	right: 0;
	z-index: -1;
}
footer .footer_contents {
	padding-top: 128px;
}
footer .footer_contents .logo{
	position: relative;
	display: block;
}
footer .footer_contents .flex_l p{
	font-size: 1.4rem;
	line-height: 1.63;
	margin-top: 28px;
}
footer .footer_contents .bnr_mynavi{
	display: block;
	max-width: 200px;
	width: 100%;
	margin-top: 30px;
}
/*footer .footer_contents .bnr_mynavi{
	display: block;
	width: 290px;
	height: 95px;
	background: url(../images/top/bnr_mynavi.jpg)no-repeat center center;
	background-size: contain;
	margin-top: 30px;
}*/
footer .footer_contents .bnr_mynavi:hover {
	opacity: .7;
	transition: .3s;
}
.footer_instagram {
	width: 100%;
	max-width: 50px;
	margin-top: 30px;
}
small{
	position: relative;
	display: block;
	font-size: 1rem;
}
small a{
	position: relative;
	color: #000;
}
small a.text_link::after{
	bottom: -3px;
	background-color: #2751A0;
}
footer .text_link::after {
    background-color: #fff;
}

@media screen and (min-width: 641px) {
	footer{
	}
	footer .footer_contents .logo{
		width: 461px;
    	height: 48px;
	}
	footer .footer_contents .logo:hover {
		opacity: .7;
		transition: .3s;
	}
	small{
		margin-top: 50px;
	}
	.footer_menu {
		margin-right: 210px;
	}
	.footer_menu li {
		line-height: 1;
		margin-bottom: 25px;
	}
	.footer_menu li a {
		color: #fff;
	}
	.footer_instagram a:hover {
		opacity: .7;
	}
}

.sidenav {
    position: fixed;
    right: 0px;
    bottom: 160px;
    z-index: 500;
    transition: .5s;
}
.toppage .sidenav {
	opacity: 0;
}
.sidenav.show {
    opacity: 1;
    transform: scale(1);
}
.sidenav ul li {
	width: 50px;
	height: 210px;
}
.sidenav ul li.for_js {
	background: #002278;
	border-radius: 8px 0px 0px 0px;
}
.sidenav ul li.company {
	background: #EC1515;
	border-radius: 0px 0px 0px 8px;
}
.sidenav ul li a {
	position: relative;
	color: #fff;
	font-weight: 700;
	font-size: 1.4rem;
	writing-mode: vertical-rl;
	letter-spacing: 0.1em;
	line-height: 1;
	padding: 43px 18px 13px 18px;
}
.sidenav ul li.for_js  a {
	padding: 46px 18px 25px 18px;
}
.sidenav ul li.for_js a::before {
	position: absolute;
	content: "";
	background: url(../images/common/icon_sidenav01.svg)no-repeat;
	width: 21px;
	height: 21px;
	top: 19px;
	left: 15px;
}
.sidenav ul li.company a::before {
	position: absolute;
	content: "";
	background: url(../images/common/icon_sidenav02.svg)no-repeat;
	width: 17px;
	height: 19px;
	top: 18px;
	left: 17px;
}
.sidenav ul li.for_js a:hover {
	background: #677AAC;
}
.sidenav ul li.company a:hover {
	background: #FF5F5F;
}

/* Page Top
------------------------------ */
.show.pagetop {
	opacity: 1;
}
.pagetop {
	position: fixed;
	bottom: 40px;
	right: 50px;
	transition: 0.3s;
	font-size: 0;
	z-index: 10;
	opacity: 0;
}
.pagetop a {
	display: inline-block;
	width: 50px;
	height: 50px;
	border: 1px solid #fff;
	background: #002278;
}
.pagetop a::before {
	content: "";
	display: block;
	position: absolute;
	top: 41%;
	left: 0;
	right: 0;
	margin: auto;
	width: 14px;
	height: 14px;
	border-top: solid 2px #fff;
	border-left: solid 2px #fff;
	transform: rotate(45deg);
}
.pagetop a:hover {
	background: #677AAC;
	border-radius: 50%;
}