@charset "UTF-8";

/*カバー==========================================================================*/
div#cover{
	position: fixed;
	z-index: 90;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: #ffffff;
}

/*ヘッダ==================================*/
div#header{
	position: fixed;
	z-index: 102;
	width: 100%;
	left: 0;
	top: 0;
	background-color: #ffffff;
	font-size: 0;
	line-height: 0;
	letter-spacing: 0;
	border-bottom: solid 1px #ffffff;
	/*box-shadow: 0 .2rem .3rem 0 rgba(0,0,0,.05);*/
}

.sub div#header,
div#header.header_sml{
	border-color: #eeeeee;
	/*border-color: rgba(134,28,60,1);*/
}
.narrow_view div#header_bg{/*ヘッダのメニュー開いた時用*/
	position: fixed;
	z-index: 101;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(0,0,0,.5);
	display: none;
}
.wide_view div#header_bg{
	display: none;
}
/*ヘッダ内側=============================================*/
div#header_inner{
	box-sizing: border-box;
	position: relative;
}
/*PC*/
.pc_view div#header_inner{
	margin: 0 auto;
	min-width: 960px;/*W*/
	max-width: 1200px;/*W*/
	box-sizing: border-box;
	padding: 0 30px/*●*/;
}
/*スマホ*/
.sm_view div#header_inner{
	width: 100%;
	padding: 0 15px/*●*/;
}

/*TAKENAKA================================*/
div#header_takenaka{
	position: absolute;
	left: 0;
	top: 0;
	background-image: url(../img/takenaka.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center center;
	transition: all .3s;
}
.pc_view div#header_takenaka{
	width: 182px;
	height: 40px;
}
.pc_view .sub div#header_takenaka,
.pc_view div#header.header_sml div#header_takenaka{
	width: 145px;
	height: 40px;
}
.sm_view div#header_takenaka{
	width: 30vw;
	height: 6.6vw;
}
.sm_view div#header.header_sml div#header_takenaka{
	width: 25vw;
	height: 5.5vw;
}

/*ヘッダ上=================================*/
div#header_upper{
	position: absolute;
	right: 0;
	top: 0;
	text-align: right;
}
.pc_view div#header_upper{
}
.sm_view div#header_upper{
}
div#header_upper>a.link_rd{
	display: inline-block;
	color: #222222;
}
.pc_view div#header_upper>a.link_rd{
	font-size: 16px;
	line-height: 30px;
	font-weight: bold;
	transition: color .3s;
}
.sm_view div#header_upper>a.link_rd{
	font-size: 3vw;
	line-height: 2;
	font-weight: bold;
}
div#header_upper>a.link_rd:hover{
	text-decoration: none;
}
.display_device div#header_upper>a.link_rd:hover{
	/*background-color: #eeeeee;*/
	color: rgba(134,28,60,1);
}

.pc_view a.je_btn{
	display: inline-block;
	font-size: 14px;
	line-height: 20px;
	color: #777777;
}
.display_device a.je_btn:hover{
	text-decoration: none;
	opacity: .7;
}
.sm_view a.je_btn{
	display: inline-block;
	font-size: 2.8vw;
	line-height: 1.5;
	color: #777777;
	margin-left: 1em;
}
a.je_btn:after{
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: .2em;
	vertical-align:-5%;
	background-image: url(../img/icon_open.svg);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	
}

/*ヘッダベース=============================*/
div#header_base{
	position: relative;
	text-align: center;
	transition: padding .3s;
}
.pc_view div#header_base{
	margin: 15px 0;
	padding-top: 30px;
}
.pc_view .sub div#header_base,
.pc_view div#header.header_sml div#header_base{
	padding-top: 0px;
}
.sm_view div#header_base{
	margin: 2vw 0;
	padding-top: 9vw;
}
.sm_view .sub div#header_base,
.sm_view div#header.header_sml div#header_base{
	padding-top: 7vw;
}

/*タイトル大*/
div#header_title1{
	display: inline-block;
	position: relative;
	background-image: url(../img/header_title1.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center center;
	transition: all .3s;
}
.pc_view div#header_title1{
	width: 600px;
	height: 60px;
}
.pc_view .sub div#header_title1,
.pc_view div#header.header_sml div#header_title1{
	width: 440px;
	height: 44px;
}
.sm_view div#header_title1{
	width: 84vw;
	height: 8.4vw;
}
.sm_view .sub div#header_title1,
.sm_view div#header.header_sml div#header_title1{
	width: 70vw;
	height: 7vw;
}
/*タイトル小*/
div#header_title2{
	display: inline-block;
	position: relative;
	background-image: url(../img/header_title2.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center top;
	transition: all .3s;
}
.pc_view div#header_title2{
	width: 700px;
	height: 28px;
}
.sm_view div#header_title2{
	width: 90vw;
	height: 3.6vw;
}
.sub div#header_title2,
div#header.header_sml div#header_title2{
	height: 0;
}


