﻿@font-face {
font-family: "NimbusSan";
  src: url("./Dup/css/NimbusSan.otf") format("otf"),url("./Dup/css/NimbusSan.woff") format("woff"),url("./Dup/css/NimbusSan.woff2") format("woff2");
}
/*@font-face {*/
/*font-family: "SourceHanSans";*/
/*  src: url("./Dup/css/SourceHanSans.otf") format("otf"),url("./Dup/css/SourceHanSans.woff") format("woff"),url("./Dup/css/SourceHanSans.woff2") format("woff2");*/
/*}*/



:root{--fontnim: "NimbusSan","游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;}

/*h2,h3{font-family: var(--fontsou) !important;}*/
/*ページタイトルが英字の時のフォント指定*/
.mail_bt a,#header-nav a,.cms_title_inner h2,.menu_list li a,.l-gh__scrollnav-pagetop-arr,.l-gh__scrollnav-pagetop-text,.more a,.con_bt a,.inner h2,.top_map h3,#footer_nav a,p#copyright,.info_txt h3,.fontnim,.title_box h2,.font_en,.info_title_inner h2,.l-gh__scrollnav-scroll-text
{font-family: var(--fontnim) !important;}   

/* color ---------------------------------------------------------------------------------------------*/
:root {
    --color1: #0d0d0d;
    --color2: #f5f5f5;
    --color3: #a59886;
    --color4: #fbfaf9;
    --color5: #3e3e3e;
    --color6: #ffffff;
    --white: #fbfbfb;
    --black: #0d0d0d;
    --gray: #8e877e;
}

.txt_red {color: #d15534;}

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 */
/* 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_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);}

.linkStyle{color: var(--color3);
          border-bottom:solid 1px;
}
body#body {background: var(--color6);}
/* color ---------------------------------------------------------------------------------------------*/
/* コード集 ---------------------------------------------------------------------------------------------*/
.fadein{
	transform: translateY(20px);
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
}
.fadein.start{transform: translateY(0);opacity: 1;}
/* コード集 ---------------------------------------------------------------------------------------------*/


/*■■■■■■■■■■■■ top ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.catch {
    z-index: 2;
    width: 29vw;
    bottom: -3%;
    left: 0%;
    transform: translate(9%, -30%);
}
    
section#top_contents2 {
    background: url(dup/img/bg_img.png);
    background-size: 500px;
    position: relative;
}
    
#top_contents2 .con_box .text_box .before{display:none;}

#top_contents2 .con_box .con_img {height: 75vh;}

.linehight_2 {line-height: 2;}
#top_contents2 .con_box:nth-of-type(2) {margin-top: 120px;}
#top_contents1 {padding: 160px 10% 165px;}
#top_contents1, #top_contents2, #top_cms {
    padding-right: 10%;
    padding-left: 10%;}
section#top_contents2 {padding:130px 0% !important;}
#top_contents2 .con_box .img_box {
    width: 60% !important;
    margin-left: 0%;}
    
#top_contents2 .con_box:nth-of-type(2) .img_box {
    margin-right: 0%;
    width: 60% !important;
    margin-left: auto;}

section#top_contents1 p {
    letter-spacing: 1px;
    line-height: 2;
    }
    
.top_cms_title .after, .top_info_title .after,.top_cms_title .before, .top_info_title .before{display:none;}
.top_cms_title {text-align: left;}
.cms_title_inner {
    text-align: left;
    padding: 0 !important;}

.cms_title_inner h2 {
    font-size: 30px;
    transform: translate(-2px, 5px);
    line-height:1;}

.cms_title_inner p{color:var(--color3);}

span.item03 {
    width: 37vw;
    position: absolute;
    top: 115px;
    left: 0;
    z-index: 2;
    mix-blend-mode: multiply;
    opacity: 0.8;}
    
span.item04 {
    width: 28vw;
    position: absolute;
    bottom: 105px;
    right: 0;
    z-index: 2;
    mix-blend-mode: multiply;
    opacity: 0.8;}

.title_box {background: var(--color6);}

.cms_2-b .cate_box,#cms_2-b .cate_box {
    background: url(dup/img/bg_img.png);
    border: solid 1px var(--color2);
    background-size: 500px;
    margin-bottom: 15px;}
.cms_2-b .cate_box {
    margin: 10px !important;
    width: calc(25% - 20px) !important;}

div#header {padding-right: 105px;}

section#top_contact_box {display: none;}
#top_info::before {
    content: '';
    position: absolute;
    background: url(dup/img/bg_img.png);
    background-size: 500px;
    width: 100%;
    height: 50%;
    top: -55%;
    left: 0;
    z-index: -1;}
section#top_info {padding-top: 50px;}

.foot_link .bg_img::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(13,13,13,0.2);}
    
#top_contents2 .con_box .text_box {
    width: 40%;
    z-index: 1;
    top: 50%;
    margin-right: calc(90px + 5%);
    right: 0%;
    transform: translateY(-50%);
    padding: 5%;
    overflow-y: auto;
    max-height: 113%;
    background: var(--color6);
}
    #top_contents2 .con_box:nth-of-type(2) .text_box {    margin-left: 5%;left: 0%;}
/*■■■■■■■■■■■■ top ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/    

/*■■■■■■■■■■■■ all ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/  
.mail_bt a {
    border-radius: 0 0 0px 0px;
    padding: 10px 28px;}
h1.logo {width: 90% !important;}
#logo {
    width: 300px;
    height: 150px;}

#loading_line .line2 {background: var(--color3);}
.mail_bt .bg_color3 {background: var(--color5);}
.mail_bt .bg_color3:hover {background: var(--color3);}
/*■■■■■■■■■■■■ all ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/  


/*■■■■■■■■■■■■ sub ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/  
    .box_txt2 {line-height: 2;}
/*■■■■■■■■■■■■ sub ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*タブレット*/
@media screen and (max-width: 768px){
    
    #logo {
        width: 300px;
        height: 95px;}
        
    #logo h1.logo {
        top: 50%;
        left: 10px;
        transform: translateY(-50%);
        max-width: 180px;}
    .box_txt2 {line-height: 1.8;}
    
.catch {
    z-index: 2;
    width: 60vw;
    bottom: auto;
    top: 0%;
    left: 2%;
    transform: translate(0%, 60%);
}    
    

    .overlay {top: 95px;}
    #top_contents1, #top_contents2, #top_cms {
        padding-right: 5%;
        padding-left: 5%;}
    #top_contents1 {padding: 170px 5% 120px;}
