@charset "UTF-8";

#wrap{
width: 100%;
letter-spacing: 1px;
position: relative;
}

.font_m{
font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.box01{
width: 1000px;
margin: 50px auto 100px;
}

p.more{
text-align: right;
margin: 25px 25px 0;
}

.menu_link a{
position: relative;
}

.menu_link a:after{
content: '\f105';
font-family: "Font Awesome 5 Free";
position: absolute;
font-size: 16px;
font-weight: bold;
margin-left: 10px;
}

.btn_wh a{
width: 200px;
margin: 15px auto;
padding: 10px 20px 10px 10px;
display: block;
background-color: #fff;
border: 2px solid #fff;
border-radius: 3px;
color: #016BAD;
text-align: center;
}

.btn_wh a:hover{
opacity: 1;
background-color: #016BAD;
color: #fff;
}

.pc{
display: block;
}

.smp{
display: none;
}

#mobi_menu{
display: none;
}


/* ----------------------------------------
	#　ヘッダー
---------------------------------------- */
#hed01{
display: flex;
margin-bottom: 15px;
background-color: #016BAD;
background-image: url("../img/bg.png");
background-position: top right;
background-repeat: repeat-y;
height: 700px;
overflow: hidden;
position: relative;
}

#hed01 #slider01{
width: 100%;
max-width: 700px;
}

#hed01 #slider01 ul li{
width: 100%;
height: 700px;
padding: 50%;
position: relative;
}

#hed01 #slider01 ul li img{
position: absolute;
top: 50%;
left: 50%;
transform: translate3d(-50%, -50%, 0);
max-width: 100%;
max-height: 100%;
min-width: 700px;
}

#hed01 #slider_smp{
display: none;
}

#hed01 #logo{
width: 100%;
padding: 20px;
color: #fff;
text-align: center;
display: flex;
flex-direction: column;
justify-content: space-between;
}

#hed01 #logo .logo_box{
display: flex;
flex: 1;
flex-direction: column;
align-items: center;
justify-content: center;
}
#hed01 #logo .logo_box img{
max-width: 340px;
width: 100%;
margin: 0 auto 25px;
}
#hed01 #logo .logo_box .txt{
line-height: 200%;
}

#news{
width: 100%;
position: absolute;
z-index: 999;
bottom: 30px;
left: 0;
}
.news_inner{
width: 650px;
margin: 0 auto;
display: flex;
background-color: rgba(255,255,255,0.8);
border-radius: 5px;
}
.news_inner .news_inner_a{
padding: 13px 15px 10px;
display: flex;
background-color: #f0d78c;
align-items: center;
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
position: relative;
}
.news_inner .news_inner_a:after {
position: absolute;
content: "";
border: solid 24px transparent;
border-left-color: transparent;
border-left-style: solid;
border-left-width: 24px;
border-left: solid 10px #f0d78c;
top: 50%;
right: -34px;
transform: translate(0,-50%);
}
.news_inner .news_inner_b{
padding: 7px 10px 7px 25px;
display: flex;
align-items: center;
flex: 1;
}

.news_inner_b span{
width: 130px;
display: block;
}

.news_inner_b p{
margin-left: 15px;
line-height: 120%;
flex: 1;
}
.news_inner_b p a{
line-height: 100%;
}

#hed02{
width: 100%;
display: inline-block;
}
#hed02 .nav{
width: 1000px;
margin: 10px auto;
display: flex;
justify-content: space-between;
align-items: center;
text-align: center;
}
 ul.hed_menu{
display: flex;
justify-content: space-between;
width: 700px;
}
 ul.hed_menu li{
width: 33%;
}
 ul.hed_menu li span{
display: block;
font-size: 9.5px;
color: #008EE6;
letter-spacing: 0.15em;
}
.hed_menu li a{
display: block;
padding: 7px 0 5px;
text-decoration: none;
border-left: 1px solid #A5E2F9;
}
.hed_menu li:last-child a{
border-right: 1px solid #A5E2F9;
}

