@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


/* 余白設定 ------------------------------------------------------*/
.l-content{
	margin-bottom: 0 !important;
	padding-top: 0 !important;
}

@media screen and (max-width: 1280px){
	html,:root{
		--container_size: 900px;
		--article_size: 800px;
	}	
}


/* 文字サイズ ------------------------------------------------------*/
@media screen and (min-width: 600px){
	html,:root{
		--swl-fz--content: 20px;
	}	
}


h2.wp-block-heading{
	font-size: clamp(24px, 3vw, 42px) !important;
	margin: 2em 0;
	overflow-wrap: break-word;
	word-break: keep-all;
}

h3.wp-block-heading{
	font-size: clamp(20px, 2.5vw, 36px) !important;
	margin: 1em 0;
}
h3.wp-block-heading::after{
	content: "";
    display: block;
    width: 3em;
    height: 2px;
    background: var(--color_deep03);
    margin: 1rem auto;
}

.wp-block-heading small{
    font-size: .75em;
    opacity: 1;
}
.wp-block-heading sup{
    font-size: .5em;
}


.post_content .fs-64{
	font-size: clamp(32px, 5.5vw, 64px) !important;
}
.post_content .fs-48{
	font-size: clamp(24px, 4.5vw, 48px) !important;
}
.post_content .fs-36{
	font-size: clamp(20px, 3.5vw, 36px) !important;
}
.post_content .fs-24{
	font-size: clamp(1em, 2.5vw, 24px) !important;
}

@media (min-width: 1100px) {
    .alignwide {
        left: -150px;
        width: calc(100% + 300px);
    }
}

/* テキスト ------------------------------------------------------*/
#content p{
    /*margin-bottom: 0.25rem;*/
}
@media screen and (max-width: 768px) {
	.sp-left{
		text-align: left !important;
	}
	.sp-center{
		text-align: center !important;
	}
}

.swl-marker{
    background-size: 0% 100%;
    background-repeat: no-repeat;
    transition:background-size 1.5s;
}
.swl-marker.on {
    background-size: 100% 100%;
    transition:background-size 1.5s;
}

.swl-marker.on.mark_orange{
    background-image: -webkit-linear-gradient(transparent 93%, var(--color_mark_orange) 0%);
    background-image: linear-gradient(transparent 93%, var(--color_mark_orange) 0%);
}

/* ヘッダー ------------------------------------------------------*/
#header .p-blogParts{
    display: flex;
    align-items: center;
}
#header .p-blogParts .afd{
    height: 45px;
    aspect-ratio: 24 / 13;	
}
@media screen and (max-width: 960px) {
	#header .p-blogParts .afd{
		height: 30px;
		margin-right: 1rem;
	}
}

/* フッター・CTAボタン ------------------------------------------------------*/
#footer + .p-fixBtnWrap .p-blogParts{
    width: clamp(15em, 15vw, 20em);
    display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
}
#footer + .p-fixBtnWrap .swell-block-button{
    flex: 1 0 100%;
	--the-fz: clamp(15px, 2vw, 20px) !important;
	overflow-wrap: break-word;
	word-break: keep-all;
}

#footer + .p-fixBtnWrap .swell-block-button .swell-block-button__link > span{
	position: relative;
    display: inline-block;
    width: 100%;
    padding-left: 1.75rem;
}
#footer + .p-fixBtnWrap .swell-block-button .swell-block-button__link > span::before{
	content: "";
	position: absolute;
	left: -0.75rem;
    top: 50%;
    transform: translateY(-50%);
	display: block;
	width: 2.75rem;
	height: 2.75rem;
    background-repeat: no-repeat;
    background-size: contain;
}
#footer + .p-fixBtnWrap .swell-block-button.-estimate .swell-block-button__link > span::before{
	background-image:url(/wp-content/uploads/2026/06/icon-yen.png);
}
#footer + .p-fixBtnWrap .swell-block-button.-document .swell-block-button__link > span::before{
	background-image:url(/wp-content/uploads/2026/06/icon-document.png);
}



