@charset "utf-8";

/* ===================================================================
Font size
 10px = 77%	 11px = 85%	 12px = 93%	 13px = 100%
 14px = 108%	15px = 116%	16px = 123.1%  17px = 131%
 18px = 138.5%  19px = 146.5%  20px = 153.9%  21px = 161.6%
 22px = 167%	23px = 174%	24px = 182%	25px = 189%
 26px = 197%
=================================================================== */

html{ overflow-y: scroll;}	/* スクロールバーの有無によるズレ対策 */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video{ margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;} body{ line-height:1;} article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{ display:block;} nav ul{ list-style:none;} blockquote, q{ quotes:none;} blockquote:before, blockquote:after,q:before, q:after{ content:''; content:none;} a{ margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent;}

ins{ background-color:#ff9; color:#000; text-decoration:none;}
mark{ background-color:#ff9; color:#000;  font-style:italic; font-weight:bold;}
del{ text-decoration: line-through;}
abbr[title], dfn[title]{ border-bottom:1px dotted; cursor:help;}
table{ border-collapse:collapse; border-spacing:0;}
hr{ display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0;}
input, select{ vertical-align:middle;}


body{	font:13px/1.231  "游ゴシック", YuGothic,'Lucida Grande',"Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo,'メイリオ', 'MS Pゴシック', sans-serif;	font-weight:500;	-webkit-font-smoothing: antialiased;	scroll-behavior: smooth;	height:100%; color: #333333;	font-kerning:auto;	-webkit-text-size-adjust: none;	background:#F9F8F4;	font-feature-settings: "pwid";}
body *{	font-kerning:auto;}
p,h1,h2,h3,h4,h5{	background-image:url(bg-p.png);}

::-moz-selection {background:#02629E; color:#fff;}
::selection {background:#02629E; color:#fff;}
img{ vertical-align:bottom;	max-width: 100%;	height:auto!important;}
iframe{ vertical-align:bottom;	width:100%;}

@media screen and (max-width: 640px){
	.pc{	display:none!important;}
}

@media screen and (min-width: 641px){
	.sp{	display:none!important;}
}


/* ---------------------------------------------------------------- *
	link
 * ---------------------------------------------------------------- */
 
a{
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
	color:inherit;
	text-decoration:none;
	-moz-transition-property: color,background-color,border,padding,opacity;
	-webkit-transition-property: color,background-color,border,padding,opacity;
	transition-property: color,background-color,border,padding,opacity;
	-moz-transition-duration: 0.2s;
	-webkit-transition-duration: 0.2s;
	transition-duration: 0.2s;
	-webkit-transition-timing-function: linear;
	-moz-transition-timing-function: linear;
	transition-timing-function: linear;
}
a:link, a:visited{}
a:hover,a.hover, a:active{
	text-decoration:none;
}

.u-line{	text-decoration:underline}
[href^="tel:"]{	cursor:default;}

.op{ -moz-transition:opacity 0.2s linear; -webkit-transition:opacity 0.2s linear; transition:opacity 0.2s linear;}
.op *{ -moz-transition:opacity 0.2s linear; -webkit-transition:opacity 0.2s linear; transition:opacity 0.2s linear;}
a:hover .op ,.op:hover ,.op:hover *{
	opacity:0.6; -moz-opacity:0.6;
	filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60);
	-ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(opacity=60)';
}

.move{ display: block;	position: relative;	transition: all .1s linear;}
.move:hover{	box-shadow: 5px 5px 0 rgba(0,0,0,.5);		margin: -5px 5px 5px -5px;}


/* ---------------------------------------------------------------- *
	fonts
 * ---------------------------------------------------------------- */
.serif{ font-family: "游明朝体", "Yu Mincho", YuMincho,"Palatino Linotype",Palatino,"Book Antiqua","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro","ＭＳ Ｐ明朝", "MS PMincho",  "ＭＳ Ｐゴシック",serif!important;	font-weight:500;}
.sans{ font-family:  "游ゴシック体","YuGothic","Lucida Grande","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ", Meiryo,  "ＭＳ Ｐゴシック",  "Lucida Sans Unicode", Arial, Verdana, sans-serif;}
.red{		color:#B20000 !important;}
.white{		color:#FFFFFF !important;}


.nowrap{ white-space:nowrap;}

.fw200{		font-weight:200 !important;}
.fw300{		font-weight:300 !important;}
.fw400{		font-weight:400 !important;}
.fw500{		font-weight:500 !important;}
.fw600{		font-weight:600 !important;}
.bold{		font-weight:700 !important;}


.verticalM *,
.verticalM{	vertical-align:middle!important;}
.verticalT *,
.verticalT{	vertical-align:top!important;}
.verticalB *,
.verticalB{	vertical-align:bottom!important;}

.lh13{	line-height:1.3em!important;}
.lh14{	line-height:1.4em!important;}
.lh15{	line-height:1.5em!important;}
.lh17{	line-height:1.7em!important;}
.lh18{	line-height:1.8em!important;}
.lh19{	line-height:1.9em!important;}
.lh20{	line-height:2em!important;}

.tL{text-align:left !important;}
.tR{text-align:right !important;}
.tC{text-align:center !important;	text-indent:0em !important;}
@media screen and (max-width: 640px){
	.sp-tC{	text-align:center!important;	text-indent:0em !important;}
	.sp-tR{	text-align:right!important;}
	.sp-tL{	text-align:left!important;}
}

@media screen and (min-width: 641px){
	.pc-tC{	text-align:center!important;	text-indent:0em !important;}
	.pc-tR{	text-align:right!important;}
	.pc-tL{	text-align:left!important;}
}
/* ---------------------------------------------------------------- *
	space
 * ---------------------------------------------------------------- */
.ml1{	margin-left: 1em;}
.mt0{	margin-top: 0!important;}
.mb0{	margin-bottom: 0!important;}
.mb20{	margin-bottom: 20px!important;}
@media screen and (max-width: 640px){
	.sp-mt0{	margin-top: 0!important;}
}


/* float */
.fL{float:left !important;}
.fR{float:right !important;}
@media screen and (max-width: 640px){
	.pc-fR,
	.pc-fL{	float:none;}
	.sp-fR{	float:right!important;}
	.sp-fL{	float:left!important;}
}
@media screen and (min-width: 641px){
	.pc-fR{	float:right!important;}
	.pc-fL{	float:left!important;}
}
/* width */
.max100{	max-width:100%!important;}

.w10{	width:10%!important;	min-width:0!important;}
.w15{	width:15%!important;	min-width:0!important;}
.w16{	width:16%!important;	min-width:0!important;}
.w20{	width:20%!important;	min-width:0!important;}
.w22{	width:22%!important;	min-width:0!important;}
.w25{	width:25%!important;	min-width:0!important;}
.w30{	width:30%!important;}
.w33{	width:33.3333%!important;}
.w35{	width:35%!important;}
.w40{	width:40%!important;}
.w45{	width:45%!important;}
.w48{	width:48%!important;}
.w49{	width:49%!important;}
.w50{	width:50%!important;}
.w55{	width:55%!important;}
.w60{	width:60%!important;}
.w65{	width:65%!important;}
.w68{	width:68%!important;}
.w70{	width:70%!important;}
.w80{	width:80%!important;}
.w90{	width:90%!important;}
.w100{	width:100%!important;}
@media screen and (max-width: 640px){
	.sp-w100{	width:100%!important;}
	.sp-w90{	width:90%!important;}
	.sp-w80{	width:80%!important;}
}

/* ---------------------------------------------------------------- *
	form
 * ---------------------------------------------------------------- */
label{	display:inline-block;}
input[type="checkbox"],
input[type="radio"]{	margin:0 .3em 0 0;	vertical-align:middle;	width:16px;	height:16px;}
input[type="tel"],input[type="email"],input[type="text"],textarea{	-webkit-appearance: none;	height:30px;	line-height:30px;	width:100%;	border:1px solid #DDDDDD;	padding:0 3px;	color: #333;	background:#F6F6F6;	zoom: 1;	-webkit-box-sizing:border-box;	box-sizing:border-box;	border-radius:5px;}
	.lt-ie8 input[type="tel"],
	.lt-ie8 input[type="email"],
	.lt-ie8 input[type="text"],
	.lt-ie8 textarea{	width:100%;	border:1px solid #CCC;	padding: 3px;	color: #333;	background: #fff;	zoom: 1;	-webkit-box-sizing:border-box;	box-sizing:border-box;}
textarea{	line-height:1.2em;	padding:3px;}
select{	height:30px;	line-height:30px;	border:1px solid #DDDDDD;	padding:0 0 0 3px;	color: #333;	background:#FFF;	zoom: 1;	-webkit-box-sizing:border-box;	box-sizing:border-box;	border-radius:5px;}
input[type="file"]{	-webkit-appearance: none;	border:1px solid #999;	padding: 3px;	color: #333;	background: #FFFFFF;	border-radius: 3px;	zoom: 1;	margin-bottom:10px;}
select:focus,input[type="text"]:focus,input[type="tel"]:focus,input[type="email"]:focus,textarea:focus{	outline: none;	border: 1px solid #65AFD7;	color:#333;}

/*input:valid,textarea:valid {
	background:rgba(213,253,220,.3);
}*/
input:invalid,textarea:invalid,select:invalid{
	background:rgba(247,213,214,.3);
}

/*送信ボタンの装飾*/
button,input[type="button"],input[type="submit"],input[type="reset"]{	-webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);}
button,input[type="button"],input[type="submit"],input[type="reset"]{	display:inline-block;	-webkit-appearance: none;}
button,input[type="button"]:focus,input[type="submit"]:focus,input[type="reset"]:focus{	outline:none;}
button,input[type="button"],
[type="submit"],
[type="reset"]{	white-space:nowrap;		color:#FFFFFF;	cursor: pointer;	font-size:138.5%; zoom: 1;	vertical-align:middle;	line-height:70px;	background:#4CB6CF;	text-align:center;	border:solid 1px #4CB6CF;	font-weight:bold;	border-radius:6px;	position:relative;}
[type="reset"]{	color: red;	border:solid 1px red;	background:#FFF;}
input[name="submitBack"],
.submitBack{	color:#333;	background-color:#EEE;	margin-right:20px;	border:solid 1px #DDD;}
button,input[type="button"]{	color:#333;	background:#EEE;	margin-right:20px;}
.disabled{	opacity:0.2;}
button,input[type="button"]{	background:#EEE;}
[type="submit"]:not(.submitBack)::after{	content:"";	display:block;	height:14px;	width:14px;	border-top:solid 2px #FFF;	border-right:solid 2px #FFF;	-ms-transform:rotate(45deg);	-webkit-transform:rotate(45deg);	transform:rotate(45deg);	position:absolute;	right:20px;	top:50%;	margin-top:-7px;}
[type="submit"].submitBack::after{	content:"";	display:block;	height:14px;	width:14px;	border-top:solid 2px #333;	border-left:solid 2px #333;	-ms-transform:rotate(45deg);	-webkit-transform:rotate(-45deg);	transform:rotate(-45deg);	position:absolute;	left:20px;	top:50%;	margin-top:-7px;}

.submit-box{	padding:40px 0;	text-align:center;}
@media screen and (max-width: 640px) {
input[type="checkbox"],
input[type="radio"]{	width:20px;	height:20px;}
input[type="tel"],
input[type="email"],
input[type="text"],
textarea,
select{	font-size:16px;}
button,input[type="button"],
[type="submit"],
[type="reset"]{	font-size:123.1%;	line-height:50px;	max-width:80%;}
}

/* ---------------------------------------------------------------- *
	clear
 * ---------------------------------------------------------------- */

.clear{ clear:both; display:block;}
.notclear{ clear:none!important;}
/* micro Clearfix */
.cf:before,
.cf:after{ content:""; display:table;}
.cf:after{ clear:both;}
.cf{ zoom:1;}

/* Legacy Clearfix */
.cfL:after{	content: ".";	display: block;	height: 0;	clear: both;	visibility: hidden;}
.cfL{display:inline-block;}
* html .cfL{height: 1%;}
.cfL{display: block;}