@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('//fonts.googleapis.com/css?family=Noto+Sans+JP:400,500&subset=japanese');
@import url('//fonts.googleapis.com/css?family=Spectral:400,500,600');


/* よく使うCSS start

img {
	max-width:100%;
}

table {
	width:100%;
}

a,a:hover {
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}

a img:hover {
	filter: alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;
}

よく使うCSS end -----
時々使うCSS3 start ---

テキストシャドウ {
	text-shadow: 1px 1px 3px #000;
}

テキストシャドウ {
	text-shadow: 1px 1px 3px #000;
}

ボックスシャドウ {
	-moz-box-shadow: 1px 1px 3px #000;
	-webkit-box-shadow: 1px 1px 3px #000;
	box-shadow: 1px 1px 3px #000;
}

ボックスシャドウ内側 {
	-moz-box-shadow: inset 1px 1px 3px #000;
	-webkit-box-shadow: inset 1px 1px 3px #000;
	box-shadow: inset 1px 1px 3px #000;
}

角丸 {
	border-radius: 8px; 
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px; 
}

トランジション {
	-webkit-transition: 1.5s;
	-moz-transition: 1.5s;
	-o-transition: 1.5s;
	transition: 1.5s;
}

透明 {
	filter: alpha(opacity=25);
	-moz-opacity:0.25;
	opacity:0.25;
}

背景のみ透明 {
	background-color:rgba(255,255,255,0.2);
}

グラデーション {
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#000000');
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#000000')";
	background-image: -moz-linear-gradient(top, #ffffff, #000000);
	background-image: -ms-linear-gradient(top, #ffffff, #000000);
	background-image: -o-linear-gradient(top, #ffffff, #000000);
	background-image: -webkit-gradient(linear, center top, center bottom, from(#ffffff), to(#000000));
	background-image: -webkit-linear-gradient(top, #ffffff, #000000);
	background-image: linear-gradient(top, #ffffff, #000000);
}

スマホ対応
@media screen and (max-width: 480px){
	
}
@media screen and (max-width: 320px){
	
}

時々使うCSS3 end */




body {
	/*font-family: 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro', "游明朝体", "Yu Mincho" , "HG明朝E", "メイリオ", Meiryo, sans-serif;*/
	/*font-family: "Sawarabi Mincho";*/
	/*font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","Sawarabi Mincho",HGS明朝E,メイリオ,Meiryo,serif;*/
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	font-size:16px;
	font-family:'Noto Sans CJK JP', 'Noto Sans JP', 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	background:#eef6f9;
	
}


@media only screen and (max-width: 767px) {
	body {
		font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	}
}


h1,h2,h3,h4,h5,p,th,td,li,a {
	/*transform: rotate(.03deg);*/
	/*font-family: "Sawarabi Mincho";*/
	/*font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;*/
}

h1,h2,h3,h4 {
	/*font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","Sawarabi Mincho",HGS明朝E,メイリオ,Meiryo,serif;
	font-family: "Sawarabi Mincho";*/
	transform: rotate(.03deg);
}

h5 {
	color:#0f8e77;
}

dl.project_list dt {
	    float: left ;
	    clear: left ;
	    margin-right: 0.5em ;
	    width: 80px ;

}

dl.project_list dd {
	    float: left ;
	    margin-left: 1em ;

}

dl.project_list{
	
	clear: both;
	display:block;
	margin-top:25px;
}

.btn-info {
    color: #fff;
	background-color:#058cd7;
	border:none;
}

.btn-info:hover {
    color: #fff;
    background-color:#ff7276;
	border:none;
}

/* 画面外にいる状態 */
.fadein {
    opacity : 0.1;
    transform : translate(0, 50px);
    transition : all 500ms;
    }

/* 画面内に入った状態 */
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
    }

.navbar-brand {
	
}


.btn-success {
    color: #fff;
    background-color: #0f8e77;
    border-color: #0f8e77;
}

.btn-success:hover,
.btn-success:focus,
.btn-success.focus,
.btn-success.disabled,
.btn-success:disabled,
.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #0f8e77;
    border-color: #0f8e77;
}

.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus {
    box-shadow:none;
}


p {
	
}

hr {
	background-color: #ededed;
	border: 0;
	height: 1px;
	margin-bottom: 0px;
}

dt {
	font-weight: bold;
	color:#ff7276;
}

dd {
	margin: 0 1.5em 1.1em;
}

img {
	height: auto; /* Make sure images are scaled correctly. */ max-width: 100%; /* Adhere to container width. */
}

figure {
	margin: 1em 0; /* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
	border: 0px solid #ddd;
	position:relative;
	border-collapse:collapse;
	border-spacing: 0;
}


table th {
	color:#fff;
	border-bottom: 1px solid #fff;
	padding:15px;
	font-weight:normal;
	text-align:center;
	background:#0f8e77;
	border-right: 0px solid #fff;
}

table td {
	background:#fff;
	color:#000;
	border-bottom: 1px solid #ddd;
	padding:15px;
}

@media only screen and (max-width: 767px) {
	table{
		width:100%;
		border:none;
	}

	table tbody tr{
        display: block;
		width:100%;
    }

	table tbody tr th,
    table tbody tr td{
        display: block;
		width:100%;
    }

	table tbody tr td{
		border:none;
		margin-bottom:10px;
	}
}

input[type="text"] {
	width:100%;
}


textarea {
	width:100%;
}

.required-mark {
	background:#fff;
	color:#ff616e;
	margin-left:5px;
	padding:0 5px;
	padding-bottom:2px;
	border-radius: 2px; 
	display:inline-block;
}

a {
	color:#4793ff;
}

a:active,
a:hover {
	color:#4793ff;
}

a:focus{
	outline:none;
}

button:focus {
    outline: 0px dotted;
}

.fa-angle-down:hover,
.fa-angle-down:focus {
	text-decoration: none;
}

.fa-angle-down span {

    background:#fff url(images/icon.jpg) no-repeat;
	background-position:right;
	padding-right:25px;
	color:#816da2;

}

.fa-angle-down[aria-expanded="true"] span {
    background:#fff url(images/icon_expanded.jpg) no-repeat;
	background-position:right;
	padding-right:25px;
}

.card-body {
	border:1px solid #eee;
}

.top_nav_area {
	position:absolute;
	top:0px;
	width:100%;
	background:#fff;
	height: 170px;
}

.top_nav_area.top_nav_second {
	height: 120px;
}

@media only screen and (max-width: 767px) {
	.top_nav_area {
		height: auto;
	}
	
	.top_nav_area.top_nav_second {
		height: auto;
	}
}


header {
	position:relative;
	background:url("images/slide_bg.svg") no-repeat;
	background-size: 800px;
	background-position: right 0 top 500px;
}

@media only screen and (max-width: 767px) {
	header {
		position:relative;
		background:url("images/slide_bg.svg") no-repeat;
		background-size: 400px;
		background-position: right 0 top 200px;
	}
}

@media only screen and (max-width: 500px) {
	header {
		position:relative;
		background:url("images/slide_bg.svg") no-repeat;
		background-size: 200px;
		background-position: right 0 top 150px;
	}
}


.title_area {
	position: relative;
 	overflow: hidden;
	margin-top:0px;
	padding-top:120px;
	padding-bottom:40px;
	padding-left:0px;
	background-size:100%;
}

@media only screen and (max-width: 767px) {
	.title_area {
		padding-top:60px;
		padding-bottom:25px;
	}
}

.title_area h1 {
	color:#fff;
	font-weight:500;
}

@media only screen and (max-width: 767px) {
	.title_area h1 {
		font-size:24px;
	}
}



.title_area_inner {

}

/* 事業紹介と新着情報セクションの間隔を詰める */
.title_area.about_area {
	padding-bottom: 0;
}

.title_area.news_section {
	padding-top: 0;
}

/*検索*/
#searchform {
	float:right;
	margin-top:30px;
	margin-right:15px;
}

@media only screen and (max-width: 767px) {
	#searchform {
		text-align: center;
		margin-top:0px;
	}
	
	
}

#s {
	width:200px;
}

#searchsubmit {
	background:#ff7276;
	border:2px solid #ff7276;
	color:#fff;
}

.search_sp {
	display: none;
}

@media only screen and (max-width: 767px) {
	.search_area {
		display: none;
	}
	.search_sp {
		display:block;
		text-align: center;
	}
}

/***************
全体使用
***************/

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
	border:none;
	box-shadow:none;
}



.btn_default {
	display:inline-block;
	color:#fff;
	text-decoration:none;
	border:none;
    background: url(images/btn_arrow.png) no-repeat,#0f8e77;
	background-position:right 10px center,center;
	background-size:14px auto,auto;
	border-radius:0px;
	padding-right:30px;
	padding-left:15px;
	padding-top:10px;
	padding-bottom:10px;
	font-size:16px;
	font-weight:500;
	transition: 0.2s;
	border-radius:5px;
}

.btn_default:hover,
.btn_default:active,
.btn_default:focus {
	color:#fff;
	text-decoration:none;
    background: url(images/btn_arrow.png) no-repeat,#0f8e77;
	background-position:right 10px center,center;
	background-size:14px auto,auto;
	opacity:0.8;
	transition: 0.2s;
	border: none !important;
	box-shadow:none !important;
}

/* 事業紹介：説明文とボタンを横並び（縦中央）にして余白をなくす */
.about_lead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}
.about_lead_text {
	flex: 1 1 auto;
}
.about_lead_btn {
	flex: 0 0 auto;
	white-space: nowrap;
}

@media only screen and (max-width: 767px) {
	.about_lead {
		display: block;
	}
	.about_lead_btn {
		margin-top: 12px;
		text-align: right;
	}
}

.btn_contact {
	border:none;
    background: url(images/btn_arrow.png) no-repeat,#ea8a42;
	background-position:right 10px center,center;
	border-radius:0px;
	padding-right:40px;
	padding-left:15px;
	padding-top:15px;
	padding-bottom:15px;
	font-size:21px;
	font-weight:500;
}

.btn_contact:hover,
.btn_contact:active,
.btn_contact:focus {
	background: url(images/btn_arrow.png) no-repeat,#ea8a42;
	background-position:right 10px center,center;
	opacity:0.8;
	transition: 0.2s;
	background-color: #ea8a42 !important;
	border: none !important;
	box-shadow:none !important;
}



