@charset "UTF-8";

html {
    width: 100%;
    font-size: 10px;
}
body {
    width: 100%;
    font-size: 12px;
    background: #fff;
    color: #251e1c;
    font-family: "メイリオ", "Meiryo", sans-serif;
}
#page_top {
    position: fixed;
    right: 0;
    bottom: 20px;
}
#page_top a {
    display: block;
    color: #fff;
    font-size: 13px;
    text-align: center;
    background: #c40018;
    padding: 0 15px 7px;
    border-radius: 10px 0 0 10px;
    line-height: 1.2em;
}
#page_top a i { font-size: 28px; display: block; }

/*--------------------------------------------------------------------------------
　▼ 共通　
--------------------------------------------------------------------------------*/
.inner_box {
    max-width: 1200px;
    margin: 0 auto;
}
.inner_box02 {
    max-width: 1056px;
    margin: 0 auto;
}

a:visited {
    color: #0071bc;
    text-decoration: none;
}
a:link {
    color: #0071bc;
    text-decoration: none;
}
li { list-style: none;}

#contents_main img { width: 100%;}
.for_pc { display: block;}
.for_sp { display: none;}

/*--------------------------------------------------------------------------------
　▼ mobile_header
--------------------------------------------------------------------------------*/
#mobile_header { display: none;}


/*--------------------------------------------------------------------------------
　▼ header
--------------------------------------------------------------------------------*/
#header {
    display: block;
    width: 100%;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1999;
}
#header .inner_box {
    display: block;
    width: 100%;
    padding: 10px 0;
    font-size: 0;
}
#header h1.logo {
    display: inline-block;
    width: 25%;
    vertical-align: middle;
    margin: 0;
    font-size: 2em;
}
#header .sns ul.ul_sns li.link a {
    box-sizing: border-box;
    display: block;
    color: #fff;
    background-color: #00a0e9;
    border-radius: 12px;
    padding: 6px 12px;
    font-size: 12px;
    line-height: 1;
}
#header .sns ul.ul_sns li.link a:before {
    font-family: 'Fontawesome';
    content: '\f090';
    margin-right: 3px;
}
#header .sns {
    display: inline-block;
    width: 75%;
    padding-left: 5%;
    text-align: right;
    vertical-align: middle;
}
#header .sns ul.ul_sns li {
    padding: 0 0 0 10px;
    vertical-align: middle;
}
/*
#header .sns ul.ul_sns li:first-child { padding-right: 40px;}
*/
#header .sns ul.ul_sns li img {
    width: 30px;
    vertical-align: bottom;
    border-radius: 6px;
}
#header.header_trans { background: rgba(255, 255, 255, 0.75);}

/*--------------------------------------------------------------------------------
　▼ nav　
--------------------------------------------------------------------------------*/
#header .nav { background: #0ebdc9; box-shadow: 0 2px 2px #aaa;}
#header.header_trans .nav { background: rgba(14, 189, 201, 0.75);}
#header .nav .inner_box { padding: 0;}
.nav ul { text-align: center;}
.nav ul li {
    width: auto;
    padding: 5px 0;
    position: relative;
    text-align: center;
    vertical-align: top;
}
.nav ul li:first-child a{ border-left: 1px solid #efefef;}
.nav ul li a {
    display: block;
    font-size: 12px;
    padding: 3px 25px !important;
    text-decoration: none;
    color: #fff;
    border-right: 1px solid #efefef;
    letter-spacing: 0.08em;
}
.nav ul li ul {
    display: none;
}
.nav ul li:hover ul {
    display: block;
    width: auto;
    z-index: 99999;
    position: absolute;
    top: 32px;
    right: 50%;
    padding-left: 0;
}
.nav ul li ul li:first-child a { border-left: none;}
.nav ul li ul li {
    display: block;
    width: 100%;
    height: auto !important;
    z-index: 99999;
    padding: 0 !important;
    border-right: none;
    background: #0ebdc9;
    right: -50%;
    min-width: 150px;
}
.nav ul li ul li:last-child { width: 100%; border: none;}
.nav ul li ul li a {
    width: 100%;
    padding: 4px 5px !important;
    border-top: 1px solid #fff;
    color: #fff;
    z-index: 99999;
    border-right: none;
    font-weight: normal;
    font-size: 11px;
}
.nav ul li ul li a:hover { opacity: 0.8;}
.nav ul li ul li:first-child a { border-top: none;}


/*--------------------------------------------------------------------------------
　▼ #contents
--------------------------------------------------------------------------------*/
#contents.other { padding-top: 84px;}
/*#contents.other { padding-top: 20px;}*/


/*--------------------------------------------------------------------------------
　▼ scroll_banner
--------------------------------------------------------------------------------*/
#scroll_banner {
    padding: 40px 0;
    background: rgba(127, 191, 209, 0.11);
}
#scroll_banner ul.slick-slider {
    padding: 0;
    margin: 0 auto 30px;
}
#scroll_banner .slick-track li.slick-slide img { margin: 0 auto;}
.slick-prev { left: -24px !important; top:45%;}
.slick-next { right: -29px !important; top:45%;}
#scroll_banner .more_link {
    width: 100%;
    margin: 0 auto 40px;
    text-align: center;
}
#scroll_banner .more_link a {
    display: inline-block;
    background: #7fbfd1;
    color: #fff;
    text-align: center;
    text-decoration: none;
    min-width: 250px;
    padding: 5px 30px;
    border-radius: 5px;
    font-size: 18px;
    margin: 0 auto;
}


