@charset "utf-8";

/* -----------------------------------------------------------
    エリアCMS詳細   共通
-------------------------------------------------------------- */
.bread-h1-wrap {
	top: 30px !important;
}
.txt + .txt {
    margin-top: 10px;
}
@media screen and (max-width: 768px) {
	.bread-h1-wrap {
		top: 15px !important;
	}
}


/* -----------------------------------------------------------
    エリアCMS詳細   当道府県＆市区町村＆駅  共通
-------------------------------------------------------------- */
/* -----------------------------------------------------------
    niareadetail-mv
-------------------------------------------------------------- */
.niareadetail-mv {
	position: relative;
	background-color: var(--cmnbg);
	height: 600px;
	display: flex;
	padding: 0 0 0 150px;
	flex-direction: column;
	justify-content: center;
}

.niareadetail-mv__ttl {
	font-weight: bold;
	font-size: 4rem;
}

.niareadetail-mv .h1-area {
	position: absolute;
	top: 30px;
	right: 30px;
	color: var(--gray);
	font-size: 1.2rem;
	font-weight: 400;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 450px;
	margin: 0 0 0 auto;
	padding: 0 0 3px;
}

@media screen and (max-width: 768px) {
	.niareadetail-mv {
		height: 300px;
		padding: 0 20px;
	}

	.niareadetail-mv__ttl {
		font-size: 2.5rem;
	}
}

/* -----------------------------------------------------------
    sorting1  出し分け①
-------------------------------------------------------------- */
.niareadetail-sorting1 {}

@media screen and (max-width: 768px) {
	.niareadetail-sorting1 {}
}

/* -----------------------------------------------------------
    sorting2  出し分け②
-------------------------------------------------------------- */
.niareadetail-sorting2 {}

@media screen and (max-width: 768px) {
	.niareadetail-sorting2 {}
}

/* -----------------------------------------------------------
    sorting3  出し分け③
-------------------------------------------------------------- */
.niareadetail-sorting3 {}

@media screen and (max-width: 768px) {
	.niareadetail-sorting3 {}
}

/* -------------------------------------------------------------
    フルリッチ
-------------------------------------------------------------- */
.niarea-fullrich h1, .niarea-fullrich h2, .niarea-fullrich h3, .niarea-fullrich h4 {
	font-weight: bold;
	line-height: 1.4;
}

.niarea-fullrich h1 {
	font-size: 2.7rem;
	font-weight: bold;
	border-bottom: 6px solid var(--main);
	padding: 0 0 15px;
	margin: 50px 0 30px;
}

.niarea-fullrich h2 {
	background: var(--main);
	color: #fff;
	font-size: 2.6rem;
	margin: 50px 0 30px;
	padding: 10px 20px 12px;
	position: relative;
	letter-spacing: .05em;
}

.niarea-fullrich h3 {
	border-bottom: dotted 3px var(--main);
	color: var(--main);
	margin: 40px 0 30px;
	padding: 0 0 10px;
	font-size: 2.4rem;
	letter-spacing: .05em;
}

.niarea-fullrich h4 {
	margin: 30px 0 20px;
	padding: 4px 0 0 16px;
	font-size: 2.3rem;
	position: relative;
}

.niarea-fullrich h4::before {
	background: var(--main);
	position: absolute;
	top: 2px;
	left: 0;
	display: block;
	content: '';
	width: 6px;
	height: 100%;
}

.niarea-fullrich img {
	max-width: 100%;
	height: auto;
	display: inline-block;
}

.niarea-fullrich a:link {
	color: var(--link);
	display: inline-block;
	text-decoration: underline;
}

.niarea-fullrich p {
	margin: 1em 0;
}

