@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; }
* { box-sizing:border-box; }
html,body,p,h1,h2,h3,h4,h5,h6,table,th,td,ul,ol,li,dl,dt,dd,img,a { margin:0; padding:0; }
html { background:#FFF; }
body { font:16px/1.7 "Noto Sans JP", "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic , Avenir, "Helvetica Neue", Arial, Verdana, Roboto, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-weight:normal; font-style:normal; color:#222; -webkit-text-size-adjust:100%; text-align:center; }
	@media (max-width: 768px){
		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%; }
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; }

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:768px){
		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.8; }
.button,
a.button { position:relative; display:inline-block; text-decoration:none; }
.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 #ccc; background:#fff; border-radius:3px; margin:5px 0; }
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], textarea { width:100%; padding:12px 8px; }
input[type="date"], input[type="number"] { width:150px; padding: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 { border:1px solid #ccc; background:#fdfdfd; }
	@media (max-width: 575px){
		select { padding: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; }
	}

.xxx-large { font-size:2em; }
.xx-large  { font-size:1.75em; }
.x-large   { font-size:1.5em; }
.large     { font-size:1.25em; }
.small     { font-size:0.9em; }
.x-small   { font-size:0.8em; }
.xx-small  { font-size:0.75em; }
.xxx-small  { font-size:0.5em; }
.fw_bold { font-weight:bold !important; }
.fw_normal { font-weight:normal !important; }

.list_pager { padding:20px 0; }
.list_pager ul { text-align:center; }
.list_pager ul li { display:inline; }
.list_pager ul li strong,
.list_pager ul li a { display:inline-block; padding:10px 12px 9px; border:1px solid #888; background:#fff; color:#888; text-decoration:none; line-height:100%; border-radius:3px; }
.list_pager ul li strong,
.list_pager ul li a:hover { color:#fff; background:#00a44d; border:1px solid #00a44d; }

/* form */
.error { display:block; margin:5px 0; padding:5px; background:#F8EAE8; color:#BC2F1C; font-weight:normal; }
.need { color:#fff; display:inline-block; font-size:12px; line-height:100%; padding:3px 10px 4px; border-radius:3px; }
.need:not(._no) { border:1px solid #d54545; background-color:#d54545; }
.need._no { background-color:#9e9f9f; }

/* admin */
#alert_preview { z-index:100; padding:15px; color:#FFFFFF; background:#CC3129; text-align:center; }

/* base */
body, #base { position:relative; overflow-x:hidden; }
#body { position:relative; }
.wrapper, .wrapper-t, .wrapper-b { position:relative; }
.center, .center2 { 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:"Yu Gothic","YuGothic","游ゴシック体","游ゴシック"; }
.fa_b:before, .fa_a:after { font-family:"Font Awesome 5 Free"; display:inline-block; font-weight:900; font-style:normal; font-variant:normal; text-rendering:auto;
							line-height:1; -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; }
