
/** {
	outline: 1px solid magenta;
}*/

html, body {
	width: 100%;
	height: 100%;/* sticky対応 */
	scroll-behavior: smooth;
	scroll-padding-top: 90px;/*固定ヘッダー対応*/
	
}
.pc_none {
		display: none !important;
}

body {
/*		line-height: 180%;
		font-size: 1em;
		color: #333;*/
		/*font-family: 'Sawarabi Gothic', sans-serif;*/
		/*font-family: 'Noto Sans JP', sans-serif;*/
	
  /*font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 300;*/
	
  font-family: 'Noto Sans JP', sans-serif;
	
	
  font-size: 1em;
  line-height: 1.8;
  color: #333;
  text-align: left;
  background-color: #fff;
	
}




h1, h2, h3, h4, h5, h6 {
	/*font-family: "BIZ UDPGothic", sans-serif;*/
	font-family: "Noto Serif JP", sans-serif;
	font-weight: 500;
  	font-style: normal;
}

#Gmenu {
	font-family: "BIZ UDPGothic", sans-serif;
	font-weight: 500;
  	font-style: normal;
	font-size: 1.1rem;
}

#Smenu {
	font-family: "BIZ UDPGothic", sans-serif;
	font-weight: 500;
  	font-style: normal;
}

#Rmenu {
	font-family: "BIZ UDPGothic", sans-serif;
	font-weight: 500;
  	font-style: normal;
}

.m-plus-1p-regular {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.biz-udpgothic-regular {
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

/*.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}*/


img {
		text-align: center;
		max-width: 100%;
}

h2{
	font-size: 2rem;
	margin: 20px 5px;
}

h3 {
	display: block;
	font-size: 1.5rem;
	color: #24549A;
	background-color: #fff;
	border: #24549A solid 1px;
	padding: 5px 0 5px 15px;
	border-radius: 0.5em;/*角丸*/
	text-align: left;
	margin: 20px 5px;
}

h4 {
  	font-size: 1.2rem;
	color: #333;
	margin: 20px 5px;
	padding: 5px 0 5px 0;	
	text-align: left;
	background-color: #fff;
	border-bottom: #333 solid 1px;
	font-family: "BIZ UDPGothic", sans-serif; 
}


h5 {
  font-size: 1rem;
	color: #24549A;
	margin: 20px 5px;
	padding: 5px 0 5px 0;
	
	text-align: left;
	background-color: #fff;
	border-bottom: #24549A solid 1px;
}

h3 a {
	text-decoration: none;
	color: #FFF;
}
h3 a:hover {
	text-decoration:underline;
}

h4 a {
	text-decoration: none;
	color: #24549A;
}
h4 a:hover {
	text-decoration:underline;
}

h5 a {
	text-decoration: none;
	color: #24549A;
}
h5 a:hover {
	text-decoration:underline;
}

a:hover {
	transition: 0.6s;
}

/* ----------------------------------------------------------------------------------
*
*　基本枠デザイン
*
 ----------------------------------------------------------------------------------*/

.wrapper{
    min-height: 100vh;
    position: relative;
    /*padding-bottom: 120px;*/
    box-sizing: border-box;
}

header {
	width: 100%;
	/*width: 1440px;
	max-width: 100%;*/
	z-index: 20000;
	/*display: flex;*/
	/*flex-wrap: nowrap;*/
	/*align-items: bottom;*/
	/*justify-content:center;*/
	margin: 0 auto;
	/*Transformation*/
	position: absolute;
	/*Transformation // */
	transition: all 0.8s;
	/*background-color: hsla(0,0%,0%,0.2);*/
}

header #logo {
	background-image: url("../images/logo_white.svg");
	background-repeat: no-repeat;
	width: 350px;
	height: 22px;
	margin: 20px 10px 0 10px;
	text-indent: -9999px;
	display: block;
}

header #logo a {
	background-image: url("../images/logo_white.svg");
	background-repeat: no-repeat;
	width: 350px;
	height: 22px;
	text-indent: -9999px;
	display: block;
}

header #logo_recruit {
	background-image: url("../images/logo_recruit_white.png");
	background-repeat: no-repeat;
	width: 440px;
	height: 22px;
	margin: 20px 10px 0 10px;
	text-indent: -9999px;
	display: block;
}

header #logo_recruit a {
	background-image: url("../images/logo_recruit_white.png");
	background-repeat: no-repeat;
	width: 440px;
	height: 22px;
	text-indent: -9999px;
	display: block;
}


/************Transformation*************/

header.transform #description {
		display: none;
}
header.transform #header {
		display: none;
}
header.transform {
		padding: 0px;
		width: 100%;
		/*max-width: 100%;*/
		clear: both;
		position: fixed;
		/*background-color: #F8F8F8;*/
		background-image: linear-gradient(#F8F8F8, #FEFEFE 48%, #D0D0D0);
		height: 70px;
		transition: all 0.8s;
}

header.transform #Gmenu {
		transition: 1.2s;
}

header.transform #logo {
	background-image: url("../images/logo.png");
	background-repeat: no-repeat;
	width: 350px;
	height: 22px;
	margin: 20px 10px 0 10px;
	text-indent: -9999px;
	display: block;
}

header.transform #logo a {
	background-image: url("../images/logo.png");
	background-repeat: no-repeat;
	width: 350px;
	height: 22px;
	text-indent: -9999px;
	display: block;
}

header.transform #logo_recruit {
	background-image: url("../images/logo_recruit.png");
	background-repeat: no-repeat;
	width: 440px;
	height: 22px;
	margin: 20px 10px 0 10px;
	text-indent: -9999px;
	display: block;
}

header.transform #logo_recruit a {
	background-image: url("../images/logo_recruit.png");
	background-repeat: no-repeat;
	width: 440px;
	height: 22px;
	text-indent: -9999px;
	display: block;
}

header.transform #headerarea_recruit {
	background-color:unset;
}



/************Transformation*************/


#headerarea {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}

#headerarea_recruit {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	background-color: hsla(0,0%,0%,0.2);
}

#logoarea {
	/*width:25%;*/
	display: block;
}

#Gmenu {
	/*width: 800px;*/
	display: flex;
	justify-content: center;
	transition: .8s;
}

.menu {
	/*display: block;
	width: 800px;*/
	margin: 0 auto;	
}

.menu > ul {
	/*display: block;
	width: 800px;*/
	display: flex;
	flex-wrap: nowrap;
	/*padding: 10px 0;*/
}

.menu > ul > li {
    /*width: calc(100% / 5);*/
	position: relative;
	display: table-cell;
	text-align: center;
	vertical-align: bottom;
	/*background-color: #003586;*/
}

.menu > ul > li > a {
    line-height: 100%;
	/*width: 100%;*/
	width: 180px;
	height: 70px;
    padding: 25px 0 0 0;
	
    /*border-right: 1px solid #F8F8F8;*/
    text-decoration: none;
	font-weight: 500;
    /*color: #FFF;*/
	color: #FFF;
	/*font-size: 1rem;*/
	text-shadow: 1px 2px 2px rgba(0,0,0,0.5);
}

.menu > ul > li > a:hover {
	background: #006699;
	color: #FFF;
	opacity: 0.8;
}

.menu > ul > li:first-child > a {
	/*border-left: 1px solid #F8F8F8;*/
}

header.transform .menu > ul > li > a {
	color: #333;
	text-shadow: unset;
}

header.transform .menu > ul > li > a:hover {
	color: #FFF;
}


/*.menu > ul > li > ul > li > ul > li > a:hover {
	color: #FF0004;
	text-decoration: underline;
}*/

#Smenu {
	display: flex;
	justify-content: flex-end;
	margin: 0;
	width: 240px;
	transition: .8s;
}

#Smenu .mail {
	position: relative;
}

#Smenu .mail:before {
	position: absolute;
	top:21px;
	left:15px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 19px;
	background:url(../images/head_mail.png) no-repeat;
	background-size:contain;
}

/*#Smenu .mail {
	display: inline-block;
	margin: 10px 20px;
	width: 160px;
	height: 40px;
	background: #1360C9;
	color:#FFF;
	text-align: center;
	text-decoration: none;
}*/

#Smenu .mail > a {
	display: inline-block;
	margin: 10px 20px 5px 0;
	width: 160px;
	height: 40px;
	background: #006699;
	padding: 7px 0 0 0;
	color:#FFF;
	text-align: center;
	text-decoration: none;
	border-radius: 18px;
	
}

#Smenu .mail > a:hover {
	background: #333;
	transition: all 0.3s;
}


#Rmenu {
	display: flex;
	margin: 0;
	flex-wrap: nowrap;
	transition: .8s;
}

#Rmenu ul {
	display: flex;
	flex-wrap: nowrap;
}

#Rmenu li {
	/*width: 120px;*/
}

#Rmenu .recruit {
	position: relative;
}

#Rmenu .corporate {
	position: relative;
}

/*#Rmenu .recruit:before {
	position: absolute;
	top:21px;
	left:10px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 19px;
	background:url(../images/head_mail.png) no-repeat;
	background-size:contain;
}*/



#Rmenu .recruit > a {
	display: block;
	margin: 15px 5px 5px 5px;
	width: 110px;
	height: 40px;
	background: #006699;
	padding: 7px 0 0 0;
	color:#FFF;
	text-align: center;
	text-decoration: none;
	border-radius: 10px;
	
}

#Rmenu .corporate > a:hover {
	background: #fff;
	color:#000;
	transition: all 0.3s;
}

#Rmenu .corporate > a {
	display: block;
	margin: 15px 5px 5px 5px;
	width: 150px;
	height: 40px;
	background: #000;
	padding: 7px 0 0 0;
	color:#FFF;
	text-align: center;
	text-decoration: none;
	border-radius: 10px;
	
}