@media screen and (max-width: 768px) {
	.niarea-fullrich {
		margin-top: 20px;
	}

	.niarea-fullrich h1, .niarea-fullrich h2, .niarea-fullrich h3, .niarea-fullrich h4 {
		line-height: 1.5;
	}

	.niarea-fullrich h1 {
		border-bottom-width: 4px;
		font-size: 2.3rem;
		line-height: 1.5;
		margin: 30px 0 20px;
		padding: 0 0 10px;
	}

	.niarea-fullrich h2 {
		margin: 30px 0 20px;
		padding: 8px 15px 10px;
		font-size: 2rem;
	}

	.niarea-fullrich h3 {
		margin: 30px 0;
		padding: 0 0 10px;
		font-size: 1.9rem;
	}

	.niarea-fullrich h4 {
		margin: 30px 0 20px;
		padding: 0 0 0 12px;
		font-size: 1.8rem;
	}

	.niarea-fullrich h4::before {
		top: 0;
		width: 5px;
	}

	.niarea-fullrich img {
		max-width: 100%;
	}
}

/* -----------------------------------------------------------
    エリアCMS詳細   都道府県のみ
-------------------------------------------------------------- */
/* -----------------------------------------------------------
    niareadetail-support
-------------------------------------------------------------- */
/*.niareadetail-support {
	margin: 100px 0 0;
}*/

.niareadetail-support__ttl {
	font-size: 3.5rem;
	/*font-weight: bold;*/
	margin: 0 0 30px;
}

.niareadetail-support__region {
	/*background: var(--cmnbg);*/
	font-size: 2.5rem;
	/*font-weight: bold;
	padding: 15px 20px;*/
}

.niareadetail-support__prefectures {
	margin: 30px 0 0;
}

.niareadetail-support__list {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
}

[data-detailsupport="station"] {
	margin: 15px 0 0;
}

.niareadetail-support__link {
	border: 1px solid var(--border2);
	color: var(--cmnblack) !important;
	display: inline-block;
	font-weight: 400;
	padding: 12px 20px 12px 15px;
	position: relative;
	min-width: 106px;
	text-align: center;
}

.niareadetail-support__link:hover {
	background: var(--link);
	border-color: var(--link);
	color: #fff!important;
}

.niareadetail-support__link::before{
	content: "\f054";
	color: var(--link);
	font: 900 1rem/1 var(--webicon);
	right: 7px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	transition: .5s;
}

.niareadetail-support__link:hover::before {
	color: #fff;
}

@media screen and (max-width: 768px) {
	.niareadetail-support {
		margin: 50px 0 0;
	}

	.niareadetail-support__ttl {
		font-size: 2.5rem;
	}

	.niareadetail-support__region {
		font-size: 2rem;
		/*padding: 13px 0px 11px 15px;*/
	}

	.niareadetail-support__prefectures {
		margin: 25px 0 0;
	}

	.niareadetail-support__link {
		font-size: 1.5rem;
		padding: 10px 13px 10px 8px;
		min-width: 100px;
	}

	.niareadetail-support__link::before {
		right: 4px;
	}
}

/*---------------------------------------
    .subsidy-area
---------------------------------------*/
.subsidy-area{
	position: relative;
}

.subsidy-area .top-block {
    padding: 120px 0;
    background: url(../img/bg-subsidy.jpg) top/cover, no-repeat;
}

.subsidy-area .bottom-block {
    padding: 0 0 80px;
}

.subsidy-area .intro-box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.subsidy-area .txt-box{
	width: 623px;
	position: relative;
}
.subsidy-area .txt-box::before{
	position: absolute;
	content: "";
	background: url(../img/illust03.png) no-repeat center / cover;
	width: 307px;
	height: 277px;
	right: -17px;
	top: -46px;
}

.subsidy-area .txt-box .cmn-ttl{
	font-size: 4.5rem;
	font-weight: 500;
}
.subsidy-area .txt-box .cmn-ttl::after{
	top: 8px;
}
.subsidy-area .txt-box .price{
	font-family: var(--lato);
	color: var(--orange);
	font-size: 8.5rem;
	font-weight: 900;
	margin: 15px 0 0;
}
.subsidy-area .txt-box .price .txt1{
	font-size: 3.1rem;
	font-family: var(--notosans);
	-ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	font-weight: 600;
	margin: 0 8px 0 0;
}
.subsidy-area .txt-box .price .txt2{
	font-size: 3.6rem;
	font-family: var(--notosans);
	margin: 0 0 0 8px;
}
.subsidy-area .txt-box .catch{
	margin: 20px 0 25px;
}
.subsidy-area .img-box img{
	width: 506px;
}

.subsidy-area .detail-box {
    position: relative;
}

