/* about */

.about-ttl{
    text-align: center;
    font-size: 36px;
    font-family: "Zen Old Mincho", serif;

}
.about-sec01__box{
    margin: 40px 0;
    height: 300px;
    position: relative;
}
.about-sec01__box img{
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.about-sec01__content{
    text-align: center;
    color:#fff;
    width: 100%;
    font-family: "Zen Old Mincho", serif;
    font-weight: 600;
    position: absolute;
    top: 50px;
    right: 50%;
    transform: translate(50%, 0);

}
.about-sec01__box-ttl{
    font-size: 48px;
    letter-spacing: 0.6rem;
    margin-bottom: 30px;
    line-height: 1.4;
}
.about-sec01__box-ttl span{
    display: inline-block;
}
.about-sec01__box-txt{
    font-size: 24px;
    line-height: 1.75;
    letter-spacing: 0.3rem;
}
.about-sec01__box-txt span{
    display: inline-block;
}
@media screen and (max-width: 750px) {       

    .about-ttl{
        font-size: 26px;
    }
    .about-sec01__box{
        height: 300px;
    }
    .about-sec01__content{
        top:40px;
    }
    .about-sec01__box-ttl{
        font-size: 24px;
        margin-bottom: 20px;
    }
    .about-sec01__box-txt{
        font-size: 20px;
    }
}
#about-sec02{
    margin: 90px 0 50px;
}
.about-sec02__flex{
    display: flex;
    justify-content: space-between;
    margin: 35px 0 120px;
}
.about-sec02__img{
    width: 49.5%;
}
.about-sec02__box{
        width: 48%;
}
.about-sec02__box-ttl{
    font-size: 26px;
    font-weight: 600;
    margin-bottom: 20px;
    line-height: 1.6;
}
.about-sec02__box-list{
    padding-bottom:40px;
}
.about-sec02__box-list li{
    font-size: 18px;
    text-indent: -18px;
    padding-left: 18px;
    line-height: 1.6;
}
.about-sec02__box-list li span{
    display: inline-block;
}
.about-sec02__box-txt{
    font-size: 16px;
    line-height: 1.6;
}

.about-sec03__box-ttl{
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 5px;
    line-height: 1.6;
}
.about-sec03__box-txt{
    font-size: 18px;
    line-height: 1.2;
    margin-bottom: 5px;
}
.about-sec03__box-txt02{
    font-size: 14px;
    line-height: 1.2;
    margin: 15px 0;
}


@media screen and (max-width: 750px) {
    #about-sec02{
        margin: 50px 0 20px;
    }
    .about-sec02__flex{
        display: block;
        margin: 35px 0 50px;
    }
    .about-sec02__img{
        width: 100%;
        margin-bottom: 10px;
    }
    .about-sec02__box{
        width: 100%;
    }
    .about-sec02__box-ttl{
        font-size: 20px;
        margin-bottom: 10px;
        line-height: 1.6;
    }
    .about-sec02__box-list{
        padding-bottom: 20px;
    }
    .about-sec02__box-list li span{
        display: inline-block;
    }
    .about-sec02__box-txt{
        font-size: 14px;
        line-height: 1.6;
    }
    .about-sec03__box-ttl{
        font-size: 18px;
        margin-bottom: 5px;
        line-height: 1.6;
    }
    .about-sec03__box-txt{
        font-size: 16px;
        line-height: 1.2;
    }
    .about-sec03__box-txt02{
        font-size: 12px;
        line-height: 1.2;
        margin: 15px 0;
    }

}


/* construction */
    
#construction-sec02{
	margin: 63px 0;
}
.construction-sec02__flex{
	margin: 55px 0 30px;
	display: flex;
	flex-wrap: wrap;
	gap: 20px 10px;
}
.construction-sec02__flex-box{
	width: calc(50% - 5px);
	box-sizing: border-box;
	display: block;
	margin-bottom: 18px;
}
.construction-sec02__flex-img{
	width: 100%;
	aspect-ratio: 5 / 4;
	margin-bottom: 10px;
}
.construction-sec02__flex-img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.construction-sec02__flex-content{
	width: 100%;
}
.construction-sec02__flex-ttl{
	font-family: "Zen Old Mincho", serif;
	font-size: 36px;
	text-decoration: underline;
	margin-bottom: 10px;
}
.construction-sec02__flex-txt{
	font-size: 18px;
	margin-bottom: 10px;
	line-height: 1.6;
}

