@charset "UTF-8";
/* CSS Document */
.main {
    margin: 0 auto;
    background-color: #fffcfc;
}
.about-top {
    margin: 20px auto 20px;
    padding: 0 8px 40px;
    width: 100%;
    text-align: center;
}
.page_title-wrapper {
}
.page_title-wrapper h1 {
    font-size: 2.1875rem;
    font-weight: 600;
    font-family:
        "Noto+Sans+JP", sans-serif, "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    color: #47539e;
}
.page_title-wrapper h5 {
    font-size: 1rem;
    font-weight: 400;
    font-family:
        "Noto+Sans+JP", sans-serif, "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    color: #888787;
    margin: -3px 0 3px 0;
}
.page-image {
    display: inline-block;
    /*position: relative;*/
    max-width: 230px;
    height: 160px;
    /* text-align: center;
   display: flex;
    align-items: center;
    justify-content: center;*/
    background-color: #dfeaf0;
    /*border-radius: 3px;
    box-shadow: 10px 10px 0px 0px #dfeaf0;*/
}
.page-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sub_title {
}
.dot-section {
    position: relative;
    padding: 10px 16px 0px;
    overflow: hidden;
}
.dot-section__inner {
    position: relative;
    z-index: 1;
    max-width: 600px;
    margin: 0 auto;
}
.dot-decoration {
    position: absolute;
    left: 0;
    /*top: 120px;*/
    width: 100%;
    height: 220px;
    z-index: 0;
    background-image: radial-gradient(circle, rgba(170, 205, 225, 0.4) 1.6px, transparent 1px);
    background-size: 10px 10px;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
}
.sub_title h4 {
    font-size: 1.5rem;
    font-weight: 800;
    font-family:
        "Shippori Mincho", serif, "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    margin: 3px 0;
}
.about_area {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr;
    grid-template-areas:
        "section1"
        "section2"
        "section3";
    max-width: 700px;
    margin: 10px 0;
}
.about_area p {
    font-size: 1.1rem;
    line-height: 1.8rem;
}

.section1 {
    grid-area: section1;
    text-align: left;
}
.section2 {
    grid-area: section2;
}
.section2_image {
    position: relative;
    max-width: 200px;
    max-height: 160px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #dfeaf0;
    border-radius: 3px;
    box-shadow: 10px 10px 0px 0px #dfeaf0;
}
.section2 img {
    display: inline-block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.section3 {
    grid-area: section3;
    text-align: left;
}
.section3 h3 {
    font-size: 1.5rem;
    font-weight: 600;
    font-family:
        "Noto+Sans+JP", sans-serif, "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    color: #47539e;
}
.section3 h5 {
    font-size: 1rem;
    font-weight: 400;
    font-family:
        "Noto+Sans+JP", sans-serif, "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    color: #888787;
    line-height: 1.2rem;
    margin: -3px 0 3px 0;
}
.profile-image {
    display: inline-block;
    /*position: relative;*/
    max-width: 160px;
    max-height: 200px;
    /* text-align: center;
   display: flex;
    align-items: center;
    justify-content: center;*/
    background-color: #dfeaf0;
    /*border-radius: 3px;
    box-shadow: 10px 10px 0px 0px #dfeaf0;*/
}
.profile-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
@media (min-width: 768px) {
    .about-top {
        margin: 20px auto 20px;
        padding: 0 8px 40px;
        width: 100%;
        text-align: center;
    }
    .page_title-wrapper {
        padding: 0 20px;
        max-width: 1080px;
    }
    .page_title-wrapper h1 {
        font-size: 2.375rem;
        font-weight: 600;
        text-align: left;
    }
    .page_title-wrapper h5 {
        font-size: 1rem;
        font-weight: 400;
        margin: 0px 0 7px 0;
        text-align: left;
    }
    .page-image {
        display: inline-block;
        width: 100%;
        max-width: 1080px;
        margin: 0 auto;
        height: 425px;
        text-align: left;
    }
    .dot-section {
        position: relative;
        padding: 20px 16px 10px;
        margin-bottom: 20px;
        overflow: hidden;
        max-width: 600px;
    }
    .dot-decoration {
        position: absolute;
        left: 0;
        /*top: 120px;*/
        width: 100%;
        height: 220px;
        z-index: 0;
        background-image: radial-gradient(circle, rgba(170, 205, 225, 0.4) 1.6px, transparent 1px);
        background-size: 10px 10px;
        -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
        mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
    }
    .sub_title h4 {
        font-size: 1.875rem;
        font-weight: 800;
        line-height: 2.5rem;
        margin: 3px 0;
        text-align: left;
    }
    .sp-only {
        display: none;
    }
    .about_area {
        gap: 60px;
        grid-template-columns: 2fr 3fr;
        grid-template-areas:
            "section1 section2"
            "section1 section3";
        max-width: 960px;
        padding:0 20px;
        margin: 10px auto;
    }
    .about_area p {
        font-size: 1.3rem;
        line-height: 2rem;
    }
    .section2_image {
        position: relative;
        text-align: left;
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        margin-left: 0;
    }
    .section2 img {
        display: block;
        width: auto;
        height: auto;
        max-width: 412px;
        object-fit: cover;
    }
    .section3 h3 {
        font-size: 1.8rem;
        font-weight: 600;
        font-family:
            "Noto+Sans+JP", sans-serif, "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
        color: #47539e;
    }
    .section3 h5 {
        font-size: 1rem;
        font-weight: 400;
        margin: 0 0 3px 0;
        text-align: left;
    }
    .section3 p {
        font-size: 1.3rem;
        line-height: 2rem;
    }
    .profile-image {
        display: inline-block;
        /*position: relative;*/
        max-width: 160px;
        max-height: 200px;
        /* text-align: center;
   display: flex;
    align-items: center;
    justify-content: center;*/
        background-color: #dfeaf0;
        /*border-radius: 3px;
    box-shadow: 10px 10px 0px 0px #dfeaf0;*/
    }
    .profile-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    /*    .profile-image img {
        width: 100%;
        height: 475px;
        object-fit: cover;
    }*/
}
