@charset "utf-8";

/*=====================================

style.css

=====================================*/
body {
    font-family: 'Kiwi Maru', serif;
    font-size: 18px;
    background: linear-gradient(180deg, rgba(143, 181, 153, 1) 0%, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 1) 100%);
}

a {
    color: #333;
}

#wrapper {
    max-width: 430px;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0px 0px 15px -5px #777777;
}

div {
    position: relative;
}

header {
    background-color: #f6f6f1;
    padding: 20px;
    text-align: center;
    box-shadow: 0px 0px 15px -5px #777777;
    z-index: 1;
    position: relative;
}

header img {
    max-width: 200px;
}

.footer {
    padding-top: 60px;
    padding-bottom: 110px;
    background-color: #efe8f4;
}

.fixedFooterBox {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 101;
}

.fixedFooterBox::after {
    box-shadow: 0px 0px 15px -5px #777777;
    background-color: #d7f4ff;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 60px;
    width: 100vw;
    right: 0;
    content: '';
}

.footerTTLsp {
    position: relative;
    width: 95vw;
    margin-right: 0;
    right: 0;
    margin-left: auto;
    z-index: 2;
}

.footerTTLsp::after {

}

.footer .logo {
    text-align: center;
    max-width: 40%;
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
}

.privacyLink {
    text-align: center;
    font-size: 13px;
    padding-top: 30px;
    margin-bottom: 10px;
}

.footerCopyright {
    font-size: 11px;
    text-align: center;
    padding: 10px;
}


.visualArea {
    background-color: #1e0080;
    padding: 0px 4% 20px;
}


.mainTitle {
    width: 80%;
    background-color: #30b545;
    padding-top: 4%;
    padding-bottom: 4%;
    padding-right: 10%;
    position: absolute;
    bottom: 20px;
    border-radius: 0 40px 0px 0;
}

.mainBtn01 {
    margin-top: -25px;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
}

section {
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 7%;
    padding-right: 7%;
}

main {
    margin-top: -25px;
}

