@charset "utf-8";

/* web font */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap');


/* ===================================================
base.css for all pages, all browser
 01.BASE
 02.DESIGN STRUCTURE
 03.DOCUMENT STRUCTURE
 04.NAVIGATION
 05.LINKTEXT DECOTAIOTN
 06.EACH
 07.FORM MODULES
 08.responsive   
==================================================== */

/* 01 BASE
----------------------------------- */

* {
	margin: 0;
	padding: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

*::after,
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


body, html {
	font-size: 62.5%;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: subpixel-antialiased;
}
body {
    font-family: 'Noto Sans JP', "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-style: normal;
	font-weight: 400;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 200%;
    color:#000;
    text-align:center;
    width:100%;
    position: relative;
}

@media print,screen and (min-width: 768px) {

body {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 200%;
}

}/* Tablet & PC */


h1,h2,h3,h4,h5,h6,p,ul,ol,dl,table,pre { margin-top: 0; }

table { font-size:inherit; font-size: 15px; font-size: 1.5rem; }

hr { display:none; }

ul,ol { list-style-type: none; }

img { border:0; margin:0; padding:0; vertical-align:bottom; }

.clear { clear:both; }

@media print,screen and (min-width: 768px) {
	.m30 { margin-bottom: -30px; }
}/* Tablet & PC */


.fadeIn {
  transform: translate3d(0, 0, 0);
  transition: 3s;
  opacity: 0;
}

.fadeIn.animated {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}


/* 02 DESIGN STRUCTURE
----------------------------------- */

/* header ----- */
header {
	overflow: hidden;
	position: relative;
	z-index: 100;
}

/* gnavi Section */

h1.logo {
	float:left;
	text-align:left;
	padding:5px 0 5px 10px;
}
h1.logo img {
    width: auto;
	height: 50px;
}
h1.logo span {
	display: none;
}


.head_navi2 li {
	float: right;
	margin-right: 60px;
	padding-top: 10px;
}
.head_navi2 li a {
	display: block;
	width: 150px;
	height: 40px;
	line-height: 40px;
	color: #fff;
	background-color: #009844;
	border-radius: 5px;
}
.head_navi2 li a span {
	position: relative;
}
.head_navi2 li a span::before {
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	position:  relative;
	top: 4px;
	margin-right: 8px;
	background-image: url("../img/common/icon_contact.svg");
	background-size: contain;
}


@media print,screen and (min-width: 768px) {

header {
	overflow: visible;
	text-align:center;
}

h1.logo {
	padding:15px 0 0 30px;
	position: relative;
    z-index: 100;
}
h1.logo img {
    width: auto;
	height: 90px;
}

.head_navi_block {
	overflow: hidden;
}

.head_navi2 {
	display: block;
	overflow: hidden;
}
.head_navi2 li {
	float: right;
	margin-right: -20px;
	padding-top: 0;
}
.head_navi2 li a {
	background-color: transparent;
	width: 230px;
	height: 60px;
	line-height: 60px;
	font-size: 1.6rem;
	font-weight: bold;
	position: relative;
}
.head_navi2 li a::before{
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
    z-index: -1;
    background-color: #009844;
    transform: skewX(-30deg);
}
.head_navi2 li:last-child a {
	width: 250px;
}
.head_navi2 li a:hover::before {
	background-color: #3bc076;
}
.head_navi2 li a span {
	position: relative;
}
.head_navi2 li a span::before {
	content: '';
	display: inline-block;
	width: 25px;
	height: 25px;
	position:  relative;
	top: 6px;
	margin-right: 15px;
	background-image: url("../img/common/icon_contact.svg");
	background-size: contain;
}

} /* Tablet & PC */


/*  footer  */
.footer{
	padding:40px 0;
	overflow:hidden;
	text-align:center;
	background: #333 url("../img/common/bg_footer.jpg") no-repeat center top;
	background-size: cover;
}

.block_footer {
	width: 90%;
	margin: auto;
}

/* footNavi */
.foot_navi {
	margin-bottom: 20px;
	overflow: hidden;
}
.foot_navi li {
    width: 50%;
	float: left;
	padding: 0 0 20px 0;
	text-align: left;
}
.foot_navi li a {
	color: #fff;
	text-decoration: underline;
}
.foot_navi li a:hover{
	color: #009844;
}


.foot_box .add_box {
	color: #fff;
	border-top: solid 1px #666;
	padding-top: 40px;
	padding-bottom: 40px;
}
.add_box .foot_name a {
	color: #fff;
}
.add_box .foot_name {
	margin-bottom: 15px;
}
.add_box .txt {
	font-size: 1.3rem;
}

.foot_box .con_box ul {
	margin-top: 40px;
}
.foot_box .con_box ul li {
	text-align: center;
	margin-top: 20px;
}
.foot_box .con_box ul li a {
	display: block;
	height: 100%;
	color: #000;
}


.foot_box .con_box h3 {
	border: none;
	padding: 0;
	margin: 0;
	font-size: 2rem;
	line-height: 1;
	color: #fff;
	margin-bottom: 20px;
	display: flex;
    align-items: center;
}
.foot_box .con_box h3:before,
.foot_box .con_box h3:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #fff;
}
.foot_box .con_box h3:before {
    margin-right: 2rem;
}
.foot_box .con_box h3:after {
    margin-left: 2rem;
}


.foot_box .con_box ul {
	margin-top: 0;
	margin-bottom: 40px;
}
.foot_box .con_box ul li {
	border-bottom: solid 1px #999;
	font-size: 1.5rem;
	color: #fff;
	padding: 10px 0;
	margin-top: 0;
}
.foot_box .con_box ul li span {
	display: inline-block;
	font-size: 2rem;
	font-weight: bold;
	font-weight: 700;
	letter-spacing: 0.03em;
	margin-left: -0.03em;
	margin-left: 20px;
}


.foot_bn ul {
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
}
.foot_bn ul li {
    margin-left: 20px;
    width: calc((100% - 40px) / 2);
    margin-bottom: 20px;
}
.foot_bn ul li:nth-child(5) {
    width: 100%;
}
.foot_bn ul li img {
	width: 100%;
	height: auto;
}

.copyrights {
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
	padding-top: 30px;
}


@media print,screen and (min-width: 768px) {

.footer{
	padding:50px 0;
}
.block_footer {
	width: 1080px;
	margin: auto;
}


.foot_navi {
	margin-bottom: 50px;
	font-size: 0;
}
.foot_navi li {
	width: auto;
	float: none;
    display: inline-block;
	padding: 0 20px;
	font-size: 1.4rem;
	line-height: 1;
	text-align: center;
	border-left: solid 1px #999;
}
.foot_navi li:first-child {
	border: none;
}
.foot_navi li a {
	text-decoration: none;
}

.foot_box {
	display:flex;
    flex-wrap: wrap;
	margin-bottom: 50px;
}
.foot_box .add_box {
	padding-top: 0;
	padding-bottom: 0;
	border: none;
	width: 400px;
	text-align: left;
	color: #fff;
}

.foot_box .con_box {
	width: calc(100% - 400px);
}

.foot_box .con_box ul {
	margin-bottom: 0;
	display:flex;
    flex-wrap: wrap;
}
.foot_box .con_box ul li {
	width: 33.3%;
	margin-top: 0;
	border-bottom: none;
	border-left: solid 1px #999;
	font-size: 1.6rem;
	color: #fff;
	padding: 10px 0;
}
.foot_box .con_box ul li:last-child {
	border-right: solid 1px #999;
}
.foot_box .con_box ul li span {
	display: block;
	font-size: 2.2rem;
	font-weight: bold;
	font-weight: 700;
	letter-spacing: 0.03em;
	margin-left: -0.03em;
}


.foot_bn ul {
    display: block;
    margin-left: -20px;
    text-align: center;
}
.foot_bn ul li,
.foot_bn ul li:nth-child(5){
    margin-left: 20px;
    display: inline-block;
    width: auto;
}
.foot_bn ul li img,
.foot_bn ul li:nth-child(5) img{
	width: auto;
	height: 90px;
}


} /* Tablet & PC */




/* コンテンツ */

.contents {
	position: absolute;
	top: 0;
	left: 0;
}
.index main {
	background-color: #fff;
	position: relative;
	z-index: 1;
	overflow: hidden;
	display: block;
	clear: both;
}

.wrapper {
	width: 100%;
}
.block {
	width: 90%;
	margin: auto;
	padding-top: 50px;
	padding-bottom: 50px;
	overflow: hidden;
}
.wrapper.top .block {
	padding-top: 0;
}


br.pconly { display: none; }
span.pconly { display: none; }


/* スペース調整 */

.btmL { padding-bottom: 70px; }
.btmM { padding-bottom: 50px; }


@media print,screen and (min-width: 768px) {

.block {
	width: 1080px;
	padding-top: 80px;
	padding-bottom: 80px;
}
.wrapper.end .block {
	padding-bottom: 100px;
}

.index .block {
	width: 90%;
}

}/* Tablet & PC */

@media print,screen and (min-width: 1024px) {

br.sponly { display: none; }
span.sponly { display: none; }
br.pconly { display: block; }
span.pconly { display: inline; }

}/* PC */




/* 03 DOCUMENT STRUCTURE
----------------------------------- */

