﻿@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@600;700&family=Noto+Sans+JP&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');

/*#main_menu ul li a, #top_cms .cms_title h2, #aisatsu h2, #main_img2 h2, #top_contents .contents_box h2.txt_white, .cate_title{font-family: 'Cairo', sans-serif!important;font-family: vdl-megag, sans-serif!important;font-weight: 400;font-style: normal;}*/
/*header .menu_title{font-size: 20px;font-weight: 700;}*/

#main_menu ul li a, #top_cms .cms_title h2, #main_img2 h2{font-family: 'Righteous', sans-serif!important;}

#aisatsu h2, #top_contents .contents_box h2.txt_white, .cate_title{font-family: vdl-megag, sans-serif!important;}
header .menu_title{font-size: 26px;}

body, .font_sans-serif, #main_menu ul li a .menu_sub_title, #page9 .cate_box p a, #main_img2 span{font-family: 'Noto Sans JP', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif!important}

#aisatsu h2{font-size: 33px;}
#main_img2 h2{font-weight: 600;}

/* color ---------------------------------------------------------------------------------------------*/
.linkStyle{color: #fff;transition: opacity .3s;}
.linkStyle:hover{opacity: 0.7}
body,.txt_color_nomal{color: #333333;}
.txt_white{color: white;}
.txt_red{color: red;}
.txt_color1{color: #2A2A2A} /* メインカラー */
.txt_color2{color: #e4007f} /* サブカラー */
.txt_color3{color: #e4007f} /* アクセントカラー1 */
.txt_color4{color: #EE5072} /* アクセントカラー2 */

/* background-color */
.bg_white{background-color: white} /* 白背景 */
.bg_black{background-color: black} /* 黒背景 */
.bg_color1{background-color: #2A2A2A} /* メインカラー */
.bg_color2{background-color: #e6e6e6} /* サブカラー */
.bg_color3{background-color: #e4007f} /* アクセントカラー1 */
.bg_color4{background-color: #EE5072} /* アクセントカラー2 */
.bg_color_clear{background-color: transparent!important}

/* border-color ※!important */
.border_color1{border-color: #2A2A2A}
.border_color2{border-color: #e6e6e6}
.border_color3{border-color: #e4007f}
.border_color4{border-color: #e4007f}

/* hover_color */
.hvr_txt_color_nomal:hover{color: #333333;}
.hvr_txt_white:hover{color: white;}
.hvr_txt_red:hover{color: red;}
.hvr_txt_color1:hover{color: #2A2A2A} /* メインカラー */
.hvr_txt_color2:hover{color: #e6e6e6} /* サブカラー */
.hvr_txt_color3:hover{color: #e4007f} /* アクセントカラー1 */
.hvr_txt_color4:hover{color: #EE5072} /* アクセントカラー2 */

.hvr_bg_white:hover{background-color: white} /* 白背景 */
.hvr_bg_black:hover{background-color: black} /* 黒背景 */
.hvr_bg_color1:hover{background-color: #2A2A2A} /* メインカラー */
.hvr_bg_color2:hover{background-color: #e6e6e6} /* サブカラー */
.hvr_bg_color3:hover{background-color: #e4007f} /* アクセントカラー1 */
.hvr_bg_color4:hover{background-color: #EE5072} /* アクセントカラー2 */
.hvr_bg_color_clear:hover{background-color: transparent!important}

.hvr_border_color1:hover{border-color: #2A2A2A}
.hvr_border_color2:hover{border-color: #e6e6e6}
.hvr_border_color3:hover{border-color: #e4007f}
.hvr_border_color4:hover{border-color: #EE5072}


/* tel_none ---------------------------------------------------------------------------------------------*/
.header .grid_3 a, .foot_tel_bt, #con_tel_wrap{display: none}


/* design ---------------------------------------------------------------------------------------------*/
#item_tel a, #con_tel_wrap a{border: 3px solid #e4007f;}
.width_1000-max{max-width: 80%!important;}
@media screen and (max-width: 1400px){.width_1000-max{max-width: 90%!important;}}

.contents_box::after, .contents_box2::after{display: none}
.contents_box::before, .contents_box2::before{display: none}
#contents, #top_cms, #top_contents{margin-bottom: 0;padding-bottom: 100px;}
.button_container span{background-color: #aaa;box-shadow: none}
.fas.fa-envelope.pd_r-10px.border_so1-r.border_color4{display: none;}
#fakeloader .fl{max-width: 502px!important;width: 46%!important;}
#fakeloader .fl{
	opacity: 0;
	animation-name: loader;
	animation-duration: 1s;
	animation-timing-function: ease;
	animation-iteration-count: 1;
	transform: translate(-50%,-50%) scale(0.7)
}
@keyframes loader {
	0% {opacity: 0;transform: translate(-50%,-50%) scale(0.7)}
	100% {opacity: 1;transform: translate(-50%,-50%) scale(1)}
}

/* ---------- header ---------- */
.header{padding-bottom: 24px;}
#logo img{max-width: 471px;    width: 100%;}
#main_menu{padding: 20px 0;margin-bottom: 0;border-bottom: none;background-color: #383838;background-image: url(../dup/img/h_bg.png);background-size: 800px;}
#main_menu.fixed{border-bottom: none;background-color: rgba(33,33,33,0.9)!important}
#main_menu ul{max-width: 1080px!important;margin: auto}
#main_menu ul li{width: 16.6666%!important;padding: 0;box-sizing: border-box}
#main_menu ul li:not(:last-of-type){border-right: 2px dashed #fff;}
#main_menu ul li a{position: relative}
#main_menu ul li a:hover{opacity: 1}
#main_menu ul li a .menu_title{transition: 0.3s;font-size: 19px;letter-spacing: 2px}
#main_menu ul li a .menu_sub_title{position: absolute;width: 100%;top: calc(50% - 2px);color: #fff;left: 50%;transform: translate(-50%, -50%);opacity: 0;transition: 0.3s;font-size: 14px}
#main_menu ul li a:hover .menu_title{opacity: 0}
#main_menu ul li a:hover .menu_sub_title{opacity: 1}

/* ---------- main_img ---------- */
#main_img, #main_img2{max-width: 100%!important}
#main_img{margin-bottom: 0;max-height: 90vh;overflow: hidden}
#main_img2{background-position: center}
#main_img2 h2{font-size: 40px;letter-spacing: 5px;background-color: rgba(255,255,255,0.58);color: #e4007f;}
#main_img2 h2 span{font-size: 16px;letter-spacing: 3px}
#main_img2 .page_title{background-color: transparent!important;}

/* ---------- aisatsu ---------- */
#aisatsu{max-width: 100%!important;margin-bottom: 0;}
#aisatsu > div{padding-top: 143px;background-color: rgba(42,42,42,0.86)!important;padding-bottom: 120px;position: relative}
#aisatsu > div::before {
    content: '';
    display: inline-block;
    width: 100%;
    height: 100%;
    background-image: url(../dup/img/img2.png);
    background-size: 1000px;
    background-position: top left;
    background-repeat: no-repeat;
    position: absolute;
    left: 30px;
    top: -162px;
	pointer-events: none;
	z-index: 2;
}
#aisatsu h2, #aisatsu p{max-width: 1080px!important;margin: auto;}
#aisatsu h2{margin-bottom: 34px;color: #f35b8c;}
#aisatsu > div  {
    background: url("../dup/img/copy.png") repeat-x;
	background-size: 900px;
    background-position: 0 100%;
    -webkit-animation: copy 40s linear infinite;
    animation: copy 40s linear infinite;
}
@-webkit-keyframes copy {
    from {background-position: 0  100%;}
    to {background-position: -1956px 100%;}
}
@keyframes copy {
    from {background-position: 0 100% ;}
    to {background-position: -1956px 100%;}
}

/* ---------- top_contents ---------- */
#top_contents{background-image: url(./Dup/img/bg.jpg)!important;background-size: 850px;padding-top: 100px;}
#contents1 .contents_box, #contents2 .contents_box, #contents3 .contents_box{position: relative;background-image: none!important;background-color: #fff;padding: 50px 50px 40px;margin-top: -253px;}
#contents1 .contents_box::before, #contents2 .contents_box::before, #contents3 .contents_box::before {
    position: absolute;
    content: '';
    display: block;
    width: calc(100% - 25px);
    height: calc(100% - 25px);
    background-color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: -1;
	border: 2px solid #222;
	pointer-events: none;
}
#top_contents .contents_box .txt_white{color: #2A2A2A;}
#top_contents .contents_box h2.txt_white{color: #e4007f;position: relative;padding-top: 20px;padding-bottom: 33px;}
#top_contents .contents_box h2::before {
    content: '';
    display: inline-block;
    width: 236px;
    height: 255px;
    background-image: url(../dup/img/no1.png);
    background-size: 92%;
    background-position: top center;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    right: 0;
    top: -106px;
    margin: auto;
    padding: 52px 63px 52px;
    box-sizing: border-box;
    z-index: -1;
    pointer-events: none;
}
#top_contents .contents_box h2::after {
    display: inline-block;
    content: "";
    width: 183px;
    height: 13px;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background-image: repeating-linear-gradient(-45deg,#e4007f, #e4007f 2px,transparent 0, transparent 7px);
}
#contents2 .contents_box h2::before{background-image: url(../dup/img/no2.png);}
#contents3 .contents_box h2::before{background-image: url(../dup/img/no3.png);}

/* ---------- top_cms ---------- */
#top_cms {
    padding-top: 140px;
    position: relative;
    padding-left: 30px;
    padding-right: 30px;
    background: url(../dup/img/item2.png) left bottom 13px / 18% no-repeat;
}
#top_cms::before {
    content: '';
    display: inline-block;
    width: 100%;
    height: 100%;
    background-image: url(../dup/img/img1.png);
    background-size: 1000px;
    background-position: top left;
    background-repeat: no-repeat;
    vertical-align: middle;
    position: absolute;
    left: 30px;
    top: -151px;
	pointer-events: none;
}
#top_cms .cms_box .border_white{border: solid 2px #ffffff;text-align: left}
#top_cms .cms_title{position: relative;padding-bottom: 40px;}
#top_cms .cms_title h2{font-size: 46px;letter-spacing: 3px;font-weight: normal}
#top_cms .cms_title p{color: #e4007f;font-size: 20px;line-height: 1;}
#top_cms .cms_title h2::before, #top_cms .cms_title h2::after{display: none}
.effect.effect-1:before{content: "卍";color: #e4007f;animation: r1 1s linear infinite;}
@keyframes r1 {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
#top_cms .cms_title{position: relative;padding-top: 100px}
#top_cms .cms_title::before{
	content: '';
	display: inline-block;
	width: 70px;
	height: 70px;
	background-image: url("../dup/img/item1.png");
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	left: 0;
	right: 0;
	top: 24px;
	margin: auto;
}

/* ---------- other ---------- */
.cate_list .txt_color2{color: #fff}
.cate_list .border_color2{border-color: #fff}
.cate_list a:hover{opacity: 0.4}

#info_map{background-image: url(./Dup/img/bg.jpg)!important;background-size: 741px;background-color: #F7F7F7;color: #212121;}
#info_map .width_1000-max{max-width: 90%!important;background-color: rgba(255,255,255,0.91);padding: 50px;}
#info_map .border_color2{border-color: #2A2A2A}
#info_map .txt_white{color: #2A2A2A;}

#page7 .cate_wrap .txt_color2{color: #f35b8c}
#page7 .cate_wrap .border_color2{border-color: #f0f0f0}
#page9 .cate_wrap .txt_color2{color: #e4007f}
#page9 .cate_wrap .border_color2{border-color: #e4007f}
#page10 .cate_wrap span{display: block;color: #e4007f;padding-left: 0}
#page10 .cate_wrap span::after{content: "-"}

footer.border_so1-t{border-top: none}

#cms_2-b .cate_title{background-color: transparent}
#cms_3-a .cate_title{position: relative;background-color: transparent;text-align: center;padding-bottom: 22px;}
#cms_3-a .cate_title::before {
    display: inline-block;
    content: "";
    width: 183px;
    height: 13px;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background-image: repeating-linear-gradient(-45deg,#e4007f, #e4007f 2px,transparent 0, transparent 9px);
}
#cms_3-a .cate_txt1{color: #ffa3c0;}
#cms_3-a .cate_txt1:empty{display: none}
#cms_3-a .sub_cate_txt1{line-height: 1.7;}

/* ---------- anim ---------- */
.anime_txt span{
display: inline-block;
opacity: 0;
-webkit-transform: translateY(20px);
-ms-transform: translateY(20px);
transform: translateY(20px);
transition:transform 0.1s ease;
}
.anime_txt.scrollin span.active{
opacity: 1;
-webkit-transform: translateY(0);
-ms-transform: translateY(0);
transform: translateY(0);
}




/* IE */
@media all and (-ms-high-contrast: none){
	#info_map .d_flex{align-items: flex-start;}
	.cate_list li a{padding-top: 15px}
}

/* ---------- 1158 ---------- */
@media screen and (max-width: 1158px){
	#aisatsu > div::before, #top_cms::before{left: 11px;background-size: 900px;}
	#top_cms::before{top: -141px;}
}
/* ---------- 990 ---------- */
@media screen and (max-width: 990px){
	#aisatsu > div::before, #top_cms::before{background-size: 747px;}
	#aisatsu > div::before{top: -126px;}
	#top_cms::before{top: -114px;}
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
	header{margin-bottom: 4px;}
	#main_menu ul li a .menu_title{letter-spacing: 1px;font-size: 12px;}
	#main_menu ul li a .menu_sub_title{display: none}
	#main_menu ul li a:hover .menu_title{opacity: 1}
	
	#aisatsu > div{padding-top: 106px;}
	#aisatsu h2{font-size: 26px;}
	#aisatsu > div::before, #top_cms::before{background-size: 80%;}
	#aisatsu > div::before{top: -104px;}
	#top_cms{background: url(../dup/img/item2.png) left bottom 13px / 25% no-repeat;}
	#top_cms::before{top: -101px;background-size: 89%;}
	
	#contents1 .contents_box, #contents2 .contents_box, #contents3 .contents_box{margin-top: -100px;padding: 40px 30px 30px;}
	#top_contents .contents_box h2::before{top: -69px;background-size: 72%;}
}

/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
	#fakeloader .fl{width: 74%!important;}
	#logo{margin-right: 12px;width: 72.33333%!important;}
	
	.button_container{height: 3px;}
	.button_container span{background-color: #e4007f}
	.overlay{background-image: url(./Dup/img/bg.jpg)!important;background-size: 540px;}
	.overlay::before {
		display: inline-block;
		content: "";
		width: calc(100% - 30px);
		height: calc(100% - 30px);
		background: rgba(255,255,255,0.86);
		position: absolute;
		top: 15px;
		right: 0;
		left: 0;
		margin: auto;
	}
	.overlay ul li a:after{display: none}
	.button_container.active .top, .button_container.active .bottom{background: #01011c;}
	
	#aisatsu > div::before, #top_cms::before{display: none}
	#aisatsu .img2, #top_cms .img1{display: block}
	#top_cms .img1{width: 89%;margin: auto;margin-top: -74px;}
	
	#aisatsu > div{padding-top: 22px;margin-top: -6px;}
	#aisatsu h2{font-size: 26px;margin-top: 25px}
	
	#top_contents{background-size: 540px;padding-bottom: 42px;}
	#contents1 .contents_box, #contents2 .contents_box, #contents3 .contents_box{margin-top: 0px;}
	#top_contents .contents_box h2.txt_white{padding-top: 10px;font-size: calc(1rem + 5px);font-size: -webkit-calc(1rem + 5px);}
	#top_contents .contents_box h2::before{background-image: url(../dup/img/no1_sp.png);background-size: 59%;}
	#contents2 .contents_box h2::before{background-image: url(../dup/img/no2_sp.png);}
	#contents3 .contents_box h2::before{background-image: url(../dup/img/no3_sp.png);}
	
	#top_cms{padding-left: 0;padding-right: 0;padding-top: 17px;padding-bottom: 0;background: url(../dup/img/item2.png) left bottom 15px / 30% no-repeat;}
	#CMS_TITLE1{margin-top: 12px;}
	#CMS_TITLE5{padding-bottom: 100px;margin-bottom: 0;}
	#top_cms .cms_title{padding-top: 89px;}
	#top_cms .cms_title::before{width: 54px;height: 54px;}
	#top_cms .cms_title h2{font-size: 26px;}
	
	#info_map .width_1000-max{padding: 30px;}
	.map iframe{height: 395px;}
	
	#main_img2 h2{font-size: 24px;}
}




/* 2021.09.22 */
@media screen and (max-width: 667px){
#top_cms .img1 {margin-top: 0;}
}
