@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,600,700&display=swap');

/*基本設定
---------------------------------------*/

html {
  font-size: 62.5%;/* 標準の文字サイズを10pxに設定 */
}

body {
  color: #000;
  font-size: 1.5rem;
  font-family: 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.5;
  background: #f0f0f0;
  -webkit-text-size-adjust: 100%;
  /* フォントサイズ自動調整OFF */
}

/*Google Font（@importは先頭に記述）
---------------------------------------*/
.opensans      {font-family: 'Open Sans', sans-serif;}
.opensans.w400 {font-weight: 400;}
.opensans.w600 {font-weight: 600;}
.opensans.w700 {font-weight: 700;}

/*画像の自動リサイズ
---------------------------------------*/
img {
  max-width: 100%;
  height: auto;
}

/*SP/PC表示切り替え
---------------------------------------*/
.is-sp { display: block !important; }
.is-pc { display: none  !important; }

@media screen and (min-width: 769px) {
.is-sp { display: none  !important; }
.is-pc { display: block !important; }
}

/*ブレークポイント通過時の変化をスムーズに（全要素にtransition）
---------------------------------------*/
*{transition: all .5s;}

/*リンク
---------------------------------------*/
a:link {color: #1d85ca;text-decoration: underline;}
a:visited {color: #1d85ca;text-decoration: underline;}
a:hover {color: #ec4536;text-decoration: underline;}
a:active {color: #ec4536;text-decoration: underline;}


/*構造
---------------------------------------*/

#wrapper {}

header {
  height: 80px;
  background: #000;
}
.herderInr{ padding: 0 0 0 20px}

footer {
  background: #000;
  color: #fff;
  min-height: 100px;
}
.footerInr{ padding: 20px; }

/*コンテナ（幅固定）*/
.container-fix {
}
/*コンテナ（幅100%）*/
.container-liq {
  background: #e7faff;
}
.containerInr{padding: 40px 20px;}

/*メイン*/
#main{
  background: #fff;
}
.mainInr{padding: 40px 20px;}

/*サイド*/
#side {
  background: #fff;
  border-top: 3px solid #333;
  margin: 20px;
}
.sideInr{padding: 40px 20px;}


/* PC
====================================== */
@media screen and (min-width: 769px) {

  /*背景切れ防止*/
  #wrapper {
    min-width: 1024px;
    margin: 0 auto;
  }

  .herderInr{
    padding: 0;
    width: 960px;
    margin: 0 auto;
  }
  .footerInr{
    padding: 20px 0;
    width: 960px;
    margin: 0 auto;
  }
  /*コンテナ（幅固定）*/
  .container-fix {
    width: 960px;
    margin: 0 auto;
    overflow: hidden;
  }
  /*コンテナ（幅100%）*/
  .container-liq {
    overflow: hidden;
  }
  .containerInr{padding: 20px 0;}

  #main{
    width: 640px;
    float: left;
    padding: 0;
    margin: 20px 0;
  }
  .mainInr{padding: 20px;}
  #side {
    width: 300px;
    float: right;
    padding: 0;
    margin: 20px 0;
  }
  .sideInr{padding: 20px;}

}/*end-PC*/


/*ヘッダー
---------------------------------------*/

/*ロゴ*/
#logo {
  float: left;
}
#logo a{
  color: #fff;
  font-size: 2rem;
  line-height: 80px;
  text-decoration: none;
}
/*SP用メニュー*/
#pc-menu{display: none;}
#sp-menu{display: block;}

.nav-drawer {
  position: relative;
}
.nav-unshown {
  display:none;
}
.nav-open {
  display: inline-block;
  float: right;
}
.nav-open span {
  display: block;
  width: 80px;
  height: 80px;
  line-height: 80px;
  text-align: center;
  color: #fff;
  background: #f0f;
  cursor: pointer;
}
/*閉じるボタン：半透明レイヤー*/
.nav-close {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}
/*メニュー本体*/
.nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  width: 80%;
  height: 100%;
  background: #fff;
  text-align: left;
  padding: 20px;
  transition: .3s ease-in-out;
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);
}
/*展開時（チェックボックス判定）*/
#nav-input:checked ~ .nav-close {
  display: block;
  opacity: .5;
}
#nav-input:checked ~ .nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
}
/*展開時にbodyに付与してスクロールを固定*/
.body-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
/*メニュー内のみタップ無効化解除*/
.body-fixed .nav-drawer ,
.body-fixed .nav-open ,
.body-fixed .nav-close ,
.body-fixed .nav-content {
  pointer-events:auto;
}
/*z-index*/
.nav-close { z-index: 1;}
.nav-content {z-index: 2;}


/* PC
====================================== */
@media screen and (min-width: 769px) {

  /*PC用メニュー*/
  #sp-menu {display: none;}
  #pc-menu {display: block;}

  #pc-menu{
    float: right;
    margin-top: 28px;
  }
  #pc-menu li{
    position: relative;
    display: block;
    float: left;
  }
  #pc-menu li a{
    position: relative;
    display: inline-block;
    color: #fff;
    font-size: 1.5rem;
    text-decoration: none;
    margin-left: 30px;
  }
  /*下線アニメーション*/
  #pc-menu li a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s;
  }
  /* hover / current */
  #pc-menu li a:hover::after ,
  #pc-menu li a.active::after {
    transform: scale(1, 1);
  }
  #pc-menu li a.active::after {
    transition: transform 0s;
  }


}/*end-PC*/


/*フッター
---------------------------------------*/


/*メイン
---------------------------------------*/


