﻿/* ---------------------- color */

/* メインカラー */
.txt_color1{color: #007399} 
.bg_color1{background-color: #CCFFFF} 
.border_color1{border-color: #CCFFFF;
        border-color: #78e2e2;
}
.hvr_txt_color1:hover{color: #007399} 
.hvr_bg_color1:hover{background-color: #CCFFFF} 
.hvr_border_color1:hover{border-color: #CCFFFF}

/* サブカラー */
.txt_color2{color: #007399} 
.bg_color2{background-color: #007399} 
.border_color2{border-color: #007399}
.hvr_txt_color2:hover{color: #007399} 
.hvr_bg_color2:hover{background-color: #007399} 
.hvr_border_color2:hover{border-color: #007399}

/* アクセントカラー */
.txt_color3{color: #B1940F} 
.bg_color3{background-color: #FFF5CE} 
.border_color3{border-color: #FFF5CE;
    border-color: #f7e292;
}
.hvr_txt_color3:hover{color: #B1940F} 
.hvr_bg_color3:hover{background-color: #FFF5CE} 
.hvr_border_color3:hover{border-color: #FFF5CE}

/* アクセントカラー2 */
.txt_color4{color: #B1940F} 
.bg_color4{background-color: #FFF5CE} 
.border_color4{border-color: #FFF5CE}
.hvr_txt_color4:hover{color: #B1940F} 
.hvr_bg_color4:hover{background-color: #FFF5CE} 
.hvr_border_color4:hover{border-color: #FFF5CE}



/* ---------------------- common */
body {
    font-family: 'Kiwi Maru', serif;
}
body, .txt_color_nomal{
    color: #333;
}
.font_en{
    font-family: 'Kiwi Maru', serif;
}
span::selection,
h2::selection,
h3::selection,
a::selection,
div::selection,
img::selection,
br::selection{
background:#007399;
color: #fff;
}

p::-moz-selection {
background:#007399;
color: #fff;
}
/* --- automatic link --- */
.linkStyle{color: #B1940F}

.linkStyle:hover{
    text-decoration: underline;
}

/* ---------------------- header */
header{
    background-color: #ebffff!important;
}

.line_bt .button{
    border-color: #fff;
    color: #06c755;
    background-color: #fff;
}
.line_bt .button:hover{
    color: #fff;
    background-color: transparent;
}

.line_bt .button:hover::after {
    box-shadow: inset 0 0 0 15em #06c755!important;
    border-color: #06c755;
}




#main_menu ul li a::before {
    top: 50%;
    left: 0;
    transform: translate(0px, -50%);
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #ffe570;
    transition: .5s;
}
#main_menu ul li a:hover {
    padding-left: 34px;
}
#main_menu ul li a:hover::before {
    width: 26px;
    height: 26px;
    transform: translate(-5px, -50%);
}

/* ---------------------- nav */

/* ---------------------- footer */


/* -------------------------- top ------------------------- */
#main_img .txt1{
    z-index: 3;
    font-size: 32px;
    text-shadow: 0 0px 10px rgba(0, 0, 0, .4);
}
.scroll_bt{
    z-index: 3;
}
video{display:block;}
#main_img::after{
    content:'';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.2);
    z-index: 2;
}
#main_img {
    min-height: auto;
}
.txt1 {
    width: 90%;
}
.cms_title::before{
    height: 50px;
    background-color: transparent;
    background-repeat: no-repeat;
    background-size: contain;
}

.top_cms_box:nth-child(1) .cms_title::before{
    background-image: url('Dup/img/icon01.svg');
}
.top_cms_box:nth-child(2) .cms_title::before{
    background-image: url('Dup/img/icon02.svg');
}
.top_cms_box:nth-child(3) .cms_title::before{
    background-image: url('Dup/img/icon03.svg');
}
.top_cms_box:nth-child(4) .cms_title::before{
    background-image: url('Dup/img/icon04.svg');
}
.top_cms_box:nth-child(5) .cms_title::before{
    background-image: url('Dup/img/icon05.svg');
}

.cms_2-c .box_description1{
    width: 100%!important;
    display: flex;
    flex-wrap: nowrap;
}

.cms_2-c .box_description2{
    width: 100%!important;
}

.cms_2-c .box_item .img_wrap{
    width: 50%;
    padding: 10px;
    }
#attach{
    position: relative;
    height: 340px;
}
#attach::after{
content:'';
position:absolute;
height:180px;
width:100%;
background-image:url(Dup/img/nami01.svg);
background-size:auto 100%;
background-repeat:no-repeat;
background-position: bottom center;
bottom:-66px;
left:0;
z-index: 0;
}
#contents2{
    z-index: 2;
    position: relative;
}
/* --- more --- */
.button{
    border-color: #007399;
    color: #007399;
    border-radius: 5px;
}
.button:hover{
    color: #fff;
}
.button:hover::after {
    box-shadow: inset 0 0 0 15em #007399!important;
}
/* -------------------------- sub ------------------------- */
.button2{
    border-radius: 5px;
}
.button2:hover {
    box-shadow: none;
    background-color: #ccffff;
    color: #007399;
}


#page_title .page_box::before {
    width: 50px;
    height: 50px;
    background-color: #fce570;
    border-radius: 50%;
}
#page_title .page_box {
    padding-left: 65px;
}
#page_title .page_box h2,
#page_title .page_box p{
    text-shadow: none;
}
.title_img::after{
content:'';
position:absolute;
height:200px;
width:100%;
background-image:url(Dup/img/nami01.svg);
background-size:auto 100%;
background-repeat:no-repeat;
background-position: bottom center;
bottom:-50px;
left:0;
}
/* ---------------------- cms1 */
#cms_2-a .cate_title{
    position:relative;
    border: none;
    padding: 10px 10px 10px 30px;
}

#cms_2-a .cate_title::before{
   content: "";
    width: 20px;
    height: 20px;
    background-color: #603813;
    position: absolute;
    background-color: #fff5ce;
    border: 1px solid #b1940f;
    border-radius: 50%;
    top: 50%;
    left: 0;
    transform: translate(0%,-44%);
}
/* ---------------------- cms2 */

/* ---------------------- cms3 */

/* ---------------------- cms4 */
#cms_2-c .box_description1{
    width: 100%!important;
    display: flex;
    flex-wrap: nowrap;
}
#cms_2-c .box_description2{
    width: 100%!important;
}
#cms_2-c .box_item .img_wrap{
    width: 50%;
    padding: 10px;
    }

/* ---------------------- cms5 */
#cms_6-a .cate_title{
    position:relative;
    border: none;
    padding: 10px 10px 10px 30px;
    background-color:transparent;
    display: inline-block;
    color: #333;
}

#cms_6-a .cate_title::before{
   content: "";
    width: 20px;
    height: 20px;
    background-color: #603813;
    position: absolute;
    background-color: #fff5ce;
    border: 1px solid #b1940f;
    border-radius: 50%;
    top: 50%;
    left: 0;
    transform: translate(0%,-44%);
}
/* ---------------------- info */

/* ---------------------- contact */

#contact_tel a{
    background-color: #ccffff;
    border-color: #ccffff;
    color: #007399;
}

#contact_tel a,
#contact_line a{
    border-radius: 5px;
    width: 500px;
    max-width: none;
}
#contact_line a{
    color: #06c755;
    border-color: #06c755;
    margin: 50px auto;
}
/* ---------------------- privacy policy */
#page9 p a{
    color: #007399;
}
/* ---------------------- sitemap */