/***************
スライドショー
****************/

.carousel-item {
	
}

.carousel-indicators {
	margin-bottom:50px;
}

.carousel-inner {
	
}

.slide_bg {
	background:#fff;
}

.slide01 {
	height:650px;
	background-size:cover;
	background-position:center;
	text-align:left;
	padding-left:25px;
	margin-top:125px;
	z-index: 1;
}



.slide01 h1 {
	padding-top:200px;
	color:#fff;
	text-shadow: 1px 1px 6px #000;
	position:relative;

}

@media only screen and (max-width: 767px) {
	.slide01 {
		height:350px;
		margin-top:250px;
	}
	.slide01 h1 {
		font-size:24px;
		padding-top:100px;
	}
}

@media only screen and (max-width: 500px) {
	.slide01 {
		height:50vw;
	}
}

.slide02 {
	height:650px;
	background-size:cover;
	background-position:center;
	text-align:left;
	padding-left:25px;
	margin-top:125px;
	z-index: 1;
}

.slide02 h1 {
	padding-top:200px;
	color:#fff;
	text-shadow: 1px 1px 6px #000;
}

@media only screen and (max-width: 767px) {
	.slide02 {
		height:350px;
		margin-top:250px;
	}
	
	.slide02 h1 {
		font-size:24px;
		padding-top:100px;
	}
}

@media only screen and (max-width: 500px) {
	.slide02 {
		height:50vw;
	}
}

.slide03 {
	height:650px;
	background-size:cover;
	background-position:center;
	text-align:left;
	padding-left:25px;
	margin-top:125px;
	z-index: 1;
}



.slide03 h1 {
	padding-top:200px;
	color:#fff;
	text-shadow: 1px 1px 6px #000;
}

@media only screen and (max-width: 767px) {
	.slide03 {
		height:350px;
		margin-top:250px;
	}
	.slide03 h1 {
		font-size:24px;
		padding-top:100px;
	}
}

@media only screen and (max-width: 500px) {
	.slide03 {
		height:50vw;
	}
}

.slide04 {
	height:650px;
	background-size:cover;
	background-position:center;
	text-align:left;
	padding-left:25px;
	margin-top:125px;
	z-index: 1;
}



.slide04 h1 {
	padding-top:200px;
	color:#fff;
	text-shadow: 1px 1px 6px #000;
}

@media only screen and (max-width: 767px) {
	.slide04 {
		height:350px;
		margin-top:250px;
	}
	.slide04 h1 {
		font-size:24px;
		padding-top:100px;
	}
}

@media only screen and (max-width: 500px) {
	.slide04 {
		height:50vw;
	}
}

/**********************
ナビゲーション
**********************/

.head_area {
	height:auto;
	z-index:1;
	position: relative;
}

@media only screen and (max-width: 768px) {
	.head_area {
		padding-bottom:0px;
	}
}

.head_bn {
	float:right;
	margin-right:15px;
	display:block;
}

.head_box {
	width:auto;
	float:right;
	margin-top:20px;
	
}

.multilingual_btn{
	background:#575956;
	color:#fff;
	padding-top:20px;
	padding-bottom:20px;
	width:150px;
	text-align:center;
	display:inline-block;
	font-size:18px;
	transition: 0.2s;
}

.multilingual_btn:hover,
.multilingual_btn:active{
	color:#fff;
	text-decoration: none;
	opacity:0.8;
	transition: 0.2s;
}

ul.multilingual_btn{
	list-style:none;
	padding:0px;
	display:inline-block;
}

ul.multilingual_btn li a{
	background:#575956;
	color:#fff;
	padding-top:20px;
	padding-bottom:20px;
	width:150px;
	text-align:center;
	display:inline-block;
	font-size:18px;
}



.contact_btn:hover,
.contact_btn:active {
	color:#fff;
	text-decoration: none;
	opacity:0.8;
	transition: 0.2s;
	

}

.toyama_btn {
	margin-top:-10px;
	margin-left:10px;
}

.back_btn {
	margin-right:60px;
	background:#bbb
}

.back_btn:active {
	margin-right:60px;
	background:#ccc
}

.back_btn:focus {
	box-shadow:none;
}

.entry_btn:focus {
	box-shadow:none !important;
}

.link_btn {
	background: #0f8e77;
	color: #fff;
}

.link_btn:hover {
	background: #0f8e77;
	color: #fff;
	opacity: 0.8;
}

.link_btn:focus {
	box-shadow:none;
}


@media only screen and (max-width: 1200px) {
	.head_bn img{
		width:270px;
	}
}

@media only screen and (max-width: 950px) {
	.head_area{
		text-align:center;
	}
	
	.head_box {
		width:470px;
		
		margin:0 auto;
		float:none;
		text-align:left;
		margin-top:25px;
	}
}


@media only screen and (max-width: 768px) {
	.head_area{
		text-align:center;
	}
	
	.head_bn{
		display:block;
		width:250px;
		margin:0 auto;
		float:none;
	}
	
	
	.head_box {
		width:100%;
		margin:0 auto;
		float:none;
		text-align:left;
		display:none;
	}
}


.head_box h1 {
	font-size:13px;
	transform: rotate(.03deg);
}



.head_box h2.contact_ttl {
	background:#e2ea9e;
	color:#000;
	font-size:12px;
	display:inline-block;
	padding:8px 15px;
	float:left;
	margin-right:5px;
}

.head_box h2.map_ttl {
	background:#fff;
	display:inline-block;
	font-size:15px;
	border-radius:20px;
	padding:5px 15px;
	float:left;
	margin-right:5px;
	background:#ed7245;
	color:#fff;
	z-index:9999999;
	position: relative;
}

.head_box h2.map_ttl a {
	color:#fff;

}

.head_box h2.map_ttl a:hover {
	text-decoration:none;
}






@media only screen and (max-width: 768px) {
	.logo {
		margin-bottom:10px;
		max-width:100%;
		margin-left: 0px;
		padding-right:15px;
		padding-left:0px;
	}
}

@media only screen and (max-width: 500px) {
	.navbar-brand {
		width:calc(100% - 100px);
	}
}

.navbar-light .navbar-toggler {
    color: #0f8e77;
	border: none;
}

.navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(21,155,160,1)' stroke-width='4' stroke-linecap='' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}


.nav_area {
	background:none;
	z-index:999;
	position:relative;
}



.bg-light {
	background-color: none !important;
}

.navbar-nav {
    
}

.fixed {
   /* position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
	*/
}

/*bootstrapナビゲーション修正*/

.navbar-toggler {
	margin-right:10px;
}

.navbar {
    padding: 0.0rem 0rem;
}

.nav-item {
	text-align:center;
	padding-bottom:0px;
	font-family:'Noto Sans CJK JP', 'Noto Sans JP', 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	margin-top:10px;
}

@media only screen and (max-width: 992px) {
	.nav-item {
		border-bottom:1px solid #fff;
	}
}



.news_ttl {
	text-align:left;
}

.news_ttl a {
	transition: 0.1s;
}

.news_ttl a:hover {
	transition: 0.1s;
	opacity: 0.7;
}

@media only screen and (max-width: 1200px) {
	.news_ttl {
		margin-bottom:25px;
	}	
}

@media only screen and (max-width: 767px) {
	.news_ttl a {
		background:url(images/news_ttl_sp.png) no-repeat;
		height:100px;
		background-position:center;
		background-size:600px;
		display:block;
		width:100%;
		margin:0 auto;
	}
	
	.news_ttl img {
		display:none;
	}
}

.topics_ttl {
	text-align:left;
}

.topics_ttl a {
	transition: 0.1s;
}

.topics_ttl a:hover {
	transition: 0.1s;
	opacity: 0.7;
}

@media only screen and (max-width: 1200px) {
	.topics_ttl {
		margin-bottom:25px;
	}
}

@media only screen and (max-width: 767px) {
	.topics_ttl a {
		background:url(images/topics_ttl_sp.png) no-repeat;
		height:100px;
		background-position:center;
		background-size:600px;
		display:block;
		width:100%;
		margin:0 auto;
	}
	
	.topics_ttl img {
		display:none;		
	}
}

.facebook_bn a{
	display:inline-block;
	margin-bottom:15px;
	margin-top:15px;
	margin-right:15px;
	transition: 0.2s;
}

.facebook_bn a:hover{
	transition: 0.2s;
	opacity: 0.7;
}

h3.information_ttl02 {
	margin-top:25px;
	color:#3c5b9a;
}


.second_area h3.information_ttl02 {
	margin-top:25px;
	color:#3c5b9a;
	border:none;
	margin-bottom:10px;
	font-size:32px;
}


.second_area .facebook_bn {
	display:flex;
}

@media only screen and (max-width: 767px) {
	.second_area .facebook_bn {
		display:block;
	}
}

.second_area .facebook_bn a {
    display: block;
    margin-bottom: 15px;
    margin-top: 15px;
    margin-right: 15px;
    float: left;
}



.navbar-nav {
	font-size:13px;
	margin-bottom:25px;
	width:1200px;
}
.navbar-nav {
	font-size:13px;
	margin-bottom:25px;
	width:auto;
}

.logo_sp {
	display: none;
}

