@charset "utf-8";
/* CSS Document */

body {
	margin: 0;
	padding: 0;
	position: relative;
	font-weight: 400;
	font-family: "Noto Sans Japanese";
	color: #34373e;
	animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
	-webkit-overflow-scrolling: touch;
	-moz-overflow-scrolling: touch;
	-ms-overflow-scrolling: touch;
	overflow-scrolling: touch;
}

img {
    max-width: 100%;
    width: auto;
    /*height: auto;*/
    margin: 0;
    vertical-align: bottom;
    pointer-events: none;
}

.mkcontents__inner #mkcontents { font-size: 100%; }
.mkcontents__inner #mkcontents .content-news dt {
    width: 100%;
    padding: 15px 0;
    margin: 0;
    border-bottom: 1px solid #ccc;
    margin-left: 0;
    margin-right: auto;
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}
.mkcontents__inner #mkcontents dl.content-news dt .news-title {
	margin-left: 0;
    margin-right: auto;
    display: block;
}
.mkcontents__inner #mkcontents dl.content-news dt .news-date {
    text-align: right;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 15px;
}
div.backnumber { padding-left: 0px!important; }



/*========= header =========*/

#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 20;
}
#header .inner {
	width: 1050px;
	margin: 0 auto;
	padding: 30px 0 0 0;
	display: flex;
	display: -webkit-flex;
}

#header .inner .gv_menu {
	width: 63%;
	list-style: none;
	font-size: 1em;
	font-weight: 400;
	letter-spacing: 0.7px;
	line-height: 40px;
	align-items: center;
	background-color: #FFF;
	box-shadow: 0 1px 6px rgba(0,0,0,0.16);
	display: flex;
	height: 60px;
	margin: 0 20px 0 0;
	padding: 0 32px 0 32px;
	vertical-align: middle;
	justify-content: space-between;
	box-sizing: border-box;
}
#header .inner .gv_menu li {
	height: 60px;
	padding: 0 15px 0 15px;
	position: relative;
}
#header .inner .gv_menu li a {
	align-items: center;
	color: #111;
	display: flex;
	height: 100%;
	white-space: nowrap;
	text-decoration: none;
	position: relative;
}
#header .inner .gv_menu li a::after {
	position: absolute;
	bottom: 2px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #00afcc;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}
#header .inner .gv_menu li a:hover::after {
	bottom: 13px;
	opacity: 1;
	visibility: visible;
}
#header .inner .gv_menu .menu_logo {
	align-items: center;
	display: flex;
	height: 100%;
}


#header .inner .sub_menu {
	width: 37%;
	list-style: none;
	font-size: 1em;
	font-weight: 400;
	letter-spacing: 0.7px;
	line-height: 40px;
	transition: 0.6s ease-in-out;
	-webkit-transition: 0.6s ease-in-out;
	background-color: #005766;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16);
	display: flex;
	padding: 0 32px 0 32px;
	margin: 0;
	box-sizing: border-box;
}
#header .inner .sub_menu li {
	height: 60px;
	padding: 0 15px 0 15px;
	position: relative;
}
#header .inner .sub_menu li a {
	align-items: center;
	color: #FFF;
	display: flex;
	height: 100%;
	white-space: nowrap;
	text-decoration: none;
	position: relative;
}
#header .inner .sub_menu li a::after {
	position: absolute;
	bottom: 2px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #fff;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}
#header .inner .sub_menu li a:hover::after {
	bottom: 13px;
	opacity: 1;
	visibility: visible;
}

.ud01 { width: 1200px!important; justify-content: space-between; }
.ud02 { width: 65%!important; }
.ud03 { width: 33%!important; }

.dotto_line {
	width: 80px;
	height: 40px;
	position: absolute;
	left: 0;
	right: 0;
	top: 7px;
	margin: 0 auto;
}



/*========= sp_menu =========*/

#header_sp { display: none; }
#nav-toggle { display: none; }
#gloval-nav { display: none; }



/*========= main visual =========*/

