@charset "utf-8";
/* ----------------------------------------
レイアウト
------------------------------------------- */
body {
color: #000;
font-size: 16px;
line-height: 2.0;
background: #fff;
font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
/*font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;*/
word-wrap: break-word;
height: 100%;
margin: 0;
padding: 0;
}

main {width: 100%;}
section{padding: 6em 0;}
/*#subPage {background:#fff;}*/
#subPage section{padding: 3em 0;}

.wrap_s {
width: 1000px;
max-width:100%;
margin:0 auto;
}
.wrap {
width: 1200px;
max-width:100%;
margin:0 auto;
}
.wrap_w {
width: 1400px;
max-width:100%;
margin:0 auto;
}

.inner {padding:1.5em;}

/*-------------------------------
BOX
-------------------------------*/
.box_bg {
padding: 3%;
background: #edf5ff;
border-radius: 10px;
}
.box_border {
background: #fff;
border: #ffe3e3 10px solid;
border-radius: 10px;
padding: 1.5em 2em;
}

/*-------------------------------
BOX::after
-------------------------------*/
.box_af{
position: relative;
display: flex;
z-index: 1;
margin-top: 40px;
}
.box_af::after {
content: '';
position: absolute;
background:#f1f1f1;
width: 150%;
height: 100%;
top: 0px;
right: 0;
z-index: -1;
}
.box_border_af{
position: relative;
display: flex;
z-index: 1;
margin-top: 40px;
}
.box_border_af::after {
content: '';
position: absolute;
background: #ffffff;
border: #eef3ec 15px solid;
width: 150%;
height: 100%;
top: 0px;
left: 0;
z-index: -1;
}
.box_af .txt{
padding:2em 2em 2em 2em;
}
.z3 {
position: relative;
width: 60vw;
text-align: right;
top: -10px;
z-index: 3;
}
.flexbox.reverse .box_af::after{
left: 0;
}

@media screen and (max-width:1500px) {
.wrap_w{width:1200px;margin: 0 auto;}
}

@media screen and (max-width:1280px) {
.wrap_w,.wrap,.wrap_s{width: 90%;margin: 0 auto;}
}

@media screen and (max-width:768px) {
body {font-size: 15px;}
section {padding:4em 0;}
/*#subPage section{padding: 3em 0;}*/
.inner {padding:2% 3%;}
.txt_box {padding:2%;}
.box_bg {padding:3%;}
.box_border {padding:3%;}
.box_af {margin-top: 0px;}
}

@media screen and (max-width:599px) {
section {padding: 4em 0;}
}

/*-------------------------------
BTN
-------------------------------*/
.btn_more a {
font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", YuGothic, sans-serif;
color: #ed1c24;
border: #ed1c24 1px solid;
background-color: transparent;
margin: 1em auto 0;
padding: 0.8em 1.6em 0.8em 0.8em;
line-height: 1;
letter-spacing: 0.1em;
width: 300px;
max-width: 90%;
font-weight: normal;
text-align: center;
text-decoration: none;
clear: both;
display: block;
border-radius: 0;
}
.btn_more a:hover {
opacity: 0.9;
color: #fff;
background-color:#ed1c24;
}
.btn_more a:before {
content: "\f138";
content: "\f178";
content: "\f101";
content: "\f105";
font-family: FontAwesome;
margin-right: 1.2em;
}

/* ----------------------------------------
title
------------------------------------------- */
h1,h2,h3,h4{
font-weight: 600;
line-height: 1.5;
letter-spacing: 1px;
font-feature-settings: "palt";/*文字詰め*/
}
.title_top{/*HOMEタイトル*/
font-family: impact;
color: #000;
font-size: 65px;
padding: 0px 50px 0px;
margin: 0 auto 0.5em;
width: 700px;
max-width: 100%;
height: auto;
background: url(../img/title_top_bg.png) center center no-repeat;
background-size: contain;
line-height: 1.2;
letter-spacing: 4px;
font-weight: normal;
text-align: center;
clear: both;
display: block;
}

.title_top .small{
display: block;
font-size: 18px;
}

.title_top_harf{/*HOMEタイトル*/
font-family: "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", sans-serif;
font-size: 38px;
border-bottom: #cedff3 10px solid;
padding: 0.5em 0;
margin-bottom: 0.6em;
line-height: 1.6;
font-weight: bold;
}
@media screen and (max-width:768px) {
.title_top_img-01{
width: 42vw;
}
}

