﻿/* font ------------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Vollkorn&display=swap');
/* font ------------------------------------------------------------------------------*/

:root{--font_Vollkorn: 'Vollkorn','Shippori Mincho B1',"游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", serif;}
:root{--font_Shippori:'Shippori Mincho B1', 'Vollkorn',"游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", serif;}

.con1_title,.intro_title, #contents .con_title,h3,h2,h4,h5,h6,.loader_txt, .cms_title h2, #catch h2, #question h2, #contents h2, #contents .box h3, #top_cms .cms_title h2, #page_title h2,.menu ul li,.sub_title{font-family:var(--font_Vollkorn) !important;}
body, .font_sans-serif,main#page9 h3{font-family:var(--font_Shippori) !important;}

.font_bold {
    font-weight: 500;
}
.page_title span {
    font-size: 14px;
}

/* color -----------------------------------------------------------------------------*/
:root{
    --color1:#0f0e0e;
    --color2:#4d4747;
    --color3:#393939;
    --color4:#7f706b;
    --color5:#4a312a;
    --white:#eee4d0;
    --black:#0f0e0e;
    --gray:#ccc;
    --link:#a53005;
}
body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: var(--black);}
.txt_white,.hvr_txt_white:hover{color: var(--white);}
.txt_color1,.hvr_txt_color1:hover{color: var(--color1);} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: var(--color2);} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: var(--color3);} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: var(--color4);} /* アクセントカラー2 */
.txt_color5,.hvr_txt_color5:hover{color: var(--color5);} /* アクセントカラー2 */
/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: var(--white)} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: var(--black);} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: var(--color1);} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: var(--color2);} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: var(--color3);} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: var(--color4);} /* アクセントカラー2 */
.bg_color5,.hvr_bg_color5:hover{background-color: var(--color5);} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important;}
/* border-color ※!important */
.border_white,.hvr_border_white:hover{border-color: var(--white);}
.hvr_border_black:hover{border-color: var(--black);}
.border_black{border-color: var(--gray);}
.border_color1,.hvr_border_color1:hover{border-color: var(--color1);}
.border_color2,.hvr_border_color2:hover{border-color: var(--color2);}
.border_color3,.hvr_border_color3:hover{border-color: var(--color3);}
.border_color4,.hvr_border_color4:hover{border-color: var(--color4);}
.border_color5,.hvr_border_color5:hover{border-color: var(--color5);}

.linkStyle{color: var(--white);
          border-bottom:solid 1px;
}
p.menu_title,div#f_menu a,ul.pager a,div#cms_2-g .box_title1,
.cate_list li a i,#page7 .box_title1,body, .txt_color_nomal,main#page9 h3,.overlay ul li a{
    color: var(--white) !important;
}

.cate_list li a {
    border-color: var(--white);
    color: var(--white);
}

.menu_sub_title,p#copyright a,.page_title span,main#page10 li a span{
    color: var(--white) !important;
    opacity: 0.7;
}
#main_menu.fixed {
    border-bottom: 1px solid var(--color4);
}
footer .sns_link {
    padding-bottom: 10px;
}
#google_privacy {
    background-color: var(--white) !important;
    color: var(--black) !important;}

#google_privacy a {
    color: var(--link);
    transition: 0.5s;
}

#google_privacy a:hover{
    opacity: 0.7;
}

#main_menu.fixed {
    background-color: rgb(15 14 14 / 80%) !important;
}

section#info_map {
    background: rgb(57 57 57 / 10%);
}

/* color -----------------------------------------------------------------------------*/

/* ev --------------------------------------------------------------------------------*/
/*装飾に便利なposi_rel*/
#main_img,#contents1,#contents2,#contents3,#body{position: relative;}
/*装飾に便利なposi_rel*/
/*装飾に便利な疑似クラス設定*/
#main_img::before, #main_img::after,#contents1::before,#contents2::before,#contents3::before,#body::before{
    content: '';
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    z-index: 1;
}
/* ev --------------------------------------------------------------------------------*/

