@charset "utf-8";

/* ---------------------------------------------------------
	common
*/
body{
	color: #333;
	position: relative;
	font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'ヒラギノ角ゴ', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 16px;
	line-height: 1.6;
}

img{
	width: auto;
	max-width: 100%;
}

a{
	color: #333;
	opacity: 1;
	cursor: pointer;
	transition: opacity 0.2s;
}
button:hover,
a:hover{
	opacity: 0.8;
}

label,
button{
	cursor: pointer;
}


.inner{
	width: 95%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.contents_wrap{
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 100vh;
}
.contents_wrap > .main{
	flex: 1 1 auto;
	min-height: 0%;
}

.dispno{ display: none!important;}


/* ---------------------------------------------------------
	parts
*/

/* :: font :::::: */
textarea,
.ff_sans_serif{ font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
.ff_serif{ font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", 'Noto Serif JP', serif;}


/* :: display :::::: */
.dib{display: inline-block;}

.for_pc_s{display: none;}
.for_pc_l{display: none;}

@media screen and (min-width: 561px){
	.for_sp_s{display: none!important;}
	.for_pc_s{display: block;}
}

@media screen and (min-width: 961px){
	.for_sp_l{display: none!important;}
	.for_pc_l{display: block;}
}


/* :: icon :::::: */
/* ___ blank ___ */
.blank:after,
.blank_w:after,
.blank_b:after,
.blank_g:after,
.blank_r:after{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 1em;
	height: 1em;
	margin-top: -2px;
	margin-left: 3px;
	background-image: url(/shared/images/svg/ico_blank.svg);
	background-repeat: no-repeat;
	background-position: center right;
	background-size: auto 85%;
}
.blank_w:after{ background-image: url(/shared/images/svg/ico_blank_w.svg);}
.blank_b:after{ background-image: url(/shared/images/svg/ico_blank_b.svg);}
.blank_g:after{ background-image: url(/shared/images/svg/ico_blank_g.svg);}
.blank_r:after{ background-image: url(/shared/images/svg/ico_blank_r.svg);}

/* ___ bullet_arrow ___ */
.bullet_arrow{
	position: relative;
	padding-left: 16px;
}
.bullet_arrow:before{
	content: "";
	position: absolute;
	top: .4em;
	left: 0;
	display: inline-block;
	width: 9px;
	height: 9px;
	border-top: 3px solid #E6001B;
	border-right: 3px solid #E6001B;
	transform: rotateZ(45deg);
}


/* :: main_header :::::: */
.main_header{
	position: relative;

}

/* ___ pankuzu ___ */
.pankuzu{
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	right: 0;
	padding: 7px 0;
	background: rgba(255,255,255,.85);
	line-height: 1.6;
}
.pankuzu li{
	display: inline-block;
	vertical-align: middle;
	font-size: 12px;
	line-height: 1.6;
}
.pankuzu li + li:before{
	content: ">";
	display: inline-block;
	vertical-align: middle;
	padding-left: 6px;
	padding-right: 9px;
	font-size: 14px;
	transform: scale(.8, 1.2);
}
.pankuzu li a{
	text-decoration: underline;
}

/* ___ maintitle ___ */
.maintitle{
	padding: 0 2.5%;
	background: linear-gradient(180deg, #EEE, #EEE 85%, #FFF 85%);
	text-align: center;
}


/* ---------------------------------------------------------
	header
*/
header{
	margin-top: 80px;
	line-height: 1.6;
}
/* :: h_ontop :::::: */
header .h_ontop{
	position: fixed;
	z-index: 20;
	top: 0;
	left: 0;
	right: 0;
	height: 80px;
	background: #FFF;
	box-shadow: 0 5px 5px rgba(0,0,0,.1);
}
header .h_ontop .inner{
	position: relative;
	height: 100%;
	padding: 16px 0 14px;
}

/* ___ h_logo_area ___ */
header .h_ontop h1{
	display: inline-block;
	width: calc(100% - 70px);
	max-width: 255px;
	height: 100%;
}
header .h_ontop .title_exp{
	display: none;
	vertical-align: 11px;
    margin-left: 30px;
	font-size: 12px;
	color: #999999;
}
header .h_ontop .h_logo_area {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 100%;
}
header .h_ontop .h_logo_area .logo01{
	fill: #E6001B;
	max-width: 140px;
	height: 100%;
}
header .h_ontop .h_logo_area .logo02{
	fill: #E6001B;
	max-width: 115px;
	margin-left: 10%;
}

/* :: h_nav_area :::::: */
header .h_nav_area{
	height: 70px;
	background: #E6001B;
	color: #FFF;
}
header .h_nav_area ul{
	display: flex;
	height: 100%;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 15px;
}
header .h_nav_area ul li{
	flex: 0 1 auto;
	margin: 0 1%;
}
header .h_nav_area ul li:first-child{
	margin-left: 0;
}
header .h_nav_area ul li:last-child{
	margin-right: 0;
}
header .h_nav_area li a{
	padding: 0 5px;
	font-weight: bold;
	color: #FFF;
}
header .h_nav_area li .active{
	border-bottom: 1px solid #FFF;
}

/* :: h_share_area :::::: */
header .h_share_area{
	position: fixed;
	z-index: 14;
	right: 0;
	top: 50%;
	width: 81px;
	padding: 15px;
	border: 1px solid #DDD;
	border-style: solid none solid solid;
	border-radius: 10px 0 0 10px;
	background: #F5F5F5;
	text-align: center;
}
header .h_share_area .title{
	fill: #333;
	width: 100%;
	max-height: 20px;
}
header .h_share_area .link_area{
	margin-top: 6px;
	font-size: 0;
}
header .h_share_area .link_area li{
	max-width: 30px;
	margin: auto;
}
header .h_share_area .link_area li + li{
	margin-top: 20px;
}



/* ---------------------------------------------------------
	g_menu
*/
/* :: g_nav_area :::::: */
.g_menu{
	overflow: auto;
	position: fixed;
	z-index: 15;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin-top: 80px;
	background: rgba(230, 0, 27, .9);
	transform: translateX(100%);
	transition: transform .3s ease;
}
.g_menu .blank:after{
	background-image: url(/shared/images/svg/ico_blank_w.svg);
}
.g_menu .bullet_arrow{
	padding-left: 20px;
}
.g_menu .bullet_arrow:before{
	border-color: #FFF;
}

.g_menu .g_nav_area{
	width: 90%;
	max-width: 880px;
	min-height: calc(100% - 80px);
	margin-top: 40px;
	margin-bottom: 40px;
	color: #FFF;
}
.g_menu .g_nav_area .title_exp{
	margin-bottom: 23px;
	color: #fff;
	font-size: 12px;
}
.g_menu .g_nav_area svg{
	width: 100%;
	max-width: 238px;
	max-height: 20px;
	fill: #FFF;
}
.g_menu .g_nav_area a{
	display: inline-block;
	color: #FFF;
}

/* ___ links01 ___ */
/* ___ links02 ___ */
.g_menu .g_nav_area .links01 .title,
.g_menu .g_nav_area .links02 .title{
	margin-top: 0;
	margin-bottom: 20px;
	border-bottom: 1px solid #FFF;
	font-weight: bold;
	font-size: 20px;
}
.g_menu .g_nav_area .links01 li,
.g_menu .g_nav_area .links02 li{
	margin-top: 15px;
	font-weight: bold;
}

/* ___ links01 ___ */
.g_menu .g_nav_area .links01{
	margin-bottom: 40px;
}

/* ___ links02 ___ */
.g_menu .g_nav_area .links02_wrap{
	display: flex;
	flex-wrap: wrap;
}
.g_menu .g_nav_area .links02{
	flex: 0 1 100%;
	margin-bottom: 40px;
}
.g_menu .g_nav_area .links02 .title{
	padding-bottom: 5px;
}

/* ___ links03 ___ */
.g_menu .g_nav_area .links03{
	display: flex;
	flex-direction: column;
	font-size: 14px;
}
.g_menu .g_nav_area .links03 li{
	margin-top: 10px;
}

/* ___ share_area ___ */
.g_menu .share_area{
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 250px;
	margin-top: 40px;
	padding: 14px 30px 16px;
	border-radius: 40px;
	background: #FFF;
	font-size: 0;
}
.g_menu .share_area .title{
	width: 48px;
	height: 20px;
	fill: #333;
}
.g_menu .share_area .sns{
	max-width: 30px;
	margin-left: 20px;
}

/* :: g_menu_btn :::::: */
.g_menu_btn{
	position: absolute;
	z-index: 11;
	top: 0;
	right: 6px;
	bottom: 0;
	width: 36px;
	height: 22px;
	margin: auto;
	border: none;
	background: transparent;
}
.g_menu_btn:before,
.g_menu_btn:after,
.g_menu_btn .btn{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	height: 2px;
	margin: auto;
	background: #E6001B;
	transition: transform .2s, width .2s, top .2s;
}
.g_menu_btn:before{
	top: -20px;
}
.g_menu_btn:after{
	bottom: -20px;
}


/* :: g_open :::::: */
.g_open .g_menu_btn:before {
	top: 0;
	transform: rotateZ(45deg);
}
.g_open .g_menu_btn:after {
	bottom: 0;
	transform: rotateZ(-45deg);
}
.g_open .g_menu_btn .btn{
	width: 0px;
}

/* ___ g_nav_area ___ */
.g_open .g_menu{
	transform: translateX(0);
}



@media screen and (min-width: 560px) {

/* :: g_nav_area :::::: */
.g_menu .g_nav_area svg{
	max-height: 50px;
}

/* ___ links01 ___ */
.g_menu .g_nav_area .links01 li{
	margin-top: 20px;
	font-weight: bold;
	font-size: 20px;
}

/* ___ links02 ___ */
.g_menu .g_nav_area .links02_wrap{
	flex-wrap: nowrap;
	justify-content: space-between;
}
.g_menu .g_nav_area .links02{
	flex: 0 1 46%;
}

/* ___ links03 ___ */
.g_menu .g_nav_area .links03{
	display: flex;
	flex-direction: row;
}
.g_menu .g_nav_area .links03 li{
	margin-top: 0;
	margin-right: 2em;
}
.g_menu .g_nav_area .links03 li:last-child{
	margin-right: 0;
}

} /*  (min-width: 560px)  */



/* ---------------------------------------------------------
	footer
*/
footer {
	position: relative;
	min-height: 0%;
	/* border-top: 2px solid #E6001B; */
}
.nav_dock{
	position: absolute;
	z-index: 100;
	top: 10px;
	right: 18px;
}
.nav_dock #prev{
	position: relative;
	display: inline-block;
	width: 40px;
	height: 40px;
}
.nav_dock #prev:after{
	content: "";
	position: absolute;
	top: 9px;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	width: 15px;
	height: 15px;
	margin: auto;
	border-top: solid 3px #E6001B;
	border-right: solid 3px #E6001B;
	transform: rotateZ(-45deg);
}

/* :: share_area :::::: */
footer .share_area{
    display: flex;
    justify-content: center;
	align-items: center;
	padding: 15px 0;
	background: #F5F5F5;
	font-size: 0;
}
footer .share_area li{
	margin: 0 7px
}
footer .share_area .title{
	flex: 0 0 auto;
	max-width: 48px;
	max-height: 20px;
}
footer .share_area .sns{
	flex: 0 1 30px;
}


/* :: f_main :::::: */
footer .f_main{
	background: #E6001B;
	padding: 45px 0;
}
footer .f_main .inner{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* ___ f_logo_area ___ */
/* ___ f_link_area ___ */
footer .f_main .f_logo_area,
footer .f_main .f_link_area{
	position: relative;
}

/* ___ 縦線 ___ */
footer .f_main .inner:before,
footer .f_main .inner:after{
	content: none;
}
footer .f_main .f_logo_area:before,
footer .f_main .f_link_area:before{
	content: "";
}
footer .f_main .inner:before,
footer .f_main .inner:after,
footer .f_main .f_logo_area:before,
footer .f_main .f_link_area:before{
	position: absolute;
	top: 12%;
	bottom: 12%;
	width: 1px;
	background: #F3808D;
}

footer .f_main .inner:before{ left: 0;}
footer .f_main .inner:after{ right: 0;}
footer .f_main .f_logo_area:before{ right: 0;}
footer .f_main .f_link_area:before{ left: -1px;}

/* ___ f_logo_area ___ */
footer .f_main .f_logo_area{
	flex: 0 1 37%;
	width: 37%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding-right: 2.5%;
	text-align: center;
}
footer .f_main .f_logo_area .logo1{
	width: 80%;
	/* max-width: 180px; */
	max-width: 140px;
}
footer .f_main .f_logo_area .logo2{
	fill: #FFF;
	width: 80%;
	max-width: 193px;
	/* max-height: 70px; */
	max-height: 40px;
}

/* ___ f_link_area ___ */
footer .f_main .f_link_area{
	flex: 0 1 63%;
	width: 63%;
	padding-left: 5%;
}
/* logo_sus */
footer .f_main .f_link_area .logo_sus{
	display: block;
	width: 80%;
}
footer .f_main .f_link_area .logo_sus svg{
	fill: #FFF;
	width: 100%;
	max-width: 170px;
	height: 24px;
	margin-bottom: 12px;
}
/* f_navi */
footer .f_main .f_link_area .f_navi li{
	display: block;
	margin-top: 8px;
}
footer .f_main .f_link_area .f_navi a{
	display: block;
	text-decoration: underline;
	font-size: 14px;
	color: #FFF;
}
footer .f_main .f_link_area .f_navi a:hover{
	text-decoration: none;
	opacity: 1;
}


footer .f_main .f_link_area .f_navi a.bullet_arrow:before{
	border-color: #FFF;
}

/* :: f_copylight_area :::::: */
footer .f_copylight_area{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
	background: #222;
	text-align: center;
	font-size: 14px;
	color: #999;
}


@media screen and (min-width: 560px) {

/* ___ f_logo_area ___ */
/* ___ f_link_area ___ */
footer .f_main .f_logo_area,
footer .f_main .f_link_area{
	flex-basis: 50%;
	width: 50%;
	padding: 0 5%;
}

footer .f_main .f_logo_area .logo2{
	margin-left: 10px;
	margin-right: 10px;
}
/* logo_sus */
footer .f_main .f_link_area .logo_sus{
	width: 100%;
}


} /*  (min-width: 560px)  */


@media screen and (min-width: 960px) {
header .h_ontop .title_exp{
	display: inline-block;
}
.g_menu .g_nav_area .title_exp{
	display: none;
}
.nav_dock{
	position: absolute;
}
.nav_dock.fixed{
	position: fixed;
	top: auto;
	bottom: 1%;
}
.nav_dock #prev{
	background: #666;
}
.nav_dock #prev:after{
	border-color: #fff;
}

/* :: f_main :::::: */
footer .f_main .inner:before,
footer .f_main .inner:after{
	content: "";
}

/* ___ f_logo_area ___ */
/* ___ f_link_area ___ */
footer .f_main .f_logo_area{
	flex-wrap: nowrap;
}

footer .f_main .f_logo_area .logo1{
	width: 80%;
	max-width: 180px;
}

footer .f_main .f_logo_area .logo2{
	width: 80%;
	max-height: 70px;
	margin-left: 8%;
	margin-right: 0;
}

footer .f_main .f_link_area .f_navi li{
	display: inline-block;
	margin-right: 1em;
}
footer .f_main .f_link_area .f_navi li:last-child{
	margin-right: 0;
}

} /*  (min-width: 960px)  */


@media print {
	header .h_ontop{
		position: absolute;
	}
}