/* ----------------------------------------
sub_title
------------------------------------------- */
.title_a{
font-size: 120%;
border-bottom: #ed1c24 5px solid;
padding: 1em 0 0.5em;
margin-bottom: 1em;
line-height: 1.4;
letter-spacing: 2px;
font-weight: bold;
}
.title_b{
font-size: 190%;
border-bottom: #cedff3 10px solid;
padding: 0.5em 0;
margin: 0.5em auto;
line-height: 1.4;
font-weight: bold;
}
.title_c{
font-size: 120%;
background:#ed1c24;
color: #fff;
font-weight: normal;
line-height: 1.6;
padding: 0.6em 0.5em 0.5em;
margin-bottom: 1.5em;
border-radius: 5px;
box-shadow: #999 1px 1px 1px;
}
.title_c:before {
content: "\f184";
content: "\f260";
content: "\f299";
content: "\f069";
content: "\f142";
font-family: FontAwesome;
font-weight: normal;
padding: 0 1em;
}
.title_d {
font-size: 180%;
color: #ed1c24;
border-bottom: #ed1c24 5px dotted;
padding: 0.5em 0;
margin-bottom: 0.6em;
line-height: 1.6;
font-weight: bold;
}
.title_d:before {
content: "\f211";
content: "\f265";
font-family: FontAwesome;
font-weight: normal;
padding: 0 0.7em 0 0.3em;
}
.title_e{
font-size: 190%;
padding: 10px 50px 20px;
margin: 0 auto 0.7em;
width: 700px;
max-width: 100%;
height: auto;
background: url(../img/title_bg.png) center center no-repeat;
background-size: contain;
line-height: 1.4;
letter-spacing: 3px;
font-weight: 600;
text-align: center;
clear: both;
display: block;
}

@media screen and (max-width:1024px) {
.title_top,.title_top_harf{font-size: 48px;}
.title_a,.title_b{font-size:20px;text-align: center;}
.title_c{
font-size: 120%;
font-weight: normal;
padding:0.5em;
}
.title_d {
font-size: 140%;
font-weight: bold;
padding: 0.2em 0 0.5em;
}
.title_e{font-size: 125%;font-weight: bold;padding: 0.6em 0.5em 0.5em;}
}
@media screen and (max-width:599px) {
.title_top{
/*background-position: center bottom;*/
font-size: 36px;
padding: 0px 8vw 0;
letter-spacing: 1px;
line-height: 1.3;
}
.title_top .small{
font-size: 50%;
}
.title_top_harf{
font-size: 5vw;
}
.title_d {font-size: 120%;}
}

@media only screen and (min-width: 769px) {
.title_c .pc-tb {display: inline-block !important;}
}
@media only screen and (min-width:600px) and (max-width:768px)  {
.title_c .pc-tb {display: inline-block !important;}
}
@media only screen and (max-width:599px) {
.title_c .pc-tb {display: none !important;}
}

/* ----------------------------------------
font
------------------------------------------- */
.font-min {font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;}
.font-go {font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;}
.font-robot{font-family: 'Roboto', sans-serif;}
.font-maru{font-family: 'Kosugi Maru', sans-serif;}

