@charset "utf-8";

/* init **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
*{ margin:0; padding:0; box-sizing:border-box; }
select option{ padding:0 5px; }
body{ color:#333; background:url(../images/top_bg.png) center top no-repeat , #fff url(../images/bg_gray.png) center top repeat; font:18px helvetica, arial, 'hiragino kaku gothic pro', meiryo, 'ms pgothic', sans-serif; line-height:1.8; text-align:center; min-width:1020px; _display: inline;_zoom:1; }
h1 , h2 , h3 , h4 , h5 , h6 , address{ font-style:normal; font-weight:normal; font-size:100%; }
ul{ list-style-type:none; }
img{ border:0; vertical-align:bottom; }

table{ border-spacing:0; border:0; }
table th{ text-align:left; vertical-align:middle; font-weight:normal; }
table td{ word-break:break-all; }

.floatR{ float:right; }
.floatL{ float:left; }

.alignL{ text-align:left; }
.alignR{ text-align:right; }
.alignC{ text-align:center; }

.rel{ position:relative; }
.abs{ position:absolute; }


/* clearfix **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.cf:after{ content:" "; display:block; clear:both; }


/* link **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
a:link , a:visited{ color:#0000ff; text-decoration:underline; }
a:hover{ color:#ff8000; text-decoration:underline; }
/*a:hover , a img:hover , input[type=image]:hover{ opacity:0.9; }*/


/* font decoration **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* size */
.fontSS{ font-size:12px; }
.fontS{ font-size:14px; line-height: 1.7;}
.fontL{ font-size:22px; }
.fontLL{ font-size:26px !important; }
.fontLLL { font-size: 30px !important; }

