@charset "UTF-8";

/* fundation */

body.style-01{
    font-family: Arial,Helvetica,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    color: #333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.style-01 main div, body.style-01 main p, body.style-01 main h1{
    cursor: default;
}

body.style-01 main a{
    color: #cd3c5b;
}

.mb-0{
    margin-bottom: 0 !important;
}
body.style-01 .mb-s{
    margin-bottom: 10px!important;
}
body.style-01 .mb-xm{
    margin-bottom: 15px!important;
}
body.style-01 .mb-m{
    margin-bottom: 30px !important;
}
body.style-01 .mb-l{
    margin-bottom: 100px !important;
}

body.style-01 .mt-l{
    margin-top: 100px !important;
}

.fs-11{
    font-size: 11px;
}
.fs-12{
    font-size: 12px;
}
.fs-14{
    font-size: 14px;
}
.fs-16{
    font-size: 16px;
}
body.style-01 .bold, body.style-01 .bold *{
    font-weight: bold;
}
body.style-01 .lh-xs{
    line-height: 1;
}
body.style-01 .lh-xm{
    line-height: 1.35;
}
body.style-01 .lh-l{
    line-height: 1.85;
}
.v-middle{
    vertical-align: middle!important;
}
.t-center{
    text-align: center !important;
}

.sp-only{
    display: none;
}

.d-block{
    display: block;
}

/* fundation sp */
@media (max-width: 600px) {
    body.style-01 .mb-s{
        margin-bottom: 10px!important;
    }
    body.style-01 .mb-m{
        margin-bottom: 15px !important;
    }
    body.style-01 .mb-l{
        margin-bottom: 20px !important;
    }
    body.style-01 .mb-l_sp{
        margin-bottom: 20px !important;
    }

    .fs-8_sp{
        font-size: 8px;
    }
    /* .fs-12_sp{
        font-size: 12px;
    } */
    .fs-12_sp {
    	font-size: 10px;
    	background-color: #c9bc9c;
    	display: inline-block;
    	color: #fff;
    	padding: 2px 5px 1px;
    }
    .fs-14_sp{
        font-size: 14px;
    }
    .fs-15_sp{
        font-size: 15px;
    }

    .sp-only{
        display: inline-block;
    }
    .sp-except{
        display: none !important;
    }

    body.style-01 main a.sp-only {
      color: #000;
    }

    body.style-01 .mb-xm {
    	margin-bottom: 5px !important;
    }

}


/* common layout */
body.style-01 .common-inner{
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
    overflow: hidden;
}

/*body.style-01 .col-2_pc{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 20px;
}*/
body.style-01 ul.col-2_pc li{
    margin: 0 0 10px;
}

/* common parts */
body.style-01 .alpha{
    transition: opacity .3s;
}
body.style-01 .alpha:hover{
    opacity: .7;
}

/* common parts title1 */
body.style-01 .tit-01{
    position: relative;
    padding: 20px 0 40px 40px;
    font-family: 'Oswald',Arial,Helvetica,sans-serif;
    font-size: 7.88rem;
    letter-spacing: -.05em;
    font-weight: 600;
    line-height: 0.74;
    color: #000;
}

body.style-01 .tit-01.toptitle{
    margin: 0 0 134px !important;
}

body.style-01 .tit-01 .small{
    padding-left: 15px;
    font-size: 3.125rem;
    letter-spacing: 0;
    font-weight: 600;
}
body.style-01 .tit-01 .small.ja{
    display: inline-block;
    padding-left: 20px;
    transform: scale(0.8, 1);
    transform-origin: left;
    vertical-align: 60px;
}

/* common parts title2 */
body.style-01 .tit-02 {
    position: relative;
    padding: 70px 30px 80px;
    text-align: center;
}
/*body.style-01 .tit-02::before {
    content: "";
    position: absolute;
    top: 0;
    left: calc(50% - 230px);
    display: block;
    width: 460px;
    height: 5px;
    background: #000;
}*/
/*body.style-01 .tit-02:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 10px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAJUlEQVQYV2Pct2/ffwYGBgZHR0cQBQeMOCX+//8P1oEOGKknAQDm5Bfv2gOxwQAAAABJRU5ErkJggg==) repeat left top/3px 3px;
}*/