#hed02 .hed_sub{
width: 240px;
}

.contact{
background-color: #016BAD;
padding: 5px 0 2px;
color: #fff;
border-radius: 3px;
}

.tel, .fax{
font-weight: bold;
margin: 5px 0 3px;
padding-bottom: 5px;
border-bottom: 1px dashed #016BAD;
}

.tel:before{
content: '';
display: inline-block;
width: 25px;
height: 25px;
background-image: url("../img/icon_tel.png");
background-size: cover;
vertical-align: sub;
margin-right: 5px;
}

.fax:before{
content: '';
display: inline-block;
width: 70px;
height: 25px;
background-image: url("../img/icon_fax.png");
background-size: cover;
vertical-align: sub;
margin-right: 5px;
}


/* ----------------------------------------
#　タイトル／見出し
---------------------------------------- */
h2{
width: 100%;
height: 55px;
background-color: #016BAD;
color: #fff;
font-size: 28px;
padding: 0 20px;
line-height: 120%;
position: relative;
display: flex;
align-items: center;
}

h2 div{
width: 1000px;
margin: 0 auto -3px;
line-height: 120%;
}

h2 div span{
margin: 0 15px;
color: #A5E2F9;
font-size: 9.5px;
letter-spacing: 0.15em;
}

h2:after{
content: '';
display: inline-block;
position: absolute;
width: 55%;
height: 100%;
background-color: #fff;
top: 0;
right: 0;
}
h2.tit:after{
content: '';
background-image: url("../img/tit_img.png");
background-repeat: no-repeat;
background-size: contain;
}


/* ----------------------------------------
#　内容
---------------------------------------- */
#top01 {
    margin-top: 100px;
}
#top01 ul.top01_box01{
display: flex;
justify-content: space-between;
}
#top01 ul.top01_box01 li{
width: 24.5%;
padding: 40px 15px 50px;
display: flex;
flex-direction: column;
align-items: center;
}
#top01 ul.top01_box01 li:nth-of-type(1),
#top01 ul.top01_box01 li:nth-of-type(3){
background-color: #EDF5F9;
}
#top01 ul.top01_box01 li:nth-of-type(2),
#top01 ul.top01_box01 li:nth-of-type(4){
background-color: #F9F6E8;
}
#top01 ul.top01_box01 li img{
width: 85px;
}
.item{
width: 200px;
margin: 15px 0;
font-size: 18px;
}
.item a{
margin: 0 auto;
padding: 10px 20px 10px 10px;
display: block;
background-color: #fff;
border: 1px solid #016BAD;
border-radius: 3px;
color: #016BAD;
text-align: center;
}
.item a:hover{
opacity: 1;
background-color: #016BAD;
color: #fff;
}
#top01 ul.top01_box01 li .txt{
width: 200px;
font-size: 15px;
}
#top01 ul.top01_box01 li .item a{
font-size: 20px;
}
#top01 .top01_box02{
margin: 30px 0;
padding-top: 30px;
display: flex;
justify-content: space-between;
border-top: 1px dashed #016BAD;
text-align: center;
}
#top01 .top01_box02 .top01_box02_l{
max-width: 650px;
width: 100%;
}
#top01 .top01_box02 .top01_box02_r{
width: 280px;
margin: 15px 10px;
}
table.timetable th {
width: 10%;
padding: 7px;
text-align: center;
border-right: 1px dashed #016BAD;
border-bottom: 1px solid #016BAD;
vertical-align: middle;
}
#top01 .top01_box02_l table.timetable th {
background-color: #EDF5F9;
}
table.timetable th.time {
width: 23%;
}
table.timetable td {
padding: 10px 7px;
font-size: 23px;
border-right: 1px dashed #016BAD;
border-bottom: 1px solid #016BAD;
vertical-align: middle;
text-align: center;
line-height: 120%;
}
table.timetable th:last-child,
table.timetable td:last-child{
border-right: none;
}

