@charset "utf-8";

/* =========================================================== */
/*  reset / base                                               */
/* =========================================================== */

*, *:before, *:after { margin:0; padding:0; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box; }

html { font-size:90%; height:100%; }
body {
  line-height:1.6; color:#000; overflow-wrap:break-word;
  font-family: "YakuHanJP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, FontAwesome, icomoon, Arial, sans-serif;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;
  /*font-feature-settings:"palt"; }
_::-webkit-full-page-media, _:future, :root body { font-feature-settings:"pkna";*/ }

/* Paragraph, Sentence, Character, list
-------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	font-size:100%;
	/*font-style:bold;*/
	text-align: center;
	
}
p                      { font-size:100%; font-style:normal; }

address    { font-style:normal; }
em, strong { font-style:normal; font-weight:bold; }
sup        { vertical-align:top; top:0.5em; font-size:80%; }
sub        { vertical-align:baseline; }
ul         { list-style:none; }

/* Form
-------------------------------------------------------------- */
form, fieldset { margin:0; padding:0; border:0; }
legend         { display:none; }
button, textarea, select, input:not([type = 'checkbox']) {
  margin:0 .5em .2em 0;
  font-family:inherit; background:none; border:none; border-radius:0; outline:none;
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  border-radius:2px; -webkit-border-radius:2px; -moz-border-radius:2px; }
input[type = 'checkbox']{ margin:0 .5em .2em 0; }
select::-ms-expand { display:none; }

input[type = 'submit'], input[type = 'reset'], input[type = 'button'], button { cursor:pointer; color:inherit; }
input[type = 'text'], input[type = 'tel'], input[type = 'password'], input[type = 'number'], input[type = 'email'], textarea { padding:.5em; border:1px #ccc solid; background-color:inherit; }
select { padding:.5em; padding-right:2em; border:1px #ccc solid; background:url(../img/common/ico_arr_01.webp) #fff no-repeat 96% 50%; max-width: 100%; }
select:not(:disabled) { color:inherit; }
textarea { border:1px #ccc solid; overflow:auto; }

form *[disabled]{ background-color:#ddd; cursor:not-allowed; }
select:focus, input:not([type="radio"]):focus, textarea:focus { border:1px #ccc solid; box-shadow:0 0 .5em #ccc; background-color:#f2f2f2; }

input[type="number"]{ -moz-appearance:textfield; }
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }

input[type="radio"]{ display:none; }
label input[type="radio"] { position:relative; display:inline-block; padding:.2em .2em .2em .75em; cursor:pointer; }
label input[type="radio"]::before  { position:absolute; content:''; top:0; left:0; width:1.2em; height:1.2em; margin-top:-.35em; border:1px solid #ccc; border-radius:100%; }
label input[type="radio"]:checked::after { position:absolute; content:''; top:50%; left:.25em; width:.7em; height:.71em; margin-top:-30%; background:#666; border-radius:100%; }

label { cursor:pointer; }

/* Table
-------------------------------------------------------------- */
table           { border:0; border-collapse:collapse; border-spacing:0; }
th, td, caption { padding:0; text-align:left; word-break:normal; word-wrap:break-all; }
table img       { vertical-align:baseline; }

/* Other
-------------------------------------------------------------- */
img, svg    { line-height:1; vertical-align:bottom; }

a     { -webkit-transition:0.4s; -moz-transition:0.4s; -ms-transition:0.4s; -o-transition:0.4s; transition:0.4s; word-break:break-all; }
a img { border:0; }

a:link, a:active,
a:visited   { color:#333; text-decoration:underline; }
a:hover, a>img:hover,
input[type = 'submit']:hover,
input[type = 'button']:hover { opacity:0.5; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }

hr { display:none; }

/* =========================================================== */
/*  responsive                                                 */
/* =========================================================== */

@media only screen and (max-width:960px) {

  a:hover,
  a>img:hover,
  input[type = 'submit']:hover,
  input[type = 'button']:hover {
    opacity: 1;
  }

}

@media only screen and (max-width:640px) {
  table.bk th, table.bk td { display:block; width:100%!important; text-align:center!important; }
  [id ^= 'shop'] table.bk thead { display:none; } /* 暫定でshop配下だけ消去 */

  table {
    table-layout: fixed;
  }
  .mod-scroll table{
    table-layout:auto;
  }
}