﻿
#cms_2-c .rectangle_img img{
    position: relative;
    transform: translate(0px, 0px);
    top: 0;
    left: 0;
}

/* モーダルにイラスト増やす ----------------------------------*/
.modal-box .inner{
	position: relative;
}
.modal_title2,.modal_txt{
    text-shadow: 0px 0px 3px #fff,0px 0px 3px #fff,0px 0px 3px #fff;
}
.modal-box .inner:before {
 /*   content: " ";*/
	/*position: fixed;*/
	/*left: 50%;*/
	/*top: 50%;*/
	/*transform: translate(-50%, -50%);*/
	/*z-index: 0;*/
	/*background: url(./Dup/img/bg_m.jpg) no-repeat;*/
	/*background-size: cover;*/
	/*display: inline-block;*/
	/*width: 87.5%;*/
 /*   height: 100%;*/
 /*   max-height: 564px;*/
	/*opacity: 0.15;*/
}
.modal-box:before{background-color: #fff;}

.dec_m1{
    max-width: 130px;
    width: 30%;
    bottom: -60px;
    left: -50px;
    z-index: 2;
}
.dec_m2{
    max-width: 110px;
    width: 30%;
    top: -50px;
    left: -30px;
    z-index: 2;
}
.dec_m3{
    max-width: 130px;
    width: 30%;
    bottom: -80px;
    right: -50px;
    z-index: 2;
}
/* タブレット */
@media screen and (max-width: 768px){
    .modal-box .inner:before {max-height: 680px;width: 86%;}
    .dec_m2{left: -35px;}
}

/* スマホ */
@media screen and (max-width: 667px){
    .modal-box .inner:before {max-height: 85.5vh;width: 90%;}
    
    .dec_m1{max-width: 70px;left: -20px;bottom: -55px;}
    .dec_m2{max-width: 80px;left: -20px;}
    .dec_m3{max-width: 80px; right: -20px; bottom: -70px;}
}

/* CMS・下層ページ ----------------------------------*/
#page10 .con_box{max-width:700px;}
#page10 .con_box ul li a{
    display: block;
    background-color: #ffa500;
    border-radius: 7px;
    padding: 10px;
    width: 230px;
    margin: 0 10px 15px;
    text-align: center;
}


/* タブレット */
@media screen and (max-width: 768px){
}
/* スマホ */
@media screen and (max-width: 667px){
    #page10 .con_box ul li a{
        margin: 0 auto 15px;
    }
}

/* メインイメージ -----------------------------------*/
.sns_links{justify-content: flex-start;}

.catch {
    z-index: 3;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0%, -50%);/* X横 Y縦 始点が要素の中心になる */
    width: 30%;
}
/* タブレット */
@media screen and (max-width: 768px){
    .catch{
        top: 70%;
        right: 10px;
        width: 50%;
    }
}
/* スマホ */
@media screen and (max-width: 667px){}

/* トップページ -------------------------------------*/
.intro_img1{
    /*border: 3px solid #fff;*/
    /*box-shadow: 4px 4px 1px rgba(0, 0, 0, 0.5);*/
    /*box-sizing:border-box;*/
    /*    -moz-box-sizing: border-box;*/
    /*    -webkit-box-sizing: border-box;*/
}
#intro_wrap{
    background: linear-gradient(0deg, rgba(255,255,255,0.4) 80%, rgba(255,255,255,0) 100%);
}
#intro .con_title{font-size:35px;}
#intro .intro_title{
    font-size: 30px;
    color: #333;
}
.modal_title2{
    font-size: 28px;
    font-weight: 500;
}
.more .more_item:hover .icon-right.after:after{
    color: #fff;
}
.more .more_item:hover{
    background-color: rgba(255, 165, 0,0.8);
    border-color: #ffa500;
}
.intro_right_text{
    background-color: rgba(255,255,255,1);
    padding: 5%;
}
.intro_txt{padding: 0 3% 3%;}
.top_cms_box{background-color: rgba(255,255,255,0.85);}
.loop1{
    border-top: 9px solid #222;
    border-bottom: 9px solid #222;
}
.loop1::before {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-image: url("../dup/img/img_long_1.jpg");
	background-size: auto 100%;
	background-position-y: 0;
	background-position-x: 0;
	background-repeat: repeat-x;
	animation: loop 30s linear infinite;
}
.modal_title1{display: none;}
.modal-box .inner{max-height: 550px;}
#contents .con_title{font-size: 50px;}
#contents .con_txt{font-size: 30px;}
@keyframes loop {
	0% {background-position-x: 0;}
	100% {background-position-x: -1000px;}
}
.loop2::before {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-image: url("../dup/img/img_long_2.jpg");
	background-size: auto 100%;
	background-position-y: 0;
	background-position-x: 0;
	background-repeat: repeat-x;
	animation: loop2 30s linear infinite;
}
@keyframes loop2 {
	0% {background-position-x: 0;}
	100% {background-position-x: 1000px;}
}
#intro .intro_photo h2,.top_title h2 > span{
    -webkit-text-stroke: 2px #FFF;
    text-stroke: 2px #FFF;
}
.top_title h2{
    top: 0px;
}
/* タブレット */
@media screen and (max-width: 768px){
    #contents .con_title{font-size: 35px;}
    #contents .con_txt{
        font-size: 23px;
    }
    
}
/* スマホ */
@media screen and (max-width: 667px){
    .modal-box .inner{max-height: 50vh;padding: 70px 10%;}
    .modal_title2{
        /*width: 215px;*/
        font-size: 20px;
        /*margin: 0 auto 10px;*/
    }

    .intro_right figure{display: none;}
    #contents_wrap{padding: 80px 5%;}
    #contents .con_title{font-size: 28px;}
    #contents .con_txt {font-size: 24px;}
    #contents .con_txt span{text-align: center;}
}