#Rmenu .recruit > a:hover {
	background: #333;
	transition: all 0.3s;
}

	
footer {
	/*margin: 50px 0 0 0;*/
	margin: 0;
	padding:20px 0;
	width: 100%;
	background: #006699;
	color: #FFF;
	position: sticky; /* 最下部へ */
	top: 100vh;
	/*position: absolute;*//*←絶対位置*/
    /*bottom: 0;*/ /*下に固定*/
}

.ft_recruit {
	/*background: #88ADBF;*/
	/*background: linear-gradient(45deg,#24549A 30%, #739EDE 50%);*/
	background-image: radial-gradient(#739ede, #4d8ebe 50%, #24549a);
}


footer a {
	text-decoration: none;
    color: #FFF;
}

footer a:hover {
	text-decoration: underline;
}

#footer {
	margin-left: auto;
	margin-right: auto;
	width: 1280px;
	display: flex;
	
}

#footer address {
	width: 320px;
	margin: 10px 20px 0 0;
	display: block;
}



.footer_menu {
	/*clear: both;*/
	width: 980px;
	margin: 7px 0 0 20px;
	display: flex;
	flex-wrap: wrap;
}


.footer_menu .fmenu {
	width: 300px;
	padding: 0 0 0 20px;
}

.ft_recruit .footer_menu .fmenu {
	width: 320px;
	padding: 0 0 0 20px;
}

.footer_menu .fmenu ul li {
		margin-left: 1rem;
}

.footer_menu.fmenu ul li a {
	text-decoration: none;
    color: #FFF;
}

.footer_menu .fmenu ul li a:hover {
	text-decoration: underline;
}


.footer_menu .bannerarea {
	width: 960px;
	display: flex;
	flex-wrap: wrap;
	padding: 0 0 0 20px;
}

.footer_menu .bannerarea .bannertitle {
	width: 960px;
	margin: 10px 0 0 0;
	display:block;
}

.footer_menu .bannerarea ul {
	width: 960px;
	display:flex;
	flex-wrap: wrap;
}

.footer_menu .bannerarea ul li {
	margin: 20px 20px 0 0;
	width: 250px;
	display:block;
}

.footer_menu .bannerarea ul li a {
	text-decoration: none;
	width: 250px;
    color: #FFF;
	display:block;
}

.footer_menu .bannerarea ul li a:hover {
	opacity: .8;
}


.copyright {
	font-size: 0.9em;
	color: #FFF;
	margin: 20px 0 0 0;
	width:100%;
	text-align: center;
}

.copyright::before {
	content: "";
	border-bottom: rgba(240,240,240,1.00) solid 1px;
	display: block;
	margin: 30px 0 10px;
}


/* ----------------------------------------------------------------------------------
*
*　トップページ
*
 ----------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------------------
　スライダー
-------------------------------------------------------------------------------------------*/

#main_img {
	width: 100%;
	height: 760px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	
	/*Transformation*/
	/*padding: 210px 0 0;*/
	/*Transformation // */
}

/*#main_img_bg {
	background-image: url(../images/top/sankaku.png);
	background-repeat: no-repeat;
	position: absolute;
	background-position: bottom center;
	width: 100%;
	height: 100px;
	bottom: 0px;
	z-index: 1;
}*/


#top_main_wide {
	width: 100%;
	height: 760px;
	position: relative;
	/*background: #739EDE;*/
	background: linear-gradient(45deg,#24549A 30%, #739EDE 50%);
	overflow: hidden;
	/*Transformation*/
	/*padding: 70px 0 90px;*/
	/*Transformation // */
	
}

#top_main_wide img {
		object-fit: cover;
		width: 100%;
		height: 660px;
	
}

#top_main_wide .title {
	display: block;
	width: 1280px;
	margin: 0 auto;
	z-index: 1;
}

#top_main_wide .title h2 {
		/*Transformation*/
		/*top: 330px;*/
		/*Transformation // */
		/*left: calc(50% - 600px);*/
		position: absolute;
		top: 90px;
		display: block;
		width: 500px;
		text-align: left;
		color: #fff;
		text-shadow: 1px 2px 1px rgba(0,0,0,0.5);
		z-index: 15000;
		
}

#top_main_wide .title h2::before {
	content: attr(data-en);
	position: absolute;
	top: 45px;
	left: 5px;
	color: rgba(255,255,255, 1.0);
	font-size: 0.6em;
	text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
	/*text-transform: uppercase;*/
	z-index: 1;
}

/* 背景色ありコピー　*/
#top_main_wide .body {
/*	display: block;
	margin: 0 auto;
	width: 800px;
	height: 380px;
	background-color: hsla(0,0%,12%,.2);
	z-index: 2;*/
	width: 900px;
	height: 180px;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	/* 帯外した */
/*	background-color: hsla(0,0%,12%,.3);
	border-radius: 10px;*/
	z-index: 15000;
	
}

#top_main_wide .body h2 {
	display: block;
	text-align: center;
	color: #fff;
	/*
	font-size: 2.8em;
	text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
	*/
	font-size: 4em;
	/*text-shadow: 0 0 30px #ff571c;*/
	/*text-shadow: 2px 2px 10px #000;*/
	
	text-shadow: 3px 3px 20px rgba(0, 0, 0, 0.93);
  	font-weight: bold;
	
	padding: 20px 0 0 0;
	line-height: 120%;
	
	z-index: 15000;
}

#top_main_wide .body h3 {
	display: block;
	text-align: center;
	color: #fff;
	font-size: 1.6em;
	line-height: 120%;
	background: none;
	border: none;
	text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
	z-index: 15000;
}

#top_main_wide .body p {
	display: block;
	padding: 20px;
	text-align: left;
	color: #fff;
	font-size: 1.6em;
	text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
	z-index: 15000;
}



/*--------------------------------------------------------------------------------------------
　トップ　メインイメージ重なりバナー
-------------------------------------------------------------------------------------------*/
#top-banner-wrapper {
	width: 100%;
	position:relative;
	/*background-color: #fff;
	border-radius: 20px;*/
	
	margin: 30px auto 0;
	background-image:url("../images/background.png");
	background-position:top;
	background-repeat: no-repeat;
	/* 薄く */
	background-color:rgba(255,255,255,0.6);
	background-blend-mode:lighten;
}

#top-banner-wrapper .main {
	width:1280px;
	/*object-fit: cover;*/
	margin: 0 auto;
}

.top-banner-wrapper2 {
	width: 100%;
	position:relative;
	/*background-color: #fff;
	border-radius: 20px;*/
	display: flex;
	flex-wrap:nowrap;
	justify-content: center;
	margin: 30px auto 50px;
	/*background-image:url("../images/background.png");
	background-position:top;
	background-repeat: no-repeat;*/
}


.top-banner-wrapper2 h2 {
	font-size: 2rem;
	margin: 20px 0;
	padding: 15px;
	/*color: #707070;*/
	border-bottom: 1px solid #CCC;
	/*font-family: "Noto Serif JP", sans-serif;*/
	font-weight: 500;
  	font-style: normal;
}


.top-banner-wrapper2 .cont_box {
	display: block;
	/*width: 600px;*/
	width: 33%;
	margin: 10px 5px;
	background-color: #006699;
	overflow: hidden;
}

.top-banner-wrapper2 .cont_box a {
	text-decoration: none;
	color:#fff;
}

.top-banner-wrapper2 .cont_box a:hover img {
	opacity: 0.8;	
	transform: scale(1.05);
}

.top-banner-wrapper2 .cont_box img {
	/*width: 600px;*/
	width: 100%;
	height: 320px;
	object-fit: cover;
	display:block;
	margin: 0;
	transition: all 0.4s;
}

.top-banner-wrapper2 .cont_box .cont_title {
	/*width: 600px;*/
	display:block;
	color: #fff;
	
	margin: 0;
	padding: 10px;
	position: relative;
}

.top-banner-wrapper2 .cont_box .cont_title::before {
	content:"";
	position: absolute;
	top:18px;
	right:5px;
	display:inline-block;
	width: 25px;
	height: 19px;
	background:url(../images/allow3w.png) no-repeat;
	background-size:contain;
}

.top-banner-wrapper2 .cont_box .cont_title h4 {
	font-size: 1.2em;
	margin: 0;
	padding: 0;
	color: #fff;
	background-color: unset;
	border:unset;
}

.top-banner-wrapper2 .cont_box .cont_title p {
	font-size: 0.8em;
	margin: 0;
	padding: 5px;
	color: #fff;
}




/*--------------------------------------------------------------------------------------------
　トップ　お知らせ
-------------------------------------------------------------------------------------------*/

#news-wrapper {
	width: 100%;
	min-height: 600px;
	background: #FFF;
	background-image:url("../images/background.png");
	background-position:top;
	/* 薄く */
	background-color:rgba(255,255,255,0.6);
	background-blend-mode:lighten;
}

#news-wrapper h2::after {
/*  content: " ";
  display: block;
  border-bottom: solid 5px #F00;
  margin: -5px 0 20px 0;
  width: 40px;*/
}

#news {
	/*width: 1280px;*/
	width: 1280px;
	margin: 20px auto;
	padding: 40px 0;
}

#news h2 {
	font-size: 2rem;
	margin: 20px 0;
	padding: 15px;
	/*color: #707070;*/
	border-bottom: 1px solid #CCC;
	/*font-family: "Noto Serif JP", sans-serif;*/
	font-weight: 500;
  	font-style: normal;
}

#news h3 a {
	color: #707070;
	margin: 20px 0;
}

#news h3 a:hover {
	text-decoration: none;
}

#news dt {
	width: 30%;
	float: left;
	clear: both;
	padding: 15px;	
	/*text-indent: 150px;*/
	text-indent: 180px;
	border-top: 1px dashed #ccc;
}

#news dd {
	width: 70%;
	float: left;
	padding: 15px;
	border-top: 1px dashed #ccc;
}

#news dl dt:first-child  {
	border-top: none;
}