/*------------------------------------------
color
------------------------------------------*/
.red {font-weight: bold;color: #ed1c24;}
.blue {font-weight: bold;color: #006699;}
.gold {font-weight: bold;color: #b39469;}
.clr-1 {color: #ed1c24;}
.clr-2 {color: #0c2b64;}
.bgclr-1 a {background-color: #ed1c24;}
.bgclr-2 a {background-color: #0c2b64;}
.bgclr-3 a {background-color: #efefef;}

/*-------------------------------
背景
-------------------------------*/
.bg-0 {background: rgba(255,255,255,0.4);}
.bg-1 {background: #efefef;}
.bg-2 {background: #efefef url(../img/bg-2.png) repeat top center scroll;background-size: cover;}
.bg-3 {background: #f4eee2 url(../img/bg-3.png) repeat top center scroll;}
.bg-4 {background: #efefef url(../img/bg-4.png) repeat top center scroll;}
.bg-5 {background: #fffdf2 url(../img/bg-5.png) repeat top center scroll;;}
.bg-c {background: #f8f0d7 url(../img/bg-c.png) repeat top center scroll;}
.bg-s {background: #e4f3fd url(../img/bg-s.png) repeat top center scroll;}
.bg-w {background: #ffffff;}
.bg-b {background: #000;}
.rgba{background: rgba(0,0,0,0.2);}

@media screen and (max-width:1024px) {
.bg-2 {
background-size: auto;
}
}

/*-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
■　スライドショー画像
@media screen and (max-width:1024px) {※以下：タブレットのみ}
@media screen and (max-width:599px) {※以下：スマホのみ}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++　--*/

#index_top {
height: 100%;
width: 100%;
position: relative;
overflow: hidden;
min-height: 850px;
background: rgba(0, 0, 0, 0.0);
}

/*-- 【画像の場合】　--*/
#index_top #top_catch {
color: #FFF;
/* background-color: rgba(255, 255, 255, 0.6); */
position: absolute;
top: 60%;
left: 50%;
z-index: 10;
height: fit-content;
width: 1000px;
max-width: 100%;
margin-left: -500px;
margin-top: -210px;
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-flex-flow: column;
flex-flow: column;
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
}
#index_top #top_catch h2 {
text-align: center;
font-size: 36px;
font-family: "Noto Serif JP", serif;
font-weight: normal;
line-height: 1.5;
letter-spacing: 0.1em;
padding: 50px;
}
#top_catch img {
max-width: 100% !important;
height: auto;
width: auto;
margin-left: auto;
margin-right: auto;
}
#index_top #top_catch p {
text-align: center;
font-size: 20px;
font-weight: bold;
letter-spacing: 1px;
line-height: 2.4;
}
#index_top #top_catch p span.bg {
color: #fff;
font-size: 20px;
letter-spacing: 0.1em;
background: #32b16c;
margin: 10px;
padding: 0.2em 1.4em;
border-radius: 50px;
text-shadow: #666 0px 0px 0px;
}
/*-- *************　--*/

/*-- 【テキストの場合】
#index_top #top_catch{
background-color: rgba(255, 255, 255, 0.7);
box-shadow: rgba(0, 0, 0, 0.2) 10px 10px 0px;
padding:50px;
height: fit-content;
width: fit-content;
min-width: 800px;
margin-left: -400px;
margin-top: -210px;
position: absolute;
top: 64%;
left: 50%;
z-index: 10;
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-flex-flow: column;
flex-flow: column;
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
}
#index_top #top_catch h2{
color: #fff;
text-shadow: #333 2px 2px 2px;
font-size: 38px;
line-height: 1.2;
text-align: center;
padding: 0 0 0.5em 0;
font-weight: bold;
letter-spacing: 0.2em;
}
#index_top #top_catch .index_top_logo{
max-width: 80%;
width: 300px;
}
*************　--*/

/*-- scroll --*/
.scroll {
height: 30%;
max-height: 500px;
width: 100%;
position: absolute;
bottom: 65px;
/*bottom: 0px;*/
}
.scroll .sc_btm a {
font-size: 14px;
color: #fff;
background: rgb(0 100 0);
height: 100px;
width: 100px;
display: block;
line-height: 1.2;
-webkit-border-radius: 50px;
-moz-border-radius: 50px;
text-decoration: none;
letter-spacing: 2px;
position: absolute;
bottom: -50px;
left: 50%;
margin-right: auto;
margin-left: -50px;
z-index: 80;
text-align: center;
padding-top: 20px;
}
.scroll .sc_btm a:hover {
height: 110px;
width: 110px;
border-radius: 55px;
-webkit-border-radius: 55px;
-moz-border-radius: 55px;
margin-top: -10px;
margin-left: -55px;
}

/*-- infobar --*/
.infobar {
position: absolute;
bottom: 0px;
width: 100%;
background: #ed1c24;
}
.infobar .cont {
width: 800px;
max-width: 100%;
border-radius: 5px;
margin: 0 auto;
padding: 14px;
}
.infobar p {
text-align: center;
line-height: 1.6;
border-radius: 5px;
background: #fff;
padding: 5px;
letter-spacing: 1px;
}
.infobar p span{
color: #ed1c24;
font-weight: bold;
}

@media screen and (max-width:1024px) {
#index_top {
height: 100%;
width: 100%;
min-height: 300px;
}
#index_top #top_catch {
max-width: 100%;
width: 700px;
top: 65%;
margin-left: -350px;
}
#top_catch img {
max-width: 80% !important;
height: auto;
width: auto;
margin-left: auto;
margin-right: auto;
}
.infobar .cont {
width: 500px;
}
}

@media screen and (max-width:599px) {
#index_top {
height: 100%;
width: 100%;
min-height: 300px;
}
#index_top #top_catch {
top: 25%;
left: 15%;
width: 90%;
height: 50%;
margin-top: 0px;
margin-left: -10%;
}
.scroll {
bottom: 85px;
}
}

/*------------------------------------------
【HOME・下層】NEWS
------------------------------------------*/
/*--【HOMEのみ】--*/
section#news {
margin-top: -35px;
padding: 5em 0;
}
.homeNews {    
max-height: 300px;
overflow: auto;
margin: 0 auto;
padding: 0px 0px;
/*background: #ffffff;
border: #fff 20px solid;*/
border-radius: 10px;
font-size: 96%;
}
.homeNews .newsBox {
margin: 0 auto;
}
/*-- 縦並び 
.homeNews dl.article {display: block;}
.homeNews dl.article dd {width: 100%;}
.homeNews dl.article dt {width: 100%;margin: 0;}
--*/

/*--【HOME・下層 共通】--*/
dl.article {
display: flex;
justify-content: flex-start;
align-items: flex-start;
line-height: 2.0;
border-bottom: #666666 1px dotted;
flex-direction: row;
flex-wrap: nowrap;
align-content: flex-start;
padding:1.3em 0;
/*padding-bottom: 0;*/
}
dl.article dt {
width: 18%;
padding: 0;
/*margin-bottom: 1em;*/
}
dl.article dd {
width: 82%;
margin: 0;
text-align: left;
}
dl.article dt:before {
color: #ed1c24;
content: "\f298";
content: "\f274";
content: "\f138";
font-family: FontAwesome;
padding-right:0.5em;
}

/*--記事--*/
dl.article dd .news_text {}

/*--タイトル--*/
dl.article dd h1,
dl.article dd h2,
dl.article dd h3,
dl.article dd h4,
dl.article dd h5,
dl.article dd h6{
font-weight: bold;
line-height: 2.0;
margin: 0;
padding: 0;
}
dl.article dd h1{font-size: 140%;}
dl.article dd h2{font-size: 130%;}
dl.article dd h3{font-size: 120%;}
dl.article dd h4{font-size: 100%;}
dl.article dd h5{font-size: 100%;}
dl.article dd h6{font-size: 100%;}

dl.article dd h4.news_title,
dl.article dd h4.news_title a, 
dl.article dd h4.news_title a:hover, 
dl.article dd h4.news_title a:visited {
color: #000;
font-size: 100%;
font-weight: bold;
letter-spacing: 2px;
text-decoration: none;
/*padding-bottom: 0.5em;*/
margin-bottom: 0em;
}
dl.article dd h4.news_title a:hover {
opacity: 0.9;
text-decoration: underline;
}
dl.article dd .tag{
color: #FFF;
font-size: 80%;
background-color: #ed1c24;
padding: 3px 10px;
margin-right: 2em;
font-weight: normal;
}
dl.article dd .お知らせ{background-color: #ed1c24;}
dl.article dd .tag02{background-color: #f29b76;}
dl.article dd .tag03{background-color: #84ccc9;}
dl.article dd .その他{background-color: #89c997;}

/*--画像--*/
dl.article dd .flexbox {
-webkit-justify-content: space-between;
align-content: flex-start;
align-items: stretch;
flex-direction: row;
justify-content: flex-start;
}
dl.article dd img {
max-width: 100%;
margin: 10px auto;
}

/*--記事詳細（detailのみ）--*/
.news_detail dl.article {
padding: 1em 1em 1em;
border-bottom: #666666 1px dotted;
display: flex;
flex-flow: row wrap;
width: 96%;
margin: 0 auto;
}
.news_detail dl.article dt {width: 100%;padding: 0;}
.news_detail dl.article dd {width: 100%;}
.news_detail dl.article dt:before {display: none;}
.news_detail dl.article dd h4.news_title {
font-size: 120%;
color: #333;
font-weight: bold;
text-decoration: none;
padding-bottom: 1em;
margin-bottom: 1em;
border-bottom: #efefef 10px solid;
}

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

dl.article {
display: flex;
flex-flow: row wrap;
width: 100%;
margin: 0 auto;
padding:0.5em;
}
dl.article dt {width: 100%;padding: 0;margin-bottom: 0;}
dl.article dd {width: 100%;}
dl.article dd h4.news_title {}
/*dl.article dt:before {display: none;}*/
}

@media screen and (max-width: 599px) {
dl.article dd .tag {
padding: 0px 10px;
margin-right: 1em;
display: table;
}
}
/*------------------------------------------
【下層】　個人情報保護方針
------------------------------------------*/
.privacy dl dt{
border-bottom: #ed1c24 1px dotted;
color: #ed1c24;
font-size: 110%;
font-weight: bold;
margin: 1em auto;
padding: 8px 20px 5px 0;
}
.privacy dl dt:before{
content: "■ "
}
/*------------------------------------------
【下層】　サイトマップ
------------------------------------------*/
.sitemap_links a{
color: #333;
line-height: 1.6;
text-decoration: none;
padding: 1em;
display: block;
border-bottom: #333 1px dotted;
}
.sitemap_links a:before{
content: "\f138";
font-family: FontAwesome;
margin-right: 1.2em;
color: #ed1c24;
font-size: 100%;
}
.sitemap_links a:hover{
opacity: 0.8;
}
/*------------------------------------------
【共通】footer_info
------------------------------------------*/
section#info {
background:#1a7fcd url(../img/footer_info_bg.jpg) repeat-x center top scroll;
/*background-size: cover;*/
padding:0;
}
/*#info .overlay {
background: rgba(0,0,0,0.4);
background: rgb(0 104 183 / 30%);
color: #fff;
}*/
#info .wrap{
padding:4em 0 3em;
}
#info .info_title{
display: block;
margin: 0 auto;
width: auto;
max-width: 80%;
}
#info .logo_footerinfo{
width: auto;
max-width: 100%;
margin-bottom: 15px;
}
#info .info_name{
font-size: 42px;
color: #fff;
padding: 10px 0;
}
#info .info_txt{
color: #fff;
padding: 8px 0;
margin: 0;
line-height: 1.8;
}
#info ul.info_txt li {
padding: 3px 0;
}
/* INFO SET */
#info .info_set_bg {
text-align: center;
width: 740px;
max-width: 100%;
margin: 0px auto 0;
padding: 50px 30px 50px 0;
border-radius: 10px;
background: url(../img/info_set_bg.png) no-repeat top center scroll;
background-color: rgb(255 255 255 / 40%);
background-size: contain;
}
#info .info_set_bg .info_txt{
color: #333;
padding:0;
margin: 0;
line-height: 1.4;
}