/*--------------------------------------------------------------------------------
　▼ footer
--------------------------------------------------------------------------------*/
#footer {
    background-image: url("../img/bg_footer.png");
    background-position: top center;
    background-size: cover;
    color: #3f3d3e;
    padding: 110px 0 30px;
}
#footer .fl_box {
    float: left;
    width: 32%;
    vertical-align: top;
    padding: 0 15px;
}
#footer .logo_footer { width: 78%;}
#footer .address {
    color: #3f3c3c;
    padding-top: 10px;
}
#footer .sns_footer { padding: 15px 0;}
#footer .sns_footer ul li {
    padding: 0 15px 0 0;
    border: none;
    width: auto;
}
#footer .sns_footer ul li:first-child { width: auto; padding: 0 15px 0 0;}
#footer .sns_footer ul li img { width: 34px; border-radius: 6px;}
#footer .fr_box {
    float: right;
    width: 68%;
    vertical-align: top;
}
#footer .footer_link {
    display: table;
    width: 100%;
    padding: 0;
}
#footer .footer_link .in_box {
    display: table-cell;
    width: 17%;
    padding: 0 10px;
    vertical-align: top;
    border-left: 1px solid #7db8c0;
}
#footer ul.footer_nav {
    margin: 0;
    padding: 15px 0 0;
}
#footer ul.footer_nav li {
    display: block;
    width: 100%;
    padding: 0;
    border: none;
}
#footer ul.footer_nav li:first-child { width: auto; padding: 0;}

#footer ul.footer_nav li a {
    display: block;
    color: #3f3d3e;
    text-decoration: none;
}
#footer .contact_footer a {
    width: 200px;
    display: block;
    background: #000;
    color: #fff;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
}
#copy {
    background: #0ebdc9;
    padding: 30px 0;
    font-size: 12px;
    color: #fff;
    text-align: center;
}


.contents_main img { font-size: 0;}