#news dl dt:first-child + dd {
	border-top: none;
}

#news dl dd a {
	text-decoration: none;
    color: #333;
}

#news dl dd a:hover {
	text-decoration: underline;
}


#archive_news {
	/*width: 1280px;*/
	width: 100%;
	margin: 20px auto;
	padding: 40px 0;
}

#archive_news dt {
	width: 40%;
	float: left;
	clear: both;
	padding: 15px;	
	/*text-indent: 150px;*/
	text-indent: 180px;
	border-top: 1px dashed #ccc;
}

#archive_news dd {
	width: 60%;
	float: left;
	padding: 15px;
	border-top: 1px dashed #ccc;
}

#archive_news dl dt:first-child  {
	border-top: none;
}

#archive_news dl dt:first-child + dd {
	border-top: none;
}

#archive_news dl dd a {
	text-decoration: none;
    color: #333;
}

#archive_news dl dd a:hover {
	text-decoration: underline;
}


.icon_news {
    background-image: url("../images/top/icon_news.png");
    background-repeat: no-repeat;
    background-position: left;
}

.icon_event {
    background-image: url("../images/top/icon_event.png");
    background-repeat: no-repeat;
    background-position: left;
}

.icon_recruit {
    background-image: url("../images/top/icon_recruit.png");
    background-repeat: no-repeat;
    background-position:left;
}

.icon_fs {
    background-image: url("../images/top/icon_fs.png");
    background-repeat: no-repeat;
    background-position:left;
}

.icon_bs {
    background-image: url("../images/top/icon_bs.png");
    background-repeat: no-repeat;
    background-position:left;
}
.icon_sa {
    background-image: url("../images/top/icon_sa.png");
    background-repeat: no-repeat;
    background-position:left;
}


/*--------------------------------------------------------------------------------------------
　トップ　コンテンツ枠
-------------------------------------------------------------------------------------------*/

.top-cont-wrapper {
	width: 100%;
	min-height: 880px;
	display: block;
	position: relative;
	overflow: hidden;
}

.top-cont-wrapper::after {
  content: "";
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 400px;
  background-color: #E5E5E5;
  background: linear-gradient(180deg, #E5E5E5 20%, #FFFFFF 100%);
  opacity: 0.8;
  z-index: -1;
  display: block;
}

.top-cont-wrapper h2::after {
/*  content: " ";
  display: block;
  border-bottom: solid 5px #F00;
  margin: -5px 0 20px 0;
  width: 40px;*/
}

.top-cont {
	width: 100%;
	margin: 30px auto 0;
	display:flex;
}

.top-cont .order {
	order: -1;
}

.top-cont-pic {
	width: 65%;
	margin: 50px 0 0 0;
}

.top-cont-pic img {
	width: 100%;
	height: 650px;
	object-fit: cover;
	/*border-radius: 15px;*/
}

.top-cont-text {
	width: 35%;
	margin: 80px 60px 0 60px;
	background-color: #FFF;
}

.top-cont-text ul {
	margin: 10px 0 0 40px;
	display: flex;
	flex-wrap:wrap;
}

.top-cont-text li {
    position: relative;
    padding-left: 10px;
	list-style: none;
	text-indent: 15px;
	width: 300px;
}
 
.top-cont-text li::before {
    content: "";
    position: absolute;
    top: .6em;
    left: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    border-top: 2px solid #003586;
    border-right: 2px solid #003586;
}

.top-cont-text ul li a {
	text-decoration: none;
    color: #333;
}

.top-cont-text ul li a:hover {
	text-decoration: underline;
}

.top-cont-text p {
	margin: 10px 30px 0 30px;
}





/* ----------------------------------------------------------------------------------
*
*　コンテンツ枠
*
 ----------------------------------------------------------------------------------*/


main {
	clear: both;
	/*width: 1280px;*/
	min-height: 200px;
	margin: 0 auto;
}

main::after {
		clear: both;
		height: 0;
		visibility: hidden;
		display: block;
		content: ".";
}

main p,ol,ul,table,form {
	/*margin: 0 0 0 20px;*/
}


/*ニュース用 */
main #left {
    width: 300px;
    float: left;
}
.left h2 {
    border-bottom: 2px solid #5D85FF;
    font-weight: 100;
    margin-top: 15px;
    font-size: 1.3em;
    padding: 15px;
}
.left h2 svg {
    color: #5D85FF;
}
main #main {
    width: 900px;
    float: right;
	padding-top: 20px;
}


/*--------------------------------------------------------------------------------------------
　大画像　コンテンツメイン
-------------------------------------------------------------------------------------------*/
#cont_main_wide {
	width: 100%;
	height: 660px;
	position: relative;
	/*background: #739EDE;*/
	background: linear-gradient(45deg,#24549A 30%, #739EDE 50%);
	overflow: hidden;
	/*Transformation*/
	/*padding: 70px 0 90px;*/
	/*Transformation // */
	
}

#cont_main_wide img {
		object-fit: cover;
		width: 100%;
		height: 660px;
	
}

#cont_main_wide .title {
	display: block;
	width: 1280px;
	margin: 0 auto;
	z-index: 1;
}

#cont_main_wide .title h2 {
		/*Transformation*/
		/*top: 330px;*/
		/*Transformation // */
		/*left: calc(50% - 600px);*/
		position: absolute;
		top: 90px;
		display: block;
		width: 500px;
		text-align: left;
		color: #fff;
		text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
		z-index: 15000;
		
}

#cont_main_wide .title h2::before {
	content: attr(data-en);
	position: absolute;
	top: 45px;
	left: 5px;
	color: rgba(255,255,255, 1.0);
	font-size: 0.6em;
	text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
	/*text-transform: uppercase;*/
	z-index: 1;
}

/* 背景色ありコピー　*/
#cont_main_wide .body {
/*	display: block;
	margin: 0 auto;
	width: 800px;
	height: 380px;
	background-color: hsla(0,0%,12%,.2);
	z-index: 2;*/
	width: 900px;
	height: 380px;
	position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
	background-color: hsla(0,0%,12%,.5);
	border-radius: 10px;
	z-index: 15000;
	
}

#cont_main_wide .body h2 {
	display: block;
	text-align: center;
	color: #fff;
	font-size: 2.8em;
	line-height: 120%;
	text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
	z-index: 15000;
}

#cont_main_wide .body h3 {
	display: block;
	text-align: center;
	color: #fff;
	font-size: 1.6em;
	line-height: 120%;
	background: none;
	border: none;
	text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
	z-index: 15000;
}

#cont_main_wide .body p {
	display: block;
	padding: 20px;
	text-align: left;
	color: #fff;
	font-size: 1.6em;
	text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
	z-index: 15000;
}


/*--------------------------------------------------------------------------------------------
　リクルート　インタビュー用　コンテンツメイン
-------------------------------------------------------------------------------------------*/
#cont_main_recruit {
	width: 100%;
	height: 540px;
	position: relative;
	background-image: radial-gradient(#739ede, #4d8ebe 50%, #24549a);
	/*background: linear-gradient(45deg,#24549A 30%, #739EDE 50%);*/
	overflow: hidden;
	/*Transformation*/
	/*padding: 80px 0 80px;*/
	/*Transformation */
	
}

/*#cont_main_recruit .img {
	width: 1380px;
	margin: 0 auto;
	
}*/

#cont_main_recruit img {
	/*width: 1380px;
	margin: 0 auto;*/
	
	object-fit: cover;
	width: 100%;
	height: 540px;
	
}

#cont_main_recruit .title {
	width: 1380px;
	margin: 0 auto;
	position: relative;	
	z-index: 1;
}

#cont_main_recruit .body {
	width: 600px;
	height: 300px;
	position: absolute;
    top: 10%;
    right: 14%;
    transform: translate(40%, -140%);
	background-color: hsla(0,0%,12%,.2);
	border-radius: 10px;
	z-index: 1000;
	
}

#cont_main_recruit .body h2 {
	/*Transformation*/
	/*top: 330px;*/
	/*Transformation // */
	/*left: calc(50% - 600px);*/
	font-family: "BIZ UDPGothic", sans-serif;
	display: inline-block;
	text-align: left;
	color: #fff;
	text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
		
}


#cont_main_recruit .body p {
	display: block;
	padding: 10px 30px;
	text-align: left;
	color: #fff;
	text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
}




/*--------------------------------------------------------------------------------------------
　通常画像　コンテンツメイン
-------------------------------------------------------------------------------------------*/
#cont_main {
	width: 100%;
	height: 240px;
	position: relative;
	/*background: #739EDE;*/
	background: linear-gradient(45deg,#24549A 30%, #739EDE 50%);
	/*Transformation*/
	/*padding: 70px 0 90px;*/
	/*Transformation // */
	
}

#cont_main img {
		object-fit: cover;
		width: 100%;
		height: 240px;
}

#cont_main .title {
	display: block;
	width: 1280px;
	margin: 0 auto;
	z-index: 1;
}

#cont_main .title h2 {
		/*Transformation*/
		/*top: 330px;*/
		/*Transformation // */
		/*left: calc(50% - 600px);*/
		position: absolute;
		top: 90px;
		width: 500px;
		display: block;
		text-align: left;
		color: #fff;
		text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
}

#cont_main .title h2::before {
	content: attr(data-en);
	position: absolute;
	top: 40px;
	left: 0;
	color: rgba(255,255,255, .8);
	font-size: 0.6em;
	/*text-transform: uppercase;*/
	z-index: 1;
}


/*--------------------------------------------------------------------------------------------
　基本枠
-------------------------------------------------------------------------------------------*/

.contents_area  {
	width: 1280px;
	margin: 0 auto 50px;
	/*display: flex;*/
}

.contents_area2 {
	width: 1280px;
	margin: 0 auto 50px;
	display: flex;
}

.contents_area_recruit {
	display: block;
	width: 1380px;
	/*margin: 0 auto 50px;*/
	margin: 0 auto 50px;
	padding: 0 0 0 0;
}

