﻿@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700&display=swap');
body {
    /*font-family: 'Noto Sans JP', sans-serif;*/
}
.con1_bg.bg_color4 {
    background-color: #2cb6bd;
}
header .contact_bt a.txt_color_nomal {
    color: #fff;
}
.contact_bt a.txt_color_nomal:hover {
    background: #99dfc8!important;
}
.page1 #pc_nav li a {
    color: #fff;
}
.headtrans #pc_nav li:not(:nth-of-type(6)) a {
    color: #212121;
}
#page_title p {
    color: #fff;
    opacity: 0.7;
}
#contents3 {
    box-shadow: 17.863px 7.596px 39px -7px rgb(126 126 126 / 15%);
}
#top_cms {
    /*background-image: url(Dup/img/bg_topcms.png);*/
    /*background-repeat: no-repeat;*/
    /*background-position: 100% 0;*/
    /*background-size: 500px auto;*/
}
.footer_wrap {
    background-image: url(Dup/img/bg_footer.jpg);
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: 100% auto;
}
#intro {
    /*background-image: url(Dup/img/bg_hamburger.jpg);*/
     background-image: url(Dup/img/bg_intro.jpg);
    background-repeat: no-repeat;
    background-position: 0 0;background-size: auto 86%;
}
#intro .intro_wrap {
    max-width: 1500px;
    margin: 0 0 0 auto;
    text-shadow: 1px 1px 1px #f9f1dc, -1px 1px 1px #f9f1dc, 1px -1px 1px #f9f1dc, -1px -1px 1px #f9f1dc, 1px 0px 1px #f9f1dc, 0px 1px 1px #f9f1dc, -1px 0px 1px #f9f1dc, 0px -1px 1px #f9f1dc;
}
#page_top .scroll_u .scroll_bar {
    background: #212121;
}
.page1 main {
    background-image: url(Dup/img/kage.jpg);
    background-repeat: no-repeat;
    background-position: 0 100%;
}
#main_img .main_title {
    font-size: calc(1rem + 16px);
    max-width: 210px;
}

/*.main_title:before {*/
/*    content: "";*/
/*    display: block;*/
/*    position: absolute;*/
/*    width: 315px;*/
/*    height: 99px;*/
/*    background-image: url(Dup/img/catch.png);*/
/*    background-repeat: no-repeat;*/
/*    background-size: contain;*/
/*    right: 2px;*/
/*    bottom: -76px;*/
/*}*/
/* ------------------------------------------------------------------------------------------ */
#header #logo a {
    padding-top: 10px;
    padding-bottom: 10px;
}
#header .menu_stick span {
    background: #212121;
}
#sp_nav li.border_so1-t {
    border-color: #212121;
}
#top_cms .cms_box {
    /*background-image: url(Dup/img/wood.png);*/
    /*background-repeat: no-repeat;*/
    /*background-position: 100% 14%;*/
}
#top_cms .cms_sub_title {
    top: -190px;
    opacity: 0.15;
    color: #00b0b9;
}
#top_banner .banner_box {
    padding: 10px;
    position: relative;
}
#top_banner .banner_box:before {
    content: "";
    display: block;
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    top: 19px;
    left: 19px;
    border: 1px solid #fff;
    z-index: 1;
    position: absolute;
    pointer-events: none;
}
#top_banner a:hover .banner_bg{
    opacity: 0.2;
    transform: translate(-50%, -50%) scale(1.1);
}

#top_banner a p{
    background-image: linear-gradient(to bottom, currentColor, currentColor);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: left bottom;
    transition: background-size 0.5s;
}
#top_banner a:hover p{
    background-size: 100% 1px;
}
#top_banner .banner_box .bg_black {
    background-color: #4a7e7e;
}
.con2_box.bg_color1, .con3_box.bg_color1 {
    background-image: url(Dup/img/bg.jpg);
    background-size: 330px;
}
/**/
#cms_3-f .sub_cate_item {
    background: #00aeb7;
    padding: 10px;
    color: #fff;
}
#cms_3-f .sub_cate_txt2 {
    text-align: left;
    padding: 12px;
    border: 1px dashed #c3a373;
    background: #fff;
    line-height: 1.8;
}


@media(max-width: 768px) {
#intro {
    background-size: 100% auto;
}
.main_title:before {
display: none;
}
#top_banner a .banner_bg{
    opacity: 0.2;
}
}

@media(max-width: 667px) {
#main_img .main_title {
    display: none;
}
    #logo2 {
        max-width: 150px;
    }
#top_cms .cms_sub_title {
    top: -129px;
}
#header #logo a {
    padding-top: 5px;
    padding-bottom: 5px;
}
#header #logo a {
    max-width: 80px;
}
#main_img .main_title {
    font-size: calc(1rem + 3px);
}
#intro .intro_back {
    font-size: 12vw;
}
#loader img {
    width: 118px;
}
}