@charset "utf-8";
/* --------------------------------------------------
	Font
-------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

/* --------------------------------------------------
	Reset
-------------------------------------------------- */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

body {
	line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

nav ul {
	list-style:none;
}

blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

/* change colours to suit your needs */
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

/* change colours to suit your needs */
mark {
	background-color:#ff9;
	color:#000; 
	font-style:italic;
	font-weight:bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

/* change border colour to suit your needs */
hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:0;
}

input, select {
	vertical-align:middle;
}


/* add to
-------------------------------------------------- */
html{
	-webkit-text-size-adjust: 100%;
	box-sizing: border-box;
}
*, *:before, *:after{
	box-sizing: inherit;
}
main{
	display: block;
}
img {
	border-style: none;
}
button, input, select, textarea {
	font-family: inherit;
	font-weight: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}



/* --------------------------------------------------
	Base
-------------------------------------------------- */
body {
	color: #000;
	font-size: 15px;
	font-weight: 400;
	font-family: "Hiragino Sans", "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", 'Noto Sans JP', Meiryo, arial, sans-serif;
	line-height: 1.8;
	word-break: normal;
	overflow-wrap: break-word;
	word-wrap: break-word;
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
	text-align: left;
}
/* SP */
@media only screen and (max-width: 768px) {
	body{
		font-size: 15px;
	}
}

.cf:after {
	content:" ";
	display:block;
	clear:both;
}

header:after,
#content:after,
section:after,
.inner:after,
#primary:after,
.edit:after{
	content:" ";
	display:block;
	clear:both;
}

a {
	color: #000;
}

strong{
	font-weight: bold;
}
em{
	font-style: italic;
}
del{
	font-style: line-through;
}

sup, sub {
	line-height: 1.35;
	font-size: 10px;
}
sup {
	vertical-align: super;
}
sub {
	vertical-align: sub;
}

img{
	max-width: 100%;
	height: auto !important;
}
video{
	max-width: 100%;
}

a[href^="tel:"]{
	text-decoration: none;
	color: #000;
}

pre {
	white-space: pre-wrap;
}

/* PC */
@media all and (min-width: 769px) {
	body{
		min-width: 1000px;
	}
	
	.inner{
		width: 1000px;
		margin: auto;
	}
	.inner_in{
		width: 800px;
		margin: auto;
	}
	
	table{
		max-width: 1000px;
	}
	
	a,
	a img{
		-webkit-transition: 0.3s;
		-moz-transition: 0.3s;
		-o-transition: 0.3s;
		-ms-transition: 0.3s;
		transition: 0.3s;
		-moz-transition-property: background-color, color, opacity;
		-webkit-transition-property: background-color, color, opacity;
		-o-transition-property: background-color, color, opacity;
		-ms-transition-property: background-color, color, opacity;
		transition-property: background-color, color, opacity;
	}
	a:hover{
		text-decoration: none;
	}
	a:hover img{
		opacity: 0.7;
		filter: alpha(opacity=70);
		-ms-filter: "alpha( opacity=70 )";
	}
	a[href^="tel:"]{
		cursor: default;
		pointer-events: none;
		text-decoration: none;
		color: #000;
	}
	
	.no_pc{
		display: none;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	body{
		width: 100%;
		min-width: 320px;
	}
	
	body:not(.top) .editable .inner,
	body:not(.top) .no_editable .inner{
		width: 90%;
		margin: auto;
	}
	
	table{
		width: 100% !important;
		table-layout: fixed;
	}
	
	img{
		max-width: 100%;
	}
	
	.no_sp{
		display: none;
	}
}

a:hover .blank::after,
.blank:hover::after{
	opacity: 0.7;
}



/* --------------------------------------------------
	Header
-------------------------------------------------- */
header{
	width: 100%;
	position: fixed;
	z-index: 10;
	background: rgba(255,255,255,0.9);
	top: 0;
}
h1.logo{
	z-index: 110;
}
h1.logo a{
	display: block;
	background: url("image/logo.png") no-repeat center center;
	text-indent: -9999px;
	position: absolute;
	z-index: 120;
}
/* PC */
@media all and (min-width: 769px) {
	header{
		min-width: 1000px;
		font-size: 0;
	}
	.header_inner{
		max-width: 1000px;
		margin: auto;
	}
	h1.logo{
		display: inline-block;
		padding: 44px 0 0 0;
	}
	h1.logo,
	h1.logo a{
		width: 386px;
		height: 42px;
	}
	.toggleWrap{
		display: inline-block;
		width: calc(100% - 386px);
		vertical-align: top;
		font-size: 14px;
		overflow: visible;
	}
	
	#bgr_btn{
		display: none;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	header{
		top: 0;
		height: 60px;
	}
	h1.logo{
		position: fixed;
		top: 0;
		margin-left: 8px;
	}
	body.no-scroll h1.logo{
		background: #fff;
		width: 100%;
		height: 60px;
		z-index: 100;
	}
	h1.logo a{
		display: block;
		height: 60px;
		width: 250px;
		background-size: contain;
	}
	
	.toggleWrap{
		background-color: rgba(255,255,255,1);
		padding: calc(60px + 20px) 5% 40px;
		display: flex;
		flex-wrap: nowrap;
		flex-direction: column;
	}
}


/* global_menu
-------------------------------------------------- */
#global_menu > ul > li > a{
	display: block;
	width: 100%;
	text-indent: -9999px;
	background-repeat: no-repeat;
	-moz-transition-property: background-image, color, opacity;
	-webkit-transition-property: background-image, color, opacity;
	-o-transition-property: background-image, color, opacity;
	-ms-transition-property: background-image, color, opacity;
	transition-property: background-image, color, opacity;
}
#global_menu > ul > li:not(:last-child) a{
	height: 19px;
}
#global_menu > ul > li.insta > a{
	text-indent: 0;
	height: 22px !important;
}
#global_menu > ul > li:first-child a{
	background-image: url("image/txt_gnav01.png");
}
#global_menu > ul > li:nth-child(2) > a{
	background-image: url("image/txt_gnav02.png");
}
#global_menu > ul > li.nav_service > a{
	background-image: url("image/txt_gnav03.png");
}
#global_menu > ul > li.nav_contact > a{
	background-image: url("image/txt_gnav05.png");
}
#global_menu > ul > li.insta > a{
	background-image: none;
}
body.news #global_menu > ul > li:first-child a{
	background-image: url("image/txt_gnav01_on.png");
}
body.group #global_menu > ul > li:nth-child(2) > a{
	background-image: url("image/txt_gnav02_on.png");
}
body.service #global_menu > ul > li.nav_service > a{
	background-image: url("image/txt_gnav03_on.png");
}
#global_menu > ul > li:last-child a{
	width: 80px;
	height: 95px;
	background: #000 url("image/txt_gnav04.png") no-repeat center center;
}
/* PC */
@media all and (min-width: 769px) {
	#global_menu{
		width: 100%;
		height: 95px;
		display: flex;
	}
	#global_menu > ul{
		display: flex;
		margin: 0 0 0 auto;
		width: 95%;
		max-width: 700px;
		height: 95px;
	}
	#global_menu > ul > li{
		display: flex;
		justify-content: space-around;
		align-items: flex-end;
		width: 80%;
		height: 95px;
		box-sizing: content-box;
		text-align: center;
		position: relative;
		cursor: pointer;
	}
	#global_menu > ul > li.nav_service,
	#global_menu > ul > li.nav_contact{
		width: 100%;
	}
	#global_menu > ul > li.insta{
		width: 30%;
	}
	#global_menu > ul > li.insta span{
		display: none;
	}
	#global_menu > ul > li:last-child{
		justify-content: flex-end;
		width: 70%;
	}
	#global_menu > ul > li:not(:last-child) > a{
		margin-bottom: 20px;
	}
	#global_menu > ul > li:first-child > a{
		width: 70px;
	}
	#global_menu > ul > li:nth-child(2) > a{
		width: 83px;
	}
	#global_menu > ul > li.nav_service > a{
		width: 103px;
	}
	#global_menu > ul > li.nav_contact > a{
		width: 110px;
	}
	#global_menu > ul > li:first-child:hover a{
		background-image: url("image/txt_gnav01_on.png");
	}
	#global_menu > ul > li:nth-child(2):hover > a{
		background-image: url("image/txt_gnav02_on.png");
	}
	#global_menu > ul > li.nav_service:hover > a{
		background-image: url("image/txt_gnav03_on.png");
	}
	#global_menu > ul > li.nav_contact:hover > a{
		background-image: url("image/txt_gnav05_on.png");
	}
	#global_menu > ul > li:last-child a:hover{
		opacity: 0.7;
	}
	
	#global_menu > ul > li:nth-child(2) > a,
	#global_menu > ul > li.nav_service > a{
		pointer-events: none;
	}
	#global_menu ul li ul{
		position: absolute;
		top: 95px;
		background: rgba(255,255,255,0.9);
		display: unset !important;
	}
	_:-ms-fullscreen, :root #global_menu ul li ul{ /* IE11 */
		left: 0;
		right: 0;
		margin: auto;
	}
	#global_menu ul li ul li{
		height: 0;
		overflow: hidden;
		transition: .2s;
		line-height: 1.1;
	}
	#global_menu ul li:hover ul li{
		height: 1.7em;
		overflow: visible;
		padding: 0.3em 1em;
	}
	#global_menu ul li:hover ul{
		display: block !important;
	}
	#global_menu ul li.nav_service:hover ul li{
		padding: 0.3em 0.5em;
	}
	#global_menu ul li:hover ul li:first-child,
	#global_menu ul li.nav_service:hover ul li:first-child{
		padding-top: 0.7em;
	}
	#global_menu ul li:nth-child(2) ul{
		width: 80%;
	}
	#global_menu ul li.nav_service ul{
		width: 135%;
	}
	#global_menu ul li ul li a{
		font-size: 13px;
	}
	#global_menu ul li ul li a:hover{
		color: #468cff;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	#global_menu{
		width: 100%;
		top: 80px !important;
		z-index: 90;
		text-align: center;
	}
	#global_menu > ul > li{
		padding: 15px 0;
		text-align: left;
	}
	#global_menu > ul > li a{
		width: 100%;
		position: relative;
		display: inline-block;
		vertical-align: middle;
	}
	#global_menu > ul > li.insta{
		padding-top: 0;
	}
	#global_menu > ul > li.insta span,
	#global_menu > ul > li.insta img{
		display: inline-block;
		vertical-align: middle;
		margin-right: 5px;
		color: #000;
		font-weight: bold;
	}
	#global_menu > ul > li:last-child a{
		width: 100%;
		height: 80px;
	}
	#global_menu > ul > li:not(:first-child) > a::after{
		content: "";
		position: absolute;
		top: 15%;
		left: 120px;
		display: inline-block;
		width: 8px;
		height: 8px;
		border-top: 2px solid #000;
		border-right: 2px solid #000;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
		transition: .2s;
	}
	#global_menu > ul > li.nav_contact > a::after,
	#global_menu > ul > li.insta > a::after{
		display: none;
	}
	#global_menu > ul > li:not(:first-child).on > a::after{
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		top: 45%;
	}
	#global_menu > ul > li > a + ul{
		display: none;
	}
	#global_menu > ul > li > a + ul li a{
		font-size: 14px;
	}
}



