/*

Theme Name: sick-theme-ver2

Author: ilu

Author URI: http://sicksapporo.jp

Description: ilu

Version: 1.0

License: GNU General Public License v2 or later

License URI: http://www.gnu.org/licenses/gpl-2.0.html

*/




@charset "UTF-8";
/*
カラム制御：デフォルトで1～5カラムまで対応
PC用floatによるカラム制御

html：col_1～5まで対応
例）3列で折り返し
<ul class="col_3">
	<li></li>
	<li></li>
	<li></li>
</ul>

scss：mixinでカラム設定を自動処理化

.col_3 {
	@include colmg(30);
}

数値設定はアイテム間余白（デフォルトは20）;
※縦、横ともに外側への約は発生しない

*/
.vertmiddle:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}
.vertmiddle > * {
  display: inline-block;
  vertical-align: middle;
}

html {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
  /*font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;*/
  font-size: 100px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  /*
  	@media print, screen and (min-width:1120px) and (max-width:1199px) {
  		font-size: 70px;
  	}
  	@media print, screen and (min-width:461px) and (max-width:1119px) {
  		font-size: 64px;
  	}
  */
}
@media print, screen and (min-width: 481px) {
  html {
    line-height: 1.5;
  }
}
@media screen and (max-width: 480px) {
  html {
    -webkit-text-size-adjust: 100%;
  }
}
@media print, screen and (min-width: 1440px) and (max-width: 1599px) {
  html {
    font-size: 100px;
  }
}
@media print, screen and (min-width: 1366px) and (max-width: 1439px) {
  html {
    font-size: 95px;
  }
}
@media print, screen and (min-width: 1280px) and (max-width: 1365px) {
  html {
    font-size: 90px;
  }
}
@media print, screen and (min-width: 481px) and (max-width: 1279px) {
  html {
    font-size: 85px;
  }
}
@media screen and (min-width: 400px) and (max-width: 480px) {
  html {
    font-size: 110px;
  }
}
html.edge {
  -ms-text-size-adjust: 100%;
}
html.safari {
  -webkit-font-smoothing: antialiased;
}
@media print, screen and (min-width: 481px) {
  html.safari {
    -webkit-font-feature-settings: "pkna";
            font-feature-settings: "pkna";
  }
}

body {
  position: relative;
  margin: 0;
  padding: 0;
  font-size: 0.11rem;
}
@media print, screen and (min-width: 481px) {
  body {
    min-width: 1120px;
  }
}

