
/*====================================================
//// id mv
====================================================*/
#mv {
    background: var(--blue);
    position: relative;
    z-index: 10;
}
#mv::before,
#mv::after {
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
    width: 20%;
    height: 50%;
}
#mv::before {
    background: url('../img/top_mv_deco-l.png') no-repeat top left / contain;
    left: 0;
}
#mv::after {
    background: url('../img/top_mv_deco-r.png') no-repeat top right / contain;
    right: 0;
}
#mv .innerBox {
    padding: min(18vw, 120px) 0 min(8vw, 40px);
}
#mv .mv_head h1 {
    font-weight: 500;
    text-align: center;
}
#mv .mv_head .first_txt {
    color: #fff;
    display: inline-block;
    font-size: .75em;
    margin-bottom: .3em;
    padding: 0 2.5em;
    position: relative;
}
#mv .mv_head .first_txt::before,
#mv .mv_head .first_txt::after {
    border-top: solid 1px #fff;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        bottom: 0;
    width: 2em;
    height: 0;
}
#mv .mv_head .first_txt::before {
    left: 0;
}
#mv .mv_head .first_txt::after {
    right: 0;
}
#mv .mv_head .main_txt {
    color: #fffeb7;
    display: block;
    text-shadow: 0 0 .2em rgba(0, 0, 0, .6);
}
#mv .mv_head .main_txt .yellow {
    color: #fcfa68;
    font-weight: 900;
}
#mv .mv_img {
    background: url('../img/top_mv_bg.png') no-repeat center bottom;
    background-size: auto 100%;
    position: relative;
    width: 100%;
    height: min(15vw, 350px);
}
#mv .mv_img::before {
    background: url('../img/top_mv_illust.png') no-repeat center bottom / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        bottom: -20px;
        right: 5vw;
    width: min(20vw, 150px);
    height: calc(100% + 3vw);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #mv .mv_head h1 {
        font-size: min(7.5vw, 4.5rem);
    }
    #mv .mv_img {
        height: min(25vw, 350px);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #mv .mv_head h1 {
        font-size: min(6vw, 5.5rem);
    }
}

/*====================================================
//// id ex
====================================================*/
#ex {
    background: #fff;
}
#ex .ex_head {
    text-align: center;
}
#ex .ex_head h2 {
    margin-bottom: 1em;
}
#ex .ex_head h3 {
    background: var(--beige);
    border-radius: 1em;
    color: #fff;
    display: inline-block;
    line-height: 1.3;
    padding: .3em 2em;
}
#ex .ex_img {
    margin-bottom: min(8vw, 80px);
}
#ex .ex_head h3 .small {
    display: block;
    font-size: .72em;
}
#ex .ex_detail {
    font-weight: 700;
    text-align: center;
}
#ex .ex_detail_no {
    font-size: min(7.5vw, 3.5rem);
    line-height: 1.4;
	margin-top: .5em;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 5%;
}
#ex .ex_detail_no .no {
    font-size: 1.8em;
    font-weight: 400;
    margin-right: .2em;
}

.ex_detail_no_block {
	font-size: 1.5em;
}
.ex_detail_no_text {
	font-size: min(7.5vw, 2.5rem);
	display: block;
	text-align: left;
	text-indent: -1em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	#ex .ex_detail_no {
		font-size: min(7.5vw, 3.5rem);
		line-height: 1.4;
		margin-top: .5em;
		display: block;
		flex-wrap: wrap;
		justify-content: initial;
		gap: 5%;
	}
	#ex .ex_detail_no .no {
		font-size: 2.0em;
		font-weight: 400;
		margin-right: .2em;
	}

	.ex_detail_no_block {
		font-size: 1.0em;
	}
	.ex_detail_no_text {
		font-size: min(7.5vw, 2.0rem);
		display: block;
		text-align: center;
		text-indent: 0;
	}
	
    #ex .ex_head h2 {
        font-size: min(5.5vw, 3.5rem);
    }
    #ex .ex_head h3 {
        font-size: min(5vw, 3.5rem);
        padding: .3em 1.5em;
    }
    #ex .ex_detail p {
        font-size: min(4vw, 2.2rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #ex .ex_head h2 {
        font-size: min(3.8vw, 4rem);
    }
    #ex .ex_head h3 {
        font-size: min(3.5vw, 3.5rem);
    }
    #ex .ex_detail p {
        font-size: min(2.8vw, 3rem);
    }
}

