@charset "utf-8";
/*------------------------------------------------------------
	price
------------------------------------------------------------*/
#gNavi li:nth-child(3) .animate {
    opacity: 1;
}
#main {
    margin-bottom: 11.2rem;
    overflow: visible;
}
#main .content {
    max-width: 106.8rem;
}
#main .topBox {
    margin-bottom: 14.5rem;
    position: relative;
}
#main .topBox .img {
    margin-top: 4rem;
    width: 35.72%;
    max-width: 48.8rem;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    overflow: hidden;
}
#main .topBox .img > * {
    opacity: 0;
    transform: translateX(2.67rem);
}
#main .topBox .img.isShow > * {
    animation: imgIn .5s linear forwards;
}
@keyframes imgIn {
    0% {
        opacity: 0;
        transform: translateX(2.67rem);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
#main .topBox .img .gif {
    position: absolute;
	left: 22.5%;
	top: 24.4%;
	width: 37%;
}
#main .topBox .content {
    max-width: 102.8rem;
}
#main .topBox .topText {
    margin-bottom: 4.9rem;
    width: 74rem;
    font-size: 2rem;
    letter-spacing: 0.28em;
    line-height: 1.8;
    text-align: center;
}
#main .topBox .textBox {
    padding: 3.3rem 7.1rem 4.6rem;
    position: relative;
    border-radius: 2.5rem;
    background: #fff;
}
#main .topBox .textBox .arrow {
    width: 10.4rem;
    position: absolute;
    right: 38.4%;
    bottom: -12.4rem;
}
#main .topBox .textBox .subBox {
    max-width: 63.4rem;
}
#main .topBox .textBox p {
    font-size: 1.8rem;
    letter-spacing: 0.06em;
    text-align: center;
}
#main .topBox .textBox .title {
    margin-bottom: 1.3rem;
    position: relative;
    color: #e9699f;
    font-size: 3.682rem;
    letter-spacing: 0.12em;
    line-height: 1.2;
    z-index: 1;
}
#main .topBox .textBox .title::before {
    width: 100%;
    height: 1.2rem;
    position: absolute;
    left: 0;
    bottom: 0;
    background: #eee884;
    content: "";
    z-index: -1;
}
#main .topBox .textBox .title .big {
	margin-left: 1.8rem;
    font-size: 4.627rem;
    letter-spacing: 0.12em;
}
#main .topBox .textBox .text {
    margin-bottom: 0.9rem;
    font-weight: bold;
    font-family: 'Noto Sans JP', sans-serif;
}
#main .topBox .textBox .text .sub01 {
	margin-left: 1rem;
}
#main .topBox .textBox .text .sub02 {
    margin-left: 1rem;
    display: inline-block;
    vertical-align: -0.3rem;
    font-size: 2.218rem;
    letter-spacing: 0.06em;
}
#main .topBox .textBox .text small {
    display: inline-block;
    vertical-align: 0;
    font-size: 1.618rem;
    letter-spacing: 0.06em;
}
#main .topBox .textBox .text02 {
	padding: 2.8rem 0 2rem;
	color: #E66B9E;
	font-size: 2.3rem;
	background: url(../img/common/icon09.png) no-repeat center top/2.6rem auto;
}
#main .topBox .textBox .text02 span {
	margin: 0 0.5rem 0 1rem;
	font-size: 3.3rem;
}
#main .topBox .textBox dl {
    padding: 1.3rem 2.9rem;
    display: flex;
    align-items: center;
    border-radius: 1rem;
    background: #e1dedc;
}
#main .topBox .textBox dt {
    margin-right: 1.8rem;
    width: 4.2rem;
    flex: none;
}
#main .topBox .textBox dd li {
    padding-left: 0.8em;
    text-indent: -0.8em;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    font-family: 'Noto Sans JP', sans-serif;
}
#main .free h3 {
    margin-bottom: 1.6rem;
    font-size: 3.8rem;
    letter-spacing: 0.28em;
    text-align: center;
}
#main .free h3 span {
    padding: 0 3.7rem;
    display: inline-block;
    vertical-align: top;
    background: url(../img/common/icon04.png) no-repeat left bottom 0.8rem / 3.2rem auto, url(../img/common/icon05.png) no-repeat right bottom 0.6rem / 3.4rem auto;
}
#main .free .ctrText {
    margin-bottom: 6.7rem;
    font-size: 2rem;
    letter-spacing: 0.22em;
    line-height: 1.5;
    text-align: center;
}
#main .free .peoList {
    margin-bottom: 5.8rem;
    gap: 1rem 11.2rem;
}
#main .free .peoList li {
    width: 27.5rem;
}
#main .free .peoList li:nth-child(2) {
    transition-delay: .3s;
}
#main .free .peoList li .phoBox {
    margin-bottom: 1.8rem;
}
#main .free .peoList li .txtBox {
    margin: 0 0.7rem;
}
#main .free .peoList li .ttl {
    margin-bottom: 1.4rem;
    color: #e97aa9;
    font-size: 3.2rem;
    letter-spacing: 0.24em;
    line-height: 1.09375;
    text-align: center;
}
#main .free .peoList li .ttl small {
    margin-top: 0.5rem;
    display: block;
    color: #37516e;
    font-size: 2rem;
    letter-spacing: 0.22em;
}
#main .free .peoList li p:not(.ttl) {
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.714;
    text-align: justify;
    font-family: 'Noto Sans JP', sans-serif;
}
#main .free .borderBox {
    padding: 3.4rem 4.2rem 4.2rem;
    border-radius: 3rem;
    border: 0.5rem solid #d6d2d0;
}
#main .free .borderBox h4 {
    margin-bottom: 1.6rem;
    font-size: 2.4rem;
    letter-spacing: 0.28em;
    text-align: center;
}
#main .free .borderBox .midTxt {
	text-align: center;
	font-size: 1.8rem;
	margin-bottom: 3.6rem;
}
#main .free .borderBox .textList {
    margin-bottom: 3.4rem;
    gap: 2rem;
}
#main .free .borderBox .textList li {
    padding: 2.5rem 2.5rem 2.2rem;
    width: calc((100% - 2rem) / 2);
    text-align: center;
    border-radius: 1rem;
    background: #fff;
    box-sizing: border-box;
}
#main .free .borderBox .textList li .ttl {
    margin-bottom: 1.2rem;
    color: #e97aa9;
    font-size: 2.4rem;
    letter-spacing: 0.08em;
    font-family: 'mplus-medium';
}
#main .free .borderBox .textList li .priceTxt {
    margin-bottom: 1.8rem;
    color: #172d55;
    font-size: 4.875rem;
    line-height: 1;
	letter-spacing: 0;
    font-family: 'mplus-medium';
}
#main .free .borderBox .textList li .priceTxt.yasuku {
    margin-top:1rem;
    font-size: 2.6rem;
}
#main .free .borderBox .textList li .priceTxt .line {
    display: inline-block;
    vertical-align: top;
    position: relative;
    z-index: 1;
}
#main .free .borderBox .textList li .priceTxt .line::before {
    width: 100%;
    height: 1rem;
    position: absolute;
    left: 0;
    bottom: 0.1rem;
    background: #eee884;
    content: "";
    z-index: -1;
}
#main .free .borderBox .textList li .priceTxt small {
    margin-left: 0.3rem;
    font-size: 2.85rem;
}
#main .free .borderBox .textList li .priceTxt .line01 {
    margin-left: 4rem;
    position: relative;
    font-size: 3.1rem;
}
#main .free .borderBox .textList li .priceTxt .line01::after {
    width: 1.9rem;
    height: 1.9rem;
    position: absolute;
    left: -2.7rem;
    top: 1.6rem;
    background: url(../img/price/icon01.png) no-repeat left center / cover;
    content: "";
}
#main .free .borderBox .textList li .priceTxt .line01 .sm01 {
    margin: 0.1rem 0 0.3rem;
    font-size: 1.285rem;
    display: block;
}
#main .free .borderBox .textList li .priceTxt .line01 .sm02 {
    font-size: 2.386rem;
}
#main .free .borderBox .textList li .txt {
    font-size: 1.722rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    font-family: 'Noto Sans JP', sans-serif;
}
#main .free .borderBox .textList li .txt img {
    margin: 0.3rem 0.5rem 0 0;
    width: 1.9rem;
    display: inline-block;
    vertical-align: top;
}
@media all and (min-width: 768px) and (max-width: 1023px) {
	#main .topBox .textBox dd li {
		font-size: 1.5rem;
	}
}
@media all and (max-width: 767px) {
    #main {
        margin-bottom: 8.5rem;
    }
    #main .content {
        max-width: inherit !important;
    }
    #main .headLine01 {
        margin-bottom: 4.9rem;
    }
    #main .topBox {
        margin-bottom: 12.5rem;
    }
    #main .topBox .img {
        margin-top: -4.7rem;
        width: 47.72%;
        max-width: 17.9rem;
    }
    #main .topBox .img .gif {
       width: 41.5%;
		left: 42.1%;
		top: 30.5%;
        transform: rotate(2deg);
    }
    #main .topBox .topText {
        margin-bottom: 4.7rem;
        width: auto;
        font-size: 1.6rem;
        line-height: 1.75;
    }
    #main .topBox .textBox {
        padding: 3.7rem 1.5rem 1.5rem;
        border-radius: 2.7rem;
    }
    #main .topBox .textBox .arrow {
        width: 7.9rem;
        right: 0.05rem;
        bottom: -10.4rem;
    }
    #main .topBox .textBox .subBox {
        max-width: inherit;
    }
    #main .topBox .textBox p {
        font-size: 1.4rem;
        letter-spacing: 0.04em;
    }
    #main .topBox .textBox .title {
        margin: 0 10rem 1.3rem 0;
        font-size: 2.326rem;
        letter-spacing: 0.1em;
        line-height: 1.514;
    }
    #main .topBox .textBox .title::before {
        display: none;
    }
    #main .topBox .textBox .title .ttl {
        display: inline;
        background: linear-gradient(#efe985, #efe985) no-repeat center bottom / 100% 1rem;
    }
    #main .topBox .textBox .title .sm {
        font-size: 2.227rem;
        letter-spacing: 0.1em;
    }
    #main .topBox .textBox .title .big {
		margin-left: 0;
        font-size: 2.799rem;
        letter-spacing: 0.1em;
    }
    #main .topBox .textBox .text {
        margin: 0 10rem 1.2rem 1rem;
        line-height: 1.3;
    }
    #main .topBox .textBox .text .sub01 {
		margin-left: 0;
	}
    #main .topBox .textBox .text .sub02 {
        margin-left: 0.3rem;
        vertical-align: -0.3rem;
        font-size: 2.271rem;
    }
    #main .topBox .textBox .text small {
        display: inline-block;
        vertical-align: 0;
        font-size: 1.5rem;
    }
	#main .topBox .textBox .text02 {
		margin-right: 10rem;
		padding: 2.5rem 0 2.5rem;
		font-size: 1.6rem;
		letter-spacing: 0.06em;
		background-size: 1.7rem auto;
	}
	#main .topBox .textBox .text02 span {
		margin: 0 0.5rem 0 1rem;
		font-size: 2.3rem;
	}
    #main .topBox .textBox dl {
        padding: 2.1rem 0.5rem 1.7rem 2.2rem;
        border-radius: 1.3rem;
    }
    #main .topBox .textBox dt {
        margin-right: 1.2rem;
		width: 5.3rem;
    }
    #main .topBox .textBox dd li {
        font-size: 1.2rem;
        letter-spacing: 0.09em;
        line-height: 1.33;
		padding-left: 0.6em;
		text-indent: -0.6em;
    }
    #main .topBox .textBox dd li:not(:last-child) {
        margin-bottom: 0.7rem;
    }
    #main .free h3 {
        margin-bottom: 2.7rem;
        font-size: 3rem;
        line-height: 1.2667;
    }
    #main .free h3 span {
        padding: 0 5rem;
        background-size: 3.2rem auto, 3.4rem auto;
        background-position: left center, right center;
    }
    #main .free .ctrText {
        margin-bottom: 4.6rem;
        font-size: 1.5rem;
        letter-spacing: 0.2em;
        line-height: 1.7333;
    }
    #main .free .peoList {
        margin-bottom: 8.8rem;
        gap: 1rem 7rem;
    }
    #main .free .peoList li {
        width: 23rem;
    }
    #main .free .peoList li:not(:last-child) {
        margin-bottom: 4.2rem;
    }
    #main .free .peoList li .phoBox {
        margin-bottom: 2.2rem;
    }
    #main .free .peoList li .txtBox {
        margin: 0;
    }
    #main .free .peoList li .ttl {
        margin-bottom: 1.6rem;
        font-size: 2.7rem;
        line-height: 1.09375;
    }
    #main .free .peoList li .ttl small {
        margin-top: 0.3rem;
        font-size: 1.7rem;
    }
    #main .free .peoList li p:not(.ttl) {
        line-height: 1.5714;
    }
    #main .free .borderBox {
        padding: 3.7rem 1rem 6.3rem;
        border-radius: 3.6rem;
    }
    #main .free .borderBox h4 {
        font-size: 2.4rem;
        line-height: 1.3183;
    }
    #main .free .borderBox .textList {
        margin-bottom: 3.4rem;
        gap: 0;
        display: block;
    }
    #main .free .borderBox .textList li {
        padding: 2.5rem 0.5rem 2.4rem;
        width: auto;
        border-radius: 1.3rem;
    }
    #main .free .borderBox .textList li:not(:last-child) {
        margin-bottom: 0.8rem;
    }
    #main .free .borderBox .textList li .ttl {
        margin-bottom: 0.8rem;
        font-size: 2.1rem;
    }
    #main .free .borderBox .textList li .priceTxt {
        margin-bottom: 1.8rem;
        font-size: 3.5rem;
        letter-spacing: 0.04em;
    }
    #main .free .borderBox .textList li .priceTxt.yasuku {
        margin-bottom: 1.8rem;
        font-size: 2.4rem;
    }
    #main .free .borderBox .textList li .priceTxt.yasuku.one{
        margin-bottom: 0;
        font-size: 2.4rem;
    }
    #main .free .borderBox .textList li .priceTxt .line::before {
        height: 0.7rem;
        bottom: 0;
    }
    #main .free .borderBox .textList li .priceTxt small {
        margin-left: 0;
        font-size: 2.1rem;
        letter-spacing: 0;
    }
    #main .free .borderBox .textList li .priceTxt .line01 {
        margin-left: 3rem;
        font-size: 2.3rem;
    }
    #main .free .borderBox .textList li .priceTxt .line01::after {
        width: 1.6rem;
        height: 1.6rem;
        left: -2.3rem;
        top: 1.2rem;
        background-image: url(../img/price/icon01_sp.png);
    }
    #main .free .borderBox .textList li .priceTxt .line01 .sm01 {
        margin: 0 0 0.1rem;
        font-size: 1rem;
    }
    #main .free .borderBox .textList li .priceTxt .line01 .sm02 {
        font-size: 1.6rem;
    }
    #main .free .borderBox .textList li .txt {
        font-size: 1.3rem;
        letter-spacing: 0.04em;
        font-weight: 700;
    }
    #main .free .borderBox .textList li .txt img {
        margin: 0.4rem 0.3rem 0 0;
        width: 1.4rem;
    }
    #main .free .comBtn03 a {
        font-size: 1.5rem;
    }
    #main .free .comBtn03 a span {
        padding: 0.1rem 3.7rem 0 1rem;
    }
}