.touchevents * {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.chrome body {
  image-rendering: -webkit-optimize-contrast;
}

h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li, td, th, figure {
  margin: 0;
  padding: 0;
  letter-spacing: .02em;
}

article, aside, footer, header, main, nav, section, figcaption, figure {
  display: block;
}

img {
  -ms-interpolation-mode: bicubic;
  border-style: none;
}

svg:not(:root) {
  overflow: hidden;
}

hr {
  height: 0;
  overflow: visible;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

b, strong {
  font-weight: inherit;
  font-weight: bolder;
}

a {
  outline: 0;
  text-decoration: none;
  color: inherit;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

li {
  list-style: none;
}

sub, sup {
  position: relative;
  vertical-align: baseline;
  line-height: 0;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

audio, video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

canvas {
  display: inline-block;
}

input, select, button, optgroup, textarea {
  font-family: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  outline: 0;
  margin: 0;
  padding: 0;
}

button, input {
  overflow: visible;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

button:-moz-focusring,
input:-moz-focusring {
  outline: 1px dotted ButtonText;
}

button, select {
  cursor: pointer;
  text-transform: none;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border: none;
}

select::-ms-expand {
  display: none;
}

/* プリント対応 */
[data-hidePrintMessageArea] {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  pointer-events: none;
  opacity: 0;
}

@media print {
  body {
    position: relative;
    top: 100px;
  }

  body:before {
    content: "ページを印刷する際は一番下までスクロールして下さい。";
    display: none;
    white-space: pre;
    font-size: 20px;
    padding: 10px 10px;
    border: 3px solid #000;
    background-color: #FFF;
    color: #000;
    position: absolute;
    top: -100px;
    left: 0px;
    right: 0px;
    text-align: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }

  .chrome body:before {
    content: "ページを印刷する際は一番下までスクロールして下さい。\a画像を表示させる場合は、「基本設定」→「背景のグラフィック」を有効にして下さい。";
  }

  .ie body:before {
    content: "ページを印刷する際は一番下までスクロールして下さい。\a画像を表示させる場合は、「印刷プレビュー」→「ページ設定」→「背景の色とイメージを印刷する」を有効にして下さい。";
  }

  .safari body:before {
    content: "ページを印刷する際は一番下までスクロールして下さい。\a画像を表示させる場合は、「詳細を表示」→「背景をプリント」を有効にして下さい。";
  }

  .edge body:before {
    content: "※Microsoft Edgeは背景や画像を印刷できません。";
  }

  .addPrintMessage body:before {
    display: block;
  }

  * {
    background-attachment: scroll !important;
  }
}
/* 721px以上は消す */
@media print, screen and (min-width: 481px) {
  [data-sc-sp] {
    display: none !important;
  }
}
/* 720px以下は消す */
@media screen and (max-width: 480px) {
  [data-sc-pc] {
    display: none !important;
  }
}
.mod_main {
  overflow: hidden;
}

.device-tablet .mod_main {
  width: calc(100% + 1px);
}

/* 自動高さ調整 */
[data-autoheight],
[data-pc-autoheight],
[data-sp-autoheight] {
  -webkit-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

/* 遅延読み込み */
[data-lf] {
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  -webkit-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s;
}

[data-lf][src],
[data-lf][style*=background-image],
[data-lf].load_view {
  opacity: 1;
}

/* ---------------------------------------------------------

_variableをクラス化

--------------------------------------------------------- */
/*
margin:0;版をデフォルト化

html例）
<ul class="col_3 col_base">
	<li></li>
	<li></li>
	<li></li>
</ul>
*/
@media print, screen and (min-width: 481px) {
  @supports (display: flow-root) {
    .col_base.col_1 {
      display: flow-root;
    }
  }
  @supports not (display: flow-root) {
    .col_base.col_1 {
      display: block;
    }
    .col_base.col_1:after {
      content: "";
      display: block;
      clear: both;
    }
  }
  .ie .col_base.col_1 {
    display: block;
    width: calc(100% + 1px);
  }
  .ie .col_base.col_1:after {
    content: "";
    display: block;
    clear: both;
  }
  .col_base.col_1 > * {
    margin: 0px 0 0 0px;
    width: calc(100% / 1 - 0px);
    float: left;
  }
  .ie .col_base.col_1 > * {
    width: calc(calc(100% - 1px) / 1 - 0px);
  }
  .col_base.col_1 > *:nth-child(1n+1) {
    margin-left: 0;
  }
  .col_base.col_1 > *:nth-child(-n+1) {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 481px) {
  @supports (display: flow-root) {
    .col_base.col_2 {
      display: flow-root;
    }
  }
  @supports not (display: flow-root) {
    .col_base.col_2 {
      display: block;
    }
    .col_base.col_2:after {
      content: "";
      display: block;
      clear: both;
    }
  }
  .ie .col_base.col_2 {
    display: block;
    width: calc(100% + 1px);
  }
  .ie .col_base.col_2:after {
    content: "";
    display: block;
    clear: both;
  }
  .col_base.col_2 > * {
    margin: 0px 0 0 0px;
    width: calc(100% / 2 - 0px);
    float: left;
  }
  .ie .col_base.col_2 > * {
    width: calc(calc(100% - 1px) / 2 - 0px);
  }
  .col_base.col_2 > *:nth-child(2n+1) {
    margin-left: 0;
  }
  .col_base.col_2 > *:nth-child(-n+2) {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 481px) {
  @supports (display: flow-root) {
    .col_base.col_3 {
      display: flow-root;
    }
  }
  @supports not (display: flow-root) {
    .col_base.col_3 {
      display: block;
    }
    .col_base.col_3:after {
      content: "";
      display: block;
      clear: both;
    }
  }
  .ie .col_base.col_3 {
    display: block;
    width: calc(100% + 1px);
  }
  .ie .col_base.col_3:after {
    content: "";
    display: block;
    clear: both;
  }
  .col_base.col_3 > * {
    margin: 0px 0 0 0px;
    width: calc(100% / 3 - 0px);
    float: left;
  }
  .ie .col_base.col_3 > * {
    width: calc(calc(100% - 1px) / 3 - 0px);
  }
  .col_base.col_3 > *:nth-child(3n+1) {
    margin-left: 0;
  }
  .col_base.col_3 > *:nth-child(-n+3) {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 481px) {
  @supports (display: flow-root) {
    .col_base.col_4 {
      display: flow-root;
    }
  }
  @supports not (display: flow-root) {
    .col_base.col_4 {
      display: block;
    }
    .col_base.col_4:after {
      content: "";
      display: block;
      clear: both;
    }
  }
  .ie .col_base.col_4 {
    display: block;
    width: calc(100% + 1px);
  }
  .ie .col_base.col_4:after {
    content: "";
    display: block;
    clear: both;
  }
  .col_base.col_4 > * {
    margin: 0px 0 0 0px;
    width: calc(100% / 4 - 0px);
    float: left;
  }
  .ie .col_base.col_4 > * {
    width: calc(calc(100% - 1px) / 4 - 0px);
  }
  .col_base.col_4 > *:nth-child(4n+1) {
    margin-left: 0;
  }
  .col_base.col_4 > *:nth-child(-n+4) {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 481px) {
  @supports (display: flow-root) {
    .col_base.col_5 {
      display: flow-root;
    }
  }
  @supports not (display: flow-root) {
    .col_base.col_5 {
      display: block;
    }
    .col_base.col_5:after {
      content: "";
      display: block;
      clear: both;
    }
  }
  .ie .col_base.col_5 {
    display: block;
    width: calc(100% + 1px);
  }
  .ie .col_base.col_5:after {
    content: "";
    display: block;
    clear: both;
  }
  .col_base.col_5 > * {
    margin: 0px 0 0 0px;
    width: calc(100% / 5 - 0px);
    float: left;
  }
  .ie .col_base.col_5 > * {
    width: calc(calc(100% - 1px) / 5 - 0px);
  }
  .col_base.col_5 > *:nth-child(5n+1) {
    margin-left: 0;
  }
  .col_base.col_5 > *:nth-child(-n+5) {
    margin-top: 0;
  }
}

.clearfix {
  content: "";
  display: block;
  clear: both;
}

/* -----------------------------------------------------------------------------

共通パーツ

----------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------

共通レイアウト

----------------------------------------------------------------------------- */
.flowbottomSP {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 44px;
  display: table;
  text-align: center;
  -webkit-transition: -webkit-transform 1s;
  transition: -webkit-transform 1s;
  -o-transition: transform 1s;
  transition: transform 1s;
  transition: transform 1s, -webkit-transform 1s;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
  z-index: 999;
}
.flowbottomSP.active {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}
.flowbottomSP a {
  display: table-cell;
  background-color: #FFF;
  vertical-align: middle;
}
.flowbottomSP a:nth-child(2) {
  background-color: #FFFEB7;
}
.flowbottomSP span {
  font-size: 0.11rem;
}

.flowbottomSPinview {
  position: absolute;
  top: 105vh;
  bottom: 0;
  pointer-events: none;
  width: 0;
}

/* ページトップボタン */
.pagetopbtn {
  position: fixed;
  bottom: 60px;
  right: 10px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  -webkit-filter: opacity(0%);
          filter: opacity(0%);
  pointer-events: none;
  -webkit-transition: opacity 0.2s, -webkit-filter 1s;
  transition: opacity 0.2s, -webkit-filter 1s;
  -o-transition: filter 1s, opacity 0.2s;
  transition: filter 1s, opacity 0.2s;
  transition: filter 1s, opacity 0.2s, -webkit-filter 1s;
  background-color: #fff;
  z-index: 999;
  border: 1px solid #808080;
}
@media screen and ( max-width: 480px ){
    .pagetopbtn{
        bottom: 90px;
    }
}
.pagetopbtn:before {
  content: "";
  display: block;
  position: absolute;
  top: 7px;
  bottom: 0;
  right: 0;
  left: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.pagetopbtn.active {
  -webkit-filter: opacity(100%);
          filter: opacity(100%);
  pointer-events: auto;
}
.no-touchevents .pagetopbtn:hover {
  opacity: 0.6;
}

.pagetopbtnInview {
  position: absolute;
  top: 200vh;
  bottom: 0;
  pointer-events: none;
  width: 0;
}

/* ヘッダー */
.mod_header .row01 {
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 1000;
  padding: 0 20px;
}
@media screen and (max-width: 480px) {
  .mod_header .row01 {
    padding: 0 10px;
  }
}
.mod_header .row01 .in {
  width: 100%;
  max-width: 1200px;
  height: 90px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 480px) {
  .mod_header .row01 .in {
    height: 60px;
  }
}
.mod_header .row01 .logo {
  display: block;
}
@media screen and (max-width: 480px) {
  .mod_header .row01 .logo .logoimg {
    width: auto;
    height: 40px;
  }
}
.mod_header .row01 .one {
  display: inline-block;
  padding: 4px;
  font-size: 0.18rem;
}
@media screen and (max-width: 480px) {
  .mod_header .row02 {
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    top: 60px;
    left: 0;
    width: 100%;
    bottom: 0;
    opacity: 0;
    z-index: 1000;
    pointer-events: none;
    -webkit-transition: opacity 0.4s;
    -o-transition: opacity 0.4s;
    transition: opacity 0.4s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .spmenuopen .mod_header .row02 {
    opacity: 1;
    pointer-events: auto;
  }
  .mod_header .row02 .in {
    width: 100%;
  }
  .mod_header .row02 .link {
    margin-top: 20px;
  }
  .mod_header .row02 .one {
    font-size: 0.2rem;
    color: #FFF;
    font-weight: bold;
    display: block;
    text-align: center;
  }
  .mod_header .row02 .one + .one {
    margin-top: 10px;
  }
}
@media screen and (max-width: 480px) {
  .mod_header .menu {
    width: 44px;
    height: 44px;
    position: fixed;
    top: 6px;
    right: 6px;
    z-index: 1000;
    background-color: #000;
  }
  .mod_header .menu .open .bar {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 24px;
    height: 1px;
    margin: auto;
    background-color: #fff;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
  }
  .mod_header .menu .open .bar:nth-child(1) {
    top: -16px;
  }
  .mod_header .menu .open .bar:nth-child(3) {
    bottom: -16px;
  }
  .mod_header .menu .close .bar {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 0;
    height: 1px;
    margin: auto;
    background-color: #fff;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
  }
  .mod_header .menu .close .bar:nth-child(1) {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .mod_header .menu .close .bar:nth-child(2) {
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .spmenuopen .mod_header .menu .open .bar {
    width: 0;
  }
  .spmenuopen .mod_header .menu .close .bar {
    width: 24px;
  }
}
