@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);
html{
    width : 100%;
    font-size : 16px;
}
body{
    font-size : 1rem;
    margin : 0;
    padding : 1px 0 0 0;
    font-family: "Hiragino Kaku Gothic ProN", Verdana, "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
    width : 100%;
    height : 100%;
    position : relative;
    overflow-x : hidden;
}

body * {

    font-style : normal;
}
ul,li,ol{
    list-style : none;
    margin : 0;
    padding : 0;
}
h1,h2,h3,h4,h5,h6,p,div{
    padding : 0;
    margin : 0;
}
a{
    text-decoration : none;
    outline: none;
}
a:focus{
    outline: none;
}
img{
    width : 100%;
    vertical-align : middle;
}
.img__autosize{
    width : auto;
    height : auto;
    max-width : 100%;
}
.no-script{
    top : 90px;
    left : 0;
    right : 0;
    position : fixed;
    text-align : center;
    z-index : 1000;
    background : rgba(255,255,0,.7);
    padding : 2em;
}

#content{
    padding-top : 90px;
    padding-bottom : 50px;
    position : relative;
}
@media screen and (max-width: 768px){
    #content{
        padding-top : 60px;
    }
    .no-script{
        top : 60px;
    }
}

@media screen and (min-width: 769px){
    .pc { display:block;}
    .pc-inline { display:inline-block;}
    .sp { display:none;}
    .sp-inline { display:none;}
}
@media screen and (max-width: 768px){
    .pc { display:none;}
    .pc-inline { display:none;}
    .sp { display:block;}
    .sp-inline { display:inline-block;}
}
/*
red color #e70012;
default text color #2d2d2d;
default font size 16px;
1.375rem/22px
1.25rem/20px
1.125rem/18px
0.937rem/15px
0.875rem/14px
0.75rem/12px
*/

.red{
	color: #e70012;
}