.contents_area_recruit h2 {
	margin: 50px 0 50px 0;
	font-size: 2.58em;
	font-family: "BIZ UDPGothic", sans-serif;
	display: inline-block;
	text-align: left;
	color: #333;
	border-color: #333;
	width: 100%;
		
}

.contents_area_recruit h3 {
	/*Transformation*/
	/*top: 330px;*/
	/*Transformation // */
	/*left: calc(50% - 600px);*/
	margin: 50px 0 50px 0;
	font-size: 1.8em;
	font-family: "BIZ UDPGothic", sans-serif;
	display: inline-block;
	text-align: left;
	color: #333;
	border-color: #333;
	width: 100%;
		
}

.contents_area > p ,
.contents_area2 > p ,
.contents_area_recruit > p{
	margin: 0 0 0 20px;
}


.contents_area2 .main {
	width: 960px;
	display: block;
	margin: 0 auto 50px;
}

.contents_area2 .right {
	width: 300px;
	display: block;
	margin: 0 0 0 20px;
}



/*.main ul li {
	list-style-type:circle;
	width: 96%;
	margin-left:3em; 
}

.main ol li {
	list-style-type: none;
	counter-increment: cnt;
	position: relative;
	width: 96%;
}
 
.main ol li::before {
	content: "( " counter(cnt) " ) ";
	display:inline-block;
	margin-left:-3em; 
	width: 3em;
	text-align: right;
	position: absolute;
	top: 0;
	left: 0;
}*/

.main p {
	width: 96%;
	margin: 1em auto;
}


/*--------------------------------------------------------------------------------------------
　各コンテンツ用　400px用
-------------------------------------------------------------------------------------------*/

.content-flex-wrapper {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content:center;
	padding: 10px 0 50px;
	margin: 0 auto;
}


.content-flex-wrapper .cont_box {
	display: block;
	width: 400px;
	min-height: 340px;
	margin: 10px 10px 50px 10px;
	background-color: #F0F0F0;
	overflow: hidden;
}

.content-flex-wrapper .cont_box a {
	text-decoration: none;
}

.content-flex-wrapper .cont_box a:hover img {
	opacity: 0.8;
	transform: scale(1.05);
	transition: all 0.4s;
	
}

.content-flex-wrapper .cont_box img {
	width: 400px;
	height: 280px;
	object-fit: cover;
	display:block;
	margin: 0;
	transition: all 400ms ease-out;
	overflow: hidden;
}

.content-flex-wrapper .cont_box .cont_title {
	width: 400px;
	display:block;
	color: #fff;	
	margin: 0;
	padding: 10px;
	position: relative;
}

.content-flex-wrapper .cont_box .cont_title::before {
	content:"";
	position: absolute;
	top:18px;
	right:5px;
	display:inline-block;
	width: 25px;
	height: 19px;
	background:url(../images/allow3.png) no-repeat;
	background-size:contain;
}

.content-flex-wrapper .cont_box .cont_title h4 {
	font-size: 1.2em;
	margin: 0;
	padding: 0;
	color: #333;
	background-color: unset;
	border:unset;
}

.content-flex-wrapper .cont_box .cont_title p {
	font-size: 1em;
	margin: 0;
	padding: 5px;
	color: #333;
}

/* 事業部　3段組み　*/

.content-flex-wrapper .cont_box_product {
	display: block;
	width: 400px;
	min-height: 400px;
	margin: 10px 10px 50px 10px;
	background-color: #F0F0F0;
	overflow: hidden;
}

.content-flex-wrapper .cont_box_product a {
	text-decoration: none;
}

.content-flex-wrapper .cont_box_product a:hover img {
	opacity: 0.8;
	transform: scale(1.05);
	transition: all 0.4s;
	
}

.content-flex-wrapper .cont_box_product img {
	width: 400px;
	height: 280px;
	object-fit: cover;
	display:block;
	margin: 0;
	transition: all 400ms ease-out;
	overflow: hidden;
}

.content-flex-wrapper .cont_box_product .cont_title ,
.content-flex-wrapper .cont_box_product .cont_title2 {
	width: 400px;
	display:block;
	color: #fff;	
	margin: 0;
	padding: 10px;
	position: relative;
}

.content-flex-wrapper .cont_box_product .cont_title::before {
	content:"";
	position: absolute;
	top:18px;
	right:5px;
	display:inline-block;
	width: 25px;
	height: 19px;
	background:url(../images/allow3.png) no-repeat;
	background-size:contain;
}

.content-flex-wrapper .cont_box_product .cont_title2::before {
	content:"";
	position: absolute;
	top:18px;
	right:5px;
	display:inline-block;
	width: 25px;
	height: 19px;
	background:url(../images/allow3anc.png) no-repeat;
	background-size:contain;
}

.content-flex-wrapper .cont_box_product .cont_title h4 ,
.content-flex-wrapper .cont_box_product .cont_title2 h4 {
	font-size: 1.2em;
	margin: 0;
	padding: 0;
	color: #333;
	background-color: unset;
	border:unset;
}

.content-flex-wrapper .cont_box_product .cont_title p ,
.content-flex-wrapper .cont_box_product .cont_title2 p {
	font-size: 1em;
	margin: 0;
	padding: 5px;
	color: #333;
}


/* リクルート　縦画像用　*/

.content-flex-wrapper .cont_box_recruit {
	display: block;
	width: 320px;
	height: 500px;
	margin: 10px 10px 50px 10px;
	background-color: #F0F0F0;
	overflow: hidden;
}

.content-flex-wrapper .cont_box_recruit a {
	text-decoration: none;
}

.content-flex-wrapper .cont_box_recruit a:hover img {
	opacity: 0.8;
	transform: scale(1.05);
	transition: all 0.4s;
	overflow: hidden;
	
}

.content-flex-wrapper .cont_box_recruit img {
	width: 320px;
	height: 360px;
	object-fit: cover;
	display:block;
	margin: 0;
	transition: all 400ms ease-out;
	border-radius: 20px 20px 0 0;
}

.content-flex-wrapper .cont_box_recruit .cont_title {
	width: 320px;
	display:block;
	color: #fff;
	
	margin: 0;
	padding: 10px;
	position: relative;
}

.content-flex-wrapper .cont_box_recruit .cont_title::before {
/*	content:"";
	position: absolute;
	top:18px;
	right:5px;
	display:inline-block;
	width: 25px;
	height: 19px;
	background:url(../images/allow3.png) no-repeat;
	background-size:contain;*/
}

.content-flex-wrapper .cont_box_recruit .cont_title p {
	font-size: 1em;
	margin: 0;
	padding: 5px;
	color: #333;
}

/* 企業情報　3段組み用　*/

.content-flex-wrapper .cont_box_company {
	display:flex;
  	text-align:center;
	width: 400px;
	height: 280px;
	margin: 10px 10px 50px 10px;
	/*background-color: #F0F0F0;*/
	background-image: linear-gradient(0deg, #f0f0f0, #dcdcdc);
	overflow: hidden;
	justify-content: center;
	align-items: center;
	border-radius: 15px;
	position: relative;
}

.content-flex-wrapper .cont_box_company a {
	text-decoration: none;
	color: #333;
	display:flex;
	width: 400px;
	height: 280px;
}

.content-flex-wrapper .cont_box_company .title{
	display:block;
	margin: auto;
	justify-content: center;
	text-decoration: none;
	font-size: 1.6em;
	padding: 25% 20px;
}

.content-flex-wrapper .cont_box_company a:hover {
	opacity: 0.8;
	transition: all 0.4s;
	color: #006699;
	background-image: linear-gradient(180deg, #f0f0f0, #dcdcdc);
	justify-content: center;
	align-items: center;
}

.content-flex-wrapper .cont_box_company img {
	width: 400px;
	height: 280px;
	object-fit: cover;
	display:block;
	margin: 0;
	transition: all 400ms ease-out;
}

.content-flex-wrapper .cont_box_company .cont_title {
	width: 400px;
	display:block;
	color: #fff;
	margin: 0;
	padding: 10px;
	position: relative;
}

/* 数値で見る　*/
.content-flex-wrapper .cont_box_glaph img {
	max-width: 420px;
	height: auto;
}

.content-flex-wrapper .cont_box_cp img {
	max-width: 420px;
	height: auto;
	margin: 20px;
}

/*--------------------------------------------------------------------------------------------
　事業部用　2段組み
-------------------------------------------------------------------------------------------*/

.content-product-wrapper {
	width: 100%;
	display: flex;
	flex-wrap:nowrap;
	justify-content: left;
	padding: 50px 0;
	position: relative;
}

.content-product-wrapper .order {
	order: -1;
}

.content-product-wrapper .cont_box_img {
	display: block;
	width: 740px;
	margin: 10px;
	background-color: #fff;
	overflow: hidden;
	position: relative;
}

.content-product-wrapper > .cont_box_img > img {
	width: 100%;;
	height: 480px;
	object-fit: cover;
	display:block;
	margin: 0;
	transition: all 400ms ease-out;
}

.content-product-wrapper .cont_box {
	display: block;
	width: 580px;
	margin: 10px;
	background-color: #FFF;
	position: relative;
}

.content-product-wrapper .cont_box .title {
	display: block;
	margin: 0 0 0 -150px;
	padding: 20px;
	/*background-color: #FCFCFC;*/
	background-color: #FFF;
}

.content-product-wrapper .cont_box .titleorder {
	display: block;
	margin: 0;
	padding: 20px;
	width:730px;
	/*background-color: #FCFCFC;*/
	background-color: #FFF;
	position: relative;
	z-index: 1;
}

.content-product-wrapper .cont_box .title h3,
.content-product-wrapper .cont_box .titleorder h3 {
	color: #333;
	font-size: 2rem;	
	margin: 0;
	border: none;
	background: none;
	
}

.content-product-wrapper .cont_box .title p,
.content-product-wrapper .cont_box .titleorder p{
	color: #333;
	font-size: 1.2rem;	
	margin: 0 20px 20px 15px;
	border: none;
	background: none;
	
}


.content-product-wrapper .cont_box .body {
	display: block;
	width: 100%;
	margin: 0;
	padding: 20px;
	background-color: #FFF;
}

.content-product-wrapper .cont_box .body h5 {
	margin: 0 0 30px 0;;
	color: #333;
	font-family:none;
	border-bottom: #333 1px solid;
}




/*--------------------------------------------------------------------------------------------
　パンくず
-------------------------------------------------------------------------------------------*/
#topic_path {
	width:100%;
	/*height: 45px;*/
	line-height: 100%;
	background-color: #EFEFEF;
	/*margin: 0 0 15px 0;*/
	margin: 0;
	padding: 10px;
	font-size: 0.9em;
	color: #333;
}

#topic_path:after {clear: both;height: 0;visibility: hidden;display: block;content: ".";}

#topic_path p {
	display: block;
	width: 1280px;
	margin: 0 auto;
	padding: 0 0 0 0;
}

