@charset "utf-8";

@font-face{
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff2) format('woff2'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff) format('woff'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.otf) format('opentype');
}
/* @font-face{
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:700;
    font-display:swap;
    src:url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff2) format('woff2'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff) format('woff'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.otf) format('opentype');
} */
/* @font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff2) format('woff2'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff) format('woff'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.otf) format('opentype');
} */
/* @font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 500;
    src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff2) format('woff2'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff) format('woff'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.otf) format('opentype');
} */
/* @font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff2) format('woff2'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff) format('woff'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.otf) format('opentype');
} */

/*==============================
    基本設定
==============================*/
body{
    color:#333;
    font-size:12px;
    font-family:'Noto Sans JP', sans-serif;
    margin:0;
    padding:0;
    text-align:left;
    background:#fff;
    -webkit-text-size-adjust:100%;
    position:relative;
    word-break:break-all;
}

body *, body *::before, body *::after{box-sizing:border-box;}
img{vertical-align:bottom;}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
th{
    font-weight:normal;
    text-align:left;
}

/*font layout*/
.fBold{font-weight:bold;}
.fSerif{font-family:'Noto Serif Japanese', serif;}
.fRoboto{font-family:'Roboto', sans-serif;}

/*rollover*/
.ro a:hover,
a.ro:hover,
a .ro:hover{ filter:alpha(opacity=80);opacity:0.8; }
.ro a,
a.ro,
a .ro{
    -webkit-transition: opacity 0.2s ease-out;
    -moz-transition: opacity 0.2s ease-out;
    -ms-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
}

/*rollover(brightnessによる変化)*/
.brt a:hover,a.brt:hover,a .brt:hover{ -webkit-filter: brightness(1.1);filter: brightness(1.1); }
.brt a,
a.brt,
a .brt{
    -webkit-transition: filter 0.2s ease-out;
    -moz-transition: filter 0.2s ease-out;
    -ms-transition: filter 0.2s ease-out;
    transition: filter 0.2s ease-out;
}

/*ro無効化*/
.ro .no_ro a:hover,
.ro a.no_ro:hover{ filter:alpha(opacity=100);opacity:1; }

/*========================================
    レスポンシブ用(不要な場合は削除)
========================================*/
.spOnly,
.brSp,
.imgSp{
    display:none;
}
@media only screen and (max-width:767px){
    .spNone,
    .brPc,
    .imgPc{
        display:none;
    }
    .spOnly{
        display:block;
    }
    .brSp,
    .imgSp{
        display:inline;
    }
    .imgR{
        width:100%;
        height:auto;
    }
}

/*-----------------------------------------------
    imgCover
-----------------------------------------------*/
/* imgCover */
.imgCover,
.imgFit{
    position:relative;
}
.imgCover img{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    display:block;
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
}
.imgFit img {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    object-fit:cover;
    font-family:'object-fit:cover;';
}

/*-----------------------------------------------
    wrapper
-----------------------------------------------*/
.wrapper880{
    width:880px;
	margin:0 auto;
}
.wrapper1000{
	width:calc(100% - 40px);
    max-width:1000px;
	margin:0 auto;
}
.wrapper1100{
	width:1100px;
	margin:0 auto;
}
.wrapper1200{
	width:calc(100% - 40px);
    max-width:1200px;
	margin:0 auto;
}
.wrapper1280{
	width:calc(100% - 40px);
    max-width:1280px;
	margin:0 auto;
}
.wrapper1300{
	width:calc(100% - 40px);
    max-width:1300px;
	margin:0 auto;
}
.wrapper1380{
	width:calc(100% - 40px);
    max-width:1380px;
    margin:0 auto;
}
.wrapper1680{
	width:1680px;
	margin:0 auto;
	max-width:calc(100% - 40px);
}
@media only screen and (max-width:767px){
    .wrapper880,
	.wrapper1000,
	.wrapper1100,
	.wrapper1200,
	.wrapper1280,
    .wrapper1300,
	.wrapper1380,
	.wrapper1680{
		width:100%;
		max-width:none;
	}
	.wrapperSp355{
		width:94.67%;
		margin:0 auto;
	}
	.wrapperSp{
		width:92%;
		margin:0 auto;
	}
	.wrapperSp335{
        width:89.334%;
        margin:0 auto;
	}
}
/*-----------------------------------------------
	secCmnNextLoad
-----------------------------------------------*/
.secCmnNextLoad {
    margin: 50px auto 0;
  width: 330px;
}
.secCmnNextLoad .icoLoader {
  display: none;
  margin: 0 auto;
  padding: 24px 0;
  width: 32px;
  height: 70px;
}