section.section01 {
    background-image: url(../images/section01_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 60px;
}

.briefingCvBtn {
    margin-bottom: 40px;
}

.ouboLeadText {
    line-height: 2;
    font-size: 18px;
    margin-bottom: 30px;
    text-align: center;
}

.placeText {
    background-color: #FFF;
    padding: 20px;
    text-align: center;
    font-size: 18px;
    color: #30b545;
    border-radius: 5px;
}

.placeLinkBtn {
    margin-top: 20px;
    text-align: center;
    margin-bottom: 15px;
}

.placeLinkBtn a {
    box-shadow: 0px 6px 0px 0px #026a33;
    padding: 10px 40px;
    background: #1e0080;
    border-radius: 20px;
    text-align: center;
    width: 65%;
    color: #FFF;
    font-size: 15px;
}

.placeLinkBtn a:hover {
    text-decoration: none;
}

.placeLinkBtn a em {
    font-size: 18px;
}

.greenBg .placeLinkBtn a {
    background-color: #FFF;
    color: #1e0080;
}

.kaisaiDateWrapper {
    border-radius: 1000px;
    padding: 20px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 30% 1fr;
}

.kaisaiDate {
    display: flex;
    width: 100%;
    aspect-ratio: 1 / 1;
    background-color: #FFF;
    background-color: #FFF;
    justify-content: center;
    align-items: center;
    border-radius: 1000px;
    text-align: center;
}

.kaisaiDateWrapper {
    border-radius: 1000px;
    padding: 2px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 29% 1fr;
    background-color: #1e0080;;
    column-gap: 4%;
    margin-bottom: 30px;
}

.kaisaiJikai {
    font-size: 17px;
    font-weight: bold;
    color: #1e0080;
}

.kaisaiJikaiDate {
    font-size: 24px;
    font-weight: bold;
    color: #1e0080;
}

.maitsukiImg {
    display: flex;
    align-items: center;
    padding-right: 10%;
}


h2 {
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    color: #FFF;
    margin-bottom: 30px;
}

h2 em {
    font-size: 32px;
}

section.section02 {
    background: #1e0080;
    color: #FFF;
}

.wakaruBox {
    margin-bottom: 30px;
}

.wakaruBox .wakaruTitle {
    display: grid;
    grid-template-columns: 80px 1fr;
}

.wakaruBox .wakaruTitle .num {
    width: 80px;
    height: 70px;
    background-image: url(../images/pika.png);
    background-size: contain;
    background-repeat: no-repeat;
    color: #FFF;
    padding: 21px 33px 18px 29px;
    font-size: 23px;
    text-align: center;
    margin-bottom: -5px;
}

.wakaruBox .wakaruTitle h3 {
    font-size: 21px;
    font-weight: bold;
    padding-left: 15px;
    margin-bottom: 0px;
    line-height: 1.3;
}

.wakaruBox .wakaruTitle h3 em {
    font-size: 24px;
}

.wakaruContents {
    background-color: #FFF;
    color: #1e0080;
    font-size: 18px;
    border-radius: 10px;
    padding: 6%;
}

.section01 h2, .section03 h2 {
    color: #1e0080;;
}

.section03 {
    background-color: #e6ebf3;
}

.faqBox dl {
    border: #1e0080 solid 3px;
    background-color: #FFF;
    border-radius: 20px;
    overflow: hidden;
    line-height: 1.8;
    margin-bottom: 30px;
}

.faqBox dl dt {
    padding-left: 45px;
    padding-right: 15px;
    padding-top: 20px;
    padding-bottom: 20px;
    position: relative;
    font-size: 18px;
    background-image: url(../images/plus.png);
    background-size: 15px;
    background-repeat: no-repeat;
    background-position: right 15px center;
    cursor: pointer;
}

.faqBox dl dt.open {
    background-image: url(../images/minus.png);
}

.faqBox dl dt::before {
    content: 'Q';
    position: absolute;
    left: 15px;
    top: 15px;
    font-weight: bold;
    font-size: 24px;
    color: #1e0080;
}

.faqBox dl dd {
    padding-left: 45px;
    padding-right: 15px;
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #f1ffe8;
    position: relative;
    font-size: 18px;
    display: none;
}

.faqBox dl dd::before {
    content: 'A';
    position: absolute;
    left: 15px;
    top: 15px;
    font-weight: bold;
    font-size: 24px;
    color: #1e0080;
}

section.section01.greenBg {
    background-image: url(../images/section01_bg_green.png);
}

.greenBg .ouboLeadText {
    color: #FFF;
}

.greenBg .kaisaiDateWrapper {
    border-radius: 1000px;
    padding: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: 29% 1fr;
    background-color: #1e0080;
    column-gap: 4%;
    margin-bottom: 30px;
    border: 2px solid #FFF;
}


.greenBg .placeText {
    background-color: #1e0080;
    color: #FFF;
}

.koeBox .koeContents {
    margin-bottom: 30px;
    font-size: 16px;
}

.koeContents:nth-child(odd) {
    display: grid;
    grid-template-columns: 20% 1fr;
}

.koeContents:nth-child(even) {
    display: grid;
    grid-template-columns: 1fr 20%;
}

.koeContents:nth-child(odd) .koeText {
    background-image: url(../images/koe_fukidashi_middleR.png);
    background-position: center top 15px;
    background-size: cover;
    background-repeat: no-repeat;
    padding-left: 28px;
    padding-right: 20px;
    padding-top: 19px;
    padding-bottom: 26px;
    background-position: left top 2px;
}

.koeContents:nth-child(odd) .koeText::before {
    background-image: url(../images/koe_fukidashi_topR.png);
    aspect-ratio: 618 / 33;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    content: '';
    background-color: #e6ebf3;
    background-position: left top 1px;
}

.koeContents:nth-child(odd) .koeText::after {
    background-image: url(../images/koe_fukidashi_bottomR.png);
    aspect-ratio: 618 / 35;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    content: '';
    background-color: #e6ebf3;
}

.koeContents:nth-child(even) .koeText {
    background-image: url(../images/koe_fukidashi_middleL.png?v=2);
    background-position: center top 15px;
    background-size: cover;
    background-repeat: no-repeat;
    padding-left: 17px;
    padding-right: 24px;
    padding-top: 19px;
    padding-bottom: 26px;
    background-position: left top 2px;
}

.koeContents:nth-child(even) .koeText::before {
    background-image: url(../images/koe_fukidashi_topL.png);
    aspect-ratio: 618 / 34;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    content: '';
    background-color: #e6ebf3;
    background-position: left top 1px;
}

.koeContents:nth-child(even) .koeText::after {
    background-image: url(../images/koe_fukidashi_bottomL.png);
    aspect-ratio: 618 / 35;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    content: '';
    background-color: #e6ebf3;
}

/*.koeContents:first-child .koeText {*/
/*    background-image: url(../images/koeText-bg-01.png);*/
/*    background-size: contain;*/
/*    background-position: left center;*/
/*    padding-top: 30px;*/
/*    padding-bottom: 30px;*/
/*}*/
/*.koeContents:nth-child(2) .koeText {*/
/*    background-image: url(../images/koeText-bg-02.png);*/
/*    background-size: contain;*/
/*    background-position: left center;*/
/*    padding-top: 30px;*/
/*    padding-bottom: 30px;*/
/*}*/

/*.koeContents:nth-child(3) .koeText {*/
/*    background-image: url(../images/koeText-bg-03.png);*/
/*    background-size: contain;*/
/*    background-position: left center;*/
/*    padding-top: 30px;*/
/*    padding-bottom: 30px;*/
/*}*/

/*.koeContents:nth-child(4) .koeText {*/
/*    background-image: url(../images/koeText-bg-04.png);*/
/*    background-size: contain;*/
/*    background-position: left center;*/
/*    padding-top: 30px;*/
/*    padding-bottom: 30px;*/
/*}*/


.person {
    display: flex;
    align-items: end;
    margin-left: -1px;
    margin-right: -1px;
}

.person img {
    width: 107%;
    max-width: none;
    z-index: 1;
    margin-bottom: -2px;
}


.koeContents:nth-child(1) {

}

.resonBox {
    padding-top: 50px;
}

.reasonContents {
    background-color: #FFF;
    padding-left: 6%;
    border-radius: 15px;
    padding-top: 70px;
    padding-right: 6%;
    margin-bottom: 80px;
    padding-bottom: 6%;
}

.reasonContents .iconBox {
    width: 120px;
    margin-left: auto;
    margin-right: auto;
    top: -60px;
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
}

.resonTextContents h3 {
    color: #1e0080;
    font-size: 24px;
    text-align: center;
    margin-bottom: 15px;
}

.resonTextContents .imgBox {
    margin-bottom: 15px;
}

.resonTextContents p {
    color: #333;
    line-height: 1.8;
}


.sectionIncho {
    background-image: url(../images/incho_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 60px;
}

.inchoInner {
    aspect-ratio: 677 / 990;
    background-image: url(../images/incho_inner_bg.png);
    padding-top: 61%;
    background-size: contain;
    background-repeat: no-repeat;
}

.inchoInner h2 {
    color: #1e0080;
    font-weight: bold;
    font-size: 26px;
    text-align: center;
    margin-bottom: 20px;
}

.inchoDetail {
    padding: 6%;
    /*background-image: url(../images/incho_detail_bg.png);*/
    background-repeat: repeat-y;
    background-size: contain;

}

.inchoInner p {
    font-size: 16px;
    line-height: 1.8;
}

.inchoInner dl {
    padding: 6%;
    font-size: 16px;
    line-height: 1.7;
    background-repeat: repeat-y;
    background-size: contain;
    background-image: url(../images/incho_detail_dl_bg.png);
    position: relative;
}

.inchoInner dl::after {
    position: absolute;
    background-image: url(../images/incho_detail_dl_bottom_bg.png);
    content: '';
    aspect-ratio: 677 / 48;
    width: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: -20px;
}

.inchoInner dl dt {
    font-weight: bold;
}

.sectionAccess {
    background-color: #f6f6f1;
}

.sectionAccess h2 {
    color: #464847;
}


.accessBox .mapBox {
    margin-bottom: 20px;
}

.accessBox {
    border-radius: 20px;
    overflow: hidden;
    background-color: #FFF
}

.accessBox .textContents {
    padding: 7%;
    background-color: #FFF;
}

.accessBox .textContents h3 {
    margin-bottom: 20px;
    padding-bottom: 20px;
    position: relative;
    text-align: center;
    font-size: 22px;
}

.accessBox .textContents h3::after {
    width: 20px;
    height: 3px;
    background-color: #1e0080;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    bottom: 0;
    content: '';
}

.accessBox .textContents p {
    font-size: 16px;
    line-height: 1.8;
}

.accessBox .textContents p strong {
    font-size: 18px;
    font-weight: bold;
}

.resonTextContents p {
    color: #333;
    line-height: 1.8;
    font-size: 16px;
}

.sectionFromBox {
    background-image: url(../images/formbox_bg.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
}

.sectionFromBox h2 {
    color: #1e0080;
}

.kouhyouLeadBox {
    color: #1e0080;
    width: fit-content;
    font-size: 5.5vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}

.kouhyouLeadBox::before {
    content: '';
    width: 3px;
    height: 100%;
    position: absolute;
    left: -15px;
    rotate: -30deg;
    background-color: #1e0080;
    border-radius: 3px;
}

.kouhyouLeadBox::after {
    content: '';
    width: 3px;
    height: 100%;
    position: absolute;
    right: -15px;
    rotate: 30deg;
    background-color: #1e0080;
    top: 0;
    border-radius: 3px;
}

.kouhyouInner span {
    background-color: #efcd7c;
    color: #fff;
    width: 9.2vw;
    height: 9.2vw;
    display: inline-block;
    text-align: center;
    border-radius: 1000px;
    font-size: 6vw;
    margin-left: -2px;
    margin-right: -2px;

}

.kouhyouInner em {
    font-size: 4.3vw;
}

.kouhyouInner span:first-child {
    margin-left: 0;
}

.kouhyouInner span:last-child {
    margin-right: 0;
}

.greenBg .kouhyouLeadBox {
    color: #FFF;
}

.greenBg .kouhyouLeadBox::after {
    background-color: #FFF;
}

.greenBg .kouhyouLeadBox::before {
    background-color: #FFF;
}

#googleFormIFrame {
    height: 755vw; /* 項目に変更がある場合は縦幅を変更 */
    width: 100%;
}

/* iPhone SE */
@media screen and (max-width: 375px) {
    #googleFormIFrame {
        height: 805vw; /* 項目に変更がある場合は縦幅を変更 */
    }
}

@media screen and (min-width: 431px) {
    #googleFormIFrame {
        height: calc(430px * 6.8); /* 項目に変更がある場合は縦幅を変更 */
        width: 100%;
    }

    .koeBox .koeContents {
        font-size: 16px;
    }

    .inchoInner p {
        font-size: 16px;
    }

    .inchoInner dl {
        font-size: 16px;
    }

    .footerTTLsp {
        width: calc(430px * 0.93);
        margin-left: auto;
        margin-right: auto;
    }

    .kouhyouLeadBox {
        font-size: 20px;
    }

    .kouhyouInner span {
        width: 40px;
        height: 40px;
        font-size: 26px;
    }

    .kouhyouInner em {
        font-size: 19px;
    }
}

