@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.jpg) center top no-repeat #fff ; font:20px helvetica, arial, 'hiragino kaku gothic pro', meiryo, 'ms pgothic', sans-serif; line-height:1.8; text-align:center; min-width:1100px; _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; }
.fontM{ font-size:20px; }
.fontL{ font-size:26px; }
.fontLL{ font-size:28px; }
.title{ font-weight: bold; font-size: 30px; }

/* color */
.txt-red{ color:#f07a88; font-weight:bold; }
.txt-blue{ color:#0083c0; font-weight:bold; }
.txt-orange{ color:#f99f1f; font-weight:bold; }
.txt-gold{ color:#be8f1f; font-weight:bold; }

/*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; }
.str-reset{ font-weight:normal; }

.underline{ text-decoration:underline; }
.underline-double{ border-bottom:double medium; }
.underline-dot{ border-bottom:dotted 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-full{background-color:#fff282; }
.marker-gold{background: linear-gradient(transparent 60%, #e9df9f 60%);}
.marker-red{background: linear-gradient(transparent 60%, #f5aeb1 60%);}
.marker-blue{background: linear-gradient(transparent 60%, #a2e7f4 60%);}

.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; }

.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; }
.spb40{ padding-bottom:40px !important; }

/* margin */
.smt0{ margin-top:0px !important; }
.smt5{ margin-top:5px !important; }
.smt10{ margin-top:10px !important; }
.smt15{ margin-top:15px !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; }
.smt-10{ margin-top:-10px !important; }
.smt-40{ margin-top:-40px !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-40{ margin-bottom:-40px !important; }

.sml0{ margin-left:0px !important; }
.sml20{ margin-left:20px !important; }
.sml30{ margin-left:30px !important; }
.sml40{ margin-left:40px !important; }
.sml50{ margin-left:50px !important; }
.sml100{ margin-left:100px !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; }


/* 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; }


/* 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; }

.br-add{ display:none; }


/* wrap **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.wrap{ width:1050px; margin:0 auto; text-align:left; position:relative; }


/* header **********
///////////////////////////////////////////////////////////////////////////////////////////////*/



/* timer ********** タイマーが必要な場合のみ記述
///////////////////////////////////////////////////////////////////////////////////////////////*/
div.timer{ position:relative; width:1185px; height:195px; margin: 0 auto; margin-top: 10px; }
.timer .timeDay{ position:absolute; top:85px; left:660px; }
.timer .timeHr{ position:absolute; top:85px; left:800px; }
.timer .timeMmin{ position:absolute; top:85px; left:950px; }
.timer .timeSec{ position:absolute; top:85px; left:1070px; }
.timer .timeMsec{ position:absolute; top:75px; left:310px; display:none; }
.timer span img:nth-of-type(2){ margin-left:-30px; }


/* form **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.mailform{ text-align:center; background:#e6e6e6; padding: 50px 0; margin-top:35px; }
.form-in{ margin: 0 auto; background:#fff; width:1050px; padding-bottom:40px;}
.form-title{ background:#09224f; padding:24px 0; }
.mailform ul{ width:700px; margin: 25px auto 10px; text-align:left;}
.mailform ul li{ margin:10px 0; }
.mailform ul li span,.mailform ul li input{ float:left; }
.mailform ul li span{ width:225px; padding-top:14px; }
.mailform ul li input{ width:calc(100% - 225px); width:-webkit-calc(100% - 225px); height:70px; padding:15px; font-size:16px; margin-top: 2px; border-radius:10px; border: none;outline: none;box-shadow: inset 1.888px 2.331px 0px 0px rgba(0, 0, 0, 0.15); }
::placeholder{color:#c4c4c4}
.mailform .txt {font-size:14px; line-height:150%; color:#464643; margin-top:10px; } 
.mailform .txt a{color:#ff5f04; }
.mailform .btn {margin:25px 0;}
.input_text{
    border-bottom: 1px solid #ccc;
    box-shadow: -999px 5px 0px #ccc;
    -webkit-transition: all 500ms;
    transition: all 500ms;
	background:#f2f2f2;
}



/* movie **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.movie-large,.movie-short li{ padding:8px; background-color:#fff; border:solid 2px #a6b2bb; box-shadow:0 0 1px 1px #fff,0 2px 5px rgba(0,0,0,0.2); }

.movie-large{ width:740px; height:auto; margin:0 auto; }
.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; }


/* intro **********
///////////////////////////////////////////////////////////////////////////////////////////////*/


/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.profile{ width: 1050px; margin: 0 auto; background: url("../images/pro_img.png")right bottom no-repeat #09224f; padding:0 0 45px; }
.profile p{ width:860px; text-align: left; margin: 0 auto; padding-bottom: 20px; color: #fff; font-size:16px; }

.mes{ text-align: left; font-size: 18px; width: 980px; margin: 0 auto; border: double 4px #d1c5a6 ; box-shadow: 0 0 20px 0 #d4dad7; padding: 10px; padding-top: 30px; margin-bottom: 20px; margin-top: 30px; }
.mes{ background: url("../images/mes_img.png")center top no-repeat , url("../images/mes_bg.png")repeat; }

.bg-pre{ background: url("../images/pre_bg.png")right top no-repeat; }

.bg-b{ background: url("../images/bg_b.png")repeat; padding-bottom:30px; }

.caution{ width: 950px; margin: 0 auto; background: #ececec; border: solid #999999 1px; }
.caution p{font-size:14px; line-height:150%; margin-top: 10px; }


/* footer **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.footer{ color:#fff; background-color:#333333; padding:10px 10px 20px; text-align:center; }
.footer a{ color:#fff; font-size:12px; }



/* ★★★ タブレット ★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media only screen and (max-width: 768px){
/* init **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
body{ min-width:100%; background-image:none; font:18px helvetica, arial, 'hiragino kaku gothic pro', meiryo, 'ms pgothic', sans-serif; line-height:1.8; }


/* font decoration **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* size */
.fontM{ font-size:16px; }
.fontL{ font-size:17px; }
.fontLL{ font-size:18px; }

.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; }
.w85 img{ width:85%; height:auto; }
.w80 img{ width:80%; height:auto; }
.w70 img{ width:70%; height:auto; }
/*p img{ max-width:520px; width:100%; height:auto; }*/

.br-reset{ display:none; }
.br-add{ display:block; }

/* wrap **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.wrap{ width:100%; padding:0 10px; position:relative; }


/* header **********
///////////////////////////////////////////////////////////////////////////////////////////////*/




	
/* form **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.mailform{padding: 40px 0; }
.mailform ul img{ height:30px; margin-bottom: 5px; }
.mailform { background:#e6e6e6; margin-top:30px; }
.form-in{ width:95%; height: auto; margin: 0 auto; }
.mailform ul{ margin:20px auto 0; width:90%; }
.mailform ul li span{ width:20px; padding-top:10px; }
.mailform ul li input{ width:calc(100%); width:-webkit-calc(100%); }
.mailform input.btn{ width:100%; height:auto; }
.mailform .txt{font-size:13px; line-height:150%; margin-top:0px; padding:0 20px;}
.mailform .txt .spbr{display:block;}
.mailform .txt a{coler:#ff5f04;}
.mailform .btn {margin:10px 0;}
.mailform .btn a img{margin:8px 0;}
.mailform .spmbt { width:90%; margin:0 auto; }

	
/* timer ********** タイマーが必要な場合のみ記述
///////////////////////////////////////////////////////////////////////////////////////////////*/
div.timer{ width:320px; height:90px; margin: 0 auto 20px; }
.timer .timeDay{ top:45px; left:5px; }
.timer .timeHr{ top:45px; left:80px; }
.timer .timeMmin{ top:45px; left:170px; }
.timer .timeSec{ top:45px; left:235px; }
.timer .timeMsec{ display:none; }
.timer span img{ width:40px; height:45px; }
.timer span img:nth-of-type(2){ margin-left:-25px; }


/* movie **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.movie-large{ width:100%; }

.movie-short{ width:100%; }
.movie-short li{ width:378px; float:none; margin:0 auto 15px; }
.movie-short li:last-child{ margin:0 auto; }


/* intro **********
///////////////////////////////////////////////////////////////////////////////////////////////*/



/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.profile{ width: 95%; margin: 0 auto; background-image: none; padding:0 0 15px; }
.profile p{ width:95%; margin: 0 auto; padding-bottom:20px; }
	
.caution{ width: 95%; }
.caution p{ font-size:12px; line-height: 120%; margin-top: 10px; }

.bg-pre{ background:none; }


/* footer **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.footer .copy img{ max-width:280px; width:100%; height:auto; }

}



/* ★★★ スマホ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media only screen and (max-width: 414px){ /* iPhone6Plus */
/* init **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
body{ min-width:300px; /*background: url(../images/top_bg_sp_s.png)center top / contain no-repeat , url("../images/contents_bg.png")top center repeat;*/ }


/* responsive **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.br-sp-reset{ display:none; }


/* header **********
///////////////////////////////////////////////////////////////////////////////////////////////*/



/* movie **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.movie-short li{ width:100%; }


/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.pre1 { padding-top:140px; }
.pre2 { padding-top:140px; }
.pre3 { padding-top:140px; }
.pre4 { padding-top:140px; }

}