.subsidy-area .detail-box::before {
    content: "";
    display: block;
    position: absolute;
    top: -60px;
    left: -80px;
    width: calc( 100% + 160px);
    height: 61px;
    background: #fff;
}

.subsidy-area .detail-wrap + .detail-wrap {
    margin-top: 60px;
}

.subsidy-area .detail-wrap {
    display: flex;
    flex-wrap: wrap;
}

.subsidy-area .detail-ttl {
    font-size: 2.8rem;
    line-height: 1.5;
    margin: 0 0 40px;
    display: flex;
    align-items: center;
    /*gap: 30px;*/
    width: 100%;
    color: var(--gold1);
}

.subsidy-area .detail-ttl::after {
    content: "";
    display: inline-block;
    height: 1px;
    background: var(--gold1);
    flex-grow: 1;
    margin-left: 20px;
}

.subsidy-area .detail-ttl .min {
    font-size: 80%;
}

.subsidy-area .kome {
    text-indent: -1.6rem;
    padding-left: 1.6rem;
}

.subsidy-area .detail-txt-wrap {
    width: 60%;
    padding-right: 60px;
}

.subsidy-area .detail-wrap .img-wrap {
    width: 40%;
}

.subsidy-area .detail-wrap .img-wrap img {
    width: 100%;
    /*height: 100%;
    object-fit: cover;*/
}

.subsidy-area .detail-wrap .catch {
    font-size: 3.8rem;
    line-height: 1.5;
}

.subsidy-area .detail-wrap .sub-catch {
    font-size: 3.0rem;
    line-height: 1.5;
    margin: 0 0 30px;
	font-weight: 500;
}

.subsidy-area .detail-wrap .ex-box {
    background: #F1EFEC;
    padding: 40px;
    width: 100%;
    margin-top: 40px;
}

.subsidy-area .detail-wrap .ex-box .ex-ttl {
    font-size: 3.0rem;
    margin: 0 0 30px;
    line-height: 1.5;
}

.subsidy-area .detail-wrap .ex-box .img-wrap {
    width: 1000px;
    margin: 0 auto;
}

@media screen and (max-width: 768px){
	.subsidy-area{
		/*padding: 230px 20px 60px;*/
		padding: 50vw 0 40px;
        background: url(../img/top-subsidy-sp.jpg) no-repeat top center / 100%;
        /*background: url(../img/top-subsidy-sp.jpg) no-repeat top center / 100%,
					url(../img/bg-subsidy-sp.jpg) no-repeat top 200px center / 100%;*/
	}
    
    .subsidy-area .top-block {
        padding: 40px 0;
        background: url(../img/bg-subsidy-sp.jpg) no-repeat top/cover, no-repeat;
    }
    
	.subsidy-area .txt-box{
		width: 100%;
	}
	.subsidy-area .txt-box::before{
		width: 150px;
        height: 150px;
        right: -20px;
        top: -17px;
	}
    
	.subsidy-area .intro-box{
		padding: 0 20px;
	}
	.subsidy-area .txt-box .cmn-ttl{
		font-size: 2.4rem;
		padding: 0 0 0 30px;
        text-shadow: 0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff;
	}
	.subsidy-area .txt-box .cmn-ttl::after{
		left: 0;
		top: 5px;
	}
	.subsidy-area .txt-box .catch{
		margin: 10px 0;
	}
	.subsidy-area .txt-box .price .txt1{
		font-size: 2.0rem;
	}
	.subsidy-area .txt-box .price .txt2{
		font-size: 2.3rem;
	}
	.subsidy-area .txt-box .price{
		font-size: 5.6rem;
	}
    
    .subsidy-area .detail-box::before {
        display: none;
    }
    
    .subsidy-area .bottom-block {
        padding: 30px 20px 0;
    }
    
    .subsidy-area .detail-box {
    }
    
    .subsidy-area .detail-wrap + .detail-wrap {
        margin-top: 10px;
    }
    
    .subsidy-area .detail-ttl {
        font-size: 1.8rem;
        margin: 0 0 20px;
        flex-wrap: wrap;
        gap: 10px;
    }
    
    .subsidy-area .detail-ttl::after {
        margin: 0;
    }
    
    .subsidy-area .detail-ttl .min {
        font-size: 70%;
    }
    
    .subsidy-area .detail-txt-wrap {
        width: 100%;
        padding-right: 0;
        margin: 0 0 20px;
    }
    
    .subsidy-area .detail-wrap .catch {
        font-size: 2.4rem;
        margin: 0 0 10px;
    }
    
    .subsidy-area .detail-wrap .sub-catch {
        font-size: 2rem;
        margin: 15px 0 10px;
		font-weight: 600;
    }
    
    .subsidy-area .detail-wrap .img-wrap {
        width: 100%;
    }
    
    .subsidy-area .detail-wrap .ex-box {
        padding: 20px 20px 40px;
        margin-top: 40px;
    }
    
    .subsidy-area .detail-wrap .ex-box .ex-ttl {
        font-size: 1.8rem;
        margin: 0 0 10px;
    }
    
    .subsidy-area .detail-wrap .ex-box .img-wrap {
        width: 100%;
    }
}


