@charset "utf-8";
/* ------------------------------------------------------------

style.css

------------------------------------------------------------ */


/* reset
------------------------------------------------------------ */

* {
  box-sizing: border-box;
}
html {
	margin:0;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
	text-rendering: optimizeLegibility;
	font-size:62.5%;
	line-height: 1.15;
}
body {
	margin:0;
	padding:0;
	font-size:1.4rem;
	line-height:2.2;
	font-family: "Hiragino Kaku Gothic ProN","游ゴシック",YuGothic,"メイリオ",Meiryo,sans-serif;
	color:#555;
	background:#fff;
	-webkit-backface-visibility: hidden;
}
body.open {
	overflow:hidden;
}
body::after {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color:#f8f8f8;
	z-index: 9999;
	pointer-events: none;
	opacity: 0;
	-webkit-transition: opacity .8s ease;
	transition: opacity .8s ease;
}
body.fadeout::after {
	opacity: 1;
}

div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,address,figure { margin:0px; padding:0px; list-style-type:none; }
h1,h2,h3,h4,h5,h6 { font-size:100%; font-weight:normal; }
img { vertical-align:bottom; border:none; outline:none; }
em,address { font-style:normal; }
a,button,area { outline:0; border:none; }

img {
	width: 100%;
	height: auto;
	vertical-align:top;
	line-height:1;
}
img[src$=".svg"] {
	width: 100%;
	height: auto;
	vertical-align:top;
	line-height:1;
}



/* margin top
------------------------------------------------------------ */
.mt0 { margin-top:0px!important; }
.mt5 { margin-top:5px!important; }
.mt10 { margin-top:10px!important; }
.mt15 { margin-top:15px!important; }
.mt20 { margin-top:20px!important; }
.mt25 { margin-top:25px!important; }
.mt30 { margin-top:30px!important; }
.mt35 { margin-top:35px!important; }
.mt40 { margin-top:40px!important; }
.mt45 { margin-top:45px!important; }
.mt50 { margin-top:50px!important; }
.mt55 { margin-top:55px!important; }
.mt60 { margin-top:60px!important; }
.mt65 { margin-top:65px!important; }
.mt70 { margin-top:70px!important; }
.mt75 { margin-top:75px!important; }
.mt80 { margin-top:80px!important; }
.mt85 { margin-top:85px!important; }
.mt90 { margin-top:90px!important; }
.mt95 { margin-top:95px!important; }
.mt100 { margin-top:100px!important; }

.mt0_5em { margin-top:0.5em; }
.mt1_0em { margin-top:1.0em; }
.mt1_5em { margin-top:1.5em; }
.mt2_0em { margin-top:2.0em; }
.mt2_5em { margin-top:2.5em; }
.mt3_0em { margin-top:3.0em; }

@media screen and (max-width:767px) {
	.mt0sp { margin-top:0px!important; }
	.mt5sp { margin-top:5px!important; }
	.mt10sp { margin-top:10px!important; }
	.mt15sp { margin-top:15px!important; }
	.mt20sp { margin-top:20px!important; }
	.mt25sp { margin-top:25px!important; }
	.mt30sp { margin-top:30px!important; }
	.mt35sp { margin-top:35px!important; }
	.mt40sp { margin-top:40px!important; }
	.mt45sp { margin-top:45px!important; }
	.mt50sp { margin-top:50px!important; }
	.mt55sp { margin-top:55px!important; }
	.mt60sp { margin-top:60px!important; }
	.mt65sp { margin-top:65px!important; }
	.mt70sp { margin-top:70px!important; }
	.mt75sp { margin-top:75px!important; }
	.mt80sp { margin-top:80px!important; }
	.mt85sp { margin-top:85px!important; }
	.mt90sp { margin-top:90px!important; }
	.mt95sp { margin-top:95px!important; }
	.mt100sp { margin-top:100px!important; }
}

