@charset "utf-8";
/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
html { font-size: 62.5%;}
body { font-family: 'Noto Sans JP', sans-serif; color:#333; line-height: 2.0; width: 100%; font-size: 16px; font-weight: 400; background: #FFF; }   
@media screen and (max-width: 767px) {
body { font-family: 'Noto Sans JP', sans-serif; color:#333; line-height: 2.0; width: 100%; font-size: 14px; font-weight: 400; background: #FFF; } 
}

.pc .admin-bar { padding-top:33px; }
* { box-sizing: border-box;}

/* layout */
main { margin: 0; padding: 0;}
article { margin: 0; padding: 120px 0; background: #F5F5F5;}

@media screen and (max-width: 767px) {
article { margin: 0; padding: 45px 0; background: #F5F5F5;}
}

.inner1200 { max-width: 1200px; margin: 0 auto; padding: 0 3%; box-sizing: content-box;}

/* image */
.image { line-height: 0; font-size: 0;}
img { max-width: 100%; height: auto; image-rendering: -webkit-optimize-contrast; line-height: 0; font-size: 0;}
picture { display: block; line-height: 0; font-size: 0;}

/* a link */
a { text-decoration:none; }
a, a:before, a:after, input { transition:0.3s ease-out; }
a img { opacity: 1.0; transition:0.3s ease-out;}
a:hover { text-decoration:none; }

a.liner { padding-bottom: .2em; background: linear-gradient(#0B8388, #0B8388) 0 100%/0 2px no-repeat; transition: background .4s; text-decoration: none; line-height: 1.8; }
a.liner:hover { background-size: 100% 2px; text-decoration: none; color: #0B8388;}

.link_button { text-align: center;}
.link_button a { display: flex; font-size: 20px; border-radius: 40px; height: 78px; width: 376px; background: #0B8388; color: #FFF; border: 1px #FFF solid; align-items: center; justify-content: center;}
.link_button a:hover { background: #555; opacity: 1.0;}
.link_button a span { text-align: center;}
.link_button a span.icon_right { background: url("img/icon_right.svg") right 1px top 58% no-repeat; background-size: 15px 15px; padding-right: 31px;}
.link_button a span.icon_left { background: url("img/icon_left_w.svg") left center no-repeat; background-size: 15px 15px; padding-left: 31px;}
.link_button a span.icon_pdf { background: url("img/icon_pdf_w.svg") left center no-repeat; background-size: 37px 41px; padding-left: 53px; min-height: 41px; line-height: 78px; white-space: nowrap;}

@media screen and (max-width: 1279px) {
.link_button a { display: flex; font-size: 16px; border-radius: 40px; height: 78px; width: auto; min-width: 300px; padding: 0 20px; background: #0B8388; color: #FFF; border: 1px #FFF solid; align-items: center; justify-content: center;}
}

.link_button_b { text-align: center;}
.link_button_b a { display: flex; font-size: 20px; border-radius: 40px; height: 78px; width: 376px; background: #0B8388; color: #FFF; border: 1px #FFF solid; align-items: center; justify-content: center;}
.link_button_b a:hover { background: #555; opacity: 1.0;}

@media screen and (max-width: 1279px) {
.link_button_b a { display: flex; font-size: 16px; border-radius: 40px; height: 78px; width: auto; min-width: 300px; padding: 0 20px; background: #0B8388; color: #FFF; border: 1px #FFF solid; align-items: center; justify-content: center;}
}

/* flex */
.flex { display: flex; justify-content: space-between;}
.left { width: 25%;}
.right { width: 65%;}

@media screen and (max-width: 767px) {
.flex { display: block;}
.left { width: 100%; margin-bottom: 40px;}
.right { width: 100%;}
}

/* NPTA */
.npta { color: #FFF; font-size: 14px; position: absolute; right: 10px; bottom: 10px; line-height: 1.1;}

@media screen and (max-width: 767px) {
.npta { color: #FFF; font-size: 10px; position: absolute; right: 5px; bottom: 5px; line-height: 1.1;}
}

/* hidden */
.pc_hidden { display: none;}
.sp_hidden { display: block;}

@media screen and (max-width: 1023px) {
.pc_hidden { display: block;}
.sp_hidden { display: none;}
}


/* subtitle */
.subtitle { position: relative;}
.subtitle::before { content: ""; display: block; position: absolute; left: 0; bottom:0; width: 40px; height: 7px; background: rgb(13,99,102); background: linear-gradient(90deg, rgba(13,99,102,1) 0%, rgba(13,99,102,1) 50%, rgba(48,197,182,1) 50%, rgba(48,197,182,1) 100%);}

/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
header { width: 100%; height: 100px; background: #FFF; position: fixed; z-index: 99;}
header .inner { padding:0 3.6% 25px; display: flex; justify-content: space-between; align-items:flex-end; height: 100px;}

@media screen and (max-width: 960px) {
header { width: 100%; height: 70px; background: #FFF; position: fixed; z-index: 99;}
header .inner { padding:0 3.6%; display: flex; justify-content: space-between; align-items: center; height: 70px;}
header h1 { max-width: 280px;}
}

/* global nav */
.global_nav > ul { display: flex; padding-top: 20px;}
.global_nav > ul > li { position: relative; height: 100%; margin: 0 20px; }
.global_nav > ul > li > a { padding-bottom: .2em; background: linear-gradient(#0B8388, #0B8388) 0 100%/0 2px no-repeat; transition: background .4s; text-decoration: none; line-height: 1.8; font-size: 20px; }
.global_nav > ul > li > a:hover { background-size: 100% 2px; text-decoration: none; color: #0B8388; opacity: 1.0;}

@media screen and (max-width: 1023px) {
.global_nav { display: none;}
}

/* ----------------------------------------------------------------------
 キービジュアル
---------------------------------------------------------------------- */
#index_key { padding-top: 100px; overflow: hidden;  position: relative; height: 100vh;}
#index_key .inner { background: url("img/index_key@2x-min.jpg") center no-repeat; background-size: cover; height: 100vh; margin-left: calc(( 100% - 1200px ) / 2);}
#index_key h2 { position: absolute; top: 50%; left: 0; transform: translateY(-50%); padding-left: 3.6%; font-size: 50px; font-weight: 700;}
#index_key h2 span { background: #FFF; padding: 0 0.2em 0 0; line-height: 1.6; color: #0B8388;}

@media screen and (max-width: 1279px) {
#index_key .inner { background: url("img/index_key@2x-min.jpg") center no-repeat; background-size: cover; height: 100vh; margin-left:0;}
}

@media screen and (max-width: 1023px) {
#index_key { padding-top: 70px; overflow: hidden;  position: relative; height: auto;}
#index_key .inner { background:none; height: auto; margin-left:0;}
#index_key .image { margin-bottom: 24px; font-size: 12px; line-height: 1.1; position: relative;}
#index_key h2 { position: relative; top: 50%; left: 0; transform: translateY(0%); padding-left: 3.6%; font-size: 20px; font-weight: 700;}
#index_key h2 span { background: #FFF; padding: 0 0.2em 0 0; line-height: 1.6; border-bottom: 1px #0B8388 solid;}
}

/* ----------------------------------------------------------------------
 ページタイトル
---------------------------------------------------------------------- */
#page_title { padding-top: 100px;}
#page_title .page_bg { position: relative; background: url("img/page_pagetitle@2x-min.jpg") center no-repeat; background-size: cover; height: 250px; }
#page_title .index_title { padding: 120px 3%; max-width: 1200px; margin: 0 auto; box-sizing: content-box;}
@media screen and (max-width: 1023px) {
#page_title { padding-top: 70px;}
}
@media screen and (max-width: 767px) {
#page_title .page_bg { position: relative; background: url("img/page_pagetitle-min.jpg") center no-repeat; background-size: cover; height: 100px; }
#page_title .index_title { padding: 45px 3%; max-width: 1200px; margin: 0 auto; box-sizing: content-box;}
}
/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
footer { width: 100%; background: #0B8388; color: #FFF; padding: 120px 0;}
footer .flex { justify-content: space-between;}
footer .add span { display: inline;}
footer .f_logo { margin-bottom: 5px;}
footer .right ul { display: flex; justify-content: space-between; flex-wrap: wrap;}
footer .right li { margin-bottom: 20px;}
footer .right .link_tel a { flex-direction: column; line-height: 1.2;}
footer .right .link_tel span { font-size: 14px; display: block;}

@media screen and (max-width: 1279px) {
footer .add { font-size: 14px; line-height: 1.5;}
footer .add span { display: block;}
}

@media screen and (max-width: 767px) {
footer { width: 100%; background: #0B8388; color: #FFF; padding: 70px 0;}
footer .right ul { display: block;}
}

.copy { text-align: center; height: 100px; line-height: 100px; background: #FFF;}

/* ページ上部へ戻るボタン */
#return_top { width: 100px; height: 100px; position:fixed; right:-100px; bottom:20px; overflow:hidden; z-index:10; transition:0.8s ease;}
#return_top.active { right: 20px;}
#return_top a { text-indent:-200px; display:block; height:100px; width:100px; margin:0; padding:0; text-decoration:none; background:#DDD url(img/icon_arrowup_w.svg) no-repeat center; background-size: 40px 26px; border-radius: 50px; }
@media screen and (max-width: 1279px) {
#return_top { width: 80px; height: 80px; position:fixed; right:-80px; bottom:20px; overflow:hidden; z-index:10; transition:0.8s ease;}
#return_top.active { right: 20px;}
#return_top a { text-indent:-200px; display:block; height:80px; width:80px; margin:0; padding:0; text-decoration:none; background:#DDD url(img/icon_arrowup_w.svg) no-repeat center; background-size: 30px auto; border-radius: 50px; }
}
@media screen and (max-width: 767px) {
#return_top { width: 50px; height: 50px; position:fixed; right:-50px; bottom:10px; overflow:hidden; z-index:10; transition:0.8s ease;}
#return_top.active { right: 10px;}
#return_top a { text-indent:-200px; display:block; height:50px; width:50px; margin:0; padding:0; text-decoration:none; background:#DDD url(img/icon_arrowup_w.svg) no-repeat center; background-size: 20px auto; border-radius: 25px; }
}

/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */
/* Common */
.index_contents { padding: 120px 0;}
.index_title { margin-bottom: 80px;}
.index_title h3 { font-size: 40px; font-weight: 700;}
.index_title .subtitle { font-size: 20px; padding-bottom: 20px;}

@media screen and (max-width: 767px) {
.index_contents { padding: 45px 0;}
.index_title { margin-bottom: 45px;}
.index_title h3 { font-size: 20px; font-weight: 700;}
.index_title .subtitle { font-size: 14px; padding-bottom: 20px;}
}

/* News */
#index_news .left .link_button a { width: 100%;}
#index_news h4.title { font-size: 20px; font-weight: 400; margin-bottom: 5px;}
#index_news .date { font-size: 14px; color: #0B8388;}
#index_news .index_news_list { padding-top: 20px;}
#index_news .index_news_list li { border-bottom: 1px #CCC solid; padding-bottom: 40px; margin-bottom: 40px;}
#index_news .index_news_list li:last-child { margin-bottom: 0;}

@media screen and (max-width: 1023px) {
#index_news .index_news_list { margin-bottom: 80px;}
#index_news h4.title { font-size: 18px; font-weight: 400; margin-bottom: 5px;}
}

@media screen and (max-width: 767px) {
#index_news h4.title { font-size: 14px; font-weight: 400; margin-bottom: 5px;}
#index_news .date { font-size: 10px; color: #0B8388;}
#index_news .index_news_list { padding-top: 0px;}
#index_news .index_news_list li { border-bottom: 1px #CCC solid; padding-bottom: 16px; margin-bottom: 16px;}
}

/* Message */
#Message { background: #F2FFFE;}
#Message .image { margin-bottom: 32px;}
#Message h4 { font-size: 30px; font-weight: 400;}
#Message h5 { font-size: 20px; font-weight: 700; margin: 0 0 10px 0;}
#Message p { margin-bottom: 2em;}

@media screen and (max-width: 1023px) {
#Message h4 { font-size: 24px; font-weight: 400;}
#Message h5 { font-size: 18px; font-weight: 700; margin: 0 0 10px 0;}
#Message .director_info { font-size: 12px;}
}

/* Overview */
#Overview dl { padding-top: 20px; margin-bottom: 80px;}
#Overview dt { font-size: 20px; font-weight: 700; margin-bottom: 10px;}
#Overview dd { padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px #CCC solid;}
#Overview dd:last-child { margin-bottom: 0;}
#Overview dd h1 { font-size: 16px; font-weight: 400;}
#Overview ul.overview_pdf { display: flex; flex-wrap: wrap; justify-content: space-between;}
#Overview ul.overview_pdf li { margin-bottom: 24px;}

@media screen and (max-width: 1023px) {
#Overview ul.overview_pdf li { width: 48%;}
#Overview ul.overview_pdf .link_button a { display: flex; font-size: 16px; border-radius: 40px; height: 78px; width: 100%; min-width: auto; padding: 0 20px; background: #0B8388; color: #FFF; border: 1px #FFF solid; align-items: center; justify-content: center;}
}

@media screen and (max-width: 767px) {
#Overview dl { padding-top: 0px; margin-bottom: 80px;}
#Overview dt { font-size: 16px; font-weight: 700; margin-bottom: 10px;}
#Overview dd { padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px #CCC solid;}
#Overview ul.overview_pdf li { width: 100%;}
}

/* --------------------------------------------------------------------------------------------------------------------------------------------
 固定ページ
-------------------------------------------------------------------------------------------------------------------------------------------- */
/* Common -------------------------------------------------------- */


/* --------------------------------------------------------------------------------------------------------------------------------------------
 新着・更新情報
-------------------------------------------------------------------------------------------------------------------------------------------- */
#news { width: 100%;}

#archive_post_list { margin-bottom: 60px;}
#archive_post_list .post_item { padding-bottom: 40px; margin-bottom: 80px; border-bottom: 1px #CCCCCC solid;}
#archive_post_list .date { font-size: 14px; color: #0B8388;}
#archive_post_list h3.title { font-weight: 400; font-size: 30px; margin-bottom: 5px;}

@media screen and (max-width: 1023px) {
#archive_post_list h3.title { font-weight: 400; font-size: 24px; margin-bottom: 5px;}
}

@media screen and (max-width: 767px) {
#archive_post_list h3.title { font-weight: 400; font-size: 18px; margin-bottom: 5px;}
#archive_post_list .post_item { padding-bottom: 20px; margin-bottom: 40px; border-bottom: 1px #CCCCCC solid;}
}

/* 記事詳細 */
body.single article { padding: 120px 0 0 0;}
#single_post .post_item { margin-bottom: 80px;}
#single_post .date { font-size: 14px; color: #0B8388; padding-bottom: 40px; margin-bottom: 64px; border-bottom: 1px #CCC solid;}
#single_post h3.title { font-weight: 400; font-size: 30px; margin-bottom: 5px;}
.addtoany_content { border-bottom: 1px #CCC solid; border-top: 1px #CCC solid; margin: 80px 0 0 0; padding: 24px 0;}
article .back_archive { width: 100%; background: #FFF; padding: 120px 0; text-align: center;}
article .back_archive .link_button a { margin: 0 auto;}

@media screen and (max-width: 1023px) {
#single_post h3.title { font-weight: 400; font-size: 24px;}
article .back_archive { width: 100%; background: #FFF; padding: 120px 10%; text-align: center;}
}

@media screen and (max-width: 767px) {
#single_post .date { font-size: 12px; color: #0B8388; padding-bottom: 20px; margin-bottom: 32px; border-bottom: 1px #CCC solid;}
body.single article { padding: 45px 0 0 0;}
#single_post h3.title { font-weight: 400; font-size: 18px;}
article .back_archive { width: 100%; background: #FFF; padding: 45px 10%; text-align: center;}
.addtoany_content { border-bottom: 1px #CCC solid; border-top: 1px #CCC solid; margin: 45px 0 0 0; padding: 24px 0;}
}

/* ページナビ */
.wp-pagenavi a, .wp-pagenavi span{ padding:3px 10px; }
.wp-pagenavi a:hover,
.wp-pagenavi span.current { border-color:#0B8388; background: #0B8388; color: #FFF; font-weight: 400; }