/*---------------------------------------
    flow-area
---------------------------------------*/
.flow-area {
    padding: 100px 0;
}

.flow-area .inner {
    display: flex;
    flex-wrap: wrap;
    gap: 0 230px;
}

.flow-area .flow-ttl {
    font-size: 4rem;
    margin: 0 0 30px;
}

.flow-area .flow-ttl::after {
    left: -40px;
    top: 10px;
}

.flow-area .flow {
	position: relative;
	margin: 60px 0 0;
}

.flow-area .flowbox {
	counter-reset: number 0;
}

.flow-area .flowbox li {
	display: flex;
	justify-content: flex-start;
	margin: 0 0 60px;
}

.flow-area .flowbox li:last-child {
    margin: 0;
}

.flow-area .flowbox .flow-num-img {
	background: url("../img/top-flow-cicle-pc.png") center top /contain no-repeat #fff;
	width: 40px;
	height: 40px;
	font-family: trajan-pro-3, serif; 
	font-size: 2.5rem;
	font-weight: 600;
	color: #a2a2a2;
	position: relative;
}

.flow-area .flowbox .flow-num-img::before {
	counter-increment: number 1;
	content: counter(number);
	position: absolute;
	top: -28px;
	left: 13px;
	background:#fff;
}

.flow-area .flowbox li:nth-child(n+10) .flow-num-img::before {
	left: 7px;
}

.flow-area .flowbox .img {
	width: 380px;
	margin: 0 40px;
}

.flow-area .flowbox .img img {
	width: 380px;
}

.flow-area .flowbox .text {
	width: 700px;
}

.flow-area .flowbox-title {
	font-family: 'Noto Serif JP', serif;
	font-size: 2.5rem;
	line-height: 1.3;
	font-weight: 500;
	margin: 0 0 30px;
	/*
	color: #877961;
	*/
}

.flow-area .line-vertical {
	border-left: 1px solid #ccc;
	width: 1px;
	height: calc( 100% - (254px + 35px) );
	position: absolute;
	left: 18px;
	top: 35px;
}

.flow-area .note{
	font-size: 1.4rem;
	line-height: 1.8;
	margin: 20px 0 0;
}

@media screen and (max-width: 768px) {
    .flow-area {
        padding: 40px 0;
    }
    
    .flow-area .flow-ttl {
        font-size: 2.2rem;
        margin: 0 0 20px;
        padding: 0 0 0 30px;
    }
    
    .flow-area .flow-ttl::after {
        left: 0;
        top: 5px;
    }
    
	.flow-area .flow {
		position: static;
		margin: 30px 0 0;
	}

	.flow-area .flowbox li {
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0 0 40px;
	}

	.flow-area .flowbox .flow-num-img {
		background: url("../img/top-flow-cicle-pc.png") left top /25px auto no-repeat #fff;
		width: 8%;
        height: 25px;
        font-family: trajan-pro-3, serif;
        font-size: 1.8rem;
        text-align: center;
	}

	.flow-area .flowbox .flow-num-img::before {
		top: -18px;
		left: 7px;
	}

	.flow-area .flowbox li:nth-child(n+10) .flow-num-img::before {
		left: 3px;
	}

	.flow-area .flowbox .img {
        width: 92%;
        margin: 0 0 20px;
	}

	.flow-area .flowbox .img img {
		width: 100%;
	}

	.flow-area .flowbox .text {
        width: 95%;
        margin: 0 0 0 7%;
	}

	.flow-area .flowbox-title {
		font-size: 2.2rem;
        margin: 0 0 15px;
        line-height: 1.5;
        font-weight: 600;
	}

	.flow-area .note{
		margin: 10px 0 0;
	}
	
	.flow-area .line-vertical {
		display: none;
	}

}