@media only screen and (max-width: 767px) {
  .secCmnNextLoad {
    margin: 30px auto 0;
    width: 205px;
  }
  .secCmnNextLoad .icoLoader {
    padding: 18px 0 0;
    width: 24px;
    height: 50px;
  }
}


/*-----------------------------------------------
    btn
-----------------------------------------------*/
.btnForm {
    background: #aa0139;
    width: 360px;
    height: 60px;
    border-radius: 30px;
    margin: 30px auto 0;
    color: #fff;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 1px;
    text-align: center;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media only screen and (max-width: 767px) {
    .notF.btnForm,
    .secLoginForm .btnForm {
		font-size: 14px;
        height: 50px;
		letter-spacing: 1px;
		width: 85.51%;
		padding: 23px 0 22px;
		margin: 35px auto 0;
	}
}

/*-----------------------------------------------
    secTop
-----------------------------------------------*/
.secTop .logo{
    margin-top: 25px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .secTop .logo{
        margin-top: 5px;
    }
    .secTop .logo img{
        width: 67px;
        height: auto;
    }
}
.boxDataNone{
    padding:50px 0;
    text-align: center;
    font-size: 13px;
}
/*-----------------------------------------------
    secIndex
-----------------------------------------------*/
.secIndex{
    margin: 30px auto 0;
}
.secIndex .txtBox{
    text-align: center;
}
.secIndex .txtBox .titJp{
    position:relative;
    font-size: 16px;
    margin: 26px auto;
    padding-bottom: 29px;
    font-weight: 500;
}
.secIndex .txtBox .titEng {
    font-size: 36px;
}
.secIndex .txtBox .titJp::after{
   content:"";
   display:block;
   width:30px;
   height:3px;
   background-color:#aa0139;
   position:absolute;
   bottom:0;
   left:0;
   right: 0;
   margin: auto;
}
.secIndex .txtBox .boxCenter{
    text-align: center;
    padding-bottom: 100px;
}
.secIndex .txtBox .boxCenter .titMain {
    font-weight: 700;
    font-size: 22px;
    line-height: 46px;
    letter-spacing: 2px;
}
.secIndex .txtBox .boxCenter  .txtOk {
    font-size: 16px;
    margin-top: 40px;
    line-height: 1.8;
    letter-spacing: 1.5px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .secIndex{
        margin: 18px auto 0;
    }
    .secIndex .txtBox{
        text-align: center;
    }
    .secIndex .txtBox .titEng img{
        margin: 0 auto;
    }
    .secIndex .txtBox .titJp{
        font-size: 14px;
        margin: 15px auto 30px;
        padding-bottom: 20px;
    }
    .secIndex .txtBox .titJp::after{
       width:22px;
       height:3px;
    }
    .secIndex .txtBox .boxCenter{
        text-align: center;
        padding-bottom: 50px;
    }
    .secIndex .txtBox .boxCenter .titMain {
        font-size: 15px;
        line-height: 2;
        letter-spacing: 0;
    }
    .secIndex .txtBox .boxCenter  .txtOk {
        font-size: 14px;
        margin-top: 30px;
        line-height: 24px;
        letter-spacing: 0.5px;
    }
}
/*-----------------------------------------------
    footer
-----------------------------------------------*/
#footer {
    background-color: #fff;
    padding-top: 90px;
    text-align: center;
    
}
#footer .boxCompany .txtAdrs{
    margin-top: 20px;
    font-size:13px;
    letter-spacing: 2px;
}
#footer .boxContact{
    margin: 50px auto 60px;
}
#footer .boxContact .num{
    font-size: 31px;
    letter-spacing: 1.5px;
}
#footer .boxContact .num a{
    text-decoration: none;
    color: #000;
    vertical-align: middle;
    pointer-events: none;
    font-weight: 500;
}
#footer .boxContact .tel{
    font-size: 12px;
    padding: 4px;
    border: 1px solid #000;
    vertical-align: middle;
    margin-right: 10px;
}
#footer .boxContact .time{
    font-size: 11px;
    margin-top: 11px;
}
#copyright{
    font-size: 11px;
    margin-bottom: 95px;
    letter-spacing: 1.5px;
}
@media only screen and (max-width:767px){
    #footer {
        padding-top: 50px;
    }
    #footer img{
        margin: 0 auto;
    }
    #footer .boxCompany .txtAdrs{
        margin-top: 14px;
        font-size:11px;
    }
    #footer .boxContact{
        margin: 18px auto 30px;
    }
    #copyright{
        margin-bottom: 50px;
        letter-spacing: 0;
    }
    #footer .boxContact .num a{ 
        pointer-events: auto;
    }
}