* {
    padding: 0;
    margin: 0;
    list-style: none;
}

a {
    text-decoration: none;
}

img {
    vertical-align: top;
    width: 100%;
}

body {
    font-family: 'Zen Old Mincho', serif;
    overflow-x: hidden;
    color: #0e0e0e;
}

.menu-wrap {
    font-family: 'Zen Antique', serif;
}

#page-top {
    display: block;
    margin: 0 auto;
    text-align: center;
    transition: all .3s ease;
}

p#page-top a img {
    max-width: 93px;
}

#page-top:hover {
    transform: scale(1.1);
}

a.logo {
    display: block;
    margin-right: 15px;
}

.logo-wrap {
    display: flex;
    align-items: center;
}

a.logo img {
    max-width: 156px;
}

.header-white {
    background-color: #fff;
}

.header-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

p.logo-txt {
    font-size: 14px;
    line-height: 1.3;
}

p.tel {
    font-size: 18px;
    font-weight: bold;
    position: relative;
    padding-left: 18px;
    line-height: 1.2;
    color: #0e0e0e;
}

p.tel a {
    color: #0e0e0e;
}

p.fax {
    color: #0e0e0e;
}

p.fax a {
    color: #0e0e0e;
}

.foot-address-wrap {
    color: #0e0e0e;
}

p.tel:before {
    content: '';
    background-image: url(../img/tel.png);
    background-size: contain;
    display: inline-block;
    width: 15px;
    height: 15px;
    background-repeat: no-repeat;
    position: absolute;
    left: 0px;
    top: 4px;
}

.tel-address {
    padding: 13px 0 10px;
}

p.address {
    font-size: 14px;
}

.tel-address-wrap {
    display: flex;
    align-items: flex-start;
}

.head-contact-btn-wrap {
    width: 270px;
    position: relative;
}

a.head-contact-btn {
    display: block;
    width: 237px;
    background-color: #c13036;
    color: #fff;
    border-radius: 0 0 10px 10px;
    position: absolute;
    top: 0;
    right: 0;
    padding: 21px 0 21px 40px;
    text-align: center;
    box-sizing: border-box;
    font-family: 'Zen Antique', serif;
}

a.head-contact-btn:before {
    content: '';
    background-image: url(../img/mail.png);
    background-size: contain;
    display: inline-block;
    width: 23px;
    height: 23px;
    position: absolute;
    left: 54px;
    background-repeat: no-repeat;
    top: 22px;
}

.menu-wrap {
    background-color: black;
}

.hover {
    transition: .7s;
}

.hover:hover {
    opacity: .7;
}

ul.menu {
    max-width: 1100px;
    margin: auto;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

ul.menu li a {
    display: block;
    color: #fff;
    font-size: 18px;
    text-align: center;
    padding: 16px 0;
    position: relative;
    transition: .7s;
}

ul.menu li a:hover {
    background-color: #2c2c2c;
    /* color: #c13036; */
}

ul.menu li {
    width: 20%;
}

ul.menu li+li {
    border-left: 1px solid #fff;
}

.mainv-wrap {
    background-image: url(../img/mainv.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
    height: 654px;
    box-sizing: border-box;
}

.mainv {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    padding-top: 95px;
}

.mainv-txt.pc {
    text-align: center;
    padding-bottom: 20px;
}

.mainv-txt.pc img {
    max-width: 670px;
}

.mainv-logo {
    text-align: center;
}

.mainv-logo img {
    max-width: 752px;
}

p.day {
    font-weight: bold;
}

p.news-icon {
    margin-left: 16px;
    width: 79px;
    font-size: 15px;
    background-color: #c13036;
    text-align: center;
    line-height: 1;
    border: 1px solid #fff;
    padding: 1px 0 2px;
    color: #fff;
}

p.news-txt {
    margin-left: 15px;
    font-size: 16px;
}

.day-icon-wrap {
    display: flex;
    align-items: baseline;
}

a.news {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 35px;
    background-color: black;
    display: flex;
    align-items: baseline;
    color: #fff;
    font-size: 16px;
    padding: 15px 24px;
    box-sizing: border-box;
    max-width: 1100px;
    margin: 0 auto;
    width: 95%;
}

a.news:after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -3px;
    transform: rotate(45deg);
    transition: .7s;
}

a.news:hover:after {
    right: 12px;
}

h2.top-title {
    text-align: center;
}

h2.top-title img {
    max-width: 500px;
}

.top-about-wrap {
    padding: 89px 0 94px;
    max-width: 1100px;
    margin: 0 auto;
}

.top-about-wrap h2.top-title {
    padding-bottom: 43px;
}

.top-about-txt {
    font-size: 21px;
    padding-bottom: 53px;
    line-height: 2.5;
    text-align: center;
}

a.btn span {
    font-size: 18px;
}

a.btn {
    width: 401px;
    font-size: 24px;
    display: block;
    margin: 0 auto;
    text-align: center;
    padding: 27px 0;
    background-color: #c13036;
    color: #fff;
    border-radius: 90px;
    position: relative;
    font-family: 'Zen Antique', serif;
}

a.btn:after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    right: 30px;
    margin-top: -3px;
    transform: rotate(45deg);
    transition: .7s;
}