#topic_path a {
	text-decoration: none;
	color: #006699;
}

#topic_path a:hover {
	color: #333;
}

#topic_path .yj {
	font-size: 0.7em;
	color: #666;
}

/*
#topic_path ol {
	display: block;
	width: 1240px;
	margin: 0 auto;
	padding: 0 0 0 0;
}
#topic_path ol:after {clear: both;height: 0;visibility: hidden;display: block;content: ".";}

#topic_path ol li {
	float: left;
}
#topic_path ol li a {
	float: left;
	padding-right: 10px;
	padding-left: 10px;
	display: block;
	color: #46719F;
}
#topic_path ol li a:hover {
	color: #5B8FC7;
}
*/



/* ----------------------------------------------------------------------------------
*
*　事業紹介用
*
 ----------------------------------------------------------------------------------*/
.business-wrapper {
	position: relative;
	width: 100%;
	min-height: 700px;
	margin:0;
	padding: 0;
	overflow: hidden;
	/*display: flex;*/
}

.business-wrapper > div > img {
	width: 100%;
	height: 700px;
	object-fit: cover;
	margin: 0;
	opacity: .1;
	
}

.business-wrapper2 {
	width: 1280px;
	min-height: 100px;
	display:block;
	margin: 0 auto;
	/*z-index: 1;*/
	
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	
	/*border: #f00 1px solid;	*/
}

.business-wrapper2 h2 {
	color: #333;
	text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.4), 0 1px 1px rgba(255, 255, 255, 0.5);
}

.business-wrapper3 {
	display: flex;
	flex-wrap: nowrap;
	justify-content:center;
	background-color: rgba(0,102,153,0.50);
	min-height: 360px;
	padding: 40px 20px;
}

.business-wrapper3-2 {
	display: flex;
	flex-wrap: nowrap;
	justify-content:center;
	background-color: rgba(0,102,153,0.50);
	/*background-color: rgba(153,85,0,0.50);*/
	min-height: 360px;
	padding: 40px 20px;
	border-radius: 20px;
}

.business-wrapper4 {
	display: block;
	width:600px;	
	padding: 15px;
	margin: 0 auto;
	/*background-color: #fff;*/
	background-color: hsla(0,0%,100%,0.9);
	
	/*border: #f00 1px solid;*/
}

.business-wrapper4 h3 {
	font-size: 1.1em !important;
	margin: 0 !important;
	color:#333;
	background-color: unset;
	border: unset;
	border-bottom: #333 1px solid;
	border-radius: 0px;
	
}

.business-wrapper4 img {
	width:600px;
	height: 400px;
	object-fit: cover;

}


/*FS 紹介　*/

.fs_partner_title {
  position: relative;
  /*color:#00acc1;*/
  text-align: center;
  padding: 0 300px;/*文字数が増えた時に線に被らないように線幅以上のサイズで設定*/
  border: none;
  color:#333;
  margin: 30px auto;
}
.fs_partner_title::before,
.fs_partner_title::after {
  position: absolute;
  content: '';
  top: calc(50% - 1.5px);/*上下中央にする*/
  display: inline-block;
  width: 300px;
  height: 2px;
  border-top: 2px solid #000;
}
.fs_partner_title::before {
  left:0;
}
.fs_partner_title::after {
  right: 0;
}

.fs_mdlist {
	width:100%;
	display: flex;
	flex-wrap: wrap;
}	
	
.fs_mdlist li {
/*	width:100px;
	display: block;
	background: rgba(240,240,240,1.00);
	padding: 10px;
	margin: 10px;*/
	list-style: none;
	position: relative;
}	
	
.fs_mdlist li a {
	width:100px;
	display: block;
	background: rgba(240,240,240,1.00);
	padding: 10px;
	margin: 10px;
	text-decoration: none;
	color: #333;
}

.fs_mdlist li a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-color: transparent;
	border: 1px solid #333;
	border-radius: 50%;
}

.fs_mdlist li a::after {
	content: '';
	position: absolute;
	top: calc(50% - 6px);
	right: 35px;
	transform: rotate(135deg) translateY(-50%);
	width: 6px;
	height: 6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	border-color: #333 #333 transparent transparent;
}

.fs_mdlist li a:hover {
	/*background-color: #333;*/

}

.fs_mdlist li a:hover::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 27px;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-color: #0C6488;
	border: 1px solid #333;
	border-radius: 50%;
}

.fs_mdlist li a:hover::after {
	border-color: #f2f2f2 #f2f2f2 transparent transparent;
}	
	
	
/*FS 取引先企業名　*/	
.fs_list {
	width:100%;
	display: flex;
	flex-wrap: wrap;
}
.fs_list li {
	width:400px;
	display: block;
	background: rgba(240,240,240,1.00);
	padding: 10px;
	margin: 10px;
}


/* 3段 商品紹介　詳細用 */
.fs_flex_wrapper {
	display: flex;
	flex-wrap: wrap;
	margin: 40px auto 0;
	width: 100%;
}

.cont3_box_product {
	display:block;
	width: 210px;
	padding: 10px;
	margin: 10px 5px 5px 0;
}

.cont3_box_product img {
	object-fit: cover;
	width: 100%;
	height: 160px;
}

/* ----------------------------------------------------------------------------------
*
*　リクルート用
*
 ----------------------------------------------------------------------------------*/

.recruit-bg {
	width: 100%;
	position:relative;
	/*background-color: #fff;
	border-radius: 20px;*/
	
	/*margin: 30px auto 0;*/
	margin: 0 auto 0;
	background-image:url("../images/background.png");
	
	
	/* 薄く */
	background-color:rgba(255,255,255,0.6);
	background-blend-mode:lighten;
	
	
	background-position:top center;
	background-repeat:repeat-y;

}

.recruit-bg-cl1 {
background-color: #dfe5ea;
}


.topslide .title {
	display: block;
	width: 1280px;
	margin: 0 auto;
	z-index: 1;
}

.topslide .title h2 {
		/*Transformation*/
		/*top: 330px;*/
		/*Transformation // */
		/*left: calc(50% - 600px);*/
		position: absolute;
		top: 90px;
		display: block;
		width: 300px;
		text-align: left;
		color: #fff;
		text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
		z-index: 15000;
		
}

.topslide .title h2::before {
	content: attr(data-en);
	position: absolute;
	top: 45px;
	left: 5px;
	color: rgba(255,255,255, 1.0);
	font-size: 0.6em;
	text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
	/*text-transform: uppercase;*/
	z-index: 1;
}

/* 背景色ありコピー　*/
.topslide .body {
/*	display: block;
	margin: 0 auto;
	width: 800px;
	height: 380px;
	background-color: hsla(0,0%,12%,.2);
	z-index: 2;*/
	width: 900px;
	height: 120px;
	position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -50%);
	background-color: hsla(0,0%,12%,.1);
	border-radius: 10px;
	z-index: 15000;
	
}

.topslide .body h2 {
	display: block;
	font-size: 3.2em;
	font-family: "M PLUS 1p", sans-serif;
	text-align: center;
	color: #fff;
	text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
	z-index: 15000;
}

.topslide .body p {
	display: block;
	padding: 20px;
	text-align: left;
	color: #fff;
	text-shadow: 1px 2px 1px rgba(0,0,0,0.3);
	z-index: 15000;
}




.recruit-news-wrapper {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 50%;
	height: 90px;
	padding: 0 0 0 25px;
	background: #FFF;
	border: #fff 1px solid;
	border-radius: 15px 0 0 0;
	z-index: 100;
}

.recruit-news-wrapper h2 {
	/*font-family: "M PLUS 1p", sans-serif;*/
/*  content: " ";
  display: block;
  border-bottom: solid 5px #F00;
  margin: -5px 0 20px 0;
  width: 40px;*/
}

.recruit-news {
	width: 100%;
	margin: 5px auto;
	display: flex;
	flex-wrap: nowrap;
	/*overflow: hidden;*/
}

.recruit-news p {
	display: block;
	width:15%;
	margin: 5px 0 0 0;
	color: #006699;
}

.recruit-news dl {
	display: flex;
	width: 100%;
}

.recruit-news dt {
	display: block;
	width: 20%;
	padding: 5px;
}

.recruit-news dd {
	display: block;
	width: 70%;
	padding: 5px;
}

.recruit-news dl dd a {
	text-decoration: none;
    color: #333;
}

.recruit-news dl dd a:hover {
	text-decoration: underline;
}*

/*.recruit-news dl dt:first-child  {
	border-top: none;
}

.recruit-news dl dt:first-child + dd {
	border-top: none;
}

*/

.recruit-top-wrapper {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	justify-content:center;
	width: 1360px;
}

