@charset "utf-8";
/*
	Last Update:2018/03/01
	Auther: iw
*/
/*===================================================================
	Base Format
===================================================================*/
/*IE用viewport*/
@-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; line-height: 2; }
html { background:#FFF; font-size: 62.5%; box-sizing:border-box; scroll-behavior: smooth; }
/*body { font:1.6rem/1.7 "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:#333; -webkit-text-size-adjust:100%; }*/
body { font:1.6rem/2 "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:#333; -webkit-text-size-adjust:100%; font-family: "Noto Sans Japanese","Noto Sans Japanese","HiraKakuProN-W3","ヒラギノ角ゴ Pro W3","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ\ Ｐゴシック","sans-serif"; }

/*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;
}
@font-face {
  font-family: "DIN";
   src: url('../font/din0.woff') format('woff'),
       url('font/din0.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "DIN";
   src: url('../font/din2.woff') format('woff'),
       url('font/din2.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
}

/* 各要素reset */
*:foucs { outline: none; }
table { border-collapse:collapse; }
strong { font-weight:bold; }
img { border:none; vertical-align:bottom; max-width:100%; }
img[src*=".svg"] { width:100%; }
br { line-height: 0; }
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; }

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 screen and (max-width:767px){
		iframe { max-height:100vw; }
	}

a, button, input[type="submit"], input[type="button"] { cursor:pointer; }
a { color: #028CB9; }
a:link { text-decoration: none; }
a:visited { text-decoration: none; }
a:hover { text-decoration: underline; }
a:active { text-decoration: underline; }
body.pc .ov { transition: .2s; cursor:pointer; }
body.pc .ov:hover { opacity:0.7; }

/* form */
input[type="text"], input[type="email"], input[type="tel"], input[type="date"], input[type="number"], input[type="password"],
textarea, select { font-size:1em; border:1px solid #ccc; background:#fff; border-radius:3px; margin:3px 0; max-width: 100%; }
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"],  textarea { width:100%; padding:10px 10px; }
input[type="date"] { width:150px; padding:10px 10px; }
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="date"]:focus, input[type="number"]:focus, input[type="password"]:focus, textarea:focus { background:#fafcff; }
	@media (max-width: 575px){
		select { padding:10px 8px; }
	}
	@media (min-width: 576px){
		select { padding:12px 8px; }
	}
	@media screen and (max-width:768px){
		input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], input[type="number"], textarea, select { font-size:16px; }
	}

input[name="zip"] { max-width:240px; margin-right:5px; }
input[name="tel"], input[name="number"] { max-width:240px; }
	@media screen and (max-width:575px){
		input[name="zip"] { max-width:180px; }
	}

/*===================================================================
	Common Class
===================================================================*/
.clearfix{ zoom:1;}
.clearfix:after{ content:"."; display: block; height:0px; clear:both; line-height:0; visibility:hidden;}

.pos_al { text-align:left !important;}
.pos_ac { text-align:center;}
.pos_ar { text-align:right;}
.pos_vt { vertical-align:top;}
.pos_vm { vertical-align:middle;}
.pos_vb { vertical-align:bottom;}
.pos_re { position:relative; }
	@media screen and (min-width:576px){
		.pos_ac-pc { text-align:center; }
	}

.xxxx-large { font-size:2.25em;}
.xxx-large { font-size:2em;}
.xx-large  { font-size:1.75em;}
.x-large   { font-size:1.5em;}
.large     { font-size:1.25em;}
.s-large   { font-size:1.15em;}
.mid       { font-size:15px;}
.small     { font-size:0.9em;}
.x-small   { font-size:0.85em;}
.xx-small  { font-size:0.65em;}
.fw_bold { font-weight:bold !important; }
.fw_nomal { font-weight:normal !important; }

.c_red { color:#f00c1a; }
.c_gray { color:#aaa; }

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

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

@media print {
    body {
        zoom: 0.68;
        -webkit-print-color-adjust: exact;
    }
}


/* IE10以上 */
@media print and (-ms-high-contrast: none) {
        /* @pageの指定いらないかも */
    @page {
        size: A4;
        margin: 12.7mm 9.7mm;
    }

    body {
        zoom: 1.8;
        width: 1200px;
        transform: scale(0.5);
        transform-origin: 0 0;
    }
}