/* Main img
-------------------------------------------------- */
.top #main_img{
	width: 100%;
	position: relative;
	background: url("image/main_img_top.jpg") center;
	background-size: cover;
}
.top #main_img img{
	position: absolute;
	top: 40%;
	left: 0;
	transform: translate(0, -30%);
}
/* PC */
@media all and (min-width: 769px) {
	#main_img{
		margin-top: 95px;
	}
	.top #main_img{
		width: 100%;
		height: 550px;
	}
	.main_inner{
		max-width: 1000px;
		margin: auto;
		position: relative;
	}
	.top .main_inner{
		height: 550px;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.top #main_img{
		height: 100vw;
	}
	.top #main_img img{
		width: 80%;
		top: 58%;
	}
}


/* Main img 2nd
------------------------*/
body:not(.top) #main_img{
	position: relative;
	width: 100%;
	height: 400px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
/* PC */
@media all and (min-width: 769px) {
}
/* SP */
@media only screen and (max-width: 768px) {
	body:not(.top) #main_img{
		margin-top: 60px;
		height: 50vw;
	}
}

/* news */
body.news #main_img{
	background-image: url("image/main_img_news.jpg");
}
body.news #main_img h2{
	position: absolute;
	margin-top: 25%;
	font-size: 18px;
	font-weight: normal;
	letter-spacing: 1px;
}
body.news #main_img h2 img{
	display: block;
}
/* SP */
@media only screen and (max-width: 768px) {
	body.news #main_img h2{
		margin-left: 5%;
	}
	body.news #main_img h2 img{
		height: 8vw !important;
		max-height: 40px;
	}
}

/* service */
body.document #main_img{
	background-image: url("image/main_img_service_document.jpg");
}
body.document #main_img h2{
	position: absolute;
	margin-top: 22%;
}
body.download #main_img{
	background-image: url("image/main_img_service_download.jpg");
}
body.download #main_img h2{
	position: absolute;
	margin-top: 27%;
}
/* SP */
@media only screen and (max-width: 768px) {
	body.document #main_img h2 img{
		margin: 10% 0 0 8%;
		height: 12vw !important;
	}
	body.download #main_img h2 img{
		margin: 15% 0 0 8%;
		height: 5vw !important;
	}
}