@media only screen and (max-width: 767px) {
	.logo_sp {
		display: inline-flex;
		flex-direction: column;
		align-items: flex-start;
		line-height: 1.25;
		color:#0f8e77;
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	}
	.logo_sp .logo-lead {
		display: block;
		font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
		font-size: 15px;
		font-weight: 700;
		color: #5a6a66;
		letter-spacing: .14em;
	}
	.logo_sp .logo-main {
		display: block;
		font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
		font-size: 15px;
		font-weight: 700;
		letter-spacing: .02em;
		background: linear-gradient(180deg, #0c7d68 0%, #0f8e77 50%, #19a892 100%);
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
		color: #0f8e77;
	}
	.logo {
		display: none;
	}
}


@media only screen and (max-width: 767px) {
	.navbar-nav {
		font-size:13px;
		margin: 0 auto;
		margin-bottom:25px;
		width:100%;
	}
}

.navbar-light .navbar-nav .nav-link {
    font-size: 14px;
    color: #0f8e77;
	transition: none;
	font-weight:300;
	background-color:none;
	padding-top:5px;
	padding-bottom:5px;
	font-size:16px;
	padding-top:0px;
	padding-bottom:0px;
	font-weight: 500;
	width:auto;

	
	
}

.navbar-light .navbar-nav .nav-link:hover {
	color:#0f8e77;
}

.navbar-light .navbar-nav a.nav-link {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.navbar-light .navbar-nav a.nav-link::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #ff7276 ;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}

.dropdown-toggle::after {
    display: ruby-text;
    width: 0;
    height: 0;
    margin-left: 0;
    vertical-align: 0;
    content: "";
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
}

.navbar-light .navbar-nav a.nav-link:hover::after {
  transform-origin: right top;
  transform: scale(1, 1);
	
}



@media only screen and (max-width: 767px) {
	.navbar-light .navbar-nav .nav-link {
		color:#fff;
		width:100%;
	}
	.navbar-light .navbar-nav a.nav-link::after {
		width:0px;
	}
}

.navbar-light .navbar-nav .nav-item:first-child .nav-link {
}

.navbar-light .navbar-nav .nav-item {
	width:auto;
	padding-right:15px;
	padding-left:15px;
}


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

.nav-link {
    display: block;
    padding: 10px 10px;

}

.navbar-light .navbar-nav .nav-link.contact_btn {
	background:#575956;
	color:#fff;
	padding-top:20px;
	padding-bottom:20px;
	width:140px;
	text-align:center;
	display:inline-block;
	font-size:18px;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#4579d4+0,aa8ee2+100 */
background: #4579d4; /* Old browsers */
background: -moz-linear-gradient(top,  #ff616e 0%, #ffa667 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #ff616e 0%,#ffa667 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #ff616e 0%,#ffa667 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff616e', endColorstr='#ffa667',GradientType=0 ); /* IE6-9 */
	transition: 0.2s;
	float:right;
	position:relative;
}

.navbar-light .navbar-nav .nav-link.contact_btn:hover {
	color:#fff;
}


@media only screen and (max-width: 992px) {
	.navbar-light .navbar-nav .nav-link.contact_btn {
		width:100%;
		background: rgba(0,0,0,0.8);
		padding-top:5px;
		padding-bottom:5px;
		font-size:16px;
		opacity:1.00;
	}
	
	navbar-light .navbar-nav .nav-link.contact_btn:hover {
	}
	
	.nav-item:last-child {
		margin:0px;
	}
}



.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
	color:#0f8e77;
}

@media only screen and (max-width: 767px) {
	.navbar-light .navbar-nav .nav-link:hover,
	.navbar-light .navbar-nav .nav-link:focus {
		color:#fff;
	}
}

.dropdown-menu {
	border-radius: 0rem;
	padding-top:0px;
	padding-bottom:0px;
}

.dropdown-item {
    color: #0f8e77;
	font-size:16px;
}

.dropdown-item:hover, .dropdown-item:focus {
    color:#ff7276;
    text-decoration: none;
    background-color: #f8f9fa;
}

@media only screen and (max-width: 767px) {
	.dropdown-item {
		padding-top:15px;
		padding-bottom:15px;
		border-bottom:1px solid #0f8e77;
	}
}

.navbar-brand {
	color:#0f8e77;
	margin-top:20px;
	padding-left:10px;
	font-weight:500;
}

/* ロゴタイプ（2段構成・左アクセントバー） */
.logo {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	line-height: 1.25;
	white-space: normal;
}
.logo:hover {
	opacity: .85;
}
.logo .logo-lead {
	display: block;
	font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .18em;
	background: linear-gradient(180deg, #0c7d68 0%, #0f8e77 50%, #19a892 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: #0f8e77;
}
.logo .logo-main {
	display: block;
	font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: .04em;
	background: linear-gradient(180deg, #0c7d68 0%, #0f8e77 50%, #19a892 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: #0f8e77; /* グラデ非対応ブラウザ向けフォールバック */
}

@media only screen and (max-width: 991px) {
	.logo .logo-main {
		font-size: 19px;
	}
}

/* スマホではPC用ロゴ(.logo)を非表示にし、.logo_sp のみ表示する
   （上の .logo ルールが後勝ちで再表示されるのを打ち消す） */
@media only screen and (max-width: 767px) {
	.logo {
		display: none;
	}
}

.navbar-brand:hover {
	color:#0f8e77;
}

@media only screen and (max-width: 767px) {
	.navbar-brand {
		margin-top:0px;
	}
}


.carousel-indicators li {
    position: relative;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    width: 30px;
    height: 30px;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: rgba(210, 210, 210, 1.0);
    border: 4px solid #fff;
	border-radius: 100px;
}

@media only screen and (max-width: 767px) {
	.carousel-indicators li {
		width: 20px;
		height: 20px;
		border: 3px solid #fff;
	}
	
	.carousel-indicators {
		margin-bottom: 15px;
	}
}

.carousel-indicators .active {
	background:#ff7276;
}



@media only screen and (max-width: 767px) {
	.navbar-light .navbar-nav .nav-item {
		width:100%;
		background:#0f8e77;
		margin-top:0px;
		padding-top:15px;
		padding-bottom:15px;
		padding-right:0px;
		padding-left:0px;
		
	}
}

/*ハンバーガーメニュー修正*/
.navbar-toggler {
	background-color: #fff;
	margin-top:10px;
	margin-bottom:10px;
}


/***************
パンくずメニュー
****************/


.breadcrumb_area {
	
}


.breadcrumb {
	background:none;
	margin-bottom:0px;
	padding-left:0px;
	font-size:12px;
}

.breadcrumb li {
	margin-left:5px;
	margin-right:5px;
}

.crumb-lists {
	list-style:none;
	width:100%;
	list-style: none;
	width: 100%;
	display: inline-block;
	padding:0px;
	padding-top:10px;
	padding-left:10px;
	font-size:13px;
}


.crumb-lists li {
	float:left;
}

.current-crumb strong {
	font-weight:normal;
}


/************************
フロントページエリア
************************/

.block_layout {
	margin:0px;
	padding:0px;
}

/*ビーズリンガーネット工法*/
.method01 {
	background:url(images/method01.png);
	background-size:cover;
    position: relative;
    width: 100%;
}
.method01:before {
    content:"";
    display: block;
    padding-top: 56.25%; /* 高さと幅の比を16:9に固定。9/16*100=56.25 */
}
.method01_box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



.method01_box a{
	background:url(images/more_icon.png) no-repeat right bottom;
	background-color:rgba(0,127,79,0.4);
	background-size:14.2vw;
	display:inline-table;
	width:100%;
	height:100%;
	color:#fff;
	vertical-align:middle;
	padding-top:20%;
	padding-left:15px;
	font-size: 2.9vw;
	font-weight:bold;
	line-height:1.2em;
	transition: background-color 0.3s;
}



.method01_box a:hover{
	text-decoration: none;
	background:url(images/more_icon.png) no-repeat right bottom;
	background-size:14.2vw;
	transition: background-color 0.3s;
}

@media only screen and (max-width: 767px) {
	.method01_box a{
		font-size: 21px;
		background-size:100px;
	}
	
	.method01_box a:hover{
		background-size:100px;
	}
}


/*POWER MONSTER*/
.method02 {
	background:url(images/method02.png);
	background-size:cover;
    position: relative;
    width: 100%;
}
.method02:before {
    content:"";
    display: block;
    padding-top: 56.25%; /* 高さと幅の比を16:9に固定。9/16*100=56.25 */
}
.method02_box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.method02_box a {
	background:url(images/more_icon.png) no-repeat right bottom;
	background-color:rgba(0,89,79,0.4);
	background-size:14.2vw;
	display:inline-table;
	width:100%;
	height:100%;
	color:#fff;
	vertical-align:middle;
	padding-top:20%;
	padding-left:15px;
	font-size: 2.9vw;
	font-weight:bold;
	line-height:1.2em;
	transition: background-color 0.3s;
}



.method02_box a:hover{
	text-decoration: none;
	background:url(images/more_icon.png) no-repeat right bottom;
	background-size:14.2vw;
	transition: background-color 0.3s;
}

@media only screen and (max-width: 767px) {
	.method02_box a{
		font-size: 21px;
		background-size:100px;
	}
	
	.method02_box a:hover{
		background-size:100px;
	}
}



/*新着・イベント情報*/

.news_area .tag {
	background:#fff;
	color:#0f8e77;
	border: 1px solid #0f8e77;
	padding:5px 10px;
	display:inline-block;
	font-size: 12px;
	margin-right: 5px;
	margin-top: 5px;
	border-radius: 3px;
}

.tag a {
	color:#0f8e77;
}


.news_area {
	padding-top:45px;
	padding-bottom:45px;
	background:#fff;
	background-size:cover;
	padding-right:25px;
	padding-left:25px;
	box-shadow: 2px 2px 8px rgba(5,140,215,0.3);
	margin-bottom:25px;
}

.news_area h1 {
	color: #0f8e77;
	padding-bottom:15px;
	margin-bottom:20px;
	font-size:26px;
}

.news_area h1 span{
	color:#ff7276;
	font-size:21px;
}

.news_area a.news_list {
	color:#0f8e77;
	font-size:26px;
	float: right;
	background:url(images/arrow.svg) no-repeat;
	background-position: right 0 top 13px ;
	padding-right:35px;
	background-size:28px;
}


.twitter_area {
	padding-top:45px;
	padding-bottom:45px;
	background:#fff;
	background-size:cover;
	padding-right:25px;
	padding-left:25px;
	box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
}

.facebook_area {
	padding-top:0px;
	padding-bottom:0px;
	background:#fff;
	background-size:cover;
	padding-right:0px;
	padding-left:0px;
	margin-left:40px;
	box-shadow: 2px 2px 8px rgba(5,140,215,0.3);
}

@media only screen and (max-width: 1200px) {
	.facebook_area {

		margin-left:0px;

	}
}

@media only screen and (max-width: 767px) {
	.news_area h1 {
		font-size:21px;
	}
}

.news_title {
	border-bottom:1px solid #ddd;
	margin-bottom:15px;
	padding-bottom:5px;
}

.news_title p {
	margin-bottom:0px;
}

.news_bn {
	border:1px solid #ddd;
}

@media only screen and (max-width: 767px) {
	.news_bn {
		margin-bottom:35px;
	}
}

@media only screen and (max-width: 767px) {
	.more_btn img {
		width:100px;
	}
}

.news_area h1.news_ttl {
	text-align:center;
	margin-top:45px;
	margin-bottom:35px;
}

.news_area h1.news_ttl span {
	color:#e94719;
}

.news_area h2.information_ttl {
	
	font-size:19px;
}

.news_area h2.information_ttl span{
	background:#ed7245;
	color:#fff;
	padding:5px 10px;
	display: inline-block;
}


.news_area h2.blog_ttl {
	border-bottom:1px solid #e4a22a;
	font-size:19px;
}

.news_area h2.blog_ttl span{
	background:#e4a22a;
	color:#fff;
	padding:5px 10px;
	display: inline-block;
}

.news_area .information_box .news_date {
	color:#ed7245;
	font-weight:normal;
	margin-bottom:5px;
}

.news_area .blog_box .news_date {
	color:#e79953;
	font-weight:bold;
	margin-bottom:5px;
}



.news_area .information_box p a {
	color:#000;
}

/*news 追加*/

.news_area dl {
    padding: 0px 0px;
	border-bottom:1px solid #ccc;
}

.news_area dl dt {
	float:left;
}

.news_area dl dd {
	margin-left:140px;
}

@media only screen and (max-width: 767px) {
	.news_area dl dt {
		float:none;
	}
	
	.news_area dl dd {
		margin-left:0px;
	}
}

.second_area.news_area {
	background:none;
	box-shadow:none;
}

/*画像スクロール*/
.wrap {
  overflow: hidden;
}



.sliding {
  background: url("images/loop.png?s") repeat-x;
  height: 244px;
  width: 3010px;
	animation: slide 30s linear infinite;
}

@keyframes slide{
  0%{
    transform: translate3d(0, 0, 0);
  }
  100%{
    transform: translate3d(-1505px, 0, 0);
  }
}

.roop_area {
}

/*活動内容*/

.activity_area {
	
}

@media only screen and (max-width: 767px) {
	.activity_area {
	}
}

.activity_area h1 {
	background-size: 450px;
	padding-top: 32px;
	color:#0f8e77;
	font-weight: 700;
	padding-left: 0px;
	text-align: center;
	font-size: 26px;
	font-weight: 500;
}

.activity_area h1 span{
    font-size: 21px;
	color:#ff7276;
}

.activity_box {
	background:#fff;
	transition: 0.5s;
	box-shadow: 2px 2px 8px rgba(5,140,215,0.3);
	
	
}

a:hover .activity_box {
	background:rgba(5,140,215,0.01);
	transition: 0.5s;
}

a .activity_box h2{
	color: #0f8e77;
	text-decoration: none; 
	font-size:21px;
	margin-right:15px;
	margin-left:15px;
	padding-top:15px;
}

 .activity_box p{
	color: #000;
	margin-right:15px;
	margin-left:15px;
	margin-bottom:0;
	padding-bottom:15px;
}

/* 活動内容カラムの高さ揃え（左1枚＝右2枚分の高さ） */
.activity_area .col-md-7,
.activity_area .col-md-5 {
	display: flex;
	padding-left: 8px;
	padding-right: 8px;
}

/* 左右カラムの横の隙間を縮小（ガター） */
.activity_area .row {
	margin-left: -8px;
	margin-right: -8px;
}

/* 右カラムは2つのaタグを縦に並べる */
.activity_area .col-md-5 {
	flex-direction: column;
}

.activity_area .col-md-7 > a,
.activity_area .col-md-5 > a {
	display: flex;
	flex-direction: column;
	width: 100%;
}

/* 右カラム：2つのaを均等分割し、間に余白を入れる */
.activity_area .col-md-5 > a {
	flex: 1;
}

.activity_area .col-md-5 > a + a {
	margin-top: 16px;
}

/* 各ボックスを親aの高さいっぱいに伸ばす */
.activity_area .col-md-7 > a > .activity_box,
.activity_area .col-md-5 > a > .activity_box {
	flex: 1;
}

/* figureの既定マージンを除去（写真上の隙間対策） */
.activity_box figure {
	margin: 0;
}

/* 画像をボックス幅にフィット */
.activity_box figure img {
	width: 100%;
	display: block;
}

/* 右カラム2枚（とやま医薬工連携研究会・ヘルスケア産業研究会）は写真の縦を抑える */
.activity_area .col-md-5 .activity_box figure img {
	height: 130px;
	object-fit: cover;
}

/* 左カラム（とやまバイオ・医薬分野ものづくりネットワーク）：
   ボックスを縦flexにし、写真を伸ばして下段の余白を埋める */
.activity_area .col-md-7 > a > .activity_box {
	display: flex;
	flex-direction: column;
}
.activity_area .col-md-7 .activity_box figure {
	flex: 1 1 auto;
	min-height: 0;
}
.activity_area .col-md-7 .activity_box figure img {
	height: 100%;
	object-fit: cover;
}

@media only screen and (max-width: 767px) {
	/* スマホでは縦積みのため写真の高さを固定し、伸びすぎを防ぐ */
	.activity_area .col-md-7 .activity_box figure img {
		height: 200px;
	}
	/* スマホ：縦積み時に左ボックスの下に余白を入れる */
	.activity_area .col-md-7 > a {
		margin-bottom: 16px;
	}
}



@media only screen and (max-width: 767px) {
	.activity_box01 {
		max-width: 350px;
		margin:0 auto;
		margin-top:0px;
	}

	.activity_box02 {
		max-width: 350px;
		margin:0 auto;
		margin-top:0px;
	}
	
	.activity_box03 {
		max-width: 350px;
		margin:0 auto;
		margin-top:0px;
	}
}


a:hover {
	
	text-decoration: none; 
}

figure {
	overflow: hidden;
	position: relative;
}
figure::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	transition: .3s;
	pointer-events: none; /* ホバー装飾用オーバーレイ。クリックは下のリンクへ通す（ブロックエディタの画像リンク対策） */
}
figure img {
	transition: .3s;
}
a:hover figure::before {
	background: rgba(5,140,215,.5);
}
a:hover figure img {
	transform: scale(1.05);
}


/*お問い合わせ*/


.contact_area {
	background:#f0edea;
}

.contact_area {
	background-size:cover;
    position: relative;
    width: 100%;
}
.contact_area:before {
    content:"";
    display: block;
    padding-top: 36.25%; /* 高さと幅の比を16:9に固定。9/16*100=56.25 */
}

.contact_box {
	padding-top:15%;
	padding-left:15px;
	position: absolute;
		
	top: 0;
	left: 0;
	right:0;
	height:100%;
}

.contact_box h1{
	text-align:center;
	font-size: 2.9vw;
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}


@media only screen and (max-width: 767px) {
	.contact_area:before {
		padding-top:260px;
	}
	.contact_box h1{
		font-size:21px;
		padding-top:10px;
	}
}

.contact_form th{
	width:210px;
	text-align:left;
}

@media only screen and (max-width: 767px) {
	.contact_form th {
		width:100% ;
	}
}

.top_area {
	height:auto;
	background-position:top right;
	text-align:center;
	position:relative;
	margin-right: 35px;
	margin-left:35px;
	
	
}

.head_area {

}

.top_area .row{
	margin-right:0px;
}

.top_area .col-sm-8 {
	padding-right:0px;
}

.top_area .col-sm-4 {
	padding-right:0px;
	padding-left: 10px;
}

.top_toyama-city {
	background:url(images/toyama-city_bg.png);
	height:660px;
	display:block;
	background-size:cover;
	background-position:top center;
	text-align: left;
}


.top_toyama-city img {
	margin-top:150px;
}

.top_second_area {
	position:relative;
}


@media only screen and (max-width: 768px) {
	.top_toyama-city {
		height:330px;
		position:relative;
	}
	
	.top_toyama-city img {
		margin-top:60px;
		position:absolute;
		top:20px;
		max-width: 140%;
		z-index:1;
	}
}

.earth_area {
	position:absolute;
	top:310px;
	left:0px;
	width: 680px;
	min-height: 210px;
	text-align:right;
	z-index: 1;
	margin-left:-35px;
	/* 旧 top_left.svg のグラデーションをCSSで再現（横方向・右へ向かって半透明に） */
	background: linear-gradient(to right, #19a68d 0%, #19a68d 14%, rgba(25,166,141,0.5) 100%);
}

@media only screen and (max-width: 767px) {
	.earth_area {
		position:absolute;
		top:130px;
		left:0px;
		width: 500px;
		min-height: 160px;
		text-align:right;
		z-index: 1;
		margin-left:-35px;
		background: linear-gradient(to right, #19a68d 0%, #19a68d 14%, rgba(25,166,141,0.5) 100%);
	}
}

@media only screen and (max-width: 500px) {
		.earth_area {
			width:calc(100%);
		}
}

.earth_area h1 {
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	position: absolute;
	text-align: left;
	color:#fff;
	opacity:0;
	transition: 0.2s;
	font-style:oblique;
	font-weight: 700;
	margin: 0;
}

.slide01-txt,
.slide02-txt,
.slide03-txt,
.slide04-txt{
	opacity:1;
	transition: 0.2s;
}

.slide03-txt {
	margin-top:0px;
}

/* スライドのキャッチコピー文字サイズのバランス調整
   3枚目（やや小）・4枚目（3行で最も小さい）を右方向に拡大して
   1-2枚目との大きさの差を緩和する。左端は固定のため画面外に切れない。 */
@media only screen and (min-width: 768px) {
	.slide01-txt img {
		width: 460px;
		max-width: none;
	}
	.slide02-txt img {
		width: 480px;
		max-width: none;
	}
	.slide03-txt img {
		width: 620px;
		max-width: none;
	}
	.slide04-txt img {
		width: 620px;
		max-width: none;
	}
}

/* スマホでもデスクトップと同じ文字サイズ比率にする
   （各スライドが背景=.earth_area に対して占める割合をデスクトップと揃える）。
   h1 の幅で割合を決め、画像は h1 幅いっぱいに表示する。 */
@media only screen and (max-width: 767px) {
	.earth_area h1 img {
		width: 100%;
		max-width: none;
	}
	.slide01-txt { width: 68%; }
	.slide02-txt { width: 71%; }
	.slide03-txt { width: 91%; }
	.slide04-txt { width: 91%; }
}



.top_area .top_content {
	text-align:center;
	margin-top:110px;
}



@media only screen and (max-width: 767px) {
	.top_area {
		
		height:auto;
		background-size:900px;
	    background-position:center;
		min-height:auto;
	}	
	
	.top_area .top_content {
		margin-top:25px;
		margin-bottom:25px;
	}
}


/*セカンドトップ*/


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

/**************
セカンドページ
**************/

.second_top {
	background:linear-gradient(to bottom, #fff, #fcfcf9  );
	position: relative;
	z-index: -5;
	border-bottom:1px solid #ddd;
    height: auto;
    background-position: top right;
    text-align: center;
	/* ナビ高さ(約120px)分の白いborder-top＋隙間。緑帯はこの下から始まる。
	   border はマージン相殺しないため、ページ全体は下がらずナビと帯の間にだけ隙間ができる。 */
	border-top:135px solid #fff;
	/* 上下のpaddingを揃えて文字を緑帯の上下中央に */
   	padding-top:45px;
	padding-bottom:45px;
	background: linear-gradient(120deg, #0c7d68 0%, #0f8e77 50%, #19a892 100%);
}

@media only screen and (max-width: 768px) {
	.second_top {
		border-top:85px solid #fff;
		padding-top:30px;
		padding-bottom:30px;
	}
}

.second_top h1{
    font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    color: #fff;
	margin:0;
	letter-spacing: 0.14em;
	text-shadow: 0 1px 4px rgba(0,0,0,.12);
	z-index:9999;
	position:relative;
}

.second_area {
	padding-top:0px;
	padding-bottom:45px;
}

@media only screen and (max-width: 768px) {
	.second_area {
		padding-top:15px;
		padding-bottom:15px;
	}
}

.second_area h2 {
    color: #0f8e77;
    font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
    font-size: 30px;
	font-weight:700;
	letter-spacing: 0.04em;
	line-height: 1.45;
	padding: 4px 0 4px 22px;
	margin: 0 0 24px;
	/* ブランドグラデーションの縦アクセントバー（左） */
	background-image: linear-gradient(180deg, #0f9177 0%, #0f8e77 60%, #1cabb5 100%);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 6px 80%;
	border-left: none;
}

@media only screen and (max-width: 768px) {
	.second_area h2 {
		font-size: 21px;
	}
}

.second_area h2:first-child {
	margin-top:0px;
}


.second_area h3{
    color: #0f8e77;
    font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
	font-size:24px;
	padding-left:0px;
	padding-top:5px;
	margin-top:28px;
	font-weight:500;
	padding-bottom: 13px;
	margin-bottom: 28px;
	letter-spacing: 0.06em;
	/* ブランドグラデーションの下線 */
	background-image: linear-gradient(90deg, #0f9177 0%, #0f8e77 55%, #1cabb5 100%);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 100% 2px;
	border-bottom: none;
	clear: both;
}

@media only screen and (max-width: 768px) {
	.second_area h3{
		font-size:20px;
	}
}


.second_area h3.campain_ttl {
	margin-top: -15px;
	padding-left: 0px;
	border:none;
		margin-bottom:0px;
}

.second_area h4{
    color: #fff;
    font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
	font-size: 18px;
    line-height: 1.5;
    margin-bottom: 12px;
	letter-spacing: 0.08em;
	font-weight:500;
	background: linear-gradient(90deg, #0f9177 0%, #0f8e77 100%);
	padding:10px 14px;
	clear: both;
}


.second_area img {
	margin-bottom:15px;
}

.second_area  ul{
	padding:0px;
}

.second_area  ul li{
	padding:0px;
	margin:0px;
	margin-bottom:10px;

}
 
.second_area ul li{
	list-style-type:none !important;
	list-style-image:none !important;
	margin: 8px 0px 8px 0px !important;
}
 
.second_area ul li{
	position:relative;
	padding-left:20px;
}

.second_area ul li:before{
	/*content:''; 
	height:0px; 
	width: 90%;
	display:block; 
	position:absolute; 
	top:20px; 
	left:0px; 
	*/
}

.second_area ul li:before{
	content:'';
	display:block; 
	position:absolute; 
	background:#555;
	width:5px;
	height:5px; 
	top:10px; 
	left:5px; 
	border-radius: 5px;
	
}


.second_area ol {
	margin-bottom:0px;
}



.second_area ol li{
	padding:0px;
	margin:0px;
}
 
.second_area ol li{
	list-style-type:none !important;
	list-style-image:none !important;
	margin: 5px 0px 5px 0px !important;
}
 
.second_area ol{
	counter-reset:li;   
	padding:0px;
}
 
.second_area ol li{
	position:relative;
	display: block;
	padding:5px 0px 5px 30px; 
	margin-left:0px !important;
}
 
.second_area ol li:after{
	counter-increment: li;
	content: counter(li) ".";
	position: absolute;	
	display: block;
	text-align: center;
	left: 2px;
	top: -5px;
	font-size: 26px;
	color:#ff726e;
	
}

.earth_area_second {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 35.2vw;
    text-align: right;

}

@media only screen and (max-width: 767px) {
	.earth_area_second {
		position: absolute;
		top: 0px;
		right: 0px;
		width: 170px;
		text-align: right;
	
	}
}

.picture_box {
	background:#fff;
	margin-bottom:25px;
	border:1px solid #ccc;
	padding:35px;
}

/***********************
セカンドページコンテンツ
***********************/

/*事業概要*/

.second_area h2.outline_ttl01 {
	background:#bf2a00;
	color:#fff;
	width:auto;
	text-align: center;
	padding-bottom:8px;
	padding-top:10px;
	margin-bottom:45px;
	border-radius: 100px;
	font-weight: bold;
}

.second_area h2.outline_ttl01 small{
	background:#fff;
	color:#bf2a00;
	padding:2px 5px;
	font-size:24px;
	margin-left:25px;
	margin-bottom: 5px;
	display:inline-block;
	width:195px;
	
}

.second_area h3.outline_ttl02 {
	text-align: center;
	border-bottom:0px;
	margin:0px;
	margin-top:-55px;

	
}

.second_area h3.outline_ttl02 span{
	background:#058cd7;
	display:inline-block;
	color:#fff;
	padding:8px 15px;
	border-radius: 0px;
	font-weight: bold;
	font-size:28px;
}


.second_area h3.outline_ttl03 {
	text-align: center;
	border-bottom:0px;
	margin:0px;
	margin-top:-55px;
}

.second_area h3.outline_ttl03 span{
	background:#ff7276;
	display:inline-block;
	color:#fff;
	padding:8px 15px;
	border-radius: 0px;
	font-weight: bold;
}

.second_area h3.outline_ttl04 {
	text-align: center;
	border-bottom:0px;
	margin-bottom:0px;
	margin-top: -55px;
}

.second_area h3.outline_ttl04 span{
	background:#0f8e77;
	display:inline-block;
	color:#fff;
	padding:8px 15px;
	border-radius: 0px;
	font-weight: bold;
}


.outline_area {
	padding:25px;
	background:#d4f1ff;
	border-radius: 0px;
	margin-bottom:25px;
	border:0px solid ##058cd7;
}

.outline_area h3 {
	font-weight: bold;
}

.outline_area p {
	font-weight: bold;
}

.outline_area ol li {
	font-weight: bold;
}


.outline_box01 {
	border:0px solid #0f8e77;
	padding:25px;
	margin-top:35px;
	background:#fff;
	border-radius: 0px;
	box-shadow: 2px 2px 8px rgba(5,140,215,0.3);
}

.outline_box01 h3 {
	color:#ff7276;
}

.outline_box02 {
	border:0px solid #0f8e77;
	background:#fff;
	padding:25px;
	border-radius: 0px;
	box-shadow: 2px 2px 8px rgba(5,140,215,0.3);
	margin-top:45px;
}

.aims_area {
	background:#fff;
	padding:25px;
	box-shadow: 2px 2px 8px rgba(5,140,215,0.3);
}

.aims_area h3{
	border:none;
	font-weight: bold;
	color:#ff7276;
}

.aims_area .aims_box {
	border:2px solid #0f8e77;
	margin-bottom:25px;
	text-align: center;
}

.establishment_area{
	background:url("images/arrow_outline.svg") no-repeat;
	background-position: bottom center;
	background-size: 50px;
	padding-bottom:45px;
	margin-bottom:10px;
	text-align: center;
}




/****************
フッター
*****************/

.footer_area {
	margin-bottom:-35px;
	background:#fff;
}

.footer_area {
	list-style:none;
}

.footer_area .footer_logo {
	margin-top:25px;
}

.footer_area .footer_title {
	display:inline-flex;
	flex-direction:column;
	align-items:flex-start;
	margin-top:28px;
	line-height:1.25;
	transition:opacity 0.2s ease;
}

.footer_area .footer_title .logo-lead {
	display:block;
	font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
	font-size:20px;
	font-weight:700;
	letter-spacing:.18em;
	background: linear-gradient(180deg, #0c7d68 0%, #0f8e77 50%, #19a892 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color:#0f8e77;
}

.footer_area .footer_title .logo-main {
	display:block;
	font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
	font-size:22px;
	font-weight:700;
	letter-spacing:.04em;
	background: linear-gradient(180deg, #0c7d68 0%, #0f8e77 50%, #19a892 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color:#0f8e77;
}

.footer_area .footer_title:hover,
.footer_area .footer_title:focus {
	text-decoration:none;
	opacity:.85;
}

@media only screen and (max-width: 991px) {
	.footer_area .footer_title .logo-main {
		font-size:19px;
	}
}

@media only screen and (max-width: 767px) {
	.footer_area .footer_title {
		margin-top:20px;
	}
	.footer_area .footer_title .logo-lead {
		font-size:15px;
		letter-spacing:.14em;
	}
	.footer_area .footer_title .logo-main {
		font-size:15px;
		letter-spacing:.02em;
	}
}

.footer_area ul {
	display:inline-block;
	margin:0 auto;
	margin-bottom:0px;
	margin-top:15px;
	padding-top:5px;
	max-width:900px;
	color:#fff;
	padding-left:0px;
}

.footer_area ul li {
	list-style:none;
	margin-right:5px;
	margin-left:5px;
	padding-top: 0px;
	background-size:25px;
	padding-left:25px;
	font-size:18px;
	margin-top:5px;
	float:left;
}

.footer_area ul li a {
	color:#0f8e77;
}

.footer_area .head_box h2.map_ttl {
    background: #fff;
    display: inline-block;
    font-size: 15px;
    border-radius: 20px;
    padding: 5px 15px;
    float: left;
    margin-right: 5px;
    background: #ed7245;
    color: #fff;
    z-index: 0;
    position: relative;
}

.footer_address {
	margin-top:25px;
}

.footer_area {
	color:#0f8e77;
	margin-top:50px;
}

.footer_area .footer_link_btn {
	background:#f5f5f5;
	text-align:center;
	padding-top:10px;
	padding-bottom:10px;
	display:inline-block;
	width:100%;
	border:1px solid #aaa;
	color:#555;
	margin-bottom:15px;
}

.footer_area .footer_link_btn:hover,
.footer_area .footer_link_btn:focus {
	text-decoration: none;
}

.footer_link-btn_box {
	padding-right:45px;
	padding-left:45px;
}

ul.footer_nav {
	list-style:none;
	display:inline-block;
	width:100%;
}

ul.footer_nav li {
	padding-right:15px;
	padding-left:15px;
	width:14%;
	text-align:center;
}

ul.footer_nav li a {
	color:#555;
}

.copyright {
	background:#fff;
	color:#8c8c8c;
	text-align:center;
	margin-top:0px;
	padding-top:15px;
	padding-bottom:15px;
}


.modal.fade .modal-dialog {

    transition: -webkit-transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
    -webkit-transform: translate(0, -25%);
    transform: translate(0, -25%);
	margin-top:30.2vh;

}

.modal-dialog {

    max-width: 800px;
    margin: 1.75rem auto;
    margin-top: 1.75rem;

}

/*************************
************************/

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	-webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); 
	clip: auto !important;
	-webkit-clip-path: none;
	clip-path: none; color: #21759b;
	display: block; font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; /* Above WP toolbar. */ }

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.clear:before, .clear:after, .entry-content:before, .entry-content:after, .comment-content:before, .comment-content:after, .site-header:before, .site-header:after, .site-content:before, .site-content:after, .site-footer:before, .site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after, .entry-content:after, .comment-content:after, .site-header:after, .site-content:after, .site-footer:after {
	clear: both;
}

.widget {
	margin: 0 0 1.5em; /* Make sure select elements fit in widgets. */
}

.widget select {
	max-width: 100%;
}

.sticky {
	display: block;
}

.hentry {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content, .entry-content, .entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both; margin: 0 0 1.5em;
}

.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, .infinite-scroll.neverending .site-footer {
	/* Theme Footer (when set to scrolling) */ display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

.page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed, iframe, object {
	max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}



/*--------------------------------------------------------------
# Media Queries
--------------------------------------------------------------*/
@media (min-width: 768px) {
	.hentry.card .card-body {
		padding: 2.5rem 4rem;
	}
	
	.wb-hide-mobile-sidebar .wp-bp-sidebar-width {
		display: block;
	}
}


@media print {
	
	a {
		text-decoration: none;
	}
	
	a:not(.btn) {
		text-decoration: none;
	}
	
	.navbar {
		display:inline-block;
		width:100%;
	}
	
	
	#Navber {
		display:inline-block;
		width:100%;
	}
	
	.navbar-toggler {
		display:none;
	}
	
	.nav-item {
		float:left;
		display:inline-block;
		width:12%;
	}
	
	.nav-item a {
		text-decoration: none;
	}
	
	.navbar-nav {
		width:100%;
		display:none;
	}
	
	.nav_area .container {
		padding-right: 0px;
		padding-left: 0px;
	}
	
	.fadein {
		    opacity: 1;
	}
}


@media print {

	.col {
	  -webkit-flex-basis: 0;
		  -ms-flex-preferred-size: 0;
			  flex-basis: 0;
	  -webkit-box-flex: 1;
	  -webkit-flex-grow: 1;
		  -ms-flex-positive: 1;
			  flex-grow: 1;
	  max-width: 100%;
	}

	.col-auto {
	  -webkit-box-flex: 0;
	  -webkit-flex: 0 0 auto;
		  -ms-flex: 0 0 auto;
			  flex: 0 0 auto;
	  width: auto;
	}

	.col-1 {
	  -webkit-box-flex: 0;
	  -webkit-flex: 0 0 8.333333%;
		  -ms-flex: 0 0 8.333333%;
			  flex: 0 0 8.333333%;
	  max-width: 8.333333%;
	}

	.col-2 {
	  -webkit-box-flex: 0;
	  -webkit-flex: 0 0 16.666667%;
		  -ms-flex: 0 0 16.666667%;
			  flex: 0 0 16.666667%;
	  max-width: 16.666667%;
	}

	.col-3 {
	  -webkit-box-flex: 0;
	  -webkit-flex: 0 0 25%;
		  -ms-flex: 0 0 25%;
			  flex: 0 0 25%;
	  max-width: 25%;
	}

	.col-4 {
	  -webkit-box-flex: 0;
	  -webkit-flex: 0 0 33.333333%;
		  -ms-flex: 0 0 33.333333%;
			  flex: 0 0 33.333333%;
	  max-width: 33.333333%;
	}

	.col-5 {
	  -webkit-box-flex: 0;
	  -webkit-flex: 0 0 41.666667%;
		  -ms-flex: 0 0 41.666667%;
			  flex: 0 0 41.666667%;
	  max-width: 41.666667%;
	}

	.col-6 {
	  -webkit-box-flex: 0;
	  -webkit-flex: 0 0 50%;
		  -ms-flex: 0 0 50%;
			  flex: 0 0 50%;
	  max-width: 50%;
	}

	.col-7 {
	  -webkit-box-flex: 0;
	  -webkit-flex: 0 0 58.333333%;
		  -ms-flex: 0 0 58.333333%;
			  flex: 0 0 58.333333%;
	  max-width: 58.333333%;
	}

	.col-8 {
	  -webkit-box-flex: 0;
	  -webkit-flex: 0 0 66.666667%;
		  -ms-flex: 0 0 66.666667%;
			  flex: 0 0 66.666667%;
	  max-width: 66.666667%;
	}

	.col-9 {
	  -webkit-box-flex: 0;
	  -webkit-flex: 0 0 75%;
		  -ms-flex: 0 0 75%;
			  flex: 0 0 75%;
	  max-width: 75%;
	}

	.col-10 {
	  -webkit-box-flex: 0;
	  -webkit-flex: 0 0 83.333333%;
		  -ms-flex: 0 0 83.333333%;
			  flex: 0 0 83.333333%;
	  max-width: 83.333333%;
	}

	.col-11 {
	  -webkit-box-flex: 0;
	  -webkit-flex: 0 0 91.666667%;
		  -ms-flex: 0 0 91.666667%;
			  flex: 0 0 91.666667%;
	  max-width: 91.666667%;
	}

	.col-12 {
	  -webkit-box-flex: 0;
	  -webkit-flex: 0 0 100%;
		  -ms-flex: 0 0 100%;
			  flex: 0 0 100%;
	  max-width: 100%;
	}


	.col-sm {
		-webkit-flex-basis: 0;
			-ms-flex-preferred-size: 0;
				flex-basis: 0;
		-webkit-box-flex: 1;
		-webkit-flex-grow: 1;
			-ms-flex-positive: 1;
				flex-grow: 1;
		max-width: 100%;
	}
	.col-sm-auto {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 auto;
		-ms-flex: 0 0 auto;
			flex: 0 0 auto;
	width: auto;
	}
	.col-sm-1 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 8.333333%;
		-ms-flex: 0 0 8.333333%;
			flex: 0 0 8.333333%;
	max-width: 8.333333%;
	}
	.col-sm-2 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 16.666667%;
		-ms-flex: 0 0 16.666667%;
			flex: 0 0 16.666667%;
	max-width: 16.666667%;
	}
	.col-sm-3 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 25%;
		-ms-flex: 0 0 25%;
			flex: 0 0 25%;
	max-width: 25%;
	}
	.col-sm-4 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 33.333333%;
		-ms-flex: 0 0 33.333333%;
			flex: 0 0 33.333333%;
	max-width: 33.333333%;
	}
	.col-sm-5 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 41.666667%;
		-ms-flex: 0 0 41.666667%;
			flex: 0 0 41.666667%;
	max-width: 41.666667%;
	}
	.col-sm-6 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 50%;
		-ms-flex: 0 0 50%;
			flex: 0 0 50%;
	max-width: 50%;
	}
	.col-sm-7 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 58.333333%;
		-ms-flex: 0 0 58.333333%;
			flex: 0 0 58.333333%;
	max-width: 58.333333%;
	}
	.col-sm-8 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 66.666667%;
		-ms-flex: 0 0 66.666667%;
			flex: 0 0 66.666667%;
	max-width: 66.666667%;
	}
	.col-sm-9 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 75%;
		-ms-flex: 0 0 75%;
			flex: 0 0 75%;
	max-width: 75%;
	}
	.col-sm-10 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 83.333333%;
		-ms-flex: 0 0 83.333333%;
			flex: 0 0 83.333333%;
	max-width: 83.333333%;
	}
	.col-sm-11 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 91.666667%;
		-ms-flex: 0 0 91.666667%;
			flex: 0 0 91.666667%;
	max-width: 91.666667%;
	}
	.col-sm-12 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 100%;
		-ms-flex: 0 0 100%;
			flex: 0 0 100%;
	max-width: 100%;
	}
	.pull-sm-0 {
	right: auto;
	}
	.pull-sm-1 {
	right: 8.333333%;
	}
	.pull-sm-2 {
	right: 16.666667%;
	}
	.pull-sm-3 {
	right: 25%;
	}
	.pull-sm-4 {
	right: 33.333333%;
	}
	.pull-sm-5 {
	right: 41.666667%;
	}
	.pull-sm-6 {
	right: 50%;
	}
	.pull-sm-7 {
	right: 58.333333%;
	}
	.pull-sm-8 {
	right: 66.666667%;
	}
	.pull-sm-9 {
	right: 75%;
	}
	.pull-sm-10 {
	right: 83.333333%;
	}
	.pull-sm-11 {
	right: 91.666667%;
	}
	.pull-sm-12 {
	right: 100%;
	}
	.push-sm-0 {
	left: auto;
	}
	.push-sm-1 {
	left: 8.333333%;
	}
	.push-sm-2 {
	left: 16.666667%;
	}
	.push-sm-3 {
	left: 25%;
	}
	.push-sm-4 {
	left: 33.333333%;
	}
	.push-sm-5 {
	left: 41.666667%;
	}
	.push-sm-6 {
	left: 50%;
	}
	.push-sm-7 {
	left: 58.333333%;
	}
	.push-sm-8 {
	left: 66.666667%;
	}
	.push-sm-9 {
	left: 75%;
	}
	.push-sm-10 {
	left: 83.333333%;
	}
	.push-sm-11 {
	left: 91.666667%;
	}
	.push-sm-12 {
	left: 100%;
	}
	.offset-sm-0 {
	margin-left: 0%;
	}
	.offset-sm-1 {
	margin-left: 8.333333%;
	}
	.offset-sm-2 {
	margin-left: 16.666667%;
	}
	.offset-sm-3 {
	margin-left: 25%;
	}
	.offset-sm-4 {
	margin-left: 33.333333%;
	}
	.offset-sm-5 {
	margin-left: 41.666667%;
	}
	.offset-sm-6 {
	margin-left: 50%;
	}
	.offset-sm-7 {
	margin-left: 58.333333%;
	}
	.offset-sm-8 {
	margin-left: 66.666667%;
	}
	.offset-sm-9 {
	margin-left: 75%;
	}
	.offset-sm-10 {
	margin-left: 83.333333%;
	}
	.offset-sm-11 {
	margin-left: 91.666667%;
	}

	.col-md {
	-webkit-flex-basis: 0;
		-ms-flex-preferred-size: 0;
			flex-basis: 0;
	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
		-ms-flex-positive: 1;
			flex-grow: 1;
	max-width: 100%;
	}
	.col-md-auto {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 auto;
		-ms-flex: 0 0 auto;
			flex: 0 0 auto;
	width: auto;
	}
	.col-md-1 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 8.333333%;
		-ms-flex: 0 0 8.333333%;
			flex: 0 0 8.333333%;
	max-width: 8.333333%;
	}
	.col-md-2 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 16.666667%;
		-ms-flex: 0 0 16.666667%;
			flex: 0 0 16.666667%;
	max-width: 16.666667%;
	}
	.col-md-3 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 25%;
		-ms-flex: 0 0 25%;
			flex: 0 0 25%;
	max-width: 25%;
	}
	.col-md-4 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 33.333333%;
		-ms-flex: 0 0 33.333333%;
			flex: 0 0 33.333333%;
	max-width: 33.333333%;
	}
	.col-md-5 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 41.666667%;
		-ms-flex: 0 0 41.666667%;
			flex: 0 0 41.666667%;
	max-width: 41.666667%;
	}
	.col-md-6 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 50%;
		-ms-flex: 0 0 50%;
			flex: 0 0 50%;
	max-width: 50%;
	}
	.col-md-7 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 58.333333%;
		-ms-flex: 0 0 58.333333%;
			flex: 0 0 58.333333%;
	max-width: 58.333333%;
	}
	.col-md-8 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 66.666667%;
		-ms-flex: 0 0 66.666667%;
			flex: 0 0 66.666667%;
	max-width: 66.666667%;
	}
	.col-md-9 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 75%;
		-ms-flex: 0 0 75%;
			flex: 0 0 75%;
	max-width: 75%;
	}
	.col-md-10 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 83.333333%;
		-ms-flex: 0 0 83.333333%;
			flex: 0 0 83.333333%;
	max-width: 83.333333%;
	}
	.col-md-11 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 91.666667%;
		-ms-flex: 0 0 91.666667%;
			flex: 0 0 91.666667%;
	max-width: 91.666667%;
	}
	.col-md-12 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 100%;
		-ms-flex: 0 0 100%;
			flex: 0 0 100%;
	max-width: 100%;
	}
	.pull-md-0 {
	right: auto;
	}
	.pull-md-1 {
	right: 8.333333%;
	}
	.pull-md-2 {
	right: 16.666667%;
	}
	.pull-md-3 {
	right: 25%;
	}
	.pull-md-4 {
	right: 33.333333%;
	}
	.pull-md-5 {
	right: 41.666667%;
	}
	.pull-md-6 {
	right: 50%;
	}
	.pull-md-7 {
	right: 58.333333%;
	}
	.pull-md-8 {
	right: 66.666667%;
	}
	.pull-md-9 {
	right: 75%;
	}
	.pull-md-10 {
	right: 83.333333%;
	}
	.pull-md-11 {
	right: 91.666667%;
	}
	.pull-md-12 {
	right: 100%;
	}
	.push-md-0 {
	left: auto;
	}
	.push-md-1 {
	left: 8.333333%;
	}
	.push-md-2 {
	left: 16.666667%;
	}
	.push-md-3 {
	left: 25%;
	}
	.push-md-4 {
	left: 33.333333%;
	}
	.push-md-5 {
	left: 41.666667%;
	}
	.push-md-6 {
	left: 50%;
	}
	.push-md-7 {
	left: 58.333333%;
	}
	.push-md-8 {
	left: 66.666667%;
	}
	.push-md-9 {
	left: 75%;
	}
	.push-md-10 {
	left: 83.333333%;
	}
	.push-md-11 {
	left: 91.666667%;
	}
	.push-md-12 {
	left: 100%;
	}
	.offset-md-0 {
	margin-left: 0%;
	}
	.offset-md-1 {
	margin-left: 8.333333%;
	}
	.offset-md-2 {
	margin-left: 16.666667%;
	}
	.offset-md-3 {
	margin-left: 25%;
	}
	.offset-md-4 {
	margin-left: 33.333333%;
	}
	.offset-md-5 {
	margin-left: 41.666667%;
	}
	.offset-md-6 {
	margin-left: 50%;
	}
	.offset-md-7 {
	margin-left: 58.333333%;
	}
	.offset-md-8 {
	margin-left: 66.666667%;
	}
	.offset-md-9 {
	margin-left: 75%;
	}
	.offset-md-10 {
	margin-left: 83.333333%;
	}
	.offset-md-11 {
	margin-left: 91.666667%;
	}

	.col-lg {
	-webkit-flex-basis: 0;
		-ms-flex-preferred-size: 0;
			flex-basis: 0;
	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
		-ms-flex-positive: 1;
			flex-grow: 1;
	max-width: 100%;
	}
	.col-lg-auto {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 auto;
		-ms-flex: 0 0 auto;
			flex: 0 0 auto;
	width: auto;
	}
	.col-lg-1 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 8.333333%;
		-ms-flex: 0 0 8.333333%;
			flex: 0 0 8.333333%;
	max-width: 8.333333%;
	}
	.col-lg-2 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 16.666667%;
		-ms-flex: 0 0 16.666667%;
			flex: 0 0 16.666667%;
	max-width: 16.666667%;
	}
	.col-lg-3 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 25%;
		-ms-flex: 0 0 25%;
			flex: 0 0 25%;
	max-width: 25%;
	}
	.col-lg-4 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 33.333333%;
		-ms-flex: 0 0 33.333333%;
			flex: 0 0 33.333333%;
	max-width: 33.333333%;
	}
	.col-lg-5 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 41.666667%;
		-ms-flex: 0 0 41.666667%;
			flex: 0 0 41.666667%;
	max-width: 41.666667%;
	}
	.col-lg-6 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 50%;
		-ms-flex: 0 0 50%;
			flex: 0 0 50%;
	max-width: 50%;
	}
	.col-lg-7 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 58.333333%;
		-ms-flex: 0 0 58.333333%;
			flex: 0 0 58.333333%;
	max-width: 58.333333%;
	}
	.col-lg-8 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 66.666667%;
		-ms-flex: 0 0 66.666667%;
			flex: 0 0 66.666667%;
	max-width: 66.666667%;
	}
	.col-lg-9 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 75%;
		-ms-flex: 0 0 75%;
			flex: 0 0 75%;
	max-width: 75%;
	}
	.col-lg-10 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 83.333333%;
		-ms-flex: 0 0 83.333333%;
			flex: 0 0 83.333333%;
	max-width: 83.333333%;
	}
	.col-lg-11 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 91.666667%;
		-ms-flex: 0 0 91.666667%;
			flex: 0 0 91.666667%;
	max-width: 91.666667%;
	}
	.col-lg-12 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 100%;
		-ms-flex: 0 0 100%;
			flex: 0 0 100%;
	max-width: 100%;
	}
	.pull-lg-0 {
	right: auto;
	}
	.pull-lg-1 {
	right: 8.333333%;
	}
	.pull-lg-2 {
	right: 16.666667%;
	}
	.pull-lg-3 {
	right: 25%;
	}
	.pull-lg-4 {
	right: 33.333333%;
	}
	.pull-lg-5 {
	right: 41.666667%;
	}
	.pull-lg-6 {
	right: 50%;
	}
	.pull-lg-7 {
	right: 58.333333%;
	}
	.pull-lg-8 {
	right: 66.666667%;
	}
	.pull-lg-9 {
	right: 75%;
	}
	.pull-lg-10 {
	right: 83.333333%;
	}
	.pull-lg-11 {
	right: 91.666667%;
	}
	.pull-lg-12 {
	right: 100%;
	}
	.push-lg-0 {
	left: auto;
	}
	.push-lg-1 {
	left: 8.333333%;
	}
	.push-lg-2 {
	left: 16.666667%;
	}
	.push-lg-3 {
	left: 25%;
	}
	.push-lg-4 {
	left: 33.333333%;
	}
	.push-lg-5 {
	left: 41.666667%;
	}
	.push-lg-6 {
	left: 50%;
	}
	.push-lg-7 {
	left: 58.333333%;
	}
	.push-lg-8 {
	left: 66.666667%;
	}
	.push-lg-9 {
	left: 75%;
	}
	.push-lg-10 {
	left: 83.333333%;
	}
	.push-lg-11 {
	left: 91.666667%;
	}
	.push-lg-12 {
	left: 100%;
	}
	.offset-lg-0 {
	margin-left: 0%;
	}
	.offset-lg-1 {
	margin-left: 8.333333%;
	}
	.offset-lg-2 {
	margin-left: 16.666667%;
	}
	.offset-lg-3 {
	margin-left: 25%;
	}
	.offset-lg-4 {
	margin-left: 33.333333%;
	}
	.offset-lg-5 {
	margin-left: 41.666667%;
	}
	.offset-lg-6 {
	margin-left: 50%;
	}
	.offset-lg-7 {
	margin-left: 58.333333%;
	}
	.offset-lg-8 {
	margin-left: 66.666667%;
	}
	.offset-lg-9 {
	margin-left: 75%;
	}
	.offset-lg-10 {
	margin-left: 83.333333%;
	}
	.offset-lg-11 {
	margin-left: 91.666667%;
	}

	.col-xl {
	-webkit-flex-basis: 0;
		-ms-flex-preferred-size: 0;
			flex-basis: 0;
	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
		-ms-flex-positive: 1;
			flex-grow: 1;
	max-width: 100%;
	}
	.col-xl-auto {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 auto;
		-ms-flex: 0 0 auto;
			flex: 0 0 auto;
	width: auto;
	}
	.col-xl-1 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 8.333333%;
		-ms-flex: 0 0 8.333333%;
			flex: 0 0 8.333333%;
	max-width: 8.333333%;
	}
	.col-xl-2 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 16.666667%;
		-ms-flex: 0 0 16.666667%;
			flex: 0 0 16.666667%;
	max-width: 16.666667%;
	}
	.col-xl-3 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 25%;
		-ms-flex: 0 0 25%;
			flex: 0 0 25%;
	max-width: 25%;
	}
	.col-xl-4 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 33.333333%;
		-ms-flex: 0 0 33.333333%;
			flex: 0 0 33.333333%;
	max-width: 33.333333%;
	}
	.col-xl-5 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 41.666667%;
		-ms-flex: 0 0 41.666667%;
			flex: 0 0 41.666667%;
	max-width: 41.666667%;
	}
	.col-xl-6 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 50%;
		-ms-flex: 0 0 50%;
			flex: 0 0 50%;
	max-width: 50%;
	}
	.col-xl-7 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 58.333333%;
		-ms-flex: 0 0 58.333333%;
			flex: 0 0 58.333333%;
	max-width: 58.333333%;
	}
	.col-xl-8 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 66.666667%;
		-ms-flex: 0 0 66.666667%;
			flex: 0 0 66.666667%;
	max-width: 66.666667%;
	}
	.col-xl-9 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 75%;
		-ms-flex: 0 0 75%;
			flex: 0 0 75%;
	max-width: 75%;
	}
	.col-xl-10 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 83.333333%;
		-ms-flex: 0 0 83.333333%;
			flex: 0 0 83.333333%;
	max-width: 83.333333%;
	}
	.col-xl-11 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 91.666667%;
		-ms-flex: 0 0 91.666667%;
			flex: 0 0 91.666667%;
	max-width: 91.666667%;
	}
	.col-xl-12 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 100%;
		-ms-flex: 0 0 100%;
			flex: 0 0 100%;
	max-width: 100%;
	}
	.pull-xl-0 {
	right: auto;
	}
	.pull-xl-1 {
	right: 8.333333%;
	}
	.pull-xl-2 {
	right: 16.666667%;
	}
	.pull-xl-3 {
	right: 25%;
	}
	.pull-xl-4 {
	right: 33.333333%;
	}
	.pull-xl-5 {
	right: 41.666667%;
	}
	.pull-xl-6 {
	right: 50%;
	}
	.pull-xl-7 {
	right: 58.333333%;
	}
	.pull-xl-8 {
	right: 66.666667%;
	}
	.pull-xl-9 {
	right: 75%;
	}
	.pull-xl-10 {
	right: 83.333333%;
	}
	.pull-xl-11 {
	right: 91.666667%;
	}
	.pull-xl-12 {
	right: 100%;
	}
	.push-xl-0 {
	left: auto;
	}
	.push-xl-1 {
	left: 8.333333%;
	}
	.push-xl-2 {
	left: 16.666667%;
	}
	.push-xl-3 {
	left: 25%;
	}
	.push-xl-4 {
	left: 33.333333%;
	}
	.push-xl-5 {
	left: 41.666667%;
	}
	.push-xl-6 {
	left: 50%;
	}
	.push-xl-7 {
	left: 58.333333%;
	}
	.push-xl-8 {
	left: 66.666667%;
	}
	.push-xl-9 {
	left: 75%;
	}
	.push-xl-10 {
	left: 83.333333%;
	}
	.push-xl-11 {
	left: 91.666667%;
	}
	.push-xl-12 {
	left: 100%;
	}
	.offset-xl-0 {
	margin-left: 0%;
	}
	.offset-xl-1 {
	margin-left: 8.333333%;
	}
	.offset-xl-2 {
	margin-left: 16.666667%;
	}
	.offset-xl-3 {
	margin-left: 25%;
	}
	.offset-xl-4 {
	margin-left: 33.333333%;
	}
	.offset-xl-5 {
	margin-left: 41.666667%;
	}
	.offset-xl-6 {
	margin-left: 50%;
	}
	.offset-xl-7 {
	margin-left: 58.333333%;
	}
	.offset-xl-8 {
	margin-left: 66.666667%;
	}
	.offset-xl-9 {
	margin-left: 75%;
	}
	.offset-xl-10 {
	margin-left: 83.333333%;
	}
	.offset-xl-11 {
	margin-left: 91.666667%;
	}
}