@media not all and (min-width: 960px) {
    #footer + .p-fixBtnWrap {
        width: 100%;
		right: 0;
    }
	#footer + .p-fixBtnWrap .p-blogParts{
		width: 100%;
    }
	#footer + .p-fixBtnWrap .p-blogParts .swell-block-button{
		margin: 0;
		padding: 0 0.5rem;
		flex: 1 0 50%;
	}
}


/* CTA(電話無し版) ------------------------------------------------------*/
@media (min-width: 960px) {
	#footer + .p-fixBtnWrap .p-blogParts{
		width: clamp(15em, 30vw, 20em);
	}
}

.swell-block-button.-estimate img{
	display: inline-block !important;
	width: 1em !important;
	margin: 0 3px;
	vertical-align: middle;
}


/* FV ------------------------------------------------------*/
.catchcopy{
	overflow-wrap: break-word;
	word-break: keep-all;
}

.post_content div .fv-group{
	margin-top: 150px !important;
	padding: 2rem;
    border-radius: 1.5rem;
	--position-height: 60px;
}
.fv-group::before{
    content: "";
    display: block;
    padding-top: calc(var(--position-height) * 0.75);
}
.fv-group .ribbon{
    width: 125% !important;
    position: absolute;
    top: calc(var(--position-height) * -1);
    left: 50% !important;
    transform: translateX(-50%);
}

@media screen and (min-width: 1360px) {
	.post_content div .fv-group{
		width: 70%;
		margin-top: 2em !important;
	}
	.fv-group::before{
		padding-top: calc(var(--position-height) * 1.2);
	}
}
@media screen and (min-width: 961px) and (max-width: 1359px) {
	.post_content div .fv-group{
		width: clamp(40%, 50vw, 60%) !important;
		left: calc(100svw * 0.02 * -1) !important;
		margin-top: 0 !important;
	}
}
@media screen and (max-width: 960px) {
	.feature-cover.-mv .wp-block-cover__image-background{
		object-position: 65% 0% !important;
	}
	
	.post_content div .fv-group{
		margin-top: 50vw !important;
		--position-height: 15vw;
	}
	.fv-group::before{
		padding-top: 10px;
	}
}

/* 特長スライダー ------------------------------------------------------*/
.feature-title{
	width: clamp(250px, 50vw, 500px);
	position: absolute;
    top: -50%;
    left: 50%;
    transform: translate(-50%, 50%);
	color: #fff;
    letter-spacing: 0.1em;
}
.feature-title::before{
    content: "";
    position: absolute;
    top: -25%;
    left: 50%;
    transform: translateX(-50%);
    display: block;
	width: 100%;
    clip-path: polygon(0% 0%, 100% 0, 100% 50%, 50% 100%, 0 50%);
    aspect-ratio: 3 / 1;
    z-index: -1;
    background: #ED7800;
}

@media screen and (max-width: 1080px) {
	.feature-title{
        transform: translate(-50%, 10px);
	}
}
@media screen and (max-width: 1080px) and (min-width: 961px){
	.feature-title{
        transform: translate(-50%, 100%);
	}
}
@media screen and (max-width: 960px) {
	.feature-title{
        top: -8rem;
	}
}

.feature-slider{
    box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.5);
	padding-top: 8rem !important;
}
.feature-slider .swell-block-fullWide__inner{
	padding: 0;
}

.feature-slider .feature-swiper{
    overflow: hidden;
	padding-bottom: 3rem;
}
.feature-slider .feature-swiper .swiper-slide{
    width: calc(var(--container_size) / 3);
	height: 100% !important;
	padding: 0;
	background: #fff;
    border-radius: 1rem;
	/*overflow: hidden;*/
    opacity: 0.5;
    transform: scale(0.75);
	/*transform-origin: bottom;*/
    transition: transform 0.5s, opacity 0.5s;
	box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2);
}

.feature-slider .feature-swiper .swiper-slide:not(.swiper-slide-active){
	pointer-events: none;
}
.feature-slider .feature-swiper .swiper-slide.swiper-slide-active {
	opacity: 1;
	transform: scale(1);
	transition: transform 0.5s, opacity 0.5s;
}

.feature-slider .feature-swiper .swiper-slide > .title-row,
.feature-slider .feature-swiper .swiper-slide > p{
	padding: 0.5rem 2rem;
}
.feature-slider .feature-swiper .swiper-slide > p{
	padding-top: 1.25rem;
}