@media screen and (max-width: 750px) {  

	.construction-sec02__flex-box{
		padding: 15px 10px;
	}
	.construction-sec02__flex-img{
		width: 95px;
		height: 65px;
	}
	.construction-sec02__flex-img img{
		border-radius: 10px;
	}
	.construction-sec02__flex-content{
		width: calc(100% - 115px);
	}
	.construction-sec02__flex-ttl{
		font-size: 22px;
		margin-bottom: 10px;
	}
	.construction-sec02__flex-txt{
		font-size: 18px;
		margin-bottom: 10px;
	}

}

/* information */
#information-sec02{
    margin: 63px 0;
}
.information-sec02__news{
    margin: 55px 0 0;
}
.information-sec02__news-box{
    padding: 30px 40px;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    border-top: solid 1px #000;
    border-bottom: solid 1px #000;
    margin-bottom: 18px;
}
.information-sec02__news-img{
    width: 190px;
    height: 130px;
}
.information-sec02__news-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 15px;
}
.information-sec02__news-content{
    width: calc(100% - 245px);
}
.information-sec02__news-date{
    font-family: "Zen Old Mincho", serif;
    font-size: 20px;
    margin-bottom: 10px;
}
.information-sec02__news-txt{
    font-size: 24px;
    margin-bottom: 10px;
}

@media screen and (max-width: 750px) {  

    .information-sec02__news-box{
        padding: 15px 10px;
    }
    .information-sec02__news-img{
        width: 95px;
        height: 65px;
    }
    .information-sec02__news-img img{
        border-radius: 10px;
    }
    .information-sec02__news-content{
        width: calc(100% - 115px);
    }
    .information-sec02__news-date{
        font-size: 16px;
        margin-bottom: 10px;
    }
    .information-sec02__news-txt{
        font-size: 18px;
        margin-bottom: 10px;
    }

}

.pagenate{
        display: flex;
        justify-content: center;
        gap:5px;
    }
    .pagenate a,
    .pagenate span{
        width: 60px;
        height: 60px;
        border-radius: 5px;
        border: solid 1px #0ABAB5;
        display: flex;
        justify-content: center;
        align-items: center;
        background: #fff;
        font-size: 15px;
        font-weight: 500;
        position: relative;
    }
    .pagenate .current{
        background-color: rgba(0,0,0,0.1);
    }
    .pagenate a.prev:before{
        content:"";
        background: url(../img/common/arrow.png);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        position: absolute;
        width: 15px;
        height: 13px;
        top:50%;
        right: 50%;
        transform: translate(50%,-50%);
    }
    .pagenate a.next:before{
        content:"";
        background: url(../img/common/arrow.png);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        position: absolute;
        width: 15px;
        height: 13px;
        top:50%;
        right: 50%;
        transform: translate(50%,-50%) rotate(180deg);
    }