#top_contents2 .con_box .con_img {
    height: 37vh;
    width: 90%;
    margin: auto;
}
#top_contents2 .con_box .img_box,#top_contents2 .con_box:nth-of-type(2) .img_box {width: 100% !important;}
    .cms_2-b .cate_box {
        margin: 5px 5px !important;
        width: calc(50% - 20px) !important;}
    .foot_link a {
        font-size:25px;
        padding: 50px;}
        
        
#top_contents2 .con_box .text_box {
    width: 90%;
    z-index: 1;
    top: 0%;
    right: 0%;
    transform: translateY(0%);
    padding: 5%;
    margin: auto;
    overflow-y: auto;
    max-height: 113%;
    background: var(--color6);
}

    #top_contents2 .con_box:nth-of-type(2) .text_box {left: 0%;}
    .cms_title_inner h2 {line-height: 1;}
    section#top_contents2,.cms_2-b .cate_box,#cms_2-b .cate_box,bg_img,#top_info::before {background-size: 400px;}
    .tb_sns_wrap .sns_links_tb li {margin: -3px 5% !important;}
}


/*スマホ*/
@media screen and (max-width: 667px){
    #logo {
        width: 300px;
        height: 78px;}
    h1.logo {width: 100% !important;}
    #logo h1.logo {
        top: 50%;
        left: 16px;}
    .overlay {top: 77px;}
    #top_contents2 .img_box, #top_contents2 .con_box .text_box {width: 100%!important;}
    #top_contents2 .con_box .text_box {padding-top: 30px}
    .cms_title_inner h2 {line-height: 1.3;}
    .cms_2-b .cate_box {
        margin: 10px auto !important;
        width: calc(100% - 0px) !important;}
    section#top_contents2 {background-size: 100%;}
    .cms_2-b .cate_box, #cms_2-b .cate_box {background-size: 80%;}
    #top_info::before {
        width: 100%;
        height: 37%;
        top: -45%;
        background-size: 80%;}
    .foot_link a {
        font-size: 15px;
        padding: 0px 0;
        letter-spacing: 4px;}
    #top_info::before {
        width: 100%;
        height: 20%;
        top: -26%;
        background-size: 80%;}
    #cms_2-b .cate_box {padding: 20px;}
        .catch {
        z-index: 2;
        width: 80vw;
        bottom: auto;
        top: 50%;
        left: 5%;
        transform: translate(0%, -50%);
        }
        
    section#top_contents2,.cms_2-b .cate_box,#cms_2-b .cate_box,bg_img,#top_info::before {background-size: 300px !important;}    
    #top_contents2 .img_box, #top_contents2 .con_box .text_box {width: 90%!important;}
    #top_contents2 .con_box .con_img {height: 28vh;}
}