/*---------------------------------------
    faq-area
---------------------------------------*/
.faq-area {
    padding: 100px 0;
    background: #F3F0ED;
    position: relative;
}

.faq-area::before {
    background: url("../img/illust07.png") center/contain, no-repeat;
    content: "";
    display: inline-block;
    position: absolute;
    top: -70px;
    right: 10%;
    aspect-ratio:48/33;
    width: 300px;
    height: initial;
}

.faq-area .faq-ttl {
    font-size: 4rem;
    margin: 0 0 30px;
}

.faq-area .faq-ttl::after {
    left: -40px;
    top: 10px;
}

.faq-area .catch {
    margin: 0 0 50px;
}

.faq-area .faq_list{
	border-top: 1px solid #ccc;
}

.faq-area .faq_list > li{
	border-bottom: 1px solid #ccc;
}

.faq-area .faq_q{
	display: flex;
    width: 100%;
	align-items: center;
    /*background: #fff;*/
    padding: 25px 20px 20px;
	position: relative;
    cursor: pointer;
    line-height: 1.5;
}

.faq-area .faq_q::before, .faq-area .faq_a::before{
	font: bold 2.6rem / 1 'Josefin Sans', sans-serif;
	margin: 0 10px 0 0;
}

.faq-area .faq_q::before{
	content: 'Q';
    color: #96876d;
}

.faq-area .faq_area .faq_q h3{
	font-size: 1.8rem;
	font-weight: 500;
}

.faq-area .faq_a{
	display: none;
	border-top: 1px solid #ccc;
    background: #fbfbfb;
    padding: 30px 60px 30px 80px;
    line-height: 1.5;
}

.faq-area .faq_a{
	line-height: 1.8;
    position: relative;
}
.faq-area .faq_a::before{
	content: 'A';
    color: #FF5959;
	position: absolute;
	top: 31px;
    left: 50px;
}

.faq-area .faq_a_list li::before{
	content: '・';
    display: inline-block;
    color: #003894;
    font-weight: bold;
}

@media screen and (max-width: 768px){
    .faq-area {
		padding: 60px 0 40px;
        margin: 0 0 30px;
	}
    
    .faq-area::before {
        top: -20px;
        right: 20px;
        width: 40vw;
    }
    
    .faq-area .faq-ttl {
        font-size: 2.2rem;
        margin: 0 0 20px;
        padding: 0 0 0 30px;
    }
    
    .faq-area .faq-ttl::after {
        left: 0;
        top: 5px;
    }

	.faq-area .faq_q{
		align-items: flex-start;
		padding: 20px 20px 15px 0;
	}

	.faq-area .faq_q::before, .faq-area .faq_a::before{
		font-size: 2rem;
	}
	
	.faq-area .faq_q::before{
		line-height: 1.4;
	}

	.faq-area .faq_area .faq_q h3{
		font-size: 1.8rem;
		line-height: 1.4;
	}

	.faq-area .faq_a{
		padding: 20px 20px 20px 45px;
	}

	.faq-area .faq_a::before{
		top: 25px;
    	left: 22px;
	}
	
	.faq-area .accordion_icon{
		right: 15px;
	}
}

/*---------------------------------------
    .free-area
---------------------------------------*/
.free-area {
    padding: 0 0 100px;
}

.free-area .cmn-ttl {
    font-size: 4rem;
    display: block;
    padding-left: 25px;
    margin-inline:auto;
    /*max-inline-size:fit-content;*/
}

.free-area .cmn-ttl.left {
    margin-inline: 0;
}

.free-area .cmn-ttl::after {
    top: 13px;
    left: -15px;
}

