@charset "utf-8";
/********************************/
/*レイアウト用ＣＳＳ（基本設定）   */
/********************************/

/*背景、文字色、フォントなど   */
body{
    font-family: 'BIZ UDPMincho','BIZ UDP明朝','Hiragino Mincho ProN','ヒラギノ明朝 ProN', 'Open Sans', sans-serif;
    color:#fff;
    background-color:#000;
	font-size:1rem;
	line-height:1.85;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
}


/*段落：リストスタイル無し  */
ul{
	margin:0;
	padding: 0;
	list-style: none;
}

/*リンク：文字色・ライン表示  */
a{
	color: #fff;
	text-decoration: none;
    outline: none;
}

/*ボックス：padding、borderを含んだサイズ  */
*{
    box-sizing: border-box
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media screen and (min-width:501px) {
    .sp {
        display: none !important;
    }
    }

@media screen and (max-width:500px) {
.pc {
    display: none !important;
}
}

/* 印刷しない要素 */
@media print {
    .sp,
    .hideInPrint,
    #mailPage,
    #page-top,
    #header-top,
    #header-top2{
        display: none;
    }
}

/**********************************/
/*ローディングアニメーション       */
/**********************************/
.loader {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;

    width: 100vw;
    height: 100vh;
    transition: all 1s;
    background-color: #fff;

    display:flex;
    justify-content:center;
    align-items:center;
}

.loaded {
    opacity: 0;
    visibility: hidden;
}


/**********************************/
/*背景         					   */
/**********************************/

.bg-img01{
    background: url(../img/001_background-image3.png) center center / cover no-repeat;
    width:100vw;
}

/**********************************/
/*画像         					   */
/**********************************/

/* 画像その大きさで表記） */
.img-auto{
    width:auto;
}
/* 画像（100%表示） */
.img-100{
    width:100%;
}
/* 画像（80%表示） */
.img-80{
    width:80%;
}
/* 画像（80px） */
.img-80px{
    width:80px;
}
@media screen and (max-width:540px) {
    .img-auto{
        width:100%;
    }
    .img-80{
        width:100%;
    }
}

/**********************************/
/*文字         					   */
/**********************************/
.font-10{
    font-size:1.0rem;
}
.font-15{
    font-size:1.5rem;
}
.font-18{
    font-size:1.8rem;
}
.font-20{
    font-size:2.0rem;
}

.text-red{
    color:#ff3131;
}
.text-red15{
    color:#ff3131;
    font-size:1.5rem;
}

/**********************************/
/*マーカー     					   */
/**********************************/
/* 黄色マーカー */
.y-marker {
    background:linear-gradient(transparent 80%, rgba(255,255,0,0.5) 80%);
}

/* 黄色マーカー */
.y-marker-b {
    background:linear-gradient(transparent 80%, rgba(255,255,0,0.5) 80%);
    font-weight:bold;
}
/* 黄色マーカー 1.5rem */
.y-marker-15 {
    background:linear-gradient(transparent 80%, rgba(255,255,0,0.5) 80%);
    font-size:1.5rem;

}

/**********************************/
/*ヘッダー   					   */
/**********************************/
h1{
    color:#444;
    font-size:10px;
    font-weight: normal;
    text-align:center;
    margin:0;
}

@media screen and (max-width:540px) {
    h1{
        font-size:8px;
    }
}

/*ヘッダー部背景入れるならここ*/
.header-area{
    text-align:center;
    width:100vw;
}

/*ヘッダートップ（最初に表示する方）*/
#header-top{
	position: fixed;/*header固定*/
	height: 110px;/*Headerの高さ設定（元々60px）*/
	width:100%;
    z-index: 9;
    padding:0rem 1rem;

}
#header-top .header-top-flex{
    display:flex;
    justify-content:space-between;
    max-width:1000px;
    margin:0 auto;
}
#header-top .header-top-logo{
    max-width:220px;
    width:100%;
}
#header-top .header-top-logo2,
#header-top2 .header-top-logo2{
    margin:0.5rem;
    max-width:200px;
    width:200px;
    height:40px;
    background: url(../img/003_btn01.png);
}
#header-top .header-top-log2:hover,
#header-top2 .header-top-log2:hover{
    background: url(../img/003_btn02.png);
}

/*ヘッダートップ（途中から表示する方）*/
#header-top2{
	position: fixed;/*header固定*/
	height: 80px;/*Headerの高さ設定（元々60px）*/
	width:100%;
    z-index: 9;
    padding:0rem 1rem;
    background:rgba(0,0,0,0.7);
}
#header-top2 .header-top-flex{
    display:flex;
    justify-content:space-between;
    max-width:1000px;
    margin:0 auto;
}
#header-top2 .header-top-logo{
    max-width:160px;
    width:100%;
}

/*ヘッダートップ（ずっと表示する方）*/
#header-top3{
	position: fixed;/*header固定*/
	height: 80px;/*Headerの高さ設定（元々60px）*/
	width:100%;
    z-index: 9;
    padding:0rem 1rem;
}
#header-top3 .header-top-flex{
    display:flex;
    justify-content:space-between;
    align-items:center;
    max-width:1000px;
    margin:0 auto;
}
#header-top3 .header-top-logo{
    max-width:160px;
    width:100%;
}
#header-top3 .header-top-logo2{
    display:flex;
    justify-content:center;
    align-items:center;
    background:rgba(0,0,0,0.7);
    width:60px;
    height:60px;
    margin:auto;
    color:#fff;
    font-size:1.2rem;
    border-radius:5px;
}