.feature-slider .feature-swiper .swiper-slide .title-row{
	background: var(--color_main);
	border-radius: 0.75rem 0.75rem 0 0;
	justify-content: space-between;
    align-items: baseline;
}
.feature-slider .feature-swiper .swiper-slide .title-row .wp-block-image{
	width: 4rem;
}

.feature-slider .feature-swiper .title-row + p{
	text-shadow: #fff 4px 0px, #fff -4px 0px, #fff 0px -4px, #fff 0px 4px,
				 #fff 4px 4px, #fff -4px 4px, #fff 4px -4px, #fff -4px -4px,
				 #fff 2px 4px, #fff -2px 4px, #fff 2px -4px, #fff -2px -4px,
				 #fff 4px 2px, #fff -4px 2px, #fff 4px -2px, #fff -4px -2px
}


.feature-slider .swiper-button-prev,
.feature-slider .swiper-button-next{
	top: 45%;
	--swiper-nav-size: 50px;
	border-radius: 50%;
    height: var(--swiper-nav-size);
}
.feature-slider .swiper-button-prev:after,
.feature-slider .swiper-button-next:after{
	--swiper-nav-size: 40px;
	top: calc(var(--swiper-nav-size) * .05 * -1);
}


.feature-slider .feature-swiper .slide-menu{
	position: relative;
    padding-bottom: 2rem;
}

.feature-slider .feature-swiper .slide-menu::after{
	content:"";
	position: absolute;
    bottom: -10%;
    right: -5%;
	display: block;
	width: clamp(120px, 45%, 200px);
    aspect-ratio: 1 / 1;
    background-repeat: no-repeat;
    background-size: contain;
	background-position: bottom right;
	/*opacity: 0.15;*/
	z-index: 1;
}
.feature-slider .feature-swiper .slide-menu.-feature1::after{
	background-image:url(/wp-content/uploads/2026/06/img-feature1.png);
}
.feature-slider .feature-swiper .slide-menu.-feature2::after{
	background-image:url(/wp-content/uploads/2026/06/img-feature2.png);
}
.feature-slider .feature-swiper .slide-menu.-feature3::after{
	background-image:url(/wp-content/uploads/2026/06/img-feature3.png);
}

@media screen and (min-width: 960px) {
	.feature-slider .swiper-button-prev{
		left: 12.5%;;
		right: auto;
		transform: translateX(-50%);
	}
	.feature-slider .swiper-button-next{
		left: auto;
		right: 12.5%;;
		transform: translateX(50%);
	}
}
@media screen and (min-width: 1200px) {
	.feature-slider{
		padding-top: 12rem !important;
	}
	.feature-slider .swiper-button-prev{
		left: 25%;
	}
	.feature-slider .swiper-button-next{
		right: 25%;
	}
}

@media screen and (max-width: 1080px) {
	.feature-slider .swell-block-fullWide__inner {
		max-width: 100%;
	}
	.feature-slider .feature-swiper{
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

@media screen and (max-width: 960px) {
	.feature-slider .feature-swiper{
		padding-bottom: 5em;
		margin-bottom: 0;
	}
	.feature-slider .feature-swiper .slide-menu::after{
		bottom: -20%;
	}
}



/* カバー ------------------------------------------------------*/
.feature-cover{
	padding: 0;
}

.feature-cover#feature2::before,
.feature-cover#feature3::before{
	content: "";
    position: absolute;
    top: -2px;
    left: 0;
    display: block;
    width: 100%;
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    aspect-ratio: 10 / 1;
	z-index: 1;
}
.feature-cover#feature2::before{
    background: linear-gradient(#F8EDEC, #ffffff);
}
.feature-cover#feature3::before{
    background: linear-gradient(#FAF6E8, #ffffff);
}


.feature-cover:not(.-mv)::after{
    content: "";
    position: absolute;
    bottom: 3rem;
    left: calc((100svw - var(--article_size)) / 3);
    transform: translateX(-50%);
    display: block;
    width: clamp(200px, 25%, 300px);
    aspect-ratio: 1 / 1;
    background-repeat: no-repeat;
    background-size: contain;
	background-position: right;
    z-index: 1;
}
.feature-cover#feature1::after{
	background-image:url(/wp-content/uploads/2026/06/img-feature1.png);
}
.feature-cover#feature2::after{
	background-image:url(/wp-content/uploads/2026/06/img-feature2.png);
}
.feature-cover#feature3::after{
	background-image:url(/wp-content/uploads/2026/06/img-feature3.png);
}


