@charset "utf-8";

* { box-sizing:border-box; }

html { overflow:auto; -webkit-text-size-adjust:100%; }
body { margin:0; padding:0; font-size:15px; background: #dcdcdc; color:#000; line-height:1.7; font-weight:400; font-family: 'Noto Sans JP', sans-serif; }
h1, h2, h3, h4, h5, h6, dl, dd, ul, form, textarea, figure { margin:0; padding:0; font-size:100%; }
article, aside, dialog, figure, footer, header, hgroup, nav, section { display:block; }

/* clearfix 回り込み解除 ------------------------ */
.clearfix:after { content:""; clear:both; display:block; }

/* 共通 ------------------------ */
a { color:#3a3b3f; text-decoration:none; }
a:not(.fade) { -webkit-transition:all .3s; transition:all .3s; }

p { margin-top:0; margin-bottom:0; }

strong { font-size:1.2em; }
em { font-style:normal; font-weight:bold; }

fieldset { border:none; }
table { border-collapse:collapse; border-spacing:0; }
map area:focus, map area:active { outline:none; border:0; }

ul { list-style-type:none; }
ul.disc, ul.square { padding-left:1.3em; }
.disc li { list-style-type:disc; }
.square li { list-style-type:square; }
.decimal li { list-style-type:decimal; }

img { max-width:100%; font-size:0; line-height:0; border-width:0px; vertical-align:bottom; }
img.middle { vertical-align:middle; }

img.scale { transition:all .3s; }
a:hover img.scale { -webkit-transform:scale(1.1); transform:scale(1.1); }

.serif { font-family:"HiraMinProN-W6","游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }

.fleft  { float:left; }
.fright { float:right; }

.left   { text-align:left; }
.center { text-align:center; }
.right  { text-align:right; }

.big    { font-size:1.3em; }
.small  { font-size:.85em; }
.bold   { font-weight:bold; }
.red { color: #da263c; }

.clear  { clear:both; }
.hide   { display:none; }
.iblock { display:inline-block; }
.wide   { width:100%; }
.indent { text-indent:-1em; padding-left:1em; }
.shadow { box-shadow:0 0 3px rgba(0,0,0,0.3); }

.flex { display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; }
.flex-between, .j-between { -webkit-box-pack:justify; justify-content:space-between; }
.flex-center, .j-center   { -webkit-box-pack:center; justify-content:center; }
.flex-end  { -webkit-box-pack: end; justify-content: flex-end; }
.flex-align-center { -webkit-box-align:center; align-items:center; }


.sticky { position:-webkit-sticky; position:sticky; top:10px; }

.txt_v { -ms-writing-mode:tb-rl; writing-mode:vertical-rl; -webkit-writing-mode:vertical-rl; margin-left:0; margin-right:0; }

.dot_list li, .notes_list, .square_list li, .circle_list li { padding-left:1em; text-indent:-1em; }
.dot_list li:before, .notes_list li:before, .square_list li:before, .circle_list li:before, .arrow_list li:before { padding-right:0.2em }
.dot_list li:before { content:"・"; }
.notes_list li:before { content:"※"; }
.square_list li:before { content:"■"; }
.circle_list li:before { content:"●"; }
.arrow_list li:before { content:">"; }

.listCounter { counter-reset:list; list-style-type:none; margin-top:0.5em; margin-left:0; }
.listCounter > li { position:relative; margin-bottom:0.3em; padding-left:2.5em; }
.listCounter > li:before { position:absolute; top:0; left:0; width:2em; text-align:center; counter-increment:list; content:"(" counter(list) ") "; }

.vh_ctr {
  position:absolute; top:50%; left:50%;
  -webkit-transform:translate(-50%, -50%);
  transform:translate(-50%, -50%);
  }

.link-disabled { cursor:default; pointer-events:none; opacity:0.6; }

.is-fixed { position:fixed; top:0; right:0; bottom:0; left:0; }
.is-hide { transform: translateY(-100%); }
.is-empty {
  height: 0;
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  border:none !important;
}

/* youtube */
.youtube_wrap { width:100%; padding-top:56.25%; position:relative; }
.youtube_wrap > iframe { position:absolute; top:0; right:0; width:100% !important; height:100% !important; }

/* popup */
.white-popup { width:auto; max-width:640px; margin:20px auto; padding:20px; background:#FFF; position:relative; }


/*newアニメーション*/
.newAnime { position:absolute; top:20px; right:0; margin:0; padding:8px 13px 6px; font-weight:bold; font-size:13px; color:#fff;
  background:#da263c; line-height:1; }
.newAnime span { display:inline-block; letter-spacing: 0.1em; }
.newAnime span:nth-of-type(1) {
  -webkit-animation:rotate 3s ease 2s infinite normal;
  -moz-animation:rotate 3s ease 2s infinite normal;
  animation:rotate 3s ease 2s infinite normal;
}
.newAnime span:nth-of-type(2) {
  -webkit-animation:rotate 3s ease 2.2s infinite normal;
  -moz-animation:rotate 3s ease 2.2s infinite normal;
  animation:rotate 3s ease 2.2s infinite normal;
}
.newAnime span:nth-of-type(3)  {
  -webkit-animation:rotate 3s ease 2.4s infinite normal;
  -moz-animation:rotate 3s ease 2.4s infinite normal;
  animation:rotate 3s ease 2.4s infinite normal;
}
.newAnime span:nth-of-type(4)  {
  -webkit-animation:rotate 3s ease 2.6s infinite normal;
  -moz-animation:rotate 3s ease 2.6s infinite normal;
  animation:rotate 3s ease 2.6s infinite normal;
}
@-webkit-keyframes rotate {
  100% { transform:rotateY(360deg); }
}
@-moz-keyframes rotate {
  100% { transform:rotateY(360deg); }
}
@keyframes rotate {
  100% { transform:rotateY(360deg); }
}


@media screen {
  .fw { margin-left:-500%; margin-right:-500%; padding-left:500%; padding-right:500%; /*Full Width*/ }
}

/* form ------------------------ */
label { display:inline-block; }
select { padding:3px 8px 6px; }
label input { margin:0; }

input[type="text"], input[type="email"], input[type="tel"], textarea { border-radius:3px; padding:4px 8px; border: 1px solid #ccc; }
input[type="submit"], input[type="button"] { cursor:pointer; font-family:"游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif; background-color:inherit; border:none; }
input[type="text"], textarea, select { margin:3px 0; }
input[type="radio"] { margin-right:5px; }

input.t { width:15%; }
input.s { width:30%; }
input.m { width:60%; }
input.l { width:100%; }
textarea { width:100%; }

input.required, select.required, textarea.required { border-left:2px solid #C33; }

@media all and (-ms-high-contrast: none){
input { background:none; /* IE10以上 */ }
}

/*----------------------------------------------------
600以上
-----------------------------------------------------*/
@media screen and (min-width: 600px) {
  .sp_only {
      display: none;
  }
  .sp_none { display: block !important;}
}

@media screen and (max-width:1040px) {
  .pc_only { display:none; }
}

/*----------------------------------------------------
スマホ
-----------------------------------------------------*/
@media screen and (max-width: 599px) {
input, textarea { width: 100% !important; }
}