/*====================================================
//// id about
====================================================*/
#about {
    background: #F2F2F0;
    margin-top: 7vw;
    position: relative;
}
#about::before {
	background: #fff url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1200 83"><path fill="%23f2f2f0" d="M0,0v83h1200V0s-212.85,81-595,81S0,0,0,0Z" /></svg>') no-repeat center bottom / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        bottom: 100%;
        left: 0;
    width: 100%;
    height: 7vw;
}
#about .innerBox::after {
    background: #fff;
    border-radius: 5px;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: calc(100% - 0px);
        left: 0;
    width: 100%;
    height: 10px;
}
#about .about_head {
    text-align: center;
}
#about .about_head h2 {
    font-weight: 900;
    letter-spacing: .1em;
    line-height: 1.8;
    margin-bottom: 1em;

	-webkit-text-decoration: underline dotted .1em #9BA7C6;
	text-decoration: underline dotted .1em #9BA7C6;
	text-underline-position: under;
	text-underline-offset: .3em;

}
#about .about_txt {
    letter-spacing: .1em;
    text-align: center;
}
#about .about_txt p + p {
    margin-top: 2em;
}
#about .about_txt .underline {
    line-height: 2.4;
	-webkit-text-decoration: underline dotted .1em #9BA7C6;
	text-decoration: underline dotted .1em #9BA7C6;
	text-underline-position: under;
	text-underline-offset: .3em;
}
#about .about_signature a {
    background: var(--blue);
    border: solid 10px var(--blue);
    border-radius: min(2vw, 10px);
    color: #fff;
    display: block;
    font-size: min(6vw, 4rem);
    font-weight: 700;
    margin: 1em auto 1.5em;
    padding: .5em .5em;
    text-align: center;
    width: min(100%, 760px);
}
#about .about_signature_destination {
    background: #fff;
    border-radius: min(3vw, 15px);
    margin: auto;
    max-width: 1000px;
    padding: min(6vw, 80px) min(3vw, 60px);
}
#about .about_signature_destination p {
    font-size: min(3.8vw, 2rem);
    margin-bottom: .8em;
}
#about .about_signature_destination .detail {
    font-size: min(4.4vw, 3rem);
    font-weight: 700;
}
#about .about_signature_destination .detail dt {
    background: #E0E1E3;
    border-radius: 2em;
    margin-bottom: .3em;
    padding: .15em;
    text-align: center;
}
#about .about_signature_destination .attention {
    margin-top: .8em;
}
#about .about_signature_destination .attention ul li {
    position: relative;
	padding-left: 1.0em;
}
#about .about_signature_destination .attention ul li::before {
	content: '\30FB';
	display: block;
	margin: auto;
	position: absolute;
		top: 0;
		left: 0;
	width: 1em;
	height: 1em;
}
#about .about_signature a:active {
    background: #fff;
    border-color: var(--orange);
    color: var(--orange);
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #about .about_head h2 {
        font-size: min(6.5vw, 3.5rem);
    }
    #about .about_txt {
        font-size: min(3.9vw, 2.0rem);
    }
    #about .about_signature_destination .detail {
        margin: 1.5em 0;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #about .about_head h2 {
        font-size: min(4.2vw, 3.5rem);
    }
    #about .about_txt {
        font-size: min(2.3vw, 2.0rem);
    }
    #about .about_signature_destination .attention {
        display: grid;
            grid-gap: 0 2em;
            grid-template-columns: auto 1fr;
        font-size: 1.8rem;
    }
    #about .about_signature_destination .attention dt {
        white-space: nowrap;
    }
    #about .about_signature_destination .attention ul {
        display: flex;
            flex-wrap: wrap;
            grid-gap: .3em 2em;
    }
}

@media (hover: hover) {
    #about .about_signature a:hover {
        background: var(--orange);
        border-color: var(--orange);
        color: #fff;
    }
}

/*====================================================
//// id report
====================================================*/
#report {
    background: #F2F2F0;
}
#report .innerBox {
    width: min(90%, 1100px);
}
#report .report_head h2 {
    margin-bottom: 1em;
    text-align: center;
}
#report .report_btn a {
    background: var(--beige);
    border: solid 5px var(--beige);
    border-radius: 3em;
    color: #fff;
    display: block;
    font-size: min(5vw, 2rem);
    font-weight: 700;
    margin: 1.5em auto;
    padding: .6em;
    text-align: center;
    width: min(100%, 500px);
}
#report .report_btn a:active {
    border: solid 5px var(--orange);
    background: #fff;
    color: var(--orange);
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #report .report_head h2 {
        font-size: min(6.5vw, 3rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #report .report_head h2 {
        font-size: min(3vw, 3rem);
    }
}

@media (hover: hover) {
    #report .report_btn a:hover {
        background: var(--orange);
        border: solid 5px var(--orange);
        color: #fff;
    }
}
/*====================================================
//// id faq
====================================================*/
#faq {
    background: #fff;
    padding-top: 3vw;
}
#faq::before {
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1200 83"><path fill="%23f2f2f0" d="M0,0v83h1200V0s-212.85,81-595,81S0,0,0,0Z" /></svg>') no-repeat center bottom / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: -1px;
        left: 0;
    transform: scale(1, -1);
    width: 100%;
    height: 7vw;
}
#faq .faq_head h2 {
    margin-bottom: .8em;
    text-align: center;
}
#faq .faq_list {
    display: grid;
    grid-gap: 15px;
    margin: auto;
    width: min(100%, 520px);
}
#faq .faq_list a {
    background: var(--l_blue);
    border: solid 5px var(--l_blue);
    border-radius: 3em;
    color: #fff;
    display: block;
    font-size: min(3.9vw, 1.8rem);
    font-weight: 700;
    line-height: 1.4;
    padding: .8em;
    text-align: center;
}
#faq .faq_list a:active {
    border: solid 5px var(--orange);
    background: #fff;
    color: var(--orange);
}

.thanks {
	text-align: center;
	font-size: min(6vw, 3.5rem);
	font-weight: 900;
	background: #ffe7e8;
	color: #c21f1f;
	margin-top: 2em;
	padding: 2em .3em;
	border: 4px solid #fff;
	outline: 4px solid #f5b0b1;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #faq .faq_head h2 {
        font-size: min(6.5vw, 3rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #faq .faq_head h2 {
        font-size: min(3vw, 3rem);
    }
}
@media (hover: hover) {
    #faq .faq_list a:hover {
        background: var(--orange);
        border: solid 5px var(--orange);
        color: #fff;
    }
}
/*====================================================
//// id xxx
====================================================*/

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}