.comingsoon {
    text-align: center;
    margin: 75px auto 0;
}

.comingsoon img {
    max-width: 850px;
}

.top-introduction-wrap {
    background-color: #e8e8e8;
    padding: 83px 0 80px;
}

.top-introduction {
    max-width: 874px;
    margin: 0 auto;
}

.top-introduction h2.top-title {
    margin-bottom: 60px;
}

ul.introduction-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 38px;
}

ul.introduction-list li {
    padding: 28px;
    box-sizing: border-box;
    background-color: #fff;
    width: 100%;
    margin-bottom: 24px;
}

.introduction-li.tyou {
    margin-right: 59px;
}

li.tyou .introduction-img img {
    max-width: 200px;
}

li.tyou .introduction-img {
    margin-right: 46px;
}

.introduction-flex {
    display: flex;
}

.introduction-txt-wrap {
    max-width: 572px;
    width: 100%;
}

.introduction-txt-wrap h3 {
    font-size: 21px;
    padding-bottom: 7px;
    border-bottom: 1px solid;
    margin-bottom: 16px;
}

li.other .introduction-img img {
    max-width: 164px;
}

.introduction-img {
    text-align: center;
}

ul.introduction-list li.other {
    padding: 14px 20px 20px;
    max-width: 425px;
}

li.other .introduction-txt-wrap h3 {
    font-size: 18px;
    margin: 0px 0 15px;
    padding-bottom: 9px;
}

li.other .introduction-txt-wrap {
    max-width: 400px;
    margin: 0 auto;
}

ul.introduction-list h4 {
    margin-bottom: 9px;
    font-size: 17px;
}

ul.introduction-list li.other h4 {
    margin-bottom: 6px;
    font-size: 16px;
}

.top-flow-wrap {
    padding: 75px 0 81px;
    max-width: 1100px;
    margin: 0 auto;
}

.top-flow-wrap .comingsoon {
    margin: 55px auto 69px;
}

.top-contact-wrap h2 img {
    max-width: 265px;
    padding: 75px 0 49px;
}

.top-contact-wrap {
    background-image: url(../img/top-contact-bk.jpg);
    text-align: center;
    background-size: cover;
    padding-bottom: 75px;
    color: #fff;
}

p.top-contact-txt {
    padding-bottom: 41px;
    line-height: 2;
    font-size: 23px;
}

a.btn.hover.top-contact-btn {
    background-color: #fff;
    color: #c13036;
    /* font-weight: bold; */
    box-shadow: 0 10px 11px 0 rgba(0, 0, 0, .5);
}

a.btn:after {
    border-top: solid 2px #c13036;
    border-right: solid 2px #c13036;
}

footer {
    background-image: url(../img/foot-bk.jpg);
    background-size: cover;
    background-position: center bottom;
}

ul.foot-menu-2 li {
    margin: 0 6px;
}

ul.foot-menu-2 {
    font-size: 13px;
    text-align: center;
    margin-top: 12px;
    line-height: 1.6;
    font-family: 'Zen Antique', serif;
    /* display: flex; */
    /* justify-content: center; */
}

ul.foot-menu-2 a {
    color: #0e0e0e;
}

.foot-inner {
    padding: 58px 0 35px;
    max-width: 1100px;
    margin: 0 auto;
}

ul.foot-menu a {
    color: #0e0e0e;
    font-family: 'Zen Antique', serif;
}

ul.foot-menu {
    max-width: 760px;
    margin: 50px auto 44px;
    font-size: 16px;
    display: flex;
    justify-content: space-between;
}