/* 全体 ---------------------------------------------*/

#scroll{display:none;}
.liana,.overlay .overlay-nav .top .jp{
    font-family: 'Ubuntu', sans-serif;
}
.more .more_item,.patrima,#page_title .jp,#contents .con_title,#intro .con_title{
    font-family: 'Anton', sans-serif;
}
body,.overlay .overlay-nav .en,.cms_title .liana{
    font-family: 'Murecho', sans-serif;
}
.cms_title .liana{font-weight: bold;}

.overlay.open{
    height: 100vh;
    z-index: 10;
}
#loading.bg_color1{background-color:#fff;}
.progressbar-text{
    color: #362300!important;
    font-family: 'Anton', sans-serif!important;
}


#pc_nav li a::after, #footer_nav li a::after{background: #362300;}
#pc_nav li a, #footer_nav li a{
    color: #362300;
}
.menu-trigger-bar{background-color:#362300;}
.overlay{background-color:#ffa500;}
.overlay:before{background-color:transparent!important;}
ul.bottom li a:hover{
    background-color: #ffb631;
}

header{
    background-color: rgba(255, 255, 255,0.8);
    border:none;
}
header.scr_header{
    background-color: rgba(255, 255, 255,0.5);
    backdrop-filter: blur( 5px );
    border:none;
}

.blur{
    background:rgba(255,255,255,0);
    backdrop-filter: blur( 0px );
}
.linkStyle{
	color:#ffa500;
	text-decoration: underline;
	transition: all 0.5s;
}
.linkStyle:hover{
	color:#ffa500;
	opacity: 0.7;
	text-decoration: none;
}
#wrap{position:relative;}

.con_box{
    background-color: rgba(255,255,255,1);
    border: 1px solid #333;
    padding: 30px 5% 30px;
}
.top_con_box{
    background-color: rgba(255,255,255,0.8);
}
#page_title_img{height: 500px;}
#page_title .page_title_box{
    position: absolute;
    left: 50%;
    bottom: -30px;
    transform: translate(-50%, 0%);
    background-color: rgba(255,255,255,0.9);
    /*background: linear-gradient(0deg, #d5d5d5 10%, #fff 30%);*/
    /*border-radius: 10px 10px 0 0;*/
    border-radius: 0px;
    padding: 40px 10px 10px;
    /*z-index: -1;*/
    border: 1px solid #333;
    width: 78%;
}
#footer_nav{
    background-color: #fff;
    padding: 20px 0 30px;
}
#footer_info.bg_color3{background-color: #ffa500;}
.tel_bt a:hover,.contact_bt a:hover{
    background-color:#ffb52e;
}
.tel_bt a,.contact_bt a{
    border-radius: 7px;
}
#copyright.bg_color1{background-color:#222;}



#page_title.txt_white{
    color: #362300;
}
#page_title .en{
    font-size: 40px;
    padding: 10px;
    top: 50%;
    left: 50%;
    transform: translate(-50% , -50%);
    display: block;
}
#page_title .jp{
    display: inline-block;
    font-size: 20px;
    top: 60px;
    left: 13px;
}
.page_container.txt_white,.con_box{
    color: #222;
}

/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){
    .con_box{padding: 30px 5% 30px;}
    .overlay-nav .sns_links{
        justify-content: space-evenly;
    }
    #page_title .en{
        letter-spacing: 0em;
        font-size: 24px;
        font-weight: bold;
        padding: 10px 0px;
    }
    #page_title .jp{
        font-size: 17px;
        letter-spacing: 2px;
        left: 3px;
    }
    #page_title .page_title_box{
        padding: 43px 10px 10px;
    }
}

/* 配色 ----------------------------------------------*/