/*ヘッダロゴ（使わない）==================================================*/
/*ロゴの縦でヘッダの高さを調整している*/
/*JSで、100px以上スクロールすると、addClass("header_sml")*/
/*★は、他にも影響するから、変更する時は注意！*/

div#header_logo{
	display: inline-block;
	position: relative;
	background-image: url(../img/logo_head.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	transition: all .3s;
}
/*スマホ*/
.sm_view div#header_logo{
	width: 40vw;
	height: 20vw;/*★*/
	margin: 2vw;/*★*/
	/*高さ = 20 + 2*2 = 24vw*/
}
.sm_view div#header.header_sml div#header_logo{
	width: 20vw;
	height: 10vw;/*★*/
	/*高さ = 10 + 2*2 = 14vw*/
}
/*PC*/
.pc_view div#header_logo{
	width: 240px;
	height: 120px;/*★*/
	margin: 10px 0;/*★*/
	/*高さ = 120 + 10*2 = 140px*/
}
.pc_view div#header.header_sml div#header_logo{
	width: 120px;
	height: 60px;/*★*/
	/*高さ = 60 + 10*2 = 80px*/
}

/*メニューOPEN/CLOSE（使わない）==========================================*/
.wide_view div#gmenu_btn{
	display: none !important;
}
div#gmenu_btn{
	position: absolute;
	cursor: pointer;
}
.display_device div#gmenu_btn{
	transition: all .3s;
}
.pc_view div#gmenu_btn{
	width: 60px;
	height: 60px;/*★*/
	right: 20px;
	bottom: 10px;
}
.pc_view div#gmenu_btn:before{
	content: "メニューを表示";
	position: absolute;
	top: 0;
	right: calc(100% + 5px);
	font-size: 13px;
	line-height: 60px;/*★*/
	white-space: nowrap;
}
.pc_view div#gmenu_btn.opened:before{
	content: "メニューを隠す";
}
.sm_view div#gmenu_btn{
	width: 14vw;
	height: 14vw;/*★*/
	right: 3vw;
	top: 0;
}
.touch_device div#gmenu_btn:active,
.display_device div#gmenu_btn:hover{
	background-color: #f3f3f3;
}
div#gmenu_btn>div{
	position: absolute;
	width: 60%;
	height: 2px;
	left: 20%;
	background-color: #666666;
	transition: all .3s;
}
div#gmenu_btn>div:nth-child(1){top: calc(28% - 1px);}
div#gmenu_btn>div:nth-child(2){top: calc(50% - 1px);}
div#gmenu_btn>div:nth-child(3){top: calc(72% - 1px);}

div#gmenu_btn.opened>div:nth-child(2){
	width: 0;
	left:50%;
}
div#gmenu_btn.opened>div:nth-child(1),
div#gmenu_btn.opened>div:nth-child(3){
	width: 80%;
	left: 10%;
	top: calc(50% - 1px);
}
div#gmenu_btn.opened>div:nth-child(1){
	-webkit-transform: rotateZ(45deg);
	-ms-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
}
div#gmenu_btn.opened>div:nth-child(3){
	-webkit-transform: rotateZ(-45deg);
	-ms-transform: rotateZ(-45deg);
	transform: rotateZ(-45deg);
}

/*メニュー（使わない）==========================================*/
/*PC通常==============*/
.wide_view div#header_menu{
	position: absolute;
	display: block !important;
	right: 30px/*●*/;
	bottom: 20px;
}
.wide_view div#header.header_sml div#header_menu{
}
.wide_view div.gmenu{
	display: inline-block;
	position: relative;
	margin-left: 3px;
}
.wide_view.display_device div.gmenu{
	transition: background-color .3s;
}
.wide_view div.gmenu.has_sub:hover,
.wide_view.display_device div.gmenu:hover{
	background-color: #f3f3f3;
}
.wide_view div.gmenu>a{
	display: inline-block;
	font-size: 15px;
	line-height: 46px;
	color: #333333;
	padding: 0 18px;
	transition: background-color .3s;
}
.wide_view div.gmenu>a.gmain_current{
	background-color: rgba(134,28,60,1);
	color: #ffffff !important;
}
.wide_view.display_device div.gmenu>a:hover{
	text-decoration: none;
}
.wide_view div.gmenu>div{
	position: absolute;
	overflow: hidden;
	display: block !important;
	background-color: #ffffff;
	border: solid 1px #eeeeee;
	box-shadow: 0 2px 3px 0 rgba(0,0,0,.05);
	left: 0;
	top: 100%;
	height: 0;
	min-width: 100%;
	box-sizing: border-box;
	opacity: 0;
}
.wide_view div.gmenu>div.pulldown_right{
	left: auto;
	right: 0;
}
.wide_view div.gmenu.has_sub:hover>div{
	transition: opacity .3s;
	height: auto;
	opacity: 1;
}
.wide_view div.gmenu>div>a{
	display: block;
	white-space: nowrap;
	font-size: 15px;
	line-height: 46px;
	color: #333333;
	background-color: #ffffff;
	padding: 0 19px;
}
.wide_view div.gmenu>div>a.gsub_current{
	color: rgba(134,28,60,1);
}
.wide_view.display_device div.gmenu>div>a{
	transition: background-color .3s;
}
.wide_view.display_device div.gmenu>div>a:hover{
	text-decoration: none;
	background-color: #f3f3f3;
}