.feature-cover .wp-block-cover__background{
	z-index: -1;
}
.feature-cover:not(.-mv) .wp-block-cover__image-background{
    opacity: 0.75;
}

.feature-cover:not(.-mv) .wp-block-cover__inner-container::before{
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 1920 / 300;
}
.feature-cover#feature2 .wp-block-cover__inner-container::before,
.feature-cover#feature3 .wp-block-cover__inner-container::before{
	aspect-ratio: 3 / 1;
}

.feature-cover .feature-container .swell-block-fullWide__inner{
    background: #fff;
    padding: 3rem 4rem;
    margin-bottom: 8rem !important;
	border-radius: 1rem;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1);
}
.feature-cover .feature-container .swell-block-fullWide__inner::before{
    content: "";
    position: absolute;
    top: -2rem;
    left: -2rem;
    width: calc(100% + 4rem);
    height: calc(100% + 4rem);
    background: rgba(255, 255, 255, .5);
    border: 4px solid #fff;
    border-radius: 1rem;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2);
    z-index: -1;
}


.feature-cover .title-row{
    width: fit-content;
    padding: 0.5rem 2rem;
	background: var(--color_main);
	justify-content: space-between;
    align-items: center;
    border-radius: 1rem;
}
.feature-cover .title-row::before{
	content: "";
    position: absolute;
    top: 10%;
    left: 5%;
    transform: translate(-50%, -50%);
    display: block;
    width: 4rem;
    aspect-ratio: 1 / 1;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(/wp-content/uploads/2026/06/icon-notice.png);
}

.feature-cover h2.wp-block-heading{
	text-shadow: #fff 4px 0px, #fff -4px 0px, #fff 0px -4px, #fff 0px 4px,
				 #fff 4px 4px, #fff -4px 4px, #fff 4px -4px, #fff -4px -4px,
				 #fff 2px 4px, #fff -2px 4px, #fff 2px -4px, #fff -2px -4px,
				 #fff 4px 2px, #fff -4px 2px, #fff 4px -2px, #fff -4px -2px;
}

.feature-cover .title-row .wp-block-image{
	width: 3rem;
	margin-left: 1rem;
}

	
@media screen and (max-width: 1280px){
	.feature-cover#feature2 .wp-block-cover__inner-container::before,
	.feature-cover#feature3 .wp-block-cover__inner-container::before{
		aspect-ratio: 5 / 1;
	}	
}

@media screen and (max-width: 1400px) and (min-width: 1081px) {
	.feature-cover:not(.-mv)::after{
		width: clamp(200px, 20%, 300px);
	}
}

@media screen and (max-width: 1080px) and (min-width: 769px) {
    .feature-cover:not(.-mv)::after {
		bottom: 0;
    	left: 0;
    	transform: translateX(-5%);
    }
	.feature-cover:not(.-mv) .wp-block-cover__inner-container{
		padding-bottom: 4em;
	}
}

@media screen and (max-width: 960px) {
	.feature-cover .feature-container .swell-block-fullWide__inner{
		width: clamp(80%, 80vw, var(--article_size));
		padding: 3rem 1.25rem;
	}
	.feature-cover .feature-container .swell-block-fullWide__inner::before{
		top: -1rem;
		left: -1rem;
		width: calc(100% + 2rem);
		height: calc(100% + 2rem);
	}
		
	.feature-cover .title-row{
		margin: auto;
	}
}

@media screen and (max-width: 768px) {
    .feature-cover:not(.-mv)::after {
        bottom: 1.25em;
        left: 0;
        transform: translateX(0px);
		width: clamp(150px, 25%, 250px);
    }
	
	.feature-cover:not(.-mv) .wp-block-cover__image-background{
		object-fit: contain;
	}
	.feature-cover:not(.-mv) .wp-block-cover__inner-container{
		padding-bottom: 2em;
	}
	.feature-cover:not(.-mv) .wp-block-cover__inner-container::before{
		aspect-ratio: 1920 / 450;
	}
}



