@charset "utf-8";

/* common */
.flex {
    display: flex;
}
.strong {
    font-weight: bold;
}
.underLine {
    text-decoration: underline;
    font-weight: bold;
}
a.underLine:hover {
    text-decoration:none;
}

.asm2024 {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "メイリオ", Meiryo, Osaka, sans-serif;
}
.asm2024 #gFooter {
	margin-top: 0 !important;
}
.asm2024 img {
	width: 100%;
	height: auto;
}
.asm2024 .sp {
	display: none;
}
    @media screen and (max-width:812px) {
        .asm2024 .pc {
            display: none;
        }
        .asm2024 .sp {
            display: inline;
        }
    }

@media screen and (max-width:812px) {
    footer {
        margin-bottom:57px;
    }
}


/* layout-common */
a.detail-link {
    text-decoration:none;
    font-size: 17px;
}
h2.title {
    font-size: 36px;
    color:#000;
    text-align: center;
    line-height: 1.6em;
    padding: 80px 0 40px 0;
}
h3.title {
    font-size: 28px;
    text-align: center;
    font-weight: bold;
    line-height: 1.5;
    padding: .6vw 0 1vw;
}
h4.title {
    font-size: 20px;
    font-weight: bold;
    padding: 8px 0 12px 0;
}

a.bt.large {
    height:65px;
    line-height: 65px;
    margin-top:60px;
}
.hl {
    position: relative;
}
.hl::after {
    content: "";
    display: block;
    position: relative;
    width: 7%;
    height: 1px;
    margin: 1% auto 0;
    background-color: #000;
}
    @media screen and (max-width:812px) {
        a.detail-link {
            margin-top:15%;
        }
        h2.title {
            font-size: 26px;
            text-align: center;
        }
        h3.title {
            font-size: 18px;
            text-align: center;
        }
        a.bt {
            width:100%;
        }
    }

/* main */
.asm2024-mainv {
}
.mainv-wrap {
}

/* asm2024-text */
.asm2024-text {
	padding: 4% 0 0 0;
}
.asm2024-text .text-wrap p {
	text-align: left;
	font-size: 20px;
    line-height: 1.8;
    padding-bottom:100px;
}
.asm2024-text .image {
    margin: 8% 0 0 0;
    gap:25px;
}
.asm2024-text .image2 {
    margin: 8% 0 0 0;
    justify-content: space-between;
}
.asm2024-text .image2.m00 {
    margin: 0;
}
.asm2024-text .image2 div.wrap {
    text-align: left;
    width: 485px;
}
.asm2024-text .image2 div.text {
    line-height: 1.7em;
    font-size: 18px;
    color: #8B8B8B;
    padding-top:10px;
}
@media screen and (max-width:812px) {
    .asm2024-text .image2 div.text {
        font-size: 4.2vw;
    }
}
.asm2024-text .text2 {
	font-size: 20px;
    line-height: 1.8em;
    padding-top:60px;
    padding-bottom: 100px;
}
.asm2024-text .style {
    padding-top:60px;
    font-style: italic;
}
.asm2024-text.bottom {
    margin-bottom: 160px;
}
    @media screen and (max-width:1000px) {
        .asm2024-text {
            padding: 4% 5.335% 0;
        }
        .asm2024-text .text-wrap p {
            font-size: 1.8vw;
            padding-bottom: 5%;
        }
    }
    @media screen and (max-width:812px) {
        .asm2024-text {
            padding: 10% 5.335% 0;
        }
        .asm2024-text .image2 div.wrap {
            width: 100%;
            padding-bottom: 1%;
        }
        .asm2024-text .text-wrap p {
            margin-bottom: 6%;
            font-size: 4.2vw;
            padding-bottom: 1%;
        }
        .asm2024-text .image {
            flex-direction:column;
        }
        .asm2024-text .image2 {
            flex-direction:column;
        }
        .asm2024-text .image2 .left {
            padding-bottom: 25px !important;
        }
        .asm2024-text .text2 {
            padding-bottom: 1%;
            font-size: 4.2vw;
        }
    }