h2 {
	font-size: 2rem;
	line-height: 180%;
	text-align: left;
	margin-bottom: 40px;
	letter-spacing: 0.03em;
	margin-left: -0.03em;
	position: relative;
	padding-left: 55px;
}
h2:before {
  content: '';
  position: absolute;
  top: 35px;
  display: inline-block;
  width: 80px;
  height: 8px;
  background: linear-gradient(to right, #02a74d, #19e0a5);
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
  margin-left: -70px;
}
h2 span {
	display: block;
	font-size: 4rem;
	color: #009844;
	margin-bottom: 10px;
}


@media print,screen and (min-width: 768px) {

h2 {
	font-size: 2.5rem;
	line-height: 180%;
	text-align: left;
	margin-bottom: 50px;
	letter-spacing: 0.03em;
	margin-left: -0.03em;
	position: relative;
	padding-left: 80px;
}
h2:before {
  content: '';
  position: absolute;
  top: 45px;
  display: inline-block;
  width: 100px;
  height: 10px;
  background: linear-gradient(to right, #02a74d, #19e0a5);
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
  margin-left: -100px;
}
h2 span {
	display: block;
	font-size: 5rem;
	color: #009844;
	margin-bottom: 10px;
}

}/* Tablet & PC */



h3.title {
	font-size: 2.2rem;
	line-height: 180%;
	letter-spacing: 0.03em;
	margin-left: -0.03em;
	text-align: left;
	padding-left: 40px;
	margin-top: 60px;
	margin-bottom: 30px;
	position: relative;
}
h3.title::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 3px;
    background-color: #009844;
    margin: -5px 15px 0 -40px;
    vertical-align: middle;
}


h3.title2 {
	font-size: 2rem;
	line-height: 180%;
	letter-spacing: 0.03em;
	margin-left: -0.03em;
	margin-top: 50px;
	margin-bottom: 40px;
}
h3.title2 span.eiji {
	display: block;
	position: relative;
	font-size: 2.8rem;
	color: #009844;
}
h3.title2 span.eiji::after {
    content: "";
    display: block;
    width: 100px;
    height: 3px;
    background-color: #009844;
    margin: 25px auto;
}
h3.title2 span.sizeL {
	font-size: 3.2rem;
}
h3.title2.top {
	margin-top: 0;
}
h3.title2.top20 {
	margin-top: 20px;
}

h3.read {
	font-size: 3.6rem;
	line-height: 170%;
	letter-spacing: 0.03em;
	margin-left: -0.03em;
	text-align: left;
	margin-bottom: 30px;
}
h3.read::after {
    content: "";
    display: block;
    width: 80px;
    height: 5px;
    background-color: #009844;
	margin-top: 30px;
}

@media print,screen and (min-width: 768px) {
h3.title {
	font-size: 2.5rem;
	padding-left: 50px;
	margin-top: 80px;
	margin-bottom: 40px;
}
h3.title::before {
    width: 30px;
    height: 3px;
    margin: -5px 20px 0 -50px;
}

h3.title2 {
	font-size: 2.2rem;
	line-height: 180%;
	letter-spacing: 0.03em;
	margin-left: -0.03em;
	margin-top: 80px;
	margin-bottom: 80px;
}
h3.title2 span.eiji {
	display: block;
	position: relative;
	font-size: 3rem;
	color: #009844;
}
h3.title2 span.eiji::after {
    content: "";
    display: block;
    width: 100px;
    height: 3px;
    background-color: #009844;
    margin: 30px auto;
}
h3.title2 span.sizeL {
	font-size: 4rem;
}
h3.title2.btm50 {
	margin-bottom: 50px;
}

h3.read {
	font-size: 4.5rem;
	line-height: 180%;
	letter-spacing: 0.03em;
	margin-left: -0.03em;
	text-align: left;
	margin-bottom: 50px;
}
h3.read::after {
    content: "";
    display: block;
    width: 80px;
    height: 5px;
    background-color: #009844;
	margin-top: 40px;
}
}/* Tablet & PC */


h4 {
	font-size:1.8rem;
	line-height: 180%;
    letter-spacing: 0.03em;
	margin-left: -0.03em;
	margin-top: 30px;
	margin-bottom: 20px;
	text-align: left;
}

h3.top ,
h4.top { margin-top:0; }

h5 {
	font-size: 1.7rem;
	line-height: 200%;
	margin-top: 40px;
	margin-bottom: 30px;
}


@media print,screen and (min-width: 768px) {

h4 {
	font-size:2rem;
	margin-top: 40px;
	margin-bottom: 30px;
}

}/* Tablet & PC */



.block p {
	margin-top: 25px;
	text-align: left;
}
.block p.top { margin-top: 0; }
.block p.top60 { margin-top:50px; }

.top30 { margin-top:30px; }
.top40 { margin-top:30px; }
.top50 { margin-top:40px; }
.top60 { margin-top:50px; }
.top80 { margin-top:60px; }
.btm30 { margin-bottom:30px; }
.btm40 { margin-bottom:40px; }
.btm50 { margin-bottom:50px; }
.btm60 { margin-bottom:60px; }
.btm20m { margin-bottom:-20px; }

@media print,screen and (min-width: 768px) {

.top40 { margin-top:40px; }
.top50 { margin-top:50px; }
.top60 { margin-top:60px; }
.top80 { margin-top:80px; }

}/* Tablet & PC */


.txtsizeL { font-size: 130%; }

.read {
	font-size: 1.5rem;
	line-height: 210%;
}
.block p.page_copy {
	border-top: solid 1px #dadada;
	border-bottom: solid 1px #dadada;
	margin-top: 0;
	padding: 20px 0;
	text-align: center;
	font-size: 1.5rem;
	line-height: 210%;
	margin-bottom: 40px;
}

@media print,screen and (min-width: 768px) {

.block p {
	margin-top: 30px;
}
.read {
	font-size: 1.7rem;
	line-height: 220%;
}
.block p.page_copy {
	border-top: solid 1px #dadada;
	border-bottom: solid 1px #dadada;
	padding: 30px 0;
	font-size: 1.7rem;
	line-height: 220%;
}
.block .case_area p.page_copy {
	margin-top: -40px;
}

}/* Tablet & PC */



/* テキスト揃え */
.txtR , .block p.txtR {
	display:block;
	text-align:right;
}
.txtL , .block p.txtL {
	display:block;
	text-align:left;
}
.txtC , .block p.txtC {
	display:block;
	text-align:center;
}


/* テキスト色 */
.red { color:#FF0000;}
.blue { color:#0090ff; }


/* イメージ配置 */
.floatR , .floatL {
	padding:0;
	margin-bottom: 25px;
}
.floatR img , .floatL img {
	width: 100%;
	height: auto;
}
.img_full , .img_200 {
	width: 100%;
	height: auto;
}

.img_sp_100p {
	width: 100%;
	height: auto;
}

@media print,screen and (min-width: 768px) {

.floatR {
	float:right;
	padding:0 0 20px 40px;
	margin-bottom: 0;
}
.floatL{
	float:left;
	padding:0 40px 20px 0;
	margin-bottom: 0;
}
.btm0 {
	padding-bottom: 0;
}

.img_full {
	width: auto;
	max-width:100%;
}
.img_200 {
	width: 200px;
}

.floatR img.img_full , .floatL img.img_full {
	width: auto;
	max-width:100%;
}
.floatR img.img_200 , .floatL img.img_200 {
	width: 200px;
}

.img_sp_100p {
	width: auto;
	height: auto;
}

}/* Tablet & PC */


/* 基本テーブル */
table.common {
	border-collapse:collapse;
	width:100%;
	margin-top:30px;
	background-color: #fff;
}
table.common th , table.common td {
	display: block;
	padding:15px;
	text-align:left;
	font-weight:normal;
	vertical-align:top;
}
table.common th {
	padding: 10px 15px;
	font-weight:bold;
	position: relative;
	background-color: #f1f1f1;
}
table.common th::before {
	content: '';
	width: 3px;
	height: 20px;
	background-color: #009844;
	position: absolute;
	top: 15px;
	left: 0;
}

table.common2{
	border-collapse:collapse;
	width:100%;
	margin-top:30px;
    border-bottom:1px solid #dadada;
}
table.common2 th , table.common2 td{
	display: block;
	padding:15px;
	text-align:left;
	font-weight:normal;
	border:1px solid #dadada;
	border-bottom: none;
	vertical-align:top;
}
table.common2 th{
	padding: 10px 15px;
	font-weight:bold;
	background-color: #f1f1f1;
}

table.common.top , table.common2.top {
	margin-top: 0;
}
table.common.top60 {
	margin-top: 60px;
}

@media print,screen and (min-width: 768px) {

table.common{
	border-top:1px solid #dadada;
}
table.common th , table.common td{
	display: table-cell;
	padding:18px 20px;
	border-bottom:1px solid #dadada;
}
table.common th{
	background-color: transparent;
	width:200px;
	font-weight:bold;
}
table.common.thL th {
	width: 250px;
}
table.common.thS th {
	width: 150px;
}
table.common th::before {
	top: 23px;
}

table.common td.sub{
	padding:18px 20px;
	width: 220px;
	background-color: transparent;
}

table.common2 th , table.common2 td{
	display: table-cell;
	padding:18px 20px;
}
table.common2 th{
	width:200px;
	font-weight:bold;
}
table.common2.thL th {
	width: 350px;
}
.w10p { width: 10%; }
.w40p { width: 40%; }

}/* Tablet & PC */


.table_data {
	border-collapse:collapse;
	width:100%;
	margin-top:30px;
    border:1px solid #dadada;
}
.table_data th , .table_data td{
	display: block;
	padding:18px 20px;
	text-align:left;
	font-weight:normal;
	vertical-align:top;
}
.table_data th{
	font-weight:bold;
	background-color: #f1f1f1;
}

@media print,screen and (min-width: 768px) {

.table_data th , .table_data td{
	display: table-cell;
	border:1px solid #dadada;
}

}/* Tablet & PC */


/* テーブル　右寄せ・センター */
table th.right , table td.right { text-align:right; }
table th.center , table td.center { text-align:center; }

table ul.inner {
    margin-bottom: -10px;
}
table ul.inner li {
    margin-bottom: 10px;
}
table ul.inner span {
    display: inline-block;
    width: 80px;
}





/* 基本リスト */
ul.common{
	margin:30px 0 0 0;
	list-style: none;
    padding: 0;
}
ul.common li {
    margin-top:5px;
    padding-left: 30px;
    position: relative;
	text-align: left;
}
ul.common li:before{
    counter-increment: list;
    content: "";
    display: block;
    position: absolute;
    left: 10px;
    height: 6px;
    width: 6px;
    border-radius: 50%;
    background: #009844;
    top: 15px;
    transform: translateY(-50%);
}


ol.common {
	counter-reset: my-counter;
	list-style: none;
	padding: 0;
	margin-top: 30px;
	text-align: left;
}
ol.common li {
	margin-top: 30px;
	padding-left: 40px;
	position: relative;
}
ol.common li:before {
	content: counter(my-counter);
	counter-increment: my-counter;
	background-color: #009844;
	color: #fff;
	display: block;
	float: left;
	font-size: 90%;
	line-height: 23px;
	margin-left: -40px;
	margin-top: 2px;
	text-align: center;
	height: 25px;
	width: 25px;
	border-radius: 50%;
	position: relative;
}
ol.common li ul li {
	margin-top: 10px;
	padding-left: 20px;
}
ol.common li ul li:before {
    counter-increment: list;
    content: "";
    display: block;
    position: absolute;
    left: 0;
    height: 6px;
    width: 6px;
    border-radius: 50%;
    background: #000;
    top: 15px;
    transform: translateY(-50%);
	margin-left: 0;
	margin-top: 0;
}

ol.common.type2 li {
	margin-top: 5px;
	padding-left: 30px;
}
ol.common.type2 li:before {
	background-color: #000;
	line-height: 22px;
	margin-left: -30px;
	margin-top: 4px;
	height: 23px;
	width: 23px;
}


/* 囲み */
.box {
	clear:both;
	overflow:hidden;
	border: solid 1px #000;
	padding: 1px 20px 20px 20px;
	margin-top: 30px;
}
.box.pconly {
	border: none;
	padding: 0;
}
.box.top {
	margin-top: 0;
}
.box h3.title {
	margin-top: 30px;
}

.box2 {
	clear:both;
	overflow:hidden;
	border: solid 3px #dadada;
	padding: 1px 20px 20px 20px;
	margin-top: 30px;
}

.box_notes {
	clear:both;
	overflow:hidden;
	border: solid 1px #ccc;
	padding: 1px 20px 20px 20px;
	margin-top: 40px;
    margin-bottom: 40px;
    font-size: 95%;
    line-height: 150%;
}
.box_notes ul.common li:before {
    top: 12px;
}


@media print,screen and (min-width: 768px) {

.box , .box.pconly {
	border: solid 1px #000;
	padding: 20px 50px 50px 50px;
}

.box2 {
	padding: 10px 40px 40px 40px;
}

.box_notes {
	padding: 10px 40px 40px 40px;
}

}/* Tablet & PC */


/* 写真 */

.photo {
	margin-top: 40px;
}
.photo li {
	margin-top: 30px;
}
.photo li img {
	width: 100%;
	height: auto;
}
.photo li span {
	display: block;
	margin-top: 15px;
	text-align: left;
}


@media print,screen and (min-width: 768px) {

.photo {
	display:flex;
    justify-content: center;
    flex-wrap: wrap;
	margin-left: -50px;
	margin-top: 0;
}
.photo.top {
	margin-top: -60px;
}
.photo li {
	margin-top: 60px;
}
.photo.top_n {
	margin-top: 30px;
}
.photo.top_n li {
	margin-top: 30px;
}

.photo.col2 {
	margin-left: -50px;
}
.photo.col2 li {
	margin-left: 50px;
    width: calc((100% - 100px) / 2);
}

.photo.col3 {
	margin-left: -40px;
}
.photo.col3 li {
	margin-left: 40px;
    width: calc((100% - 120px) / 3);
}

.photo.col4 {
	margin-left: -20px;
}
.photo.col4 li {
	margin-left: 20px;
	margin-top: 30px;
    width: calc((100% - 80px) / 4);
	font-size: 95%;
}

.photo li.col1 {
	width: 100%;
}

}/* Tablet & PC */



/* バナー */

.ban_col2 {
	display:flex;
    justify-content: center;
    flex-wrap: wrap;
	margin-left: -50px;
}
.ban_col2 li {
	margin-top: 30px;
	margin-left: 50px;
    width: calc((100% - 100px) / 2);
	border: solid 1px #dadada;
}
.ban_col2 li img {
	width: 100%;
	height: auto;
}

.ban_col3 {
	display:flex;
    flex-wrap: wrap;
	margin-left: -10px;
}
.ban_col3 li {
	margin-left: 10px;
    width: calc((100% - 20px) / 2);
	margin-top: 20px;
	border: solid 1px #dadada;
}
.ban_col3 li img {
	width: 100%;
	height: auto;
}

.ban_col4 {
	display:flex;
    justify-content: center;
    flex-wrap: wrap;
	margin-left: -20px;
}
.ban_col4 li {
	margin-left: 20px;
    width: calc((100% - 40px) / 2);
	border: solid 1px #dadada;
	margin-top: 20px;
}
.ban_col4 li img {
	width: 100%;
	height: auto;
}

@media print,screen and (min-width: 768px) {

.ban_col3 {
	margin-left: -40px;
}
.ban_col3 li {
	margin-left: 40px;
    width: calc((100% - 120px) / 3);
	margin-top: 30px;
}

.ban_col4 {
	display:flex;
    justify-content: center;
    flex-wrap: wrap;
	margin-left: -20px;
}
.ban_col4 li {
	margin-left: 20px;
    width: calc((100% - 40px) / 2);
	border: solid 1px #dadada;
	margin-top: 20px;
}
.ban_col4 {
	display:flex;
    justify-content: center;
    flex-wrap: wrap;
	margin-left: -20px;
}
.ban_col4 li {
	margin-left: 20px;
    width: calc((100% - 80px) / 4);
	border: solid 1px #dadada;
	margin-top: 30px;
}

}/* Tablet & PC */




/* 04 NAVIGATION
----------------------------------- */

.breadcrumb {
	margin: 0 10px;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	font-size: 1.3rem;
	color: #999;
}
.breadcrumb li {
	display: inline-block;
	position: relative;
	padding-right: calc(15px + 6px);
	margin-right: 6px;
}
.breadcrumb li::before {
	content: '';
	width: 4px;
	height: 4px;
	border: 0px;
	border-top: solid 1px #999;
	border-right: solid 1px #999;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 5px;
	margin-top: -2px;
}
.breadcrumb li:last-child {
	margin-right: 0;
	padding-right: 0;
}
.breadcrumb li:last-child::before {
	content: normal;
}
.breadcrumb li a {
	color: #000;
}.breadcrumb li a:hover {
	text-decoration: underline;
}

@media print,screen and (min-width: 768px) {

.breadcrumb {
	margin: -40px 30px 0 30px;
	font-size: 1.4rem;
}
.breadcrumb li {
	padding-right: calc(20px + 12px);
	margin-right: 12px;
}

}/* Tablet & PC */


/* pagetop */
#pagetop {
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 999;
}
#pagetop a {
	display: block;
	z-index: 999;
	width: 50px;
	height: 50px;
	background: rgba(0,152,68,1) url(../img/common/pagetop.svg) no-repeat 50% 50%;
}
#pagetop a span { display:none; }
#pagetop a:hover {
	background: rgba(0,152,68,0.7) url(../img/common/pagetop.svg) no-repeat 50% 50%;
}