/* 印刷用 */
@media print {
 body{
  overflow-y: visible;
  overflow-x: visible;
 }
 .container{
  overflow-y: visible;
 }
}


/*Face book*/


/* ######################################################################################
 
　facebook埋め込み：レスポンシブ対応
 
###################################################################################### */
.fb-page {
    display:block !important;
    width:100%;
    max-width:500px;
    margin-left:auto;
    margin-right:auto;
    height:500px;
}


/* ######################################################################################

　Bootstrap5 互換 フォントサイズユーティリティ（.fs-1 〜 .fs-6）

###################################################################################### */
.fs-1 { font-size: calc(1.375rem + 1.5vw) !important; }
.fs-2 { font-size: calc(1.325rem + .9vw) !important; }
.fs-3 { font-size: calc(1.3rem + .6vw) !important; }
.fs-4 { font-size: calc(1.275rem + .3vw) !important; }
.fs-5 { font-size: 1.25rem !important; }
.fs-6 { font-size: 1rem !important; }

@media (min-width: 1200px) {
	.fs-1 { font-size: 2.5rem !important; }
	.fs-2 { font-size: 2rem !important; }
	.fs-3 { font-size: 1.75rem !important; }
	.fs-4 { font-size: 1.5rem !important; }
}


/* ######################################################################################

　ファイルリンクのアイコン表示（PDF / Word）
　リンク先の拡張子を判定して末尾にアイコンを自動表示する

###################################################################################### */