@media print, screen and (min-width:768px) {
	.mt0pc { margin-top:0px!important; }
	.mt5pc { margin-top:5px!important; }
	.mt10pc { margin-top:10px!important; }
	.mt15pc { margin-top:15px!important; }
	.mt20pc { margin-top:20px!important; }
	.mt25pc { margin-top:25px!important; }
	.mt30pc { margin-top:30px!important; }
	.mt35pc { margin-top:35px!important; }
	.mt40pc { margin-top:40px!important; }
	.mt45pc { margin-top:45px!important; }
	.mt50pc { margin-top:50px!important; }
	.mt55pc { margin-top:55px!important; }
	.mt60pc { margin-top:60px!important; }
	.mt65pc { margin-top:65px!important; }
	.mt70pc { margin-top:70px!important; }
	.mt75pc { margin-top:75px!important; }
	.mt80pc { margin-top:80px!important; }
	.mt85pc { margin-top:85px!important; }
	.mt90pc { margin-top:90px!important; }
	.mt95pc { margin-top:95px!important; }
	.mt100pc { margin-top:100px!important; }
}


/* nagative margin
------------------------------------------------------------ */
.nmt5 { margin-top:-5px!important; }
.nmt10 { margin-top:-10px!important; }
.nmt15 { margin-top:-15px!important; }
.nmt20 { margin-top:-20px!important; }
.nmt25 { margin-top:-25px!important; }
.nmt30 { margin-top:-30px!important; }
.nmt35 { margin-top:-35px!important; }
.nmt40 { margin-top:-40px!important; }
.nmt45 { margin-top:-45px!important; }
.nmt50 { margin-top:-50px!important; }
.nmt55 { margin-top:-55px!important; }
.nmt60 { margin-top:-60px!important; }
.nmt65 { margin-top:-65px!important; }
.nmt70 { margin-top:-70px!important; }
.nmt75 { margin-top:-75px!important; }
.nmt80 { margin-top:-80px!important; }
.nmt85 { margin-top:-85px!important; }
.nmt90 { margin-top:-90px!important; }
.nmt95 { margin-top:-95px!important; }
.nmt100 { margin-top:-100px!important; }

@media screen and (max-width:767px) {
	.nmt5sp { margin-top:-5px!important; }
	.nmt10sp { margin-top:-10px!important; }
	.nmt15sp { margin-top:-15px!important; }
	.nmt20sp { margin-top:-20px!important; }
	.nmt25sp { margin-top:-25px!important; }
	.nmt30sp { margin-top:-30px!important; }
	.nmt35sp { margin-top:-35px!important; }
	.nmt40sp { margin-top:-40px!important; }
	.nmt45sp { margin-top:-45px!important; }
	.nmt50sp { margin-top:-50px!important; }
	.nmt55sp { margin-top:-55px!important; }
	.nmt60sp { margin-top:-60px!important; }
	.nmt65sp { margin-top:-65px!important; }
	.nmt70sp { margin-top:-70px!important; }
	.nmt75sp { margin-top:-75px!important; }
	.nmt80sp { margin-top:-80px!important; }
	.nmt85sp { margin-top:-85px!important; }
	.nmt90sp { margin-top:-90px!important; }
	.nmt95sp { margin-top:-95px!important; }
	.nmt100sp { margin-top:-100px!important; }
}
@media print, screen and (min-width:768px) {
	.nmt5pc { margin-top:-5px!important; }
	.nmt10pc { margin-top:-10px!important; }
	.nmt15pc { margin-top:-15px!important; }
	.nmt20pc { margin-top:-20px!important; }
	.nmt25pc { margin-top:-25px!important; }
	.nmt30pc { margin-top:-30px!important; }
	.nmt35pc { margin-top:-35px!important; }
	.nmt40pc { margin-top:-40px!important; }
	.nmt45pc { margin-top:-45px!important; }
	.nmt50pc { margin-top:-50px!important; }
	.nmt55pc { margin-top:-55px!important; }
	.nmt60pc { margin-top:-60px!important; }
	.nmt65pc { margin-top:-65px!important; }
	.nmt70pc { margin-top:-70px!important; }
	.nmt75pc { margin-top:-75px!important; }
	.nmt80pc { margin-top:-80px!important; }
	.nmt85pc { margin-top:-85px!important; }
	.nmt90pc { margin-top:-90px!important; }
	.nmt95pc { margin-top:-95px!important; }
	.nmt100pc { margin-top:-100px!important; }
}


