@charset "utf-8";
/* CSS Document */

ol, ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

img{
	max-width: 100%;
}

/*---------------------------------
共通スタイル
---------------------------------*/
:root{
	--base-text-color:#303a49;
	--text-red: #a0123f;
    --bg-red: #a0123d;
    --fv-text-color: #272940;
    --fv-text-color: #993333;
    --cv-text-color: #303c61;
    --color-navy: #133960;
	--base-font: "Noto Sans JP", sans-serif;
	--font-serif: "Noto Serif JP", serif;
    --font-en: "Libre Bodoni", serif;
}

body{
    line-height: 1;
    font-weight: 500;
}

#rikonchoutei_lp{
	color: var(--base-text-color);
    font-family: var(--base-font);
    font-size: 16px;
	font-style: normal;
    line-height: 1.75;
}

#rikonchoutei_lp a{
	color: inherit;
}

#rikonchoutei_lp img{
	vertical-align: middle;
}

.inner{
	width: 100%;
	max-width: 1100px;
	padding-inline: 50px;
	margin-inline: auto;
}

.block{
	display: block;
}

.inbl {
	display: inline-block;
}

.line {
	background: linear-gradient(transparent 70%, var(--text-line) 70%);
}

.text-red{
    color: var(--text-red);
    font-weight: bold;
}

.bold{
    font-weight: bold;
}

.section{
	padding-top: 150px ;
}

.section__title {
    font-family: var(--font-serif);
    font-size: 48px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.02em;
    text-align: center;
    margin-left: 0.1em;
}

.section__title .--deco{
	display: inline-block;
    padding-left: 1.85em;
	position: relative;
}