/* PDF（赤） */
a[href$=".pdf" i]::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: .35em;
	vertical-align: -0.15em;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23e2231a' d='M64 0C28.7 0 0 28.7 0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64z'/%3E%3Cpath fill='%23b71c1c' d='M256 0v128c0 17.7 14.3 32 32 32h128L256 0z'/%3E%3Ctext x='192' y='420' fill='%23fff' font-family='Arial,Helvetica,sans-serif' font-size='150' font-weight='bold' text-anchor='middle'%3EPDF%3C/text%3E%3C/svg%3E");
}

/* Word（青） doc / docx */
a[href$=".doc" i]::after,
a[href$=".docx" i]::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: .35em;
	vertical-align: -0.15em;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%232b579a' d='M64 0C28.7 0 0 28.7 0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64z'/%3E%3Cpath fill='%231b3a6b' d='M256 0v128c0 17.7 14.3 32 32 32h128L256 0z'/%3E%3Ctext x='192' y='430' fill='%23fff' font-family='Arial,Helvetica,sans-serif' font-size='180' font-weight='bold' text-anchor='middle'%3EW%3C/text%3E%3C/svg%3E");
}


/* ######################################################################################

　TOPページ 関連サイトバナー（ヘルスケア産業育成創出事業）

###################################################################################### */
.banner_area {
	padding: 30px 0 70px;
}

