﻿/* font---------------------------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Marcellus&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400&display=swap');

.more a {
    padding-bottom: 8px;
    padding-top: 5px;}
    
@font-face {
font-family: "hono";
  src: url("dup/css/hono.ttf") format("ttf"),url("dup/css/hono.woff") format("woff"),url("dup/css/hono.woff2") format("woff2");
}
body{font-family:'hono','Zen Kaku Gothic New',"游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif !important;
    font-size:15px;
    font-weight: 400;
}
h2, h3, h4, h5, h6, div#intro_txt h2, section.top_cms_box h2, #header_menu li a,p.info_title span,.more, #header_menu, .top_cms_box .cms_title h2, #bottom_menu, #copyright, #page_title, .cate_list::before, .foot_link a, .con_no,.cate_list::before,.banner a{
    font-family: 'Marcellus','hono',"游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif" !important;
    /*font-weight: 600;*/
    /*font-size: -webkit-calc(1rem + 8px);*/
    /*font-size: calc(1rem + 8px);*/
    
}

#header_menu li a span {
    font-size: -webkit-calc(1rem + 0px);
    font-size: calc(1rem + 0px);}
section#contents h3 {
    font-size: -webkit-calc(1rem + 7px);
    font-size: calc(1rem + 7px);}
section#contents p {line-height: 2;}
/* font---------------------------------------------------------------------------------------------*/


/* color---------------------------------------------------------------------------------------------*/
body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: #0d0d0d;}
.txt_white,.hvr_txt_white:hover{color: #f8f8f8;}
.txt_color1,.hvr_txt_color1:hover{color: #0d0d0d} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: #e5e3df} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: #941a1f} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: #713610} /* アクセントカラー2 */

/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: #f8f8f8} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: #0d0d0d} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: #0d0d0d} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: #e5e3df} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: #941a1f} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: #713610} /* アクセントカラー2 */

/* border-color ※!important */
.border_color1,.hvr_border_color1:hover{border-color: #0d0d0d}
.border_color2,.hvr_border_color2:hover{border-color: #e5e3df}
.border_color3,.hvr_border_color3:hover{border-color: #941a1f}
.border_color4,.hvr_border_color4:hover{border-color: #713610}
/* color---------------------------------------------------------------------------------------------*/

/*linkStyle*/
a.linkStyle {
    color:#941a1f !important;
    border-bottom:solid 1px;
    transition: 0.5s;}
a.linkStyle:hover {
    color:#941a1f !important;    
    border-bottom:solid 1px;}
#page-top a{background-color: #f8f8f8}
footer .bg_color2 {
    background-color: rgb(229 227 223 / 70%);
    border-top: solid 1px #f8f8f8;}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ top ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#wrap {
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/*-------------------------------------------------------
				メインビジュアル
-------------------------------------------------------*/
section#intro {
    background: transparent;
}

section#main_img img {
    box-sizing: border-box;
    width: calc(100% - 90px) !important;
    height: calc(100% - 90px) !important;
    object-fit: cover;
}
section#main_img::before {
    content: '';
    background-image: url(dup/img/main_logo.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 25vw;
    height: 52vh;
    z-index: 5;
    top: 50%;
    left: 50%;
    transform: translate(-44%, -40%);
}

/*-------------------------------------------------------
				メインビジュアル
-------------------------------------------------------*/


/*-------------------------------------------------------
				ローディング画面
-------------------------------------------------------*/
/*#loading_line .line{background-color: #59595f;z-index:2;}*/
#loading{
	position: fixed;
	height: 100%;
	width: 100%;
	z-index: 999999;
	background-color: #fff;
    top:0;
}
#loading_line{
	position: absolute;
	top: 0;
	margin: auto;
	width: 100%;
	height: 100%;
}

#loading_logo{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 60%;
	max-width: 150px;
	z-index: 3;
}


/* ======================================================================================
　　svg anim
======================================================================================== */
.load_logo_wrap{width: 80%;max-width: 500px;z-index: 1;}

#svg_anim1{
    width: 100%;
     -webkit-animation: opatxt 2s 1;
    animation: opatxt 2s 1;
}

#svg_anim1 path{
    fill:none;
    stroke:#f8f8f8;
    stroke-width:20;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-miterlimit:10;}
    

@keyframes opatxt {
	0% {
	    opacity: 0;
	    filter: blur(5px);
	    transform-origin:left top;
        transform:skew(-10deg,0) translate(-30px, 0);
	}
	100% {
	    opacity: 1;
	    filter: blur(0);
	    transform:skew(0) translate(0, 0);
	}
}
@keyframes opaanim {
	0% {
	    opacity: 1;
	    width: 100%;
	    filter: blur(40px);
	}
	100% {
	    opacity: 0.8;
	    width: 0;
	    filter: blur(40px);
	}
}
.load_logo_wrap::before{
    display: inline-block;
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,1);
    position: absolute;
    bottom: 0;
    right: 0;
    margin: auto;
    z-index: 1;
}
.load_logo_wrap::before {
	-webkit-animation: opaanim 3s 1;
	animation: opaanim 3s 1;
	animation-fill-mode: forwards;
}
/*-------------------------------------------------------
				ローディング画面
-------------------------------------------------------*/