table.timetable td:first-child {
font-size: 16px;
}

table.timetable td span {
display: inline-block;
line-height: 120%;
vertical-align: bottom;
}

.blue{
color: #016BAD;
}

.red{
color: #E20508;
}
p.timetable_p{
text-align: left;
margin-top: 10px;
}
#top01 .contact{
padding: 7px;
}


#top02{
width: 100%;
display: block;
background-color: #016BAD;
position: relative;
background-image: url("../img/bg.png");
background-position: top left;
background-repeat: repeat-y;
}

#top02 h2{
width: 80%;
background-color: #EDF5F9;
color: #016BAD;
justify-content: flex-end;
}

#top02 h2:after{
width: 0;
}

#top02 h2 div{
width: auto;
margin-right: 25px;
}

#top02 h2 div span{
color: #016BAD;
}

#top02 .top02_box{
display: flex;
align-items: center;
}

#top02 .top02_inner{
width: 50%;
height: 500px;
display: flex;
flex-direction: column;
justify-content: center;
}

#top02 .top02_inner .btn_wh a {
margin-top: 30px;
}

#top02 .top02_inner img{
width: 100%;
height: 100%;
display: block;
object-fit: cover;
}

#top02 .top02_inner .top02_txt{
width: 430px;
margin-left: auto;
margin-right: 10%;
margin-top: 50px;
color: #fff;
}


#top03 .box01{
margin-top: 100px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

#top03 .top03_inner{
width: 49%;
position: relative;
}

.top03_view{
width: 100%;
margin-top: 30px;
}

.top03_view_tit{
color: #016BAD;
font-size: 23px;
font-weight: bold;
text-align: center;
margin-bottom: 5px;
}

#top03 .top03_inner .top03_inner_box{
width: 100%;
position: absolute;
display: flex;
flex-direction: column;
align-items: center;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
}

#top03 .top03_inner_box img{
width: 85px;
margin-bottom: 30px;
}


.top04_inner{
padding: 15px 5%;
display: flex;
background-color: #F9F6E8;
}

.top04_inner:nth-of-type(2n){
background-color: #fff;
}

.top04_inner .date{
margin-right: 15px;
padding-right: 15px;
border-right: 1px solid #A5E2F9;
}

#top04 p.more{
text-align: right;
}

#top04 iframe{
width: 100%;
}


/* ----------------------------------------
#　フッター／スライダー／マップ
---------------------------------------- */
#slider02{
width: 100%;
margin-bottom: 10px;
}

#map iframe{
vertical-align: bottom;
margin-bottom: 10px;
}

footer #foot01{
width: 100%;
display: inline-block;
background-color: #016BAD;
background-image: url("../img/bg.png"), url("../img/bg.png");
background-position: top right, top right 90px;
background-repeat: repeat-y;
}
footer #foot02{
width: 100%;
display: inline-block;
}

footer #foot01 a{
color: #fff;
}
footer #foot01 .menu_link a:before{
content: '\f105';
font-family: "Font Awesome 5 Free";
position: absolute;
font-size: 16px;
font-weight: bold;
margin-left: -15px;
}
footer #foot01 .menu_link a:after{
content: '';
}
footer .foot_inner{
width: 1000px;
margin: 50px auto;
display: flex;
justify-content: space-between;
}

#foot01 .foot_box01{
width: 18.75%;
margin-left: 15px;
}

#foot01 .foot_box01 ul li{
margin-top: 5px;
}

#foot01 .foot_box01.wl{
width: 25%;
margin-left: 15px;
}

footer #foot02 .foot_inner{
align-items: center;
}

#foot02 .foot_box02{
width: 40%;
}

#foot02 .foot_box02 p{
display: flex;
justify-content: center;
margin-top: 10px;
}

#foot02 .foot_box03{
width: 55%;
}

