@charset "UTF-8";
@import "reset5.css";
@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);

body { color:#646a6e; line-height:1; background-color: #fff; padding: 0; position: relative; min-height: 100%; text-align: center; overflow: hidden;
	-webkit-text-size-adjust:none;/* iPhoneとかで横向きにすると文字サイズが自動調整をやめる */
	word-spacing: 0.4em;
	letter-spacing: 0.12em;
	}

* html body { font-family: 'Noto Sans JP', sans-serif,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "Osaka", "MS Pゴシック", "MS PGothic", Helvetica, Arial }
*:first-child+html body { font-family: 'Noto Sans JP', sans-serif,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "Osaka", "MS Pゴシック", "MS PGothic", Helvetica, Arial }
html:not(:target) body { font-family: 'Noto Sans JP', sans-serif, Helvetica, Arial}
	
html { min-height: 100%; }

* {word-wrap: break-word; }
img { -ms-interpolation-mode: bicubic; }

body { font-size:14px; line-height: 1 }
body p { line-height: 2; font-weight: 300 }
*:first-child+html body { font-size:77%;}
* html body { font-size:77%;}

h1,h2,h3,h4,h5 { letter-spacing: 0.12em; font-weight: 600 }


iframe { overflow: hidden }

/* !clearfix */
hr { display: none; }

.cfix { /zoom : 1; }
.cfix:after { content : ''; display : block; clear : both; }

/* スクロールバーの有無によるズレ対策 */
html {
	overflow-y: scroll;
}

/* margin-bottom
=========================================*/
.mb0 { margin-bottom:0 !important; }
.mb3 { margin-bottom:3px !important; }
.mb4 { margin-bottom:4px !important; }
.mb5 { margin-bottom:5px !important; }
.mb7 { margin-bottom:7px !important; }
.mb10 { margin-bottom:10px !important; }
.mb12 { margin-bottom:12px !important; }
.mb15 { margin-bottom:15px !important; }
.mb20 { margin-bottom:20px !important; }
.mb25 { margin-bottom:25px !important; }
.mb30 { margin-bottom:30px !important; }
.mb40 { margin-bottom:40px !important; }
.mb50 { margin-bottom:50px !important; }
.mb60 { margin-bottom:60px !important; }
.mb80 { margin-bottom:80px !important; }

.tx9 { font-size: 9px !important; }
.tx10 { font-size: 10px !important; }
.tx11 { font-size: 11px !important; }
.tx12 { font-size: 12px !important; }
.tx13 { font-size: 13px !important; }
.tx14 { font-size: 14px !important; }
.tx15 { font-size: 15px !important; }
.tx16 { font-size: 16px !important; }
.tx18 { font-size: 18px !important; }
.tx20 { font-size: 20px !important; }
.tx24 { font-size: 24px !important; }

.fltR { float: right; }
.fltL { float: left; }

.txtR { text-align: right; }
.txtL { text-align: left; }
.txtC { text-align: center; }