.recruit-top-wrapper h2 {
	/*font-family: "M PLUS 1p", sans-serif;*/
	font-size: 2.8em;
	font-family: "BIZ UDPGothic", sans-serif;
	display: block;
	margin: 60px 0 40px;
	text-align: center;
	width: 100%;
}

.recruit-top-box {
	display: block;
	width: 580px;
	margin: 50px;
	position: relative;

}

.recruit-top-box img {
	width: 580px;
	height: 380px;
	object-fit: cover;
	border-radius: 15px;
}


.recruit-top-box div {
	position: absolute;
	display: block;
	/*	top:42%;
	left:0;
	right:0;
	bottom:0;
	margin: auto*/;
	
	
	/*width: 400px;*/
	margin: auto;
	top: 40%;
    left: 0;
	right:0;
	/*transform: translate(-50%, -50%);*/
	background-color: hsla(0,0%,12%,.3);
	
}

.recruit-top-box div p {
	text-align: center;
	/*font-family: "M PLUS 1p", sans-serif;*/
	font-size: 2.1em;
	color: #FFF;	
	text-shadow: 1px 2px 2px rgba(0,0,0,0.8);
	/*text-shadow: 2px 2px 5px rgba(255,255,255,0.90);*/
	
	
}

/*.recruit-top-box:nth-child(odd) {
	margin: 160px 0;
}*/


/*.recruit-top-wrapper:nth-child(1) .recruit-top-box:nth-child(even) , 
.recruit-top-wrapper:nth-child(2) .recruit-top-box:nth-child(even)  {
	margin: 160px 0 0 0;
}*/



/*.recruit-top-wrapper:nth-child(2) .recruit-top-box:nth-child(even)  {
	margin: 0;
}*/

/*.recruit-top-wrapper:nth-child(3) .recruit-top-box:nth-child(even)  {
	margin: 0 !important;
}*/





.recruit-top-wide-wrapper {
	display: block;
	width: 100%;
	margin: 50px auto;
}

.recruit-top-wide-wrapper h2 {
	/*font-family: "M PLUS 1p", sans-serif;
	
	font-size: 2.8em;*/
	font-family: "BIZ UDPGothic", sans-serif;
	display: block;
	margin: 60px 0 40px;
	text-align: center;
	width: 100%;
	font-size: 2.8em;
}


/*--------------------------------------------------------------------------------------------
　リクルート　先輩コンテンツ枠
-------------------------------------------------------------------------------------------*/

.recruit-member-wrapper {
	width: 100%;
	min-height: 540px;
	display: block;
	position: relative;
	overflow: hidden;
	margin: 0 0 80px 0;
}

.recruit-member-wrapper::after {
  content: "";
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 300px;
  background-color: #E5E5E5;
  background: linear-gradient(180deg, #E5E5E5 20%, #FFFFFF 100%);
  opacity: 0.8;
  z-index: -1;
  display: block;
}


.recruit-member-cont-wrapper {
  margin:0 auto;
  width:1380px;
  display:flex;
}


.recruit-member-cont-wrapper .order {
	order: -1;
}

.recruit-member-cont-wrapper .cont-pic {
	width: 45%;
	margin: 50px 0 0 0;
}

.recruit-member-cont-wrapper .cont-pic img {
	width: 100%;
	border-radius: 10px;
	height: auto;
	/*object-fit: cover;*/
	/**/
}

.recruit-member-cont-wrapper .cont-text {
	width: 55%;
	margin: 80px 60px 0 60px;
	padding: 20px;
	background-color: #FFF;
	border: #CCC 1px solid;
	border-radius: 15px;
}

.recruit-member-cont-wrapper .cont-text h2 {
	/*font-family: "M PLUS 1p", sans-serif;*/
	font-family: "BIZ UDPGothic", sans-serif;
	display: block;
	margin: 60px 30px 30px;
	text-align: left;
	width: 100%;
}

.recruit-member-cont-wrapper .cont-text p {
	margin: 10px 30px 0 30px;
}



/* スケジュール */

.recruit-schedule-wrapper {
	width: 1200px;
	margin: 50px auto;
	/*display: flex;*/
}

.recruit-schedule-wrapper  h2 {
	/*font-family: "M PLUS 1p", sans-serif;*/
	font-size: 2.8em;
	font-family: "BIZ UDPGothic", sans-serif;
	display: block;
	margin: 60px 0 40px;
	text-align: center;
	width: 100%;
}

.recruit-schedule {
    position: relative;
    font-size: 1em;;
}
.recruit-schedule::before {
    position: absolute;
    top: 0px;
    left: 6.5em;
    width: 6px;
    height: 100%;
    background-color: #deeef7;
    content: "";
}

.recruit-schedule ul {
    padding: 0px;
    margin: 0px;
    list-style: none;
}

.recruit-schedule li {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}
.recruit-schedule li + li {
    margin-top: 2em;
}

.recruit-schedule_time {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 5em;
    height: 2em;
    border-radius: 6px;
    background-color: #3388dd;
    color: #fff;
    text-align: center;
}
.recruit-schedule_time::before {
    position: absolute;
    top: 50%;
    right: 0px;
    transform: translateX(50%) translateY(-50%) rotate(45deg);
    width: 0.5em;
    height: 0.5em;
    z-index: -1;
    background-color: #3388dd;
    content: "";
}
.recruit-schedule_time::after {
    position: absolute;
    top: 50%;
    left: 6em;
    transform: translateY(-50%);
    width: 1em;
    height: 1em;
    border: 2px solid #fff;
    border-radius: 50%;
    background-color: #3388dd;
    content: "";
}

.recruit-schedule_content_title {
    font-weight: bold;
}

.recruit-schedule_content {
    margin: 0px 0px 0px 3em;
    width: calc(100% - 10em);
}


/*--------------------------------------------------------------------------------------------
　リクルート　応募用
-------------------------------------------------------------------------------------------*/

.recruit_entry_title {
	display: block;
	width: 600px;
	margin: 0 auto 100px;
}
	

.recruit_entry_title h3 {
	/*display: block;*/
	font-size:3em;
	font-family: "BIZ UDPGothic", sans-serif;
	text-align: center;
	border: none;
	border-radius: 0;
	border-bottom: 1px #ccc solid;
	position: relative;
	background-color:rgba(0,0,0,0)
}

.recruit_entry_title h3::before {
	content: attr(data-en);
	position: absolute;
	top: 100px;
	left: 0;
	right:0;
	font-size:0.8em;
	z-index: 1;
}

.recruit_entry_body p {
	font-size:2em;
	text-align: center;
	line-height: 3em;
}

.recruit_entry_banner {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	margin: 50px auto;
	padding: 30px;
}

.recruit_entry_banner .banner{
	display: block;
	margin: 20px;
	text-align: center;
	color: #006699;
}

.bgwave {
	background:url("../images/recruit/wave.svg") ;
	/*background-color: #f7d5b3;*/
	margin: 0 calc(50% - 50vw) ;
	width: calc(100VW - 10px);
	min-height: 1000px;
	/*margin: 100px 0 0 0;*/
	background-size:auto;
	background-repeat:repeat-y;
	position: relative;
	display: block;
}

/*.bgwaveorange::before {
	background: url("../recruit/waveorange.svg");
	top: 0;
	content: '';
	height: 150px;
	position: absolute;
	margin: 0 calc(50% - 50vw);
	width: 100VW;
}
*/

/*.bgwaveorange::after {
	background: url("../images/recruit/waveorangeunder.svg");
	bottom: -150px;
	content: '';
	height: 150px;
	position: absolute;
	margin: 0 calc(50% - 50vw);
	width: 100VW;
	z-index: 0;
}*/


/* ----------------------------------------------------------------------------------
*
*　アクセス
*
 ----------------------------------------------------------------------------------*/
.google_map {
  width: 100%;
  height: 600px;
  /*overflow: hidden;*/
}

.google_map iframe {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

.google_cal iframe {
  width: 1280px;
  height: 680px;
}


/* ----------------------------------------------------------------------------------
*
*　サイトマップ
*
 ----------------------------------------------------------------------------------*/

.sitemap > ul {}

.sitemap > ul > li {
    list-style: none !important;
	width: 96%;
    margin-left: auto;
    margin-right: auto;
	border: 2px solid #7A94DC;
	font-size: 1.4em;
	margin-bottom: 10px;
	padding: 20px;
	border-radius: 20px;
}

.page_item_has_children > a {
}

.sitemap .children a {
	font-size:0.8em;
}

.sitemap .children .children a {
	font-size: 0.6em;;
}

/* ----------------------------------------------------------------------------------
*
*　お問合せ
*
 ----------------------------------------------------------------------------------*/

#contact_form select {
	padding: 5px;
	border: 1px solid #ccc;
	border-radius: 10px;
}

#contact_form input {
	padding: 5px;
	border: 1px solid #ccc;
	/*width: 80%;*/
	border-radius: 10px;
}

#contact_form textarea {
	padding: 10px;
	border-radius: 10px;
	border: 1px solid #ccc;
	width: 80%;
}

#contact_form input[type="checkbox"] {
	padding: 5px;
	border: 1px solid #ccc;
	border-radius: 10px;
}

#contact_form {
		width: 1200px;
		margin: 0 auto;
	
	display: flex;
	flex-wrap: wrap;
}
/*#contact_form:after {
		clear: both;
		height: 0;
		visibility: hidden;
		display: block;
		content: ".";
}*/



#contact_form dt {
		width: 230px;
		display: block;
		padding: 15px;
		border-top: 1px dashed #ccc;
}

#contact_form dd {
		width: 860px;
		padding: 15px;
		display: block;
		border-top: 1px dashed #ccc;
}

#contact_form dl dt:first-child  {
	border-top: none;
}

#contact_form dl dt:first-child + dd {
	border-top: none;
}


.contact {
	width: 96%;
	margin-left: auto;
	margin-right: auto;
}

.contact .dropdown {
	padding: 5px;
	border: 1px solid #ccc;
	border-radius: 10px;
}