/*--------------------------------------------------------------------------------
　▼ パンくずリスト　
--------------------------------------------------------------------------------*/
#contents #pan {
    padding: 10px 0;
    font-size: 0;
}
#contents.other #pan { border-bottom: none;}
#bredclumb li,#bredclumb li a { font-size: 12px;}
ul.pankuzu {
    list-style: none;
    display: block;
    padding: 0;
}
ul.pankuzu li {
    display: inline-block;
    padding-right: 10px;
    font-size: 12px;
    color: #020202;
}
ul.pankuzu li a { color: #0071bc; text-decoration: none;}
ul.pankuzu li a:hover { text-decoration: underline;}
ul.pankuzu li:before {
    display: inline;
    content: ">";
    padding-right: 10px;
    color: #020202;
}
ul.pankuzu li:first-child:before { display: none;}
ul.pankuzu li:first-child {
    background-image: url(../img/box_img.png);
    background-size: 30px 17px;
    background-repeat: no-repeat;
    background-position: left top;
    padding-left: 40px;
}
/*--------------------------------------------------------------------------------
　▼ カテゴリ
--------------------------------------------------------------------------------*/
.category.category-1{ background-color: #789dda !important;}
.category.category-2{ background-color: #a4804b !important;}

.category.category-5{ background-color: #82cddd !important;}
.category.category-4{ background-color: #00afcc !important;}
.category.category-8{ background-color: #00a1e9 !important;}
.category.category-3{ background-color: #68a4d9 !important;}
.category.category-9{ background-color: #4496d3 !important;}

.category.category-15{ background-color: #79c06e !important;}
.category.category-20{ background-color: #9fc24d !important;}
.category.category-19{ background-color: #a7d28d !important;}

/*--------------------------------------------------------------------------------
　▼ トップ以外
--------------------------------------------------------------------------------*/
#main {
    display: block;
    width: 1056px;
    margin: 0 auto;
    padding: 10px 0 150px;
    position: relative;
}
#main:after {
    display: block;
    content: "";
    clear: both;
}
#main #main_contents {
    float: left;
    width: 76%;
    padding-right: 5%;
}
#main h2.page_title {
    font-size: 22px;
    font-weight: bold;
    padding: 15px 0 0 30px;
    margin-bottom: 30px;
    line-height: 1;
    background-image: url(../img/title_left.png);
    background-size: contain;
    background-position: top left;
    background-repeat: no-repeat;
}
#main h2.page_title.page_title02 { background-image: url(../img/title_left02.png);}
#main h2.page_title.page_title03 { background-image: url(../img/title_left03.png);}
#main h2.page_title.page_title04 { background-image: url(../img/title_left04.png);}
#main h2.page_title.page_title05 { background-image: url(../img/title_left05.png);}
#main h2.page_title.page_title06 { background-image: url(../img/title_left06.png);}
#main h2.page_title.page_title07 { background-image: url(../img/title_left07.png);}
#main #side {
    position: relative;
    float: left;
    width: 24%;
}
#main #side .side_inner { width: 245px; display: block;}
#main #side h3 {
    margin: 0;
    font-size: 18px;
    font-weight: normal;
    color: #5789c8;
    padding: 30px 0 10px;
    border-bottom: 3px solid #5789c8;
}
#main #side ul li {
    padding: 10px 15px;
    border-bottom: 1px dotted #251e1c;
}
#main #side ul li:before {
    display: inline-block;
    content: "＞";
    color: #a61527;
}
#main #side ul li a { color: #251e1c;}
#main #side .side_border {
    border: 1px solid #5789c8;
    color: #5789c8;
    padding: 20px;
    margin-top: 80px;
    border-radius: 5px;
}
#main #side .side_border .tel { font-size: 17px;}

#main > .header {
    overflow: hidden;
    margin-top: 30px;
    padding: 8px 0 0 12px;
    border-left: 4px solid #004f9e;
}
#main > .header h1 {
    float: left;
    font-size: 2.6rem;
    margin: 0 20px 0 0;
    line-height: 1.75;
    font-weight: bold;
}
#main > .header p { margin: 0;}
#main > .header h2 {
    float: left;
    font-size: 2rem;
    margin-top: 10px;
}
#main > .header h2:before,
#main > .header h2:after {
    content: '～';
}
#main> .header  h1:before {
    content: none;
}
#main .section h1 > i, #main .article h1 > i {
    font-size: 1.4rem;
    margin-right: 7px;
    -webkit-animation: spin 4s linear infinite;
    -moz-animation: spin 4s linear infinite;
    -ms-animation: spin 4s linear infinite;
    -o-animation: spin 4s linear infinite;
    animation: spin 4s linear infinite;
}

#main .article { padding-top: 15px;}
@-webkit-keyframes spin {
    0% {-webkit-transform: rotate(0deg);}
    100% {-webkit-transform: rotate(360deg);}
}
@-moz-keyframes spin {
    0% {-moz-transform: rotate(0deg);}
    100% {-moz-transform: rotate(360deg);}
}
@-ms-keyframes spin {
    0% {-ms-transform: rotate(0deg);}
    100% {-ms-transform: rotate(360deg);}
}
@-o-keyframes spin {
    0% {-o-transform: rotate(0deg);}
    100% {-o-transform: rotate(360deg);}
}
@keyframes spin {
    0% {transform: rotate(0deg);}
    100% {transform: rotate(360deg);}
}