/* !Links */
a:link { color: #545a5e; text-decoration: none  }
a:visited { color: #444a4e; text-decoration: none }
a:hover { color: #e3002d; text-decoration: none }
a:active { color: #e3002d; text-decoration: none }
p a:link { border-bottom: 1px dotted; text-decoration: none  }
p a:hover { border-bottom: 0px; text-decoration: none }

html { margin: 0; padding: 0}
body { margin: 0; padding: 0 }

#wrapper { text-align: center; position: relative; background: #fff; margin: 0; padding: 0; z-index: 10 }
#loader { position: fixed; left: 50%; top: 315px; margin-left: -16px;}
#news #loader { top: 162px; }

header { background-color: #050505; border-bottom: 1px solid #373737; position: fixed; left: 0; top: 0; width: 100%; z-index: 10000 }
header h1 { padding: 8px 40px; }
header .home { position: absolute; left: 40px; top: 17px; line-height: 1; background: url(../img/arw1.png) no-repeat left top; background-size: contain; padding-left: 15px; font-weight: bold }
header .home a {color: #fbeede !important }
header .home a:hover { color: #e3002d }
header .h_ico { position: absolute; right: 10px; top: 9px; width: 220px }
header .h_ico li { float: left; }
header .h_ico li a { padding: 0 7px; display: block }

#main { margin: 46px 0 0; border-bottom: 1px solid #d6cfc5; background-color: #f7f7f7; width: 100%; position: relative; }
#main .vis { position: absolute; left: 0; top: 0; width: 100%; opacity: 0 }
#main .vis a { position: relative; width: 100%; display: block }
#main .vis a img { position: absolute; left: 0; top: 0; opacity: 0 }
#main .vis a img:first-child { opacity: 1 }
#main .vis .cap { position: absolute; bottom: 0; width: 100%; height: 85px; background: url(../img/blk70.png); color: #fff; font-size: 18px; letter-spacing: 0; font-weight: bold; z-index: 10 }
#main .vis .cap p { display: none }
#vis1 .cap p { padding-top: 27px; }

#main_sp { margin: 42px 0 0; border-bottom: 1px solid #d6cfc5; background-color: #fefbf7; display: none }
#main_sp .vis_sp { /*position: absolute; left: 0; top: 0;*/ opacity: 0 }
#main_sp .vis_sp .cap { padding: 15px 0; background: url(../img/blk70.png); color: #fff; font-size: 12px; letter-spacing: 0; font-weight: bold; }
#main_sp .vis_sp .cap p { /*display: none*/ }

#top section { padding: 60px 0 0; border-bottom: 1px solid #d6cfc5; }
#top section h2 { margin: 0 0 25px }

#top #news ul { max-width: 1280px; margin: 0 auto }
#top #news li { width: 50%; float: left; padding: 0 0 50px; background: url(../img/sdw.png) no-repeat center bottom; backg cursor: pointer }
#top #news li .inner { padding: 0 20px; text-align: left }
#top #news li .inner div { border: 1px solid #d6cfc5; border-width: 1px 0; padding: 15px 0; }
#top #news li .inner img { float: left; margin-right: 20px }
#top #news li .inner .date { margin-top: 12px }
#top #news li .inner .date span { border-top: 3px solid #e3002d; padding: 15px 0 0; font-size: 12px; font-style: italic; line-height: 1 }
#top #news li .inner .cate { letter-spacing: 0.2em; color: #e1007f; font-size: 12px; margin-bottom: 5px; font-weight: bold }
#top #news li .inner h3 { font-size: 18px; line-height: 1.6 }

.frf17 { padding: 0 20px 40px; max-width: 1240px; margin: 0 auto }

#official .yt { margin: 0 0 120px }
#official .icons { background-color: #050505; border-top: 1px solid #d6cfc5; }
#official .icons ul { width: 450px; margin: 0 auto }
#official .icons li { float: left }

.bnrs { padding: 50px 0; border-bottom: 1px solid #eae7e2; }
.bnrs a { margin: 0 10px }

.sns_box { margin: 0 auto; padding: 40px 0; width: 160px }
.sns_box li { float: left; width: 70px; overflow: hidden; padding: 0 5px }

footer { padding: 60px 0 15px; background: #f7f7f7; position: relative }
footer .logo_smash { margin: 0 0 15px }
footer p.copyright { margin: 0 0 5px; font-size: 12px; font-family:"Futura Light", Futura, Arial, sans-serif; }
#foot_img { position: fixed; left: 0; bottom: 0; z-index: 0 }

#pagetop { width: 49px; height: 40px; cursor: pointer; position: fixed; right: -49px; bottom: 40px; z-index: 10 }


/*////////// 第2階層 ////////// */

#main_vis { margin: 46px 0 0; border-bottom: 1px solid #d6cfc5; background-color: #fefbf7 }
#main_vis img { opacity: 0; margin: 0; padding: 0 }

#content { width: 1024px; margin: 46px auto 40px; opacity: 0 }
#content .left { width: 180px; float: left; text-align: left }
#content .left .date { border-top: 3px solid #e3002d; padding: 30px 10px; font-size: 14px; font-style: italic; line-height: 1 }
#content .left .cate { padding: 0 10px; letter-spacing: 0.2em; color: #e1007f; font-size: 16px; font-weight: bold }

#content .right { width: 804px; float: right; text-align: left; border-top: 1px solid #d6cfc5; }
#content .right h2 { font-size: 20px; padding: 30px 0; margin: 0 0 30px; border-bottom: 2px solid #eae7e2; line-height: 1.5 }
#content table { border: solid #d6cfc5; border-width: 0 1px 1px 0; }
#content th { line-height: 1.8; font-weight: bold; padding: 10px; border: solid #d6cfc5; border-width: 1px 0 0 1px }
#content td { line-height: 1.8; padding: 10px; border: solid #d6cfc5; border-width: 1px 0 0 1px }
#content table.nb, #content table.nb th, #content table.nb td { border: none }
#content th.hd { background-color: #f7f7f7; }
#content .right h3 { font-size: 17px; margin: 0 0 20px; border-left: 2px solid #e3002d; padding-left: 15px }
#content .right h3.titC { font-size: 17px; margin: 0 0 20px; border-left: none; padding-left: 0; text-align: center }
#content .right h4 { font-size: 15px; margin: 0 0 20px; }
#content .right P.it { font-style: italic; }
#content .right article { margin: 0 0 60px; padding: 0 10px }
#content .right ol {}
#content .right ol li { list-style:inside square; padding-left: 1em; text-indent: -1em; line-height: 1.8; margin-bottom: 1em }
#content .right ol.cir li { list-style:inside none }
#content .right ol.cir li:before { content:"・" }
#content .right ol.disc li { list-style:inside disc }
#content .right ol.disc li strong { font-size: 15px; font-weight: 500 !important }
.pbox { background-color: #fdedee; padding: 25px 15px 15px }
.mailbox { padding: 15px; border: solid 1px #eae7e2 }

.cont_inner { padding: 0 0 60px }
.cont_foot { height: 50px; border-top: 1px solid #d6cfc5; background: url(../img/sdw2.png) no-repeat center top; padding: 0 10px }
.cont_foot .prev { width: 50%; float: left; text-align: left }
.cont_foot .prev p { margin-top: 20px; line-height: 1.2; background: url(../img/arw3.png) no-repeat left top; padding-left: 15px }
.cont_foot .next { width: 50%; float: right; text-align: right }
.cont_foot .next p { margin-top: 20px; line-height: 1.2; background: url(../img/arw2.png) no-repeat right top; padding-right: 15px }
.cont_foot a:link { border-bottom: 1px dotted }
.cont_foot a:hover {  border-bottom: 0px; text-decoration: none }

#news .btns img { margin: 0 5px 10px }

#news section { padding: 40px 0 0; border-bottom: 1px solid #d6cfc5; }
#news section h2 { margin: 0 0 20px }

#content .right .qa { margin-bottom: 50px }
#content .right .qa h3 { border-left: none; padding-left: 40px; position: relative }
#content .right .qa h3 .ico { position: absolute; left:0; top: -5px }
#content .right .qa p { padding-left: 40px; margin: 10px 0 0; position: relative }
#content .right .qa p .ico { position: absolute; left:0; top: -2px }

.sns_btn { width: 100% }
.sns_btn li { float: left; width: 115px; overflow: hidden; padding: 0 5px }

div.bt { text-align: center; font-size: 15px; font-weight: bold }
div.bt a { padding: 20px; display: block; border: 2px solid #d6cfc5; background-color: #fff; } 
div.bt a:hover { padding: 20px; display: block; background-color: #e3002d; border: 2px solid #e3002d; color: #fff } 

p.ind { padding-left: 1em; text-indent: -1em; }
.pl10 { padding-left: 10px }
.nw { white-space: nowrap }
.nolink { opacity: 0.4 }
.uline { text-decoration: underline }
.red { color: #e3002d }

.imgs { line-height: 0 }
.imgs img { margin: 0; padding: 0 }

.w14 { width: 12% !important; }
.w30 { width: 30% !important; }


@media screen and (max-width:768px){
	
body { font-size:13px; line-height: 1 }
body p { line-height: 1.8; }

header { height: 41px }
header h1 img { width: 220px; height: auto }
header .home { display: none }
header .h_ico { display: none }

#main { margin: 42px 0 0; }
#main .vis .cap { position: relative; bottom: inherit; width: 100%; height: 64px; font-size: 13px; }
#main .vis .cap p { display: none }
#vis1 .cap p { padding: 10px 20px; }

#loader { position: fixed; width: 16px; height: 16px; left: 50%; top: 124px; margin-left: -8px;}
#news #loader { top: 70px; }

#top section { padding: 20px 0 0; border-bottom: 1px solid #d6cfc5; }
#top section h2 { margin: 0 0 15px }

#top #news li { width: 100%; float: none; padding: 0; background: none }
#top #news li .inner { padding: 0; text-align: left }
#top #news li .inner div { padding: 10px; border: 1px solid #d6cfc5; border-width: 1px 0; }
#top #news li .inner img { width: 90px; height: 90px }
#top #news li .inner .date { margin-top: 4px }
#top #news li .inner .date span { border-top: 3px solid #e3002d; padding: 7px 0 0; font-size: 8px; font-style: italic; line-height: 1 }
#top #news li .inner .cate { display: none }
#top #news li .inner h3 { font-size: 14px; line-height: 1.4; letter-spacing: 0 }

#official iframe { width: 320px; height: 180px }
#official .yt { margin: 0 0 30px }
#official .icons ul { width: 100%; }
#official .icons ul li { width: 20%; }
#official .icons ul li img { width: 100%; height: auto }

.bnrs { padding: 20px 0; }
.bnrs a { margin: 5px 0; display: block }
.bnrs img { width: 300px; height: auto }

.sns_box { padding: 20px 0; }

footer { padding: 40px 0 10px }
footer p { font-size: 8px !important; letter-spacing: 0 }
footer p.copyright { margin: 0 0 5px; font-size: 9px !important; letter-spacing: 0 }

#main_vis { margin: 42px 0 0; }
#main_vis img { opacity: 0 }

#content { width: 100%; margin: 0 auto 20px }
#content .left { width: 100%; float: none; text-align: left }
#content .left .date { border-top: 3px solid #e3002d; padding: 10px 10px 5px; font-size: 13px; font-style: italic; line-height: 1 }
#content .left .cate { padding: 0 10px 5px; letter-spacing: 0.2em; color: #e3002d; font-size: 14px; }
#content .right { width: 100%; float: none; text-align: left; border-top: 1px solid #d6cfc5; }
#content .right .inner { padding: 0 10px }

#content .right h2 { font-size: 16px; line-height: 1.4; padding: 20px 0; margin: 0 0 10px; }
#content .right h3 { font-size: 14px; line-height: 1.4; margin: 0 0 10px; }
#content .right h4 { font-size: 13px; line-height: 1.4; margin: 0 0 10px; }

#content td { word-break:break-all }

#news .btns img { width: 280px; height: auto; margin: 0 0 10px }

.cont_inner { padding: 0 0 30px }

.cont_foot .prev p span { display: none }
.cont_foot .next p span { display: none }

#news section { padding: 20px 0 0; border-bottom: 1px solid #d6cfc5; }
#news section h2 { margin: 0 0 15px }
#news div.bt { margin-top: 20px }
div.bt { line-height: 1.8 }
div.bt a { padding: 15px }
div.bt a:hover { padding: 15px; }
	
iframe { width: 320px; height: 180px }

.w14 { width: auto }

}