#foot02 .foot_box02 img{
width: 100%;
max-width: 430px;
}

#foot02 table.timetable th{
border-top: 1px solid #016BAD;
}

#foot02 table.timetable td:first-child{
font-size: 14px;
}

.foot_inner p.timetable_p{
line-height: 140%;
}

.copy{
font-size: 12px;
color: #fff;
padding: 10px 0;
text-align: center;
background-color: #016BAD;
}

.oth_link{
margin-top: 15px;
margin-left: -15px;
color: #fff;
font-weight: bold;
}


/* ----------------------------------------
#　トップへ戻るボタン
---------------------------------------- */
.topBtn {
position:fixed;
bottom:20px;
right:20px;
display: block;
width:55px;
height:55px;
text-align:center;
z-index: 99;
background-color:#fff;
color:#016BAD;
border:2px solid #016BAD;
border-radius:5px;
}

.topBtn::before {
font-family: "Font Awesome 5 Free";
content: '\f106';
position: absolute;
top: 15px;
left: 0;
width: 100%;
text-align: center;
font-size: 30px;
font-weight: bold;
}

a.topBtn{
transition: none;
}


/* ----------------------------------------
#　ヘッダー固定用
---------------------------------------- */
.clone-nav {
position: fixed;
top: 0;
left: 0;
z-index: 2;
width: 100%;
transition: .3s;
transform: translateY(-100%);
}
.is-show {
transform: translateY(0);
background-color: #fff;
box-shadow: 0 3px 10px rgba(0,110,170,0.4);
}







/*●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●*/
/*●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●*/
/*●●●●●●●●●●●●●●●●●●●●●●●●　タブレット　769〜1024　●●●●●●●●●●●●●●●●●●●●●●*/
/*●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●*/
/*●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●*/
@media screen and ( max-width: 1024px ){
.box01{
width: 92%;
}
#mobi_menu{
display: block;
}


/* ----------------------------------------
#　ヘッダー
---------------------------------------- */
#hed01{
display: flex;
flex-direction: column-reverse;
margin-bottom: 15px;
padding-bottom: 100px;
height: auto;
}

#hed01 #slider01{
width: 100%;
}

#hed01 #slider01{
display: none;
}

#hed01 #slider_smp{
display: block;
}

#hed01 #logo{
width: 100%;
padding: 20px 30px;
}

#hed01 #logo .logo_box{
margin: 50px 0;
}

#hed02{
display: none;
}

#menu .hed_sub{
margin: 15px 20px;
}

.contact{
text-align: center;
font-weight: bold;
}

#menu .hed_sub .tel{
text-align: center;
}

#menu .hed_sub .tel a{
font-weight: bold;
}


/* ----------------------------------------
#　タイトル／見出し
---------------------------------------- */
h2{
width: 90%;
padding: 0;
}
h2 div{
width: 92%;
margin: 0 auto -3px;
}
h2:after{
width: 30%;
}


/* ----------------------------------------
#　内容
---------------------------------------- */
#top01 ul.top01_box01 li{
padding: 25px 15px;
}

.item{
max-width: 200px;
width: 100%;
}

#top01 ul.top01_box01 li .txt{
width: 100%;
}

#top01 .top01_box02{
width: 100%;
flex-direction: column;
justify-content: center;
}
#top01 .top01_box02 .top01_box02_l{
margin: 0 auto;
}
#top01 .top01_box02 .top01_box02_r{
width: 90%;
margin: 25px auto 0;
}

#top02{
width: 100%;
background-color: transparent;
position: relative;
background-image: url("../img/bg.png"), url("../img/top_img01.jpg");
background-position: top left, center;
background-repeat: repeat-y, no-repeat;
}
#top02 h2 div{
width: 100%;
margin-right: 0;
padding-left: 5%;
}
#top02 .top02_inner{
width: 100%;
}
#top02 .top02_inner:last-child{
display: none;
}

