﻿/*--- font  ------------------------------------*/
@font-face {
    font-family: 'NotoSerif';
    font-style: normal;
    font-weight: 400;
    src: url('../Dup/img/NotoSerif_r.woff') format('woff'),
        url('../Dup/img/NotoSerif_r.eot')  format('eot');
    font-display: swap;
}
@font-face {
    font-family: 'NotoSerif';
    font-style: normal;
    font-weight: 700;
    src: url('../Dup/img/NotoSerif_bold.woff') format('woff'),
        url('../Dup/img/NotoSerif_bold.eot')  format('eot');
    font-display: swap;
}

.sc_anime.left_anime.active, #catch span.left_anime.active, #intro h2, #contents h4, #top_cms .top_cms_title h3 span, #contents_link a span, #footer .grid_6 h3, #page_title h2 span, #main_contents #main_menu li, .cate_list li, .cate_title, .font_en{font-family: "游明朝","YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho","NotoSerif", "serif"!important;}


/*--- mouse  ------------------------------------*/
body,a,.pointer,#cms_5-b .cate_box .open_bt, .cms_5-b .cate_box .open_bt,#pc_menu .bg_wrap .close_bt,#cms_5-b .cate_box .open_bt .box_title1, .cms_5-b .cate_box .open_bt .box_title1{cursor: none;}
.cursor{
	border-radius: 50%;
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 9999;
}
.cursor{
	width: 8px;
	height: 8px;
	background-color: #f295a9;
	opacity: 1;
	transition: all .3s;
	transition-property: transform,background;
}
.cursor::before {
    content: " ";
    display: block;
    width: 40px;
    height: 40px;
    position: relative;
    top: -22px;
    left: -18px;
    opacity: 1;
    transition: 0.5s;
    background-image: url(./dup/img/cursor.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.cursor.is-active{
	opacity: 1;
	background-color: transparent;
	border: solid 1px #f295a9;
	transform: scale(1.3);
}
.cursor.is-active::before{background-image: url(./dup/img/cursor_more.png);}



/* color ---------------------------------------------------------------------------------------------*/
.linkStyle{color: #333;transition: opacity .3s;text-decoration: underline}
.linkStyle:hover{opacity: 0.7}
.txt_color_nomal{color: #17191e;}
.txt_white{color: white;}
.txt_red{color: red;}
.txt_color1{color: #f3b300} /* メインカラー */
.txt_color2{color: #e1e1ef} /* サブカラー */
.txt_color3{color: #C70032} /* アクセントカラー1 */
.txt_color4{color: #f2f2f2} /* アクセントカラー2 */

/* background-color */
.bg_white{background-color: white} /* 白背景 */
.bg_black{background-color: black} /* 黒背景 */
.bg_color1{background-color: #f7c331} /* メインカラー */
.bg_color2{background-color: #ffffff} /* サブカラー */
.bg_color3{background-color: #C70032} /* アクセントカラー1 */
.bg_color4{background-color: #f2f2f2} /* アクセントカラー2 */

/* border-color ※!important */
.border_color1{border-color: #f7c331}
.border_color2{border-color: #e1e1ef}
.border_color3{border-color: #C70032}
.border_color4{border-color: #f2f2f2}


/* hover ---------------------------------------------------------------------------------------------*/
.hvr_txt_color_nomal:hover{color: #17191e;}
.hvr_txt_white:hover{color: white;}
.hvr_txt_red:hover{color: red;}
.hvr_txt_color1:hover{color: #f7c331} /* メインカラー */
.hvr_txt_color2:hover{color: #e1e1ef} /* サブカラー */
.hvr_txt_color3:hover{color: #C70032} /* アクセントカラー1 */
.hvr_txt_color4:hover{color: #f2f2f2} /* アクセントカラー2 */

/* background-color */
.hvr_bg_white:hover{background-color: white} /* 白背景 */
.hvr_bg_black:hover{background-color: black} /* 黒背景 */
.hvr_bg_color1:hover{background-color: #f7c331} /* メインカラー */
.hvr_bg_color2:hover{background-color: #e1e1ef} /* サブカラー */
.hvr_bg_color3:hover{background-color: #C70032} /* アクセントカラー1 */
.hvr_bg_color4:hover{background-color: #f2f2f2} /* アクセントカラー2 */

/* border-color ※!important */
.hvr_border_color1:hover{border-color: #f7c331 }
.hvr_border_color2:hover{border-color: #e1e1ef}
.hvr_border_color3:hover{border-color: #C70032}
.hvr_border_color4:hover{border-color: #f2f2f2}



/* design ---------------------------------------------------------------------------------------------*/

/*--- all  ------------------------------------*/
.bg_white{background: url( "../dup/img/bg1.jpg" ) left top / 1000px repeat white ;}
#loader::after{border-bottom: 2px solid #fff;transform: translate(0,45px);}
#loader img{width: 100px;height: 100px;}
body::before{background-color: #f1bb26;}
h1{width: 20%!important;max-width: 400px}
header .sns_links li a{opacity: 1}
#contents_link a h4{border: none;border-bottom: 1px solid #fff;}
footer .grid_6:nth-of-type(2) {background-color: #ecb211!important;}

#main_menu{margin-left: 0;}
#main_contents{justify-content: flex-end;align-items: center;background-color: #f9bc12;}
#main_contents::after{display: none}
#main_contents #main_img, #page_title{margin-left: 3.33333%;width: 65.33333%!important;}
#main_contents #main_img{max-height: 650px;overflow: hidden;}
#page_title{margin-top: 0;}
#main_contents #main_menu li::before{border: 2px solid #c70032;}
#main_contents #main_menu li.active::before{background-color: #c70032;}
#main_contents #main_menu li a{line-height: 1.3}
#top_cms .top_cms_title h3 span,#main_contents #main_menu li{text-shadow: 1px 1px 10px rgba(0,0,0,0.20);}


#top_cms .top_cms_title h3 span, #page_title h2 span{border-top: 2px solid #fff;}
#top_cms .top_cms_title h4 span, #page_title h3 span{border-bottom: 2px solid #fff;font-weight: normal;}



/*--- top  ------------------------------------*/
#main_contents #catch{
	margin-left: 0;
    transform: translateY(78px);
    text-align: right;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    height: 100%;
    right: 34px;
    top: 0;
}
#main_contents #catch h2{
	font-size: 37px;
    letter-spacing: 2px;
    text-align: left;
}
#catch span.left_anime {
    background-color: transparent;
    border-right: 1px solid #fff;
    padding-right: 15px;
    text-shadow: 3px 3px 20px rgb(0 0 0 / 42%);
    line-height: 1.4;
}

#intro::after{background-color: rgba(0,0,0,0.10);}
#intro > div{background-color: rgba(0,0,0,0.33);padding: 30px;}
#intro > div .item1 {
    z-index: 2;
    position: absolute;
    width: 19%;
    max-width: 182px;
    top: -97px;
    right: -47px;
    transform: rotate(10deg);
}
#intro > div .item1 img{
    animation-name: upDown;
    animation-iteration-count: infinite;
    animation-duration: 0.1s;
    animation-direction: alternate;
    animation-timing-function: steps(2);
    transition-duration: .3s;
    transition-property: transform;
	position: relative;
}
@keyframes upDown {
    0% {bottom: 0;}
    100% {bottom: -3px;}
}
#intro:before {
    content: "";
    display: block;
    width: 33%;
    max-width: 568px;
    height: 200%;
    position: absolute;
    top: -81%;
    right: 82%;
    background-image: url(./Dup/img/img1.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    z-index: 2;
}
#intro .img2 {
    width: 35%;
    max-width: 550px;
    height: 100%;
    bottom: -49%;
    left: 75%;
    pointer-events: none;
    z-index: 2;
}
#intro .more a, #top_cms .more a{border: none;border-bottom: 1px solid #fff;}
#contents h3{margin-bottom: 80px;}
#contents h3 span{border-top: 1px solid #fff;}


/*--- under  ------------------------------------*/
.cate_list li{border: 1px solid #f7c331;}
#page07 .grid_8 p{color: #333;}
#page07 .grid_4 h3::after{background-color: #f7c331;}
#page07 h3 span{background-color: #f5efe3;color: #333;}
#page09 h3 span{background-color: #e2d8b9;}


/* IE */
@media all and (-ms-high-contrast: none){
#main_contents #main_menu li::before{top: 1px!important;}
.cate_list a{padding-top: 15px!important}
.cate_list a .font_en{padding: 16px 5px 9px!important}
#contact_tel1 a,#contact_tel2 a{padding-bottom: 11px!important;}
#page09 h3 span{padding-bottom: 3px!important}
#page_title h2 span{padding: 15px 10px 0px 10px!important;line-height: 1.3;}
}

/* ---------- 1200 ---------- */
@media screen and (max-width: 1200px){
#main_contents #catch h2{font-size: 34px;}
}
/* ---------- 1100 ---------- */
@media screen and (max-width: 1100px){
#main_contents #catch{transform: translateY(60px);}
#main_contents #catch h2{font-size: 30px;}
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#menu_bt > div span{transform: translateX(11px);}
#main_contents #main_img, #page_title{
	max-height: 100%!important;
	margin-left: 8.33333%;
	width: 91.66667%!important;
}
#main_contents #catch{transform: translateY(14px);}
#main_contents #catch h2{font-size: 28px;}
#intro .img2{bottom: -67%;}
#contents h3{margin-bottom: 60px;}
#footer .grid_6 h3{font-size: 38px;}
.footer_txt{font-size: 13px}

#intro:before {
    width: 36%;
    top: -96%;
    right: 80%;
}
#intro > div .item1{
	top: -66px;
    right: -34px;
}
}

/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
#menu_bt > div span{transform: translateX(6px);}
#main_contents{padding-bottom: 43px;padding-top: 28px;}
#main_contents #catch{
	width: 94.33333%!important;
    right: auto;
    left: 5px;
    position: relative;
    transform: translateY(9px);
	top: auto;
    bottom: 0;
	-webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
}
#main_contents #catch h2{font-size: 21px;}
#catch span.left_anime{border: none;border-bottom: 1px solid #fff;}
#intro > div{padding: 20px;}
#intro:before{
    width: 77%;
    height: 100%;
    top: -31px;
    right: 63%;
    background-position: top;
}
#intro > div .item1{
	width: 26%;
	top: -29px;
    right: -33px;
}
#intro .img2 {
    bottom: 18px;
    width: 69%;
    left: 57%;
    height: 200px;
}
#contents{padding-top: 68px;}
#contents h3{margin-bottom: 30px;}
#top_cms .top_cms_title h3 span, #page_title h2 span{font-size: 24px;}
#footer .grid_6 h3{font-size: 30px;}
#page10 .grid_4 a .bg_color3{background-color: #e0aa14;}
}


/* ---------- 2021/07/29 ---------- */
#main_contents #catch h2 span{
	text-shadow: 2px 2px 1px #c70032, -2px 2px 1px #c70032, 2px -2px 1px #c70032, -2px -2px 1px #c70032, 2px 0px 1px #c70032, 0px 2px 1px #c70032, -2px 0px 1px #c70032, 0px -2px 1px #c70032;
}

/* ---------- 2021/09/13 ---------- */
#con_fix {
    bottom: 73px;
    right: 0;
    z-index: 10;
    width: 306px;
}
footer .d_flex.flex_space-between.pd_20px{padding-top: 90px;}
@media screen and (max-width: 667px){
#con_fix {
    bottom: 0;
    right: 50%;
    transform: translateX(50%);
    width: 191px;
}
footer .d_flex.flex_space-between.pd_20px{padding-top: 20px;padding-bottom: 80px;}
}