/*0921*/

body,h1, h2, h3, h4, h5, h6{font-weight: 600;}
#top_contents2 .con_box .text_box::-webkit-scrollbar{display: none;}
#top_contents2 .con_box .text_box::-webkit-scrollbar{display: none;}
#top_contents2 .con_box .text_box{scrollbar-width: none;}


h1.logo { width: 100% !important;}
div#logo2 {max-width: 300px;}

.line.bg_color1{background:var(--color2);}

#loading_logo {max-width: 300px;}

/* フォントサイズ */
.font_10{font-size: 11px;}.font_11{font-size: 12px;}.font_12{font-size: 13px;}.font_13{font-size: 14px;}
.font_14{font-size: 15px;}.font_15{font-size: 16px;}.font_16{font-size: 17px;}.font_17{font-size: 18px;}
.font_18{font-size: 19px;}.font_19{font-size: 20px;}.font_20{font-size: 21px;}.font_21{font-size: 22px;}
.font_22{font-size: 23px;}.font_23{font-size: 24px;}.font_24{font-size: 25px;}.font_25{font-size: 26px;}
.font_26{font-size: 27px;}.font_27{font-size: 28px;}.font_28{font-size: 29px;}.font_29{font-size: 30px;}
.font_30{font-size: 31px;}.font_31{font-size: 32px;}.font_32{font-size: 33px;}.font_33{font-size: 34px;}
.font_34{font-size: 35px;}.font_35{font-size: 36px;}.font_36{font-size: 37px;}.font_37{font-size: 38px;}
.font_38{font-size: 39px;}.font_39{font-size: 40px;}.font_40{font-size: 41px;}.font_41{font-size: 42px;}
.font_42{font-size: 43px;}.font_43{font-size: 44px;}.font_44{font-size: 45px;}.font_45{font-size: 46px;}
.font_46{font-size: 47px;}.font_47{font-size: 48px;}.font_48{font-size: 49px;}.font_49{font-size: 50px;}
.font_50{font-size: 51px;}