#mv {
	width: 100%;
	height: 70vh;
	background: url(../img/common/top_mv_01.jpg) no-repeat;
    background-size: cover;
	background-position: center;
}
#mv .inner {
	width: 100%;
	max-width: 1200px;
	min-width: 1200px;
	height: 100%;
	margin: 0 auto;
	position: relative;
}
#mv .inner .logo {
	width: 360px;
	height: 235px;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 5%;
	margin: auto;
}
#mv .inner .message {
	position: absolute;
	right: 150px;
    top: 200px;
	margin: auto;
	padding: 1.5em;
	background: #fff;
	box-sizing: border-box;
}
#mv .inner .message img { width: 65px; }

#mv .greeting {
	position: absolute;
	right: 20%;
	left: 20%;
	bottom: 80px;
	margin: 0 auto;
	text-align: center;
	color: #008299;
	font-weight: 500;
}
#mv .greeting span { display: block; font-size: 1.5em; font-weight: 600; margin-bottom: 10px; }

#mv .sign { position: absolute; right: 0; top: 130px; border: 5px #fff solid; }



/*========= footer =========*/

#footer {
	width: 100%;
	background: #005766;
	color: #fff;
}
#footer .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 0;
}
#footer .inner .menu {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}
#footer .inner .menu .ul01 {
	list-style: none;
	padding: 10px 0 30px;
	display: flex;
	display: -webkit-flex;
}
#footer .inner .menu .ul01 li { margin-right: 40px; }
#footer .inner .menu .ul01 li:last-child {
	margin-right: 40px;
	padding-top: 10px;
	letter-spacing: 1px;
	line-height: 1.8em;
}

#footer .inner .menu .ul02 {
	list-style: none;
	padding: 10px 0 30px;
	display: flex;
	display: -webkit-flex;
}

#footer .inner .menu .ul02 li { margin-right: 40px; }
#footer .inner .menu .ul02 li a {
	display: block;
	color: #fff;
	padding: .6em 0;
}

#footer .inner .menu .ul02 li:last-child { margin: 0; }
#footer .inner .menu .ul02 li:last-child a {
	display: block;
	color: #fff;
	text-decoration: none;
	padding: .6em 5em;
	border: 2px #fff solid;
}
#footer .inner .menu .ul02 li:last-child a:hover {
	background: #fff;
	color: #2E9648;
}

#footer .inner .copy { font-size: .8em; }



/*========= top =========*/

#top_contents01 { display: none; width: 100%; }
#top_contents01 .inner {
	width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 80px;
    margin-top: -80px;
    background: #fff;
	position: relative;
}
#top_contents01 .inner:before {
    content: "INTRODUCTION";
    font-size: 7em;
    font-weight: 600;
    font-family: 'Roboto', sans-serif;
    line-height: .8em;
    display: inline-block;
    position: absolute;
    color: rgba(200,200,200,0.3);
    right: 0;
    top: 0;
}
#top_contents01 .inner .ttl { color: #008299; }
#top_contents01 .inner .ttl span {
	display: block;
	letter-spacing: 4px;
	font-family: 'Roboto', sans-serif;
	font-size: 1.2em;
}
#top_contents01 .inner .ttl h2 { font-size: 2em; letter-spacing: 3px; }

#top_contents02 { width: 100%; background: #f2f2f2; position: relative; }
#top_contents02 .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 0;
}
#top_contents02 .inner .topics { display: flex; display: -webkit-flex; margin-bottom: 50px; }

#top_contents02 .inner .ttl { width: 400px; color: #008299; padding-top: 100px; }
#top_contents02 .inner .ttl span {
	display: block;
	letter-spacing: 4px;
	font-family: 'Roboto', sans-serif;
	font-size: 1.2em;
}
#top_contents02 .inner .ttl h2 { font-size: 2em; letter-spacing: 1px; }

#top_contents02 .inner .mk_cont { margin-bottom: 40px; }
#top_contents02 .inner .mk_cont h3 {
	font-size: 1.5em;
	color: #008299;
	letter-spacing: 1px;
	margin-bottom: 15px;
	padding-left: 40px;
	position: relative;
}
#top_contents02 .inner .mk_cont h3:before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.2rem;
    width: 30px;
    height: 2px;
    background: #008299;
}
#top_contents02 .inner .mk_cont .bg { padding: .5em 1em .3em 1em; background: #fff; }