#top02 .top02_inner .top02_txt{
width: 90%;
margin-left: auto;
margin-right: auto;
}


#top03 .box01{
margin-top: 30px;
}
#top03 .top03_inner_box .item a{
margin-top: 0;
}


/* ----------------------------------------
#　フッター／スライダー／マップ
---------------------------------------- */

footer img.smp{
display: block;
}
footer img.pc{
display: none;
}
footer #foot01{
width: 100%;
height: 85px;
background-image: none;
display: block;
}
footer #foot02{
background-color: #016BAD;
}
footer .foot_inner{
width: 92%;
margin-top: 0;
}
#foot01 .foot_inner{
display: none;
}

#foot02 .foot_box02{
width: 100%;
}
#foot02 .foot_box02 p{
text-align: center;
color: #fff;
}
#foot02 .foot_box03{
display: none;
}
#foot02 .foot_box02 img{
width: 100%;
max-width: 430px;
margin: 0 auto;
}
.copy{
border-top: 1px solid #fff;
}


/* ----------------------------------------
#　トップへ戻るボタン
---------------------------------------- */
.topBtn {
position:fixed; /*固定*/
bottom:20px; /*場所を右下に移動*/
right:10px; /*場所を右下に移動*/
z-index: 99;
}


}







/*●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●*/
/*●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●*/
/*●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●　スマホ　●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●*/
/*●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●*/
/*●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●*/
@media (max-width: 767px){
.box01{
width: 92%;
margin: 50px auto 80px;
}
.pc{
display: none;
}
.smp{
display: block;
}
#mobi_menu{
display: block;
}


/* ----------------------------------------
#　ヘッダー
---------------------------------------- */
#hed01{
display: flex;
flex-direction: column-reverse;
margin-bottom: 15px;
padding-bottom: 100px;
height: auto;
}
#hed01 #slider01{
width: 100%;
}
#hed01 #slider01{
display: none;
}
#hed01 #slider_smp{
display: block;
}
#hed01 #logo{
width: 100%;
padding: 20px 20px;
}
#hed01 #logo .logo_box{
margin: 50px 0 20px;
}
#hed01 #logo .logo_box img{
max-width: 280px;
}
#hed02{
display: none;
}

#news{
bottom: 20px;
}
.news_inner{
width: 92%;
max-width: 650px;
}

.news_inner .news_inner_a {
padding-left: 10px;
padding-right: 10px;
}

.news_inner .news_inner_a:after {
position: absolute;
content: "";
border: solid 27px transparent;
border-left-color: transparent;
border-left-style: solid;
border-left-width: 24px;
border-left: solid 10px #f0d78c;
right: -37px;
}
.news_inner .news_inner_b{
flex-direction: column;
align-items: flex-start;
padding-bottom: 5px;
padding-top: 6px;
}
.news_inner_b span{
font-size: 13px;
font-weight: bold;
}
.news_inner_b p{
margin-left: 0;
}


/* ----------------------------------------
#　タイトル／見出し
---------------------------------------- */
h2{
width: 90%;
height: 60px;
padding: 0;
font-size: 23px;
}
h2 div{
width: 92%;
margin: 0 auto -3px;
}
h2 div span{
display: block;
margin: 0;
}

h2:after{
width: 15%;
}

h2.tit:after{
background-size: contain;
width: 50px;
height: 100%;
}


/* ----------------------------------------
#　内容
---------------------------------------- */
#top01 ul.top01_box01{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
#top01 ul.top01_box01 li{
width: 49%;
padding: 30px 15px;
margin: 7px 0;
}
#top01 ul.top01_box01 li:nth-of-type(1),
#top01 ul.top01_box01 li:nth-of-type(4){
background-color: #EDF5F9;
}
#top01 ul.top01_box01 li:nth-of-type(2),
#top01 ul.top01_box01 li:nth-of-type(3){
background-color: #F9F6E8;
}

.item{
max-width: 200px;
width: 100%;
}

