@charset "UTF-8";
/* CSS Document */


/* contents-top */

.contents-top {
    width: 100%;
    padding-top: 140px;
}

.contents-top img {
    width: 100%;
    height: auto;
}

.contents-top-wrap {
    position: relative;
    padding-top: 120px;
}

.contents-top-wrap section:not(:last-child) {
    margin-bottom: 120px;
}

.contents02 .box-title h2 {
    font-family: var(--title-font);
    font-weight: var(--base-weight);
    line-height: 1.2;
}

.contents02 .box-title h3 {
    font-family: var(--subtitle-font);
    font-weight: 300;
    line-height: 0.8;
}

.contents-top p {
    line-height: 2.2;
}


/* box-img */

.contents01 .box-img {
    position: relative;
    overflow: hidden;
}

.contents01 .box-img img {
    width: 100%;
    height: auto;
    transition: .5s all;
    z-index: -1;
}

.contents01 .box:hover .box-img img {
    transform: scale(1.2, 1.2);
    transition: .5s all;
    z-index: -1;
}

/* main-img-top */

.main-img-top {
    position: relative;
    width: 100%;
}

.main-img-top::before {
    content: "";
    position: absolute;
    left: 0px;
    bottom: 0px;
    display: block;
    background-image: url("../../images/top/back01.png");
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: auto 100%;
    width: 100%;
    height: 45%;
    z-index: -1;
}

.main-img-top .main-img {
    position: relative;
    width: 92%;
    max-width: 1560px;
}

.main-img-top .box-img {
    clip-path: url(#clip-frame);
}

.main-img-top .box-text-top {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    text-align: center;
}

.main-img-top .box-text-top h2 {
    color: var(--color-main);
    font-family: var(--title-font3);
    font-weight: var(--base-weight);
    font-size: 40px;
    line-height: 1.4;
    letter-spacing: 0.15em;
    display: inline;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 5px 20px;
    border-radius: 10px;
}

/* box-guide-top */

.box-guide-top {
    position: relative;
    padding: 35px 0px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    gap: 0px 30px;
}

.box-guide-top .layout-time {
    background-color: #FFF;
    border-radius: 25px;
    padding: 20px 3%;
    flex: 1;
}

.box-guide-top .layout-time p {
    font-size: 12px;
    padding-top: 10px;
}

@media screen and (max-width: 1360px) {
    .box-guide-top .layout-time p {
        font-size: 11px;
    }
}

.box-guide-top .box-banner {
    width: 43%;
}

.box-guide-top .box-banner img {
    border-radius: 25px;
}


/* contents01 */

.contents01 {
    width: 100%;
}

/* contents02 */

.contents02 {
    width: 100%;
    position: relative;
    padding-top: 180px;
}

.contents02::before {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    display: block;
    background-image: url("../../images/top/back01.png");
    background-position: center top;
    background-repeat: repeat;
    background-size: auto 480px;
    width: 100%;
    height: 100px;
}

.contents02 .box-title {
    text-align: center;
    margin-bottom: 60px;
}

.contents02 .box-title h2 {
    color: var(--color-sub4);
    font-size: 56px;
    letter-spacing: 0.15em;
    margin-bottom: 30px;
}

.contents02 .box-title h3 {
    color: var(--color-sub5);
    font-size: 30px;
    letter-spacing: 0.05em;
}


/* layout01 */

.layout01 {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0px 4%;
}

.layout01 .box {
    width: 30.6%;
}

.layout01 .box-img {
    border-radius: 20px;
}

.layout01 .box-detail {
    padding-top: 25px;
}

.layout01 h5 {
    font-weight: var(--base-weight);
    color: #FFF;
    font-size: 14px;
    line-height: 1.2;
    display: inline-block;
    padding: 3px 20px 5px;
    border-radius: 60px;
    background-color: var(--color-base);
}

.contents-top .layout01 p {
    line-height: 1.6;
    padding-top: 10px;
}


/* layout02 */

.layout02 {
    width: 100%;
    position: relative;
}

.layout02::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 0px;
    display: block;
    background-image: url("../../images/top/back02.png");
    background-position: center;
    background-repeat: repeat;
    background-size: auto 90%;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.layout02 .box-img {
    width: 100%;
    height: 760px;
    position: relative;
}

.layout02 .box-img .box {
    position: absolute;
}

.layout02 .box-img .box:nth-child(1) {
    left: 0px;
    top: 0px;
    width: 60%;
}

.layout02 .box-img .box:nth-child(1) img {
    border-radius: 0px 40px 360px 0px;
    height: 630px;
}

.layout02 .box-img .box:nth-child(2) {
    right: 0px;
    bottom: 0px;
    width: 50%;
}

.layout02 .box-img .box:nth-child(2) img {
    border-radius: 330px 0px 0px 40px;
    height: 570px;
}

/* layout03 */

.layout03 {
    width: 100%;
    padding-top: 50px;
}

.layout03 .box-detail {
    border-radius: 20px;
    border-style: solid;
    border-width: 2px;
    border-color: var(--color-main);
    padding: 60px 5%;
}

.layout03 h4 {
    font-family: var(--title-font);
    font-weight: var(--base-weight);
    color: var(--color-sub6);
    font-size: 32px;
    line-height: 1.4;
    letter-spacing: 0.15em;
    text-align: center;
    margin-bottom: 35px;
}


.sp-view {
    display: none;
}
