﻿
/* ---------- font ---------- */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Hina+Mincho&family=Shippori+Mincho:wght@500;600&display=swap');

:root{
    --font-jp: 'Noto Sans JP', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
    /*--font-title: 'Zen Maru Gothic', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;*/
	--font-title:  "Hina Mincho","Shippori Mincho", "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}
body, .font_sans-serif, .font_serif{
    font-family: var(--font-jp);
    font-weight: 500;
}
.title, h2, h3, h4 {
    font-family: var(--font-title) !important;
    font-weight: bold;
    letter-spacing: 2px;
}



/* ---------- color ---------- */

.linkStyle{color: var(--txt_color1);transition: opacity .3s;text-decoration: underline;}
.linkStyle:hover{opacity: 0.7}

:root {
    --normal: #4a4540;
    --normal_color: #4a4540;
    --color1: #2e9547;
    --color2: #d6cdc1;
    --color3: #2e9547;
    --color4: #faf5ee;
    --color5: #faf5ee;
    --color6: #d1dfcc;
    --txt_color1: #91cdd4;
}
.txt{
	color: var(--normal_color);
}
#intro_bg, #contents{
    background-color: #d1dfcc;
    background-image: radial-gradient(circle, rgb(255 255 255 / 72%) 1.5px, transparent 1.5px);
    background-position: 0 0;
    background-size: 25px 25px;
}
#foot_banner a {
    color: #fff;
}


/* ---------- all ---------- */
#page-top a{
   background-color: #62b936;
}
#logo .logo {
    width: 148px;
}
header.top{
    background-color: rgb(255 255 255 / 60%);
    transform: translateY(-90%) translateX(-50%);
    margin: auto;
    left: 50%;
    transition: .5s;
}
header{
    min-width: 1200px;
    border-radius: 0 0 20px 20px;
}

.bg_fil_blur{
    backdrop-filter: blur(6px);
}
.news.top_cms_box {
    background: url( "../img/bg_img02.jpg" ) left top / 1000px repeat ;
}
#page_title,footer > div.bg_color2,#contents{
    position: relative;
}
#contents:before,#page_title:before, #top_cms:before, footer > div.bg_color2:before {
    content: "";
    display: block;
    position: absolute;
    top: -43px;
    left: 0px;
    width: 100%;
    height: 43px;
    background-image: url(../img/wave01.png);
    background-position: 50% 100%;
    background-repeat: repeat-x;
    background-size: 760px 13px;
    z-index: 2;
    pointer-events: none;
}
#contents:before{
    background-image: url(../img/wave02.png);
}
footer > div.bg_color2 {
    position: relative;
    background-color: #ffffff;
}

.svg_wrap{
    display: none;
}


/* ---------- top ---------- */
#main_img {
    padding-top: 0;
}
#main_img .main_img_wrap {
    height: 789px;
}
#main_img .main_img_wrap:before{background-color: transparent;}

.fv_txt {
    right: 6%;
    top: 139px;
    z-index: 2;
    width: min(9%, 95px);
}
.fv_txt3 {
    left: 3%;
    bottom: 55px;
    z-index: 2;
    width: min(24%, 250px);
}
#main_img .main_logo {
    z-index: 1;
    max-width: 100%;
    width: min(38%, 430px) !important;
}

#intro {
    overflow: visible;
}
.intro_wrap {
    padding: 100px 8%;
}
.intro_item {
    right: 51px;
    bottom: 50px;
    z-index: 2;
    width: min(30%, 150px);
}
#intro_bg h2{
    font-size: clamp(23px, 2.5vw, 35px);
}
.news.top_cms_box{
    margin-top: -34px;
    position: relative;
    z-index: 2;
}

.cms_title {
    background-image: url(../img/icon01.png);
    background-repeat: no-repeat;
    background-size: 76px;
    padding-top: 74px;
    background-position: 50% 0px;
}


/* ---------- under ---------- */
#page_title h2 .txt_color_nomal{
    color: #343434!important;
}
.cate_list li a {
    padding: 10px 15px;
    background-color: #fff;
    border-radius: 5px;
}

#page8 .line_bnr  {
    width: min(90%, 350px);
    margin-top: 50px;
}



/* ---------- tablet ---------- */
@media screen and (max-width: 768px){
header{
    min-width: 100%;
    padding-right: 15px !important;
    padding-left: 15px !important;
     border-radius: 0;
}
header #header #header_menu li a{padding: 0;}
#logo {
    padding-top: 15px;
}
#main_img .main_img_wrap {
    height: 496px;
}
.fv_txt3{
    bottom: 25px;
}
#main_img .main_logo {
    top: 56%;
    max-width: 261px !important;
}

.intro_no, #intro_bg h2{text-align: center;}
#intro h2 span.border{right: 0;margin: auto;}
.intro_txt_wrap {margin-bottom: 70px;}
.intro_item {width: min(25%, 200px);}
.intro_wrap {padding-bottom: 112px;}
#intro .intro_wrap{background-size: 160px;}
#top_cms .top_cms_box {margin-bottom: 37px;}

#main_img .main_logo{
    max-width: 219px;
}
#intro_bg h2 {
    font-size: clamp(29px, 2.5vw, 35px);
}
#cms_2-g .cate_title {
    font-size: 1.8em;
    line-height: 1.5;
}
}

/* ---------- mobile ---------- */
@media screen and (max-width: 667px){
header.bg_fil_blur{
    padding-top: 0;
    padding-bottom: 15px;
}
#logo .logo {
    width: 118px;
}
.menu_bt {
    padding-top: 8px;
}
#main_img {
    padding-top: 0;
}
#main_img .main_img_wrap {
    height: 621px;
}

.fv_txt {
    right: 4%;
    top: 90px;
    z-index: 2;
    width: 14%;
}
.fv_txt3 {
    width: 38%;
    bottom: 16px;
}
#main_img .main_logo {
    top: 53%;
    width: 62%!important;
}
.intro_wrap {
    padding-bottom: 112px;
}
#intro_bg h2 {
    font-size: clamp(25px, 2.5vw, 35px);
}
.intro_txt_wrap {margin-bottom: 67px;}
.con_no {margin-bottom: 7px;}
.more {
    margin: 37px auto 0;
}
#top_cms .top_cms_box {
    margin-bottom: 37px;
    padding-bottom: 50px;
}
.top_cms_box .cms_title h2 {
    font-size: 24px;
}

#page_title h2 span {
    font-size: 26px;
}
#cms_2-g .cate_title {
    font-size: 1.3em;
    line-height: 1.5;
}
#info_title_box .info_title span{
    text-shadow: 1px 1px 24px rgba(0, 0, 0, 0.8);
}
#page_title h2 span {
    font-size: 25px;
    letter-spacing: 1px;
}
}






