﻿
/* ---------- font ---------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Display&family=Zen+Old+Mincho:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Jost&family=Noto+Sans+JP:wght@400;700;900&display=swap');

:root{
   --font-serif: 'Zen Old Mincho', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    --font-jp:'Noto Sans JP', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;font-weight: 400;
    --font-en: 'Noto Serif Display', 'Zen Old Mincho', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}
body, .font_sans-serif{
    font-family: var(--font-jp);
}
.font_en, .patrima, .hgs, .overlay .overlay-nav .en, #pc_nav, .more .more_item, #footer_nav_wrap, .date_box, .pager, a[href^="tel:"]{
    font-family: var(--font-en);
}
.intro_title, .con_txt, .overlay, .overlay .overlay-nav .en, .cms_title, .liana {
    font-family: var(--font-serif)!important;
       /* font-weight: bold;*/
}
.intro_title{
    font-weight: bold
}


/* ---------- color ---------- */
.linkStyle{color: #222222;transition: opacity .3s;text-decoration: underline;}
.linkStyle:hover{opacity: 0.7}

:root {
    --normal_color: #222222;
    --color1: #1A4F71; /* メインカラー */
    --color2: #1A4F71; /* サブカラー */
    --color3: #ebe7df; /* アクセントカラー1*/
    --color4: #7d2623; /* アクセントカラー2*/
}

header.scr_header {
    background-color: rgb(26 79 113 / 80%)!important;
    border: none;
}

#footertxt, #h1txt{
    color: #2b2b2b;
}
footer .scr{
    color:var(--color1)!important;
}
 .more .more_item:before, footer .scroll_d > span::before{
    background-color: var(--color1)!important;
}
.more .more_item{
    color: #fff!important;
} 
.top_cms_box.border_white{
    border-color: var(--normal_color);
}
.more .more_item:hover {
    color: transparent!important;
    background-color: var(--color3);
}
.more .more_item:hover .icon-right.after:after {
    color: var(--normal_color)!important;
}
.info_btn_wrap a, .overlay .overlay-nav .bottom a{
    background-color: var(--color4)!important;
}

#intro .txt_white, #contents_wrap .txt_white, #top_cms.txt_white, #page_title .jp, #page_title .en, #footer_nav .txt_white, .blogList1 .txt_white{
    color: var(--normal_color);
}
#page_title .en:before{
    background-color: var(--normal_color);
}
#pc_nav li a::after, #footer_nav li a::after{
    background: var(--color1);
}
#page10 .con_box a{
    color: var(--normal_color);
    font-size: 16px;
}


/* ---------- all ---------- */
header.scr_header {
    background-color: rgba(91, 80, 77, 0.3);
}
#logo img{
    max-width: 237px;
    padding: 10px;
}
#logo2 img{
    max-width: 257px;
}
.map {
    height: 500px;
}



/* ---------- top ---------- */
#main_img .sns_links {
    display: none;
}

.fv_txt {
       width: min(82%, 700px);
    top: 52%;
    left: 50%;
}
#main_img:before, #page_title_img:before {
    background-color: #000000;
    opacity: 0.15;
}
#wrap:not(.page) .blur {
    background: linear-gradient(to bottom, rgb(0 0 0 / 15%), rgb(255 255 255 / 89%) 200px);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
#wrap.page .blur {
    background: rgba(255, 255, 255, 0.95);
}

.icon-right:after{
    top: 22px;
}
.con_title span{font-family: liana, script;color: #023558;font-weight: normal;}

#contents .con_title {
    font-size: 50px;
}
.con_txt .txt_left.d_inline_b{
    font-size: 39px;
    font-weight: normal;
    margin-bottom: 34px;
}
.modal-open{
    margin-top: 10px;
}

.top_title h2{
    top: 0!important;
    left: 0!important;
    right: auto!important;
    width: 100%;
    height: 100%;
    background-color: rgba(91,80,77,0.4);
}
.top_title h2::before{
    position: absolute;
    content: "";
    width: 1px;
    height: 200px;
    left: 0;
    right: 0;
    bottom: -50px;
    background-color: #fff;
    margin: auto;
}
.top_title h2 > span{
    padding-top: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;
}
.top_title h2 > span:before{
    display: none;
}
.top_title .rotate_txt span {
    transform: none;
    display: inline;
    line-height: 1.5;
    letter-spacing: 5px;
    font-size: 80px;
}

#contents .con_title {
    line-height: 0.6;
    margin-bottom: 28px;
}
.modal_title_wrap {
    display: none;
}

.intro_right .liana {
    font-family: liana, script;
    font-weight: normal;
}
.intro_title {
    font-size: 24px;
}