/*サイド
---------------------------------------*/


/*その他
---------------------------------------*/



/*メニュー用リスト*/
.menuList h4 {
  font-weight: bold;
  margin-bottom: 1rem;
}
.menuList ul  {
  margin-bottom: 30px;
}
.menuList ul li {
  font-size: 1.3rem;
  margin: 10px 0 10px 5px;
}


















/*テキストスタイル基本（.styles内の要素すべて）
---------------------------------------*/

.styles p,
.styles ul,
.styles ol,
.styles dl,
.styles table {
  margin-bottom: 1.6rem;
}
.styles h1 {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 2rem;
}
.styles h2 {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 2.5rem;
}
.styles h3 {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 2rem;
}
.styles h4,
.styles h5,
.styles h6 {
  margin-bottom: 1rem;
}
.styles p {}
.styles em {}
.styles strong {}
.styles ul,
.styles ol {}
.styles ol {list-style: decimal inside;}
.styles li {margin-bottom: 1rem;}
.styles dl {}
.styles dt {
  font-weight: bold;
  margin-bottom: 1rem;
}
.styles dd {}
.styles table {
  width: 100%;
  border-collapse: collapse;
}
.styles th,
.styles td {
  padding: 20px;
  vertical-align: middle;
  border: .99px solid #ddd;
}
.styles th {
  background: #f5f5f5;
}
.styles td {
  background: #fff;
}
.styles caption {
  text-align: left;
  font-weight: bold;
  margin-bottom: 1rem;
}

/*調整用クラス
---------------------------------------*/

/*マージン*/
.mt5 {margin-top: 5px !important;}
.mt10{margin-top:10px !important;}
.mt15{margin-top:15px !important;}
.mt20{margin-top:20px !important;}
.mt25{margin-top:25px !important;}
.mt30{margin-top:30px !important;}
.mt35{margin-top:35px !important;}
.mt40{margin-top:40px !important;}
.mt45{margin-top:45px !important;}
.mt50{margin-top:50px !important;}

.mb5 {margin-bottom: 5px !important;}
.mb10{margin-bottom:10px !important;}
.mb15{margin-bottom:15px !important;}
.mb20{margin-bottom:20px !important;}
.mb25{margin-bottom:25px !important;}
.mb30{margin-bottom:30px !important;}
.mb35{margin-bottom:35px !important;}
.mb40{margin-bottom:40px !important;}
.mb45{margin-bottom:45px !important;}
.mb50{margin-bottom:50px !important;}

.ml5 {margin-left: 5px !important;}
.ml10{margin-left:10px !important;}
.ml15{margin-left:15px !important;}
.ml20{margin-left:20px !important;}
.ml25{margin-left:25px !important;}
.ml30{margin-left:30px !important;}
.ml35{margin-left:35px !important;}
.ml40{margin-left:40px !important;}
.ml45{margin-left:45px !important;}
.ml50{margin-left:50px !important;}

.mr5{margin-right: 5px !important;}
.mr10{margin-right:10px !important;}
.mr15{margin-right:15px !important;}
.mr20{margin-right:20px !important;}
.mr25{margin-right:25px !important;}
.mr30{margin-right:30px !important;}
.mr35{margin-right:35px !important;}
.mr40{margin-right:40px !important;}
.mr45{margin-right:45px !important;}
.mr50{margin-right:50px !important;}

.noMg{margin:0 !important;}

/*左右マージン*/
.inr5 {padding:0  5px;}
.inr10{padding:0 10px;}
.inr15{padding:0 15px;}
.inr20{padding:0 20px;}
.inr25{padding:0 25px;}
.inr30{padding:0 30px;}
.inr35{padding:0 35px;}
.inr40{padding:0 40px;}
.inr45{padding:0 45px;}
.inr50{padding:0 50px;}

/*フロート*/
.float-l{float:left;}
.float-r{float:right;}

/*アライン*/
.align-c{text-align: center !important;}
.align-l{text-align: left   !important;}
.align-r{text-align: right  !important;}

/*フォントサイズ（相対）*/
big   {font-size:1.2em}
small {font-size:0.8em}

/*フォントサイズ（絶対）*/
.fs-10 {font-size:1.0rem}
.fs-11 {font-size:1.1rem}
.fs-12 {font-size:1.2rem}
.fs-13 {font-size:1.3rem}
.fs-14 {font-size:1.4rem}
.fs-15 {font-size:1.5rem}
.fs-16 {font-size:1.6rem}
.fs-17 {font-size:1.7rem}
.fs-18 {font-size:1.8rem}
.fs-19 {font-size:1.9rem}
.fs-20 {font-size:2.0rem}
.fs-21 {font-size:2.1rem}
.fs-22 {font-size:2.2rem}
.fs-23 {font-size:2.3rem}
.fs-24 {font-size:2.4rem}
.fs-25 {font-size:2.5rem}
.fs-26 {font-size:2.6rem}
.fs-27 {font-size:2.7rem}
.fs-28 {font-size:2.8rem}
.fs-29 {font-size:2.9rem}
.fs-30 {font-size:3.0rem}

/*画像透過*/
a.imgHover:hover{
  opacity:0.7;
  filter: alpha(opacity=70);
  -ms-filter:"alpha( opacity=70)";
  transition: opacity 0.3s ease;
}

/*回りこみ解除禁止（簡易crearfix）*/
.ovh{overflow:hidden;}

/*boeder*/
hr.border{
  clear:both;
  padding:0;
  display:block;
  height:1px;
  border:0;   
  border-top:.99px dotted #ccc;
}