/*top■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

#aisatsu > div {
    background-color: rgb(15 14 14 / 70%) !important;
}
span.catch img {
    width: clamp(150px, 30vw, 300px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 2;
}

#main_img::before {
    width: clamp(150px, 30vw, 300px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-49%,-50%);
    background: var(--color5);
    padding: 40px 44px;
    mix-blend-mode: multiply;
    height: clamp(120px, 30vw, 241px);
    z-index: 2;
    opacity: 0.8;
}

.width_1000-max {
    max-width: 900px!important;
}
.box_wrap.container {
    max-width: 1000px;
    width: 100% !important;
}

.width_1000-max .box_img {
    max-width: 900px!important;
}

#contents1 .contents_box, #contents2 .contents_box, #contents3 .contents_box{margin-top: -280px;}

.contents_box::before,.contents_box::after,.contents_box2::after,.contents_box2::before{
    background-color: var(--white);}
.contents_box::before,.contents_box::after,.contents_box2::after,.contents_box2::before{opacity:0.7;}


#contents1::before, #contents2::before, #contents3::before {
    background-image: url(dup/img/bg_img.jpg);
    width: 500px;
    height: 500px;
    top: 61vh;
    left: 50%;
    background-size: cover;
    transform: translate(-50%, -50%);
    z-index: 0;
    background-position: center;
}

#contents1 .contents_box,#contents2 .contents_box,#contents3 .contents_box,
#contents1 .contents_img,#contents2 .contents_img,#contents3 .contents_img,#add_contents .contents_box,#add_contents .contents_img {
    box-shadow: 0px 0px 30px 0px #000000;
}
/*--- contents_links ------------------------------------*/
#contents_links span.bg_box  {
    height: calc(200% + 10px);
    top: -100px;
    right: 0;
}
#contents_links .box_wrap .box {
    border: 6px solid rgba(255,255,255,0);
}
#contents_links .box_wrap .box .posi_center{
	z-index: 2;
}
#contents_links .box_wrap h3 {
    opacity: 1;
    width: 6.33333%!important;
    padding-right: 0.5%;
    padding-top: 0.6%;
}
#contents_links .box_wrap .box.first {
    width: 26.33333%!important;
}
#contents_links .box_wrap .box a {
    display: block;
    padding-top: 52%;
    position: relative;
    overflow: hidden;
    height: 100%;
    box-sizing: border-box;
}
#contents_links .box_wrap .box a h4 {
    color: var(--white);
    position: relative;
    background-color: rgb(15 14 14 / 90%);
    padding: 15px 25px 14px;
}
#contents_links .box_wrap .box a::after {
    content: "";
    background-position: center center;
    background-size: cover;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: ease 0.9s;
    z-index: 1;
    opacity: 1;
}
#contents_links .box_wrap .box a:hover::after {
    transform: scale(1.03);
    opacity: 0.9;
}

/*--- contents_links ------------------------------------*/

/*top■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*all■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*翻訳*/
.gt_float_switcher .gt-selected {
    background-color: var(--color5);}
    
.gt_float_switcher .gt-selected .gt-current-lang{
    font-family:var(--font_Shippori) !important;
    color:var(--white);
}

div#gt_float_wrapper{
    bottom:-5px !important;
    left: 0px !important;
    z-index: 99 !important;
}

.gt_float_switcher .gt_options a:hover {
    background: var(--color5);
    color: var(--white);
}
.gt_float_switcher {
    font-size: 20px;
    border-radius: 0;
    color: var(--color1);
    line-height: 20px;
    font-family: var(--font_Vollkorn);
    box-shadow: none;
    background: var(--white);
}

.gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
    mix-blend-mode: screen !important;
}

.gt_float_switcher .gt_options {
        transform: translateY(0px);
        opacity: 1;
}

.gt_float_switcher .gt-selected .gt-current-lang {
    font-weight: 500;
}