/*スマホ・PC狭い==============*/
.narrow_view div#header_menu{
	position: absolute;
	background-color: #ffffff;
	width: 100%;
	left: 0;
	top: 100%;
	box-sizing: border-box;
	padding: 0 10% 10px;
	text-align: left;
	border-top: solid 1px #eeeeee;
	overflow: scroll;
	display: none;
}
.narrow_view.pc_view div#header div#header_menu{
	max-height: calc(100vh - 140px );/*★*/
}
.narrow_view.pc_view div#header.header_sml div#header_menu{
	max-height: calc(100vh - 80px );/*★*/
}
.narrow_view.sm_view div#header div#header_menu{
	max-height: calc(100vh - 24vw );/*★*/
}
.narrow_view.sm_view div#header.header_sml div#header_menu{
	max-height: calc(100vh - 14vw );/*★*/
}
.narrow_view div#header_menu.menu_open{
	display: block;
}

.narrow_view div.gmenu{
	position: relative;
	border-bottom: solid 1px #eeeeee;
}
.narrow_view div.gmenu>a{
	display: block;
	position: relative;
	font-size: 15px;
	line-height: 20px;
	color: #333333;
	padding: 12px 10px;
}
.narrow_view div.gmenu.has_sub>a{
	padding-right: 40px;
}
.narrow_view div.gmenu.has_sub>a:after{
	content: "";
	display: block;
	position: absolute;
	right: 10px;
	top: 8px;
	width: 16px;
	height: 16px;
	border-right: solid 2px #666666;
	border-bottom: solid 2px #666666;
	-webkit-transform: rotateZ(45deg);
	-ms-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
	transition: all .3s;
}
.narrow_view div.gmenu.has_sub.submenu_open>a:after{
	top: 16px;
	-webkit-transform: rotateZ(-135deg);
	-ms-transform: rotateZ(-135deg);
	transform: rotateZ(-135deg);
}
.narrow_view.display_device div.gmenu>a:hover{
	background-color: #f3f3f3;
	text-decoration: none;
}
.narrow_view div.gmenu>a.gmain_current{
	color: rgba(134,28,60,1) !important;
}
.narrow_view div.gmenu>div{
	display: none;
}
.narrow_view div.gmenu.has_sub.submenu_open>div{
}

.narrow_view div.gmenu>div>a{
	display: block;
	font-size: 15px;
	line-height: 20px;
	color: #333333;
	padding: 12px 10px;
	margin-left: 30px;
	border-top: solid 1px #eeeeee;
}
.narrow_view div.gmenu>div>a.gsub_current{
	color: rgba(134,28,60,1);
}
.narrow_view.display_device div.gmenu>div>a:hover{
	text-decoration: none;
	background-color: #f3f3f3;
}


/*ヘッダメニュー 追加部分========================*/
span#header_menu_extra{
	display: block;
}
.wide_view span#header_menu_extra{
	position: absolute;
	bottom: 100%;
	right: 0;
	margin-bottom: 5px;
}
.wide_view div#header.header_sml span#header_menu_extra{
	display: none;
}
.narrow_view span#header_menu_extra{
	margin-top: 10px;
}

div#footer_menu span#header_menu_extra{
	display: none;
}

/*フッタ用===========================================*/
div#footer{
	background-color: #ffffff;
	text-align: center;
}
.pc_view div#footer{
	width: 100%;
	position: absolute;
	bottom: 0;
	z-index: 100 !important;
	-webkit-transform: translate3d(0,0,0);
}
.sm_view div#footer{
}

div#footer_inner{
	/*text-align: left;*/
}
.pc_view div#footer_inner{
	margin: 0 auto;
	min-width: 960px;/*W*/
	max-width: 1200px;/*W*/
	box-sizing: border-box;
}
.sm_view div#footer_inner{
}