/* 05 LINKTEXT DECOTAIOTN
----------------------------------- */

a { text-decoration: none; color: #000; }
.block a { color: #009844; }
.block a:hover { color: #01d861; }


.block a img , .top_tech_li a img {
	transition-property: all;
	transition: 0.2s linear;
}
.block a:hover img , .top_tech_li a:hover img {
	opacity:0.7;
	filter: alpha(opacity=70);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=70)";  /* ie 8 */
	-moz-opacity:0.7;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7;              /* Safari 1.x */
	zoom:1;                           /* ie */
}


/* ボタン */
.block p.btn_more {
	text-align: right;
}
.block p.btn_more.txtL { text-align: left; }
.block p.btn_more.txtC { text-align: center; }
.btn_more a {
	display: inline-block;
	width: 220px;
	padding: 10px 25px;
	border: solid 1px #000;
	background: url("../img/common/arrow01.svg") no-repeat right 10px top 50%;
	text-align: left;
	color: #000;
	transition-property: all;
	transition: 0.2s linear;
}
.btn_more a:hover {
	color: #fff;
	border: solid 1px #009844;
	background: #009844 url("../img/common/arrow02.svg") no-repeat right 10px top 50%;
}
@media print,screen and (min-width: 768px) {
.btn_more a {
	width: 250px;
}
}/* Tablet & PC */


a.link_btn {
	display: inline-block;
	padding: 10px 20px;
	border: solid 1px #000;
	width: 100%;
	background-color: #fff;
	text-decoration: none;
	position: relative;
	margin: 5px 0;
}
a.link_btn::before {
	display: inline-block;
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #e00202;
	border-right: 2px solid #e00202;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-right: 20px;
}
a.link_btn:hover {
	background-color: #f1f1f1;
}

.link_btn img {
	vertical-align: top;
	margin-top: 10px;
	float: right;
}


@media print,screen and (min-width: 768px) {

.link_btn img {
	vertical-align: top;
	margin-left: 20px;
	margin-top: 0;
}

}/* Tablet & PC */



a.pdf {
	padding-right: 30px;
}
a.pdf:after {
	content: "";
	position: absolute;
	width: 30px;
	height: 20px;
	background: url(/assets/img/common/icon_pdf.png) center top no-repeat;
	margin-top: 8px;
}



/* 06.EACH
----------------------------------- */

/* top ----- */

.top_visual {
	height: 350px;
}
.video {
	height: 350px;
	position: absolute;
    left: 0;
    top: 0;
    width: 100%;
}
.video.pc { display: none; }
.video img {
	position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	min-width: auto;
    min-height: 100%;
    width: auto;
    height: 100%;
}
/*video {
	position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	min-width: auto;
    min-height: 100%;
    width: auto;
    height: 100%;
}*/

@media print,screen and (min-width: 568px) {
.top_visual {
	height: 320px;
}
.video {
	height: 320px;
}
}
@media print,screen and (min-width: 650px) {
.top_visual {
	height: 375px;
}
.video {
	height: 375px;
}
}
@media print,screen and (min-width: 768px) {
.top_visual {
	height: auto;
	clear: both;
	position: relative;
    overflow: hidden;
	z-index: 1;
	margin-bottom: -10px;
	height: auto;
}
.video {
	height: auto;
	position: static;
    left: auto;
    top: auto;
}
.video.sp { display: none; }
.video.pc { display: block; }
video {
	position: static;
    left: auto;
    top: auto;
	transform: none;
	width: 100%;
	height: auto;
}
}/* Tablet & PC */

.sankaku {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}
.sankaku img {
	width: 150px;
	height: auto;
}
@media print,screen and (min-width: 768px) {
.sankaku img {
	width: auto;
	height: auto;
}
}/* Tablet & PC */



.area_adva , .area_busi {
	background: #d5f5f0;
}
.area_adva .sponly img , .area_busi .sponly img {
	width: 100%;
	height: auto;
}

@media print,screen and (min-width: 768px) {
.area_adva .sponly img , .area_busi .sponly img {
	display: none;
}
.area_adva {
	background: #d5f5f0 url("../img/top/img_adva.jpg") no-repeat right top;
	background-size: 50% auto;
}
.area_adva .block {
	padding-top: 80px;
	padding-right: 50%;
}
.area_busi {
	background: #d5f5f0 url("../img/top/img_busi.jpg") no-repeat left top;
	background-size: 50% auto;
}
.area_busi .block {
	padding-top: 80px;
	padding-left: 50%;
}
}/* Tablet & PC */


.top_works_li li {
	margin-top: 30px;
	position: relative;
}
.top_works_li li img {
	width: 100%;
	height: auto;
}
.top_works_li li a {
	display: block;
	height: 100%;
	position: relative;
}
.top_works_li li a::before {
	content: "";
    top: 0;
    left: 0;
    border-bottom: 3em solid transparent;
    border-left: 3em solid #009844;
    position: absolute;
    z-index: 100;
}
.top_works_li li a:hover::before {
    border-left-color: #19e0a5;
}
.top_works_li li div {
	width: 100%;
	position: absolute;
	top: 52%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	margin:0;
	padding:0;
	color: #fff;
	font-weight: bold;
	font-size: 2rem;
}

@media print,screen and (min-width: 768px) {
.top_works_wrap {
	display:flex;
    flex-wrap: wrap;
	margin-top: -30px;
}
.top_works_box1 {
	width: 40%;
	padding-right: 40px;
}
.top_works_box2 {
	width: 60%;
}
.top_works_li {
	display:flex;
    flex-wrap: wrap;
	margin-left: -20px;
	margin-top: 10px;
}
.top_works_li li {
	margin-left: 20px;
    width: calc((100% - 40px) / 2);
	margin-top: 20px;
	position: relative;
}
}/* Tablet & PC */



.top_tech_bg {
	background: #d7eec0 url("../img/top/img_top_tech_bg_sp.jpg") no-repeat right top;
	background-size: 100% auto;
}
.top_tech_bg h2 {
	padding-left: 0;
	text-align: center;
}
.top_tech_bg h2 span {
	font-size: 3.6rem;
	line-height: 130%;
}
.top_tech_bg h2::before {
	content: none;
}

.top_tech_li {
	display:flex;
    flex-wrap: wrap;
}
.top_tech_li li {
	width: 50%;
	position: relative;
}
.top_tech_li li img {
	width: 100%;
	height: auto;
}
.top_tech_li li div {
	width: 100%;
	position: absolute;
	top: 52%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	margin:0;
	padding:0;
	color: #fff;
	font-weight: bold;
	font-size: 2rem;
}

@media print,screen and (min-width: 768px) {

.top_tech_bg {
	background: #d7eec0 url("../img/top/img_top_tech_bg.jpg") no-repeat right top;
}
.top_tech_bg h2 {
	padding-left: 80px;
	text-align: left;
}
.top_tech_bg h2 span {
	color: #009844;
	font-size: 4rem;
	line-height: 180%;
}
.top_tech_bg h2::before {
	content: '';
}
.top_tech_bg .block .btn_more {
	text-align: left;
}

.top_tech_li {
	display:flex;
    flex-wrap: wrap;
}
.top_tech_li li {
	width: calc(100% / 5);
	position: relative;
}
.top_tech_li li img {
	width: 100%;
	height: auto;
}
.top_tech_li li div {
	width: 100%;
	position: absolute;
	top: 52%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	margin:0;
	padding:0;
	color: #fff;
	font-weight: bold;
	font-size: 2rem;
}
.top_tech_li li div::before , .top_tech_li li div::after {
	display: block;
	content: "";
	width: 70%;
	height: 1px;
	background-color: #fff;
	margin: auto;
}
.top_tech_li li div::before{ margin-bottom: 20px;}
.top_tech_li li div::after{ margin-top: 23px;}

}/* Tablet & PC */



.news_title h2 {
	padding-left: 0;
	margin-bottom: 10px;
	text-align: center;
	font-size: 3rem;
	color: #009844;
}
.news_title h2:before {
    content: none;
}
.btn_more.pconly {
	display: none;
}
.news_list {
	text-align: left;
	border-top: solid 1px #dadada;
}
.news_list dt {
    float: left;
	padding: 15px 0;
}
.news_list dd {
    padding: 15px 0 15px 90px;
	border-bottom: solid 1px #dadada;
}

@media print,screen and (min-width: 768px) {

.top_news .block {
	width: 1080px;
}

.news_box {
	display:flex;
    flex-wrap: wrap;
}
.news_box_in {
	position: relative;
}

.news_box_in.news_title {
	width: 310px;
}
.news_title h2 {
	padding-left: 45px;
	margin-bottom: 85px;
	text-align: left;
	font-size: 2.5rem;
	color: #000;
}
.news_title h2:before {
    content: '';
    position: absolute;
    top: 20px;
    display: inline-block;
    width: 50px;
    height: 5px;
    background: linear-gradient(to right, #02a74d, #19e0a5);
    -webkit-transform: rotate(-60deg);
    transform: rotate(-60deg);
    margin-left: -53px;
}
.btn_more.pconly {
	display: block;
}
.btn_more.sponly {
	display: none;
}
.block .news_title .btn_more {
	text-align: left;
}

.news_box_in.news_list {
	flex: 1;
}

.news_list dd {
    padding: 15px 0 15px 120px;
}

.news_box_in.news_more {
	width: 100px;
	position: relative;
}
.news_box_in.news_more a {
	display: inline-block;
	width: 100%;
	top: 40%;
}

}/* Tablet & PC */


.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
	padding: 10px 10px 2px 10px;
	background: linear-gradient(to right, #02a74d, #19e0a5);
}
.youtube iframe {
	width: 100%;
	height: 100%;
}

@media print,screen and (min-width: 768px) {

.youtube {
	padding: 12px 12px 2px 12px;
}

}/* Tablet & PC */



/* page */

.page_title {
	background: #d5f5f0 url("../img/common/bg_page_title.png") no-repeat right top;
	background-size: 80% auto;
	position: relative;
}
.page_title::before{
	content:"";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 100px 100vw;
	border-color: transparent transparent #fff transparent;
}
.page_title .inner {
	padding: 30px 10px 140px 10px;
}
.page_title h2 {
	margin-bottom: 0;
}
.page_title_img {
	margin-top: -110px;
	position: relative;
}
.page_title_img img {
	width: 80%;
	height: auto;
}


.page_title2 {
	background: #d5f5f0 url("../img/common/bg_page_title.png") no-repeat right top;
	background-size: 80% auto;
	position: relative;
}
.page_title2::before{
	content:"";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 50px 100vw;
	border-color: transparent transparent #fff transparent;
}
.page_title2 .inner {
	padding: 30px 10px 50px 10px;
}
.page_title2 h2 {
	margin-bottom: 0;
	line-height: 1;
}
.page_title2 h2 .cat {
	font-size: 2rem;
	line-height: 140%;
	color: #009844;
	padding-top: 5px;
}
.page_title2 h2 .cat span {
	display: none;
}
.page_title2 h2 .title {
	font-size: 2.8rem;
	line-height: 160%;
	margin-top: 5px;
}


/* Tablet & PC */
@media print,screen and (min-width: 768px) {

.page_title {
	background: #d5f5f0 url("../img/common/bg_page_title.png") no-repeat right top;
	position: relative;
}
.page_title::before{
	content:"";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 120px 100vw;
	border-color: transparent transparent #fff transparent;
}
.page_title .inner {
	padding: 120px 60px;
}
.page_title h2 {
	margin-bottom: 0;
}
.page_title_img {
	float: right;
	margin-top: -280px;
	padding-right: 60px;
	position: relative;
}
.page_title_img img {
	width: 700px;
	height: auto;
}


.page_title2 {
	background: #d5f5f0 url("../img/common/bg_page_title.png") no-repeat right top;
	position: relative;
}
.page_title2::before{
	content:"";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 80px 100vw;
	border-color: transparent transparent #fff transparent;
}
.page_title2 .inner {
	padding: 60px 60px 60px 80px;
}
.page_title2 h2 {
	margin-bottom: 0;
	line-height: 1;
	padding-left: 85px;
}
.page_title2 h2::before {
	width: 110px;
	top: 45px;
	margin-left: -105px;
}
.page_title2 h2 .cat {
	font-size: 2.3rem;
	margin-top: 0;
}
.page_title2 h2 .cat span {
	display: inline-block;
	font-size: 2.5rem;
	padding-right: 20px;
	margin-right: 20px;
	position: relative;
}
.page_title2 h2 .cat span::after {
	position: absolute;
	width: 0;
	height: 25px;
	content: '';
	-webkit-transform: rotate(30deg);
	        transform: rotate(30deg);
	border-right: solid 2px #009844;
	top: 5px;
	right: 0;
}
.page_title2 h2 .cat.none span::after {
	content: none;
}
.page_title2 h2 .title {
	font-size: 4rem;
	margin-top: 0;
}

}/* Tablet & PC */




.page_index_caption {
	margin-bottom: 40px;
	text-align: left;
}
.page_index_caption .col_h3 {
	border-bottom: solid 3px #009844;
	padding-bottom: 15px;
}
.page_index_caption .col_h3 h3 {
	font-size: 2.4rem;
	line-height: 170%;
}


/* Tablet & PC */
@media print,screen and (min-width: 768px) {

.page_index_caption {
	display:flex;
	flex-direction: row;
	text-align: left;
	margin-bottom: 80px;
}
.page_index_caption .col_h3 {
	padding-bottom: 0;
	padding-right: 50px;
	border-bottom: none;
	border-right: solid 3px #009844;
}
.page_index_caption .col_h3 h3 {
	font-size: 3rem;
	line-height: 200%;
}
.page_index_caption .col_p {
	flex: 1;
	padding-left: 50px;
	padding-bottom: 30px;
}

}/* Tablet & PC */




.page_index_li {
}
.page_index_li li {
	margin-top: 20px;
	position: relative;
}
.page_index_li li a {
	display: block;
}
.page_index_li li a::before {
	content: "";
    top: 0;
    left: 0;
    border-bottom: 3em solid transparent;
    border-left: 3em solid #009844;
    position: absolute;
    z-index: 100;
}
.page_index_li li a:hover::before {
    border-left-color: #19e0a5;
}
.page_index_li li a::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  display: block;
  width: 0;
  height: 2px;
  background-color: #19e0a5;
  transition: width 0.3s;
}
.page_index_li li a:hover::after {
  width: 100%;
}
.page_index_li li img {
	width: 100%;
	height: auto;
}
.page_index_li li div {
	display: block;
	font-weight: bold;
	font-size: 2rem;
	text-align: left;
	color: #000;
	padding: 15px 0 15px 0;
	background: url("../img/common/arrow01.svg") no-repeat right 30px;
	background-size: 30px auto;
}

@media print,screen and (min-width: 768px) {

.page_index_li {
	display:flex;
    flex-wrap: wrap;
	margin-left: -50px;
	margin-top: -40px;
	margin-bottom: 20px;
}
.page_index_li li {
	margin-left: 50px;
    width: calc((100% - 150px) / 3);
	margin-top: 40px;
	position: relative;
}
.page_index_li li a {
	display: block;
}
.page_index_li li a::before {
	content: "";
    top: 0;
    left: 0;
    border-bottom: 3em solid transparent;
    border-left: 3em solid #009844;
    position: absolute;
    z-index: 100;
}
.page_index_li li a:hover::before {
    border-left-color: #19e0a5;
}
.page_index_li li a::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  display: block;
  width: 0;
  height: 2px;
  background-color: #19e0a5;
  transition: width 0.3s;
}
.page_index_li li a:hover::after {
  width: 100%;
}
.page_index_li li img {
	width: 100%;
	height: auto;
}
.page_index_li li div {
	display: block;
	font-weight: bold;
	font-size: 2rem;
	text-align: left;
	color: #000;
	padding: 15px 0 15px 0;
	background: url("../img/common/arrow01.svg") no-repeat right 30px;
	background-size: 30px auto;
}

.page_index_li.col1 li {
	width: 100%;
}
.page_index_li.col1 li img {
	height: 300px;
}

}/* Tablet & PC */




.con_flex .col.img img {
	width: 100%;
	height: auto;
	margin-top: 30px;
}

@media print,screen and (min-width: 768px) {

.con_flex {
	display:flex;
    flex-wrap: wrap;
}
.con_flex .col {
	width: 50%;
}
.con_flex .col.txt {
	padding-right: 60px;
}

.con_flex .col.img img {
	margin-top: 0;
}

}/* Tablet & PC */



.con_menu {
	background-color: #f1f1f1;
	padding: 10px 0 10px 10px;
	text-align: left;
	border-radius: 5px;
}
.con_menu li {
	display: inline-block;
	padding-right: 20px;
}
.con_menu a {
	display: block;
	position: relative;
	padding-left: 22px;
}
.con_menu a::before {
	content: '';
	width: 15px;
	height: 15px;
	background-color: #999;
	position: absolute;
	top: 8px;
	left: 0;
}
.con_menu a::after {
	content: '';
	width: 5px;
	height: 5px;
	border: 0px;
	border-bottom: solid 1px #fff;
	border-right: solid 1px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 12px;
	left: 5px;
}

@media print,screen and (min-width: 768px) {

.con_menu {
	padding: 15px 0 15px 20px;
}
.con_menu li {
	padding-right: 40px;
}
.con_menu a {
	padding-left: 25px;
}

}/* Tablet & PC */



.page_menu {
	text-align: left;
	margin-top: 50px;
}
.page_menu.top {
	margin-top: 0;
}
.page_menu li {
	margin-top: 1px;
}
.page_menu li a {
	display: block;
	padding: 15px 40px 15px 20px;
	background: #f1f1f1 url("../img/common/arrow01.svg") no-repeat right 10px top 28px;
	color: #000;
}
.page_menu li a:hover {
	background: #ccc url("../img/common/arrow01.svg") no-repeat right 10px top 28px;
	color: #000;
}
.page_menu li:first-child {
	width: 100%;
	margin-left: 0;
	margin-bottom: 20px;
	font-size: 1.8rem;
	font-weight: bold;
}
.page_menu li:first-child a {
	display: inline-block;
	padding: 0 50px 3px 20px;
	background: #fff url("../img/common/arrow01.svg") no-repeat right 10px top 15px;
	border-left: solid 5px #009844;
}
.page_menu li:first-child a:hover {
	color: #009844;
}

@media print,screen and (min-width: 768px) {

.page_menu {
	display:flex;
    flex-wrap: wrap;
	text-align: left;
	margin-top: 80px;
	margin-left: -1px;
}
.page_menu.top {
	margin-top: 0;
}
.page_menu li {
	margin-left: 1px;
	margin-top: 1px;
    width: calc((100% - 3px) / 3);
}

}/* Tablet & PC */





/* company --------- */

/* message --- */

.message_box {
	background: linear-gradient(#e4fed9, #cbfdfe);
	padding: 20px 30px 50px 30px;
}

@media print,screen and (min-width: 768px) {

.ceo {
	margin-top: 0;
}
.message_box {
	padding: 70px 80px 100px 80px;
	margin-top: 80px;
}

}/* Tablet & PC */



/* access --- */

.access_box {
	border: solid 1px #dadada;
	padding: 30px;
}
.access_box .con_flex .col.img {
	padding-top: 30px;
}
.map {
	height: 0;
	overflow: hidden;
	padding-bottom: 100%;
	position: relative;
	margin-top: 30px;
}
.map iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
.map_btn a {
	display: block;
	width: 100%;
	background-color: #009844;
	padding: 10px;
	color: #fff;
	text-align: center;
	border-radius: 5px;
}
.map_btn a:hover {
	background-color: #01d861;
	color: #fff;
}
.map_btn a span {
	position: relative;
	padding-right: 20px;
}
.map_btn a span::after {
	display: inline-block;
	content: '';
	width: 7px;
	height: 7px;
	border: 0px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 9px;
	right: 0;
}

.access_box .pconly {
	display: none;
}

@media print,screen and (min-width: 768px) {

.access_box {
	border: solid 1px #dadada;
	padding: 50px;
}
.access_box .con_flex .col.txt {
	width: 60%;
}
.access_box .con_flex .col.img {
	width: 40%;
}
.map {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
	margin-top: 40px;
}
.map iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
.map_btn a {
	display: block;
	width: 200px;
	background-color: #009844;
	padding: 10px;
	color: #fff;
	text-align: center;
	border-radius: 5px;
}
.map_btn a:hover {
	background-color: #01d861;
	color: #fff;
}
.map_btn a span {
	position: relative;
	padding-right: 20px;
}
.map_btn a span::after {
	display: inline-block;
	content: '';
	width: 7px;
	height: 7px;
	border: 0px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 9px;
	right: 0;
}

.con_flex.type2 {
	display:flex;
    flex-wrap: wrap;
	margin-left: -60px;
}
.con_flex.type2 .col {
	margin-left: 60px;
    width: calc((100% - 120px) / 2);
}

.access_box .pconly {
	display: block;
}
}/* Tablet & PC */




/* history --- */
.bn_50th {
	margin-top: 50px;
}
.bn_50th img {
	width: 100%;
	height: auto;
}



/* history_50 --- */

.bg_his50 {
	background: #1293da url("../img/company/img_his50_01.jpg") no-repeat center top;
	background-size: auto 450px;
	margin-top: 30px;
}
.bg_his50 img {
	width: 100%;
	height: auto;
}

@media print,screen and (min-width: 568px) {

.bg_his50 img {
	width: 375px;
}

}

@media print,screen and (min-width: 768px) {

.bg_his50 {
	background: #1293da url("../img/company/img_his50_01.jpg") no-repeat center top;
	background-size: auto auto;
}
.bg_his50 img {
	width: auto;
}

}/* Tablet & PC */



.kinenshi {
	background-color: #f1f1f1;
	padding: 30px 20px;
}
.kinenshi_img img {
	width: 100%;
	height: auto;
}
.kinenshi_txt h4 {
	margin-top: 20px;
	font-size: 2rem;
	border-bottom: solid 1px #009844;
	padding-bottom: 7px;
	text-align: center;
}
.kinenshi_btn a {
	display: block;
	padding: 10px 80px 10px 25px;
	border: solid 1px #000;
	background: #fff url("../img/common/arrow01.svg") no-repeat right 10px top 50%;
	text-align: left;
	color: #000;
	transition-property: all;
	transition: 0.2s linear;
}
.kinenshi_btn a:hover {
	color: #fff;
	border: solid 1px #009844;
	background: #009844 url("../img/common/arrow02.svg") no-repeat right 10px top 50%;
}

@media print,screen and (min-width: 768px) {

.kinenshi {
	display:flex;
    flex-wrap: wrap;
	padding: 30px 50px;
	margin-bottom: 50px;
}
.kinenshi_img {
	width: 350px;
	text-align: left;
}
.kinenshi_img img {
	width: auto;
	height: auto;
}
.kinenshi_txt {
	width: calc(100% - 350px);
}
.kinenshi_txt h4 {
	margin-top: 0;
	font-size: 2.2rem;
	padding-bottom: 10px;
	text-align: left;
}
.kinenshi_btn a {
	display: inline-block;
	padding: 10px 80px 10px 25px;
}

}/* Tablet & PC */



.mod_panel .panelTitle {
    position: relative;
	margin-top: 30px;
}
.mod_panel .panelTitle a{
    display: block;
    position: relative;
    text-decoration: none;
}
.mod_panel .panelTitle a:after {
    display: inline-block;
	content: '';
	width: 15px;
	height: 15px;
	border: 0px;
	border-bottom: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
	position: absolute;
	bottom: 15px;
	right: 47%;
}
.mod_panel .panelTitle a.open:after {
    border-bottom: none;
	border-right: none;
	border-top: solid 2px #fff;
	border-left: solid 2px #fff;
}

.mod_panel .panelTitle div {
	width: 100%;
	position: absolute;
	top: 48%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	margin:0;
	padding:0;
	color: #fff;
	font-size: 3.5rem;
	font-weight: 300;
}
.mod_panel .panelTitle div span {
	display: inline-block;
	width: 80%;
	font-size: 2rem;
	font-weight: bold;
	padding: 8px 0;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	margin-top: 20px;
}
.mod_panel .panelTitle img.pc {
	display: none;
}
.mod_panel .panelTitle img.sp {
	width: 100%;
	height: auto;
}

.mod_panel_inner {
    padding: 10px 30px 30px 30px;
	background-color: #f1f1f1;
}
.mod_panel_inner.close {
    display: none;
}
.mod_panel_inner_btn p.closebtn {
    display: block;
    cursor: pointer;
    margin-top: 50px;
    text-align: center;
    margin-bottom: 0;
}
.mod_panel_inner_btn p.closebtn a {
    background-color: #666;
    color: #fff;
    text-decoration: none;
    border-radius: 20px;
    display: inline-block;
    line-height: 1;
    padding: 10px 30px 10px 50px;
	position: relative;
}
.mod_panel_inner_btn p.closebtn a:hover {
	background-color: #333;
}
.mod_panel_inner_btn p.closebtn a::before {
    display: inline-block;
	content: '';
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: solid 2px #fff;
	border-left: solid 2px #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 45%;
	margin-left: -20px;
}


.mod_panel.type2 h3.panelTitle {
    margin-bottom: 15px;
}
.mod_panel.type2 .panelTitle a {
    font-size: 1.5rem;
    line-height: 2.8rem;
    padding: 10px 20px;
}
.mod_panel.type2 .panelTitle a:after {
    top: 20%;
}


@media print,screen and (min-width: 768px) {
.mod_panel .panelTitle a:after {
	width: 20px;
	height: 20px;
	top: 50%;
	right: 30px;
}

.mod_panel .panelTitle div {
	top: 52%;
	left: 50%;
	font-size: 5rem;
}
.mod_panel .panelTitle div span {
	display: inline-block;
	width: 350px;
	font-size: 2.2rem;
	font-weight: bold;
	padding: 8px 0;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	margin-top: 50px;
}
.mod_panel .panelTitle img.pc {
	display: block;
}
.mod_panel .panelTitle img.sp {
	display: none;
}

.mod_panel_inner {
    padding: 30px 50px;
	background-color: #f1f1f1;
}
.mod_panel_inner.close {
    display: none;
}
.mod_panel_inner_btn p.closebtn {
    display: block;
    cursor: pointer;
    margin-top: 50px;
    text-align: center;
    margin-bottom: 0;
}
.mod_panel_inner_btn p.closebtn a {
    background-color: #666;
    color: #fff;
    text-decoration: none;
    border-radius: 20px;
    display: inline-block;
    line-height: 1;
    padding: 10px 30px 10px 50px;
	position: relative;
}
.mod_panel_inner_btn p.closebtn a:hover {
	background-color: #333;
}
.mod_panel_inner_btn p.closebtn a::before {
    display: inline-block;
	content: '';
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: solid 2px #fff;
	border-left: solid 2px #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 45%;
	margin-left: -20px;
}


.mod_panel.type2 h3.panelTitle {
    margin-bottom: 15px;
}
.mod_panel.type2 .panelTitle a {
    font-size: 1.5rem;
    line-height: 2.8rem;
    padding: 10px 20px;
}
.mod_panel.type2 .panelTitle a:after {
    top: 20%;
}
}/* Tablet & PC */




/* policy --------- */

/* iso --- */

.con_flex_iso .pdf {
	text-align: center;
	padding-bottom: 20px;
}
.con_flex_iso .txt {
}
.con_flex_iso .txt h4 {
	background-color: #ddf6ec;
	padding: 10px 20px;
	font-size: 2rem;
	text-align: left;
	border-radius: 5px;
}

.block p.comment {
	text-align: center;
	border: solid 1px #000;
	padding: 20px;
	margin-top: 30px;
}

@media print,screen and (min-width: 768px) {

.con_flex_iso {
	display:flex;
	flex-direction: row;
}
.con_flex_iso .pdf {
	width: 220px;
}
.con_flex_iso .txt {
	flex: 1;
	padding-left: 60px;
}

.block p.comment {
	margin-top: 80px;
}

}/* Tablet & PC */


.award_li{
	margin-top: 30px;
	margin-bottom: -15px;
}
.award_li li {
	margin-bottom: 15px;
	border: solid 1px #dadada;
	padding: 15px;
	display:flex;
}
.award_li li .img {
	width: 100px;
	padding-right: 15px;
}
.award_li li .img img {
	width: 100%;
	height: auto;
}
.award_li li .txt {
	flex: 1;
}
.award_li li .txt h4 {
	margin-top: 0;
	margin-bottom: 15px;
	font-size: 1.6rem;
}
.block .award_li li .txt p {
	margin-top: 0;
}

.award_li.deed li {
	display: block;
}
.award_li.deed li .img {
	width: 100%;
	padding: 0;
	text-align: center;
	margin-bottom: 15px;
}
.award_li.deed li .img.half img {
	width: 50%;
	height: auto;
}

@media print,screen and (min-width: 768px) {

.award_li{
	display:flex;
    flex-wrap: wrap;
	text-align: left;
	margin-left: -30px;
	margin-top: 30px;
	margin-bottom: -30px;
}
.award_li li {
	margin-left: 30px;
	margin-bottom: 30px;
    width: calc((100% - 60px) / 2);
	border: solid 1px #dadada;
	padding: 25px;
	display:flex;
}
.award_li li .img {
	width: 150px;
	padding-right: 25px;
}
.award_li li .img img {
	width: 100%;
	height: auto;
}
.award_li li .txt {
	flex: 1;
}
.award_li li .txt h4 {
	margin-top: 0;
	margin-bottom: 15px;
	font-size: 1.8rem;
}
.block .award_li li .txt p {
	margin-top: 0;
}

.award_li.deed {
	margin-left: 0;
}
.award_li.deed li {
	margin-left: 0;
    width: 100%;
	padding: 30px;
	display: flex;
}
.award_li.deed li .img {
	width: 380px;
	padding-right: 30px;
	text-align: center;
}
.award_li.deed li .img.half img {
	width: 50%;
	height: auto;
}

}/* Tablet & PC */




/* vision --- */

.bg_vision {
	background: url("../img/about/img_visi_01_sp.jpg") no-repeat left top;
	background-size: 100% auto;
}
.bg_vision .block {
	padding-bottom: 20px;
}
.vision_box {
	width: 95%;
	margin: auto;
	margin-top: 60px;
	background-color: #fff;
	box-shadow: 0px 8px 16px -2px rgba(0,0,0,0.2), 0px 0px 0px 1px rgba(0,0,0,0.03);
	padding: 40px 20px 40px 20px;
	text-align: center;
}
.vision_box h3 {
	font-size: 2.6rem;
	line-height: 180%;
	letter-spacing: 0.03em;
	margin-left: -0.03em;
	position: relative;
}
.vision_box h3::after {
    content: "";
    display: block;
    width: 60px;
    height: 5px;
    background-color: #009844;
	margin: 25px auto 0 auto;
}
.block .vision_box p {
	text-align: center;
}
.block .vision_box p.copy {
	font-size: 1.7rem;
	line-height: 180%;
	margin-bottom: 40px;
}

@media print,screen and (min-width: 768px) {
.bg_vision {
	background: url("../img/about/img_visi_01.jpg") no-repeat left bottom;
	background-size: 100% auto;
}
.bg_vision .block {
	padding-bottom: 350px;
}
.vision_box {
	width: 800px;
	margin: auto;
	margin-top: 10px;
	background-color: #fff;
	box-shadow: 0px 8px 16px -2px rgba(0,0,0,0.2), 0px 0px 0px 1px rgba(0,0,0,0.03);
	padding: 70px 50px 70px 50px;
	text-align: center;
}
.vision_box h3 {
	font-size: 3rem;
	line-height: 180%;
	letter-spacing: 0.03em;
	margin-left: -0.03em;
	position: relative;
}
.vision_box h3::after {
    content: "";
    display: block;
    width: 80px;
    height: 5px;
    background-color: #009844;
	margin: 30px auto 0 auto;
}
.block .vision_box p {
	text-align: center;
}
.block .vision_box p.copy {
	font-size: 1.8rem;
	line-height: 220%;
	margin-bottom: 50px;
}
}/* Tablet & PC */



.bg_vision2 {
	background:url(../img/about/img_visi_05.png) , -moz-linear-gradient(top, #ffffff 0%, #cbeafe 100%);
	background:url(../img/about/img_visi_05.png) , -webkit-linear-gradient(top, #ffffff 0%, #cbeafe 100%);
	background:url(../img/about/img_visi_05.png) , linear-gradient(top, #ffffff 0%, #cbeafe 100%);
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: auto 250px;
}
.bg_vision2 .block {
	padding-top: 20px;
	padding-bottom: 220px;
}

.con_flex.vision {
	margin-top: 40px;
	color: #fff;
}
.con_flex.vision .col.txt {
	padding: 1px 35px 35px 35px;
	background: linear-gradient(#009844, #02bf56);
}

@media print,screen and (min-width: 768px) {
.bg_vision2 {
	background:url(../img/about/img_visi_05.png) , -moz-linear-gradient(top, #ffffff 0%, #cbeafe 100%);
	background:url(../img/about/img_visi_05.png) , -webkit-linear-gradient(top, #ffffff 0%, #cbeafe 100%);
	background:url(../img/about/img_visi_05.png) , linear-gradient(top, #ffffff 0%, #cbeafe 100%);
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: auto auto;
}
.bg_vision2 .block {
	padding-top: 50px;
	padding-bottom: 350px;
}

.con_flex.vision {
	margin-top: 60px;
}
.con_flex.vision .col.txt {
	padding: 10px 60px;
}
.con_flex.vision.reverse {
	flex-flow: row-reverse;
}
}/* Tablet & PC */



/* strength --- */

.strength_zu {
	margin: 0 0 60px 0;
	text-align: center;
}
.strength_zu img {
	width: 100%;
	height: auto;
}

@media print,screen and (min-width: 768px) {
.strength_zu {
	margin: 0 0 80px 0;
	text-align: center;
}
.strength_zu img {
	width: auto;
}
}/* Tablet & PC */



.about_point {
	margin-top: 40px;
	overflow: hidden;
}
.about_point_label {
    color: #fff;
    background-color: #009844;
    padding: 30px 30px 30px 30px;
}
.about_point_label h4 {
	margin-top: 0;
}
.about_point_label h4 span {
	display: block;
	margin: -30px 0 20px -30px;
}
.about_point_label h4 span img {
	width: 150px;
	height: auto;
}
.about_point_col img {
    width: 100%;
	height: auto;
}

.block .about_point p.btn_more {
	text-align: left;
}
.block .about_point p.btn_more a {
    border: solid 1px #fff;
    background: url(../img/common/arrow02.svg) no-repeat right 10px top 50%;
    text-align: left;
    color: #fff;
}
.block .about_point p.btn_more a:hover {
	color: #fff;
	border: solid 1px #19e0a5;
	background: #19e0a5 url("../img/common/arrow02.svg") no-repeat right 10px top 50%;
}

.block .about_point p.btn_more {
	text-align: right;
}
.block .about_point p.btn_more a {
    border: solid 1px #fff;
    background: url(../img/common/arrow02.svg) no-repeat right 10px top 50%;
    text-align: left;
    color: #fff;
}
.block .about_point p.btn_more a:hover {
	color: #fff;
	border: solid 1px #19e0a5;
	background: #19e0a5 url("../img/common/arrow02.svg") no-repeat right 10px top 50%;
}

@media print,screen and (min-width: 768px) {

.about_point_label {
	width: 820px;
    padding: 60px 60px 60px 60px;
}
.about_point_label h4 span {
	margin: -60px 0 20px -60px;
}
.about_point_label h4 span img {
	width: auto;
	height: auto;
}
.about_point_col {
    text-align: right;
	float: right;
	width: 300px;
}
.about_point_col.-first {
    margin-top: -350px;
}
.about_point_col.-end {
	margin-top: -110px;
	margin-right: 150px;
}
.about_point_col img {
    max-width: 100%;
	width: 300px;
}

.block .about_point p.btn_more {
	text-align: left;
}

}/* Tablet & PC */


/* sbt --- */

.box_sbt {
    clear: both;
    overflow: hidden;
    padding: 20px 20px 20px 20px;
    margin-top: 40px;
    background: #ddf6ec;
    border-radius: 8px;
}
.box_sbt h4 {
    text-align: center;
    margin-top: 0;
    margin-bottom: -15px;
    color: #009844;
}
.box_sbt p {
    text-align: center;
    font-size: 105%;
}
@media print,screen and (min-width: 768px) {
.box_sbt {
    padding: 30px 30px 30px 30px;
}
}/* Tablet & PC */


/* kenko_keiei --- */

.topic_icon {
	display: inline-block;
	width: 60px;
	height: 26px;
	line-height: 26px;
	text-align: center;
	background: #009844;
	color: #fff;
	margin-right: 20px;
	position: relative;
}
.topic_icon::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -10px;
  width: 0;
  height: 0;
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  border-left: 10px solid #009844;
}




/* business --------- */

/* index --- */

.slider {
	background-color: #f1f1f1;
	padding: 20px 20px 5px 20px;
}
.slide_box {
	background-color: #fff;
	overflow: hidden;
}
.slide_box .img {
	width: 100%;
}
.slide_box .img img {
	width: 100%;
	height: auto;
}
.slide_box .txt {
	padding: 1px 20px 20px 20px;
}
.slick-dots {
	position: relative !important;
	bottom: 0  !important;
}
.slick-prev {
    left: 5px !important;
}
.slick-next {
    right: 5px !important;
}
.slick-prev, .slick-next {
	width: 30px !important;
	height: 30px !important;
	z-index: 100;
}
.slick-prev:before, .slick-next:before {
	color: #009844 !important;
	font-size: 30px;
}

@media print,screen and (min-width: 768px) {

.slider {
	padding: 40px 40px 10px 40px;
}
.slide_box .img {
	width: 540px;
	float: left;
}
.slide_box .txt {
	padding-left: 590px;
	padding-right: 50px;
}

}/* Tablet & PC */




/* case --------- */

@media print,screen and (min-width: 768px) {

.case_flex {
	display: flex;
	flex-flow: row-reverse;
}
.case_area {
	width:  780px;
	margin-left: 50px;
}
.search_area {
	width: 250px;
	border-right: solid 1px #dadada;
}

}/* Tablet & PC */


.case_li {
	display: flex;
	flex-wrap: wrap;
	margin-top: -40px;
	margin-left: -20px;
}
.case_li li {
	margin-top: 40px;
	margin-left: 20px;
    width: calc((100% - 40px) / 2);
}
.case_li a {
	display: block;
	height: 100%;
	color: #000;
}
.case_li a:hover {
	color: #009844;
}
.case_li .img {
	position: relative;
}
.case_li .img::before{
	content: "";
	display: block;
	padding-top: 100%;
}
.case_li .img img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
}
.case_li li h4 {
	margin-top: 10px;
	margin-bottom: 0;
	font-size: 1.6rem;
	line-height: 180%;
	border-bottom: solid 1px #dadada;
	padding-bottom: 10px;
	position: relative;
}
.case_li li h4::before {
    content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	position:  relative;
	top: 2px;
	margin-right: 8px;
	background-image: url("../img/common/arrow03.svg");
	background-size: contain;
}
.block .case_li li p {
	margin-top: 10px;
	font-size: 1.4rem;
	line-height: 180%;
}

@media print,screen and (min-width: 568px) {

.case_li li {
    width: calc((100% - 60px) / 3);
}

}

@media print,screen and (min-width: 768px) {

.case_li {
	margin-top: -50px;
	margin-left: -30px;
}
.case_li li {
	margin-top: 50px;
	margin-left: 30px;
    width: calc((100% - 90px) / 3);
}

.case_li .img {
	height: 180px;
}

}/* Tablet & PC */



.sd-search {
	margin-top: 50px;
}

.sd-search h3 {
    padding: 3px 20px;
    text-align: left;
    font-size: 2rem;
	font-weight: bold;
	border-left: solid 5px #009844;
}

.sd-search-list__head {
    position: relative;
    padding: 10px 0 13px 0;
    font-size: 1.8rem;
    line-height: 1.3125;
    font-weight: bold;
    border-bottom: 2px solid #009844;
    margin-bottom:10px;
}
.sd-search-list__head:after {
    position: absolute;
    content: '';
    display: block;
    bottom: 23px;
    right: -2px;
    width: 7px;
    height: 7px;
    border-right: 2px solid #009844;
    border-bottom: 2px solid #009844;
    -webkit-transform-origin: left 50%;
    -ms-transform-origin: left 50%;
    transform-origin: left 50%;
    -webkit-transform: rotate(
45deg
) translate(-50%, 0);
    -ms-transform: rotate(45deg) translate(-50%, 0);
    transform: rotate(
45deg
) translate(-50%, 0);
    -webkit-transition: all .6s ease;
    transition: all .6s ease;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
}
.sd-search-list__head.is-active:after {
  -webkit-transform: rotate(225deg) translate(-50%, 0);
  -ms-transform: rotate(225deg) translate(-50%, 0);
  transform: rotate(225deg) translate(-50%, 0)
}

#feas-searchform-0 label{
  display: block;
  text-align: left;
  cursor: pointer;
    line-height: 2.4;
}

.sd-search input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    outline: 0;
    border-radius: 0;
}
.sd-search input[type="checkbox"] {
    display: none;
}
.sd-search input[type="checkbox"]+input[type="hidden"]+span, .sd-search input[type="checkbox"]+span {
    position: relative;
    padding-left: 30px;
}

.sd-search input[type="checkbox"]+input[type="hidden"]+span:before, .sd-search input[type="checkbox"]+span:before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 0;
  width: 18px;
  height: 18px;
  border: solid 1px #ddd;
  background: #fff;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.sd-search input[type="checkbox"]+input[type="hidden"]+span:after, .sd-search input[type="checkbox"]+span:after {
  position: absolute;
  content: '';
  display: block;
  top: 50%;
  left: 10px;
  width: 7px;
  height: 4px;
  margin-top: -1px;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  opacity: 0
}

.sd-search input[type="checkbox"]:checked+span:before, .sd-search input[type="checkbox"]+input[type="hidden"]+span:before {
  background: #666;
}

.sd-search input[type="checkbox"]:checked+span:after, .sd-search input[type="checkbox"]+input[type="hidden"]+span:after {
  opacity: 1
}

.sd-search-year__set input[type="number"] {
  width: 90px;
  height: 35px;
  text-align: center;
  font-size: 1.6rem;
  border: 1px solid #ddd
}

.sd-search input.feas-submit-button {
    position: relative;
    display: block;
    width: 100%;
    margin: 30px auto 0 auto;
    padding: 20px 10px;
    font-weight: bold;
    font-size: 1.6rem;
    font-family: inherit;
    background: #009844;
    color: #fff;
    border: 0;
    outline: none;
    letter-spacing: inherit;
    border-radius: 5px;
	cursor: pointer;
}

.sd-search__close {
	display: none;
}

@media print,screen and (min-width: 768px) {

.sd-search {
	margin-top: 0;
	padding-right: 30px;
}

}/* Tablet & PC */



.c-single02-meta {
  display: flex;
  flex-wrap: wrap;
}

.c-single02-meta__item {
  margin: 5px 5px 0 0;
  padding: 8px 20px 9px 20px;
  background: #009844;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
}



.mod_panel .panelTitle2 {
    position: relative;
}
.mod_panel .panelTitle2 a{
    display: block;
    position: relative;
    text-decoration: none;
	padding: 10px 0 13px 0;
    font-size: 1.8rem;
    line-height: 1.3125;
    font-weight: bold;
	color: #000;
    border-bottom: 2px solid #009844;
    margin-bottom: 10px;
}
.mod_panel .panelTitle2 a:after {
    display: inline-block;
	content: '';
	width: 8px;
	height: 8px;
	border: 0px;
	border-bottom: solid 2px #009844;
	border-right: solid 2px #009844;
	transform: rotate(45deg);
	position: absolute;
	top: 40%;
	right: 3px;
}
.mod_panel .panelTitle2 a.open:after {
    border-bottom: none;
	border-right: none;
	border-top: solid 2px #009844;
	border-left: solid 2px #009844;
}
.mod_panel_inner2.close {
    display: none;
}


.sd-search .year_num {
	margin-top: 20px;
}
.sd-search .year_num input {
	width: 80px;
	height: 35px;
	font-size: 1.6rem;
	text-align: center;
	border: 1px solid #dadada;
	margin-right: 5px;
}


.sd-search .noUi-horizontal .noUi-handle {
    width: 15px;
    height: 15px;
    right: -7px;
    top: -4px;
    border: 0;
    background: #009844;
    box-shadow: none;
    border-radius: 0;
}
.sd-search .noUi-handle:after, .sd-search .noUi-handle:before {
	content: none;
}

.sd-search .noUi-horizontal {
    height: 8px;
    border: 0;
	margin: 26px 7px 0 9px;
}
.sd-search .noUi-connect {
    background: #ddd;
}




/* recruit --------- */

/* attraction --- */

.rec_att_box {
	border: solid 1px #05c4c2;
	padding: 40px 30px;
	margin-top: 50px;
}
.rec_att_box h3.title2 {
	margin-top: 0;
	margin-bottom: 40px;
}

.recruit h3.title2 span.eiji {
    color: #05c4c2;
}
.recruit h3.title2 span.eiji::after {
    background-color: #05c4c2;
}


ul.rec_li {
	margin:20px -10px 0 0;
	list-style: none;
	padding: 0;
	text-align: left;
}
ul.rec_li li {
	position: relative;
	padding-left: 25px;
	margin-top:10px;
	margin-right: 10px;
	display: inline-block;
	background-color: #e0f4f4;
	padding: 2px 20px 5px 38px;
	border-radius: 20px;
}
ul.rec_li li::after {
	content: '';
	display: block;
	position: absolute;
	top: 12px;
	left: 15px;
	width: 12px;
	height: 8px;
	border-left: 3px solid #05c4c2;
	border-bottom: 3px solid #05c4c2;
	transform: rotate(-45deg);
}
ul.rec_li li.ast {
	display: block;
	padding: 0;
	background-color: transparent;
}
ul.rec_li li.ast::after {
	content: none;
}

@media print,screen and (min-width: 768px) {

.rec_att_box {
	border: solid 1px #05c4c2;
	padding: 40px 50px 50px 50px;
	margin-top: 80px;
}
.rec_att_box h3.title2 {
	margin-top: 0;
	margin-bottom: 50px;
}

.recruit h3.title2 span.eiji {
    color: #05c4c2;
}
.recruit h3.title2 span.eiji::after {
    background-color: #05c4c2;
}


ul.rec_li {
	margin:20px -10px 0 0;
	list-style: none;
	padding: 0;
	text-align: left;
}
ul.rec_li li {
	position: relative;
	padding-left: 25px;
	margin-top:10px;
	margin-right: 10px;
	display: inline-block;
	background-color: #e0f4f4;
	padding: 2px 20px 5px 38px;
	border-radius: 20px;
}
ul.rec_li li::after {
	content: '';
	display: block;
	position: absolute;
	top: 12px;
	left: 15px;
	width: 12px;
	height: 8px;
	border-left: 3px solid #05c4c2;
	border-bottom: 3px solid #05c4c2;
	transform: rotate(-45deg);
}
ul.rec_li li.ast {
	display: block;
	padding: 0;
	background-color: transparent;
}
ul.rec_li li.ast::after {
	content: none;
}

}/* Tablet & PC */


.youthyell {
	display:flex;
	justify-content:center;
	align-items:center;
	margin-top: -30px;
	margin-bottom: 60px;
	border: solid 1px #dadada;
	padding: 20px;
}
.youthyell img {
	margin-right: 30px;
}
.block .youthyell p {
	margin-top: 0;
}


/* voice --- */

.voice_li li {
	margin-top: 15px;
}
.voice_li li a {
	display: flex;
	align-items: center;
	background-color: #05c4c2;
	color: #fff;
	position: relative;
}
.voice_li li a:hover {
	color: #fff;
	background-color: #049795;
}
.voice_li li a .img {
	width: 150px;
}
.voice_li li a .txt {
	flex: 1;
	padding: 0 20px;
	text-align: left;
}
.voice_li li a .txt span {
	font-size: 1.8rem;
	font-weight: bold;
}
.voice_li li a::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 10px;
	height: 10px;
	margin-top: -4px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}

.voice_li_page {
	margin-top: 50px;
}
.voice_li_page .voice_li li a .img ,
.voice_li_page .voice_li li a .img img {
	width: 100px;
	height: auto;
}


h3.voice_read {
    font-size: 2rem;
    line-height: 180%;
    letter-spacing: 0.03em;
    margin-left: -0.03em;
    margin-bottom: 30px;
}
h3.voice_read span.num {
	display: block;
	color: #05c4c2;
	padding-left: 5px;
	font-size: 3.6rem;
	line-height: 1;
	margin-bottom: 20px;
	padding-bottom: 15px;
	border-bottom: solid 1px #05c4c2;
}
p.name {
	padding: 5px 20px;
	border-top: 1px solid #dadada;
	border-bottom: 1px solid #dadada;
	margin-bottom: 30px;
}

.voice_box {
    overflow: hidden;
    margin: 30px 0;
    background-color: #e0f4f4;
    padding: 1px 30px 30px 30px;
	border-radius: 8px;
}
.voice_box h4 {
	font-size: 2rem;
	position: relative;
}
.voice_box h4::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: #05c4c2;
    margin: -5px 10px 0 -30px;
    vertical-align: middle;
}

@media print,screen and (min-width: 768px) {

.voice_li {
	display: flex;
	flex-wrap: wrap;
	margin-top: -15px;
	margin-left: -15px;
}
.voice_li li {
	margin-top: 15px;
	margin-left: 15px;
    width: calc((100% - 45px) / 3);
}


.voice_li_page {
	margin-top: 80px;
}

h3.voice_read {
    font-size: 3rem;
    text-align: left;
    margin-bottom: 50px;
}
h3.voice_read span.num {
	padding-left: 5px;
	font-size: 5rem;
	line-height: 1;
	margin-bottom: 20px;
	border: none;
	padding-bottom: 0;
}

p.name {
	padding: 5px 20px;
	border-top: 1px solid #dadada;
	border-bottom: 1px solid #dadada;
}

.voice_box {
    margin: 50px 0;
    padding: 1px 50px 50px 50px;
}
.voice_box h4 {
	font-size: 2.2rem;
	position: relative;
}
.voice_box h4::before {
    width: 35px;
    height: 5px;
    margin: -5px 15px 0 -50px;
}
.voice_box .floatR img {
	width: 400px;
	height: auto;
}

}/* Tablet & PC */




/* privacy --------- */

.privacy_area h4 {
	border-bottom: solid 1px #000;
	padding-bottom: 5px;
	margin-top: 30px;
}

@media print,screen and (min-width: 768px) {

.privacy_area h4 {
	margin-top: 50px;
}

}/* Tablet & PC */



/* news  --------- */

.block p.info_data {
    margin-top: 0;
    margin-bottom: 15px;
    color: #009844;
    font-weight: bold;
}




/* 07.FORM MODULES
----------------------------------- */

.inputSS, .inputS, .inputM, .inputL {
    font-size: 100%;
    padding: 12px;
	margin:5px 0;
	border: solid 1px #dadada;
}
.inputSS { width: 100px; }
.inputS { width: 150px; }
.inputM { width: 100%; }
.inputL { width: 100%; }
textarea {
    font-family: 'Noto Sans JP', "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 100%;
	width:100%;
    height: 250px;
	padding: 10px;
	border: solid 1px #dadada;
}

/* メールフォーム */

span.rec {
	display: inline-block;
	border: solid 1px #e22020;
	color: #e22020;
	font-size: 80%;
	line-height: 1;
	padding: 4px 10px;
	margin-left: 10px;
}

.block p.form_privacy {
	text-align: center;
	margin-top: 40px;
	border: solid 1px #dadada;
	padding: 15px;
}
.block p.form_privacy input {
	margin-right: 7px;
	transform:scale(1.5);
	vertical-align: middle;
}

.block p.inputBtn {
	text-align: center;
	margin-top: 40px;
}
.inputBtn a {
	display: inline-block;
	text-decoration: none;
    background: #19e0a5;
    color: #fff;
    font-size:1.8rem;
	line-height: 1;
    margin: 0 auto;
    padding: 25px 0;
    text-align: center;
    width: 300px;
	cursor: pointer;
}
.inputBtn a:hover {
    background-color: #15ba89;
	color: #fff;
}


@media print,screen and (min-width: 768px) {

.inputSS, .inputS, .inputM, .inputL {
	border: none;
	background-color: #f1f1f1;
}
.inputM { width: 450px; }
textarea {
	border: none;
	background-color: #f1f1f1;
}

.inputBtn a {
    width: 260px;
}

}/* Tablet & PC */


input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance:textfield;
}




/* Tablet & PC */
@media print,screen and (min-width: 768px) {

}/* Tablet & PC */

/* PC */
@media print,screen and (min-width: 1024px) {

}/* PC */