.txt_color1,.hvr_txt_color1:hover{color: #ffa500;} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: #ffa500;} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: #362300;} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: #362300;} /* アクセントカラー2 */
/*.txt_color5,.hvr_txt_color5:hover{color: #f2ede7;}*/ /* アクセントカラー2 */

.bg_color1,.hvr_bg_color1:hover{background-color: #ffa500;} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: #ffa500;} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: #201500;} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: #201500;} /* アクセントカラー2 */
/*.bg_color5,.hvr_bg_color5:hover{background-color: #f2ede7;}*/ /* アクセントカラー2 */

.border_color1,.hvr_border_color1:hover{border-color: #ffa500;}
.border_color2,.hvr_border_color2:hover{border-color: #ffa500;}
.border_color3,.hvr_border_color3:hover{border-color: #362300;}
.border_color4,.hvr_border_color4:hover{border-color: #362300;}
/*.border_color5,.hvr_border_color5:hover{border-color: #f2ede7;}*/

/*テンプレート  -------------------------------------*/



/* CMS1-g ----------------------------------*/
.cms_1-g .box{padding: 15px 15px 15px 0;}
.cms_1-g .cate_box{
    background-color: #fff;
    /*border-radius: 20px;*/
}
/*.cms_1-g .box_img1{border-radius: 20px 0 0 20px;}*/
/* タブレット */
@media screen and (max-width: 768px){
    .cms_1-g .img_wrap{
        padding: 0;
        width: 33%!important;
    }
    .cms_1-g .cate_box .box{padding: 2% 4%;}
    .cms_1-g .box_txt1{line-height: 1.5;padding: 10px 30px 0 10px;}
}
/* スマホ */
@media screen and (max-width: 667px){
    .cms_1-g .img_wrap{width: 100%!important;}
    /*.cms_1-g .box_img1{border-radius: 20px 20px 0 0px;}*/
    .cms_1-g .cate_box .box{padding: 5%;}
}

/*キャラクター紹介TOP---------------------------------------------------------------*/
.topcms_menu_type2 .cate_box{
	margin: 0 10px;
	background-color: #fff;
	border-radius: 15px;
}
.topcms_menu_type2 .box_title1{
	font-size: 16px
}
/*--- slick ------------------------------------*/
.topcms_menu_type2 .slick-box{
    opacity: 0;
    transition: 3s;
}
.topcms_menu_type2 .slick-initialized{
    opacity: 1
}
.topcms_menu_type2 .slick-box .prev, .topcms_menu_type2 .slick-box .next {
    display: block;
	cursor: pointer;
	position: absolute;
	top: 40%;
	z-index: 1;
	padding: 15px;
}
.topcms_menu_type2 .slick-container{
    padding-left: 30px;
    padding-right: 30px;
}
.topcms_menu_type2 .slick-box .prev {
	left: -54px;
}
.topcms_menu_type2 .slick-box .next {
	right: -54px;
}
/* Dots */
.topcms_menu_type2 .slick-dots{
    position: absolute;
    bottom: -35px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.topcms_menu_type2 .slick-dots li{
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}
.topcms_menu_type2 .slick-dots li button{
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.topcms_menu_type2 .slick-dots li button:hover,
.topcms_menu_type2 .slick-dots li button:focus{
    outline: none;
}
.topcms_menu_type2 .slick-dots li button:hover:before,
.topcms_menu_type2 .slick-dots li button:focus:before{
    opacity: 1;
}
.topcms_menu_type2 .slick-dots li button:before{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '●';
    text-align: center;
    opacity: .25;
    color: black;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.topcms_menu_type2 .slick-dots li.slick-active button:before{
    opacity: .75;
    color: black;
}
/* 最後まで行ったら、矢印透過する */
.topcms_menu_type2 .slick-disabled{
	opacity: 0.3;
}
/* 要素の高さを合わせる */
.topcms_menu_type2 .slick-slide {
	height: auto !important;
}
.topcms_menu_type2 .slick-track {
	display: flex;
}
/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
.topcms_menu_type2 .slick-container{
    padding-left: 0;
    padding-right: 0;
}
.topcms_menu_type2 .slick-initialized {
    padding-bottom: 15px;
}
.topcms_menu_type2 .slick-box .prev,
.topcms_menu_type2 .slick-box .next{
	top: 98%;
}
.topcms_menu_type2 .slick-box .prev {
	left: -8px;
}
.topcms_menu_type2 .slick-box .next {
	right: -8px;
}
.topcms_menu_type2 .cate_box {
    margin: 0 5px;
}
.topcms_menu_type2 .box_title1{
    height: 3em;
}
}


/* 閉じるボタン付き追従バナー */
.fix_banner{
	max-width: 200px;
	position: fixed;
	bottom: 10px;
	right: 3%;
	z-index: 9;
	transition: 0.5s;
}
.fix_banner .close_bt{
	position: absolute;
	bottom: 163px;
    right: 165px;
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	transition: 0.5s;
	background-color: rgba(255,255,255,0.9);
	border: solid 1px #fff;
	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: #ffa500;
	height: 3px;
	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 {opacity: 0;z-index: -1;
}
.fix_banner.close2{opacity: 0;z-index: -1;}

@media  screen and (max-width: 768px){
.fix_banner{max-width: 130px;}
.fix_banner .close_bt{bottom: 95px;right: -5px;}
}

@media  screen and (max-width: 667px){
.fix_banner{max-width: 90px;right:20px;}
.fix_banner .close_bt{
	width: 25px;
	height: 25px;
	bottom: 70px;
	right: -10px;
}
.fix_banner .close_bt span{
	width: 25px;
	height: 25px;
}
}
/* 閉じるボタン付き追従バナー end */