/* price */
.price-ttl{
    text-align: center;
    font-size: 34px;
    font-family: "Zen Old Mincho", serif;
}
.price-sec01__box{
    margin: 40px 0;
    height: 300px;
    position: relative;
}
.price-sec01__box img{
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.price-sec01__content{
    text-align: center;
    color:#fff;
    width: 100%;
    font-family: "Zen Old Mincho", serif;
    font-weight: 600;
    position: absolute;
    top: 50px;
    right: 50%;
    transform: translate(50%, 0);

}
.price-sec01__box-ttl{
    font-size: 48px;
    letter-spacing: 0.6rem;
    margin-bottom: 30px;
    line-height: 1.4;
}
.price-sec01__box-ttl span{
    display: inline-block;
}
.price-sec01__box-txt{
    font-size: 24px;
    line-height: 1.75;
    letter-spacing: 0.3rem;
}
.price-sec01__box-txt span{
    display: inline-block;
}
#price-sec02{
    margin: 135px 0 0;
}
.js-scrollable{
  white-space: nowrap;
}
.price-notice{
    margin: 5px 0 0px;
    font-size: 16px;
}
.price-box{
    margin-bottom: 60px;
}
.price-sec02__img{
    margin-bottom: 20px;
}
.js-scrollable img{
    min-width: 750px;
}
.price-ttl span{
    display: inline-block;
}
.price-ttl02 span{
    display: block
}
.price-ttl02 {
    position: relative;
    margin: 0 auto;
    text-align: center;
    font-size: 34px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: calc(100% - 30px);
    width: fit-content;
    font-family: "Zen Old Mincho", serif;
    margin-bottom: 30px;
}
.price-ttl02::before {
    content:"～";
    position: absolute;
    right: -45px;
    top:50%;
    transform: translate(0, -50%);
}
.price-ttl02::after {
    content:"～";
    position: absolute;
    left: -45px;
    top:50%;
    transform: translate(0, -50%);
}
@media screen and (max-width: 750px) {       
    #price-sec02{
        margin: 50px 0 20px;
    }
    .price-ttl{
        font-size: 20px;
    }
    .price-ttl02{
        font-size: 20px;
    }
    .price-ttl02::before {
        right: -25px;
    }
    .price-ttl02::after {
        left: -25px;
    }
    .price-sec01__box{
        height: 300px;
    }
    .price-sec01__content{
        top:40px;
    }
    .price-sec01__box-ttl{
        font-size: 24px;
        margin-bottom: 20px;
    }
    .price-sec01__box-txt{
        font-size: 20px;
    }
    .price-notice{
        font-size: 16px;
    }
}
@media screen and (max-width: 430px) {   
    .price-ttl02-2{
        width: 220px;
    }
}

 .pricetable{
    border-collapse : collapse ;
    color:#333333;
    font-size: 18px;
    width: 100%;
}
.pricetable tbody{ 
    width: 100%;
}
.pricetable th,
.pricetable td{
    border:solid 1px #707070;
    box-sizing: border-box;
}
.pricetable tr:nth-child(2n + 1){
    background:#fff;
}
.pricetable tr:nth-child(2n + 2){
    background:rgba(10,186,181,0.25);
}
.pricetable tr:first-child{
    background:#333333;
    color:#fff;
}
.pricetable tr th{
    width: calc(calc(100% - 350px) / 5 );                        
    vertical-align: middle;
    text-align: center;
    padding: 20px;
    font-weight:400;
    box-sizing: border-box;
}
.pricetable tr td{
    width: calc(calc(100% - 350px) / 5 );
    padding: 20px;
    text-align: center;
    box-sizing: border-box;
}
.pricetable tr th:first-child {
    width: 350px;
    text-align: left;
    text-decoration: underline;
}
.pricetable tr:first-child th:first-child {
    background-image: linear-gradient(
        to right top, transparent calc(50% - 0.5px), #707070 50%, #707070 calc(50% + 0.5px), transparent calc(50% + 1px)
    );
    display: grid;
    width: max-content;
    border:solid 1px #707070;
    justify-content: space-between;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 1fr;
    width: 350px;
    padding: 10px 20px;
    text-decoration: none;
}
.col-header {
    grid-column-start: 2;
    text-align: right;
}
.row-header {
    grid-column-start: 1;
    text-align: left;
}

@media screen and (max-width: 750px) {
    .pricetable tr th{
        width: calc(calc(100% - 280px) / 5 );    
    }
    .pricetable tr td{
        width: calc(calc(100% - 280px) / 5 );
    }
    .pricetable tr th:first-child {
        width: 280px;
    }
    .pricetable tr:first-child th:first-child {
        width: 280px;
    }
}
/* single */
.breadcrumb {
    font-size: 18px;
}
.breadcrumb span,
.breadcrumb a{
    margin-right: 10px;
    display: inline-block;
}
.single__ttl{
    font-size: 20px;
    margin-bottom: 20px;
}
.page-content{
    margin: 30px 0;
}
.single__img{
    text-align: center;
    margin-bottom: 30px;
    aspect-ratio: 16/9;
    height: 100%;
}
.single__img img{
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}
.single-box {
    font-size: 18px;
    line-height: 1.6;

}



.single-box h2{
    color:#00064A;
    font-size: 24px;
    border-left: solid #00064A 4px;
    padding:8px 10px;
    font-size: 24px;
    margin:10px 0 30px;
}
.single-box h3{
    color:#00064A;
    font-size: 20px;
    border-bottom: solid #D4D6E0 1px;
    padding:10px 0;
    margin:10px 0 30px;
}
.single-box h4{
    color:#00064A;
    font-size: 18px;
    padding:10px 0 10px 25px;
    margin:10px 0 20px;
    position: relative;
}
.single-box h4:after{
    width: 16px;
    height: 16px;
    position: absolute;
    background-color:#242533 ;
    left: 0;
    top: 15px;
    content:"";
}
.single-box h5{
    color:#00064A;
    font-size: 16px;
    padding:10px 0 10px 0;
    margin:10px 0 10px;
    position: relative;
}