@media screen and (max-width: 768px){
    .free-area {
        padding: 0 0 30px;
    }
    
    .free-area .cmn-ttl {
        font-size: 2rem;
    }
    
    .free-area .cmn-ttl::after {
        top: 2px;
        left: -3px;
    }
}

/*---------------------------------------
    .news_area
---------------------------------------*/

@media screen and (max-width: 768px){
    #area .news_area {
        padding: 0 20px 50px;
    }
}

/*---------------------------------------
    .support-area
---------------------------------------*/
.support-area {
    padding: 100px 0;
    background: #F3F0ED;
}

.support-area .cmn-ttl {
    font-size: 4.5rem;
}

.support-area .cmn-ttl::after {
    top: 15px;
}

.support-area .support-box {
    background: #fff;
    padding: 30px;
}

@media screen and (max-width: 768px){
    .support-area {
        padding: 40px 0;
        margin: 0;
    }
    
    .support-area .cmn-ttl {
        font-size: 1.8rem;
        padding-left: 30px;
    }
    
    .support-area .cmn-ttl::after {
        top: 3px;
        left: 0;
    }
    
    .support-area .support-box {
        padding: 15px;
    }
}


/*---------------------------------------
    .reason-area
---------------------------------------*/
#area .reason_area .reason::before {
    background: url(../img/top-reason-img-area.jpg) left top/contain no-repeat;
}

#area .reason_area .reason-catch {
	font-size: 3.6rem;
}

/*#area .reason_area .accordion-icon {
    display: none;
}*/

@media screen and (max-width: 768px){
    #area .reason_area {
        padding: 50px 0 80px;
    }
	
	#area .reason_area .reason-list {
		gap: 60px 0;
	}
	#area .reason_area .reason-item {
		flex-wrap: wrap;
		/*align-items: flex-start;*/
	}
	#area .reason_area .sp-view-more-btn {
		/*bottom: 0;
		right: 20px;
		left: auto;
		transform: none;*/
		bottom: -40px;
		right: 20px;
		left: auto;
		transform: none;
	}

	#area .reason_area .reason-catch {
		font-size: 2rem;
	}
    
    #area .reason_area .reason-item-txt {
        display: inherit!important;
        margin: 0;
		padding: 20px 20px 5px;
		font-size: 1.6rem;
		width: 100%;
    }
    
    #area .reason_area .reason-item-ttl {
        position: relative;
		font-size: 1.9rem;
    }
    
    /*#area .reason_area .accordion-icon {
        display: inline-block;
    }*/
}



/*---------------------------------------
    .service_area
---------------------------------------*/
#area .service_area {
    background: url(../img/plan-descript-image05.png) no-repeat top right / 800px 715px #F3F0ED;
    background-blend-mode: multiply;
    margin: 100px 0 0;
}

#area .service_area .service-list .service-item{
	width: calc((100% - 160px) / 5);
	background-color: #fff;
	border: solid 1px var(--gold2);
    padding: 0;
}

#area .service_area .service-list .service-item .ttl{
	font-size: 1.6rem;
	text-align: center;
	color: var(--purple1);
	font-family: var(--notosans);
    padding: 20px 15px 30px;
    display: block;
    position: relative;
    font-weight: 600;
}

#area .service_area .service-list .service-item .ttl::after {
    content: "\f107";
    display: inline-block;
    position: absolute;
    bottom: 7px;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--webicon);
    color: var(--gold1);
    transition: all .3s;
}

#area .service_area .service-list .service-item .ttl:hover::after {
    transform: translate(-50%,2px);
}
#area .service_area .service-list .service-item a:hover {
	border: none;
}

#area .service_area .service-box {
    margin-top: 50px;
    padding: 40px 0;
    display: flex;
    flex-wrap: wrap;
    position: relative;
	align-items: center;
    z-index: 1;
}

#area .service_area .service-box::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -40px;
    width: calc( 100% + 80px );
    height: 100%;
    background: #fff;
    z-index: -1;
}

#area .service_area .service-box .service-txt-wrap {
    width: 60%;
    padding-right: 5%;
}

