@charset "utf-8";
/*
	Last Update:2021/11/01
	Auther: iw
*/
/*===================================================================
	Base Format
===================================================================*/

/*源柔ゴシック*/
@font-face {
	font-family: 'genjyu-G';
	font-style: normal;
	font-weight: 100;
	src: url('../font/GenJyuuGothic/GenJyuuGothic-Regular.woff') format('woff'),
	url('../font/GenJyuuGothic/GenJyuuGothic-Regular.woff2') format('woff2'),
	url('../font/GenJyuuGothic/GenJyuuGothic-Regular.otf')  format('truetype');
	font-display: swap;
}

/* 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,figure,figcaption { margin:0; padding:0; }
html { background:#FFF; }
body { font:15px/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:#818181; -webkit-text-size-adjust:100%; text-align:left; }
	@media (max-width: 767px){ body { font-size:14px; } }

/* 各要素reset */
*:foucs { outline:none; }
table { border-collapse:collapse; }
td,th { line-height:1.5; vertical-align:top; text-align:left; word-break:break-all; }
strong { font-weight:bold; }
img { border:none; vertical-align:bottom; max-width:100%; height:auto; }
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, figure, figcaption { display:block; }
figure, figcaption { text-align:center; }
figure > figcaption { padding-top:10px; font-size:0.9em; color:#999; }

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: 575px){ 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.5; }
.button, a.button { position:relative; display:inline-block; text-decoration:none; }
.button > span { position:relative; display:inline-block; line-height:100%; }

/* 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:#FCFCFC; 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:#fffdf4; }
	@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:100px; 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: 575px){ .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; }
.fw_bold { font-weight:bold !important; }
.fw_normal { font-weight:normal !important; }

.list_pager {}
.list_pager ul { text-align:center; display: flex; flex-wrap: wrap; justify-content: center;}
.list_pager ul li { display:inline;  }
.list_pager ul li strong,
.list_pager ul li a {font-weight: bold; display:inline-block; padding:10px 13px; border:1px solid #000; background:#fff; color:#333333; text-decoration:none; line-height:100%; }
.list_pager ul li strong,
.list_pager ul li a:hover { color:#fff; background:#53070D; border:1px solid #53070D; }
.list_pager ul li.before a:before{
	content: '';
	display: inline-block;
	width: 13px;
	height: 13px;
	background: url(../image/layout/icon/left2.png) no-repeat center center / contain;
}
.list_pager ul li.after a:before{
	content: '';
	display: inline-block;
	width: 13px;
	height: 13px;
	background: url(../image/layout/icon/right6.png) no-repeat center center / contain;
}
.list_pager ul li.before a:hover:before{
	background: url(../image/layout/icon/left3.png) no-repeat center center / contain;
}
.list_pager ul li.after a:hover:before{
	background: url(../image/layout/icon/right5.png) no-repeat center center / contain;
}

/* form */
.error { display:block; margin:5px 0; padding:5px; background:#F8EAE8; color:#EF3749; font-weight:normal; }
.need { position: absolute; top: 50%; right: 0; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); display:inline-block; font-size:12px; line-height:100%; background:#EF3749; font-weight: bold; border:1px solid #EF3749; color: #fff; padding: 3px 5px;}
.need._no { background-color:#fff; color:#EF3749; }

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

/* base */
body, #base { position:relative; overflow-x:hidden; background: #F4F5F6;}
#body { position:relative; padding-top: 80px; min-height: calc(100vh - 70px);}

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