.explanText {
    font-size: 18px;
}

.explanimg {
    margin-top: 30px;
    margin-bottom: 30px;
}

.explanimg-detail {
    border-radius: 30px;
}

.SessionContent {
    background-color: #FFF;
    padding-left: 6%;
    border-radius: 15px;
    padding-top: 15px;
    padding-right: 6%;
    margin-bottom: 22px;
    padding-bottom: 6%;
    color: #1e0080;
}

.sessiontittle {
    position: relative;
    border-bottom: 3px dotted #30b545;
    padding: 10px 0 10px 35px;
    font-size: 18px;
}

.sessiontittle:before,
.sessiontittle:after {
    position: absolute;
    content: '';
    width: 13px;
    height: 13px;
    top: 37%;
    transform: rotate(45deg);
}

.sessiontittle:before { /*左のひし形*/
    border: 2px solid #FFB300;
    left: 3px;
}

.sessiontittle:after { /*右のひし形*/
    left: 10px;
    background: rgb(255, 179, 2, 0.5);
}

.sessiontittle-even {
    position: relative;
    border-bottom: 3px dotted #30b545;
    padding: 10px 0 10px 35px;
    font-size: 18px;
}

.sessiontittle-even:before,
.sessiontittle-even:after {
    position: absolute;
    content: '';
    width: 13px;
    height: 13px;
    top: 37%;
    transform: rotate(45deg);
}