.single-box p{
    margin: 0 0 20px;
    line-height: 1.8;
    font-size: 15px;
    letter-spacing: 0.03rem;
}
.single-box ul{
    margin: 20px 20px;
}
.single-box ul li{
    padding: 4px 0 4px 17px;
    position: relative;
}
.single-box ul li:after{
    position: absolute;
    content:"";
    width: 8px;
    height: 2px;
    background: #111111;
    top: 50%;
    transform: translate( 0 , -50%);
    left: 0;
}
.single-box ol{
    margin: 20px 20px;
    padding-left: 17px;
    list-style: decimal;
}
.single-box ol  li::marker {
    color: #707070;
}
.single-box ol li{
    padding: 4px 0 4px 0;
    position: relative;
}
.single-box  table{
    width: 100%;
    margin: 20px 0;
}
.single-box  tbody{
    width: 100%;
}
.single-box  tbody th{
    border: solid 1px #D4D6E0;
    background: #F0F0F0;
    padding: 9px 10px;
    line-height: 1.8;
    text-align: left;
    font-weight: 400;
}
.single-box tbody td{
    border: solid 1px #D4D6E0;
    padding: 9px 10px;
    line-height: 1.8;
}

.aligncenter {
    display: block;
    margin-right: auto;
    margin-left: auto;
}
.alignright {
    float: right;
    margin-bottom: 20px;
    margin-left: 20px;
}
.alignleft {
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;
}

@media screen and (max-width: 750px) {
    
    .single-box h2{
        font-size: 20px;
        border-left: solid #00064A 2px;
        padding: 4px 4px;
    }
    .single-box h3{
        font-size: 18px;
        padding:8px 0;
    }
    .single-box h4{
        padding:8px 0 8px 20px;
        margin:10px 0 20px;
        font-size: 17px;
    }
    .single-box h4:after{
        width: 14px;
        height: 14px;
        top: 16px;
    }
    .single-box  ul{
        margin: 10px 10px;
    }
    .single-box ol{
        margin: 10px 10px;
    }    
}

#page-sec01{
    margin: 90px 0 50px;
}
#page-sec01 h2{
    color:#00064A;
    font-size: 24px;
    border-left: solid #00064A 4px;
    padding:8px 10px;
    font-size: 24px;
    margin:10px 0 30px;
}
#page-sec01 h3{
    color:#00064A;
    font-size: 20px;
    border-bottom: solid #D4D6E0 1px;
    padding:10px 0;
    margin:10px 0 30px;
}
#page-sec01 h4{
    color:#00064A;
    font-size: 18px;
    padding:10px 0 10px 25px;
    margin:10px 0 20px;
    position: relative;
}
#page-sec01 h4:after{
    width: 16px;
    height: 16px;
    position: absolute;
    background-color:#242533 ;
    left: 0;
    top: 15px;
    content:"";
}
#page-sec01 h5{
    color:#00064A;
    font-size: 16px;
    padding:10px 0 10px 0;
    margin:10px 0 10px;
    position: relative;
}

#page-sec01 p{
    margin: 0 0 20px;
    line-height: 1.8;
    font-size: 15px;
    letter-spacing: 0.03rem;
}
#page-sec01 ul{
    margin: 20px 20px;
}
#page-sec01 ul li{
    padding: 4px 0 4px 17px;
    position: relative;
}
#page-sec01 ul li:after{
    position: absolute;
    content:"";
    width: 8px;
    height: 2px;
    background: #111111;
    top: 50%;
    transform: translate( 0 , -50%);
    left: 0;
}
#page-sec01 ol{
    margin: 20px 20px;
    padding-left: 17px;
    list-style: decimal;
}
#page-sec01 ol  li::marker {
    color: #707070;
}
#page-sec01 ol li{
    padding: 4px 0 4px 0;
    position: relative;
}
#page-sec01  table{
    width: 100%;
    margin: 20px 0;
}
#page-sec01  tbody{
    width: 100%;
}
#page-sec01  tbody th{
    border: solid 1px #D4D6E0;
    background: #F0F0F0;
    padding: 9px 10px;
    line-height: 1.8;
    text-align: left;
    font-weight: 400;
}
#page-sec01 tbody td{
    border: solid 1px #D4D6E0;
    padding: 9px 10px;
    line-height: 1.8;
}

@media screen and (max-width: 750px) {
    
    #page-sec01 h2{
        font-size: 20px;
        border-left: solid #00064A 2px;
        padding: 4px 4px;
    }
    #page-sec01 h3{
        font-size: 18px;
        padding:8px 0;
    }
    #page-sec01 h4{
        padding:8px 0 8px 20px;
        margin:10px 0 20px;
        font-size: 17px;
    }
    #page-sec01 h4:after{
        width: 14px;
        height: 14px;
        top: 16px;
    }
    #page-sec01  ul{
        margin: 10px 10px;
    }
    #page-sec01 ol{
        margin: 10px 10px;
    }    
}