/* group */
body.group #main_img{
	background-image: url("image/main_img_group_kanto.jpg");
}
body.group #main_img .main_inner{
	height: 400px;
	position: relative;
}
body.group #main_img .img_group_en,
body.group #main_img h2{
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
}
body.group #main_img h2{
	right: 0;
}
body.group #main_img h2 img{
	display: block;
	margin: 15px 0 15px auto;
}
/* SP */
@media only screen and (max-width: 768px) {
	body.group #main_img .main_inner{
		height: 50vw;
	}
	body.group #main_img .img_group_en{
		height: 13vw !important;
		margin-left: 5%;
	}
	body.group #main_img h2{
		right: 5%;
	}
	body.group #main_img h2 img{
		margin: 4% 0 4% auto;
		height: 6vw !important;
		max-height: 32px;
	}
}



/* --------------------------------------------------
	Footer
-------------------------------------------------- */
address{
	background: #000;
	text-align: center;
	font-size: 11px;
	font-weight: normal;
	letter-spacing: 2px;
	color: #fff;
	line-height: 1.5;
	padding: 1em;
}

/* pagetopボタン固定解除 */
.foot_area{
	position: relative;
}

/* pagetop
-------------------------------------------------- */
.pagetop{
	display: none;
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 9;
	width: 60px;
	height: 60px;
	background: url("image/icon_pagetop.png") no-repeat center center;
	text-indent: -9999px;
}
.pagetop:hover{
	opacity: 0.7;
}
/* SP */
@media only screen and (max-width: 768px) {
	.pagetop{
		right: 10px;
		bottom: 18px;
		width: 35px;
		height: 35px;
		background-size: contain;
	}
}


/* foot_menu
-------------------------------------------------- */
.foot_menu{
	background: #dcdddd;
}
.foot_menu .inner{
	padding: 40px;
}
.foot_menu a{
	font-size: 13px;
	font-weight: bold;
	text-decoration: none;
	line-height: 2.5;
}
.foot_menu ul li a:hover{
	text-decoration: underline;
}
.foot_menu ul li ul li a{
	display: inline-block;
	vertical-align: middle;
}
.foot_menu ul li ul li a::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	background: #000;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	margin: -2px 0.5em 0 0;
}
.foot_menu .inner > ul > li:nth-child(2) > div + ul li:first-child a::before{
	display: none;
}
/* PC */
@media all and (min-width: 769px) {
	.foot_menu .inner > ul{
		display: flex;
	}
	.foot_menu .inner > ul > li{
		width: 22%;
	}
	.foot_menu .inner > ul > li.foot_insta{
		width: 10%;
	}
	.foot_menu .inner > ul > li > div{
		pointer-events: none;
	}
	.foot_menu .inner > ul > li > div + ul{
		display: block !important;
	}
	.foot_menu .inner > ul > li.foot_insta span{
		display: none;
	}
	.foot_menu .inner > ul > li.foot_insta img{
		display: inline-block;
		vertical-align: top;
		margin-top: -2px;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.foot_menu .inner{
		padding: 30px 9%;
	}
	.foot_menu .inner > ul > li{
		position: relative;
	}
	.foot_menu .inner > ul > li > a,
	.foot_menu .inner > ul > li > div{
		position: relative;
		display: block;
		padding: 1em 0.5em 0.3em 0.5em;
	}
	.foot_menu .inner > ul > li.foot_insta{
		text-align: center;
	}
	.foot_menu .inner > ul > li > div,
	.foot_menu .inner > ul > li.foot_nav_contact{
		border-top: 1px solid #000;
		cursor: pointer;
	}
	.foot_menu .inner > ul > li.foot_nav_contact{
		border-bottom: 1px solid #000;
	}
	.foot_menu .inner > ul > li.foot_insta span,
	.foot_menu .inner > ul > li.foot_insta img{
		display: inline-block;
		vertical-align: middle;
		margin-right: 5px;
		color: #000;
		font-weight: bold;
	}
	.foot_menu .inner > ul > li > a::after{
		content: "";
		position: absolute;
		right: 15px;
		top: 40%;
		display: block;
		width: 8px;
		height: 8px;
		border-top: 2px solid #000;
		border-right: 2px solid #000;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		transition: .2s;
	}
	.foot_menu .inner > ul > li.foot_insta > a::after{
		display: none;
	}
	.foot_menu .inner > ul > li > div::after{
		content: "";
		position: absolute;
		right: 15px;
		top: 35%;
		display: block;
		width: 8px;
		height: 8px;
		border-top: 2px solid #000;
		border-right: 2px solid #000;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
		transition: .2s;
	}
	.foot_menu .inner > ul > li.on > div::after{
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		top: 45%;
	}
	.foot_menu .inner > ul > li > div + ul{
		display: none;
	}
	.foot_menu .inner ul li ul{
		border-top: 1px solid #aaa;
		padding: 5px 1em;
	}
}



/* --------------------------------------------------
	Content
-------------------------------------------------- */

/* fadeIn
-------------------------------------------------- */
.fadeIn{
	position: relative;
	top: 20px;
	opacity: 0;
	transition: .5s;
}
.fadeIn.active{
	top: 0;
	opacity: 1;
}


/* common
-------------------------------------------------- */
.editable,
.no_editable{
	padding-top: 50px;
}
.editable p{
	line-height: 2.2;
}
.color_red{
	color: #f00;
}
.bold{
	font-weight: bold;
}
.kome::before{
	content: "※";
	margin-left: -1.25em;
}
.kome{
	padding-left: 1.2em;
}
/* SP */
@media only screen and (max-width: 768px) {
	.editable,
	.no_editable{
	}
}


/* align left center right
-------------------------------------------------- */
.align_center{
	text-align: center;
}
.align_left{
	text-align: left;
}
.align_right{
	text-align: right;
}

.center{
	display: block;
	margin: 40px auto;
}
table.center {
	margin-left: auto;
	margin-right: auto;
	display: table;
}

.left{
	float: left;
	margin-right: 40px;
}
.right{
	float: right;
	margin-left: 40px;
}

/* SP */
@media only screen and (max-width: 768px) {
	.sp_left{
		text-align: left;
	}
	.center{
		margin: 20px auto;
	}
	.left,
	.right{
		display: block;
		float: none;
		margin: 20px auto;
	}
	.left img,
	.right img{
		display: block;
		margin: 0 auto 20px auto;
	}
	
	#content .center{
		text-align: left;
	}
}


/* h
-------------------------------------------------- */
body:not(.top) h3{
	background: #3b46af;
	color: #fff;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.1;
	letter-spacing: 2px;
	padding: 0.7em 1em;
	margin-bottom: 1em;
}
body.group h3{
	position: relative;
	padding-left: 1.3em;
}
body.group h3::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 0;
	height: 0;
	border: 15px  solid transparent;
	border-top: 15px solid #c4c7e7;
	border-left: 15px solid #c4c7e7;
}

h4{
	font-size: 28px;
	font-weight: normal;
	margin: 60px 0 30px;
	line-height: 1.1;
	color: #3b46af;
	padding: 0 0 10px 10px;
	border-bottom: 1px solid #3b46af;
}