/* color */
.txt-y{color:#f2de00;font-weight:bold;}
.txt-red{color:#a61e1d;font-weight:bold;font-family: 'Hiragino Mincho ProN', 'HG明朝E' !important; font-size: 120%;}
.txt-blue{color:#245f96;font-weight:bold;font-family: 'Hiragino Mincho ProN', 'HG明朝E' !important; font-size: 120%;}
.txt-gold{ color:#aa9115; font-weight:bold; font-family: 'Hiragino Mincho ProN', 'HG明朝E' !important; font-size: 120%;}
.txt_white{color: #fff;}
.txt_white_l{color: #fff;font-size: 120%;}


/*indent */
.idt , ul.assist li , .system li{ padding-left:1.0em; text-indent:-1.0em; }
.idt-half{ padding-left:0.5em; text-indent:-0.5em; }

/*other */
.str{ font-weight:bold; }

.underline{ text-decoration:underline; }
.underline-double{ border-bottom:double medium; }

.waveline{ background:url(../images/wave_line.png) repeat-x left bottom; padding-bottom:7px; }
.waveline-red{ background:url(../images/wave_line_red.png) repeat-x left bottom; padding-bottom:7px; }
.waveline-blue{ background:url(../images/wave_line_blue.png) repeat-x left bottom; padding-bottom:7px; }



.marker {
    background: linear-gradient(transparent 65%, #F5DA59 35%);
}

.dot-txt{ letter-spacing:0.9px; padding-top:10px; background-position:top left -2px; background-repeat:repeat-x; }
.dot-txt.dotM{ background-size:17px 5px; }
.dot-txt.dotL{ background-size:21px 5px; }
.dot-txt.dotLL{ background-size:25px 5px; }
.dot-txt.black{ background-image:radial-gradient(3px 3px at center center,#333,#333 80%,transparent); }
.dot-txt.red{ background-image:radial-gradient(3px 3px at center center,#e90031,#e90031 80%,transparent); }
.dot-txt.blue{ background-image:radial-gradient(3px 3px at center center,#004bd5,#004bd5 80%,transparent); }


/* space **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* padding */
.spt0{ padding-top:0px !important; }
.spt5{ padding-top:5px !important; }
.spt10{ padding-top:10px !important; }
.spt15{ padding-top:15px !important; }
.spt20{ padding-top:20px !important; }
.spt25{ padding-top:25px !important; }
.spt30{ padding-top:30px !important; }
.spt35{ padding-top:35px !important; }
.spt50{ padding-top:50px !important; }
.spt90{ padding-top:120px !important; }

.spb0{ padding-bottom:0px !important; }
.spb5{ padding-bottom:5px !important; }
.spb10{ padding-bottom:10px !important; }
.spb15{ padding-bottom:15px !important; }
.spb20{ padding-bottom:20px !important; }
.spb25{ padding-bottom:25px !important; }
.spb30{ padding-bottom:30px !important; }
.spb35{ padding-bottom:35px !important; }
.spb90{ padding-bottom:120px !important; }

/* margin */
.smt0{ margin-top:0px !important; }
.smt5{ margin-top:5px !important; }
.smt10{ margin-top:10px !important; }
.smt15{ margin-top:15px !important; }
.smt18{ margin-top:18px !important; }
.smt20{ margin-top:20px !important; }
.smt25{ margin-top:25px !important; }
.smt30{ margin-top:30px !important; }
.smt35{ margin-top:35px !important; }
.smt40{ margin-top:40px !important; }
.smt45{ margin-top:45px !important; }
.smt50{ margin-top:50px !important; }
.smt120{ margin-top:120px !important; }
.smt-20{ margin-top:-20px !important; }
.smt-50{ margin-top:-50px !important; }
.smt-240{ margin-top:-240px !important; }

.smb0{ margin-bottom:0px !important; }
.smb5{ margin-bottom:5px !important; }
.smb10{ margin-bottom:10px !important; }
.smb15{ margin-bottom:15px !important; }
.smb20{ margin-bottom:20px !important; }
.smb25{ margin-bottom:25px !important; }
.smb30{ margin-bottom:30px !important; }
.smb35{ margin-bottom:35px !important; }
.smb40{ margin-bottom:40px !important; }
.smb45{ margin-bottom:45px !important; }
.smb50{ margin-bottom:50px !important; }
.smb-20{ margin-bottom:-20px !important; }
.smb-30{ margin-bottom:-30px !important; }

.sml0{ margin-left:0px !important; }
.sml20{ margin-left:20px !important; }
.sml30{ margin-left:30px !important; }
.sml50{ margin-left:50px !important; }

.smr0{ margin-right:0px !important; }
.smr20{ margin-right:20px !important; }
.smr30{ margin-right:30px !important; }
.smr50{ margin-right:50px !important; }

/* paragraph */
p{margin: 0 50px 30px;}
p.lh-reset{ line-height:1.0; }

/* original frame */
.box{ margin:0 25px; }

/*.w100 img{ width:100% !important; height:auto; }*/
/*.w95 img{width:95% !important; height:auto;}*/
/*.w90 img{ width:90% !important; height:auto; }*/



/* favorite decoration **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.shadow{ box-shadow:0px 0px 8px rgba(0,0,0,0.4); }

table{ width:calc(100% - 50px); width:-webkit-calc(100% - 50px); border-collapse:separate; border-spacing:1px; background-color:#cdcdcd; line-height:2; font-size:14px; }
/*↑width:calc(100% - boxクラスの左右のmargin); */
table th , table td{ border:1px solid #fff; padding:5px 10px; }
table th{ font-weight:bold; background-color:#cdcdcd; width:22%; vertical-align:middle; }
table td{ background-color:#fff; }
table ol{ margin-left:20px; }

ul.assist{ font-size:12px; padding:15px 25px 12px; line-height:1.6; border:solid 1px #cdcdcd; }

.system{ font-size:14px; }

dl.rule{ padding:20px; border-radius:3px; border:solid 1px #cdcdcd; font-size:12px; line-height:1.6; text-align:left; }
dl.rule dt{ font-weight:bold; font-size:14px; text-align:center; }

.graybox{background-color:#e8e8e8; padding: 20px;}


/* responsive  **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.pc-item{ display:block; }
.sp-item{ display:none; }

[class^="pic"]{ float:right; margin:0 50px 20px 20px; }
.inner [class^="pic"]{ float:right; margin:0 0 20px 20px; }

.inner{ padding:20px; background-color:#fff; }
.inner p{ margin:0 0 30px; }
.inner p:last-child{ margin:0; }


/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.contents {
    padding: 50px 0 20px;
    /*background: url(../images/contents_bg.png) repeat-y center top;*/
    }


/* wrap **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.wraptop{ width:840px; margin:0 auto; text-align:left; position:relative; }
.wrap{width:1027px;margin:0 auto;text-align:left;position:relative;}
.wrapsema{ width:850px; margin:0 auto;  }
.wrap img{/* width: 100%;*/ }


/* header **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.header {
    /*padding-top: 80px;*/
	/*background: url(../images/bg_gray.png) repeat center top ;*/
}


/* timer ********** タイマーが必要な場合のみ記述
///////////////////////////////////////////////////////////////////////////////////////////////*/
/*div.timer{ position:relative; width:325px; height:104px; margin: 0 auto;}
.timer .timeDay{ position:absolute; top:55px; left:-50px; }
.timer .timeHr{ position:absolute; top:55px; left:65px; }
.timer .timeMmin{ position:absolute; top:55px; left:220px; }
.timer .timeSec{ position:absolute; top:80px; left:320px; display:none; }
.timer .timeMsec{ position:absolute; top:80px; left:310px; display:none; }
.timer span img:nth-of-type(2){ margin-left:-6px; }*/


/* form **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.mailform{padding:40px 20px; text-align:center; background:url(../images/bg_form.png) center top repeat;}
.mailform ul{ margin:0 50px 20px; text-align:left; }
.mailform ul li{ margin-bottom:10px; }
.mailform ul li span,.mailform ul li input{ float:left; }
.mailform ul li span{ width:160px; padding-top:7px; }
.mailform ul li input{ width:100%; height:80px; padding:0px 30px; border:none; border-radius: 5px; box-shadow:3px 3px 0 #b9b9b9; font-size:20px; }
.mailform .txt {font-size:14px;}
.mailform .txt img{ max-width:590px; width:calc(100% - 10px); width:-webkit-calc(100% - 10px); height:auto; margin:10px 5px 0; }

.entry img{ box-shadow:0 1px 8px rgba(0,0,0,0.2); }


/* movie **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.movie-large,.movie-short li{border: solid 5px; border-image: linear-gradient(to bottom, #d9c761, #f8ee91, #8e7429) 1; }

.movie-large{ width:700px; height:auto; margin:10px auto 0; }
.movie-large .frame{ position:relative; top:0; left:0; width:100%; padding-top:56.25%; }
.movie-large iframe{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:100; }
/*↑ウィンドウサイズに合わせて縦横比固定で縮小させる　padding-top:56.25%;(高さ÷横幅×100) → 16:9のサイズ(9÷16×100=56.25)*/

.movie-short{ width:900px; margin:0 auto; }
.movie-short li{ width:290px; float:left; margin-right:15px; }
.movie-short li:last-child{ margin-right:0; }
.movie-short li .frame{ position:relative; top:0; left:0; width:100%; padding-top:56.25%; }
.movie-short li iframe{ position:absolute; top:0; left:0; width:100%; height:100%; }
.movie-short li span{ display:block; padding:10px 5px; background-color:#7383b8; text-align:center; }


/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/

.bg-white{ background: url("../images/bg_white.png")repeat;}

.bg-gray{ background: #e8e8e8;}

.section1 { padding: 60px 0 50px; }
.section2 { padding: 60px 0 30px; }

.section2 .profile1{background: url("../images/sec2_photo1.png")no-repeat right; margin-top: 40px;}
.section2 .profile1 .txt{width: 60%; }

.section2 .profile2{background: url("../images/sec2_photo2.png")no-repeat right; margin-top: 40px;}
.section2 .profile2 .txt{width: 60%; }

.end {background:url(../images/endtop_bg.png) center top no-repeat , #fff url(../images/bg_gray.png) center top repeat; }

.kiyaku{background:#e8e8e8; padding: 25px; font-size: 15px; margin-top: 30px; line-height: 1.4;}


/* footer **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.footer{ color:#fff; background-color:#333; padding:10px 10px 20px; text-align:center; }
.footer a{ color:#fff; font-size:12px; }


/* timer ********** タイマーが必要な場合のみ記述
///////////////////////////////////////////////////////////////////////////////////////////////*/
.header .wrap{ width:1027px; margin:0 auto; text-align:left; padding-top: 0px; }
.end .wrap{ width:1027px; margin:0 auto; text-align:left; padding-top: 0px; }
/*.header .time {
    position: relative;
    right: 0;
    left: 0;
    margin: 0 auto;
    top: 14px;
    width: 657px;
}
div.timer{ width:382px; height:70px; position:relative; }
div.timer .count {
    width: 100%;
    height: 44px;
    overflow: hidden;
    position: absolute;
    top: -2px;
    left: 344px;
}
div.timer .count img{ position:absolute; }
div.timer img:nth-child(1)  { left:calc(33px * 0 + 0px); }数字の横幅 + 配置*/
/*div.timer img:nth-child(2)  {left: 22px;}
div.timer img:nth-child(3)  {left: calc(33px * 2 + 2px);}
div.timer img:nth-child(4)  {left: calc(33px * 3 + -12px);}
div.timer img:nth-child(5)  {left: calc(33px * 4 + 30px);}
div.timer img:nth-child(6)  {left: calc(33px * 5 + 17px);}
div.timer img:nth-child(7)  {left: calc(33px * 6 + 35px);}
div.timer img:nth-child(8)  {left: calc(33px * 7 + 23px);}
div.timer img:nth-child(9)  { left:calc(33px * 8 + 350px); }
div.timer img:nth-child(10){ left:calc(33px * 9 + 350px); }
div.timer img:nth-child(even){ margin-left:3px; } *//*数字の間隔*/

/* timerがテキストの時は以下設定等で見た目を整える */
input.timer , .timer input{ font-size:46px; background-color:transparent; border:none; width:500px; color: #fff; font-weight: bold; }


.ttime{color: #fff; font-weight: bold;font-size:30px; margin-top: 50px; text-align: center;}



/* ★★★ タブレット ★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media only screen and (max-width: 768px){
/* init **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.pc-item{ display:block; }
.sp-item{ display:none; }

    
.txt-red{ font-size: inherit;}
.txt-blue{ font-size: inherit;}
.txt-gold{ font-size: inherit;}
.str{ font-size: inherit;}
    
    
body{ min-width:100%; font:16px helvetica, arial, 'hiragino kaku gothic pro', meiryo, 'ms pgothic', sans-serif; background:#fff url(../images/bg_gray.png) center top repeat; }
 
/* timer ********** タイマーが必要な場合のみ記述
///////////////////////////////////////////////////////////////////////////////////////////////*/
.timer .sp-item img{  text-align: center; margin: 0 auto; }
div.timer{ position:relative; width:100%; height:0; margin: 0 auto; margin-top: 0; margin-bottom: 0;}
.timer-num{ margin: 0 auto; }
    
.timer{ width:100%; text-align:center; position:static;}

/* timerがテキストの時は以下設定等で見た目を整える */
input.timer , .timer input{ font-size:30px; background-color:transparent; border:none; width:330px; }
    

/* font decoration **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* size */
.fontL{ font-size:18px; }
.fontLL{ font-size:22px; }
.fontS{ font-size:13px; line-height: 1.7;}

.dot-txt.dotL{ background-size:19px 5px; }
.dot-txt.dotLL{ background-size:21px 5px; }


/* space **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* paragraph */
p{ margin:0 10px 20px; }

/* original frame */
.box{ margin:0;}


/* favorite decoration **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.card img{ max-width:366px; width:100%; height:auto; }

table{ width:100%; }
table th , table td{ display:block; }
table th{ width:100%; }


/* responsive **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.pc-item{ display:none; }
.sp-item{ display:block; }

[class^="pic"],.inner [class^="pic"]{ float:none; margin:0 auto 20px; }

.inner{ padding:20px; text-align:center; }
.inner p{ text-align:left; }

.w100 img{ width:100%; height:auto; }
.w95 img{ width:95%; height:auto; }
.w90 img{ width:90%; height:auto; }
.w80 img{ width:80%; height:auto; }
.w70 img{ width:70%; height:auto; }
.w60 img{ width:60%; height:auto; }
.w50 img{ width:50%; height:auto; }
.w40 img{ width:40%; height:auto; }
.w30 img{ width:30%; height:auto; }
.w20 img{ width:20%; height:auto; }
.w10 img{ width:10%; height:auto; }
.mw100 img{ max-width:100%; height:auto; }
.mw70 img{ max-width:70%; height:auto; }
/*p img{ max-width:520px; width:100%; height:auto; }*/

.br-reset{ display:none; }


/* wrap **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.wrap{ width:95%; padding:0 10px; position:relative; padding-top: 10px; }
.wrapsema{ width:100%; padding:0 10px;  }
.wraptop{ width:100%; padding:0 10px; position:relative; padding-top: 30px; }

/* header **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.header .wrap{width: 100%;}
.end .wrap{ width:100%;}
/* timer ********** タイマーが必要な場合のみ記述
///////////////////////////////////////////////////////////////////////////////////////////////*/
/*.timer .sp-item img{ width: 400px; text-align: center; margin: 0 auto; }
div.timer{ position:relative; width:100%; height:0; margin: 0 auto; margin-top: 0; margin-bottom: 0;top: -8px;}
.timer-num{ margin: 0 auto; }
.timer span img{ width:24px; height:36px; }.timer span img:nth-of-type(2){ margin-left:-6px; }
    
.timer{ width:100%; text-align:center; position:static;}
    
.timer-num{ width:360px; height:30px; margin:0 auto 10px; position:relative; top:0; left:0; }
.timer .timeDay{ position:absolute; top:-40px; left:10px; }
.timer .timeHr{ position:absolute; top:-40px; left:115px; }
.timer .timeMmin{ position:absolute; top:-40px; left:260px; }
.timer .timeSec{ display:none }
.timer .timeMsec{ display:none }*/
    
.btn{ margin-top: 120px; }


/* movie **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.movie-large{ width:95%; margin:-10px auto 0;}

.movie-short{ width:100%; }
.movie-short li{ width:378px; float:none; margin:0 auto 15px; }
.movie-short li:last-child{ margin:0 auto; }


/* intro **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
	
/* form **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.mailform{padding:40px 20px; text-align:center; }
.mailform ul{ margin:0 0 20px; text-align:left; }
.mailform ul li{ margin-bottom:10px; }
.mailform ul li span,.mailform ul li input{ float:left; }
.mailform ul li span{ width:160px; padding-top:7px; }
.mailform ul li input{ width:100%; height:80px; padding:0px 20px; font-size:18px; }
.mailform .txt {font-size:14px;}
.mailform .txt img{ max-width:590px; width:calc(100% - 10px); width:-webkit-calc(100% - 10px); height:auto; margin:10px 5px 0; }



/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.contents{padding-top: 30px;}

.section1 { padding: 40px 0 40px; }
.section2 { padding: 40px 0 20px; }

.section2 .profile1{background: none; margin-top: 20px;}
.section2 .profile1 .txt{width: 100%; }

.section2 .profile2{background: none; margin-top: 0px;}
.section2 .profile2 .txt{width: 100%; }

.end {background:#fff url(../images/bg_gray.png) center top repeat; }

.kiyaku{background:#e8e8e8; padding: 25px; font-size: 13px; margin-top: 30px; line-height: 1.4;}


/* footer **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.footer .copy img{ max-width:280px; width:100%; height:auto; }
    
   
    
}







/* ★★★ スマホ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media only screen and (max-width: 414px){ /* iPhone6Plus */
/* init **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
body{ min-width:300px; }


/* responsive **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.br-sp-reset{ display:none; }


/* header **********
///////////////////////////////////////////////////////////////////////////////////////////////*/

/* timer ********** タイマーが必要な場合のみ記述
///////////////////////////////////////////////////////////////////////////////////////////////*/
.timer .sp-item img{ width: 220px; text-align: center; margin: 0 auto; }
div.timer{ position:relative; width:100%; height:0; margin: 0 auto; margin-top: 0; margin-bottom: 0;}
.timer-num{ margin: 0 auto; }
.timer span img{ width:16px; height:24px; }.timer span img:nth-of-type(2){ margin-left:-6px; }
    
.timer{ width:100%; text-align:center; position:static;}
    
.timer-num{ width:360px; height:30px; margin:0 auto 10px; position:relative; top:0; left:0; }
.timer .timeDay{ position:absolute; top:-30px; left:80px; }
.timer .timeHr{ position:absolute; top:-30px; left:140px; }
.timer .timeMmin{ position:absolute; top:-30px; left:222px; }
.timer .timeSec{ display:none }
.timer .timeMsec{ display:none }
    
    .btn{ margin-top: 80px; }



/* form **********
///////////////////////////////////////////////////////////////////////////////////////////////*/

.mailform ul{ margin:0px 5px 20px; }
.mailform ul img{ height:14px; }
.mailform ul li{ margin-bottom:0; }
.mailform ul li span,.mailform ul li input{ float:none; display:block; }
.mailform ul li span{ width:100%; padding-top:0; margin-bottom:5px; }
.mailform ul li input{ width:100%; }
.mailform .img input{width: 100%;}


/* movie **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.movie-short li{ width:100%; }


/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.qa dl {
    margin: 0 0 10px;
}

}