/*翻訳*/

#body::before {
    background: url(dup/img/filter.png);
    width: 100%;
    height: 100%;
    z-index: 100;
    top: 0;
    pointer-events: none;
    background-size: 500px;
}

#fixed_right_banner,.sns_link{
    z-index:101;
}

iframe#gmap,.map iframe {
    filter: sepia(10%) grayscale(50%);
    -webkit-filter: sepia(10%) grayscale(50%);
}

.effect.effect-1:before {
    top: 3px;
}

article#top_cms .box_wrap {border-radius:2px;}

#page-top a,#fixed_right_banner .sns_link {
    background: var(--color5);
    border-color: var(--color1);
}
/*#main_menu ul li:last-child {*/
/*    background: var(--color5);*/
/*}*/
/*all■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*sub■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

#cms_2-g .cate_title {
    line-height: 1;
    font-size: 2em;
}

main#page10 li a span{padding:0px;}

div#cms_2-g .box_item_img {
    padding: 0% 0% 0% 5%;
}

.cms_2-g .box_item_img img {
    top: 0;
    left: 0;}
    
.cms_2-g p,.cms_2-g h4 {
    text-align: left;
}
/*sub■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/


/*1536*/
@media screen and (max-width: 1536px){

}

/*1366*/
@media screen and (max-width: 1366px){

}

/*タブレット*/
@media screen and (max-width: 768px){
    
#contents_links .box_wrap h3{width: 100%!important;padding-right: 0;padding-top: 0;padding-bottom: 25px}
#contents_links .box_wrap .box.first {width: 90%!important;}
#contents_links .box_wrap .box a{padding-top: 33%;}

#contents1::before, #contents2::before, #contents3::before {
    top: 40vh;
}
#cms_2-g .cate_title {
    line-height: 1;
    font-size: 1.6em;
}

p#copyright {
    padding-bottom: 50px;
}

div#cms_2-g .box_item_img {
    padding: 0% 0% 0% 1%;
}

#fixed_right_banner {
    top: 330px;
}
}

/*スマホ*/
@media screen and (max-width: 667px){
h1#logo {
    width: 100% !important;
    margin: 0 auto 30px;
} 
h1#logo img {
    width: 100px;
}
.overlay {
    background: rgb(15 14 14 / 95%);}

#cms_2-g .cate_title {
    line-height: 1.2;
    font-size: 1.1em;
    letter-spacing: 1.5px;
}   

div#cms_2-g .cate.mg_b-100px {
    padding: 0 10px;
}
div#cms_2-g .box_item_img {
    padding: 0% 0% 0% 0%;
}

.pager li {
    margin: 0 !important;
}
#contents_links .box_wrap .box {
    width: 90%!important;
}

#main_img::before{
    padding: 20px 24px;
}

section#aisatsu h2 {
    font-size: 19px;
}

#contents1 .contents_box, #contents2 .contents_box, #contents3 .contents_box {
    margin-top: 0px;
}
#contents1::before, #contents2::before, #contents3::before {
    background-image: url(dup/img/bg_img.jpg);
    width: calc(100% + 30px);
    height: 50%;
    top: 50%;
    left: 50%;
    background-size: cover;
    transform: translate(-50%, -50%);
    z-index: 0;
    background-position: center;
}

.overlay nav {
    top: 45%;}
}



/*20230626*/
#contents_links .box_wrap .box.first{
    display: none;
}
#contents_links .box_wrap .box {
    border: 15px solid rgba(255,255,255,0);
}

#contents_links .box_wrap .box a {
    display: block;
    padding-top: 35%;}


/*タブレット*/
@media screen and (max-width: 768px){
#contents_links .box_wrap .box a {
    display: block;
    padding-top: 25%;
}
}



/*スマホ*/
@media screen and (max-width: 667px){
#contents_links .box_wrap .box a {
    display: block;
    padding-top: 30%;
}