h5{
	display: inline-block;
	font-size: 20px;
	font-weight: normal;
	margin: 30px 0;
	border-bottom: 1px solid #bebebe;
	padding-right: 2.5em;
}
/* PC */
@media all and (min-width: 769px) {
}
/* SP */
@media only screen and (max-width: 768px) {
	body:not(.top) h3{
		font-size: 22px;
		padding: 0.7em;
	}
	body.group h3{
		padding: 0.7em 0.7em 0.7em 1.3em;
	}
	h4{
		margin: 40px 0 25px;
		font-size: 21px;
	}
	
}


/* table
-------------------------------------------------- */
.editable table{
	margin: 2em 0;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 100%;
	font-family: inherit;
}
body:not(.post_detail) .editable table{
	width: 100%;
}
table[align="center"]{
	margin-left: auto;
	margin-right: auto;
}
.editable table caption{
	text-align: left;
	margin-bottom: 0.2em;
}
.editable table th,
.editable table td{
	text-align: left;
	vertical-align: middle;
	border: 1px solid #9da2d7;
	padding: 8px 15px;
	font-weight: normal;
	background: #fff;
	line-height: 1.4;
	word-break: break-all;
}
.editable table th{
	background: #ced1eb;
	text-align: center;
	color: #3b46af;
}
/* SP tablet */
@media only screen and (max-width: 768px) {
	.editable table th,
	.editable table td{
		padding: 10px;
	}
	body:not(.post_detail) .editable table th{
		min-width: 6em;
		width: 25%;
	}
}
/* SP more small */
@media only screen and (max-width: 650px) {
	.editable table th,
	.editable table td{
		padding: 10px;
	}
	body:not(.post_detail) .editable table th{
		min-width: 6em;
	}
}

/* sp_th_w100
-----------------------------*/
/* SP */
@media only screen and (max-width: 768px) {
	.editable .sp_th_w100 th,
	.editable .sp_th_w100 td{
		display: block;
		width: 100% !important;
	}
	.editable .sp_th_w100 th,
	.editable .sp_th_w100 tr:not(:last-child) td{
		border-bottom: none !important;
	}
}


/* ol ul
-------------------------------------------------- */
.editable ul:not(.no_style_ul),
.editable ol:not(.no_style_ol){
	margin: 10px 0;
}
.editable ol:not(.no_style_ol) li{
	margin-left: 1.5em;
	line-height: 1.6;
	padding: 0.3em 0;
}
.editable ul:not(.no_style_ul) li{
	margin-left: 1.8em;
	line-height: 1.6;
	padding: 0.3em 0;
}
.editable ul.no_style_ul{
	list-style: none;
}


/* basic
-------------------------------------------------- */
.basic_btn{
	display: inline-block;
	border: 1px solid #ca966b;
	border-radius: 4px;
	padding: 15px 50px;
	color: #ca966b;
	font-size: 18px;
	text-decoration: none;
	text-align: center;
	margin: 30px auto;
	min-width: 230px;
	box-shadow: 0 0 5px 0 rgba(0,0,0,0.1);
	position: relative;
	text-indent: -0.5em;
}
.basic_btn::after{
	content: "";
	position: absolute;
	right: 35px;
	top: 47%;
	display: block;
	width: 7px;
	height: 7px;
	border-top: 1px solid #ca966b;
	border-right: 1px solid #ca966b;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: .2s;
}
/* PC */
@media all and (min-width: 769px) {
	.basic_btn:hover{
		background-color: #ca966b;
		color: #fff;
	}
	.basic_btn:hover::after{
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
	}
}
/* SP more small */
@media only screen and (max-width: 650px) {
	.basic_btn{
		width: 100%;
	}
}


/* a icon
-------------------------------------------------- */
.edit a{
	color: #3b46af;
}
.editable a[href^="http"]:not(.parent)::after{
	content: "";
	display: inline-block;
	vertical-align: middle;
	background: url("image/icon_blank_blue.png") no-repeat right center;
	width: 14px;
	height: 13px;
	margin: 0 0.35em 0.1em 0.3em;
}



/* margin
-------------------------------------------------- */
.mt30{
	margin-top: 30px;
}


/* focus / attention
-------------------------------------------------- */
.attention{
	border: 1px solid #e60012;
	padding: 40px 35px;
	margin: 30px 0;
}

.focus{
	margin: 30px 0;
	background: #fffdf9;
	border: 1px dashed #bebebe;
	padding: 40px 35px;
}
/* SP tablet */
@media only screen and (max-width: 768px) {
	.attention,
	.focus{
		padding: 25px;
	}
}
/* SP more small */
@media only screen and (max-width: 650px) {
	.focus{
		margin: 30px -30px;
		border-left: none;
		border-right: none;
	}
}


/* breadline
-------------------------------------------------- */
.breadline{
	margin: 30px 0;
}
.breadline::after {
	content: " ";
	display: block;
	clear: both;
}
.breadline ul {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 97%;
	text-align: right;
}
.breadline ul li {
	list-style: none;
	display: inline;
}
.breadline ul li:not(:first-child) {
	margin-left: -0.2em;
}
.breadline ul li:not(:last-child):after {
	content: "\003e";
	margin: 0 0.5em;
}
.breadline ul li a {
	text-decoration: none;
	color: #5C5C5C;
}
.breadline ul li a:hover{
	text-decoration: underline;
}
/* SP */
@media only screen and (max-width: 768px) {
	.breadline {
		display: none;
	}
}