/* margin bottom
------------------------------------------------------------ */
.mb0 { margin-bottom:0px!important; }
.mb5 { margin-bottom:5px!important; }
.mb10 { margin-bottom:10px!important; }
.mb15 { margin-bottom:15px!important; }
.mb20 { margin-bottom:20px!important; }
.mb25 { margin-bottom:25px!important; }
.mb30 { margin-bottom:30px!important; }
.mb35 { margin-bottom:35px!important; }
.mb40 { margin-bottom:40px!important; }
.mb45 { margin-bottom:45px!important; }
.mb50 { margin-bottom:50px!important; }
.mb55 { margin-bottom:55px!important; }
.mb60 { margin-bottom:60px!important; }
.mb65 { margin-bottom:65px!important; }
.mb70 { margin-bottom:70px!important; }
.mb75 { margin-bottom:75px!important; }
.mb80 { margin-bottom:80px!important; }
.mb85 { margin-bottom:85px!important; }
.mb90 { margin-bottom:90px!important; }
.mb95 { margin-bottom:95px!important; }
.mb100 { margin-bottom:100px!important; }

.mb0_5em { margin-bottom:0.5em; }
.mb1_0em { margin-bottom:1.0em; }
.mb1_5em { margin-bottom:1.5em; }
.mb2_0em { margin-bottom:2.0em; }
.mb2_5em { margin-bottom:2.5em; }
.mb3_0em { margin-bottom:3.0em; }

@media screen and (max-width:767px) {
	.mb0sp { margin-bottom:0px!important; }
	.mb5sp { margin-bottom:5px!important; }
	.mb10sp { margin-bottom:10px!important; }
	.mb15sp { margin-bottom:15px!important; }
	.mb20sp { margin-bottom:20px!important; }
	.mb25sp { margin-bottom:25px!important; }
	.mb30sp { margin-bottom:30px!important; }
	.mb35sp { margin-bottom:35px!important; }
	.mb40sp { margin-bottom:40px!important; }
	.mb45sp { margin-bottom:45px!important; }
	.mb50sp { margin-bottom:50px!important; }
	.mb55sp { margin-bottom:55px!important; }
	.mb60sp { margin-bottom:60px!important; }
	.mb65sp { margin-bottom:65px!important; }
	.mb70sp { margin-bottom:70px!important; }
	.mb75sp { margin-bottom:75px!important; }
	.mb80sp { margin-bottom:80px!important; }
	.mb85sp { margin-bottom:85px!important; }
	.mb90sp { margin-bottom:90px!important; }
	.mb95sp { margin-bottom:95px!important; }
	.mb100sp { margin-bottom:100px!important; }
}
@media print, screen and (min-width:768px) {
	.mb0pc { margin-bottom:0px!important; }
	.mb5pc { margin-bottom:5px!important; }
	.mb10pc { margin-bottom:10px!important; }
	.mb15pc { margin-bottom:15px!important; }
	.mb20pc { margin-bottom:20px!important; }
	.mb25pc { margin-bottom:25px!important; }
	.mb30pc { margin-bottom:30px!important; }
	.mb35pc { margin-bottom:35px!important; }
	.mb40pc { margin-bottom:40px!important; }
	.mb45pc { margin-bottom:45px!important; }
	.mb50pc { margin-bottom:50px!important; }
	.mb55pc { margin-bottom:55px!important; }
	.mb60pc { margin-bottom:60px!important; }
	.mb65pc { margin-bottom:65px!important; }
	.mb70pc { margin-bottom:70px!important; }
	.mb75pc { margin-bottom:75px!important; }
	.mb80pc { margin-bottom:80px!important; }
	.mb85pc { margin-bottom:85px!important; }
	.mb90pc { margin-bottom:90px!important; }
	.mb95pc { margin-bottom:95px!important; }
	.mb100pc { margin-bottom:100px!important; }
}


/* margin right
------------------------------------------------------------ */
.mr0 { margin-right:0px!important; }
.mr5 { margin-right:5px!important; }
.mr10 { margin-right:10px!important; }
.mr15 { margin-right:15px!important; }
.mr20 { margin-right:20px!important; }
.mr25 { margin-right:25px!important; }
.mr30 { margin-right:30px!important; }
.mr35 { margin-right:35px!important; }
.mr40 { margin-right:40px!important; }
.mr45 { margin-right:45px!important; }
.mr50 { margin-right:50px!important; }
.mr55 { margin-right:55px!important; }
.mr60 { margin-right:60px!important; }
.mr65 { margin-right:65px!important; }
.mr70 { margin-right:70px!important; }
.mr75 { margin-right:75px!important; }
.mr80 { margin-right:80px!important; }
.mr85 { margin-right:85px!important; }
.mr90 { margin-right:90px!important; }
.mr95 { margin-right:95px!important; }
.mr100 { margin-right:100px!important; }