/* 特長 ------------------------------------------------------*/
/*質問*/
.feature-container .question-box .cap_box_ttl{
	border-radius: 0.5rem;
}
.feature-container .question-box .cap_box_ttl > span{
	position: relative;
	padding-left: 2.5rem;
}
.feature-container .question-box .cap_box_ttl > span::before{
	content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: block;
    width: 2rem;
    aspect-ratio: 1 / 1;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(/wp-content/uploads/2026/06/icon-question.png);

}

/*はい/いいえ*/
.feature-container .c-checkList{
	width: fit-content;
    margin: auto;
    padding-left: 0;
}
.feature-container .c-checkList > li{
    list-style: none;
    border: 2px solid #ccc;
    padding: 0.5rem 1rem 0.5rem 3rem;
}
.feature-container .c-checkList > li.c-checkList__check::before {
	content: "";
    position: absolute;
    top: 25%;
    left: 1rem;
    display: inline-block;
    width: 25px;
    height: 13px;
    border-left: 3px solid #ee7700;
    border-bottom: 3px solid #ee7700;
    transform: rotate(-45deg);
}
@media screen and (max-width: 730px) and (min-width: 600px) {
	.question-box .swell-block-columns .swell-block-column{
		--clmn-w--tab: 100% !important;
	}
}


/*保障内容*/
.feature-container .label-column .swell-block-column{
	display: flex;
    flex-direction: column;
    justify-content: center;
}
.feature-container .label-column .swell-block-column:nth-child(odd){
	color: #fff;
	border-radius: 1rem;
	min-height: 3rem;
}
.feature-container .label-column.-basic .swell-block-column:nth-child(odd){
	background: #EE7700;
}
.feature-container .label-column.-special .swell-block-column:nth-child(odd){
	background: #E59E00;
}

@media screen and (max-width: 600px) {
	.feature-container .wp-block-table th{
		--swl-cell1-width: 4.5em;
	}
}



/* 代理店・保険会社 ------------------------------------------------------*/
.precaution{
    background: linear-gradient(180deg, #ECF3F1 0%, #FFFFFF 50% , #FFF6E5 100%);
}
.precaution .cap_box .cap_box_content{
	background: #fff;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2);
}

.agency-group{
	border-radius: 1rem;
}

@media screen and (max-width: 960px) {
	.agency .wp-block-image img{
		height: auto !important;
		max-width: 50% !important;
	}
	.agency .wp-block-image.img-w100 img{
		max-width: 100% !important;
	}
	.agency .wp-block-image.img-w35 img{
		max-width: 35% !important;
	}
}


/* お問い合わせ(2026/5/15 TEL中止) ------------------------------------------------------*/
/* 
.popmake{
	width:clamp(200px, 90vw, 960px) !important;
	padding: clamp(16px, 8vw, 48px) clamp(16px, 4vw, 48px) !important;
}
.popmake p{
	font-size: var(--swl-fz--content) !important;
}

.tel-btn a{
    display: inline-block;
    margin-left: 1em;
    padding-left: 10px;
    position: relative;
}
.tel-btn a::after{
content: "";
    display: block;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1em' width='1em' aria-hidden='true' viewBox='0 0 48 48'%3E%3Cpath xmlns='http://www.w3.org/2000/svg' d='M13.3 21.6c3.1 5.3 7.5 9.9 13 13 .9.6 2 .5 2.8-.3l2.9-2.9c.7-.7 1.5-.7 2.4-.6l8.2 1.3c1.2.2 2.3 1 2.3 2.3v8.1c0 1.3-1 2.3-2.3 2.3C20.8 44.9 3 27.2 3 5.5c0-1.3 1-2.3 2.3-2.3h8.1c1.3 0 2.2 1.1 2.3 2.3l1.3 8.2c.2.9.1 1.7-.6 2.4L13.5 18c-.6.6-.8 2.8-.2 3.6z' fill='%23ee5322'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 100%;
    transform: translateY(-50%);
}


@media screen and (max-width: 600px) {
	.tel-btn a {
		font-size: 9svw;
	}
}
*/