/* TEL */
#info .info_tel01 a,
#info .info_tel02 a{
font-family: impact;
font-weight: bold;
padding: 0;
margin: 5px auto;
line-height: 1.2;
letter-spacing: 2px;
}
#info .info_tel01 a {
color: #ffffff;
font-size: 48px;
}
#info .info_tel02 a {
color: #fff;
font-size: 36px;
}
#info .info_tel01 a i{
transform: skew(30deg, -30deg);
display: inline-block;
font-size: 100%;
vertical-align: top;
padding-left: 6px;
}

/* BTN */
#info .btn_more a {
max-width: 100%;
width: 560px;
color: #FFF;
margin: 10px auto 0;
padding: 22px 20px;
line-height: 1.0;
font-weight: normal;
font-size: 110%;
text-align: center;
text-decoration: none;
display: block;
border-radius: 80px;
border: #fff 2px solid;
background-color:#ed1c24;
/* background: linear-gradient( #31b2ed 0%, #02a1e9 100%); */
/* box-shadow: #ffffff 2px 2px 0px; */
}
#info .btn_more a:hover {
/*opacity: 0.85;*/
background-color:#03a9f4;
}
#info .btn_more a:before {
content: "";
font-family: FontAwesome;
margin-right: 1.2em;
color: #fff;
font-size: 100%;
}
@media screen and (max-width:1024px) {
section#info {
background:#1a7fcd url(../img/footer_info_bg.jpg) repeat-x center top scroll;
background-size: cover;
}
}
@media screen and (max-width:768px) {
section#info {
background: #1a7fcd url(../img/footer_info_bg.jpg) repeat-x center bottom scroll;
background-size: cover;
}
section#info .wrap {
font-size: 14px;
padding: 3em 0 3em;
}
section#info .wrap .w50{
padding: 12px 0;
}
#info .info_title {
width: 450px;
max-width: 80%;
}
#info .info_set_bg {
text-align: center;
width: auto;
max-width: 80%;
margin: 1em auto 0;
padding: 4vw;
border-radius: 10px;
background: unset;
background-size: contain;
background-color: rgb(255 255 255 / 80%);
}
#info .info_tel01 a,
#info .info_tel02 a{
letter-spacing: 1px;
}
#info .btn_more a {
max-width: 100%;
font-size:110%;
margin: 0.5em auto 0em;
padding: 1.5em 0.5em;
border-radius: 60px;
}
}