@media screen and (max-width:767px) {
	.mr0sp { margin-right:0px!important; }
	.mr5sp { margin-right:5px!important; }
	.mr10sp { margin-right:10px!important; }
	.mr15sp { margin-right:15px!important; }
	.mr20sp { margin-right:20px!important; }
	.mr25sp { margin-right:25px!important; }
	.mr30sp { margin-right:30px!important; }
	.mr35sp { margin-right:35px!important; }
	.mr40sp { margin-right:40px!important; }
	.mr45sp { margin-right:45px!important; }
	.mr50sp { margin-right:50px!important; }
}
@media print, screen and (min-width:768px) {
	.mr0pc { margin-right:0px!important; }
	.mr5pc { margin-right:5px!important; }
	.mr10pc { margin-right:10px!important; }
	.mr15pc { margin-right:15px!important; }
	.mr20pc { margin-right:20px!important; }
	.mr25pc { margin-right:25px!important; }
	.mr30pc { margin-right:30px!important; }
	.mr35pc { margin-right:35px!important; }
	.mr40pc { margin-right:40px!important; }
	.mr45pc { margin-right:45px!important; }
	.mr50pc { margin-right:50px!important; }
}


/* margin left
------------------------------------------------------------ */
.ml0 { margin-left:0px!important; }
.ml5 { margin-left:5px!important; }
.ml10 { margin-left:10px!important; }
.ml15 { margin-left:15px!important; }
.ml20 { margin-left:20px!important; }
.ml25 { margin-left:25px!important; }
.ml30 { margin-left:30px!important; }
.ml35 { margin-left:35px!important; }
.ml40 { margin-left:40px!important; }
.ml45 { margin-left:45px!important; }
.ml50 { margin-left:50px!important; }
.ml55 { margin-left:55px!important; }
.ml60 { margin-left:60px!important; }
.ml65 { margin-left:65px!important; }
.ml70 { margin-left:70px!important; }
.ml75 { margin-left:75px!important; }
.ml80 { margin-left:80px!important; }
.ml85 { margin-left:85px!important; }
.ml90 { margin-left:90px!important; }
.ml95 { margin-left:95px!important; }
.ml100 { margin-left:100px!important; }

@media screen and (max-width:767px) {
	.ml0sp { margin-left:0px!important; }
	.ml5sp { margin-left:5px!important; }
	.ml10sp { margin-left:10px!important; }
	.ml15sp { margin-left:15px!important; }
	.ml20sp { margin-left:20px!important; }
	.ml25sp { margin-left:25px!important; }
	.ml30sp { margin-left:30px!important; }
	.ml35sp { margin-left:35px!important; }
	.ml40sp { margin-left:40px!important; }
	.ml45sp { margin-left:45px!important; }
	.ml50sp { margin-left:50px!important; }
}
@media print, screen and (min-width:768px) {
	.ml0pc { margin-left:0px!important; }
	.ml5pc { margin-left:5px!important; }
	.ml10pc { margin-left:10px!important; }
	.ml15pc { margin-left:15px!important; }
	.ml20pc { margin-left:20px!important; }
	.ml25pc { margin-left:25px!important; }
	.ml30pc { margin-left:30px!important; }
	.ml35pc { margin-left:35px!important; }
	.ml40pc { margin-left:40px!important; }
	.ml45pc { margin-left:45px!important; }
	.ml50pc { margin-left:50px!important; }
}


/* margin all
------------------------------------------------------------ */
.ma0 { margin:0px!important; }
.ma5 { margin:5px!important; }
.ma10 { margin:10px!important; }
.ma15 { margin:15px!important; }
.ma20 { margin:20px!important; }
.ma25 { margin:25px!important; }
.ma30 { margin:30px!important; }
.ma35 { margin:35px!important; }
.ma40 { margin:40px!important; }
.ma45 { margin:45px!important; }
.ma50 { margin:50px!important; }