body.style-01 .tit-02 .en{
    margin-bottom: 16px;
    font-size: 2.688rem;
    font-family: 'Oswald',Arial,Helvetica,sans-serif;
    font-weight: 600;
    line-height: 1.2;
}

body.style-01 .tit-02 .text {
    font-size: 0.875rem;
    margin-bottom: 16px;
    line-height: 1.35;
}

body.style-01 .tit-02 .ja{
    font-size: 1.625rem;
    line-height: 1.2;
}

body.style-01 .tit-02 .ja .small{
    font-size: 1.125rem;
    line-height: 1.5;
    margin: 5px 0 15px;
}

body.style-01 .tit-02 .next, .tit-02 .prev{
    display: block;
    position: absolute;
    top: 39px;
    width: 20px;
    height: 20px;
    border-top: 5px solid #cd3c5b;
    border-right: 5px solid #cd3c5b;
}
body.style-01 .tit-02 .next{
    right: 13px;
    transform: rotate(45deg) scale(.9);
}
body.style-01 .tit-02 .prev{
    left: 13px;
    transform: rotate(-135deg) scale(.9);
}

/* common parts title3 */
body.style-01 .tit-03 {
    text-align: center;
    position: relative;
    padding-bottom: 19px;
    margin-bottom: 30px;
}
/*body.style-01 .tit-03:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAJUlEQVQYV2Pct2/ffwYGBgZHR0cQBQeMOCX+//8P1oEOGKknAQDm5Bfv2gOxwQAAAABJRU5ErkJggg==) repeat left top/3px 3px;
}*/

body.style-01 .tit-03 .en {
    font-family: 'Cinzel', serif;
    font-size: 1.813rem;
    display: flex;
    align-items: center;
    line-height: 1;
    margin-bottom: 40px;
}
body.style-01 .tit-03 .en:after, .tit-03 .en:before {
    content: "";
    display: block;
    width: 50%;
    height: 6px;
    flex-shrink: 1;
    border-bottom: 8px dotted #eee;
    /*background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAJUlEQVQYV2Pct2/ffwYGBgZHR0cQBQeMOCX+//8P1oEOGKknAQDm5Bfv2gOxwQAAAABJRU5ErkJggg==) repeat left top/3px 3px;*/
}
body.style-01 .tit-03 .en:before {
    margin-right: 20px;
}
body.style-01 .tit-03 .en:after {
    margin-left: 20px;
}

body.style-01 .tit-03 .jp {
    font-family: "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝B","ＭＳ Ｐ明朝",serif;
    font-size: 1.625rem;
    line-height: 1.5;
    position: relative;
}

/* common parts title4 */
body.style-01 .tit-04{
    font-family: "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝B","ＭＳ Ｐ明朝",serif;
    font-size: 1.625rem;
    display: flex;
    align-items: center;
    line-height: 1.35;
    margin-bottom: 15px;
    background: no-repeat left center/contain;
    border-bottom: 1px solid #000;
}

/* common parts title5 */
body.style-01 .tit-05 {
    font-size: 1.375rem;
    font-weight: bold;
    line-height: 1.35;
    padding: 2px 10px 7px 21px;
    border-bottom: 3px solid #000;
    margin-bottom: 20px;
    position: relative;
}
body.style-01 .tit-05::before, body.style-01 .tit-05::after{
    content: "";
    position: absolute;
    display: block;
}
body.style-01 .tit-05::before {
    top: 27%;
    left: 0;
    width: 8px;
    height: 20px;
    /* border-radius: 50%; */
    margin-top: -6px;
    background: #f2f2f2;
    border: 1px solid #000;
}
/*body.style-01 .tit-05::before {
    top: 50%;
    left: 1px;
    width: 12px;
    height: 5px;
    border-radius: 3px;
    margin-top: -6px;
    background: #000;
}*/
/*body.style-01 .tit-05::after {
    bottom: -3px;
    right: 0;
    width: calc(100% - 62px);
    height: 3px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAGCAYAAADkOT91AAAAKUlEQVQYV2O8fPnyfwYGBgYdHR0QxcCIIfD//3+wiitXrkBUYAgQNAMAOkEc52VhsSAAAAAASUVORK5CYII=) repeat-x center bottom/2px 3px;
}*/