#area .service_area .service-box .service-ttl {
    font-size: 3.8rem;
    line-height: 1.5;
    color: var(--purple1);
    font-family: var(--notoserif);
    margin: 0 0 20px;
}

#area .service_area .service-box > .img-wrap {
    width: 40%;
}

#area .service_area .service-box .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#area .service_area .service-box-list {
    display: flex;
    gap: 40px;
    margin: 40px 0 0;
}
#area .service_area .service-box-list li{
    width: calc((100% - 80px) / 3);
}
#area .service_area .service-box-list .list-txt-wrap {
    margin: 20px 0 0;
}

#area .service_area .service-box-list .catch {
    font-size: 2.4rem;
    line-height: 1.5;
    text-align: center;
	font-weight: 600;
    margin: 0 0 10px;
}

#area .service_area .ex-wrap {
    margin: 40px 0 0;
    width: 100%;
}

#area .service_area .ex-wrap .ex-ttl {
    font-size: 2.2rem;
    font-family: var(--notoserif);
    line-height: 1.5;
    margin: 0 0 30px;
	font-weight: 600;
}

#area .service_area .ex-wrap .ex-list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

#area .service_area .ex-wrap .ex-list .ex-item {
    width: calc( ( 100% - 80px ) / 3 );
    border: 1px solid #D3CEC9;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    align-content: flex-start;
}

#area .service_area .ex-wrap .ex-list .ex-icon-wrap {
    width: 100px;
    height: 100px;
    margin: 20px 0 0 20px;
}

#area .service_area .ex-wrap .ex-list .ex-icon-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#area .service_area .ex-wrap .ex-list .ex-txt-wrap {
    margin: 20px 20px 0 0;
    width: calc(100% - 160px);
}

#area .service_area .ex-wrap .ex-list .ex-txt-wrap .type,
#area .service_area .ex-wrap .ex-list .ex-txt-wrap .quantity {
    line-height: 1.5;
}

#area .service_area .ex-wrap .ex-list .ex-txt-wrap .price {
    font-size: 2.8rem;
    font-family: var(--lato);
    font-weight: bold;
    margin: 10px 0 0;
}
#area .service_area .ex-wrap .ex-list .time-schedule-wrap{
    width: 100%;
}
#area .service_area .ex-wrap .ex-list .time-ttl {
    background: #ECE6F7;
    padding: 5px 20px;
    line-height: 1.5;
}

#area .service_area .ex-wrap .ex-list .time-list {
    padding: 20px 20px 20px 40px;
    position: relative;
}

#area .service_area .ex-wrap .ex-list .time-item {
    display: flex;
    gap: 20px;
    position: relative;
    align-items: flex-start;
}

#area .service_area .ex-wrap .ex-list .time-item + .time-item {
    margin-top: 10px;
}

#area .service_area .ex-wrap .ex-list .time-item::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 7px;
    left: -20px;
    width: 9px;
    height: 9px;
    background: var(--purple1);
    border-radius: 5px;
}

#area .service_area .ex-wrap .ex-list .time-item::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 10px;
    left: -16px;
    width: 1px;
    height: calc( 100% + 10px );
    background: var(--purple1);
}

#area .service_area .ex-wrap .ex-list .time-item:last-child::after {
    display: none;
}

#area .service_area .ex-wrap .ex-list .num {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.8;
    flex-shrink: 0;
}

#area .service_area .ex-wrap .ex-list .list-name {
    line-height: 1.5;
    font-size: 1.5rem;
}

