@charset "utf-8";
/*
	Last Update:2020/11/21
	Auther: iw
*/
/*===================================================================
	Base Format
===================================================================*/
/*OS游ゴシックweightズレ防止*/
@font-face { font-family:"Yu Gothic"; src:local("Yu Gothic Medium"); font-weight:normal; }
@font-face { font-family:"Yu Gothic"; src:local("Yu Gothic Bold"); font-weight:bold; }

@-ms-viewport { width:auto; initial-scale:1; }
*, *:before, *:after { box-sizing:border-box; }
html,body,p,h1,h2,h3,h4,h5,h6,table,th,td,ul,ol,li,dl,dt,dd,img,a,figure,figcaption { margin:0; padding:0; }
html { background:#FFF; }
body { font:16px/1.7 'Noto Sans JP', "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Avenir, "Helvetica Neue", Arial, Verdana, Roboto, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-weight:normal; font-style:normal; color:#5a5a5a; -webkit-text-size-adjust:100%; text-align:center; }
	@media (max-width: 767px){
		html, body { font-size:14px; }
	}

/* 各要素reset */
*:foucs { outline:none; }
table { border-collapse:collapse; }
td,th { line-height:1.5; vertical-align:top; text-align:left; }
strong { font-weight:bold; }
img { border:none; vertical-align:bottom; max-width:100%; height:auto !important; }
hr { display:none; }
fieldset { border:none; }
address { font-style:normal; }
ul { list-style:none; }
h1,h2,h3,h4,h5,h6,table,th,td,input,select,option,textarea,button { font-size:100%; font-weight:normal; }
header, nav, main, footer, section, article, aside { display:block; }
figure, figcaption { display:block; text-align:center; }
figure > figcaption { margin-top:10px; }

video, iframe { border:none; margin:0; max-width:100%; }
.youtube { position:relative; padding-top:56%; line-height:0; }
.youtube iframe, .youtube video { position:absolute; top:0; left:0; width:100%; height:100%; }
.gmap { position:relative; line-height:0; }
.gmap iframe { width:100%; max-height:300px; }
	@media (max-width:767px){
		iframe, video { max-height:100vw; }
	}

a, button, input[type="submit"], input[type="button"] { cursor:pointer; }
a:link { text-decoration:none; }
a:visited { text-decoration:none; }
a:hover { text-decoration:none; }
a:active { text-decoration:none; }
body.pc .ov { transition: .2s; cursor:pointer; }
body.pc .ov:hover { opacity:0.7; }
.button,
a.button { position:relative; display:inline-block; text-decoration:none; text-align:center; border:none; line-height:100%; }
.button > span { position:relative; display:inline-block; }

/* form */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="date"], input[type="number"], 
textarea, select { font-size:16px; border:1px solid #F5F5F5; background:#F5F5F5; border-radius:3px; }
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], textarea { width:100%; padding:10px 8px; }
input[type="date"], input[type="number"] { width:150px; padding:8px 8px; }
input[type=checkbox], input[type=radio] { -webkit-transform: scale(1.1,1.1); margin-right:5px; }
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="password"]:focus,
input[type="date"]:focus, input[type="number"]:focus, textarea:focus { background:#fdfdfd; }
	@media (max-width: 575px){
		select { padding:8px 8px; }
	}
	@media (min-width: 576px){
		select { padding:10px 8px; }
	}
body.sp input[type="text"], body.sp input[type="email"], body.sp input[type="tel"], body.sp input[type="password"],
body.sp input[type="date"], body.sp input[type="number"], body.sp textarea, body.sp select { font-size:16px; }
input[name="zip"] { max-width:240px; margin-right:5px; }
input[name="tel"] { max-width:240px; }
input[name="age"] { max-width:80px; }
	@media screen and (max-width:575px){
		input[name="zip"] { max-width:180px; }
	}


/*===================================================================
	Common Class
===================================================================*/
.clearfix:after{ content:"."; display: block; height:0px; clear:both; line-height:0; visibility:hidden; }
.pos_al { text-align:left; }
.pos_ac { text-align:center; }
.pos_ar { text-align:right; }
.pos_vt { vertical-align:top !important; }
.pos_vm { vertical-align:middle !important; }
.pos_vb { vertical-align:bottom !important; }
.pos_re { position:relative; }
	@media (min-width:576px){
		.pos_ac-pc { text-align:center; }
	}
.fw_bold { font-weight:bold; }
.large { font-size:1.15em; }
.small { font-size:0.9em; }

.list_pager { margin-top:50px; text-align:center; }
.list_pager ul {}
.list_pager ul li { display:inline-block; border:1px solid #ccc; vertical-align:middle; }
.list_pager ul li strong,
.list_pager ul li a { display:block; padding:10px 0; color:#444; background:#fff; text-decoration:none; line-height:100%; text-align:center; width:35px; }
.list_pager ul li strong { color:#fff; background:#e73828; }
body.pc .list_pager ul li a:hover { opacity:0.8; }

/* form */
.error { display:block; margin:5px 0; padding:5px; background:#F8EAE8; color:#BC2F1C; font-weight:normal; }
.need { border:1px solid #E44E4E; background-color:#E44E4E; color:#fff; display:inline-block; font-size:12px; line-height:100%; padding:4px 10px 3px; }
.need._no { background-color:#fff; color:#ec302d; }

/* admin */
#alert_preview { z-index:100; padding:15px; color:#FFFFFF; background:#CC3129; text-align:center; }

/* base */
body { position:relative; overflow-x:hidden; }
#base, #body { position:relative; }
.wrapper, .wrapper-t, .wrapper-b { position:relative; }
.center, .center2, .center3 { width:100%; margin:0 auto; text-align:left; }

/* font */
.mincho { font-family:"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","Sawarabi Mincho","游明朝","YuMincho","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif; }
.yugothic { font-family:'Zen Maru Gothic',"Yu Gothic","YuGothic","游ゴシック体","游ゴシック"; }
.en { font-family:'Oswald', sans-serif; }
.small { font-size:0.9em; }
.x-small { font-size:0.85em; }