.site_banner {
	position: relative;
	display: block;
	max-width: 500px;
	margin: 0 auto;
	overflow: hidden;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .12);
	text-decoration: none;
	transition: box-shadow .3s ease, transform .3s ease;
}

.site_banner:hover {
	box-shadow: 0 10px 28px rgba(0, 0, 0, .2);
	transform: translateY(-3px);
}

.site_banner img {
	display: block;
	width: 100%;
	height: 200px;
	object-fit: cover;
	object-position: center 35%;
	transition: transform .4s ease;
}

.site_banner:hover img {
	transform: scale(1.05);
}

/* 画像の上に重ねるラベル */
.site_banner_body {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 18px 24px;
	background: linear-gradient(180deg, rgba(15, 145, 119, 0) 0%, rgba(15, 145, 119, .55) 45%, rgba(15, 145, 119, .9) 100%);
}

.site_banner_org {
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	letter-spacing: .06em;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .3);
	line-height: 1.4;
}

.site_banner_label {
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	letter-spacing: .04em;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .3);
	line-height: 1.3;
}

.site_banner_term {
	margin-top: 4px;
	font-size: 13px;
	font-weight: 500;
	color: #fff;
	letter-spacing: .04em;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .3);
	line-height: 1.4;
}

@media only screen and (max-width: 767px) {
	.banner_area {
		padding: 20px 0 50px;
	}
	.site_banner img {
		height: 150px;
	}
	.site_banner_label {
		font-size: 17px;
	}
	.site_banner_body {
		padding: 14px 16px;
	}
}




