@charset "utf-8";

/* 一部一致 */
[class*="test"]{

}
@font-face {
    font-family: 'NotoSansCJKjp';
    src: url("../font/NotoSansCJKjp-Black.woff") format('opentype');
    font-style: normal;
    font-weight: 900;
}
@font-face {
    font-family: 'NotoSansCJKjp';
    src: url("../font/NotoSansCJKjp-Bold.woff") format('opentype');
    font-style: normal;
    font-weight: 500;
}
@font-face {
    font-family: 'NotoSansCJKjp';
    src: url('../font/NotoSansCJKjp-Regular.woff') format('opentype');
    font-style: normal;
    font-weight: 300;
}
/* commonの共通 
====================*/
body{
    min-width: 1420px;
    width: 100%;
    margin: 0 auto;
    background: url("../img/common/bg.jpg");
    font-family: 'NotoSansCJKjp', 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    font-weight: 300;
    letter-spacing: 0.1em;
    color: #fff;
}
p{
    line-height: 1.87;
}
@media all and (-ms-high-contrast: none) {
    main{ 
        display: block;
    }
}
img{
    max-width: 100%;
    height: auto;
}
/* レスポンシブの為の調整 */
.pc_display,
.sp_br{
    display: none;
}
/* 外枠使いまわし
====================*/
/* 2560px用 */
.outer{
    max-width: 2560px;
    width: 100%;
    margin: 0 auto;
}
/* 1080px用 */
.subouter{
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
}
/* pc用Tel解除
====================*/
a[href^="tel:"] {
    pointer-events: none;
    vertical-align: initial;
}
/* flex
====================*/
.flex{
    display: flex;
    flex-wrap: wrap;
}
.flexbox{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
/* パンくずリスト 
====================*/
.breadcrumbs{
    padding: 10px 0;
}
.breadcrumbs ul{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.breadcrumbs li{
    color: #fff;
}
.breadcrumbs_list{
    width: 60%;
    line-height: 1;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.breadcrumbs li a{
    display: block;
    transition: .3s;
}
.breadcrumbs li a:hover{
    opacity: .8;
    transition: .3s;
}
.breadcrumbs li a:after{
    content: "";
    display: inline-block;
    margin: 0 10px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    vertical-align: 1px;
}
/* ページネーション
====================*/
.pagenation{
    display: flex;
    justify-content: center;
    margin: 0 auto;
}
.pagenation li{
    margin: 0 5px;
}
.pagenation li span,
.pagenation li a{
    padding: 10px;
    display: block;
    background-color: #fff;
    border: 1px solid #434343;
}
.pagenation li span,
.pagenation li:hover a{
    color: #fff;
}
.pagenation li span,
.pagenation li a:hover{
    background-color: #434343;
}
.post_none{
    margin-bottom: 30px;
    text-align: center;
    font-size: 1.8rem;
}
.top_post_none{
    font-size: 1.4rem;
    color: #fff;
}
/* ホバー
====================*/
.opacity{
    transition: .3s;
}
.opacity:hover{
    opacity: .7;
    transition: .3s;
}
.underline:hover{
    text-decoration: underline;
}
/* topに戻る
====================*/
#topBtn{
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    background: url("../img/common/page_top.png") no-repeat;
    background-size: contain;
    cursor: pointer;
    z-index: 90;
}
/* h3共通
====================*/
.cmn_ttl{
    margin-bottom: 40px;
    text-align: center;
    font-size: 3rem;
    font-weight: 900;
}
.cmn_ttl span{
    display: block;
    padding-top: 8px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #84239c;
}
/* header
====================*/
header{
    width: 100%;
    position: fixed;
    top: 0;
    background: url("../img/common/bg.jpg");
    z-index: 100;
}
header .head{
    align-items: center;
}
header .inner{
    align-items: center;
}
header .add{
    margin-right: 10px;
}
header .add dl{
    display: flex;
    align-items: baseline;
    margin-bottom: 2px;
}
header .add dt{
    margin-right: 2px;
    font-weight: 500;
    line-height: 1.3;
}
header .add dd{
    line-height: 1;
}
header .tel dt{
    font-size: 1.8rem;
    color: #f16109;
}
header .tel dd{
    font-size: 1.4rem;
}
header .tel a{
    color: #f16109;
    font-size: 2.3rem;
}
header .link{
    display: flex;
    flex-direction: column;
}
header .mail{
    display: inline-block;
    margin-bottom: 10px;
    padding: 10px 10px 8px 40px;
    background: #84239c url("../img/common/mail_icn.png") center left 8px no-repeat;
}
header .line{
    padding: 5px;
    background-color: #2cc014;
    text-align: center;
}
.head_nav a{
    display: block;
    padding: 14px;
    font-weight: 500;
    letter-spacing: 0.14;
    transition: .3s;
}
.head_nav a:hover{
    color: #fee53d;
    transition: .3s;
}
.show ul{
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
}
.hero{
    position: relative;
    height: 800px;
    
    background: url("../img/top/visual_bg.png") center no-repeat;
    background-size: cover;
}
.hero h2{
    position: absolute;
    max-width: 1080px;
    width: 100%;
    margin-top: 120px;
    top: 50%;
    left: 50%;
    transform: translate( -50%, -50%);
}
.sub_hero{
    position: relative;
    height: 180px;
    margin-top: 120px;
    background: url("../img/top/visual_bg.png") center no-repeat;
    background-size: cover;
}
.sub_hero h2{
    position: absolute;
    max-width: 1080px;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate( -50%, -50%);
    font-size: 4rem;
}
/* footer
====================*/
footer{
    padding: 50px 0 25px;
    background-color: #000;
    text-align: center;
}
footer .logo{
    margin-bottom: 25px;
}
footer .add p{
    margin-bottom: 10px;
}
footer .add .add_inner{
    align-items: center;
    max-width: 500px;
    width: 100%;
    margin: 0 auto 25px;
}
footer .add dl{
    display: flex;
    align-items: flex-end;
    letter-spacing: 0.06em;
    margin-bottom: 5px;
}
footer .add dt,
footer .add dd{
    font-size: 1.4rem;
    letter-spacing: 0.06em;
}
footer .add dl a{
    font-size: 2.4rem;
}
#aside_link{
    max-width: 790px;
    width: 100%;
    margin: 0 auto 40px;
}
#aside_link a{
    display: block;
    transition: .3s;
}
#aside_link a:hover{
    transform: scale(1.05);
    opacity: 0.8;
    transition: .3s;
}
.copyright{
    display: block;
    text-align: center;
}
.copyright a{
    vertical-align: baseline;
}