/* common parts button */
body.style-01 .primary-btn{
    display: flex;
    width: 330px;
    min-height: 48px;
    margin-left: auto;
    margin-right: auto;
    padding: 7px 10px 7px;
    border-radius: 5px;
    border-width: 0;
    font-weight: bold;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #cd3c5b;
}

/* common parts tag-info */
body.style-01 .tag-info{
    display: inline-block;
    padding: 8px 11px;
    background: #bebebe;
    color: #fff;
    margin-right: 1px;
    margin-bottom: 1px;
    line-height: 1;
    box-shadow: 0 0 0px 1px #fff inset;
}
body.style-01 .tag-info.red{
    background: #dc143c;
    border: 2px solid #dc143c;
}
body.style-01 .tag-info.blue{
    background: #003eb1;
    border: 2px solid #003eb1;
}
body.style-01 .tag-info.green{
    background: #008000;
    border: 2px solid #008000;
}
body.style-01 .tag-info.orange{
    background: #e77000;
    border: 2px solid #e77000;
}
body.style-01 .tag-info.black{
    background: #333;
    border: 2px solid #333;
}

/* common parts image */
body.style-01 .zoom{
    overflow: hidden;
}

body.style-01 .zoom-img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: transform .4s ease-in-out;
}
body.style-01 .zoom:hover .zoom-img, body.style-01 .active .zoom-img{
    transform: scale(1.08);
}

/* common parts table */
body.style-01 .table-01{
    width: 100%;
    border-top: 1px solid #e3e3e3;
    border-left: 1px solid #e3e3e3;
}

body.style-01 .table-01 th, .table-01 td{
    border-right: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
    padding: 10px 15px;
    line-height: 1.5;
    vertical-align: middle;
}
body.style-01 .table-01 th{
    width: 40%;
    background: #f2f2f2;
}


/* common sp */
@media (max-width: 768px) {
    /* common parts title1 */
    body.style-01 .tit-01{
        font-size: 4.376rem;
    }
    body.style-01 .tit-01 .small{
        font-size: 1.75rem;
    }
}
@media (max-width: 600px) {
    /* common layout */
    /*body.style-01 .col-2_pc{
        display: grid;
        grid-template-columns: repeat(1, minmax(330px, 1fr));
        row-gap: 0;
        column-gap: 20px;
    }*/

    /* common parts title1 */
    body.style-01 .tit-01{
        padding: 20px 0 20px 20px;
        font-size: 2.63rem;
        letter-spacing: -.02em;
    }
    body.style-01 .tit-01 .small{
        padding-left: 8px;
        font-size: 1.5rem;
        vertical-align: 1px;
    }
    body.style-01 .tit-01 .small.ja{
        padding-left: 8px;
        vertical-align: inherit;
    }

    /* common parts title2 */
    body.style-01 .tit-02{
        padding: 30px 0 40px;
    }
    body.style-01 .tit-02::before{
        left: calc(50% - 22px);
        width: 44px;
        height: 2px;
    }
    body.style-01 .tit-02 .en{
        margin-bottom: 8px;
        font-size: 1.625rem;
    }
    body.style-01 .tit-02 .ja{
        font-size: 1rem;
    }
    body.style-01 .tit-02 .ja .small{
        margin-top: 3px;
        margin-bottom: 8px;
        font-size: 0.75rem;
    }
    body.style-01 .tit-02 .tag-info{
        padding: 3px 4px;
    }
    body.style-01 .tit-02 .next, body.style-01 .tit-02 .prev{
        top: 16px;
    }
    body.style-01 .tit-02 .next{
        right: 6px;
        transform: rotate(45deg) scale(.45);
    }
    body.style-01 .tit-02 .prev{
        left: 6px;
        transform: rotate(-135deg) scale(.45);
    }

    /* common parts title3 */
    body.style-01 .tit-03 .jp{
        font-size: 1rem;
        line-height: 1.35;
    }

    /* common parts title5 */
    body.style-01 .tit-05{
        font-size: 1.125rem;
        padding: 0 10px 4px 16px;
        border-bottom-width: 2px;
        margin-bottom: 15px;
    }

    /* common parts table */
    /*body.style-01 .table-01 .bb-0_sp{
        border-bottom-width: 0;
    }*/

    body.style-01 .table-01 {
        font-size: 11px;
    }
}