/* pagination
-------------------------------------------------- */
.pagination{
	text-align: center;
	margin-top: 90px;
	margin-bottom: 90px;
}
.pagination ul{
	width: 470px;
	margin: auto;
	display: flex;
	justify-content: center;
}
.pagination ul li {
	display: inline-block;
	list-style: none;
	margin:0 4.2%;
}
.pagination ul li a {
	display: block;
	width: 34px;
	height: 34px;
	line-height: 34px;
	background: #f4f4f4;
	color: #5c5c5c;
	font-size: 16px;
	text-decoration: none;
}
.pagination ul li.page_prev a,
.pagination ul li.page_next a{
	background: none;
	margin-top: 10px;
	display: block;
	width: 12px;
	height: 12px;
	border-top: 2px solid #bebebe;
	border-right: 2px solid #bebebe;
	transition: .2s;
}
.pagination ul li.page_prev a{
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}
.pagination ul li.page_next a{
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.pagination ul li a:hover,
.pagination ul li.current a {
	background: #3b46af;
	color: #fff;
}
.pagination ul li.page_prev a:hover,
.pagination ul li.page_next a:hover{
	background: none;
	border-top: 2px solid #3b46af;
	border-right: 2px solid #3b46af;
}
/* SP */
@media only screen and (max-width: 768px) {
	.pagination{
		margin-top: 50px;
	}
	.pagination ul{
		width: 100%;
		max-width: 470px;
	}
	.pagination ul li {
		margin:0 3.5%;
	}
}


/* group_tag
-------------------------------------------------- */
.group_tag{
	display: block;
}
body.group .group_tag > span{
}
.group_tag > span{
	background-size: contain;
	background-repeat: no-repeat;
	text-indent: -9999px;
	display: inline-block;
	width: 75px;
	height: 75px;
	margin-right: 3px;
	margin-bottom: 5px;
}
.tag01{background-image: url("image/icon_group_tag01_on.svg");}
.tag02{background-image: url("image/icon_group_tag02_on.svg");}
.tag03{background-image: url("image/icon_group_tag03_on.svg");}
.tag04{background-image: url("image/icon_group_tag04_on.svg");}
.tag05{background-image: url("image/icon_group_tag05_on.svg");}
.tag06{background-image: url("image/icon_group_tag06_on.svg");}
.tag07{background-image: url("image/icon_group_tag07_on.svg");}
.tag08{background-image: url("image/icon_group_tag08_on.svg");}
.tag09{background-image: url("image/icon_group_tag09_on.svg");}
.tag10{background-image: url("image/icon_group_tag10_on.svg");}
.tag11{background-image: url("image/icon_group_tag11_on.svg");}
.tag12{background-image: url("image/icon_group_tag12_on.svg");}
.tag13{background-image: url("image/icon_group_tag13_on.svg");}
.tag14{background-image: url("image/icon_group_tag14_on.svg");}
.tag15{background-image: url("image/icon_group_tag15_on.svg");}
.tag16{background-image: url("image/icon_group_tag16_on.svg");}
.tag17{background-image: url("image/icon_group_tag17_on.svg");}
.tag18{background-image: url("image/icon_group_tag18_on.svg");}
/* PC */
@media all and (min-width: 769px) {
	.top_group_list_content .group_tag > span{
		width: 65px;
		height: 65px;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.group_tag > span{
		width: 64px;
		height: 64px;
		margin: 0 0 5px;
	}
	.top_group_list_content .group_tag > span{
		width: 62px;
		height: 62px;
	}
}



/* --------------------------------------------------
	Top
-------------------------------------------------- */

.top h2 span{
	display: block;
	color: #3b46af;
	font-weight: 500;
	font-size: 17px;
	letter-spacing: 2px;
	text-align: center;
}

.wrap_top_h2{
	border-top: 3px solid #3b46af;
	background-color: rgba(255,255,255,0.95);
	text-align: center;
	width: 450px;
	height: 300px;
	padding: 60px 0 0;
	margin: auto;
}
.wrap_top_h2 p{
	margin-top: 1em;
	font-weight: 500;
	letter-spacing: 1px;
}
.wrap_top_h2::after{
	content: "";
	display: block;
	width: 1px;
	height: 70px;
	background: #000;
	margin: 30px auto 0;
}
/* SP */
@media only screen and (max-width: 768px) {
}
/* SP more small */
@media only screen and (max-width: 500px) {
	.top h2 img{
		height: 7vw !important;
	}
	.top h2 span{
		font-size: 3.5vw;
	}
	.wrap_top_h2{
		width: 85%;
		height: 59vw;
		padding: 10vw 0 0;
	}
	.wrap_top_h2 p{
		font-size: 3.5vw;
	}
	.wrap_top_h2::after{
		height: 12vw;
		margin-top: 5vw;
	}
}


/* top_group
-------------------------------------------------- */
.top_group_01{
	margin-top: 60px;
	background: url("image/img_top_group.jpg") no-repeat center center;
	background-size: cover;
	position: relative;
	height: 287px;
}
.top_group_01 .wrap_top_h2{
	position: absolute;
	left: 0;
	right: 0;
	top: 160px;
	z-index: 2;
}
/* SP */
@media only screen and (max-width: 768px) {
	.top_group_01{
		margin-top: 10vw;
		height: 25vw;
	}
	.top_group_01 .wrap_top_h2{
		top: 12vw;
	}
}

.top_group_02{
	background: url("image/bg_group.jpg") top center;
	background-size: 100%;
	padding-top: 125px;
}


/* top_group_list_tit
-----------------------------*/
.top_group_list_tit{
	background-size: cover;
	height: 300px;
	cursor: pointer;
}
.top_group_list01 .top_group_list_tit{
	background-image: url("image/bg_group_kanto.jpg");
}
.top_group_list02 .top_group_list_tit{
	background-image: url("image/bg_group_kansai.jpg");
}
.top_group_list03 .top_group_list_tit{
	background-image: url("image/bg_group_kyushu.jpg");
}

.top_group_list_tit .inner{
	position: relative;
	height: 300px;
}
.top_group_list_tit .inner > img{
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
}
.top_group_list_tit h3{
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translate(0, -50%);
	line-height: 60px;
}
.top_group_list_tit h3 img{
	display: inline-block;
	vertical-align: middle;
	margin-right: 60px;
}
.top_group_list_tit h3::after{
	content: "";
	display: inline-block;
	vertical-align: middle;
	background: #fff url("image/icon_arrow_group_down.png") no-repeat center;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	transition: all 0.3s ease-in-out;
}
.top_group_list_tit.on h3::after{
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
/* SP */
@media only screen and (max-width: 768px) {
	.top_group_list_tit,
	.top_group_list_tit .inner{
		height: 50vw;
	}
	.top_group_list_tit .inner > img{
		height: 13vw !important;
		margin-left: 5%;
	}
}
/* SP more small */
@media only screen and (max-width: 500px) {
	.top_group_list_tit h3 img{
		height: 23px !important;
		margin-right: 25px;
	}
	.top_group_list_tit h3::after{
		width: 35px;
		height: 35px;
		background-size: 30%;
	}
}

/* top_group_list_content
-----------------------------*/
.top_group_list_content{
	background: url("image/bg_group.jpg") top center;
	background-size: 100%;
	padding: 75px 0 70px;
	display: none;
}
.top_group_list_content .inner > ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top_group_list_content .inner > ul > li{
	background: #fff;
	list-style: none;
	width: 47.5%;
	margin: 0 0 40px;
	padding: 22px 25px;
	border-radius: 5px;
	box-shadow: 1px 1px 5px 2px rgba(160,160,160,0.5);
	position: relative;
}
.top_group_list_content .inner > ul > li dt{
	background: #3b46af;
	line-height: 1.2;
	padding: 0.6em 2.5em 0.6em 1em;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 2px;
	position: relative;
}
.top_group_list_content .inner > ul > li dt::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 0;
	height: 0;
	border: 10px  solid transparent;
	border-top: 10px solid #c4c7e7;
	border-left: 10px solid #c4c7e7;
}
.top_group_list_content .inner > ul > li dt a{
	display: inline-block;
	position: absolute;
	right: 10px;
	top: 6px;
}
.top_group_list_content .inner > ul > li dt a img{
	display: block;
}
.top_group_list_content .inner > ul > li dd > div{
	margin: 12px 0 10px;
}

.top_group_list_content .inner > ul > li dd > p{
	line-height: 1.3;
	letter-spacing: 1px;
	font-size: 14px;
}
.top_group_list_content .inner > ul > li > a{
	position: absolute;
	right: 20px;
	bottom: -16px;
	display: block;
	background: #000;
	color: #fff;
	font-size: 12px;
	text-decoration: none;
	letter-spacing: 1px;
	width: 124px;
	height: 32px;
	line-height: 32px;
	text-align: center;
}
.top_group_list_content .inner > ul > li > a::after{
	content: "";
	background: url("image/icon_arrow_group_more.png") no-repeat right center;
	display: inline-block;
	vertical-align: middle;
	width: 17px;
	height: 9px;
	margin-left: 5px;
}
.top_group_list_content .inner > ul > li > a:hover{
	opacity: 0.7;
}
/* SP */
@media only screen and (max-width: 768px) {
	.top_group_list_content{
		padding: 45px 0 40px;
	}
	.top_group_list_content .inner > ul{
		display: block;
	}
	.top_group_list_content .inner > ul > li{
		width: 93%;
		margin-left: auto;
		margin-right: auto;
		padding: 15px 12px;
	}
	.top_group_list_content .inner > ul > li dt{
		font-size: 18px;
		letter-spacing: 1px;
		padding-right: 1.8em;
	}
	.top_group_list_content .inner > ul > li dt span{
		display: inline-block;
	}
	.top_group_list_content .inner > ul > li dt a{
		right: 5px;
		top: 9px;
	}
	.top_group_list_content .inner > ul > li dt a img{
		width: 25px;
		height: 25px;
	}
	.top_group_list_content .inner > ul > li dd > div{
		margin-bottom: 5px;
	}
}


/* top_service
-------------------------------------------------- */
.top_service{
	padding-top: 210px;
	position: relative;
}
.top_service .wrap_top_h2{
	position: absolute;
	left: 0;
	right: 0;
	top: 75px;
	z-index: 2;
	height: 245px;
}
.top_service .wrap_top_h2::after{
	margin-top: 20px;
}
/* PC */
@media all and (min-width: 769px) {
}
/* SP */
@media only screen and (max-width: 768px) {
	.top_service{
		padding-top: 45vw;
	}
	.top_service .wrap_top_h2{
		top: 15vw;
	}
}
/* SP more small */
@media only screen and (max-width: 500px) {
	.top_service .wrap_top_h2{
		height: 50vw;
	}
}

/* top_service_list
-----------------------------*/
.top_service_list > li{
	list-style: none;
	background-position: center;
	background-size: cover;
	color: #fff;
	text-align: center;
}
.top_service_list > li:first-child{
	background-image: url("image/bg_service_guideline.jpg");
}
.top_service_list > li:nth-child(2){
	background-image: url("image/bg_service_download.jpg");
}
.top_service_list > li:nth-child(3){
	background-image: url("image/bg_service_document.jpg");
}
.top_service_list > li.coming{
	position: relative;
}
.top_service_list > li.coming::before{
	content: "-    coming  soon    -";
	white-space: pre-wrap;
	line-height: 450px;
	font-size: 25px;
	font-weight: bold;
	display: block;
	width: 100%;
	height: 100%;
	z-index: 2;
	position: absolute;
	background: rgba(0,0,0,0.75);
}
.top_service_list > li .inner{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.top_service_more{
	margin-top: 5px;
	display: inline-block;
	color: #fff;
	text-decoration: none;
	letter-spacing: 1px;
	border: 1px solid #fff;
	width: 220px;
	height: 55px;
	line-height: 45px;
}
.top_service_more::after{
	content: "";
	display: inline-block;
	background: url("image/icon_arrow_more_white.png") no-repeat;
	width: 47px;
	height: 15px;
	margin-left: 10px;
}
/* PC */
@media all and (min-width: 769px) {
	.top_service_list > li,
	.top_service_list > li .inner{
		height: 450px;
	}
	.top_service_list > li:nth-child(3) .inner{
		flex-direction: row;
		justify-content: space-around;
	}
	.top_service_list > li:nth-child(3) .inner > strong{
		width: 45%;
	}
	.top_service_more:hover{
		background: rgba(255,255,255,0.2);
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.top_service_list > li.coming::before{
		line-height: 90vw;
	}
	.top_service_list > li.coming:nth-child(3)::before{
		line-height: 130vw;
	}
	.top_service_list > li:not(:nth-child(3)),
	.top_service_list > li:not(:nth-child(3)) .inner{
		height: 90vw;
	}
	.top_service_list > li:nth-child(3),
	.top_service_list > li:nth-child(3) .inner{
		height: 130vw;
	}
	.top_service_list > li:not(:nth-child(3)) .inner > strong img{
		height: 5.5vw !important;
		max-height: 27px;
	}
	.top_service_list > li:nth-child(3) .inner > strong img{
		height: 16.5vw !important;
		max-height: 79px;
	}
}
/* SP more small */
@media only screen and (max-width: 500px) {
	.top_service_list > li.coming::before{
		font-size: 18px;
	}
	.top_service_more{
		margin-top: -1.5em;
	}
}

/* top_service_list_login
-----------------------------*/
.top_service_list_login{
	background: rgba(255,255,255,0.9);
	color: #000;
	text-align: left;
	padding: 20px 50px 30px;
}
.top_service_list_login ul{
	width: 100%;
	list-style: none;
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
.top_service_list_login ul li{
	width: 48%;
}
.top_service_list_login ul li span{
	display: block;
	font-weight: bold;
	font-size: 16px;
	letter-spacing: 1px;
	line-height: 2.3;
}
.top_service_list_login ul li input{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border-radius: 0;
	font: inherit;
	outline: none;
	border: 1px solid #3b46af;
	padding: 2px 5px;
	width: 100%;
}
.btn_login{
	position: relative;
	transition: .2s;
}
.btn_login::after{
	content: "";
	display: block;
	background: url("image/icon_blank.png") no-repeat;
	width: 14px;
	height: 13px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translate(0,-50%);
}
.btn_login input{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
	display: inline-block;
	background: url("image/bg_btn_login.png") repeat-x;
	width: 100%;
	height: 47px;
	line-height: 42px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	font-weight: 500;
	letter-spacing: 1px;
	cursor: pointer;
}
.top_service_list_login p{
	margin-top: 20px;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 1px;
	line-height: 1.5;
	padding-left: 13px;
	position: relative;
}
.top_service_list_login p::before{
	content: "";
	display: block;
	background: url("image/icon_arrow_triangle.png") no-repeat;
	width: 8px;
	height: 14px;
	position: absolute;
	left: 0;
	top: 3px;
}
/* PC */
@media all and (min-width: 769px) {
	.top_service_list_login{
		width: 425px;
	}
	.btn_login:hover{
		opacity: 0.8;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.top_service_list_login{
		width: 90%;
		padding: 6% 5% 8%;
	}
}


/* top_news
-------------------------------------------------- */
/* PC */
@media all and (min-width: 769px) {
	.foot_copy .inner{
		padding: 20px 30px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.foot_copy .inner > img{
		margin-left: auto;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.foot_copy{
		padding: 15% 7% 10%;
		text-align: center;
	}
	.foot_copy .inner > img{
		margin-top: 10%;
		width: 70%;
		max-width: 319px;
	}
}


/* top_news
-------------------------------------------------- */
.top_news{
	padding: 40px 0 0;
}
.top_news h2{
	width: 165px;
}
.top_news h2::before{
	content: "";
	background: #3b46af;
	display: block;
	width: 1500px;
	height: 1px;
	transform: translate(-101.5%, 25px);
}
.bg_tab{
	background: url("image/bg_top_news.png") no-repeat right top;
	padding: 15px 0 45px;
}
.top_news .tab_content > div a::after{
	content: "";
	display: inline-block;
	background: url("image/icon_arrow_more.png") no-repeat right center;
	width: 79px;
	height: 13px;
	margin-left: 10px;
	transition: .2s;
}
.top_news .tab_content > div a:hover img{
	opacity: 1;
}
.top_news .tab_content > div a:hover::after{
	margin-left: 20px;
	margin-right: -10px;
}
/* PC */
@media all and (min-width: 769px) {
	.top_news .inner{
		width: 900px !important;
		text-align: left;
	}
	.top_news .tab_content > ul{
		width: 600px;
		margin: auto;
	}
	.top_news .tab_content > div{
		margin-right: 50px;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.top_news{
	}
	.top_news h2{
		margin-left: 10%;
	}
	.top_news h2::before{
		top: 50%;
		transform: translate(-101%, 5vw);
	}
	.bg_tab{
/*		background-position: bottom right;
*/		background-size: 90%;
		padding-bottom: 25px;
	}
	.bg_tab .inner{
		padding: 0 5%;
	}
}
/* SP more small */
@media only screen and (max-width: 500px) {
	.top_news h2{
		width: 30vw;
	}
}

/*** tab ***/
.tab_wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.tab_switch + label{
	order: -1;
	cursor: pointer;
	color: #595757;
	text-align: center;
	position: relative;
	border: 1px solid #727171;
	background: #fff;
	font-weight: 500;
	width: calc(100% / 5);
}
.tab_switch:not(:first-of-type) + label{
	border-left: none;
}
.tab_content{
	width: 100%;
	display: none;
	background: #fff;
	border: 1px solid #727171;
	border-top: none;
	padding: 15px 0 20px;
}
.tab_switch:checked + label{
	color: #3b46af;
	text-decoration: underline;
	text-underline-offset: 5px;
	border-bottom: 1px solid transparent;
}
.tab_switch:checked + label + .tab_content{
	display: block;
}
.tab_switch{
	display: none;
}
/* PC */
@media all and (min-width: 769px) {
	.tab_switch + label{
		line-height: 65px;
		height: 65px;
		font-size: 19px;
		letter-spacing: 4px;
	}
	.tab_switch:first-of-type + label{
		font-size: 27px;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.tab_switch + label{
		height: 50px;
		line-height: 50px;
		font-size: 13px;
	}
	.tab_content{
		padding: 10px 5% 25px;
	}
}



/* --------------------------------------------------
	News
-------------------------------------------------- */

/* 2nd news_index
-------------------------------------------------- */
.wrap_news_menu{
	display: flex;
	justify-content: space-between;
}
.wrap_news_menu + h4{
	margin-bottom: 0.5em;
}
/* PC */
@media all and (min-width: 769px) {
}
/* SP */
@media only screen and (max-width: 768px) {
	.wrap_news_menu{
		flex-flow: column-reverse;
	}
}

/* news_menu_year
-----------------------------*/
.news_menu_year {
	overflow: hidden;
	width: 100px;
	text-align: center;
}
.news_menu_year select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.news_menu_year select::-ms-expand {
	display: none;
}
.news_menu_year.cp_sl01 {
	position: relative;
	border: 1px solid #bbb;
	border-radius: 2px;
	background: #fff;
}
.news_menu_year.cp_sl01::before {
	position: absolute;
	top: 1em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666;
	pointer-events: none;
}
.news_menu_year.cp_sl01 select {
	padding: 8px 30px 8px 8px;
	color: #666;
}
/* SP */
@media only screen and (max-width: 768px) {
	.news_menu_year{
		margin: 15px 0 -30px auto;
	}
}

/* news_menu_group
-----------------------------*/
.news_menu_group{
	display: flex;
	list-style: none;
}
.news_menu_group li{
	padding: 0 0 0 10px;
}
.news_menu_group li a{
	display: block;
	text-decoration: none;
	border: 1px solid #3b46af;
	width: 130px;
	height: 2.5em;
	line-height: 2.3;
	text-align: center;
	font-size: 14px;
	letter-spacing: 2px;
	color: #3b46af;
	font-weight: 500;
	position: relative;
}
.news_menu_group li a::after{
	content: "";
	position: absolute;
	right: 8%;
	top: 42%;
	display: block;
	width: 6px;
	height: 6px;
	border-top: 1px solid #3b46af;
	border-right: 1px solid #3b46af;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: .2s;
}
.news_menu_group li.current a,
.news_menu_group li a:hover{
	border-color: #3b46af;
	color: #fff;
	background: #3b46af;
}
.news_menu_group li a:hover::after{
	border-color: #fff;
}
/* PC */
@media all and (min-width: 769px) {
	.news_menu_group{
		margin-left: auto;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.news_menu_group{
		width: 100%;
		margin: 0 auto 20px;
		justify-content: space-between;
	}
	.news_menu_group li{
		width: 24%;
		padding: 0;
	}
	.news_menu_group li a{
		width: 100%;
		letter-spacing: 0;
		font-size: 11px;
		height: 3em;
		line-height: 2.8;
		padding-right: 5%;
	}
}


/* news_list ul
-------------------------------------------------- */
.news_list ul{
	list-style: none;
}
.news_list ul li a{
	display: flex;
	align-items: center;
	text-decoration: none;
	transition: .3s;
	font-size: 14px;
	padding: 1.4em 0.8em;
	border-bottom: 1px dashed #aaa;
}
.news_list ul li:last-child a{
	border: none;
}
.news_list .category,
.news_list .date,
.news_list .title{
	line-height: 1.5;
}
.date{
	letter-spacing: 0.05em;
	font-size: 19px;
	font-weight: 500;
}
.category{
	margin: 0 30px;
	border: 1px solid #3b46af;
	width: 80px;
	padding: 5px 0;
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 1px;
	color: #3b46af;
}
.news_list .title{
	letter-spacing: 1.5px;
}
.news_list a:hover .title{
	text-decoration: underline;
}
body.document .news_list a .title::after{
	content: "";
	position: relative;
	margin-left: 0.5em;
	display: inline-block;
	vertical-align: middle;
	background: url("image/icon_file.png") no-repeat;
	width: 11px;
	height: 14px;
	border: none;
	-webkit-transform: rotate(0);
	transform: rotate(0);
	transition: .2s;
}
/* PC */
@media all and (min-width: 769px) {
	.top .news_list .title{
		width: 320px;
		margin-left: auto;
	}
	.news .news_list .title{
		width: 74%;
		margin-left: auto;
	}
	.service .news_list .title{
		width: 84%;
		margin-left: auto;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.news_list ul li a{
		flex-wrap: wrap;
	}
	.news_list .category{
		margin: 0 0 0 14px;
		padding: 2px 0;
	}
	.news_list .title{
		width: 100%;
		line-height: 1.6;
	}
}


/* post_detail
-------------------------------------------------- */
/* PC */
@media all and (min-width: 769px) {
	.edit table{
		max-width: 800px;
	}
}

.post_info{
	margin-bottom: 10px;
}
.post_info > span{
	display: inline-block;
	text-align: center;
	vertical-align: middle;
}
.post_info .category{
	line-height: 1.3;
	margin: 0 0.7em 0 0;
}

.back_list{
	margin: 5em auto 2em;
	text-align: center;
}
.back_list a{
	display: inline-block;
	padding: 0.5em 2em;
	text-align: center;
	text-decoration: none;
	background: #3b46af;
	color: #fff;
	letter-spacing: 1px;
}
.back_list a::before{
	content: "";
	background: url("image/icon_arrow_group_more.png") no-repeat;
	display: inline-block;
	vertical-align: middle;
	width: 17px;
	height: 9px;
	margin: 0 10px 5px 0;
	transform: rotate(180deg);
}
.back_list a:hover{
	opacity: 0.8;
}



/* --------------------------------------------------
	Group
-------------------------------------------------- */
body.group .editable{
	background: url("image/bg_group.jpg") repeat-y top center;
	background-size: 100%;
}
.wrap_group{
	padding-bottom: 40px;
}
/* PC */
@media all and (min-width: 769px) {
	.group_content{
		display: flex;
		justify-content: space-between;
	}
	.group_content > div:first-child{
		width: 555px;
	}
	.group_content > div:last-child{
		width: 420px;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.group_content > div:last-child{
		text-align: center;
	}
}

/* tb_about
-----------------------------*/
.editable .tb_about{
	margin-top: 1em;
}
.editable .tb_about th,
.editable .tb_about td{
	font-weight: bold;
	letter-spacing: 1px;
}
.editable .tb_about th{
	width: 23%;
	text-align: justify;
	-moz-text-align-last: justify;
	text-align-last: justify;
	text-justify: inter-ideograph;
}
.editable .tb_about td a{
	text-decoration: none;
}
.editable .tb_about td a:hover{
	text-decoration: underline;
}
.editable .tb_about td ol{
	margin: 0;
}
/* SP */
@media only screen and (max-width: 768px) {
	.editable .tb_about th,
	.editable .tb_about td{
		letter-spacing: 0;
	}
	body.group .editable .tb_about th{
		width: 100px;
	}
	.date{
		font-size: 17px;
	}
}

/* group_recruit
-----------------------------*/
.group_recruit h4{
	background: #3b46af url("image/icon_group_recruit.png") no-repeat left 1px top 1px;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 2px;
	margin: 25px 0 0;
	height: 38px;
	line-height: 38px;
	padding-left: 55px;
	text-align: left;
}
.group_recruit table{
	margin: 0;
}
.group_recruit table th,
.group_recruit table td{
	font-weight: bold;
	padding: 8px 10px;
}
.group_recruit table th{
	text-align: justify;
	-moz-text-align-last: justify;
	text-align-last: justify;
	text-justify: inter-ideograph;
	letter-spacing: 0;
	width: 24%;
}
.group_recruit table td{
	letter-spacing: 0;
}
.group_recruit table td a{
	text-decoration: none;
}
.group_recruit table td a:hover{
	text-decoration: underline;
}
.group_recruit table th.th_mail{
	letter-spacing: 0.35em;
}
/* SP */
@media only screen and (max-width: 768px) {
	body.group .editable .group_recruit table th{
		width: 100px;
	}
}

/* group_sub_img
-----------------------------*/
.group_sub_img{
	margin-top: 5px;
	display: flex;
	justify-content: space-between;
}
.group_sub_img img{
	width: 32%;
}
/* SP */
@media only screen and (max-width: 768px) {
	.group_sub_img{
		max-width: 420px;
		margin: 5px auto 0;
	}
}



/* --------------------------------------------------
	Service
-------------------------------------------------- */
.detail_coming{
	margin: 10% 0 12%;
	letter-spacing: 0.1em;
	text-align: center;
	font-weight: bold;
	font-size: 40px;
	color: #3b46af;
}
/* SP */
@media only screen and (max-width: 768px) {
	.detail_coming{
		font-size: calc(40vw / 750 * 100);
	}
}

.txt_service_document{
	margin-bottom: 2em;
}
.menu_service{
	list-style: none;
}
.menu_service li{
	margin-bottom: 2%;
}
.menu_service li a{
	display: block;
	width: 100%;
	border-radius: 5px;
	border: 2px solid #3b46af;
	background: #fff;
	padding: 2em 1.5em;
	color: #3b46af;
	text-decoration: none;
	line-height: 1.5;
	position: relative;
}
.menu_service_download li a{
	padding: 2em 2.5em 2em 1.5em;
}
.menu_service li a:hover{
	background: #3b46af;
	color: #fff;
}
.menu_service li a::after{
	content: "";
	position: absolute;
	top: 46%;
	right: 1em;
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: .2s;
}
.menu_service li a:hover::after{
	border-color: #fff;
}
.menu_service_download li a::after{
	content: "";
	position: absolute;
	top: 40%;
	right: 1em;
	display: inline-block;
	background: url("image/icon_file.png") no-repeat;
	width: 11px;
	height: 14px;
	border: none;
	-webkit-transform: rotate(0);
	transform: rotate(0);
	transition: .2s;
}
.menu_service_download li a:hover::after{
	background-image: url("image/icon_file_white.png");
}
/* PC */
@media all and (min-width: 769px) {
	.menu_service{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.menu_service li{
		display: flex;
	}
	.menu_service li a{
		display: flex;
		align-items: center;
	}
	
	.menu_service_document li{
		width: calc(100% / 4 - 1%);
	}
	.menu_service_document::before{
		content: "";
		display: block;
		width: calc(100% / 4 - 1%);
		order: 1;
	}
	.menu_service_document::after{
		content: "";
		display: block;
		width: calc(100% / 4 - 1%);
	}
	
	.menu_service_download li{
		width: calc(100% / 3 - 1%);
	}
	.menu_service_download::after{
		content: "";
		display: block;
		width: calc(100% / 3 - 1%);
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.menu_service li{
		margin-bottom: 3%;
	}
	.menu_service li a{
		padding: 1em 2em 1em 1em;
	}
	.menu_service_download li a{
		padding: 1em 2.2em 1em 1em;
	}
	.menu_service_download li a::after{
		right: 0.7em;
	}
}

