@charset "utf-8";
/* ! Common Classes
----------------------------------------------- */

html { height:100%; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100%; }
body { height:100%; color:#333; line-height:1; font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif; /*font-family:"游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", serif;*/ }

input,
button,
select,
textarea { font-size:inherit; line-height:inherit; font-family:inherit; }

*,
*:after,
*:before { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }


/* ! Link Color
----------------------------------------------- */

a { text-decoration:none; outline:none; transition:color 0.5s ease; }
a:hover { text-decoration:undeline; }
a:visited { color:#666; }


/* ! Image Rollover
----------------------------------------------- */

a.img-rollover img { -webkit-transition:opacity 0.5s ease; transition:opacity 0.5s ease; }
a.img-rollover:hover img,
input.img-rollover:hover { opacity:0.8; filter:alpha(opacity=80); -ms-filter:alpha(opacity=80); }


/* ! Text Alignment
----------------------------------------------- */

.text-left { text-align:left; }
.text-right { text-align:right; }
.text-center { text-align:center; }
.text-justify { text-align:justify; }
.text-nowrap { white-space:nowrap; }


/* ! Custom Margin Classes
----------------------------------------------- */

.mb_1em { margin-bottom:1em !important; }
.mb_2em { margin-bottom:2em !important; }
.m0 { margin:0px !important; }
.mt0 { margin-top:0px !important; }
.mb0 { margin-bottom:0px !important; }
.ml0 { margin-left:0px !important; }
.mr0 { margin-right:0px !important; }
.m5 { margin:5px !important; }
.mt5 { margin-top:5px !important; }
.mb5 { margin-bottom:5px !important; }
.ml5 { margin-left:5px !important; }
.mr5 { margin-right:5px !important; }
.m10 { margin:10px !important; }
.mt10 { margin-top:10px !important; }
.mb10 { margin-bottom:10px !important; }
.ml10 { margin-left:10px !important; }
.mr10 { margin-right:10px !important; }
.m15 { margin:15px !important; }
.mt15 { margin-top:15px !important; }
.mb15 { margin-bottom:15px !important; }
.ml15 { margin-left:15px !important; }
.mr15 { margin-right:15px !important; }
.m20 { margin:20px !important; }
.mt20 { margin-top:20px !important; }
.mb20 { margin-bottom:20px !important; }
.ml20 { margin-left:20px !important; }
.mr20 { margin-right:20px !important; }
.m25 { margin:25px !important; }
.mt25 { margin-top:25px !important; }
.mb25 { margin-bottom:25px !important; }
.ml25 { margin-left:25px !important; }
.mr25 { margin-right:25px !important; }
.m30 { margin:30px !important; }
.mt30 { margin-top:30px !important; }
.mb30 { margin-bottom:30px !important; }
.ml30 { margin-left:30px !important; }
.mr30 { margin-right:30px !important; }
.m35 { margin:35px !important; }
.mt35 { margin-top:35px !important; }
.mb35 { margin-bottom:35px !important; }
.ml35 { margin-left:35px !important; }
.mr35 { margin-right:35px !important; }
.m40 { margin:40px !important; }
.mt40 { margin-top:40px !important; }
.mb40 { margin-bottom:40px !important; }
.ml40 { margin-left:40px !important; }
.mr40 { margin-right:40px !important; }
.m45 { margin:45px !important; }
.mt45 { margin-top:45px !important; }
.mb45 { margin-bottom:45px !important; }
.ml45 { margin-left:45px !important; }
.mr45 { margin-right:45px !important; }
.m50 { margin:50px !important; }
.mt50 { margin-top:50px !important; }
.mb50 { margin-bottom:50px !important; }
.ml50 { margin-left:50px !important; }
.mr50 { margin-right:50px !important; }


/* ! Custom Padding Classes
----------------------------------------------- */

.p0 { padding:0px !important; }
.pt0 { padding-top:0px !important; }
.pb0 { padding-bottom:0px !important; }
.pl0 { padding-left:0px !important; }
.pr0 { padding-right:0px !important; }
.p5 { padding:5px !important; }
.pt5 { padding-top:5px !important; }
.pb5 { padding-bottom:5px !important; }
.pl5 { padding-left:5px !important; }
.pr5 { padding-right:5px !important; }
.p10 { padding:10px !important; }
.pt10 { padding-top:10px !important; }
.pb10 { padding-bottom:10px !important; }
.pl10 { padding-left:10px !important; }
.pr10 { padding-right:10px !important; }
.pr40 { padding-right:40px !important; }
.p15 { padding:15px !important; }
.pt15 { padding-top:15px !important; }
.pb15 { padding-bottom:15px !important; }
.pl15 { padding-left:15px !important; }
.pr15 { padding-right:15px !important; }
.p20 { padding:20px !important; }
.pt20 { padding-top:20px !important; }
.pb20 { padding-bottom:20px !important; }
.pl20 { padding-left:20px !important; }
.pr20 { padding-right:20px !important; }
.p25 { padding:25px !important; }
.pt25 { padding-top:25px !important; }
.pb25 { padding-bottom:25px !important; }
.pl25 { padding-left:25px !important; }
.pr25 { padding-right:25px !important; }
.p30 { padding:30px !important; }
.pt30 { padding-top:30px !important; }
.pb30 { padding-bottom:30px !important; }
.pl30 { padding-left:30px !important; }
.pr30 { padding-right:30px !important; }
.p35 { padding:35px !important; }
.pt35 { padding-top:35px !important; }
.pb35 { padding-bottom:35px !important; }
.pl35 { padding-left:35px !important; }
.pr35 { padding-right:35px !important; }
.p40 { padding:40px !important; }
.pt40 { padding-top:40px !important; }
.pb40 { padding-bottom:40px !important; }
.pl40 { padding-left:40px !important; }
.pr40 { padding-right:40px !important; }
.p45 { padding:45px !important; }
.pt45 { padding-top:45px !important; }
.pb45 { padding-bottom:45px !important; }
.pl45 { padding-left:45px !important; }
.pr45 { padding-right:45px !important; }
.p50 { padding:50px !important; }
.pt50 { padding-top:50px !important; }
.pb50 { padding-bottom:50px !important; }
.pl50 { padding-left:50px !important; }
.pr50 { padding-right:50px !important; }


/* ! Utility Classes
----------------------------------------------- */

.clearfix { zoom:1; }
.clearfix:before,
.clearfix:after { content:""; display:table; }
.clearfix:after { clear:both; }

.float-right { float:right !important; }
.float-left { float:left !important; }
.hide { display:none !important; }
.show { display:block !important; }
.invisible { visibility:hidden; }
.visible { visibility:visible; }
.hidden { display:none !important; }


/* ! Show & Hide
----------------------------------------------- */

.sp { display:block; }
@media screen and (min-width:641px) { 
.sp { display:none; }
}

.pc { display:none; }
@media screen and (min-width:641px) { 
.pc { display:block; }
}

br.sp { display:block !important; }
@media screen and (min-width:641px) { 
br.sp { display:none !important; }
}

br.pc { display:none !important; }
@media screen and (min-width:641px) { 
br.pc { display:block !important; }
}


/**** add ****/

.alignright, .alignleft { margin-bottom:20px; }

@media screen and (min-width:640px) { 
.alignright { float:right; margin-bottom:0; margin-left:20px; }
.alignleft { float:left; margin-bottom:0; margin-right:20px; }
img.aligncenter { max-width:100% !important; }
.aligncenter { clear:both; display:block; margin:0 auto 20px; width:auto !important; }
}


.flex img { max-width:100%; border:none; vertical-align:bottom; }
.flex { display:flex; -webkit-flex-direction:row; flex-direction:row; -webkit-flex-wrap:nowrap; flex-wrap:nowrap; width:100%; margin:0 auto; margin-bottom:20px; overflow:hidden; position:relative; }
.flex>div { position:relative; text-align:center;/*add*/ }
.flex>div>div:last-child { margin-bottom:0; }


/* .c-content .flex.equable */

.flex.equable { -webkit-justify-content:space-between; justify-content:space-between; }
.flex.equable>div { flex:1; padding-left:20px; }
.flex.equable>div:first-child { padding-left:0; }

@media screen and (max-width:639px){ 
/* .c-content .flex */

.flex { display:block; margin-bottom:10px; }
.flex>div { margin-bottom:10px; }

/* .c-content .flex.equable */

.flex.equable {}
.flex.equable>div { padding-left:0; }

.holiday { color:#ef2323; }

}