/* ----------------------------------------------------------------------------------------------------------------------------
IE
--------------------------------------------------------- */
@media all and (-ms-high-contrast: none){
/* ---------------------- common */

/* ---------------------- header */

/* ---------------------- nav */

/* ---------------------- footer */



/* -------------------------- top ------------------------- */
/* --- more --- */

/* -------------------------- sub ------------------------- */

/* ---------------------- cms1 */

/* ---------------------- cms2 */

/* ---------------------- cms3 */

/* ---------------------- cms4 */

/* ---------------------- cms5 */

/* ---------------------- info */

/* ---------------------- contact */

/* ---------------------- privacy policy */

/* ---------------------- sitemap */


}

/* ---------------------------------------------------------------------------------------------------------------------------- 
タブレット　
--------------------------------------------------------- */
@media screen and (max-width: 768px){
/* ---------------------- common */
 .linkStyle{
    text-decoration: underline;
}
 
 /* ---------------------- header */

/* ---------------------- nav */
.hamburger {
    top: 30px;
    right: 12px;
}
.hamburger__icon,
.hamburger__icon:before,
.hamburger__icon:after{
    background-color: #007399!important;
}
.hamburger.active .hamburger__icon {
    background-color: transparent!important;
}
.fat-nav li:last-child a{
    color: #007399;
    border-radius: 5px;
    background-color: #ccffff;
}
/* ---------------------- footer */
#footer_menu ul li{
    padding: 5px;
}


/* -------------------------- top ------------------------- */
#attach {
    height: 240px;
}
#attach::after {
    height: 100px;
    bottom: -43px;
}
/* --- more --- */

/* -------------------------- sub ------------------------- */
#page_title .title_img {
    height: 200px;
}
.title_img::after {
    height: 100px;
    bottom: -43px;
}