/* padding top
------------------------------------------------------------ */
.pt0 { padding-top:0px!important; }
.pt5 { padding-top:5px!important; }
.pt10 { padding-top:10px!important; }
.pt15 { padding-top:15px!important; }
.pt20 { padding-top:20px!important; }
.pt25 { padding-top:25px!important; }
.pt30 { padding-top:30px!important; }
.pt35 { padding-top:35px!important; }
.pt40 { padding-top:40px!important; }
.pt45 { padding-top:45px!important; }
.pt50 { padding-top:50px!important; }
.pt55 { padding-top:55px!important; }
.pt60 { padding-top:60px!important; }
.pt65 { padding-top:65px!important; }
.pt70 { padding-top:70px!important; }
.pt75 { padding-top:75px!important; }
.pt80 { padding-top:80px!important; }
.pt85 { padding-top:85px!important; }
.pt90 { padding-top:90px!important; }
.pt95 { padding-top:95px!important; }
.pt100 { padding-top:100px!important; }

@media screen and (max-width:767px) {
	.pt10sp { padding-top:10px!important; }
	.pt15sp { padding-top:15px!important; }
	.pt20sp { padding-top:20px!important; }
	.pt25sp { padding-top:25px!important; }
	.pt30sp { padding-top:30px!important; }
	.pt35sp { padding-top:35px!important; }
	.pt40sp { padding-top:40px!important; }
	.pt45sp { padding-top:45px!important; }
	.pt50sp { padding-top:50px!important; }
}
@media print, screen and (min-width:768px) {
	.pt5pc { padding-top:5px!important; }
	.pt10pc { padding-top:10px!important; }
	.pt15pc { padding-top:15px!important; }
	.pt20pc { padding-top:20px!important; }
	.pt25pc { padding-top:25px!important; }
	.pt30pc { padding-top:30px!important; }
	.pt35pc { padding-top:35px!important; }
	.pt40pc { padding-top:40px!important; }
	.pt45pc { padding-top:45px!important; }
	.pt50pc { padding-top:50px!important; }
}


/* padding bottom
------------------------------------------------------------ */
.pb0 { padding-bottom:0px!important; }
.pb5 { padding-bottom:5px!important; }
.pb10 { padding-bottom:10px!important; }
.pb15 { padding-bottom:15px!important; }
.pb20 { padding-bottom:20px!important; }
.pb25 { padding-bottom:25px!important; }
.pb30 { padding-bottom:30px!important; }
.pb35 { padding-bottom:35px!important; }
.pb40 { padding-bottom:40px!important; }
.pb45 { padding-bottom:45px!important; }
.pb50 { padding-bottom:50px!important; }
.pb55 { padding-bottom:55px!important; }
.pb60 { padding-bottom:60px!important; }
.pb65 { padding-bottom:65px!important; }
.pb70 { padding-bottom:70px!important; }
.pb75 { padding-bottom:75px!important; }
.pb80 { padding-bottom:80px!important; }
.pb85 { padding-bottom:85px!important; }
.pb90 { padding-bottom:90px!important; }
.pb95 { padding-bottom:95px!important; }
.pb100 { padding-bottom:100px!important; }

@media screen and (max-width:767px) {
	.pb5sp  { padding-bottom:5px!important; }
	.pb10sp { padding-bottom:10px!important; }
	.pb15sp { padding-bottom:15px!important; }
	.pb20sp { padding-bottom:20px!important; }
	.pb25sp { padding-bottom:25px!important; }
	.pb30sp { padding-bottom:30px!important; }
	.pb40sp { padding-bottom:40px!important; }
	.pb50sp { padding-bottom:50px!important; }
}
@media print, screen and (min-width:768px) {
	.pb5pc  { padding-bottom:5px!important; }
	.pb10pc { padding-bottom:10px!important; }
	.pb15pc { padding-bottom:15px!important; }
	.pb20pc { padding-bottom:20px!important; }
	.pb25pc { padding-bottom:25px!important; }
	.pb30pc { padding-bottom:30px!important; }
	.pb40pc { padding-bottom:40px!important; }
	.pb50pc { padding-bottom:50px!important; }
}