#top01 ul.top01_box01 li .txt{
width: 100%;
}

#top01 ul.top01_box01 li .item a{
font-size: 16px;
}

#top01 .top01_box02{
flex-direction: column;
justify-content: center;
}
#top01 .top01_box02 .top01_box02_r{
width: 100%;
margin: 25px 0 0;
}
table.timetable{
font-size: 14px;
}
table.timetable th.time {
width: 20%;
}
table.timetable td {
font-size: 14px;
}
table.timetable td:first-child {
font-size: 14px;
}


#top02{
width: 100%;
background-color: transparent;
position: relative;
background-image: url("../img/bg.png"), url("../img/top_img01.jpg");
background-position: top left, center;
background-repeat: repeat-y, no-repeat;
}
#top02 h2 div{
width: 100%;
margin-right: 0;
padding-left: 5%;
}
#top02 .top02_inner{
width: 100%;
}
#top02 .top02_inner:last-child{
display: none;
}

#top02 .top02_inner .top02_txt{
width: 90%;
margin-left: auto;
margin-right: auto;
}


#top03 .box01{
margin-top: 30px;
flex-direction: column;
}
#top03 .top03_inner{
width: 100%;
max-width: 500px;
margin: 0 auto 15px;
}

#top03 .top03_inner_box img{
margin-bottom: 5%;
}
#top03 .top03_inner_box .item a{
margin-top: 0;
}


#top04 .top04_inner{
flex-direction: column;
background-color: #F9F6E8;
}
#top04 .box01{
width: 100%;
}
#top04 .top04_inner .date{
margin-right: 15px;
padding-right: 15px;
border-right: none;
}
#top04 p.more{
width: 92%;
margin-right: auto;
margin-left: auto;
padding-right: 4%;
}


/* ----------------------------------------
#　フッター／スライダー／マップ
---------------------------------------- */

footer #foot01{
width: 100%;
height: 85px;
background-image: none;
display: block;
}
footer #foot02{
background-color: #016BAD;
}
footer .foot_inner{
width: 92%;
margin-top: 0;
}
#foot01 .foot_inner{
display: none;
}

#foot02 .foot_box02{
width: 100%;
}
#foot02 .foot_box02 p{
text-align: center;
color: #fff;
}
#foot02 .foot_box03{
display: none;
}
#foot02 .foot_box02 img{
width: 100%;
max-width: 430px;
margin: 0 auto;
}
.copy{
border-top: 1px solid #fff;
}


/* ----------------------------------------
#　トップへ戻るボタン
---------------------------------------- */
.topBtn {
position:fixed; /*固定*/
bottom:20px; /*場所を右下に移動*/
right:10px; /*場所を右下に移動*/
z-index: 99;
}

}
/*●●●●●●●●●●●●●●●●●●●●●●　スマホここまで　●●●●●●●●●●●●●●●●●●●●●●*/












/* ----------------------------------------
#　スマホメニュー
---------------------------------------- */
#mobi_menu {
width: 30px;
position: fixed;
z-index: 9999;
top: 10px;
left: 10px;
}

nav:not(.mm-menu) {
display: none;
}

.header{
text-align: left;
}

.header {
font-size: 16px;
font-weight: bold;
color: #fff;
line-height: 40px;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 50px;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
background-color: #016BAD;
}

.header.fixed {
position: fixed;
top: 0;
left: 0;
}

.header a{
display: flex;
width: 50px;
height: 50px;
top: 0;
left: 0;
padding: 10px;
flex-direction: column;
justify-content: center;
}

.header a:before,
.header a:after{
content: '';
display: block;
background: #fff;
height: 4px;
}

.header a span{
background: #fff;
display: block;
height: 4px;
margin: 6px 0;
}

div.nav a {
position: relative;
text-decoration: none;
}

div.nav li a:hover{
opacity: 1;
color: #333;
}

div.nav a:hover:after {
  transform: scale(1, 1);
}