/*お問い合わせ*/
div#footer_btns{
	border-bottom: solid 1px #eeeeee;
}
.pc_view div#footer_btns{
	padding: 20px 30px;
	margin: 0 30px/*●*/;
}
.sm_view div#footer_btns{
	padding: 10px 10px;
}

/*SNS*/
div#footer_sns{
	border-bottom: solid 1px #eeeeee;
}
.pc_view div#footer_sns{
	padding: 20px 30px;
	margin: 0 30px/*●*/;
}
.sm_view div#footer_sns{
	padding: 10px 10px;
	/*margin: 0 10px;*/
}
div#footer_official,
div#footer_share{
	display: inline-block;
	vertical-align: top;
	white-space: nowrap;
	width: auto;
}
.pc_view div#footer_official,
.pc_view div#footer_share{
	height: 42px;
	margin: 0 20px;
}
.pc_view div#footer_official:before,
.pc_view div#footer_share:before{
	display: inline-block;
	vertical-align: top;
	margin: 0 5px;
	font-size: 13px;
	line-height: 42px;
	color: #999999;
}
.sm_view div#footer_official,
.sm_view div#footer_share{
	margin: 10px 10px;
}
.sm_view div#footer_official:before,
.sm_view div#footer_share:before{
	display: block;
	font-size: 13px;
	line-height: 25px;
	text-align: center;
	color: #999999;
}

div#footer_share:before{
	content:"このページをシェア";
}
div#footer_official:before{
	content:"オフィシャルアカウント";
}

/*メニュー*/
.sm_view div#footer_menu{
	padding: 10px 10% 20px;
	text-align: left;
}

.pc_view div#footer_menu{
	display: none;
}

/*コピーライト*/
p#footer_cpy{
	font-size: 12px;
	line-height: 20px;
	text-align: left;
	letter-spacing: 0;
	color: #999999;
	margin-top: 3px;
}
.pc_view p#footer_cpy{
	display: inline-block;
	vertical-align: top;
	padding: 10px 30px/*●*/;
}
.sm_view p#footer_cpy{
	padding: 10px 15px/*●*/;
}

/*リンクボタン*/
div#footer_link{
	text-align: left;
}
.pc_view div#footer_link{
	display: inline-block;
	vertical-align: top;
	padding: 10px 30px;
}
.sm_view div#footer_link{
	padding: 10px 5px;
}
div#footer_link>a{
	display: inline-block;
	color: #333333;
	font-size: 12px;
	line-height: 26px;
	text-decoration: none;
	padding: 0 10px;
	margin-bottom: 10px;
	border-right: solid 1px #eeeeee;
	transition: all .3s;
}
div#footer_link>a:last-child{
	border: none;
}

.display_device #footer_link>a:hover{
	color: rgba(134,28,60,1);
	text-decoration: none;
}


/*SNS（使わない）================================================*/
a.sns_icon{
	position: relative;
	display: inline-block;
	vertical-align: top;
	text-decoration: none;
	color: #aaaaaa;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	opacity: .6;
	transition: all .3s;
}
.display_device a.sns_icon:hover{
	opacity: 1;
}
a.sns_icon:before{
	content: "";
	display: block;
	padding-top: 100%;
}
.pc_view a.sns_icon{
	width: 42px;
	margin: 0 5px;
}
.sm_view a.sns_icon{
	width: 50px;
	margin: 0 5px;
}
a.sns_icon.icon_fb{	background-image: url(../img/sns_icon_facebook.svg);	}
a.sns_icon.icon_tw{	background-image: url(../img/sns_icon_twitter.svg);	}
a.sns_icon.icon_is{	background-image: url(../img/sns_icon_instagram.svg);	}
a.sns_icon.icon_ln{	background-image: url(../img/sns_icon_line.svg);	}


/*ページTOPボタン=========================================*/
div#to_top{
	position: fixed;
	z-index: 100;
	box-sizing: border-box;
	background-color: rgba(0,0,0,.3);
	background-clip: content-box;
	transition: all .2s;
	cursor: pointer;
}
div#to_top:before{
	content: "";
	display: block;
	padding-top: 100%;
}
div#to_top:after{
	content: "";
	display: block;
	position: absolute;
	box-sizing: border-box;
	left: 40%;
	top: 42%;
	width: 20%;
	height: 20%;
	border-top: solid 3px #ffffff;
	border-left: solid 3px #ffffff;
	-webkit-transform: rotateZ(45deg);
	-ms-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
}

.pc_view div#to_top{
	padding: 15px;
	width: 80px;
	right: -80px;
	bottom: 5px;
}
.sm_view div#to_top{
	padding: 10px;
	width: 60px;
	right: -60px;
	bottom: 40px;
}
div#to_top.btn_show{
	right: 5px;
}
.display_device div#to_top:hover{
	background-color: rgba(134,28,60,.8);
}