/*ヘッダー部 max-1000px枠*/
.header-body{
    width: 100vw;
    max-width:1000px;
    margin:0 auto;
}

/* 動画 */
.visual{
    background: url(../img/002_top11-2.pdf) no-repeat  bottom;
    background-size:cover;
    text-align: center;
}
.video {
    position: relative;
    margin:0 auto;
    overflow:hidden;
    display: flex;
    width:100%;
}

/**********************************/
/*コンテンツ   					   */
/**********************************/
/*コンテンツ部 max-1000px*/
.con-body{
    max-width:1000px;
    margin:0 auto;
}

/*タイトル max-1000px*/
.con-title-flex{
    display:flex;
    flex-wrap:wrap;
    max-width:1000px;
}
.con-title-left{
    max-width:80px;
    width:100%;
}
.con-title-right{
    margin:auto 1rem;
}
.con-title-right-text{
    text-align:left;
    font-size:1.6rem;
}
@media screen and (max-width:540px) {
    .con-title-right-text{
        font-size:1.5rem;
    }
}

/* コンテンツflex  max-1000px*/
.con-flex{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin:0 auto 3rem auto;
    max-width:1000px;
    justify-content: center;
    align-items: flex-start;
}

/* フレックス内文章 max440px */
.con-text-400{
    max-width:440px;
    margin:0 auto;
    padding:1rem;
    text-align:left;
}

/**********************************/
/*ボックス   					   */
/**********************************/
.box-w{
    position:relative;
    background-color:#222;
    border-radius:5px;
    width:200px;
    height:200px;
    margin:0.5rem;
    padding:0.5rem;
}
.box-number{
    position:absolute;
    width:50px;
    height:50px;
    top:0px;
    left:0px;
    margin:0.5rem;
    padding:0.2rem 0rem 0.2rem 0.6rem;
    font-size:1.3rem;
    color:#fff;
    background: url(../img/201_img03-01.png) no-repeat;
}
.box-title{
    position:absolute;
    top:0px;
    left:4rem;
    font-size:1.5rem;
    color:#fff;
    margin:0.5rem;
}
.box-title2{
    color:#ff3131;
    font-weight:bold;
}
.box-line{
    position:absolute;
    width:180px;
    height:7px;
    top:70px;
    left:0px;
    margin:0.5rem;
    background: url(../img/201_img03-02.png) no-repeat;
}
.box-text{
    position:absolute;
    top:75px;
    left:0rem;
    font-size:0.7rem;
    color:#fff;
    margin:0.5rem;
    padding:0.5rem;
}

@media screen and (max-width:540px) {
    .box-title{
        font-size:1.3rem;
    }
    .box-number{
        width:40px;
        height:40px;
        font-size:1.1rem;
    }
    .box-line{
        width:130px;
    }
    .box-w{
        width:150px;
        height:220px;
    }
}

/**********************************/
/*フッター  スマホ用ボタン		   */
/**********************************/
/*メニューをページ下部に固定*/
#sp-fixed-menu{
    position: fixed;
    width: 100%;
    bottom: 0px;
    margin:0 72px 0 0;
    padding:10px 0px;
    opacity: 1.0;
    background-color:#000;
    z-index: 1;
}

/*メニューを横並びにする*/
#sp-fixed-menu .flex{
    display: flex;
    flex-wrap:nowrap;
    list-style: none;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin:0 70px 0 0;
    font-size: 10px;
    text-align:center;
}

/*左側メニューを緑色に*/
#sp-fixed-menu .first-child{
    background:#4ae1ff;
    color:#222;
    font-weight:bold;
    border:1px solid #4ae1ff;
    border-radius:5px;
    padding:1px;
    margin:2px;
    flex:1;
}
#sp-fixed-menu .first-child a:active{
    background: #222;
    font-weight:bold;
    color:#2dceee;
    border:1px solid #2dceee;
    border-radius:5px;
    padding:1px;
    margin:2px;
    flex:1;
}

/*他のメニューを緑枠に*/
#sp-fixed-menu .child{
    background: rgba(164, 201, 0, 0.7);
    color:#fff;
    border:1px solid rgba(164, 201, 0, 0.7);
    border-radius:5px;
    padding:1px;
    margin:2px;
    flex:1;
}
#sp-fixed-menu .child a:active{
    background: #fff;
    color:rgba(164, 201, 0, 0.7);
    border:1px solid rgba(164, 201, 0, 0.7);
    border-radius:5px;
    padding:1px;
    margin:2px;
    flex:1;
}

/*PageTop用に空ける*/
#sp-fixed-menu .child-pagetop{
    width:72px;
}

/*アイコン*/
#sp-fixed-menu .icon{
    font-size:1.5rem;
    margin:0;
    font-weight:bold;
}

/*PCの場合にはメニューを表示させない*/
@media (min-width: 768px) {
    .for-sp{
    display:none;
    }
}
/*スマホの場合にはメニューを表示させない*/
@media (max-width: 768px) {
    .for-pc{
    display:none !important;
    }
}
/*350pxを切る場合、PageTopを表示させない*/
@media (max-width: 350px) {
    .for-PageTop{
    display:none !important;
    }
}