#top_contents02 .mkcontents a img { display: none; }
#top_contents02 .mkcontents a { color: #008299; transition: .3s; }
#top_contents02 .mkcontents a:hover { opacity: .5; }
#top_contents02 .mkcontents .article tbody tr.sp-c-nav td { background: rgba(255,255,255,.8); }

#top_contents03 { width: 100%; position: relative; }
#top_contents03 .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 0 0;
}
#top_contents03 .inner .ttl { color: #008299; }
#top_contents03 .inner .ttl span {
	display: block;
	letter-spacing: 4px;
	font-family: 'Roboto', sans-serif;
	font-size: 1.2em;
}
#top_contents03 .inner .ttl h2 { font-size: 2em; letter-spacing: 3px; margin-bottom: 40px; }

.service { display: flex; display: -webkit-flex; margin-bottom: 100px; }
.service .inner { width: 100%; margin-right: 80px; padding: 0!important; }
.service .inner .item { border-bottom: 1px #999 dotted; margin-bottom: 10px; padding-bottom: 10px; display: flex; display: -webkit-flex; }
.service .inner .item strong { display: block; font-size: 1.7em; font-family: 'Roboto', sans-serif; color: #008299; margin-right: 5px; }
.service .inner .item h3 { margin: 0; font-size: 1.3em; display: block; }
.service .inner .txt { line-height: 1.8em; margin-bottom: 40px; }

#top_contents04 { width: 100%; background: #f2f2f2; }
#top_contents04 .inner { width: 100%; max-width: 1200px; margin: 0 auto; padding: 80px 0; }
#top_contents04 .inner .ttl { color: #008299; }
#top_contents04 .inner .ttl span {
	display: block;
	letter-spacing: 4px;
	font-family: 'Roboto', sans-serif;
	font-size: 1.2em;
}
#top_contents04 .inner .ttl h2 { font-size: 2em; letter-spacing: 3px; margin-bottom: 40px; }

#top_contents04 .inner .staff { width: 100%; max-width: 1000px; margin: 0 auto 50px auto; }
#top_contents04 .inner .staff ul { list-style: none; padding: 0; display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap; }
#top_contents04 .inner .staff ul li { width: 15%; margin: 0 5px; }
#top_contents04 .inner .staff ul li img { width: 100%; }

#top_contents04 .inner .com { display: flex; display: -webkit-flex; justify-content: space-between; }
#top_contents04 .inner .com .box01 { width: 250px; }
#top_contents04 .inner .com .box02 { width: 900px; }
#top_contents04 .inner .com .box03 { width: 250px; }
#top_contents04 .inner .com .box02 table { background: #fff; width: 100%; }
#top_contents04 .inner .com .box02 .td01 { padding: 1em; border-bottom: 1px #ccc solid; background: #ddd; text-align: center; }
#top_contents04 .inner .com .box02 .td02 { padding: 1em; border-bottom: 1px #ccc solid; }



/*========= common =========*/

.main_contents01 { width: 100%; }
.main_contents01 .inner { width: 100%; max-width: 1200px; margin: 0 auto; padding: 200px 0 60px 0; }

.main_contents02 { background: #f2f2f2; }
.main_contents02 .inner { width: 100%; max-width: 1200px; margin: 0 auto; padding: 20px 0 60px 0; }

.ttl h2 { font-size: 2.3em; font-weight: 800; margin-top: 20px; margin-bottom: 20px; }
.ttl h3 { font-size: 1.5em; font-weight: 600; }

.en { letter-spacing: 4px; font-family: 'Roboto', sans-serif; color: #008299; }

.txt01 { line-height: 2em; margin-bottom: 20px; }
.txt02 { line-height: 2em; margin-bottom: 40px; }

.crumbs { margin: 20px 0 50px; font-size: .9em; position: relative; z-index: 1; }
.container { width: 100%; max-width: 1200px; margin: 0 auto; text-align: right; letter-spacing: 1px; }
.container a { color: #333; }



/*========= contact =========*/

.toi_box { padding: 3em; line-height: 2em; background: #fff; }
.toi_box a { text-align: center; color: #009964; }

.toi_btn_l_01 { width: 200px; text-align: center; margin: 0 auto; }
.toi_btn_l_02 { width: 200px; text-align: center; margin-right: 30%; float: right; }
.toi_btn_r_01 { width: 200px; text-align: center; margin-left: 30%; float: left; }

.toi_box .btn01 {
	width: 200px;
	padding: .7em 1em;
	background: #333;
	border: none!important;
	font-size: 1em;
	font-family: "Noto Sans Japanese";
	color: #fff;
	margin-right: 30px;
	transition: .2s linear;
	-webkit-transition: .2s linear;
}
.toi_box .btn02 {
	width: 200px;
	padding: .7em 1em;
	background: #333;
	border: none!important;
	font-size: 1em;
	font-family: "Noto Sans Japanese";
	color: #fff;
	transition: .2s linear;
	-webkit-transition: .2s linear;
}
.toi_box .btn01:hover, .toi_box .btn02:hover {
    background: #2B8E44;
}

.toi_box table {
	margin-bottom: 30px;
}
.toi_box th {
	border: 0;
    padding: 20px 0;
    text-align: left;
	border-bottom: 1px dashed #ccc;
}
.toi_box td {
	border: 0;
    padding: 20px 0;
    text-align: left;
	border-bottom: 1px dashed #ccc;
}
.toi_box tr:first-child th, .toi_box tr:first-child td {
	border-top: 1px dashed #ccc;
}

.toi_box .require {
    padding: 1px 4px;
    color: #222;
    font-size: .8em;
    font-style: normal;
	font-weight: 300;
    letter-spacing: 1px;
    margin: 0 0 0 10px;
    line-height: 9px;
    border-radius: 3px;
    zoom: normal;
    background: #ffd610;
}

.toi_input01 {
	height: 25px;
	float: left;
	border-color: #999;
	border-width: 0px 0px 1px 0px;
	border-style: dotted;
}

.from_text01 { padding: 10px; border: 1px #ccc solid; }
.from_text02 { padding: 10px; border: 1px #ccc solid; }
.from_text03 { padding: 10px; border: 1px #ccc solid; }

.t_from_text { padding: 5px; border: 1px #ccc solid; }



/*========= mkcontents_page =========*/

.news-list { width: 100%; padding: 1em 1.5em; background: #fff; }

.news-list__title {
	width: 250px;
	height: 250px;
	border: 1px solid #fff;
	border-radius: 10px;
	display: flex;
	display: -webkit-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.news-list__title h1 { font-size: 250%; color: #fff; }
.news-list__title p { color: #fff; }

.news-list { width: 72%; }
.news-list img { display: none; }
.news-list .article-content { margin-top: -35px; }
.news-list dl dt {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	padding: 12px 0;
	list-style: none;
	border-bottom: 1px solid #ddd;
}
.news-list dl dt .news-date { width: 84px; margin-right: 15px; color: #999; }
.news-list dl dt .news-title { margin-left: 0; margin-right: auto; }
.news-list dl dt .news-title a { text-decoration: none; word-wrap: break-word; word-break: break-all; color: #008299!important; }
.news-list a, .news-list .article-content p { color: #fff; transition: .3s; }
.news-list a:hover,.news-list .article-content p:hover { opacity: .5; }

.news-list ul li span { color: #ccc; margin-right: 30px; }
.news-list__morebtn {
	display: block;
	text-align: right;
	color: #fff;
	margin-top: 12px;
}

.page-cont__yield .mkcontents__inner {
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
	padding: 60px 0;
}
.page-cont__yield .mkcontents__inner #mkcontents { font-size: 100%; }
.page-cont__yield .mkcontents__inner #mkcontents a { color: #ee7523; word-break: break-all; }
.page-cont__yield .mkcontents__inner #mkcontents .content-news {}
.page-cont__yield .mkcontents__inner #mkcontents .content-news dt {
	width: 100%;
	padding: 15px 0;
	margin: 0;
	border-bottom: 1px solid #2356a6;
    margin-left: 0;
    margin-right: auto;
	display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}
.page-cont__yield .mkcontents__inner #mkcontents dl.content-news dt .news-date {
	text-align: right;
	margin-left: 0;
    margin-right: 0;
	padding-left: 0;
	padding-right: 15px;
}
.page-cont__yield .mkcontents__inner #mkcontents dl.content-news dt .news-title {
	margin-left: 0;
    margin-right: auto;
	display: block;
}