@media screen and (max-width: 768px){
    
    #area .service_area {
        background: url(../img/plan-descript-image05.png) no-repeat top 58vw right / 200px 179px #F3F0ED;
        background-blend-mode: multiply;
        margin: 0;
        position: relative;
        padding: 60vw 20px 20px;
    }
    
    #area .service_area::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 52vw;
        background: url("../img/plan-window-descript-head.jpg") center/cover, no-repeat;
    }
    
	#area .service_area .inner{
		padding: 0;
	}
	
    #area .service_area .txt-box .catch {
        text-shadow: 0 0 10px #F3F0ED,0 0 10px #F3F0ED,0 0 10px #F3F0ED,0 0 10px #F3F0ED,0 0 10px #F3F0ED,0 0 10px #F3F0ED,0 0 10px #F3F0ED,0 0 10px #F3F0ED,0 0 10px #F3F0ED,0 0 10px #F3F0ED,0 0 10px #F3F0ED,0 0 10px #F3F0ED,0 0 10px #F3F0ED,0 0 10px #F3F0ED,0 0 10px #F3F0ED;
    }
    
	#area .service_area .service-list {
		gap: 10px;
	}
    #area .service_area .service-list .service-item {
        width: calc((100% - 10px) / 2);
    }
    
    #area .service_area .service-list .service-item .ttl {
        width: 100%;
        padding: 15px 0 25px;
        font-size: 1.5rem;
        margin: 0;
    }
    
    #area .service_area .service-list .service-item .ttl::after {
        bottom: 5px;
    }
    
    #area .service_area .service-box::before {
        display: none;
    }
    
    #area .service_area .service-box {
        margin-top: 0;
        padding: 20px 20px 40px;
        background: #fff;
        margin: 40px 0 50px;
        position: relative;
    }
    
    #area .service_area .service-box > .img-wrap {
        order: 1;
        width: 100%;
        height: 50vw;
    }

    #area .service_area .service-box#double-window .img-wrap img,
    #area .service_area .service-box#window .img-wrap img{
        object-position: top;
    }

    #area .service_area .service-box .service-txt-wrap {
        width: 100%;
        padding-right: 0;
        order: 2;
        margin: 20px 0 0;
    }
    
    #area .service_area .service-box .catch {
        font-size: 2.2rem;
        margin: 0 0 15px;
    }
    
    #area .service_area .service-box .sp-view-more-contents {
        order: 3;
    }
    
    /* #area .service_area .service-box .sp-view-more-btn {
        position: absolute;
        bottom: -20px;
        left: 50%;
        transform: translateX(-50%);
        border: 1px solid #D3CEC9;
        background: #fff;
        border-radius: 30px;
        font-size: 1.4rem;
        display: inline-block;
        padding: 15px 40px 15px 30px;
        z-index: 1;
        font-family: 'Rajdhani',sans-serif;
        font-weight: bold;
        letter-spacing: .2rem;
    } */
    
    #area .service_area .service-box .service-ttl {
        font-size: 2.8rem;
        margin: 0 0 15px;
		font-weight: 600;
    }
    
    #area .service_area .service-box-list {
        gap: 30px;
        margin: 20px 0 0;
        flex-wrap: wrap;
    }
    
    #area .service_area .service-box-list li {
        width: 100%;
    }
    
    #area .service_area .service-box-list .img-wrap {
        height: 50vw;
    }
    
    #area .service_area .service-box-list .catch {
        font-size: 2.2rem;
		text-align: left;
    }
    
    #area .service_area .ex-wrap {
        margin: 20px 0 0;
    }
    
    #area .service_area .ex-wrap .ex-ttl {
        font-size: 2.1rem;
        margin: 0 0 20px;
    }
    
    #area .service_area .ex-wrap .ex-list {
        gap: 20px;
    }
    
    #area .service_area .ex-wrap .ex-list .ex-item {
        width: 100%;
        gap: 20px;
    }
    
    #area .service_area .ex-wrap .ex-list .ex-icon-wrap {
        width: 80px;
        height: 80px;
        margin: 15px 0 0 15px;
    }
    
    #area .service_area .ex-wrap .ex-list .ex-txt-wrap {
        width: calc( 100% - 130px );
        margin: 15px 15px 0 0;
    }
	#area .service_area .ex-wrap .ex-list .ex-txt-wrap .type,
	#area .service_area .ex-wrap .ex-list .ex-txt-wrap .quantity {
		font-size: 1.6rem;
		font-weight: 500;
	}
	#area .service_area .ex-wrap .ex-list .ex-txt-wrap .price {
		font-size: 2.6rem;
		margin: 5px 0 0;
	}
	
}

/*---------------------------------------
    .casestudy_box
---------------------------------------*/
@media screen and (max-width: 768px){
    #area .casestudy_box li {
        padding: 20px 20px 30px;
    }
}


/*---------------------------------------
    free-area
---------------------------------------*/
.free-area .nicms-fullrich{
	line-height: 1.8;
}






