		/* #main_visual のスタイル */
		#main_visual {
		    margin-bottom: 100px;
		}

		@media (max-width: 767px) {
		    #main_visual>.container-md {
		        padding-left: 0;
		        padding-right: 0;
		    }

		    #main_visual {
		        margin-bottom: 80px;
		    }
		}

		/* .lp_main_visual のスタイル */
		.lp_main_visual {
		    position: relative;
		    font-size: 38px;
		    line-height: 1;
		    height: 12em;
		}

		.lp_main_visual_text {
		    position: absolute;
		    top: 0;
		    left: 0;
		    width: 5em;
		    height: 100%;
		    display: flex;
		    align-items: center;
		    z-index: 100;
		    font-family: "Noto Serif JP", serif;
		    font-weight: 700;
		}

		.lp_main_visual_text p {
		    margin: 0 0 0.447em 0;
		}

		.lp_main_visual_text p:last-child {
		    margin-bottom: 0;
		}

		.lp_main_visual_text p span {
		    display: inline-block;
		    vertical-align: bottom;
		    padding: 0.5em 0.75em;
		    color: #383898;
		    background-color: #fff;
		    white-space: nowrap;
		}

		.lp_main_visual_text p:nth-child(2n) span {
		    background-color: #383898;
		    color: #fff;
		}

		.lp_main_visual_img {
		    position: absolute;
		    top: 0;
		    left: 5em;
		    width: calc((100% - 5em) + (100vw - 100%) * 0.5);
		    height: 100%;
		    overflow: hidden;
		}

		.lp_main_visual_img .swiper-container,
		.lp_main_visual_img .swiper-wrapper,
		.lp_main_visual_img .swiper-slide,
		.lp_main_visual_img .swiper-slide img {
		    width: 100%;
		    height: 100%;
		}

		.lp_main_visual_img .swiper-slide img {
		    transform-origin: 50% 50%;
		}

		.lp_main_visual_img .swiper-slide.zoom img {
		    animation: 10s linear 0s zoom;
		}

		.lp_main_visual_img .swiper-container {
		    position: absolute;
		}

		.lp_main_visual_img .swiper-slide img {
		    object-fit: cover;
		    object-position: center center;
		}

		@keyframes zoom {
		    0% {
		        transform: scale(1, 1);
		    }

		    100% {
		        transform: scale(1.2, 1.2);
		    }
		}

		@media (max-width: 991px) {
		    .lp_main_visual {
		        font-size: 30px;
		    }
		}

		@media (max-width: 767px) {
		    .lp_main_visual_text {
		        width: 0;
		        font-size: 25px;
		    }

		    .lp_main_visual_text p {
		        padding-left: calc(var(--bs-gutter-x) * 0.5);
		    }

		    .lp_main_visual_img {
		        left: 0;
		        width: 100%;
		    }
		}

		/* .s01_block のスタイル */
		.s01_block {
		    --side_pad: 105px;
		    padding: 0 var(--side_pad);
		}

		.s01_block .row {
		    --bs-gutter-x: 30px;
		    --bs-gutter-y: 30px;
		}

		.s01_block_bottom_img {
		    margin: 30px calc(-1 * var(--side_pad)) 0 0;
		}

		.s01_block_img {
		    position: relative;
		    z-index: 3;
		    margin: 0;
		}

		.s01_block_text {
		    position: relative;
		}

		.s01_block_text_obj {
		    position: relative;
		    z-index: 2;
		}

		.s01_block_bg_wrap {
		    position: absolute;
		    top: 0;
		    left: 0;
		    width: 100%;
		}

		.s01_block_bg {
		    margin: -160px -180px 0 0;
		}

		@media (max-width: 991px) {
		    .s01_block {
		        --side_pad: 0px;
		    }
		}

		@media (max-width: 767px) {
		    .s01_block {
		        position: relative;
		    }

		    .s01_block_text {
		        position: static;
		    }

		    .s01_block_bg {
		        margin: -140px 0px 0 0;
		    }
		}

		/* .s02_block のスタイル */
		.s02_block .row {
		    --bs-gutter-x: 30px;
		    --bs-gutter-y: 30px;
		}

		/* .info_section01 のスタイル */
		.info_section01 {
		    padding: 70px 0 100px 0;
		    margin: 110px 0 80px 0;
		}

		.info_section01:first-child {
		    margin-top: 0;
		}

		.info_section01:last-child {
		    margin-bottom: 0;
		}

		.info_section01_img01 {
		    text-align: center;
		    margin: -170px 0 20px 0;
		}

		@media (max-width: 991px) {
		    .info_section01 {
		        padding-top: 35px;
		        padding-bottom: 50px;
		        margin: 80px 0 50px 0;
		    }

		    .info_section01_img01 {
		        margin: 0px 0 20px 0;
		    }
		}

		@media (max-width: 767px) {
		    .info_section01_img01 {
		        margin: -80px 0 10px 0;
		    }
		}

		/* .construction_card のスタイル */
		.construction_card {
		    margin: 50px 0 85px 0;
		}

		.construction_card .card {
		    --bs-card-border-radius: 4px;
		    --bs-border-color-translucent: #707070;
		}

		@media (max-width: 767px) {
		    .construction_card {
		        margin: 30px 0 42px 0;
		    }
		}

		/* #construction のスタイル */
		#construction {
		    padding-bottom: 110px;
		}

		@media (max-width: 991px) {
		    #construction {
		        padding-bottom: 0px;
		    }
		}

		@media (max-width: 767px) {
		    #construction {
		        padding-bottom: 30px;
		    }
		}

		/* .construction_feature のスタイル */
		.construction_feature {
		    --bs-border-width: 11px;
		    padding: 30px;
		}

		.construction_feature_in {
		    max-width: 920px;
		    margin: 0 auto;
		}

		.construction_feature table {
		    width: 100%;
		    margin: 23px 0 0 0;
		}

		.construction_feature table tr th,
		.construction_feature table tr td {
		    border-bottom: 1px dotted #707070;
		    padding: 10px 0;
		}

		.construction_feature table tr:first-child th,
		.construction_feature table tr:first-child td {
		    padding-top: 0;
		}

		.construction_feature table tr th {
		    padding-right: 15px;
		}

		.construction_feature table tr th img {
		    max-width: none;
		}

		.construction_feature table tr td {
		    width: 100%;
		}

		@media (max-width: 767px) {
		    .construction_feature {
		        --bs-border-width: 5px;
		        padding: 30px 20px;
		    }
		}

		/* 20241002 fix */

		.footer01{
			--bs-bg-opacity: 1;
			background-color: rgba(var(--bs-BAS_bg2-rgb), var(--bs-bg-opacity)) !important;
		}

		