/* ---------------------- cms1 */

/* ---------------------- cms2 */

/* ---------------------- cms3 */

/* ---------------------- cms4 */

/* ---------------------- cms5 */

/* ---------------------- info */

/* ---------------------- contact */

/* ---------------------- privacy policy */

/* ---------------------- sitemap */

 
}

/* ----------------------------------------------------------------------------------------------------------------------------
スマホ　
--------------------------------------------------------- */
@media screen and (max-width: 667px){
/* ---------------------- common */
    
/* ---------------------- header */
#logo{
    max-width: 140px;
}
/* ---------------------- nav */
.hamburger {
    top: 16px;
    right: 4px;
}

/* ---------------------- footer */



/* -------------------------- top ------------------------- */
#main_img .txt1 {
    font-size: 20px;
    width: 100%;
}
#attach {
    height: 180px;
}
#attach::after {
    height: 83px;
    bottom: -17px;
    background-size: 100% auto;
}
/* --- more --- */

/* -------------------------- sub ------------------------- */
#page_title .page_box::before {
    width: 40px;
    height: 40px;
}
#page_title .page_box {
    padding-left: 53px;
}

.title_img::after {
    height: 83px;
    bottom: -17px;
    background-size: 100% auto;
}
/* ---------------------- cms1 */

/* ---------------------- cms2 */

/* ---------------------- cms3 */

/* ---------------------- cms4 */
#cms_2-c .box_description1 {
    flex-wrap: wrap;
    order: 2;
}
#cms_2-c .box_description2 {
    order: 1;
}
#cms_2-c .box_item .img_wrap {
    width: 100%;
}
/* ---------------------- cms5 */

/* ---------------------- info */

/* ---------------------- contact */
#contact_tel a, #contact_line a {
    width: 100%;
    max-width: 460px;
    font-size: 18px;
    padding: 30px 5px;
    white-space: nowrap;
}
/* ---------------------- privacy policy */

/* ---------------------- sitemap */

    
}

/* 211029 */
#sp_fotter_nav{
    display: none;
}
#header_contact{
    display: none;
}
@media screen and (max-width: 768px){
    .head_box {
        margin-left: 0;
        max-width: calc(100% - 60px);
    }
    #logo {
        margin-left: 0;
    }
    #header_contact {
        display: flex;
    }
    #header_contact a {
        display: block;
        width: 92px;
        height: 36px;
        text-align: center;
        border-radius: 4px;
    }
    #header_tel {
        background-color: #007399;
        margin-right: 10px;
        border-bottom: 3px solid #02506a;
    }
    #header_line {
        background-color: #06c755;
        border-bottom: 3px solid #07a347;
    }
    #header_contact span {
        display: block;
        position: relative;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -47%);
        color: #fff;
        font-size: 12px;
        font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    }
    #header_contact span i {
    margin-right: 2px;
    }

}
@media screen and (max-width: 667px){
    .hamburger{
        display: none;
    }
    .head_box {
        margin-left: 0;
        /*max-width: calc(100% - 50px);*/
        max-width: 100%;
        padding: 0 8px 0 4px;
    }
    #sp_fotter_nav{
        display: block;
        position: fixed;
        bottom: 0;
        z-index: 99;
        width: 100%;
    }
    #sp_fotter_nav ul{
        display: flex;
        flex-wrap: wrap;
        background-color: #fff;
        justify-content: space-between;
        padding: 1%;
    }
    #sp_fotter_nav ul li{
        width: calc(100% / 3);
        text-align: center;
        box-sizing: border-box;
        padding: 2px;
        background-color: #fff;
    }
    #sp_fotter_nav ul li a{
        display: block;
        color: #007399;
        padding: 10px 0;
        background-color: #fff5ce;
        font-size: 12px;
    }
    #sp_fotter_nav_btn{
        width: 76px;
        padding-left: 2%;
        padding-right: 5px;
        padding-top: 5px;
        color: #007399;
        background-color: #fff;
    }
    #sp_fotter_nav_btn span{
        background-color: #ccffff;
    }
    #sp_fotter_nav_btn span .fas{
        margin: 3px;
    }
    .close{
        display: block;
        transition: 0.3s;
    }
     .open{
        display: none;
        transition: 0.3s;
    }
    .closeBtn .close{
        display: none;
    }
    .closeBtn .open{
        display: block;
    }
    #sp_fotter_nav.closeNow ul{
        display: none;
    }
    footer{
        padding-bottom: 65px!important;
    }
}
@media screen and (max-width: 420px){
    #logo {
        max-width: 94px;
    }
    .hamburger {
        top: 10px;
    }
}