﻿/*main.blur {
    background: rgb(255 255 255)!important;
}*/

/* ---------- font ---------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
:root{
    --font-jp:  "Noto Serif JP","游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}
.intro_title1, .font_serif, .top.page1 .font_50, #contents_wrap .con_title, .pc_txt , .sp_txt, .overlay .overlay-nav .top .jp, .overlay .overlay-nav span, #pc_nav li a, #footer_nav li a, #footer_nav li, #page_title .jp {
    font-family: var(--font-jp);
}
.font_en, a[href^="tel:"]{
    font-family: var(--font-en);
}

/* ---------- color ---------- */
.top_title .slash:before, .top_title .slash:after{
    display: none;
}
.contact_bt .bg_black, .overlay div.overlay-nav .bg_black, .info_btn_wrap .tel_bt a{
    background-color: #9b8d5f;
}


/* ---------- all ---------- */
.font_bold {
    font-weight: 600!important;
}
#contents .con_title, .intro_title1, .cms_title h3, #page_title .jp {
    font-weight: 600!important;
}
.fix_banner{
    display: none!important;
}
#logo .width_300-max {
    max-width: 400px;
    padding: 11px;
}
main.blur {
    background: rgb(255 255 255 / 86%);
}

/* ---------- top ---------- */
.top.page1 .font_50, #contents_wrap .con_title {
    font-size: clamp(25px, 2.5vw, 40px);
}
#contents_wrap .con_txt{
    font-size: 19px;
}
.modal_title2 {
    font-weight: 600;
    font-size: 30px;
}
.top_title .title {
    line-height: 1;
    letter-spacing: 8px;
    font-size: 50px;
}
.top_title_color {
    background-color: #6f6f6f;
    opacity: 0.4;
}

#main_img:before{
    /*display: none;*/
    background-color: rgb(2 12 8 / 15%);
}
.fv_txt{
    width: min(48%, 830px);
    min-width: 673px;
    top: 52%;
}
.fv_item1{
    width: min(29%, 737px);
    min-width: 376px;
    bottom: 0;
    left: 64%;
}
#intro .intro_photo .title {
    font-weight: normal!important;
}



/* ---------- under ---------- */





/* ---------- tablet ---------- */
@media screen and (max-width: 768px){
#logo .width_300-max {
    max-width: 291px;
    padding: 11px;
}
#main_img, .sm-slider, .sm-slider span{
    height: 500px!important;
}
.fv_txt {
    width: 59%;
    min-width: auto;
    top: 52%;
}
.fv_item1 {
    width: 52%;
    min-width: auto;
    bottom: 0;
    left: 34px;
}
}

/* ---------- mobile ---------- */
@media screen and (max-width: 667px){
#main_img, .sm-slider, .sm-slider span{
    height: 100svh!important;
}
.contact_btn_wrap .icon{left: 1.5em!important;}
.contact_btn span{padding: 1em 1em 1em 2.5em!important;}
.fv_txt {
    width: 83%;
    min-width: auto;
    top: 47%;
}
.fv_item1 {
    width: 100%;
    min-width: auto;
    bottom: 0;
    left: 0;
}
#main_img:before {
    background-color: rgb(2 12 8 / 0%);
}
.top_title .title {
    line-height: 1;
    letter-spacing: 8px;
    font-size: 36px;
}
}


/* fix_bnr ---------------------------------------------------------------------------------------------*/
#fix_bnr {
    bottom: 9px;
    right: 18px;
    z-index: 10;
    width: 70%;
    max-width: 358px;
    transition: 0.5s;
    opacity: 0;
    pointer-events: none;
    z-index: 2;
}
#fix_bnr.scroll{
    opacity: 1;
pointer-events: auto;
}
#fix_bnr.close{
    opacity: 0;
    z-index: -1;
}
@media screen and (max-width: 768px){
#fix_bnr.close{
    transform: translateX(200px);
}
}
@media screen and (max-width: 667px){
#fix_bnr {
    width: 81%!important;
    right: 0;
    left: 0;
    margin: auto;
    bottom: 10px;
}
}
/* fix_bnr end ---------------------------------------------------------------------------------------------*/