.section__title .--deco::before {
    content: "";
    display: block;
    background-image: url("image/lp_rikonchoutei/section-title-deco.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 1.6875em;
    aspect-ratio: 81/52;
    position: absolute;
    top: 55%;
    left: 0;
    transform: translateY(-50%);
}

.webp .section__title .--deco::before {
    background-image: url("image/lp_rikonchoutei/section-title-deco.png.webp");
}

a[href^="tel:"] {
    pointer-events: none;
}

@media screen and (max-width: 1499px) {
	.section{
		padding-top: max(80px, 10vw);
	}
}

@media screen and (max-width: 1194px) {
    .section__title {
        font-size: max(36px, 4vw);
    }
}

@media screen and (max-width: 768px) {
	.inner{
		padding-inline: 5vw;
	}

	.section{
		padding-top: max(50px, 10.4vw);
        padding-bottom: max(60px, 10.4vw);
	}
}
@media screen and (max-width: 767px){
    a[href^="tel:"] {
        pointer-events:all;
    }
}
@media screen and (max-width: 599px) {
	.section__title {
		font-size: max(28px, 6vw);
	}
}

@media screen and (max-width: 399px) {
	.section__title {
		font-size: max(22px, 7vw);
	}
}

/*---------------------------------
CV
---------------------------------*/
footer .cv{
    font-family: var(--base-font);
}

footer .cv .cv_inner_bottom-link a,
footer .cv .cv__tel{
    color: var(--cv-text-color);
}

.cv{
	background-image: url("image/lp_rikonchoutei/cv-bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
	color: var(--cv-text-color);
    font-size: 14px;
	padding-top: 100px;
	padding-bottom: 45px;
}

.webp .cv{
	background-image: url("image/lp_rikonchoutei/cv-bg.jpg.webp");
}

.cv_body-wrap{
	position: relative;
}

.cv_body{
	background-color: #fff;
	border-radius: 18px;
}

.cv_info{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #9A0435;
    background: linear-gradient(0deg,rgba(154, 4, 53, 1) 0%, rgba(182, 50, 95, 1) 100%);
    border:  0.1538em solid #fff;
	border-radius: 50%;
    font-size: 26px;
	line-height: 1;
	width: 6.5em;
	aspect-ratio: 1/1;
	position: absolute;
	top: -66px;
	left: -50px;
	z-index: 1;
    text-align: center;
}

.cv_info .txt-sp{
    display: none;
}

.cv_info-top{
	color: #fff;
	letter-spacing: -0.03em;
	margin-top: 5px;
    font-size: 18px;
    line-height: 1.2;
}

.cv_info-bottom{
	color: #e4dc61;
    font-size: 24px;
	margin-top: -0.1em;
}

.cv_info-bottom .--large{
	font-size: 1.785em;
	letter-spacing: -0.025em;
}

.cv__heading{
    font-family: var(--font-serif);
    font-size:  1.7142em;
	font-weight: 600;
    letter-spacing: 0.07em;
	padding-top: 1.5em;
	padding-inline: 1em;
	text-align: center;
}

.cv__heading-inner{
	width: fit-content;
	margin-inline: auto;
}

.cv_inner {
    padding: 0.4em 3.7em 2.7em 4.2em;
}

.cv_inner-top{
    font-family: var(--font-serif);
    font-size: 1.285em;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.5;
	text-align: center;
    padding-left: 0.6em;
}

.cv_inner_bottom{
	margin-top: 15px;
	display: flex;
	justify-content: space-between;
    align-items: center;
	gap: 45px;
	line-height: 1;
}

.cv__tel{
    font-family: var(--font-serif);
    /*font-size: 5em;*/
    font-size: clamp(72px, 7vw, 80px);
    font-weight: bold;
    letter-spacing: 0.03em;
    padding-left: 0.8em;
    position: relative;
}
	.cv__tel .small {
		font-size: 0.94em;
	}

.cv__tel::before {
    content: "";
    display: block;
    background-image: url("image/lp_rikonchoutei/cv-icon-tel.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 0.85em;
    aspect-ratio: 44/58;
    position: absolute;
    left: 0;
    top: 69%;
    transform: translateY(-50%);
}

.cv__tel-text {
    background-color: #f5f3f3;
    letter-spacing: 0.05em;
    text-align: center;
    padding-top: 1em;
    padding-bottom: 0.8em;
    margin-top: 0.9em;
    margin-left: 0.5em;
    margin-right: 0.3em;
}

/*.cv_inner_bottom-mail {
    flex: 1;
    padding-right: 1em;
}*/

.cv_inner_bottom-link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 1em;
    gap: 15px;
}

.cv_inner_bottom-link a{
    display: flex;
    align-items: center;
}

.cv_inner_bottom-link .sp-btn{
    display: none;
}

/*.cv__mail-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #ad2651;
    border-radius: 10px;
    color: #fff !important;
    font-size: 1.5714em;
    letter-spacing: 0.1em;
    padding: 1.1em 0.7em 1em 0.8em;
}*/

footer .cv__mail-btn{
    align-items: center;
}

/*.cv__mail-icon{
	width: 1.045em;
	aspect-ratio: 23/18;
    position: relative;
    top: -0.1em;
}*/

.cv__mail-icon{
    width: 1.8em;
    margin-right: 10px;
}

.cv__mail-text{
	margin-top: -0.2em;
    font-size: 18px;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
}

.cv_caution {
    color: #fff;
    font-family: var(--noto);
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 1.715;
    text-align: center;
    margin-top: 15px;
}

.cv_caution a{
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.5em;
}

@media screen and (max-width: 1194px) {
	.cv_info {
		left: -40px;
	}

	.cv_inner_bottom {
		gap: 3.7vw;
	}

	/*.cv_inner_bottom-mail {
		padding-right: 0;
	}*/

	.cv__heading-inner {
		position: relative;
		left: 3vw;
	}
}

@media screen and (max-width: 1024px) {
	.cv {
		padding-top: 60px;
	}

	.cv_info {
		flex-direction: column;
		width: fit-content;
		aspect-ratio: auto;
		border-radius: 10px;
		gap: 5px;
        align-items: center;
		font-size: 2.7vw;
		padding: 0.4em 1.5em 0.3em;
		white-space: nowrap;
		top: auto;
		position: static;
		transform: none;
		margin-inline: auto;
		margin-top: 25px;
	}
    
    .cv_info .txt-pc{
        display: none;
    }
    
    .cv_info .txt-sp{
        display: block;
    }

	.cv_info-top {
		margin-top: 0;
	}

	.cv_info-bottom {
        font-size: clamp(16px, 4vw, 20px);
		margin-top: 0;
        display: flex;
        align-items: center;
	}

    .cv_info-bottom .--large {
        font-size: 1.785em;
        letter-spacing: -0.025em;
        padding: 0 5px 0 10px;
        position: relative;
        top: 0;
    }

	.cv_inner {
		padding: 1em 3vw;
	}

	.cv_inner_bottom {
		gap: 3vw;
		margin-top: 20px;
        justify-content: space-around;
	}

	.cv__heading-inner {
		position: static;
        line-height: 1.5;
	}

	.cv_inner_bottom-tel {
		gap: 1.6vw;
	}
    
    .cv__tel{
        /*font-size: 5.86vw;*/
        font-size: clamp(50px, 6.7vw, 72px);
    }
    
    .cv_inner_bottom-link{
        padding-right: 0;
    }

	/*.cv__mail-btn {
		font-size: min(2.6vw, 22px);
        margin-top: 0;
	}*/

    .cv_caution {
        margin-top: 20px;
    }
}

@media screen and (max-width: 768px) {
	.cv {
		padding-bottom: 60px;
	}

	.cv_inner {
		padding-inline: 5vw;
        padding-bottom: 30px;
	}

	.cv_info {
        font-size: 24px;
	}

	.cv_inner_bottom {
		gap: 20px;
		flex-direction: column;
	}

	.cv__heading-top {
		font-size: 22px;
		line-height: 1.4;
	}
	.cv__heading-bottom {
		font-size: 18px;
		margin-top: 0.5em;
	}

	.cv_inner-top {
		margin-left: 0;
        padding-left: 0;
	}

	.cv_inner_bottom-tel {
		gap: 2.5vw;
		justify-content: center;
		align-items: center;
	}

	.cv__tel {
        font-size: 10vw;
        margin-left: -0.1em;
    }
		.cv__tel .small {
			font-size: 8.8vw;
		}

    .cv__tel-text {
        margin-left: 0;
        margin-right: 0;
    }
    
    .cv_inner_bottom-link{
        flex-direction: row;
        gap: 20px;
        padding-right: 0;
    }

	/*.cv__mail-btn {
		font-size: 20px;
	}*/
    
    .cv_inner_bottom-link .pc-btn{
        display: none;
    }
    .cv_inner_bottom-link .sp-btn{
        display: inline-flex;
    }

    /*.cv_inner_bottom-mail {
        width: 90%;
    }*/
    
    .cv__mail-icon{
        width: 1.4em;
        margin-right: 5px;
    }
    
    .cv__mail-text{
        font-size: clamp(14px, 3vw, 16px);
    }
}

@media screen and (max-width: 599px) {
	.cv {
		padding-bottom: 40px;
		padding-top: 40px;
	}
    .cv_info-top{
        font-size: 17px;
    }
	/*.cv_inner_bottom-mail {
		margin-top: 0;
	}*/
}

@media screen and (max-width: 499px) {
    .cv_inner-top {
        font-size: 16px;
    }

	.cv_caution {
		text-align: left;
	}

	.cv_caution .inbl{
		display: inline;
	}

	.cv_caution .sp-block{
		display: inline-block;
	}

	.cv_info {
		margin-top: 25px;
	}
    .cv_info-top{
        font-size: 16px;
    }
	.cv_caution {
		margin-top: 20px;
	}

    .cv__tel {
        font-size: 10.5vw;
    }

    .cv_inner_bottom-tel {
        width: 100%;
    }

    /*.cv_inner_bottom-mail {
        width: 100%;
    }*/

    /*.cv__mail-btn {
        padding: 1em 0.7em 0.7em 0.8em;
    }*/
    
    .cv_inner_bottom-link{
        gap: 10px;
    }
    
    .cv__mail-text{
        font-size: clamp(12px, 4vw, 14px);
    }
}

@media screen and (max-width: 399px) {
	.cv__heading {
        padding-top: 0.8em;
        padding-bottom: 0.6em;
        padding-inline: 0;
    }

    .cv__heading-inner {
        font-size: 6vw;
    }

	.cv_inner {
		padding-top: 0;
	}

	.cv_info {
		width: 100%;
		padding-inline: 0.5em;
        font-size: max(20px, 6vw);
	}

    .cv_inner {
        padding-bottom: 20px;
    }

    /*.cv__mail-btn {
        font-size: 18px;
    }*/

    /*.cv_info {
        height: 60px;
    }*/
    
    .cv_inner_bottom-link{
        gap: 5px;
    }
    
    .cv__mail-text{
        font-size: clamp(11px, 3.6vw, 14px);
    }
}

/*---------------------------------
FV
---------------------------------*/
.fv{
	background-image: url("image/lp_rikonchoutei/fv_pc_kawakami-marina_ogi-masashi.jpg");
	background-size: cover;
	background-position: center;
	height: 680px;
	position: relative;
}

.webp .fv{
	background-image: url("image/lp_rikonchoutei/fv_pc_kawakami-marina_ogi-masashi.jpg.webp");
}

.fv__body {
    position: absolute;
    top: 47.8%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.fv__body-top{
    background-color: #ad2651;
    border-radius: calc(1px / 0);
    color: #fff;
    font-size: 26px;
    line-height: 1;
    letter-spacing: 0.2em;
    text-align: center;
    width: fit-content;
    padding: 0.7em 1.5em 0.55em;
    margin-inline: auto;
}

.fv__body-top span{
    font-size: 1.3em;
    color: #fceb7c;
}

.fv__title{
    font-family: var(--font-serif);
	font-size: 54px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
    margin-top: 0.85em;
}

.fv__title-top {
    letter-spacing: 0.25em;
    margin-left: 0.25em;
}

.fv__title-top .--large{
    font-size: 1.7em;
}

.fv__title-top .--large span{
	position: relative;
}

.fv__title-top .--large span::before {
    content: "";
    display: block;
    background-color: var(--bg-red);
    width: 0.13em;
    aspect-ratio: 1/1;
    border-radius: 50%;
    position: absolute;
    top: 0.04em;
    left: 44%;
    transform: translateX(-50%);
}

.fv__title-middle {
    margin-top: 0.65em;
    letter-spacing: 0.05em;
}

.fv__title-middle .--red{
    color: var(--fv-text-color);
    font-size: 1.33em;
}

.fv__title-bottom {
    font-size: 1.24em;
    margin-top: 0.4em;
    letter-spacing: 0.05em;
}

.fv__bottom {
    background: #9A0435;
    background: linear-gradient(0deg,rgba(154, 4, 53, 1) 0%, rgba(182, 50, 95, 1) 100%);
    border-radius: 16px 16px 0 0;
    color: #fff;
    line-height: 1;
    padding: 11px 44px 12px 55px;
    position: absolute;
    bottom: 0;
    right: 42px;
}

.fv__bottom-body{
    display: flex;
    align-items: flex-end;
    gap: 32px;
}

.fv__bottom-appeal {
    font-family: var(--font-serif);
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.18em;
    position: relative;
    top: 0.3em;
}

.fv__bottom-appeal::before{
    content: "";
    display: block;
    background-color: #fff;
    width: 2px;
    height: 100%;
    position: absolute;
    right: -18px;
    top: 50%;
    transform: translateY(-50%);
}

.fv__bottom-appeal span{
    font-size: 1.6em;
}

.fv__bottom-detail{
    font-size: 18px;
}

.fv__bottom-detail-title {
    letter-spacing: 0.02em;
    position: relative;
    top: 0.1em;
}

.fv__bottom-detail-num{
    font-family: var(--font-serif);
    font-size: 41px;
    font-weight: 600;
    padding-left: 0.5em;
    color: rgb(255, 255, 102);
}

.fv__bottom-detail-num .info_divorce_cumulative_comm{
    color: #ffff66;
    font-size: 1.83em;
    padding-right: 0.5em;
    letter-spacing: -0.02em;
}

.fv__bottom-annotation{
    font-size: 12px;
    text-align: right;
    margin-top: 0.6em;
}

@media (min-width: 1025px) and (max-width: 1699px) {
    .fv{
        aspect-ratio: 1700/680;
        height: auto;
    }

    .fv__body-top {
        font-size: max(16px,1.53vw);
    }

    .fv__title {
        font-size: 3.17vw;
    }

    .fv__bottom {
        right: 2.47vw;
        padding: 0.647vw 2.588vw 0.7vw 3.235vw;
    }

    .fv__bottom-appeal {
        font-size: 1.176vw;
    }

    .fv__bottom-detail {
        font-size: 1.059vw;
    }

    .fv__bottom-detail-num {
        font-size: 2.8vw;
    }

    .fv__bottom-annotation {
        font-size: max(10px, 0.7vw);
    }
}

@media screen and (max-width: 1399px) {
    .fv{
        background-image: url("image/lp_rikonchoutei/fv_tb_kawakami-marina_ogi-masashi.jpg");
        height: auto;
        aspect-ratio: 1024/680;
    }

    .webp .fv{
        background-image: url("image/lp_rikonchoutei/fv_tb_kawakami-marina_ogi-masashi.jpg.webp");
    }

    .fv__body{
        position: static;
        transform: none;
        padding-top: 14vw;
        width: 100%;
    }

    .fv__body-top {
        font-size: 2.34375vw;
    }

    .fv__title {
        font-size: 4.8828vw;
        padding-left: 0.2vw;
    }

    .fv__bottom {
        right: 1.4vw;
        padding: 0.9vw 3.6vw 1.17vw 4.29vw;
        border-radius: 1.75vw 1.75vw 0 0;
    }

    .fv__bottom-body {
        gap: 2.54vw;
    }

    .fv__bottom-appeal {
        font-size: 1.64vw;
        letter-spacing: 0.2em;
    }

    .fv__bottom-appeal::before {
        right: -1.5vw;
    }

    .fv__bottom-detail {
        font-size: 1.5625vw;
    }

    .fv__bottom-detail-num {
        font-size: 3.45vw;
        padding-left: 0.4em;
    }

    .fv__bottom-detail-num .info_divorce_cumulative_comm {
        padding-right: 0.3em;
    }

    .fv__bottom-annotation {
        font-size: 10px;
    }
}

@media screen and (max-width: 768px) {
    .fv{
        background-image: url("image/lp_rikonchoutei/fv_sp_kawakami-marina_ogi-masashi.jpg");
        aspect-ratio: 1200/1380;
    }

    .webp .fv{
        background-image: url("image/lp_rikonchoutei/fv_sp_kawakami-marina_ogi-masashi.jpg.webp");
    }

    .fv__body{
        padding-top: 17.5vw;
    }

    .fv__body-top{
        font-size: max(11px, 2.833vw);
        padding-inline: 1.1em;
    }

    .fv__title {
        font-size: max(20px, 6.1225vw);
        text-shadow: 0 0 0.5em #fff, 0 0 0.5em #fff, 0 0 0.5em #fff, 0 0 0.3em #fff, 0 0 0.2em #fff;
        margin-top: 4.3vw;
    }

    .fv__bottom {
        border-radius: 3vw;
        width: max(190px, 46vw);
        margin-inline: auto;
        margin-top: 3.33vw;
        padding: 1.7vw 1.9vw 1.8vw;
        position: relative;
        right: 0;
    }

    .fv__bottom-detail::before,.fv__bottom-detail::after {
        content: "";
        display: block;
        background-repeat: no-repeat;
        background-size: contain;
        width: max(32px, 7.666vw);
        aspect-ratio: 184/304;
        position: absolute;
        top: -0.8vw;
    }

    .fv__bottom-body {
        gap: 2.3vw;
        flex-direction: column;
        align-items: center;
    }

    .fv__bottom-appeal {
        font-size: max(13px, 3vw);
        letter-spacing: 0.15em;
        position: static;
    }

    .fv__bottom-appeal span {
        font-size: 1em;
    }

    .fv__bottom-appeal::before{
        content: none;
    }

    .fv__bottom-detail {
        font-size: max(12px, 2.5vw);
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.7vw;
        width: 100%;
        position: relative;
    }

    .fv__bottom-detail::before {
        background-image: url("image/lp_rikonchoutei/fv__bottom-deco-left.png");
        left: 0;
    }

    .webp .fv__bottom-detail::before {
        background-image: url("image/lp_rikonchoutei/fv__bottom-deco-left.png.webp");
    }

    .fv__bottom-detail::after {
        background-image: url("image/lp_rikonchoutei/fv__bottom-deco-right.png");
        right: 0;
    }


    .webp .fv__bottom-detail::after {
        background-image: url("image/lp_rikonchoutei/fv__bottom-deco-right.png.webp");
    }

    .fv__bottom-detail-title {
        position: static;
    }

    .fv__bottom-detail-num {
        font-size: max(20px, 6.764vw);
        padding-left: 0;
    }

    .fv__bottom-detail-num .info_divorce_cumulative_comm {
        letter-spacing: 0.03em;
        padding-inline: 0.1em;
    }

    .fv__bottom-annotation {
        font-size: max(8px, 1.677vw);
        text-align: center;
        margin-top: 2.1vw;
    }
}

@media screen and (max-width: 399px) {
    .fv__body {
        padding-top: 18vw;
    }

    .fv__bottom {
        padding: 1.7vw 1vw 1.8vw;
    }
}

/*---------------------------------
info
---------------------------------*/
.info__lead{
    letter-spacing: 0.03em;
    padding-top: 145px;
    padding-bottom: 145px;
    position: relative;
}

.info__lead::before {
    content: "";
    display: block;
    background-image: url("image/lp_rikonchoutei/info-bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.webp .info__lead::before {
    background-image: url("image/lp_rikonchoutei/info-bg.jpg.webp");
}

.info__title {
    font-family: var(--font-serif);
    font-size: 36px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.04em;
    text-align: center;
    text-shadow: 0 0 0.5em #fff, 0 0 0.5em #fff,0 0 0.5em #fff, 0 0 0.5em #fff, 0 0 0.3em #fff, 0 0 0.2em #fff;
}

.info__title span{
    font-size: 1.4722em;
}

.info__text{
    background-color: #fff;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.03em;
    text-align: center;
    width: fit-content;
    padding: 0.3em 0.4em 0.25em;
    margin-top: 20px;
    margin-inline: auto;
}

.info__items{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin-top: 150px;
}

.info__item{
    display: flex;
    flex-direction: column-reverse;
    position: relative;
}

.info__item-order{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.1em;
    background-color: var(--bg-red);
    border-radius: 50%;
    color: #fff;
    font-family: var(--font-serif);
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: 1;
    text-align: center;
    width: 5.44em;
    height: 5.44em;
    position: absolute;
    top: -2em;
    right: -1.7em;
    z-index: 1;
}

.info__item-order span{
    font-size: 1.66em;
}

.info__item-body{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #f3ece2;
    font-size: 24px;
    min-height: 6.2em;
    padding-inline: 1em;
    padding-block: 1.2em;
}

.info__item-body p{
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.25;
    text-align: center;
}

.info__item-img img{
    height: 100%;
    width: 100%;
    object-fit: cover;
}

@media screen and (max-width: 1194px) {
    .info__lead {
        padding-top: 12vw;
        padding-bottom: 12vw;
    }

    .info__title {
        font-size: max(26px, 3.015vw);
    }

    .info__text {
        font-size: max(16px, 2.34vw);
    }

    .info__items {
        margin-top: 12.5vw;
    }

    .info__item-body {
        font-size: 22px;
    }
}

@media screen and (max-width: 1024px) {
    .info__items {
        gap: 30px;
    }

    .info__item-order {
        font-size: 16px;
    }

    .info__item-img {
        height: 140px;
    }
}

@media screen and (max-width: 768px) {
    .info__item-order {
        font-size: 15px;
    }

    .info__item-body {
        font-size: 20px;
    }
}

@media screen and (max-width: 599px) {
    .info__items {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .info__item-order {
        right: -4vw;
    }
}

@media screen and (max-width: 499px) {
    .info__title {
        font-size: clamp(20px, 5.7vw, 26px);
    }

    .info__text {
        font-size: 15px;
    }
}

@media screen and (max-width: 399px) {
    .info__text {
        margin-top: 10px;
    }

    .info__text .inbl{
        display: block;
    }

    .info__item-body {
        font-size: 18px;
        min-height: auto;
    }

    .info__item-img {
        min-height: 100px;
    }

    .info__item-order {
        font-size: 13px;
    }
}

/*---------------------------------
problems
---------------------------------*/
.problems{
    background-color: #fff;
    padding-top: 90px;
}

.problems__title{
    font-family: var(--font-serif);
    font-size: 43px;
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: 1.3;
    text-align: center;
    position: relative;
    z-index: 0;
}

.problems__title::before,.problems__title::after{
    content: "";
    display: block;
    background-color: var(--base-text-color);
    height: 1px;
    width: 2.16em;
    position: absolute;
    top: 57%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

.problems__title::before{
    left: calc(50% - 11.74em);
}

.problems__title::after{
    left: calc(50% + 11.74em);
}

.problems__items{
    margin-top: 90px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.problems__item{
    background-color: #eee6e4;
    padding: 90px 30px 45px;
    position: relative;
}

.problems__item-order{
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg-red);
    color: #fff;
    font-family: var(--font-serif);
    font-size: 48px;
    font-style: italic;
    font-weight: 500;
    line-height: 1;
    width: 1.875em;
    height: 1.875em;
    padding-right: 0.2em;
    position: absolute;
    top: -0.2em;
    left: -0.2em;
}

.problems__item-img{
    width: 100%;
    max-width: 266px;
    margin-inline: auto;
}

.problems__item-text{
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.6;
    margin-top: 2.1em;
    margin-inline: auto;
    max-width: 375px;
}

.problems__item:nth-of-type(3) .problems__item-text{
    max-width: 400px;
}

.problems__point{
    border: 1px solid var(--bg-red);
    margin-top: 120px;
    padding: 0 42px 70px;
    position: relative;
}

.problems__point-term {
    background: var(--bg-red);
    background: repeating-linear-gradient(135deg, rgba(170, 44, 82, 1), rgba(170, 44, 82, 1) 2px, rgba(160, 18, 61, 1) 0, rgba(160, 18, 61, 1) 6px);
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 0.2em;
    line-height: 1;
    padding: 0.6em 1.2em 0.6em 2.7em;
    width: fit-content;
    margin-top: -1em;
    margin-left: -0.5em;
    position: relative;
}

.problems__point-term::before {
    content: "";
    display: block;
    background-image: url("image/lp_rikonchoutei/icon-chack.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 0.9em;
    height: 0.9em;
    position: absolute;
    top: 53%;
    transform: translateY(-50%);
    left: 1.4em;
}

.webp .problems__point-term::before {
    background-image: url("image/lp_rikonchoutei/icon-chack.png.webp");
}

.problems__point-desc{
    font-family: var(--font-serif);
    font-size: 34px;
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: 1.6;
    margin-top: 35px;
}

.problems__point-desc .text-line{
    text-decoration: underline;
    text-decoration-color: #ffff99;
    text-decoration-thickness: 0.5em;
    text-underline-offset: -0.2em;
}

.problems__info{
    background-image: url("image/lp_rikonchoutei/problems-info-bg_pc_yamamoto-yusuke.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    margin-top: 90px;
    padding-top: 150px;
    padding-bottom: 170px;
}

.webp .problems__info{
    background-image: url("image/lp_rikonchoutei/problems-info-bg_pc_yamamoto-yusuke.jpg.webp");
}

.problems__info-text {
    font-family: var(--font-serif);
    font-size: 36px;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.9;
    width: fit-content;
    margin-left: auto;
    padding-right: 0.2em;
    text-shadow: 0 0 0.5em #fff, 0 0 0.5em #fff,0 0 0.5em #fff, 0 0 0.5em #fff;
}

.problems__info-text-top{
    display: block;
    width: fit-content;
    position: relative;
}

.problems__info-text-top::before {
    content: "";
    display: block;
    background-color: var(--color-navy);
    height: 2px;
    width: 98%;
    position: absolute;
    bottom: 0.1em;
    left: 50%;
    transform: translateX(-50%);
    box-shadow: 0 0 0.5em #fff, 0 0 0.5em #fff,0 0 0.5em #fff, 0 0 0.5em #fff,0 0 0.5em #fff,0 0 1em #ffff;
}

.problems__info-text-bottom{
    display: inline-block;
    position: relative;
}

.problems__info-text-bottom::before {
    content: "";
    display: block;
    background-color: var(--bg-red);
    height: 2px;
    width: 99%;
    position: absolute;
    bottom: 0.1em;
    left: 50.3%;
    transform: translateX(-50%);
    box-shadow: 0 0 0.5em #fff, 0 0 0.5em #fff,0 0 0.5em #fff, 0 0 0.5em #fff,0 0 0.5em #fff,0 0 1em #ffff;
}

.problems__info-text-bottom .--large{
    font-size: 1.333em;
    font-weight: bold;
}

@media screen and (max-width: 1194px) {
    .problems__title {
        font-size: max(34px, 3.6vw);
    }

    .problems__item-order {
        font-size: 44px;
    }

    .problems__item {
        padding-top: 80px;
    }

    .problems__item-text {
        font-size: 23px;
    }

    .problems__point-term {
        font-size: max(20px, 2.6vw);
    }

    .problems__point-desc {
        font-size: clamp(22px, 2.95vw, 34px);
        margin-top: 30px;
    }

    .problems__point {
        margin-top: 100px;
        padding: 0 3.52vw 5.8vw;
    }

    .problems__info {
        margin-top: max(40px, 7.5vw);
        padding-top: 12.5vw;
        padding-bottom: 14vw;
    }

    .problems__info-text {
        font-size: 3vw;
    }
}

@media screen and (max-width: 1024px) {
    .problems__items {
        margin-top: 70px;
    }

    .problems__item-order {
        font-size: 40px;
    }

    .problems__item-text {
        font-size: 22px;
        max-width: 16em;
    }

    .problems__item:nth-of-type(3) .problems__item-text {
        max-width: 17em;
    }
}

@media screen and (max-width: 990px) {
    .problems__items {
        gap: 4vw;
    }

    .problems__item-text {
        font-size: 2.2vw;
    }

    .problems__item {
        padding-inline: 2.5vw;
    }

    .problems__item-order {
        font-size: 36px;
    }
}

@media screen and (max-width: 960px) {
    .problems__title {
        width: fit-content;
        margin-inline: auto;
    }

    .problems__title .tab-block{
        display: block;
    }

    .problems__title::before {
        left: calc(50% - 9em);
    }

    .problems__title::after {
        left: calc(50% + 9em);
    }
}

@media screen and (max-width: 768px) {
    .problems {
        padding-top: 70px;
    }

    .problems__title {
        font-size: max(26px,4.42vw);
    }

    .problems__items {
        grid-template-columns: 1fr;
        gap: 40px;
        margin-top: 60px;
    }

    .problems__item-text {
        font-size: 20px;
        max-width: 80% !important;
        text-align: center;
    }

    .problems__point {
        margin-top: 80px;
        padding-inline: 5vw;
    }

    .problems__point-desc{
        text-align: center;
    }

    .problems__info {
        background-image: url("image/lp_rikonchoutei/problems-info-bg_sp_yamamoto-yusuke.jpg");
        background-position: center 85%;
        padding-bottom: 50vw;
        padding-top: 10vw;
        position: relative;
    }

    .webp .problems__info {
        background-image: url("image/lp_rikonchoutei/problems-info-bg_sp_yamamoto-yusuke.jpg.webp");
    }

    .problems__info::before {
        content: "";
        display: block;
        background-color: #fff;
        width: max(150px, 40%);
        height: 30px;
        clip-path: polygon(50% 100%, 0 0, 100% 0);
        position: absolute;
        top: -1px;
        left: 50%;
        transform: translateX(-50%);
    }

    .problems__info-text {
        font-size: max(20px, 3.4vw);
        margin-inline: auto;
        text-shadow: none;
    }

    .problems__info-text-top::before,
    .problems__info-text-bottom::before {
        box-shadow: none;
    }
}

@media screen and (max-width: 599px) {
    .problems__title::before, .problems__title::after {
        width: 1.5em;
    }

    .problems__title::before {
        left: calc(50% - 8.5em);
    }

    .problems__title::after {
        left: calc(50% + 8.5em);
    }

    .problems__item {
        padding-top: 60px;
    }

    .problems__info-text-top::before {
        height: 1px;
    }

    .problems__info-text-bottom::before {
        height: 1px;
    }
}



@media screen and (max-width: 499px) {
    .problems {
        padding-top: 60px;
    }

    .problems__title {
        font-size: max(22px,5.2vw);
    }

    .problems__title::before, .problems__title::after {
        content: none;
    }

    .problems__items {
        margin-top: 40px;
    }

    .problems__item {
        padding-bottom: 35px;
        padding-inline: 5vw;
    }

    .problems__item-text {
        font-size: 18px;
        margin-top: 30px;
        max-width: 100% !important;
    }

    .problems__item-order {
        font-size: 30px;
    }

    .problems__point {
        margin-top: 60px;
    }

    .problems__point-term {
        font-size: 18px;
    }

    .problems__point-desc {
        font-size: 18px;
    }

    .problems__info {
        padding-bottom: 55vw;
    }

    .problems__info::before {
        height: 20px;
    }

    .problems__info-text-bottom .sp-block{
        display: block;
    }

    .problems__info-text-bottom {
        line-height: 1.8;
        padding-top: 0.3em;
        text-decoration: underline;
        text-decoration-color: var(--bg-red);
        text-underline-offset: 0.45em;
        text-decoration-thickness: 1px;
        text-align: center;
    }

    .problems__info-text-bottom::before{
        content: none;
    }
}

@media screen and (max-width: 399px) {
    .problems__item {
        padding-bottom: 30px;
    }

    .problems__item-text {
        font-size: 16px;
        margin-top: 20px;
    }

    .problems__point-desc {
        margin-top: 20px;
    }

    .problems__info-text {
        font-size: max(16px, 5vw);
    }
}

/*---------------------------------
merit
---------------------------------*/
.merit{
    padding-top: 115px;
}

.merit__items{
    margin-top: 105px;
}

.merit__items > *+*{
    margin-top: 24px;
}

.merit__item{
    display: flex;
}

.merit__item-order{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-basis: 185px;
    background-color: #f8f6f5;
    color: var(--text-red);
    font-family: var(--font-serif);
    font-size: 24px;
    letter-spacing: 0.03em;
    line-height: 1.2;
    position: relative;
    z-index: 0;
}

.merit__item-order::before {
    content: "";
    display: block;
    background-image: url("image/lp_rikonchoutei/merit-icon.png");
    background-size: contain;
    width: 4.166em;
    aspect-ratio: 100/89;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

.webp .merit__item-order::before {
    background-image: url("image/lp_rikonchoutei/merit-icon.png.webp");
}

.merit__item-order .--text{
    font-weight: bold;
}

.merit__item-order .--num{
    font-size: 2em;
    font-style: italic;
    font-weight: 600;
    padding-right: 0.2em;
}

.merit__item-body{
    flex: 1;
    display: flex;
    background: repeating-linear-gradient(-45deg, rgba(245, 230, 230, 1), rgba(245, 230, 230, 1) 4px, rgba(243, 226, 226, 1) 0, rgba(243, 226, 226, 1) 11px);
}

.merit__item-text{
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 20px;
    letter-spacing: 0.03em;
    line-height: 1.5;
    padding: 46px;
}

.merit__item-img{
    flex-basis: 180px;
}

.merit__item-img img{
    object-fit: cover;
}

.merit__mediator{
    color: var(--color-navy);
    padding-block: 90px;
    position: relative;
    overflow-x: hidden;
}

.merit__mediator::before,
.merit__mediator::after {
    content: "";
    display: block;
    background-size: contain;
    position: absolute;
    bottom: 0;
    transform: translateX(-50%);
    z-index: -1;
}

.merit__mediator::before {
    background-image: url("image/lp_rikonchoutei/merit-bg-left.png");
    width: 1168px;
    aspect-ratio: 1168/872;
    left: calc(50% - 390px);
}

.webp .merit__mediator::before {
    background-image: url("image/lp_rikonchoutei/merit-bg-left.png.webp");
}

.merit__mediator::after {
    background-image: url("image/lp_rikonchoutei/merit-bg-right.png");
    width: 822px;
    aspect-ratio: 822/701;
    left: calc(50% + 560px);
}

.webp .merit__mediator::after {
    background-image: url("image/lp_rikonchoutei/merit-bg-right.png.webp");
}

.merit__mediator-body{
    background-color: #f8f6f6;
    padding-block: 90px;
    padding-inline: 50px;
}

.merit__mediator-title{
    font-family: var(--font-serif);
    font-size: 43px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.075em;
    text-align: center;
}

.merit__mediator-title .bg-red{
    background-color: var(--bg-red);
    color: #fff;
    padding: 0.01em 0 0.05em;
}

.merit__mediator-text{
    font-size: 18px;
    letter-spacing: 0.03em;
    line-height: 1.7;
    margin-top: 55px;
    max-width: 812px;
    margin-inline: auto;
    text-align: justify;
}

.merit__mediator-text > *+*{
    margin-top: 1.9em;
}

.merit__info{
    color: var(--color-navy);
}

.merit__info {
    background-image: url("image/lp_rikonchoutei/merit-info-bg_pc_kanezaki-miyoko.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    color: var(--color-navy);
    padding-top: 140px;
    padding-bottom: 160px;
}

.webp .merit__info {
    background-image: url("image/lp_rikonchoutei/merit-info-bg_pc_kanezaki-miyoko.jpg.webp");
}

.merit__info-text{
    font-family: var(--font-serif);
    font-size: 44px;
    font-weight: 600;
    line-height: 1.5;
    text-shadow: 0 0 0.5em #fff, 0 0 0.5em #fff,0 0 0.5em #fff, 0 0 0.5em #fff;
}

.merit__info-text-top{
    display: block;
    letter-spacing: 0.03em;
    width: fit-content;
    position: relative;
}

.merit__info-text-top .--large{
    font-size: 1.409em;
}

.merit__info-text-top::before {
    content: "";
    display: block;
    background-color: var(--bg-red);
    height: 2px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.merit__info-text-middle{
    margin-top: 0.25em;
}

.merit__info-text-bottom{
    margin-top: 0.45em;
}

.merit__info-text-middle,
.merit__info-text-bottom{
    display: block;
    width: fit-content;
    position: relative;
}

.merit__info-text-middle::before, .merit__info-text-bottom::before {
    content: "";
    display: block;
    background-color: var(--color-navy);
    height: 2px;
    width: 99%;
    position: absolute;
    bottom: -0.1em;
    left: 49.5%;
    transform: translateX(-50%);
}

@media screen and (min-width: 1921px) {
    .merit__mediator::before {
        left: 0;
        transform: none;
    }

    .merit__mediator::after {
        left: auto;
        right: 0;
        transform: none;
    }
}

@media screen and (max-width: 1194px) {
    .merit {
        padding-top: 90px;
    }

    .merit__items {
        margin-top: 80px;
    }

    .merit__mediator-title {
        font-size: max(30px, 3.6vw);
    }

    .merit__mediator-body {
        padding-block: max(50px, 7.5vw);
    }

    .merit__mediator {
        padding-block: max(50px, 7.5vw);
    }

    .merit__info {
        padding-top: max(50px, 11.7vw);
        padding-bottom: max(50px, 13.4vw);
    }

    .merit__info-text {
        font-size: max(28px, 3.68vw);
    }
}

@media screen and (max-width: 1024px) {
    .merit__items {
        margin-top: 60px;
    }

    .merit__item-order {
        font-size: max(20px, 2.15vw);
        flex-basis: max(140px, 15.625vw);
    }

    .merit__item-text {
        font-size: 18px;
        padding-block: 3vw;
        padding-inline: 4.5vw;
    }

    .merit__item-img {
        flex-basis: 160px;
    }

    .merit__mediator-text {
        margin-top: 40px;
    }

    .merit__mediator-text > *+* {
        margin-top: 1.5em;
    }
}

@media screen and (max-width: 768px) {
    .merit {
        padding-top: 60px;
    }

    .merit__items {
        margin-top: 40px;
    }

    .merit__item {
        flex-direction: column;
    }

    .merit__item-order {
        flex-direction: row;
        flex-basis: auto;
        gap: 0.2em;
        padding-block: 0.8em;
    }

    .merit__item-order .--text {
        padding-top: 0.3em;
    }

    .merit__item-order .--num {
        padding-right: 0;
    }

    .merit__item-order::before {
        width: 3em;
    }

    .merit__item-text {
        padding-inline: 5vw;
        text-align: justify;
    }

    .merit__mediator-title {
        padding-inline: 0.6em;
    }

    .merit__mediator-title .bg-red {
        padding-inline: 0.2em;
        margin-top: 0.2em;
    }

    .merit__mediator-body {
        padding-inline: 5vw;
    }

    .merit__mediator-text {
        font-size: 16px;
    }

    .merit__info {
        background-image: url("image/lp_rikonchoutei/merit-info-bg_sp_kanezaki-miyoko.jpg");
        background-position: bottom;
        padding-bottom: max(180px, 52vw);
        position: relative;
    }

    .webp .merit__info {
        background-image: url("image/lp_rikonchoutei/merit-info-bg_sp_kanezaki-miyoko.jpg.webp");
    }

    .merit__info::before {
        content: "";
        display: block;
        background-color: #fff;
        width: max(150px, 40%);
        height: 30px;
        clip-path: polygon(50% 100%, 0 0, 100% 0);
        position: absolute;
        top: -1px;
        left: 50%;
        transform: translateX(-50%);
    }

    .merit__info-text {
        width: fit-content;
        margin-inline: auto;
        font-size: clamp(20px, 4.4vw, 34px);
    }
}

@media screen and (max-width: 599px) {
    .merit__item-body {
        flex-direction: column;
        padding-bottom: 40px;
    }

    .merit__item-text {
        padding-block: 40px;
    }

    .merit__item-img {
        flex-basis: auto;
        padding-inline: 5vw;
        max-width: 360px;
        width: 90%;
        margin-inline: auto;
    }

    .merit__item-img img{
        height: 100%;
        width: 100%;
        aspect-ratio: 5/3;
        object-fit: cover;
    }

    .merit__item:nth-of-type(2) .merit__item-img img,
    .merit__item:nth-of-type(4) .merit__item-img img{
        object-position: 0 -10px;
    }

    .merit__mediator-title {
        font-size: max(22px, 5vw);
        padding-inline: 0;
    }

    .merit__info-text-top::before,
    .merit__info-text-middle::before,
    .merit__info-text-bottom::before {
        height: 1px;
    }
}

@media screen and (max-width: 499px) {
    .merit {
        padding-top: 40px;
    }

    .merit__item-body {
        padding-bottom: 30px;
    }

    .merit__item-order {
        font-size: 18px;
        padding-block: 0.6em;
    }

    .merit__item-text {
        font-size: 16px;
        padding-block: 30px;
        line-height: 1.7;
    }

    .merit__mediator-body {
        padding-block: 40px;
    }

    .merit__info::before {
        height: 20px;
    }

    .merit__info-text > span{
        margin-inline: auto;
    }
}

@media screen and (max-width: 399px) {
    .merit__item-order {
        font-size: 16px;
    }

    .merit__mediator-title .inbl {
        display: block;
        width: fit-content;
        margin-inline: auto;
    }

    .merit__mediator-title .inbl span{
        display: block;
    }

    .merit__info {
        padding-top: 12.5vw;
    }

    .merit__info-text-top .sp-block {
        margin-inline: auto;
        display: block;
        width: fit-content;
    }

    .merit__info-text-top .--large {
        font-size: 1.6em;
    }

    .merit__info-text-middle {
        margin-top: 1em;
    }

    .merit__info-text-top .--top{
        position: relative;
    }

    .merit__info-text-top .--top::before {
        content: "";
        display: block;
        background-color: var(--color-navy);
        height: 1px;
        width: 100%;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .merit__info-text-middle, .merit__info-text-bottom {
        font-size: 5vw;
    }
}

/*---------------------------------
flow
---------------------------------*/
.flow{
    padding-bottom: 155px;
    position: relative;
    z-index: 0;
    overflow-x:hidden ;
}

.flow::before {
    content: "";
    display: block;
    background-image: url("image/lp_rikonchoutei/flow-bg-top.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    aspect-ratio: 1943/178;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.webp .flow::before {
    background-image: url("image/lp_rikonchoutei/flow-bg-top.png.webp");
}

.flow::after {
    content: "";
    display: block;
    background-image: url("image/lp_rikonchoutei/flow-bg-left.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 1150px;
    aspect-ratio: 1162/1030;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
}

.webp .flow::after {
    background-image: url("image/lp_rikonchoutei/flow-bg-left.png.webp");
}

.flow__title .--deco {
    padding-left: 2em;
}

.flow__title .--deco::before {
    left: -0.1em;
}

.flow__items{
    margin-top: 100px;
}

.flow__item{
    position: relative;
}

.flow__item:not(:first-of-type){
    padding-top: 50px;
}

.flow__item:not(:last-of-type){
    padding-bottom: 50px;
}

.flow__item:not(:first-of-type)::before{
    content: "";
    display: block;
    width: 150px;
    aspect-ratio: 150/53;
    background-color: #f4e1df;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.flow__item-heading{
    display: flex;
    align-items: center;
    gap: 32px;
}

.flow__item-order{
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #333366;
    border-radius: 50%;
    color: #fff;
    font-family: var(--font-en);
    font-weight: 400;
    font-style: italic;
    font-size: 32px;
    letter-spacing: 0.03em;
    width: 1.875em;
    height: 1.875em;
}

.flow__item-title{
    flex: 1;
    color: var(--text-red);
    font-family: var(--font-serif);
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 1.4;
}

.flow__item-body{
    display: flex;
    gap: 50px;
    padding-left: 95px;
    margin-top: -5px;
}

.flow__item-main-text{
    flex: 1;
    color: var(--color-navy);
    font-size: 18px;
    letter-spacing: 0.03em;
    line-height: 1.7;
    text-align: justify;
    margin-top: 60px;
}

.flow__item-main-text-caution{
    font-size: 16px;
    margin-top: 1em;
}

.flow__item-main-img{
    flex-basis: 230px;
}

.flow__item-main-img img{
    object-fit: cover;
}

@media screen and (min-width: 1921px) {
    .flow::after {
        width: 1150px;
    }
}

@media screen and (max-width: 1920px) {
    .flow::after {
        width: 60vw;
    }
}

@media screen and (max-width: 1194px) {
    .flow__items {
        margin-top: max(35px, 8.37vw);
    }

    .flow__item:not(:first-of-type)::before {
        width: max(100px, 12.56vw);
    }
}

@media screen and (max-width: 1024px) {
    .flow__item {
        gap: 3.125vw;
    }

    .flow__item-title {
        font-size: 26px;
    }

    .flow__item-order {
        font-size: 30px;
        padding-top: 0.1em;
    }

    .flow__item-body {
        gap: 4.88vw;
    }

    .flow__item-main-text {
        margin-top: 30px;
    }

    .flow__item-main-img {
        flex-basis: max(190px, 22.46vw);
        margin-top: 30px;
    }
}


@media screen and (max-width: 768px) {
    .flow__item:not(:last-of-type) {
        padding-bottom: 40px;
    }

    .flow__item-heading {
        gap: 20px;
    }

    .flow__item-title {
        font-size: 24px;
    }

    .flow__item-order {
        font-size: 28px;
    }

    .flow__item-body {
        gap: 40px;
        padding-left: 0;
    }

    .flow__item-main-text {
        font-size: 16px;
        line-height: 1.8;
    }
}

@media screen and (max-width: 599px) {
    .flow__item:not(:last-of-type) {
        padding-bottom: 30px;
    }

    .flow__item:not(:first-of-type)::before {
        width: max(70px, 16.66vw);
    }

    .flow__item-body {
        flex-direction: column;
        gap: 30px;
    }

    .flow__item-main-img {
        flex-basis: auto;
        margin-top: 0;
        max-width: 360px;
        width: 90%;
        margin-inline: auto;
    }

    .flow__item-main-img img{
        height: 100%;
        width: 100%;
        object-fit: cover;
        aspect-ratio: 4 / 3;
        object-position: top;
    }
}

@media screen and (max-width: 399px) {
    .flow__item-title {
        font-size: 22px;
    }

    .flow__item-order {
        font-size: 24px;
    }

    .flow__item-heading {
        gap: 15px;
    }
}

/*---------------------------------
strengths
---------------------------------*/
.strengths{
    background: #FFF;
    background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(232, 220, 233, 0.48) 100%);
    padding-bottom: 150px;
    position: relative;
}

.strengths::before{
    content: "";
    display: block;
    background-image: url("image/lp_rikonchoutei/strengths-bg.png");
    background-repeat: no-repeat;
    background-size: contain;
	width: 1219px;
    aspect-ratio: 1219/1228;
    opacity: 0.5;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

.webp .strengths::before{
    background-image: url("image/lp_rikonchoutei/strengths-bg.png.webp");
}

.strengths__catch {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2em;
    background: repeating-linear-gradient(-45deg, rgba(71, 79, 95, 1), rgba(71, 79, 95, 1) 3px, rgba(64, 72, 88, 1) 0, rgba(64, 72, 88, 1) 6px);
    color: #fff;
    font-family: var(--font-serif);
    font-size: 70px;
    line-height: 0.8;
    letter-spacing: 0.01em;
    text-align: center;
    padding: 0.7em 1em 0.78em;
    margin-top: 100px;
    position: relative;
}

.strengths__catch::before{
    content: "";
    display: block;
    background-color: transparent;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 1px solid rgb(255 255 255 / 40%);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.strengths__catch .--cross{
    font-size: 0.857em;
    padding-top: 0.1em;
    padding-bottom: 0.05em;
}

.strengths__items{
    margin-top: 100px;
}

.strengths__items > *+*{
    margin-top: 80px;
}

.strengths__item-heading{
    display: flex;
    align-items: center;
    gap: 2.1em;
    font-size: 36px;
    padding-left: 20px;
}

.strengths__item-order{
    color: rgb(160 18 61 / 30%);
    font-family: var(--font-en);
    font-size: 3.3em;
    font-style: italic;
    line-height: 1;
    position: relative;
    top: 0.1em;
}

.strengths__item:first-of-type .strengths__item-order{
    letter-spacing: 0.1em;
}

.strengths__item:nth-of-type(2) .strengths__item-title {
    margin-left: -0.6em;
    padding-top: 0.1em;
}

.strengths__item-title{
    font-family: var(--font-serif);
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: 1.33;
    margin-right: -0.8em;
}

.strengths__item-title .asterisk{
    font-size: 0.722em;
    position: relative;
    top: -0.3em;
}

.strengths__item-title .--04{
    margin-left: -0.5em;
}

.strengths__item-body{
    display: flex;
    gap: 55px;
    margin-top: 35px;
}




.strengths__item:nth-of-type(odd) .strengths__item-body{
    flex-direction: row-reverse;
}

.strengths__item-text{
    flex-basis: 50%;
    letter-spacing: 0.03em;
}

.strengths__item-text-info {
    color: var(--text-red);
    font-size: 22px;
    font-weight: bold;
    line-height: 1.636;
    padding: 1em 0.6em 0.8em 1.4em;
    border-top: 1px solid var(--text-red);
    border-bottom: 1px solid var(--text-red);
    margin-bottom: 32px;
}

.strengths__item-text-desc{
    font-size: 18px;
    line-height: 1.66;
    text-align: justify;
}

.strengths__item-text-caution {
    line-height: 1.5;
    margin-top: 1.4em;
    padding-left: 0.4em;
}

.strengths__item-img{
    flex-basis: calc(50% - 50px);
}

.strengths__item-img img{
    object-fit: cover;
}

@media screen and (max-width: 1920px) {
    .strengths::before {
        width: 63.489vw;
    }
}

@media screen and (max-width: 1499px) {
    .strengths {
        padding-bottom: max(80px, 10vw);
    }

    .strengths__catch {
        font-size: max(36px, 4.66vw);
        width: 14.285em;
        margin-inline: auto;
    }
}

@media screen and (max-width: 1194px) {
    .strengths__catch {
        margin-top: max(40px, 8.3vw);
    }

    .strengths__items {
        margin-top: max(40px, 8.3vw);
    }

    .strengths__items > *+* {
        margin-top: 60px;
    }

    .strengths__item-heading {
        padding-left: 1.67vw;
        font-size: max(25px, 3.015vw);
    }

    .strengths__item-body {
        margin-top: 30px;
        gap: 4.6vw;
    }

    .strengths__item-text{
        flex: 1;
    }

    .strengths__item-text-info {
        font-size: max(18px, 1.842vw);
        padding: 1em 0.6em 0.8em 1em;
    }
}

@media screen and (max-width: 1024px) {
    .strengths__item-text-info {
        margin-bottom: 20px;
    }

    .strengths__catch {
        padding-top: max(24px, 0.85em);
        padding-bottom: max(30px, 1.05em);
    }
}

@media screen and (max-width: 834px) {
    .strengths__item-heading {
        padding-left: 0;
        gap: 1.8em;
    }

    .strengths__item-body {
        flex-direction: column !important;
        gap: 30px;
        margin-top: 20px;
    }

    .strengths__item-img {
        max-width: 400px;
        width: 90%;
        margin-inline: auto;
    }

    .strengths__item-img img{
        height: 100%;
        width: 100%;
        aspect-ratio: 4/3;
        object-fit: cover;
        object-position: top;
    }

    .strengths__item-text-info {
        font-size: 20px;
        line-height: 1.5;
        width: 95%;
        text-align: center;
        margin-inline: auto;
        padding: 1em;
    }
}

@media screen and (max-width: 768px) {
    .strengths {
        padding-bottom: max(60px, 10.4vw);
    }

    .strengths__catch {
        font-size: max(24px, 4.6875vw);
        margin-inline: auto;
    }

    .strengths__catch .--cross {
        padding-bottom: max(8px, 0.1em);
        padding-top: max(8px, 0.1em);
    }

    .strengths__items > *+* {
        margin-top: 40px;
    }

    .strengths__item-heading {
        gap: 1.5em;
        font-size: 24px;
        padding-left: 0;
    }

    .strengths__item-order {
        font-size: 3em;
    }

    .strengths__item-title {
        margin-right: 0;
    }

    .strengths__item-text-info {
        font-size: 18px;
    }

    .strengths__item-text-desc {
        font-size: 16px;
        line-height: 1.7;
    }

    .strengths__item-text-caution {
        font-size: 15px;
    }
}

@media screen and (max-width: 599px) {
    .strengths__catch::before {
        width: calc(100% - 16px);
        height: calc(100% - 16px);
        z-index: 1;
    }

    .strengths__item-heading {
        gap: 1.2em;
        font-size: max(20px, 4vw);
    }

    .strengths__item-img {
        max-width: 360px;
    }
}

@media screen and (max-width: 499px) {
    .strengths__items > *+* {
        margin-top: 30px;
    }

    .strengths__item-heading {
        flex-direction: column;
        gap: 0.5em;
        text-align: center;
    }

    .strengths__item-order {
        font-size: 2.5em;
    }

    .strengths__item-body {
        margin-top: 20px;
        gap: 20px;
    }

    .strengths__item-text-info {
        font-size: 16px;
    }

    .strengths__item-text-caution {
        margin-top: 1em;
        padding-left: 0;
    }
}

@media screen and (max-width: 399px) {
    .strengths__catch {
        font-size: 6vw;
    }

    .strengths__catch .--cross{
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .strengths__item-heading {
        font-size: 19px;
    }

    .strengths__item-text-info {
        width: 100%;
    }

    .strengths__item-body {
        margin-top: 20px;
    }
}

/*---------------------------------
fee
---------------------------------*/
.fee{
    background-image: url("image/lp_rikonchoutei/fee-bg.png");
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: top;
    position: relative;
    padding-bottom: 150px;
}

.webp .fee{
    background-image: url("image/lp_rikonchoutei/fee-bg.png.webp");
}

.fee::before{
    content: "";
    display: block;
    height: 80%;
    width: 100%;
    background: #F8EFEE;
    background: linear-gradient(0deg,rgba(248, 239, 238, 1) 0%, rgba(255, 255, 255, 1) 100%);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.fee__contents{
    margin-top: 100px;
}

.fee__contents > *+*{
    margin-top: 70px;
}

.fee__content-title{
    color: #fff;
    font-family: var(--font-serif);
    font-size: 30px;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.4;
    text-align: center;
    padding: 1.25em 1.5em 1.35em;
}

.fee__content-title.--dark {
    background-color: #404858;
}

.fee__content-title.--light {
    background-color: #697284;
}

.fee__content-block{
    margin-top: 5px;
}

.fee__content-block > *+*:not(.fee__content-caution-items) {
    margin-top: 6px;
}

.fee__content-items{
    font-size: 26px;
    line-height: 1.5;
    letter-spacing: 0.02em;
}

.fee__content-items.--row{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.fee__content-item-term{
    background-color: #eacfcc;
    text-align: center;
    padding: 0.4em 1em;
}

.fee__content-item-desc{
    background-color: #f5f3f3;
    padding: 0.85em 1em 0.95em;
    margin-top: 5px;
}

.fee__content-item-desc-wrap{
    width: fit-content;
    margin-inline: auto;
}

.fee__content-item-desc .--small{
    display: block;
    font-size: max(16px, 0.769em);
}

.fee__content-item-desc .--center{
    text-align: center;
}

.fee__content-item-desc .--caution {
    font-size: 14px;
    margin-top: 0.4em;
    /*text-indent: -0.5em;*/
}

.fee__content-sub-items{
    margin-top: 5px;
}

.fee__content-sub-items > *+*{
    margin-top: 5px;
}

.fee__content-caution-items {
    background-color: #f5f3f3;
    font-size: 14px;
    line-height: 1.57;
    margin-top: 5px;
    padding-top: 1.4em;
    padding-bottom: 1.1em;
    padding-inline: 1.5em;
}

.fee__content-caution-item{
    max-width: 640px;
    margin-inline: auto;
    padding-left: 1em;
    text-indent: -1em;
    position: relative;
}

.fee__content-caution-item--02{
    max-width: 690px;
    margin-inline: auto;
}

.fee__content-caution-item-intl{
    text-align: center;
    /*max-width: 640px;
    margin-left: auto;
    margin-right: auto;*/
    font-size: 14px;
    padding-top: 1.4em;
}

.fee__content-caution-item-intl a{
    text-decoration: underline;
    text-underline-offset: 5px;
}

.fee__content-caution-item::before{
    content: "※";
}

.fee__content-subitem{
    display: flex;
    gap: 7px;
}

.fee__content-subitem-term {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f4e3e1;
    padding: 0.4em 1em;
}

.fee__content-subitem-desc{
    flex-basis: 50%;
    background-color: #f5f3f3;
    text-align: center;
    padding: 0.4em 1em;
}

@media screen and (max-width: 1194px) {
    .fee {
        padding-bottom: max(80px, 10vw);
    }

    .fee__contents {
        margin-top: max(60px, 8.37vw);
    }

    .fee__contents > *+* {
        margin-top: max(30px, 5.862vw);
    }

    .fee__content-title {
        font-size: max(22px, 2.51vw);
    }

    .fee__content-items {
        font-size: max(20px, 2.17vw);
    }
}

@media screen and (max-width: 599px) {
    .fee__contents {
        margin-top: 40px;
    }

    .fee__content-title {
        font-size: max(20px, 3.66vw);
        padding: 1em;
    }

    .fee__content-items {
        font-size: max(18px, 3.33vw);
    }
}

@media screen and (max-width: 499px) {
    .fee__content-title {
        font-size: 18px;
    }

    .fee__content-items.--row {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .fee__content-item-desc-wrap {
        text-align: center;
    }

    .fee__content-item-desc .--caution {
        font-size: 12px;
        text-indent: 0;
    }

    .fee__content-caution-items,
    .fee__content-caution-item-intl {
        font-size: 12px;
    }

    .fee__content-subitem-desc {
        flex-basis: 60%;
    }
}

@media screen and (max-width: 399px) {
    .fee{
        padding-bottom: 50px;
    }

    .fee__content-title {
        padding: 0.8em;
    }

    .fee__content-title .inbl{
        display: block;
    }

    .fee__content-title .sp-none{
        display: none;
    }

    .fee__content-items {
        font-size: 16px;
    }

    .fee__contents > *+* {
        margin-top: 20px;
    }
}

@media screen and (max-width: 359px) {
    .fee__content-items {
        font-size: 15px;
    }
}

/*---------------------------------
office
---------------------------------*/
.office {
    background-color: #f1f1f1;
    padding-top: 50px;
    padding-bottom: 40px;
}