/* フォントサイズ 基準値から+- */
.font_100per{font-size:-webkit-calc(1rem + 1px);font-size : calc(1rem + 1px);}
.font_200per{font-size:-webkit-calc(2rem + 1px);font-size : calc(2rem + 1px);}
.font_2up{font-size:-webkit-calc(1rem + 3px);font-size : calc(1rem + 3px);}
.font_4up{font-size:-webkit-calc(1rem + 5px);font-size : calc(1rem + 5px);}
.font_6up{font-size:-webkit-calc(1rem + 7px);font-size : calc(1rem + 7px);}
.font_8up{font-size:-webkit-calc(1rem + 9px);font-size : calc(1rem + 9px);}
.font_10up{font-size:-webkit-calc(1rem + 11px);font-size : calc(1rem + 11px);}
.font_12up{font-size:-webkit-calc(1rem + 13px);font-size : calc(1rem + 13px);}
.font_14up{font-size:-webkit-calc(1rem + 15px);font-size : calc(1rem + 15px);}
.font_2dw{font-size:-webkit-calc(1rem + 1px);font-size : calc(1rem + 1px);}
.font_4dw{font-size:-webkit-calc(1rem - 3px);font-size : calc(1rem - 3px);}
.font_6dw{font-size:-webkit-calc(1rem - 5px);font-size : calc(1rem - 5px);}
.font_8dw{font-size:-webkit-calc(1rem - 7px);font-size : calc(1rem - 7px);}

/*タブレット*/
@media screen and (max-width: 768px){
/* フォントサイズ　タブレット */
.font_10_tb{font-size: 11px;}.font_11_tb{font-size: 12px;}.font_12_tb{font-size: 13px;}.font_13_tb{font-size: 14px;}
.font_14_tb{font-size: 15px;}.font_15_tb{font-size: 16px;}.font_16_tb{font-size: 17px;}.font_17_tb{font-size: 18px;}
.font_18_tb{font-size: 19px;}.font_19_tb{font-size: 20px;}.font_20_tb{font-size: 21px;}.font_21_tb{font-size: 22px;}
.font_22_tb{font-size: 23px;}.font_23_tb{font-size: 24px;}.font_24_tb{font-size: 25px;}.font_25_tb{font-size: 26px;}
.font_26_tb{font-size: 27px;}.font_27_tb{font-size: 28px;}.font_28_tb{font-size: 29px;}.font_29_tb{font-size: 30px;}
.font_30_tb{font-size: 31px;}.font_31_tb{font-size: 32px;}.font_32_tb{font-size: 33px;}.font_33_tb{font-size: 34px;}
.font_34_tb{font-size: 35px;}.font_35_tb{font-size: 36px;}.font_36_tb{font-size: 37px;}.font_37_tb{font-size: 38px;}
.font_38_tb{font-size: 39px;}.font_39_tb{font-size: 40px;}.font_40_tb{font-size: 41px;}.font_41_tb{font-size: 42px;}
.font_42_tb{font-size: 43px;}.font_43_tb{font-size: 44px;}.font_44_tb{font-size: 45px;}.font_45_tb{font-size: 46px;}
.font_46_tb{font-size: 47px;}.font_47_tb{font-size: 48px;}.font_48_tb{font-size: 49px;}.font_49_tb{font-size: 50px;}
.font_50_tb{font-size: 51px;}

/* フォントサイズ 基準値から+- */
.font_100per_tb{font-size:-webkit-calc(1rem + 1px);font-size : calc(1rem + 1px);}
.font_200per_tb{font-size:-webkit-calc(2rem + 1px);font-size : calc(2rem + 1px);}
.font_2up_tb{font-size:-webkit-calc(1rem + 3px);font-size : calc(1rem + 3px);}
.font_4up_tb{font-size:-webkit-calc(1rem + 5px);font-size : calc(1rem + 5px);}
.font_6up_tb{font-size:-webkit-calc(1rem + 7px);font-size : calc(1rem + 7px);}
.font_8up_tb{font-size:-webkit-calc(1rem + 9px);font-size : calc(1rem + 9px);}
.font_10up_tb{font-size:-webkit-calc(1rem + 11px);font-size : calc(1rem + 11px);}
.font_12up_tb{font-size:-webkit-calc(1rem + 13px);font-size : calc(1rem + 13px);}
.font_14up_tb{font-size:-webkit-calc(1rem + 15px);font-size : calc(1rem + 15px);}
.font_2dw_tb{font-size:-webkit-calc(1rem - 1px);font-size : calc(1rem - 1px);}
}