#contents_links .box_wrap h3 {
    padding-bottom: 10px;
}
}




/*20230710*/

/*モーダル画面*/
/* -- モーダル -- */
/*--- scrollbar ------------------------------------*/
.modal_box .over_box::-webkit-scrollbar{
  width: 2px;
  height: 10px;

}
.modal_box .over_box::-webkit-scrollbar-track{
  border-radius: 20px;
  box-shadow: 0 0 2px var(--color5) inset;
}
.modal_box .over_box::-webkit-scrollbar-thumb{
  border-radius: 20px;
  background: var(--color3);
}

.modal_box::-webkit-scrollbar{
  width: 8px;
  height: 10px;

}
.modal_box::-webkit-scrollbar-track{
  border-radius: 20px;
  box-shadow: 0 0 2px var(--color5) inset;
}
.modal_box::-webkit-scrollbar-thumb{
  border-radius: 5px;
  background:var(--color5);
}


.modal_box .over_box::-webkit-scrollbar{
  width: 2px;
  height: 10px;
}
.modal_box .over_box::-webkit-scrollbar-track{
  border-radius: 20px;
  box-shadow: 0 0 2px var(--color5) inset;
}
.modal_box .over_box::-webkit-scrollbar-thumb{
  border-radius: 20px;
  background: var(--color3);
}



span.bg_box {
    height: 47%;
    top: 0;
    left: 0;
}
.modal_bt {
    border-radius: 0;
    border: solid 0px;
}
.modal_bg {
    top: 0;
    left: 0;
    background-color: rgb(15 14 14 / 80%);
    z-index: 999;
}
.modal_box {
    max-height: 80%;
    overflow-y: auto;
    z-index: 10;
    box-shadow: 0px 0px 12px -4px #eae3d759;
    background: rgb(15 14 14 / 80%);
}



.modal_box .over_box_wrap::after{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 38px;
	/*background: linear-gradient(to bottom, rgba(255,255,255,0.5) 0%,rgba(255,255,255,1) 100%);*/
}
.modal_box .over_box {
    padding: 0 20px 50px 40px;
    height: auto;
    overflow: auto;
}
.modal_box .btn_close {
    box-sizing: border-box;
    position: absolute;
    top: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    border-radius: 100px;
    cursor: pointer;
    transition: transform 0.2s ease-in;
    z-index: 1;
}
.modal_bt::before{
    position: absolute;
    top: 0;
    bottom: 0;
    height: 1px;
    background-color: var(--white);
    margin: auto;
    content: '';
}
.modal_bt::before{
	right: 20px;
	width: 14px
}
.modal_bt::before{
    transform: rotate(90deg);
}
.modal_box .btn_close::before{
	left: 0;
    right: 0;
	width: 45px
}
.modal_box .btn_close::before{
    transform: rotate(45deg);
}
.modal_box .btn_close::after{
    transform: rotate(-45deg);
}

.modal_bt {
    background: var(--color5);
}

.modal_bt {
    max-width: 300px;}

.modal_bt {
    text-align: center;
    font-size:20px;
    margin:0 auto;
}

.modal_bt h3{text-align:center !important;}


.modal_bt {
    border-radius: 0px;
    border: solid 0px;
}
/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
span.bg_box{height: 23%;}	
.txt_wrap{padding: 0 12% 70px;}
.intro_img{height: 622px!important;}
}	


/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
span.bg_box{height: 300px;}
.txt_wrap{padding: 0 10% 60px;}
.intro_img{height: 316px!important;}

.modal_box .btn_close{top: 0px; right: 5px;}
.modal_box .btn_close::before{width: 34px;}
.modal_box .over_box{
    padding: 30px 10px 0;
    height: 100%;
    overflow: visible;
}
.modal_box .over_box_wrap::after{display: none}
.modal_bt{width: 100%;}
}
/*--- scrollbar ------------------------------------*/



/*.pd_l-2per{padding-left:2%;}*/
/*.pd_r-2per{padding-right:2%;}*/