.contact input {
	padding: 5px;
	border: 1px solid #ccc;
	/*width: 80%;*/
	border-radius: 10px;
}


.contact textarea {
	padding: 10px;
	border-radius: 10px;
	border: 1px solid #ccc;
	width: 80%;
}

.contact th {
	width: 300px;
	border-top: 1px solid #Ccc;
	padding: 10px;
}

.contact td {
	border-top: 1px solid #Ccc;
	padding: 10px;
}

.submit {
	text-align: center;
	margin: 10px auto;
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	color: #111;
	text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.4), 0 1px 1px rgba(255, 255, 255, 0.5);
	letter-spacing: 0;
	border: none;
	box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.4);
	border-radius: 6px;
	text-decoration: none;
	padding: 15px 40px;
	font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #e9e9e9), color-stop(1.00, #ababab));
	background: -webkit-linear-gradient(#e9e9e9, #ababab);
	background: -moz-linear-gradient(#e9e9e9, #ababab);
	background: -o-linear-gradient(#e9e9e9, #ababab);
	background: -ms-linear-gradient(#e9e9e9, #ababab);
	background: linear-gradient(#e9e9e9, #ababab);
	text-align: center;
}

.reset {
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	color: #111;
	text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.4), 0 1px 1px rgba(255, 255, 255, 0.5);
	letter-spacing: 0;
	border: none;
	box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.4);
	border-radius: 6px;
	text-decoration: none;
	padding: 15px 40px;
	font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #e9e9e9), color-stop(1.00, #ababab));
	background: -webkit-linear-gradient(#e9e9e9, #ababab);
	background: -moz-linear-gradient(#e9e9e9, #ababab);
	background: -o-linear-gradient(#e9e9e9, #ababab);
	background: -ms-linear-gradient(#e9e9e9, #ababab);
	background: linear-gradient(#e9e9e9, #ababab);
	text-align: center;
}




/* ----------------------------------------------------------------------------------
*
*　フレックスボックス
*
 ----------------------------------------------------------------------------------*/

.contflex_warapper {
	display: flex;
	flex-wrap: nowrap;
	margin: 40px auto 0;
}

/*.contflex_warapper h5 {
	margin: 0 10px;
	padding: 0;
	font-weight: 400;
	font-size: 1.4rem;
}*/

.contflex_warapper h3 {
	font-family: "BIZ UDPGothic", sans-serif;
	font-size: 1.2em;
	font-weight: 500;
	color: #333;
	border: none;
	background: none;
	margin: 30px 0 0 0;
	padding: 0;
}

.contflex_warapper h3::after {
  content: " ";
  display: block;
  border-bottom: solid 3px #FF6E00;
  margin: -5px 0 20px 0;
  width: 40px;
}


.cont_box_40 {
	display:block;
	width: 40%;
	padding: 0 30px 20px;
} 

.cont_box_40 img {
	width: 100%;
	height: auto;
}

.cont_box_50 {
	display:block;
	width: 50%;
	padding: 0 30px 20px;
} 

.cont_box_60 {
	display:block;
	width: 60%;
	padding: 0 30px 20px;
}

.cont_box_80 {
	display:block;
	width: 80%;
	padding: 0 30px 20px;
} 


/* 2段 */
.cont2_box_bd {
	display:block;
	/*border: 1px #7F7E7E solid;*/
	width: 680px;
	padding: 10px;
	margin: 10px;
}

.cont2_box, .cont2_box_nor{
	display:block;
	width: 580px;
	padding: 10px;
	margin: 20px 10px;
}

.cont2_box img {
	width:100%;
	height:326px;
	object-fit: cover;
}

.cont2_box_nor img {
	width:100%;	
	height: auto;
}

/* 3段 */
.cont3_box_bd {
	display:block;
	border: 1px #7F7E7E solid;
	width: 360px;
	padding: 10px;
	margin: 10px;
}

.cont3_box {
	display:block;
	width: 360px;
	padding: 10px;
	margin: 10px;
}

.cont3_box img {
	width:100%;
	height:220px;
	object-fit: cover;
}

.cont3_box .title {
	display:block;
	width:100%;
	background-color: #F28E0B;
	color: #fff;
	margin: 0;
	padding: 0.25em 0;
	text-align: center;
}

.cont3_box .title::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "　\f061";
}

.cont3_box a:hover {
	text-decoration: none;
	opacity: .8;
} 





/* ----------------------------------------------------------------------------------
*
*　CTA ボックス
*
 ----------------------------------------------------------------------------------*/

.cta_warapper {
	/*display: flex;
	flex-wrap: wrap;*/
	width: 1180px;
	margin: 80px auto 80px;
	padding: 30px;
	border: 1px #f0f0f0 solid;
	border-radius: 15px;
}

.cta_warapper h4 {
	border: none !important;
	padding: 0;
	font-size: 1.5rem;
	font-weight: 500;
	
	margin: 0 0 20px 0;
	color: #24549A;
	text-align: left;
	background-color: #fff;
	
}

.cta_warapper p {
	font-family: "Noto Serif JP", sans-serif;
	font-weight: 500;
  	font-style: normal;
	font-size: 1.2em;
	line-height: 2.4em;
	
}






/* ----------------------------------------------------------------------------------
*
*
* 共通　項目
*
*
 ----------------------------------------------------------------------------------*/
.jsg {
	/* 2.5文字字下げ　*/
	text-indent: -2.5em;
	padding-left: 2.5em;
	line-height: 120%;
	margin: 0;
}

.cont_h2 {
		width: 100%;
		text-align: left;
		font-size: 3.2em;
		padding-top: 50px;
		padding-bottom: 50px;
}
.cont_h3 {
		padding-top: 30px;
		padding-bottom: 30px;
		font-size: 2em;
		color: #394C93;
		 
}

.cont_h4 {

	padding: 10px 0 20px 70px;
	font-size: 1.4em;
	color: #333;
	position: relative;
	text-align: left;
	background-color: #fff;
	border-radius: 0;
	border-bottom: 1px dotted #F4F1F1;
}
	
.cont_h4::before {
	position: absolute;
	top:10px;
	left:5px;
	content:"";
	display:inline-block;
	width: 50px;
	height: 50px;
	background:url(../images/common/tree_icon.png) no-repeat;
	background-size:contain;
}

.cont_h5 {
		width: 90%;
		margin: 0 auto;
		padding-top: 10px;
		padding-bottom: 10px;
		font-size: 1.2em;
}
.cont_dl {
		width: 1100px;
		margin-left: auto;
		margin-right: auto;
}

.cont_dl:after {
		clear: both;
		height: 0;
		visibility: hidden;
		display: block;
		content: ".";
}
.cont_dl dt {
		width: 200px;
		float: left;
		clear: both;
		padding: 15px;
		border-top: 1px dashed #ccc;
}
.cont_dl dd {
		width: 850px;
		padding: 15px;
		float: left;
		border-top: 1px dashed #ccc;
}
.contents_textarea {
		width: 96%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 10px;
}
.cont_text {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 10px;
}

table {
		margin: 0 auto;
}
th {
		padding: 20px;
		background-color: #FBFBFB;
		border: 1px solid #EFEFEF;
}
td {
		padding: 20px;
		border: 1px solid #EFEFEF;
}


.cont_table {
		width: 96%;
		margin-right: auto;
		margin-left: auto;
}
.cont_table th {
		padding: 10px;
		background-color: #FBFBFB;
		border: 1px solid #EFEFEF;
		width: 30%;
		text-align: left;
}
.cont_table td {
		padding: 10px;
		border: 1px solid #EFEFEF;
}

.cont_table_history {
		width: 96%;
		margin-right: auto;
		margin-left: auto;
}
.cont_table_history th {
		padding: 10px;
		background-color: #FBFBFB;
		border: 1px solid #EFEFEF;
		width: 100px;
		text-align: right;
}
.cont_table_history td {
		padding: 10px;
		border: 1px solid #EFEFEF;
}

table.tb04 {
	width: 100%;
}

.tb01 th,
.tb01 td,
.tb02 th,
.tb02 td,
.tb03 th,
.tb03 td,
.tb04 th,
.tb04 td
{
  padding: 10px;
  border: solid 1px #ccc;
  text-align:left;
  box-sizing:border-box;
}
.tb01 th,
.tb02 th,
.tb03 th
{
  background: #EBEBEB;
}

.tb01 th {
	text-align: center;
}
.tb01 .nrp { 
	white-space:nowrap;
}

.tb04 th
{
  background: #def;
}

.tb04 tr:nth-child(2n+1) > td:first-child {
	text-align: center;
}

.tb04 td:nth-child(2),
.tb04 td:nth-child(3)
{
  background: #EBEBEB;
}

.cont_ul {
		width: 94%;
		margin:0 auto;
}
.cont_ul li {
		margin-left: 2em;
		padding-left: 10px;
		list-style: disc;
}

.cont_ul2 {
		width: 94%;
		margin:0 auto;
}
.cont_ul2 li {
		padding-left:5px;
		list-style: disc;
}

.cont_ol {
		width: 90%;
		margin:0 auto;
}

.cont_ol li {
		padding-left:5px;
		list-style:decimal;
}

/* 枠付き　*/
.flex_ul {
	width: 94%;
	display: flex;
	flex-wrap: wrap;
}

.flex_ul li {
	width: 240px;
	padding:0 0 0 5px;
}

.flex_ul li a {
  display: inline-block;
  text-indent: 1em;
  text-decoration: none;
  
}
.flex_ul li a::before {
  content: "・ ";
}

.flex_ul li a:hover {
  text-decoration: underline;
}

/* 枠なし */
.flex_ul2 {
	width: 98%;
	display: flex;
	flex-wrap: wrap;
}

.flex_ul2 li {
	width: 240px;
	padding:0 0 0 5px;
}


/* 汎用数値リスト　*/
.nm_list > li {
	margin: 0 0 0 2em;
	padding: 0 0 0 1em;
	list-style-type: none;
	counter-increment: cnt;
	position: relative;
	width: 90%;
}
 
.nm_list > li::before {
	content: "（" counter(cnt) "） ";
	display:inline-block;
	margin-left:-2em; /* サイトに合せて調整 */
	width: 2em;
	text-align: right;
	position: absolute;
	top: 0;
	left: 0;
}


/* 汎用リスト　*/

.cp_list {
	width: 96%;
	margin: 15px auto;
}

.cp_list li {
	position:relative;
	padding: 0em 0.3em 0.3em 1.3em;
}
.cp_list li::before {
	position: absolute;
	content: '';
	display: block;
	top: 0.5em;
	left: 0;
	width: 6px;
	height: 6px;
	border-right: 3px solid #333;
	border-bottom: 3px solid #333;
	transform: rotate(-45deg);
}

/* 〇数値リスト　*/
ol {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
  margin: 0 0 0 20px;
}
.ml_list > li {
  /*margin: 0 0 0 3em;*/
  margin: 0;
  width: 90%;
  /*font-size: 13px;*/
  line-height: 1.5;
  padding: 0 0 0 28px;
  /*padding: 0;*/
  position: relative;
}
.ml_list > li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #FFF;
  border: 1px solid;
  border-color: #666;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 18px;
  width: 18px;
  color: #333;
  font-size: 85%;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
}


/* ----------------------------------------------------------------------------------
*
*　汎用ボタン
*
 ----------------------------------------------------------------------------------*/

/* VIEW MORE 用 */
.button-01 a {
  font-family: 'Noto Serif JP', serif;
  font-size: 1em;
  letter-spacing: 0.1em;
  color: #333;
  font-weight: 400;
  border: solid 1px #333;
  display: block;
  box-sizing: border-box;
  max-width: 300px;
  text-align: center; 
  padding: 16px 64px;
  margin: 50px 24px 24px 24px;
  margin-inline: auto;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}

.button-01 a:hover {
  color: #fff;
  background: #333;
  /*background: #006699;*/
  transition: all 0.3s;
}


/* アンカー用ボタン */
#content-anchor {
	width: 1200px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}

#content-anchor li {
	display: block;
	width: 33%;
	margin: 20px 10px;
}

a.arrow_u {
	position: relative;
	display: inline-block;
	padding: 5px 10px 20px 10px;
	width: 100%;
	border: 1px solid #909090;
	border-radius: 10px;
	background: #E8F4FD;
	text-align: center;
	color:#333;
	text-decoration: none;
}
a.arrow_u:after {
  content: '';
  width: 9px;
  height: 9px;
  border: 0;
  border-bottom: solid 2px #333;
  border-right: solid 2px #333;
  transform: rotate(45deg);
  position: absolute;
  bottom: 10px;
  left: 50%;
  margin: auto;
}

a.arrow_u:hover {
	background: #0063AD;
	color: #FFF;
	text-decoration: none;
}

a.arrow_u:hover:after {
  content: '';
  width: 9px;
  height: 9px;
  border: 0;
  border-bottom: solid 2px #FFF;
  border-right: solid 2px #FFF;
  transform: rotate(45deg);
  position: absolute;
  bottom: 10px;
  left: 50%;
  margin: auto;
}


/* 予備 */

a.btn-radius-solid {
  margin: 20px auto;
  width: 60%;
  border: 1px solid #909090;
  border-radius: 15px;
  background: #909090;
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
  text-decoration: none;
  padding: 10px;
  color:#fff;
  font-size:1.6rem;
  font-weight: 500;
  display: block;
}

a.btn-radius-solid:hover {
  /*background: linear-gradient(to top, #B41941 0%, #BB4060 100%);*/
  background: linear-gradient(to top, #909090 0%, #514D4E 100%);
  text-decoration: none;
  color: #FFF;
}

a.btn--orange {
  color: #fff;
  background-color: #eb6100;
}

a.btn--orange:hover {
  color: #fff;
  background: #f56500;
}

a.btn-c {
  font-size: 1.8rem;
  position: relative;
  padding: 1.5rem 2rem 1.5rem 2rem;
  border-radius: 100vh;
}

a.btn-c i.fa {
  margin-right: 1rem;
}

a.btn-c:before {
  font-family: 'Font Awesome 5 Free';
  font-size: 1.6rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - .8rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f054';
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 0.5rem;
}

.btn-common,
a.btn-common {
  color: #fff;
  background-color: #8D8E8D;
}

.btn-common:hover,
a.btn-common:hover {
  color: #fff;
  background: #C5C5C5;
}

a.btn-radius {
  border-radius: 100vh;
}


/* ----------------------------------------------------------------------------------
*
*　書類リンクアイコン
*
 ----------------------------------------------------------------------------------*/
/*a[href$=".pdf"] {*/
a[href$=".pdf"]:not(:has(img)) {
	padding-right: 1.7em;	
	vertical-align: -9px;
	display: inline-block;
	background: url("../images/pdf_icon.fw.png") no-repeat 100% 50%;
	background-size: 1.5em 1.5em;
}
a[href$=".doc"],
a[href$=".docx"] {
	padding-right: 1.7em;	
	vertical-align: -9px;
	display: inline-block;
	background: url("../images/word_icon.fw.png") no-repeat 100% 50%;
	background-size: 1.5em 1.5em;
}
a[href$=".xls"],
a[href$=".xlsx"] {
	padding-right: 1.7em;
	vertical-align: -9px;
	display: inline-block;
	background: url("../images/excel_icon.fw.png") no-repeat 100% 50%;
	background-size: 1.5em 1.5em;
}

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

/* ----------------------------------------------------------------------------------
*
*　上に戻る
*
 ----------------------------------------------------------------------------------*/
#page-top {
  position: fixed;
  bottom: 80px;
  right: 10px;
  font-size: 20px;
  line-height: 1;
  z-index: 99;
}
#page-top a {
  background: #1B2A43;
  text-decoration: none;
  color: #fff;
  width: 50px;
  height: 50px;
  padding: 15px 20px 22px 19px;
  text-align: center;
  display: block;
  border-radius: 25px;
  opacity: 0.8;
  transition: all .3s ease;
}
#page-top a:hover {
  text-decoration: none;
  opacity: .8;
}




/* ----------------------------------------------------------------------------------
*
*　WP　カレンダー用
*
 ----------------------------------------------------------------------------------*/
#wp-calendar {
    width: 100%;
}

