@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表示切り替え
---------------------------------------*/
.sp { display: block !important; }
.pc { display: none  !important; }

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

/*リンク
---------------------------------------*/
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;
    }
    #pc-menu li a:hover::after {
    	transform: scale(1, 1);
    }
    
}/*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 img{
    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;
}