/*--- scrollbar ------------------------------------*/
.modal_bt::before {
    position: absolute;
    top: 0;
    bottom: 0;
    height: 1px;
    background-color: var(--white);
    margin: auto;
    content: '';
}

.modal_bt::after {
    position: absolute;
    top: 0;
    bottom: 0;
    height: 1px;
    background-color: var(--white);
    margin: auto;
    content: '';
    right: 20px;
    width: 14px;
}
.modal_box .btn_close {
    background: url(dup/img/close.png);
    background-repeat: no-repeat;
    background-position: center;
}

.modal_box .title{text-align:center;}

/*モーダル----------------------------------------------------*/

/*#contents1, #contents2, #contents3 {*/
/*    margin-bottom: 200px;*/
/*}*/

figure.contents_img {
    width: 70% !important;
    margin: 0 auto;
}

#contents1 .contents_box, #contents2 .contents_box, #contents3 .contents_box {
    margin-left: 0%;
    width: 100% !important;
    margin-top: 5%;    
}

/*div#contents3 {*/
/*    margin-bottom: 0px;*/
/*}*/

#tour_bnr{display:none;}

.box_item_sns {
    padding-left: 6.33333%!important;
}

.box_item_sns a {
    list-style: none;
    padding: 20px;
    background: var(--color5);
    box-sizing: border-box;
    margin: 15px 15px;
    width: calc(50% - 30px) !important;
}

.box_item_sns {
    padding-left: 6.33333%!important;
    justify-content: space-between;
    width: 96% !important;
    margin-top: 50px;
}

#contents1::before, #contents2::before, #contents3::before {
    background-image: url(dup/img/bg_img.jpg);
    width: 110%;
    height: 50%;
    top: 67%;
    left: 50%;
    background-size: 102% auto;
    transform: translate(-50%, -50%);
    z-index: 0;
    background-position: center;
}

#add_contents figure.contents_img {
    width: 100% !important;
    margin: 0 auto;
}

#add_contents .modal_box .over_box {
    padding: 30px 0 20px;
    height: auto;
    overflow: auto;
}

.modal_bt{cursor:pointer;}


/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.box_item_sns {
    padding-left: 0%!important;
    justify-content: space-between;
    width: 90% !important;
    margin-top: 50px;
}

#contents1 .contents_box, #contents2 .contents_box, #contents3 .contents_box {
    margin-left: 0%;
    width: 90% !important;
    margin-top: 5%;
    margin: 5% auto;
}
#contents1::before, #contents2::before, #contents3::before {
    background-image: url(dup/img/bg_img.jpg);
    width: 110%;}
}


/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){

    .box_item_sns {
        padding-left: 0%!important;
        justify-content: space-between;
        width: 90% !important;
        margin-top: 50px;
    }
        
    .box_item_sns a {
        list-style: none;
        padding: 20px;
        background: var(--color5);
        box-sizing: border-box;
        margin: 10px 15px;
        width: 100% !important;
    }   

#contents1 .contents_box, #contents2 .contents_box, #contents3 .contents_box {
    margin-left: 0%;
    width: 100% !important;}  

#contents1::before, #contents2::before, #contents3::before {
    background-image: url(dup/img/bg_img.jpg);
    width: 110%;
    height: 55%;
    top: 60%;
    left: 50%;
    background-size: cover;
    transform: translate(-50%, -50%);
    z-index: 0;
    background-position: center;
}  

h2.title {
    font-size: 16px;
    letter-spacing: 1px;
}

.contents_box::before {
    width: 100px;
    height: 1px;
}

.contents_box::after {
    width: 1px;
    height: 100px;
}

.font_2up_sp {
    font-size: -webkit-calc(1rem + 1px);
    font-size: calc(1rem + 1px);
}
}


/*20230727*/
#body::before{display:none;}


/*20230807*/

.box_item_sns a.youtube_link{width:100% !important;}