@charset "UTF-8";
div {
    margin: 0;
    padding: 0;
}
main {
    font-feature-settings: normal;
    color: #333333;
}
.c-pc {
    display: block;
}
.c-pc-in {
    display: inline;
}
.c-sp {
    display: none;
}
.c-sp-in {
    display: none;
}
.site-float {
    display: none !important;
}
img {
    display: block; /* 画像をブロック要素にして余白を削減 */
}
.main_wrap {
    overflow: hidden;
}
.main_in {
    margin: 43px auto 0;
    max-width: 1226px;
    position: relative;
}
.main_in img {
    width: 100%;
    height: auto;
}
.sec1_lnk ul {
    display: flex;
    align-items: center;
    margin: 0 auto;
}
.sec1_lnk ul li:nth-child(2) {
    margin-left: 46px;
}
.sec1_lnk ul li:nth-child(3) {
    margin-left: 64px;
}
.sec2 {
    margin-top: 78px;
    background: url(../image/sec2-txt_bg.png) no-repeat center top ;
}
.sec2_txt .btn {
    width: 390px;
    position: absolute;
    bottom: 263px;
    left: 90px;
    z-index: 9;
}
.sec2_txt .btn1 {
    margin-bottom: 22px;
}
.sec2_txt {
    position: relative;
}
.btn1 a ,
.btn2 a {
    display: flex;
    justify-content: center;
    align-items: end;
    height: 76px;
}
.sec3 {
    background: url(../image/sec3-4-bg.png) no-repeat center top ;
}
.sec3_txt1 {
    max-width: 1226px;
    margin: 0 auto;
    padding: 114px 0 95px;
}
.twt-lnk {
    position: absolute;
}
.twt-lnk a {
    font-size: 20px;
    text-decoration: underline;
    color: #1e5199;
    line-height: 1.5;
}
.inst-lnk {
    position: absolute;
    text-align: left;
    line-height: 1.2;
}
.inst-lnk a {
    font-size: 14px;
    text-decoration: underline;
    color: #1e5199;
    line-height: 20px;
}
.donetion-lnk {
    position: absolute;
    bottom: 70px;
    left: 50%;
}
.donetion-lnk a {
    font-size: 16px;
    text-decoration: underline;
    color: #1e5199;
    line-height: 1.094;
}
.sec4 {
    max-width: 920px;
    margin: 55px auto 64px;
}
.sec4-ttl {
    margin: 0 auto 37px;
}
.sec4-txt3 {
    margin: 0 auto;
    padding-bottom: 52px;
    position: relative;
}
.sec4-lnk {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -106px;
}
.sec4-lnk a {
    font-size: 16px;
    text-decoration: underline;
    color: #1e5199;
    line-height: 1.094;
}
.sec5-txt {
    max-width: 560px;
    margin: 0 auto;
}
.btn-bottom {
    margin-top: 80px;
}
.mainLnk_wrap {
    margin-top: 60px;
}
.mainLnk_wrap h2 {
    font-size: 16px;
    text-align: center;
    margin-bottom: 25px;
    line-height: 1.094;
}
.mainLnk_wrap ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 69px;
}
.mainLnk_wrap ul li {
    line-height: 1;
}
.mainLnk_wrap a {
    font-size: 14px;
    line-height: 1;
    text-decoration: underline;
    color: #1e5199;
}
.scroll_left {
    -webkit-transition: 1s ease-in-out;
    -moz-transition: 1s ease-in-out;
    -o-transition: 1s ease-in-out;
    transition: 1s ease-in-out;
    transform: translateX(-30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_left.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}
.scroll_right {
    -webkit-transition: 1s ease-in-out;
    -moz-transition: 1s ease-in-out;
    -o-transition: 1s ease-in-out;
    transition: 1s ease-in-out;
    transform: translateX(30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_right.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}
.scroll_up {
    transition: 1s ease-in-out;
    transform: translateY(30px);
    opacity: 0;
}
.scroll_up.on {
    transform: translateY(0);
    opacity: 1.0;
}
/*style*/
.site-main {
    padding-bottom: 60px;
}
@media print,screen and (min-width: 769px) {
    .lnk a:hover {
        text-decoration: none;
        opacity: 0.7;
    }
    body {
        min-width: 1000px;
        background: url(../image/body-bg.png) no-repeat center top / 1667px 2260px;
    }
    .sec4-txt1,
    .sec4-txt2 {
    display: flex;
    justify-content: space-between;
    }
    .sec4-txt1 {
    margin-bottom: 37px;
    }
    .sec4-txt2 {
    flex-direction: row-reverse;
    margin-bottom: 68px;
    }
    .main_wrap {
        min-width: 1090px;
    }
    .main_in::before {
        content: "";
        width: 12px;
        height: 172px;
        background:  url(../image/main_arw.png) no-repeat center top / 100% auto;
        position: absolute;
        right: -33px;
        top: 238px;
        z-index: 9;
    }
    .main_ttl {
        position: absolute;
        bottom: 6px;
        left: 52px;
        z-index: 9;
    }
    .sec1 {
        text-align: center;
    }
    .sec1_txt {
        display: inline-block;
        padding: 55px 0 42px;
    }
    .sec2_txt {
        max-width: 1228px;
        margin: 0 auto;
        padding-bottom: 203px;
    }
    .sec3_txt1 {
        display: flex;
        justify-content: right;
        align-items: center;
    }
    .sec3_txt2 {
        max-width: 1006px;
        margin: 0 auto;
        position: relative;
        padding-bottom: 158px;
    }
    .inst-lnk {
        top: 697px;
        left: 50%;
        margin-left: -320px;
    }
    .twt-lnk {
        top: 181px;
        right: 50%;
        margin-right: -369px;
        text-align: center;
    }
    .twt-lnk a {
        font-weight: bold;
    }
    .sec3-txt3 {
        max-width: 560px;
        margin: 0 auto;
        position: relative;
        padding-bottom: 126px;
    }
    .donetion-lnk {
        margin-left: -173px;
    }
    .sec4-ttl {
        width: 343px;
    }
    .sec4-txt3 {
        width: 560px;
    }
    .btn-bottom {
        display: flex;
        justify-content: center;
        gap: 0 48px;
    }
    .sec1_lnk ul {
        width: 560px;
    }
    .sec5 {
        background: url(../image/sec5-txt-bg.png) no-repeat center top;
    }
    .sec5-img {
        position: absolute;
        bottom: 0;
        right: -190px;
        z-index: 9;
    }
    .sec5-txt2 {
        padding-top: 96px;
        max-width: 775px;
        margin: 0 auto;
        position: relative;
    }
    .sec5-txt2::before {
        content: "";
        width: 102px;
        height: 145px;
        background: url(../image/smile-woman.png) no-repeat center top;
        position: absolute;
        bottom: 0;
        right: -127px;
        z-index: 9;
    }
    .sec5-txt {
        position: relative;
        padding: 66px 0 0;
    }
}
@media print,screen and (max-width: 768px) {
    body {
        min-width: 320px;
    }
    .c-pc {
        display: none;
    }
    .c-pc-in {
        display: none;
    }
    .c-sp {
        display: block;
    }
    .c-sp-in {
        display: inline;
    }
/*style*/
    img {
        width: 100%;
        height: auto;
    }
    .site-main {
        padding-bottom: 37px;
    }
    .main_in {
        margin: 0;
        padding: 0;
    }
    .main_in img {
        width: 100%;
        height: auto;
    }
    .sec1_txt {
        max-width: 347px;
        margin: 0 auto 40px;
    }
    .sec1_lnk ul {
        justify-content: center;
        max-width: 370px;
        margin: 0 auto;
        padding: 0 30px 0 15px;
    }
    .sec1_lnk ul li:nth-child(2) {
        margin-left: 22px;
    }
    .sec1_lnk ul li:nth-child(3) {
        margin-left: 34px;
    }
    .sec2 {
        margin: 0 0 20px;
        background: url(../image/sp/sec2-bg.png) no-repeat center top / 524px auto;
    }
    .sec2_txt {
        padding-top: 52px;
        max-width: 375px;
        margin: 0 auto;
    }
    .sec2_txt .btn {
        width: 100%;
        padding: 0 45px 0 30px;
        bottom: 45px;
        left: 0;
    }
    .sec2_txt .btn1 {
        margin-bottom: 30px;
    }
    .btn1 a ,
    .btn2 a {
        height: 100%;
    }
    .sec3 {
        background: url(../image/sp/sec4-bg.png) no-repeat center top / 529px auto;
    }
    .sec3_in {
        padding: 60px 0 195px;
    }
    .sec3_txt1 {
        padding: 0;
        max-width: 375px;
        margin-bottom: 70px;
    }
    .sec3_txt2 {
        padding: 0;
    }
    .sec3_txt2 .txt2-1 {
        max-width: 375px;
        margin: 0 auto 65px;
        padding: 0 15px;
        position: relative;
    }
    .sec3_txt2 .txt2-1::before {
        content: "";
        width: 83px;
        height: 94px;
        background: url(../image/sp/sp-d-woman.png) no-repeat center top / 100% auto;
        position: absolute;
        top: 399px;
        left: 8px;
        z-index: 9;
    }
    .sec3_txt2 .txt2-2 {
        max-width: 375px;
        margin: 0 auto;
        padding: 0 15px;
        position: relative;
    }
    .sec3_txt2 .txt2-2::before {
        content: "";
        width: 84px;
        height: 94px;
        background: url(../image/sp/sp-woman.png) no-repeat center top / 100% auto;
        position: absolute;
        top: 181px;
        right: 8px;
        z-index: 9;
    }
    .twt-lnk {
        position: absolute;
        top: 195px;
        left: 45px;
    }
    .twt-lnk a {
        font-size: 18px;
    }
    .inst-lnk {
        bottom: 0;
        left: 130px;
    }
    .inst-lnk a {
        font-size: 15px;
        line-height: 22px;
    }
    .sec3-txt3 {
        max-width: 375px;
        margin: 0 auto;
        padding: 85px 15px 0;
        position: relative;
    }
    .donetion-lnk {
        bottom: -60px;
        left: 30px;
    }
    .donetion-lnk a {
        font-size: 15px;
    }
    .sec4 {
        margin: 35px 0 107px;
        padding: 0 15px;
    }
    .sec4-ttl {
        max-width: 315px;
        margin: 0 auto;
    }
    .sec4-txt1,
    .sec4-txt2 {
        max-width: 345px;
        margin: 0 auto;
    }
    .sec4-txt1 .txt {
        margin: 32px 0 50px;
    }
    .sec4-txt2 .txt {
        margin: 48px 0;
    }
    .sec4-txt3 {
        max-width: 345px;
        margin-top: 53px;
        padding-bottom: 0;
    }
    .sec4-lnk {
        bottom: -50px;
        left: 65px;
        margin-left: 0;
    }
    .sec4-lnk a {
        font-size: 15px;
    }
    .sec5 {
        position: relative;
    }
    .sec5::before {
        content: "";
        width: 100%;
        height: 469px;
        background-color: #f1eee1;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }
    .sec5-txt {
        background-color: #fff;
        max-width: 375px;
    }
    .btn-bottom {
        margin: 14px auto 0;
        max-width: 315px;
    }
    .btn-bottom .btn1,
    .btn-bottom .btn2 {
        max-width: 315px;
    }
    .btn-bottom .btn1 {
        margin-bottom: 30px;
    }
    .mainLnk_wrap {
        margin-top: 42px;
    }
    .mainLnk_wrap h2 {
        font-size: 14px;
        text-align: center;
        margin-bottom: 23px;
    }
    .mainLnk_wrap ul {
        justify-content: left;
        flex-wrap: wrap;
        gap: 23px 60px;
        width: 265px;
        margin: 0 auto;
    }
    .mainLnk_wrap ul li {
        width: 48px;
    }
    .mainLnk_wrap a {
        font-size: 13px;
    }
    
}
@media print,screen and (max-width: 374px) {
    .sec1_txt {
        padding: 0 15px
    }
    .sec3 {
        background: url(../image/sp/sec4-bg.png) no-repeat center top / cover;
    }
    .inst-lnk {
        left: 115px;
    }
    .inst-lnk a {
        font-size: 13px;
        line-height: 10px;
    }
    .sec3_txt2 .txt2-1::before {
        width: 22%;
        height: 25%;
        top: 332px;
    }
    .twt-lnk {
        top: 155px;
    }
    .twt-lnk a {
        font-size: 15px;
    }
    .sec3_txt2 .txt2-2::before {
        width: 22.5%;
        height: 25%;
        top: 152px;
    }
    .donetion-lnk a {
        font-size: 13px;
    }
    .btn-bottom {
        padding: 0 15px;
    }
}