/* padding right
------------------------------------------------------------ */
.pr0 { padding-right:0px!important; }
.pr5 { padding-right:5px!important; }
.pr10 { padding-right:10px!important; }
.pr15 { padding-right:15px!important; }
.pr20 { padding-right:20px!important; }
.pr25 { padding-right:25px!important; }
.pr30 { padding-right:30px!important; }
.pr35 { padding-right:35px!important; }
.pr40 { padding-right:40px!important; }
.pr45 { padding-right:45px!important; }
.pr50 { padding-right:50px!important; }
.pr55 { padding-right:55px!important; }
.pr60 { padding-right:60px!important; }
.pr65 { padding-right:65px!important; }
.pr70 { padding-right:70px!important; }
.pr75 { padding-right:75px!important; }
.pr80 { padding-right:80px!important; }
.pr85 { padding-right:85px!important; }
.pr90 { padding-right:90px!important; }
.pr95 { padding-right:95px!important; }
.pr100 { padding-right:100px!important; }

@media screen and (max-width:767px) {
	.pr10sp { padding-right:10px!important; }
	.pr20sp { padding-right:20px!important; }
	.pr30sp { padding-right:30px!important; }
	.pr40sp { padding-right:40px!important; }
	.pr50sp { padding-right:50px!important; }
}
@media print, screen and (min-width:768px) {
	.pr10pc { padding-right:10px!important; }
	.pr20pc { padding-right:20px!important; }
	.pr30pc { padding-right:30px!important; }
	.pr40pc { padding-right:40px!important; }
	.pr50pc { padding-right:50px!important; }
}



/* padding left
------------------------------------------------------------ */
.pl0 { padding-left:0px!important; }
.pl5 { padding-left:5px!important; }
.pl10 { padding-left:10px!important; }
.pl15 { padding-left:15px!important; }
.pl20 { padding-left:20px!important; }
.pl25 { padding-left:25px!important; }
.pl30 { padding-left:30px!important; }
.pl35 { padding-left:35px!important; }
.pl40 { padding-left:40px!important; }
.pl45 { padding-left:45px!important; }
.pl50 { padding-left:50px!important; }
.pl55 { padding-left:55px!important; }
.pl60 { padding-left:60px!important; }
.pl65 { padding-left:65px!important; }
.pl70 { padding-left:70px!important; }
.pl75 { padding-left:75px!important; }
.pl80 { padding-left:80px!important; }
.pl85 { padding-left:85px!important; }
.pl90 { padding-left:90px!important; }
.pl95 { padding-left:95px!important; }
.pl100 { padding-left:100px!important; }

@media screen and (max-width:767px) {
	.pl10sp { padding-left:10px!important; }
	.pl20sp { padding-left:20px!important; }
	.pl30sp { padding-left:30px!important; }
	.pl40sp { padding-left:40px!important; }
	.pl50sp { padding-left:50px!important; }
}
@media print, screen and (min-width:768px) {
	.pl10pc { padding-left:10px!important; }
	.pl20pc { padding-left:20px!important; }
	.pl30pc { padding-left:30px!important; }
	.pl40pc { padding-left:40px!important; }
	.pl50pc { padding-left:50px!important; }
}



/* padding all
------------------------------------------------------------ */
.pa0 { padding:0px!important; }
.pa5 { padding:5px!important; }
.pa10 { padding:10px!important; }
.pa15 { padding:15px!important; }
.pa20 { padding:20px!important; }
.pa25 { padding:25px!important; }
.pa30 { padding:30px!important; }
.pa35 { padding:35px!important; }
.pa40 { padding:40px!important; }
.pa45 { padding:45px!important; }
.pa50 { padding:50px!important; }

@media screen and (max-width:767px) {
	.pa10sp { padding:10px!important; }
	.pa20sp { padding:20px!important; }
	.pa30sp { padding:30px!important; }
	.pa40sp { padding:40px!important; }
	.pa50sp { padding:50px!important; }
}
@media print, screen and (min-width:768px) {
	.pa10pc { padding:10px!important; }
	.pa20pc { padding:20px!important; }
	.pa30pc { padding:30px!important; }
	.pa40pc { padding:40px!important; }
	.pa50pc { padding:50px!important; }
}


/* layout style
------------------------------------------------------------ */
.floatL { float:left; }
.floatR { float:right; }
.clear { clear:both; }

.overflowH { overflow: hidden;}

.alignL { text-align: left!important; }
.alignC { text-align: center!important; }
.alignR { text-align: right!important; }

@media screen and (max-width:767px) {
	.alignLsp { text-align: left!important; }
	.alignCsp { text-align: center!important; }
	.alignRsp { text-align: right!important; }
}
@media print, screen and (min-width:768px) {
	.alignLpc { text-align: left!important; }
	.alignCpc { text-align: center!important; }
	.alignRpc { text-align: right!important; }
}