.sessiontittle-even:before { /*左のひし形*/
    border: 2px solid #1ea134;
    left: 3px;
}

.sessiontittle-even:after { /*右のひし形*/
    left: 10px;
    background: rgb(29, 158, 0, 0.5);
}

.sessiontittle-summary {
    display: flex;
    font-size: 16px;
}

.sessiontittle-summary .label {
    display: inline-block;
    width: 6em;
    text-align: left;
    margin-right: 0.5em;
    flex-shrink: 0;
}

.sessiontittle-summary-wrapper {
    margin-bottom: 20px;
}

.sessionendtittle {
    margin-bottom: 20px;
    font-size: 18px;
}

.mb10 {
    margin-bottom: 10px;
}

.add-section01 {
    background-image: url(../images/section01_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 60px;
}

.add-section01 h2 {
    color: #1e0080;
    text-align: left;
    margin-bottom: 15px;
}

.add-section01 p {
    font-size: 18px;
}

.check-list-box {
    margin-top: 10px;
    background-color: #ffffff;
    padding: 15px 10px;
}

.ads-check-list {
    display: block;
    font-size: 18px;
}

.ads-check-list .ads-check-list-item {
    padding-left: 20px;
    position: relative;
    font-size: 18px;
}

.ads-check-list .ads-check-list-item input{
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    border: 1px solid #000000;
    position: absolute;
    left: 2px;
    top: 6px;
    appearance: auto;
}

.ads-check-list .ads-check-list-item + .ads-check-list-item {
    margin-top: 10px;
}

.ads-read-text {
    margin-top: 10px;
    text-align: center;
    color: #1e0080;
    font-size: 21px;
    font-weight: bold;
}
.ads-read-text span {
    color: #000000;
    font-size: 14px;
}

.add-section02 {
    background-color: #1e0080;
}

.add-section02 p {
    color: #FFFFFF;
    font-size: 22px;
    text-align: center;
    margin-bottom: 10px;
}
.add-section02 p._c1 {
    color: #ecc158;
    font-size: 26px;
}
.add-section02 .ads2-ref-text {
    color: #ffffff;
    font-size: 11px;
    text-align: right;
}

.st {
    font-size: 24px;
    text-decoration: underline;
}

.ads2-img {
    margin-bottom: 10px;
}

.mt30 {
    margin-top: 30px;
}