a.foot-logo {
    text-align: center;
    display: block;
}

a.foot-logo img {
    max-width: 233px;
}

.foot-address-wrap {
    max-width: 206px;
    margin: 22px auto 0;
}

.foot-address-wrap p.tel {
    max-width: 134px;
    margin: 8px auto 3px;
}

p.fax {
    font-size: 16px;
    font-weight: bold;
    position: relative;
    line-height: 1.2;
    max-width: 145px;
    margin: 0 auto 6px;
}

p.foot-address {
    font-size: 15px;
}

p.time {
    font-size: 14px;
    text-align: center;
}

p.copy {
    background-color: black;
    color: #fff;
    text-align: center;
    font-size: 12px;
    padding: 4px 0;
}

@media screen and (min-width:700px) and (max-width:1150px) {}

/*1000以下*/
@media screen and (max-width: 1100px) {
    .sp {
        display: block;
    }

    .pc,
    .tel-address {
        display: none;
    }

    a.logo img {
        max-width: 116px;
    }

    a.logo.hover {
        padding: 10px 0 10px 12px;
    }

    a.sp-contact-btn,
    .sp-menu {
        width: 60px;
        display: block;
    }

    header {
        display: flex;
        justify-content: space-between;
        position: fixed;
        width: 100%;
        background-color: #fff;
        z-index: 500;
        position: fixed;
        box-shadow: 0 0px 5px 0 rgba(0, 0, 0, .5);
    }

    .sp-menu-wrap {
        position: relative;
    }

    .sp-btn-wrap {
        display: flex;
    }

    .menu-trigger-wrap {
        width: 90%;
        margin: 0 auto;
        position: relative;
    }

    .menu-trigger {
        position: absolute;
        cursor: pointer;
        width: 40px;
        height: 40px;
        z-index: 200;
        top: 1px;
        right: 0;
        left: 0;
        margin: 0 auto;
    }

    /*ボタン内側*/
    .menu-trigger span {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 0;
        height: 3px;
        background: #fff;
        width: 28px;
        right: 0;
        margin: 0 auto;
    }

    .p-menu-wrap {
        position: relative;
    }

    .menu-trigger span:nth-of-type(1) {
        top: 11px;
    }

    .menu-trigger span:nth-of-type(2) {
        top: 20px;
    }

    .menu-trigger span:nth-of-type(3) {
        top: 29px;
    }

    /*activeクラスが付与されると線が回転して×に*/

    .menu-trigger.active span:nth-of-type(1) {
        top: 13px;
        transform: translateY(6px) rotate(-45deg);
        /* width: 30%; */
    }

    .menu-trigger.active span:nth-of-type(2) {
        opacity: 0;
        /*真ん中の線は透過*/
    }

    .menu-trigger.active span:nth-of-type(3) {
        top: 25px;
        transform: translateY(-6px) rotate(45deg);
        /* width: 30%; */
    }

    nav {
        width: 100%;
        height: 100%;
        background-color: black;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 150;
        transform: translateY(-100%);
        transition: all .5s;
        color: #fff;
    }


    nav.open {
        padding: 60px 0 0;
        z-index: 400;
        transform: translateZ(0);
    }

    .mainv-txt.sp {
        text-align: center;
        margin-bottom: 21px;
    }

    .mainv-txt.sp img {
        max-width: 241px;
    }

    .mainv-logo img {
        max-width: 330px;
    }

    .mainv {
        padding-top: 122px;
    }

    .mainv-wrap {
        height: 560px;
    }

    p.news-txt {
        margin-left: 0;
        font-size: 13px;
    }

    p.news-icon {
        margin-left: 11px;
        width: 70px;
        font-size: 12px;
        padding: 1px 0 2px;
    }

    a.news {
        max-width: 500px;
        width: 95%;
        font-size: 14px;
        padding: 11px 14px;
        display: block;
        line-height: 1.6;
        bottom: 21px;
    }

    a.news:after {
        content: '';
        width: 5px;
        height: 5px;
    }

    h2.top-title img {
        max-width: 281px;
    }

    .top-about-wrap {
        padding: 53px 0 58px;
    }

    .top-about-wrap h2.top-title {
        padding-bottom: 27px;
    }

    .top-about-txt {
        font-size: 15px;
        padding-bottom: 34px;
        line-height: 2.2;
    }

    .comingsoon {
        text-align: center;
    }

    .comingsoon img {
        max-width: 500px;
        width: 93%;
    }

    a.btn {
        width: 247px;
        font-size: 16px;
        padding: 16px 0;
    }

    a.btn span {
        font-size: 12px;
    }

    .comingsoon {
        margin: 42px auto 0;
    }

    .comingsoon {
        width: 95%;
        max-width: 359px;
        margin: 45px auto 0;
    }

    .top-introduction-wrap {
        padding: 42px 0 48px;
    }

    .top-introduction h2.top-title {
        margin-bottom: 36px;
    }

    ul.introduction-list {
        display: block;
        max-width: 315px;
        margin: 0 auto 39px;
    }

    ul.introduction-list li {
        padding: 20px 20px;
        margin-bottom: 0;
    }

    .introduction-flex {
        display: block;
    }

    li.tyou .introduction-img img {
        max-width: 140px;
    }

    li.tyou .introduction-img {
        margin-right: 0;
        text-align: center;
        margin-bottom: 13px;
    }

    .introduction-txt-wrap h3 {
        font-size: 17px;
        padding-bottom: 7px;
        border-bottom: 1px solid;
        margin-bottom: 11px;
    }

    p.introduction-txt {
        font-size: 14px;
    }

    ul.introduction-list h4 {
        margin-bottom: 6px;
        font-size: 15px;
    }

    .dot.sp {
        text-align: center;
        margin: 10px auto;
    }

    .dot.sp img {
        max-width: 9px;
    }

    li.other .introduction-txt-wrap h3 {
        font-size: 15px;
        margin: 0 0 11px;
        padding-bottom: 5px;
        border-bottom: 1px solid;
    }

    li.other .introduction-img img {
        max-width: 127px;
    }

    ul.introduction-list li.other h4 {
        margin-bottom: 6px;
        font-size: 14px;
    }

    ul.introduction-list li.other .introduction-txt {
        font-size: 13px;
    }

    ul.introduction-list li.other {
        padding: 10px 19px 12px;
        max-width: 278px;
        margin: 0 auto 15px;
    }

    .top-flow-wrap {
        padding: 43px 0 44px;
    }

    .top-flow-wrap .comingsoon {
        margin: 31px auto 36px;
    }

    .top-contact-wrap h2 img {
        max-width: 151px;
        padding: 45px 0 25px;
    }

    p.top-contact-txt {
        padding-bottom: 34px;
        line-height: 2;
        font-size: 17px;
    }

    .top-contact-wrap {
        padding-bottom: 49px;
    }

    p#page-top a img {
        max-width: 65px;
    }

    .foot-inner {
        padding: 36px 0 21px;
    }

    ul.foot-menu a {
        text-align: center;
        display: block;
        width: 90px;
    }

    ul.foot-menu {
        max-width: 185px;
        margin: 25px auto 36px;
        font-size: 14px;
        display: flex;
        flex-wrap: wrap;
        text-align: center;
        line-height: 2;
        justify-content: center;
    }

    a.foot-logo img {
        max-width: 135px;
    }

    p.foot-address {
        font-size: 12px;
    }

    .foot-address-wrap p.tel {
        max-width: 107px;
        margin: 8px auto 8px;
        font-size: 14px;
    }

    p.time {
        font-size: 11px;
    }

    .foot-address-wrap {
        max-width: 183px;
        margin: 15px auto 0;
    }

    p.copy {
        font-size: 10px;
        padding: 4px 0;
    }

    ul.nav-menu {
        border-top: 1px solid;
    }

    ul.nav-menu li a {
        color: #fff;
        padding: 16px 25px;
        display: block;
        font-size: 15px;
        position: relative;
        border-bottom: 1px solid #fff;
    }

    ul.nav-menu li a:after {
        content: '';
        width: 5px;
        height: 5px;
        border: 0;
        border-top: solid 2px #c13036;
        border-right: solid 2px #c13036;
        position: absolute;
        top: 50%;
        right: 22px;
        margin-top: -3px;
        transform: rotate(45deg);
        transition: .7s;
    }

}

/*PC*/

@media only screen and (min-width:1100px) {
    .pc {
        display: block;
    }

    .sp {
        display: none;
    }

    header {
        z-index: 500;
        position: relative;
    }

}