@media screen and (max-width:599px) {
#info .info_set_bg {
max-width: 90%;
padding:30px 20px;
}
#info .info_tel01 a{font-size:8.5vw;}
#info .info_tel02 a{font-size:5.5vw;}
}

/*------------------------------------------
【共通】Google map
------------------------------------------*/
/*googlemap彩度*/
.googlemap iframe,
.googlemap object,
.googlemap embed {
width: 100%;
height: 400px;
-webkit-filter: saturate(60%);
filter: saturate(60%);
-webkit-transition: all 0.7s ease;
transition: all  0.7s ease;
}
.googlemap iframe:hover,
.googlemap object:hover,
.googlemap embed:hover {
-webkit-filter: saturate(90%);
filter: saturate(90%);
}

/*-------------------------------------------
【共通】footer
-------------------------------------------*/
footer {
background-color: #fff;
clear: both;
width: 100%;
display: block;
padding: 0;
margin: 0;
}
footer .wrap{
margin: auto;
padding: 3em 0 3em;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
align-content: flex-start;
align-items: stretch;
flex-direction: row;
justify-content: space-between;
}

/* footer box */
footer .f_box {
/*width: 18%;*/
padding:0;
}
footer .lg {
width: 40%;
}
footer .f_box p {
font-size: 14px;
line-height: 1.4;
padding: 5px 0;
}
footer .f_box p.logo_footer {
font-size: 140%;
font-weight: bold;
margin-bottom: 10px;
}
footer .f_box p.logo_footer img {
width: auto;
}