.content-wrap{
    max-width : 1000px;
    display : block;
    margin-left : auto;
    margin-right : auto;
}
@media screen and (max-width: 1000px){
    .content-wrap--sp{
        margin-right : 10px;
        margin-left : 10px;
    }
}
@media screen and (max-width: 768px){
    .content-wrap{
        max-width : 100%;
    }
    .content-wrap--sp{
        margin-right : 10px;
        margin-left : 10px;
    }
}
/**************************************

section

***************************************/
.section-block{
    width : 100%;
    display : block;
    overflow-x : hidden;
}
.section-block--glay{
    background : #f0efef;

}
.section-block--relative{
    position :relative;
}
.section-block--randum-d{
    background :  #f9f9f9 url('/asset/images/common/randum_d_bg.png') no-repeat;
    background-position : right bottom;
}
.section-block__m100{
    margin-bottom : 100px;
}
.section-block__pb5rem{
    padding-bottom : 5rem;
}
@media screen and (max-width: 768px){
    .section-block__m100{
        margin-bottom : 50px;
    }
}
/**************************************

button

***************************************/
.btn-twowrap{
    display : flex;
    justify-content: space-between;
    margin : 10px auto;
}
.btn-twowrap > *{
    width : 100%;
    margin-right : 10px;
    margin-left : 10px;
}
.btn{
    display : block;
    border : 2px solid;
    padding : 10px;
    font-size : 1.125rem;
    text-align : center;
    max-width : 500px;
    margin-left : auto;
    margin-right : auto;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
.btn--short{
    display : inline-block;
    padding-right : 2em;
    padding-left : 2em;
    min-width : 30%;
}
@media screen and (max-width: 768px) {
    .btn-twowrap{
        display : block;
    }
    .btn-twowrap > *{
        margin-bottom : 20px;
        width : 80%;
        display : block;
        margin-right : auto;
        margin-left : auto;
    }
    .btn{
        max-width : 100%;
    }
}
.btn--black{
    color : #fff;
    background : #1d1d1d;
    border-color : #1d1d1d;
}
.btn--black:hover{
    background : #454545;
}

.btn--black-outline{
    color : #454545;
    background : rgba(255,255,255,.6);
    border-color : #454545;
    text-shadow:
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
    font-weight : bold;
}
.btn--black-outline:hover{
    background : #454545;
    color : #fff;
    text-shadow:none;
    font-weight : bold;
}
.btn--gray{
    color : #666666;
    background : #f0f0f0;
    border-color : #666666;
}
.btn--gray:hover{
    background : #666666;
    color: #fff;
}

.btn--gray-outline{
    color : #666666;
    background : rgba(255,255,255,.6);
    border-color : #666666;
    text-shadow:
    #fff 2px 0,  #fff -2px 0,
    #fff 0 -2px, #fff 0 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
    font-weight : bold;
}
.btn--gray-outline:hover{
    background : #999;
    color : #fff;
    text-shadow:none;
    font-weight : bold;
}
.btn--red-outline{
    color : #e70012;
    background : rgba(255,255,255,.6);
    border-color : #e70012;
    text-shadow:
    #fff 2px 0,  #fff -2px 0,
    #fff 0 -2px, #fff 0 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
    font-weight : bold;
}
.btn--red-outline:hover{
    background : #e70012;
    color : #fff;
    text-shadow:none;
    font-weight : bold;
}
.btn--red{
    color : #fff;
    background : #e70012;
    border-color : #e70012;
    font-weight : bold;
}
.btn--red:hover{
    color : #e70012;
    background : rgba(255,255,255,.6);
    border-color : #e70012;
    text-shadow:
    #fff 2px 0,  #fff -2px 0,
    #fff 0 -2px, #fff 0 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
    font-weight : bold;
}
.btn__pdf:after{
    font-family: 'icomoon';
    content : '\e908';
    margin-left : 10px;
    font-weight : normal;
}
/**************************************

Text 関連

***************************************/
.text-md{
    margin : 1em 0;
}
.text-md2{
    margin : 2em 0;
}
.text-md-lh{
    line-height : 1.8em;
}
.text-default{
    font-size : 1rem;
}
.text-large{
    font-size : 1.25rem;
}
.text-biglarge{
    font-size : 1.375rem;
}
.text-small{
    font-size : .9em;
}
.text-s_small{
    font-size : .7em;
}
.text-center{
    text-align : center;
}
.text-right{
    text-align : right;
}
.f-red,
.text-red{
	color: #e70012;
}
.text-shadow--white{
    text-shadow:
    #fff 2px 0,  #fff -2px 0,
    #fff 0 -2px, #fff 0 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
}
.att-text{
    color : #e70012;
}
.att-text--mark{
    padding-left : 1.5em;
}
.att-text--mark:before{
    content : '※';
    margin-left : -1.5em;
    margin-right : .5em;
}
/**************************************

Link 関連

***************************************/
/*通常リンク*/
.text-link{
    color : #007aff;
    position : relative;
    padding-left : 1.2em;
}
.text-link:before{
    font-family: 'icomoon';
    content: "\e901";
    margin-right : .3em;
    position : absolute;
    top : .15em;
    left : 0;
}
/*黒リンク 主に電話番号等*/
.text-link__black{
    color : #2d2d2d;
}
/*外部new windowリンク*/
.text-link--newWindow:after{
    font-family: 'icomoon';
    content: "\e90a";
    margin-left : .3em;
    font-size : 0.8em;
}

/**************************************

Margin 関連

***************************************/
.ml-1em{
    margin-left : 1em;
}
.mt-1em{
    margin-top : 1em;
}
.mt-3em{
    margin-top : 3em;
}
.mt-5em{
    margin-top : 5em;
}
.mt-04em{
    margin-top : .4em;
}
.mt-05em{
    margin-top : .5em;
}
/**************************************

Title 関連

***************************************/

.main-ttl{
    font-size : 2rem;
    padding : 130px 10px;
    text-align : center;
    margin-bottom : 40px;
}
.main-ttl__sub{
    font-size : .5rem;
    display : block;
}

.section-ttl{
    text-align : center;
    margin-bottom : 30px;
}

.section-ttl__desp{
    display : inline-block;
    position : relative;
    font-size : 1.25rem;
    margin-bottom : 1em;
    padding : 10px 0;
    max-width : 80%;
    box-sizing : border-box;
}
.section-ttl__desp:before{
    position : absolute;
    content : "";
    width : 30px;
    height : 30px;
    border-left : 1px solid #c0c0c0;
    border-top : 1px solid #c0c0c0;
    left : -40px;
    top : 0;
    z-index : 1;
}
.section-ttl__desp:after{
    position : absolute;
    content : "";
    width : 30px;
    height : 30px;
    border-right : 1px solid #c0c0c0;
    border-bottom : 1px solid #c0c0c0;
    right : -40px;
    bottom : 0;
    z-index : 1;
}
@media screen and (max-width: 768px) {
    .main-ttl{
        padding : 40px 10px;
        font-size : 1.5rem;
    }
    .section-ttl__desp:before{
        left : -20px;
        width : 20px;
        height : 20px;
    }
    .section-ttl__desp:after{
        right : -20px;
        width : 20px;
        height : 20px;
    }
}
/**************************************

header 全体

***************************************/
.site-header{
    display : flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap : wrap;
    position : fixed;
    z-index : 3;
    background : #fff;
    margin-top : -1px;
    width : 100%;
    box-sizing : border-box;
}
.site-header__logo{
    width : 200px;
    margin : 10px;
}
.site-header__navis{
    margin-right : 10px;
    margin-bottom : 10px;
}
@media screen and (max-width: 1240px){
    .site-header{
        display : block;
    }
    .site-header__navis{
        margin-top : -2.5em;
    }
}
@media screen and (max-width: 768px) {
    .site-header{
        padding-left : 10px;
        min-height : 60px;
        /*max-height : 60px;*/
		max-height : 70px;
    }
    .site-header__logo{
        max-width : 75%;
        margin-left : 0;
    }
    .site-header__logo > img{
        max-height : 40px;
        width : auto;
    }
    .site-header__navis{
        display : none;
    }
}


/**************************************

header サイトナビ

***************************************/
.navi-site{
    display : flex;
    justify-content: flex-end;
    margin-bottom : 15px;
}
.navi-site__menu{
    margin-left : 2em;
    font-size : 0.75rem;/*12px*/
    color : #2d2d2d;
}
.navi-site__menu:hover{
    color : #e70012;
}
.navi-site__menu:before{
    content : "▼";
    display : inline-block;
    font-size : 0.5rem;/*8px*/
    transform: rotate(-90deg);
    margin-right : .5em;
}


/**************************************

header コンテンツナビ

***************************************/
.navi-content{
    display : flex;
    justify-content: flex-end;
}

.navi-content__menu{
    margin-left : 1.5em;
    text-align : center;
    position : relative;
}
.f-mincho{
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", 'Sawarabi Mincho', "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media screen and (min-width: 1031px) {
    .menu_icon{
        background : url('/asset/images/common/icon-bild.png') no-repeat;
        background-position: right top;
        padding-right: 23px;
    }
    .menu_icon02{
        background : url('/asset/images/common/icon-bild.png') no-repeat;
        background-position: right top;
        padding-right: 20px;
    }
}

.navi-content__eng{
    display : block;
    font-size : 0.625rem;/*10px*/
    color : #7c7d7c;
    font-weight : normal;
}
.navi-content__link{
    font-weight : bold;
    font-size : 0.937rem;/*15px*/
    color : #2d2d2d;
    cursor : pointer;
}
.navi-content__link_red{
    color : #e70012;
}
.navi-content__submenu{
    display : none;
    position : absolute;
    left : 0;
    width : 220px;
    text-align : left;
    font-size : 0.875rem;
    background : rgba(255,255,255,.9);
    margin-top : 10px;
}
.navi-content__submenu--right{
    right : 0;
    left : auto;
}

.navi-content__submenu > li{
    border-bottom : 1px solid #2d2d2d;
}
.navi-content__submenu > li > a{
    color : #2d2d2d;
    font-weight : bold;
    display : block;
    padding : 8px;
}

.navi-content__submenu > li > a .f-sub{
	font-size : 0.70rem;
	font-weight: normal;
}

.navi-content__submenu > li > a:hover{
    background : rgba(231,0,18,08);
    color : #fff;
}
.navi-content__submenu > li > a:after{
    font-family: 'icomoon';
    content: "\e901";
    position : absolute;
    right : 5px;
    margin-top : 2.5px;
}
@media screen and (max-width: 1240px){
    .navi-content{
        justify-content : space-between;
    }
}
@media screen and (max-width: 1030px){

    .navi-content__link{
        font-size : 0.75rem;
    }
}


/**************************************

footer movieエリア

***************************************/
@media screen and (max-width: 768px) {
	.sp-moviebox{
		padding: 0 3%;
		margin-bottom : 2em;
	}
	.sp-movie{
		box-sizing : border-box;
    	position: relative;
    	width: 100%;
    	padding-top: 56.25%;
	}
	.sp-movie iframe{
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
	}
}
/**************************************

footer 全体

***************************************/
.site-footer{
    background : #141414;
    color : #fff;
    text-align : center;
    font-size : 0.75rem;
}
/**************************************

footer logoエリア

***************************************/
.foote-logoare{
    /*background : url('/asset/images/common/footer_logoarea_bg.jpg') no-repeat;*/
	background : #000;
    position : relative;
    z-index : 1;
    display : flex;
    flex-wrap : wrap;
    justify-content: center;
    align-items: center;
    min-height : 120px;
    font-size : 1rem;
    text-align : left;
    padding : 10px 0;
}
@media screen and (max-width: 768px) {
    .foote-logoare{
        text-align : center;
    }
}
.foote-logoare__logo{
    max-width : 300px;
    margin-right : 50px;
    margin-left : 50px;
}
@media all and (-ms-high-contrast: none) {
    .foote-logoare__logo{
	   margin : 30px 50px 0 50px;
	}
    address{
        margin : 30px 0 0 0;
    }
}
.foote-logoare:before{
    background-color: rgba(0,0,0,0.7);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: '';
    z-index : -1;
}
/**************************************

footer menuエリア

***************************************/
.footer-menu{
    background : #e70012;
    font-size : 1rem;
}

@media screen and (max-width: 768px) {
    .footer-menu{
        position : fixed;
        top : 60px;
        right: 0;
        z-index : 5;
        display : none;
        overflow-y : auto;
        height : 80vh;
    }
}
/**************************************

footer menuオープンボタン
spのみ表示

***************************************/
.h-menu-open-btn {
    display : none;
}
@media screen and (max-width: 768px) {
    .h-menu-open-btn {
        display : block;
        line-height: 1em;
        width: 2.5rem;
        height: 2.5rem;
        position: fixed;
        top: 10px;
        right: 10px;
        font-size: 2.5rem;
        color: #e70012;
        z-index : 5;
    }

    .h-menu-open-btn__close {
        display: inline-block;
    }

    .h-menu-open-btn:after {
        font-family: 'icomoon';
        content: "\e902";
    }

    .h-menu-open-btn__close:after {
        font-family: 'icomoon';
        content: "\e905";
    }
}

/**************************************

footer menuリストエリア

***************************************/
.footer-menulist{
    display : flex;
    justify-content: space-between;
    text-align : left;
    margin : 0 auto;
    padding : 30px 50px;
}
.footer-menulist a{
    color : #fff;
}
.footer-menulist--items{
    max-width : 18%;
}
.footer-menulist--items02{
    max-width : 28%;
}
.footer-menulist--title{
    font-weight : bold;
    margin : 1rem 0;
    position : relative;
    padding-left : 12px;
}
.footer-menulist--title:before{
    content : "▼";
    display : inline-block;
    font-size : 0.5rem;/*8px*/
    transform: rotate(-90deg);
    margin-right : .5em;
    position : absolute;
    left : 0;
    top : 4px;
}
.footer-menulist--list{
    margin-left : 1.5em;
    margin-top : -.5rem;
}
.footer-menulist--list.-subflex{
    display : flex;
    flex-wrap : wrap;
}
.footer-menulist--list.-subflex li{
    width : 50%;
}
@media screen and (max-width: 768px) {
    .footer-menulist{
        display : block;
        padding : 0;
    }
    .footer-menulist--items,
	.footer-menulist--items02{
        max-width : unset;
    }
    .footer-menulist--list{
        display : none;
        margin-top : 1em;
    }
    .footer-menulist--list.-subflex{
        display : none;
    }
    .footer-menulist--list > li > a{
        padding : .6em;
        display : block;
        font-size : 0.875rem;
    }
	.footer-menulist--list > li > a .f-sub{
		font-size : 0.6rem;
	}
    .footer-menulist--title{
        margin : 0;
        font-size : 0;
        line-height : 0;
        border-bottom : 1px solid #fff;
        padding-left : 0;
    }
    .footer-menulist--title__nolink{
        line-height : 1em;
        font-size : 1rem;
        padding : 1rem 2.5rem 1rem 1rem;
        cursor : pointer;
    }
    .footer-menulist--title__nolink:after{
        font-family: 'icomoon';
        content: "\e900";
        position : absolute;
        right : 0;
        top : 0.25em;
        z-index : 2;
        font-size : 2rem;
        line-height : 1em;
        display : inline-block;
        opacity : .8;
    }
    .footer-menulist--title > a{
        display : inline-block;
        width : 100%;
        font-size : 1rem;
        padding : 1rem 2.5rem 1rem 1rem;
        line-height : 1em;
        z-index : 1;
        box-sizing : border-box;
    }
    .footer-menulist--title > a:after {
        font-family: 'icomoon';
        content: "\e901";
        position : absolute;
        right : 0;
        top : 0.25em;
        z-index : 2;
        font-size : 2rem;
        line-height : 1em;
        display : inline-block;
        opacity : .8;
    }
    .footer-menulist--title:before{
        content : "";
    }


}

/**************************************

footer サイトナビ

***************************************/
.footer-site-nav{
    display : flex;
    justify-content: flex-end;
    padding : 1em;
    font-size : 0.875rem;
}
.footer-site-nav > li > a{
    color : #fff;
}
.footer-site-nav > li:after{
    content : "|";
    display : inline-block;
    margin : 0 .5em;
}
.footer-site-nav > li:last-child:after{
    content : none;
}
@media screen and (max-width: 768px) {
    .footer-site-nav{
        display : block;
        text-align : left;
    }
    .footer-site-nav > li:after{
        content : none;
    }
    .footer-site-nav > li > a{
        padding : .5em 1em;
        display : block;
    }

}


/**************************************

footer コピーライト

***************************************/

.footer-copy{
    padding : 1em;
}

/**************************************

footer ページトップ

***************************************/
.page-top-mark{
    width : 70px;
    height : 70px;
    position : fixed;
    bottom : 20px;
    right: -80px;
    z-index : 3;
    background : rgba(0,0,0,.7);
    border-radius : 100px;
    text-align : center;
}
.page-top-mark > a{
    font-size : 0.5rem;
    color : #fff;
    display : block;
    height : 100%;
}
.page-top-mark > a:before{
    font-family: 'icomoon';
    content : "\e906";
    font-size : 3rem;
    display : block;
    padding : 0;
    margin : 0;
    line-height : 1em;
}
@media screen and (max-width: 768px) {
    .page-top-mark {
        width: 40px;
        height: 40px;
    }
    .page-top-mark > a:before{
        font-size : 2rem;
        padding-top : 5px;
    }
}