/*スマホ*/
@media screen and (max-width: 667px){
/* フォントサイズ　スマホ */
.font_10_sp{font-size: 11px;}.font_11_sp{font-size: 12px;}.font_12_sp{font-size: 13px;}.font_13_sp{font-size: 14px;}
.font_14_sp{font-size: 14px;}.font_15_sp{font-size: 16px;}.font_16_sp{font-size: 17px;}.font_17_sp{font-size: 18px;}
.font_18_sp{font-size: 19px;}.font_19_sp{font-size: 20px;}.font_20_sp{font-size: 21px;}.font_21_sp{font-size: 22px;}
.font_22_sp{font-size: 23px;}.font_23_sp{font-size: 24px;}.font_24_sp{font-size: 25px;}.font_25_sp{font-size: 26px;}
.font_26_sp{font-size: 27px;}.font_27_sp{font-size: 28px;}.font_28_sp{font-size: 29px;}.font_29_sp{font-size: 30px;}
.font_30_sp{font-size: 31px;}.font_31_sp{font-size: 32px;}.font_32_sp{font-size: 33px;}.font_33_sp{font-size: 34px;}
.font_34_sp{font-size: 35px;}.font_35_sp{font-size: 36px;}.font_36_sp{font-size: 37px;}.font_37_sp{font-size: 38px;}
.font_38_sp{font-size: 39px;}.font_39_sp{font-size: 40px;}.font_40_sp{font-size: 41px;}.font_41_sp{font-size: 42px;}
.font_42_sp{font-size: 43px;}.font_43_sp{font-size: 44px;}.font_44_sp{font-size: 45px;}.font_45_sp{font-size: 46px;}
.font_46_sp{font-size: 47px;}.font_47_sp{font-size: 48px;}.font_48_sp{font-size: 49px;}.font_49_sp{font-size: 50px;}
.font_50_sp{font-size: 51px;}

/* フォントサイズ 基準値から+- */
.font_100per_sp{font-size:-webkit-calc(1rem + 1px);font-size : calc(1rem + 1px);}
.font_200per_sp{font-size:-webkit-calc(2rem + 1px);font-size : calc(2rem + 1px);}
.font_2up_sp{font-size:-webkit-calc(1rem + 3px);font-size : calc(1rem + 3px);}
.font_4up_sp{font-size:-webkit-calc(1rem + 5px);font-size : calc(1rem + 5px);}
.font_6up_sp{font-size:-webkit-calc(1rem + 7px);font-size : calc(1rem + 7px);}
.font_8up_sp{font-size:-webkit-calc(1rem + 9px);font-size : calc(1rem + 9px);}
.font_10up_sp{font-size:-webkit-calc(1rem + 11px);font-size : calc(1rem + 11px);}
.font_12up_sp{font-size:-webkit-calc(1rem + 13px);font-size : calc(1rem + 13px);}
.font_14up_sp{font-size:-webkit-calc(1rem + 15px);font-size : calc(1rem + 15px);}
.font_2dw_sp{font-size:-webkit-calc(1rem - 1px);font-size : calc(1rem - 1px);}

}


@media screen and (max-width: 768px){
.catch {top: 5%;}
section#footer_nav li {padding: 15px;}
#logo h1.logo {max-width: 220px;}

div#logo2 {
    max-width: 300px;
    width: 30% !important;}
}

@media screen and (max-width: 667px){
#logo {height: 70px;}
.catch {
    z-index: 2;
    width: 85vw;
    bottom: auto;
    top: 50%;
    left: 5%;
    transform: translate(0%, -50%);}
div#logo2 {
    max-width: 300px;
    width: 65% !important;}
.font_2dw {
    font-size: -webkit-calc(1rem - 1px);
    font-size: calc(1rem - 1px);
}
#loading_logo {
    width: 50%;}
}