/* footer link */
footer ul.f_link li a {
display: block;
text-decoration: none;
font-size: 14px;
color: #333;
text-align: left;
padding:0.5em 1em 0.5em 0;
border-bottom: #ccc dotted 1px;
}
footer ul.f_link li a::before {
color:#ed1c24;
content: "\f138";
font-family: FontAwesome;
padding-right: 0.5em;
}
footer ul.f_link li a:hover {
opacity: 0.8;
}

address {
background: #ed1c24;
color: #fff;
font-size: 12px;
font-style: normal;
padding:1em 0;
text-align: center;
letter-spacing: 1px;
}

@media screen and (max-width:768px) {
footer .wrap {
display: block;
width: 100%;
padding: 0;
margin: 0 auto;
}
footer .f_box {
width: 100%;
padding: 0;
}
footer .lg {
width: 100%;
padding: 2em;
}
footer ul.f_link{
background: #ed1c24;
}
footer ul.f_link li a {
font-size: 14px;
color: #333;
border-top: #ed1c24 1px solid;
border-bottom: unset;
padding: 0.8em 2em;
display: block;
text-decoration: none;
text-align: left;
background:#efefef;
}
footer ul.f_link li a:hover{
background: rgba(255,255,255,0.98);
/*color: #fff;*/
}
}

/*------------------------------------------
【共通】bnr-01
------------------------------------------*/
section.bnr-01 {
}
.bnr-01 .flexbox {
width: 100%;
margin: auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
align-content: space-around;
align-items: stretch;
flex-direction: row;
justify-content: space-between;
}
.bnr-01 .w50 {
width: 50%;
}

@media screen and (max-width:768px) {
.bnr-01 .flexbox {display: block;}
.bnr-01 .w50 {width: 100%;}
.bnr-01 img{
width: 450px;
max-width: 90%;
}
}

/*------------------------------------------
【共通】bnr-02
------------------------------------------*/
section.bnr-02 {
padding: 3em 0;
}
.bnr-02 ul.flexbox {
width: 100%;
margin: auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
align-content: space-around;
align-items: stretch;
flex-direction: row;
justify-content: space-between;
}
.bnr-02 ul.flexbox li {
width: 46%;
margin: 2%;
}

@media screen and (max-width:768px) {
section.bnr-02,
#subPage section.bnr-02 {
padding: 1em 0;
}
.bnr-02 ul.flexbox {display: block;}
.bnr-02 ul.flexbox li {
width: 450px;
max-width: 100%;
margin: 3em auto;
}
}

/*-------------------------------------------
TOPへ戻る
-------------------------------------------*/
.to_top {
position: fixed;
bottom: 0px;
right: 0px;
z-index: 800;
}
.to_top a {
background-color: #ed1c24;
color: #fff;
text-decoration: none;
text-align: center;
display: block;
width: 60px;
height: 60px;
font-size: 30px;
line-height: 60px;
}
.to_top a:hover {
opacity: 0.9;
}