.item1{
    left: -9%;
    top: 4%;
    width: 37%;
    transform: rotate(-10deg);
}
.item2 {
    right: -9%;
    top: 13%;
    width: 40%;
    transform: rotate(-10deg);
}
.item3 {
    left: -9%;
    top: 16%;
    width: 37%;
    transform: rotate(-25deg);
}


/* ---------- under ---------- */
#page_title .en {
    top: 31px;
}
#page_title .en:before {
    width: 3px;
    top: -34px;
    height: 120%;
}
#page_title_img {
    height: 400px;
}
#page_title_img{
    background:  url( "../img/page_bg.jpg" ) center / cover no-repeat;
}
.page_container {
    padding-top: 83px;
}

.cate_list {
    margin-top: 50px;
    margin-bottom: 50px;
}
#page_title .jp{
    font-weight: bold;
}
#page_title .jp span{
    line-height: 2;
}

#page8 .con_box{
    margin-top: 30px;
}
#page8 #contact_net a {
    padding-top: 18px;
}
#page8 #contact_net .icon_box {
    background-image: url(../img/w_hop.png);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 34px;
    height: 34px;
    display: inline-block;
    position: relative;
    top: 9px;
}



/* ---------- tablet ---------- */
@media screen and (max-width: 768px){
.top_title .rotate_txt span {
    font-size: 60px;
}
.top_title h2::before {
    height: 120px;
}
.con_txt .txt_left.d_inline_b {
    font-size: 31px;
}
.map {
    height: 579px;
}
#page_title_img {
    height: 307px;
}

}

/* ---------- mobile ---------- */
@media screen and (max-width: 667px){
#logo img {
    max-width: 119px;
    padding: 0;
}
.fv_txt {
    width: min(93%, 700px);
    left: 51%;
    top: 49%;
}
.top_title .rotate_txt span {
    font-size: 50px;
}
.top_title h2::before {
    height: 120px;
}
#contents .con_title{
    margin-top: 20px;
}
.item1, .item3 {
    left: -9%;
    top: 62%;
    width: 74%;
}
.item2{
    right: -23%;
    top: 71%;
    width: 93%;
    transform: rotate(-10deg);
}

.map {
    height: 300px;
}
#logo2 img{
    max-width: 225px;
}
#footertxt,#h1txt{
        padding-right: 20px;
    font-size: 14px;
}
#page_title_img {
        height: 269px;
    }
.con_box{
    padding-left: 0;
    padding-right: 0;
}
.page_container {
    padding-top: 51px;
}
.cate_list {
    padding: 0 5%;
}
#page6 .con_box, #page7 .con_box, #page8 .con_box, #page9 .con_box, #page10 .con_box{
    padding-top: 70px;
    padding-left: 5%;
        padding-right: 5%;
}
}


/* 閉じるボタン付き追従バナー */
.fix_banner{
	max-width: 400px;
	position: fixed;
	bottom: 15px;
	left: 0;
	z-index: 10;
	transition: 0.5s;
}
.fix_banner .close_bt{
	position: absolute;
	bottom: 110px;
	left: 380px;
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	transition: 0.5s;
	background-color: #fff;
	border: solid 2px var(--color4);
	z-index: 11;
	cursor: pointer;
}
.fix_banner .close_bt:hover{opacity: 0.7;}
.fix_banner .close_bt span{
	position: relative;
	display: block;
	width: 30px;
	height: 30px;
}
.fix_banner .close_bt span:before,.fix_banner .close_bt span:after{
	content: "";
	display: block;
	background-color: var(--color4);
	height: 4px;
	width: 20px;
	position: absolute;
	top:50%;
	left: 50%;
}
.fix_banner .close_bt span:before{
	-ms-transform: translate(-50%,-50%) rotate(-45deg);
	-webkit-transform: translate(-50%,-50%) rotate(-45deg);
	transform: translate(-50%,-50%) rotate(-45deg);
}
.fix_banner .close_bt span:after{
	-ms-transform: translate(-50%,-50%) rotate(45deg);
	-webkit-transform: translate(-50%,-50%) rotate(45deg);
	transform: translate(-50%,-50%) rotate(45deg);
}
.fix_banner.close{bottom: -450px;}
.fix_banner.close2{right: -450px;}

@media  screen and (max-width: 768px){
.fix_banner{max-width: 371px;}
.fix_banner .close_bt{bottom: 99px;left: 353px;}
}

@media  screen and (max-width: 667px){
.fix_banner{max-width: 296px;right: 0;margin: auto;bottom: 15px;}
.fix_banner .close_bt{
	width: 25px;
	height: 25px;
	bottom: 40px;
	right: 230px;
}
.fix_banner .close_bt span{
	width: 25px;
	height: 25px;
}
}


.fix_banner.scroll{
    opacity: 1;
}
.fix_banner.close{
    opacity: 0;
    z-index: -1;
}