/* font style
------------------------------------------------------------ */
.fsU1 { font-size:1.12em;}
.fsU2 { font-size:1.24em;}
.fsU3 { font-size:1.36em;}

.fsD1 { font-size:0.88em;}
.fsD2 { font-size:0.76em; }
.fsD3 { font-size:0.64em; }

.fs10 { font-size:1.0rem; }
.fs12 { font-size:1.2rem; }

.bold { font-weight: bold; }

.fcWhite { color:#ffffff!important; }
.fcBlack { color:#000000!important; }
.fcRed   { color:#c01125!important; }
.fcOrenge  { color:#ffa200!important; }
.fcGold  { color:#a7956e!important; }
.fcPink { color:#db6481!important;}

.ti-05 { text-indent:-0.5em; }

.ruby {
	position:relative;
	line-height:1;
	text-indent:0;
}
.ruby .rt{
	font-size:8px;
	position:absolute;
	top:-1.2em;
	left:-90%;
	letter-spacing:0;
	text-align:center;
	width:280%;
	display:block;
}
@media screen and (max-width: 559px) {
	.ruby .rt{
		top:-1.2em;
	}
}



/* link
------------------------------------------------------------ */

a {
	color:#333534;
	text-decoration:none;
}
a.link {
	color:#333534;
	cursor:pointer;
	text-decoration:underline;
	transition: color 0.5s ease;
}
a.link:hover {
	text-decoration:none;
	color:#999999;
}
.ov {
	transition:all 0.5s ease;
}
.ov:hover {
	opacity:0.6;
}



/* block
------------------------------------------------------------ */

.displayI { display:inline!important; }
.displayIB { display:inline-block!important; }
.displayB { display:block!important; }

.viewSp,
.viewTab,
.viewPc { display:none; }

@media screen and (max-width:559px) {
	.viewSp { display:block; }
}
@media screen and (min-width:560px) and (max-width:768px) {
	.viewTab { display:block; }
}
@media print, screen and (min-width:769px) {
	.viewPc { display:block; }
}



/* br
------------------------------------------------------------ */

.br320,
.brSp,
.brTab,
.brPc {
	display: none;
}
@media screen and (max-width:559px){
	.brSp{display: block;}
}
@media screen and (max-width:320px){
	.br320{display: block;}
}
@media screen and (min-width:560px) and (max-width:768px) {
	.brTab{display: block;}
}
@media print, screen and (min-width:769px) {
	.brPc{display: block;}
}



/* bg
------------------------------------------------------------ */

.bgPaper {
	background:url(../imgs/share/bg_paper.jpg) repeat 50% 50%;
}


/* list
------------------------------------------------------------ */
.list {
	margin:0;
	padding:0;
}
.list li {
	margin:5px 0 0;
	padding-left:1em;
	text-align:left;
	text-indent:-1em;
	position:relative;
}
.list li:first-child {
	margin-top:0;
}

.list.circle li::after {
	position: absolute;
	top:0;
	left:0;
	z-index:1;
}
.list.circle li::after {
	content: '●';
	font-size:1rem;
	color:#ba0000;
	top:3px;
	left:2px;
}

.list.dot li::after {
	position: absolute;
	top:0;
	left:0;
	z-index:1;
}
.list.dot li::after {
	content: '・';
}

.list.coution li::after {
	position: absolute;
	top:0;
	left:0;
	z-index:1;
}
.list.coution li::after {
	content: '※';
}

.list.square li {
	padding-left:1.2em;
	text-indent:0;
}
.list.square li::after {
	position: absolute;
	top:0;
	left:0;
	z-index:1;
}
.list.square li::after {
	content: '□';
}



/*-----------------------------------------------------------------

	flexBox
	
-----------------------------------------------------------------*/

.flex {
	width:100%;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
}
.flex.wrap {
	-webkit-flex-wrap: wrap;
	-ms-flex-pack: wrap;
	flex-wrap: wrap;
}
.flex.bw {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 559px){
	.flex.sp {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
	}
}

@media screen and (min-width:560px) and (max-width:768px) {
	.flex.tab {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
	}
}

@media print, screen and (min-width: 769px) {
	.flex.pc {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
	}
}