/*-------------------------------------------------------
				read more
-------------------------------------------------------*/
#contents .txt_more {
    cursor: pointer;
    background-color: #941a1f;
    color: #e5e3df;
    margin: 20px 20px 0;
}
#contents .txt_more:hover{
    background-color: #e5e3df;
    color: #941a1f;
}
#contents .txt_more .arrow{
    height: 0.8em;
    width: 1em;
}
#contents .txt_more .arrow::before, #contents .txt_more .arrow::after{
    position: absolute;
    content: "";
    width: 10px;
    height: 1px;
    background-color: currentColor;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: 0.3s;
    transition-property: width, right, left, transform;
}
#contents .txt_more .arrow::after{
    transform: rotate(90deg);
}
#contents .txt_more.trans .arrow::before{
    transform: rotate(-45deg);
    width: 6px;
    right: 4px;
}
#contents .txt_more.trans .arrow::after{
    transform: rotate(45deg);
    width: 6px;
    left: 4px;
}

.txt_more span.circle, .arrow {
     background:transparent !important; 
}

.more a{
    padding: 10px;
    border: none;
    color: var(--black);
    background-color: var(--color2);
    border-radius: 100px;
    font-family: var(--font-jp);
}
.more a:hover{
    color: #f8f8f8;
}
.more span.d_block{
    width: 100px;
    height: 100px;
    top: auto;
    left: 50%!important;
    bottom: -100px;
    transform: translateX(-50%)!important;
    border-radius: 50%;
    background-color: var(--color3);
    transition-property: width, height, bottom;
}
.more a:hover span.d_block{
    width: 300px;
    height: 300px;
    bottom: -150px;
}


/*-------------------------------------------------------
				read more
-------------------------------------------------------*/
section#contents p {line-height: 2.5;}
.intro_txt p {line-height: 2.5;}
.foot_link a {background-color: rgb(248 248 248 / 20%);}
.foot_link a:hover {background-color: rgb(248 248 248 / 30%);}

div#info {background: rgb(229 227 223 / 50%)}
section#bottom_menu {background: rgb(229 227 223 / 50%)}

.foot_link a {
    border: solid 1px #f8f8f8;
    color: #0d0d0d;
}

.banner{line-height: 1;}
.banner a{
    letter-spacing: 3px;}
.banner a:hover {
    letter-spacing: 4px;}
/*header #logo .logo {*/
/*    width: 50%;*/
/*    margin: 0;}*/
    
/*.top_header .logo{opacity: 0;*/
/*                  transition: 0.4s;}*/
                  
/*.top_header.transform .logo{*/
/*                    opacity: 1;}*/
/*header{padding-top: 0;}*/

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ top ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ sub ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#wrap {background-color: #f8f8f8;}
/*.open_wrap {*/
/*    padding-top: 200px;*/
/*}*/
/*.g_type3 .open .close {*/
/*    top: 100px;*/
/*    right: 20px;}*/

/*-------------------------------------------------------
				コード集 GALLERY
-------------------------------------------------------*/
html.modalset{
	overflow: hidden;
}
.g_type3 .cate_box{
    cursor: pointer;
    margin: 0;
}
.g_type3 .slide_img .thumbnail .swiper-wrapper .swiper-slide {
    cursor: pointer;
}
.g_type3 .open.active {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
}
.g_type3 .open {
    top: 0;
    left: 0;
    z-index: 10;
    overflow-y: auto;
    /*background-color: rgba(255,255,255,0.95);*/
    transform: scale(0.95);
    transition: 0.3s;
    transition-property: opacity, transform;
    opacity: 0;
    pointer-events: none;
}
.g_type3 .swiper-slide{
    opacity: 1!important;
}
.g_type3 .slide_img .thumbnail .swiper-wrapper {
    margin-left: 0!important;
    transform: none!important;
}
.g_type3 .open .close {
    top: 20px;
    right: 20px;
    z-index: 1;
    cursor: pointer;
    width: 30px;
}
.g_type3 .open .close img{
	box-shadow: 0 2px 4px rgba(0,0,0,0);
}
.g_type3 .swiper-button-prev{
	background-image: url(../dup/img/swiper_prev.png)!important;
}
.g_type3 .swiper-button-next{
	background-image: url(../dup/img/swiper_next.png)!important;
}
/*IE*/
@media all and (-ms-high-contrast: none){
.g_type3 .slide_img .thumbnail .swiper-wrapper .swiper-slide {
    overflow: hidden;
    position: relative;
    height: 80px;
}
.g_type3 .slide_img .thumbnail .swiper-wrapper .swiper-slide img{
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}
}