#wp-calendar table {
	/*border: #000000 1px solid;*/
}

#wp-calendar th {
    background-color: #F3F3F3;
    padding: 5px;
	border: #f1f1f1 1px solid;
	text-align: center;
}

#wp-calendar th:nth-child(1) {
	 background-color: #E95151;
	color: #fff;
}

#wp-calendar th:nth-child(7) {
	 background-color: #598EEB;
	color: #fff;
}


#wp-calendar td {
    padding: 5px;
	border: #f1f1f1 1px solid;
	text-align: center;
}
#wp-calendar td:nth-child(1) {
	color: #E95151;
}
#wp-calendar td:last-child {
	color: #598EEB;
}

#wp-calendar caption {
    text-align: center;
}

/*.wp-calendar-table{
	border-top-width:0;
	border-right-width:0;
}
*/
/*日付の背景（色や形を変更）*/

.widget_calendar tbody td a {
	background: #17A5A7; /*背景色*/
	border-radius: 14px 14px 14px 14px;
	color: #fff; /*文字色*/
	display: inline-block;
	height: 24px;
	line-height: 24px;
	margin: 1px;
	vertical-align: middle;
	width: 24px;
	text-decoration: none; /*リンクの下線を消す*/
}

.wp-block-heading {
	font-size: 2em;
	margin: 25px 0;
}

/* ----------------------------------------------------------------------------------
*
*　WP　contact Form 7用
*
 ----------------------------------------------------------------------------------*/

/* CF7チェックボックスとラジオボタンを縦並びに */
span.wpcf7-list-item {
margin-top:5px;
display: block;
}

/* フォーム上部に表示されるエラーメッセージを非表示 */
.screen-reader-response {
    display: none;
}

/* フォーム内エラーメッセージを赤色に指定 */
.wpcf7-not-valid-tip {
    color: #e92323;
}


/* ----------------------------------------------------------------------------------
*
*　inview　調整
*
 ----------------------------------------------------------------------------------*/
.fadeIn {
  opacity: 0;
	
}
.fadeIn.is-show {
  opacity: 1;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50%);
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fd1 {
	transition: 0.6s;
}

.fd2 {
	transition: 0.8s;
}

.fd3 {
	transition: 1.0s;
}

.fd4 {
	transition: 1.2s;
}

.fd5 {
	transition: 1.4s;
}

.fd6 {
	transition: 1.6s;
}

.fd7 {
	transition: 1.8s;
}

.fd8 {
	transition: 2.0s;
}

/* ----------------------------------------------------------------------------------
*
*　見出し　調整
*
 ----------------------------------------------------------------------------------*/
.heading10 {
	position: relative;
	padding-top: 30px;
	border-bottom: 1px solid rgba(5,62,98,1);
}

.heading10 span {
	position: relative;
	z-index: 2;
}

.heading10::before {
	content: attr(data-en);
	position: absolute;
	top: 0px;
	right: 0;
	color: rgba(5,62,98,0.2);
	font-size: 2em;
	/*text-transform: uppercase;*/
	z-index: 1;
}

/* 見出し　ゴシック変更用　*/
.gtc {
	font-family: "BIZ UDPGothic", sans-serif;
}

/* ----------------------------------------------------------------------------------
*
*　
*
 ----------------------------------------------------------------------------------*/


/*注意書き*/
.caution_box {
	margin-bottom: 30px;
	padding: 10px;
	border: #d7d7d7 1px solid;
	height: 200px;
	overflow: auto;
}
  