/*----------------------------------------------*/
.open_wrap {
    background: rgb(251 251 251 / 95%);
    top: 50%;
    left: 50%;
    right: auto;
    position: absolute;
    transform: translate(-50%, -50%);
    box-shadow: 0px 0px 8px 4px rgb(113 54 16 / 10%);
}

/*-------------------------------------------------------
				コード集 GALLERY
-------------------------------------------------------*/

section#page_title {background: url(dup/img/bg_img_a.jpg);}


section#page_title {
    background: url(dup/img/bg_img_a.jpg);
    width: calc(90% - 10px);
    top: 50px;
    margin: 0px auto 10%;
    padding-bottom: 8%;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
}
    
/*section#bottom_menu {*/
/*    padding-bottom: 25px;*/
/*    margin-bottom: 0;}*/
#page_title #filter_white {padding-top: 150px;}

.sub_bottom_menu {
    padding-bottom: 5px;
    margin-bottom: 0;
    padding-top: 5px;
}

#page_title h2 {
    font-size: 40px;
    letter-spacing: 5px;
    mix-blend-mode: overlay;
}
/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ sub ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ all ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
div#map {
    -webkit-filter: sepia(.12) saturate(70%) hue-rotate(17deg);
    filter: sepia(.12) saturate(70%) hue-rotate(17deg);
}

::selection {
  color:  #f8f8f8;
  background-color: #713610;
}

div#page-top {box-shadow: 0px 0px 2px 1px #e5e3df;}

/*-------------------------------------------------------
				フェードイン
-------------------------------------------------------*/
.fadein{
	transform: translateY(20px);
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
}
.fadein.start{transform: translateY(0);opacity: 1;}
/*-------------------------------------------------------
				フェードイン
-------------------------------------------------------*/

.sns_links {justify-content: center;}
.sns_links li {margin: 0 10px;}
/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ all ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/


/*タブレット*/
@media screen and (max-width: 768px){
#main_img {height: 100vh !important;}
#main_img .box_img{height: 100vh !important;}
section#main_img::before {
    width: 24vw;
    height: 18vh;
    transform: translate(-44%, -44%);}
    
button {
    margin-top: -6px;
    margin-bottom: 11px;}
    
section#intro {padding-top: 130px;}
.load_logo_wrap {
    width: 80%;
    max-width: 300px;
    z-index: 1;}

.intro_txt p {line-height: 2.2;}
section#contents p {line-height: 2.2;}

section#page_title {
    background: url(dup/img/bg_img_a.jpg);
    width: calc(100% - 60px);
    top: 30px;
    max-width: inherit;
    min-width: inherit;
    margin: 0px auto 15%;
    padding-bottom: 12%;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;}
    
#page_title #filter_white {padding-top: 100px;}

.g_type3 .open.active {
    opacity: 1;
    transform: scale(0.95) !important;
    pointer-events: auto;
}
}



/*スマホ*/
@media screen and (max-width: 667px){
section#main_img img {
    box-sizing: border-box;
    width: calc(100% - 40px) !important;
    height: calc(100% - 40px) !important;
    object-fit: cover;}

header #logo .logo {
    width: 100%;
    margin: 0;}

header #logo {width: 150px!important;}

section#main_img::before {
    width: 45vw;
    height: 22vh;
    transform: translate(-46%, -46%);
    mix-blend-mode: multiply;}
    
section#intro {padding-top: 100px;}
.intro_txt p {line-height: 2;}
.load_logo_wrap {max-width: 200px;}
.info_box.pd_b-20px {padding-bottom: 100px;}
#logo2 {width: 220px;}

#page_title h2 {font-size: 25px;}
#page_title #filter_white {padding-top: 65px;}

section#page_title {
    background: url(dup/img/bg_img_a.jpg);
    width: calc(100% - 60px);
    top: 30px;
    margin: 0px auto 20%;
    padding-bottom: 16%;
    background-size: 130%;}
    
section.cms_box {padding-top: 20px;}

.open_wrap {
    background: rgb(251 251 251 / 95%);
    top: inherit !important;
    left: inherit !important;
    right: inherit !important;
    position: relative !important;
    transform: inherit !important;
    box-shadow: 0px 0px 8px 4px rgb(113 54 16 / 10%);
}
.g_type3 .open.active {
    opacity: 1;
    transform: scale(0.92) !important;
    pointer-events: auto;
}


.g_type3 .open.active {
        /*height: 150px;*/
        overflow-y: scroll;
        -ms-overflow-style: none;    /* IE, Edge 対応 */
        scrollbar-width: none;       /* Firefox 対応 */
    }
.g_type3 .open.active::-webkit-scrollbar {  /* Chrome, Safari 対応 */
        display:none;
    }

}




/*20220615---------------------------------------------------------------------------*/
section#main_img::before{content:none;}







