.home_page .key {
    background: #fcf7f1;
    --height: 50vw;
    --min-height: 72em;
    --max-height: 72em;
    height: var(--height);
    min-height: var(--min-height);
    max-height: var(--max-height);
    overflow: hidden;
    font-size: 0.625em;
}

.home_page .key .mv_slider {
    display: flex;
}

.home_page .key .mv_slider .slider {
    opacity: 0;
}

.home_page .key .mv_slider .slider.slick-slide {
    opacity: 1;
}

.home_page .key .key_text {
    position: relative;
    width: 100%;
    height: 100%;
}

.home_page .key .key_text .item {
    display: flex;
	width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: var(--height);
    min-height: var(--min-height);
    max-height: var(--max-height);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    --mask: url(../images/idx-main-mask01.png);
    mask-image: var(--mask);
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% 100%;
    -webkit-mask-size: 100% 100%;
    mask-position: center;
    -webkit-mask-position: center;
}

.home_page .key .key_text .item img {
	visibility: hidden;
	opacity: 0;
}

.home_page .key .key_text .s1 {
    background-image: url(../images/idx-main-img01.jpg);
}
.home_page .key .key_text .s2 {
    background-image: url(../images/idx-main-img02.jpg);
}
.home_page .key .key_text .s3 {
    background-image: url(../images/idx-main-img03.jpg);
}
.home_page .key .key_text .s4 {
    background-image: url(../images/idx-main-img04.jpg);
}
.home_page .key .key_text .s5 {
    background-image: url(../images/idx-main-img05.jpg);
}


.home_page .key .inner {
    max-width: 100%;
    width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	z-index: 1;
}

.home_page .key .catch {
    padding: 1.5em 1em 1em;
    margin: 0px auto;
    max-width: 116em;
	width: 100%;
}

.home_page .key .catch .title,
.home_page .key .catch p {
    text-align: left;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.1em;
    text-shadow: 0 0 5px rgba(145, 105, 68, 0.1), 0 0 5px rgba(145, 105, 68, 0.1), 0 0 5px rgba(145, 105, 68, 0.1), 0 0 5px rgba(145, 105, 68, 0.1), 0 0 5px rgba(145, 105, 68, 0.1), 0 0 5px rgba(145, 105, 68, 0.3), 0 0 10px rgba(145, 105, 68, 0.3), 0 0 15px rgba(145, 105, 68, 0.3), 0 0 10px rgba(145, 105, 68, 0.3), 0 0 10px rgba(145, 105, 68, 0.3);
}

.home_page .key .catch .title {
    margin-bottom: 6px;
    font-size: 4.5em;
    line-height: 1.37em;
}

.home_page .key .catch p {
    font-size: 2em;
}

.home_page .key .box-news {
    position: absolute;
    left: calc(50% - 34.2em);
    transform: translate(-50%);
    bottom: 12.3em;
    width: 45.6em;
    border-radius: 5px;
    background: #fff;
    display: flex;
    align-items: center;
    height: 7em;
    padding-left: 2em;
}

.home_page .key .box-news>.ttl {
    font-size: 1.8em;
    font-family: var(--f-en);
    color: #ab8763;
    position: relative;
    margin-right: 1em;
    padding-right: 1.1111111111em;
    margin-bottom: 0;
}

.home_page .key .box-news>.ttl:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 1px;
    height: 2.2222222222em;
    background: #e2d6bc;
}

.home_page .key .box-news ul {
    max-width: 32.7em;
    width: 100%;
}

.home_page .key .box-news ul li a {
    text-decoration: none;
    color: var(--clr1);
}

.home_page .key .box-news ul li a .date {
    display: block;
    color: #ab8763;
    font-size: 1.25em;
    font-weight: 500;
    line-height: 1em;
    font-family: var(--f-en);
    margin-bottom: 0;
    margin-top: 5px;
}

.home_page .key .box-news ul li a .ttl {
    font-size: 1.4em;
    font-weight: 500;
    line-height: 1.6em;
    padding-right: 1.5em;
    position: relative;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home_page .key .box-news ul li a .ttl:before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0.4em;
    background: url(../images/idx-ico-news.svg) no-repeat center;
    background-size: 100% 100%;
    width: 0.75em;
    height: 0.75em;
}

.home_page .key .box-news .btn-news a {
    text-decoration: none;
    position: absolute;
    top: -1.1428571429em;
    right: 1.9047619048em;
    min-width: 9.5238095238em;
    min-height: 2.4285714286em;
    letter-spacing: 0.1em;
    font-size: 1.05em;
    color: #fff;
    background: #ab8763;
    border-radius: 1.2380952381em;
    padding-left: 1.2380952381em;
    display: flex;
    align-items: center;
}

.home_page .key .box-news .btn-news a:before {
    content: "";
    position: absolute;
    right: 1.3333333333em;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background: url(../images/idx-ico-news.svg) no-repeat center;
    background-size: 100% auto;
    width: 0.7619047619em;
    height: 0.7619047619em;
    filter: brightness(0) invert(1);
}

@keyframes scroll_down {
    0% {
        transform: scaleY(0);
        opacity: 0;
        transform-origin: center top
    }
    40% {
        transform: scaleY(1);
        opacity: 1;
        transform-origin: center top
    }
    60% {
        transform: scaleY(1);
        opacity: 1;
        transform-origin: center bottom
    }
    100% {
        transform: scaleY(0);
        opacity: 0;
        transform-origin: center bottom
    }
}

.home_page .key .idx-scroll a {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-decoration: none;
    bottom: 0.7222222222em;
    color: #ab8763;
    font-size: 1.8em;
    font-family: var(--f-en);
    text-align: center;
    width: fit-content;
}

.home_page .key .idx-scroll a:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 94%;
    background: url(../images/idx-ico-scroll.svg) no-repeat center;
    background-size: 100% auto;
    width: 0.3333333333em;
    height: 2.1111111111em;
    animation: scroll_down 2.5s infinite ease-in-out;
}

.home_page #mainContent {
    background: #fcf7f1;
}

.home_page .topic_path {
    display: none;
}

.home_page h2 {
    position: relative;
    margin-bottom: 0.7777777778em;
    color: var(--clr1);
    font-family: var(--f-jp);
    font-size: 2.8125em;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.4em;
    padding-bottom: 0.4888888889em;
    background: url(../images/idx-ico-h2.svg) no-repeat bottom center;
    background-size: 100% auto;
}

.home_page h3 {
    color: var(--clr1);
    font-family: var(--f-jp);
    font-size: calc(var(--ttl_size) + 0px);
}

@media only screen and (min-width: 769px) {
    .index03-nav .slick-arrow:hover {
        opacity: 0.7;
        transition: 0.3s all;
    }
    .home_page .key .box-news .btn-news a:hover {
        opacity: 1;
        background: #fff;
        box-shadow: 0 0 0 1px var(--clr1);
        transition: 0.3s all;
        color: var(--clr1);
    }
    .home_page .key .box-news .btn-news a:hover:before {
        filter: none;
    }
    .idx-btn a:hover {
        background: #fff;
        box-shadow: 0 0 0 1px var(--clr1);
        transition: 0.3s all;
        color: var(--clr1);
        opacity: 1;
    }
}

section {
    background-size: cover;
    background-repeat: no-repeat;
}

.index0 {
    padding: 4.6875em 0;
}

.index0-fx {
    display: flex;
    justify-content: center;
}

.index0 .box-cnt {
    margin-right: 4.6875em;
}

.index0 .box-cnt h2 {
    margin-bottom: 0.6666666667em;
}

.index0 .box-cnt .txt>p {
    font-size: max(1em, 13px);
    letter-spacing: 0;
    line-height: 2.35em;
}

.index0 .box-img {
    margin-top: 0.8125em;
    position: relative;
}

.index0 .box-img:before {
    content: "";
    position: absolute;
    right: -3.1875em;
    bottom: -2.25em;
    background: url(../images/index0-ico01.svg) no-repeat center;
    background-size: 100% auto;
    width: 6.25em;
    height: 6.25em;
}

.index0 .box-img .img img {
    border-radius: 0.9375em;
    width: 35em;
	margin-bottom: 1.4em;
}

.index0 .box-img .index0-caption {
	width: 100%;
	max-width: 26em;
	margin: 0 auto;
	border: solid 1px #ee804d;
	padding: 0.665em 0.865em;
	border-radius: 0.9375em;
	position: relative;
	z-index: 1;
}

.index0-frame {
    max-width: 73.75em;
    background: #fff;
    margin: 0 auto;
    border-top-right-radius: 6.25em;
    border-top-left-radius: 6.25em;
    border-bottom-left-radius: 0.9375em;
    border-bottom-right-radius: 0.9375em;
    margin-top: 7.375em;
    padding-bottom: 8.125em;
    position: relative;
}

.index0-frame:before {
    content: "";
    position: absolute;
    right: 3.5em;
    top: -5.6875em;
    background: url(../images/index0-ico01.png) no-repeat center;
    background-size: 100% auto;
    width: 14.5em;
    height: 10.375em;
}

.index0-frame>.ttl {
    font-size: 2.25em;
    color: var(--clr2);
    margin: 0 auto;
    position: relative;
    top: -0.9166666667em;
    width: 12.56em;
    background: url(../images/idx-bg-ttl.png) no-repeat center;
    background-size: 100% 100%;
    height: 2.39333333em;
    text-align: center;
    letter-spacing: 0.1em;
    font-weight: 600;
    line-height: 1.5em;
    padding-top: 0.1666666667em;
    margin-bottom: -0.4444444444em;
}

.index0-frame .txt {
    text-align: center;
	position: relative;
	z-index: 2;
}

.index0-frame .txt>p {
    font-size: 1.5em;
    font-weight: 600;
    color: var(--clr1);
    letter-spacing: 0.1em;
    line-height: 1.75em;
}

.index0-bg {
    background: #fcf7f1;
    border-radius: 0.9375em;
    max-width: 65em;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    margin-top: 2em;
    padding-left: 4.375em;
    padding-right: 2.5em;
    padding-top: 4.375em;
    padding-bottom: 0.5em;
    position: relative;
}

.index0-img img {
    width: 29.0625em;
    height: auto;
    border-radius: 15px;
}

.index0-bg .idx-btn a {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1.7142857143em;
    margin: 0 auto;
}

.index0-cnt {
    width: 24.125em;
    margin-right: 1.125em;
}

.index0-cnt .box-item {
    padding-bottom: 0.625em;
    background: url(../images/index0-ico-hr.svg) no-repeat bottom center;
    background-size: 100% 3px;
    margin-bottom: 2.1875em;
}

.index0-cnt .box-item:last-child {
    background: transparent;
}

.index0-cnt .box-item:last-child .index0-list li .stt {
    padding: 0 0.9375em;
}

.index0-cnt .box-item:nth-child(2) {
    padding-bottom: 1.5em;
    margin-bottom: 2.2em;
}

.index0-cnt .box-item:nth-child(2) .index0-list {
    margin-bottom: 0.625em;
}

.index0-cnt .box-item:nth-child(2) .index0-list li .txt-stt {
    margin-right: 0.425em;
}

.index0-cnt .box-item:nth-child(2) .index0-list li .stt {
    margin-right: 0;
    padding: 0 0.825em;
}

.index0-cnt .box-item:nth-child(2) .txt-list p {
    font-size: 1.125em;
    margin-bottom: 0.4666666667em;
}

.index0-cnt .box-item:nth-child(2) .txt-list p:last-child {
    font-size: 0.875em;
}

.index0-cnt .box-item .ttl02 {
    background: #ee804d;
    font-size: 1.25em;
    color: #fff;
    border-radius: 5px;
    width: fit-content;
    padding: 0 0.425em 0 1.125em;
    margin-bottom: 1.15em;
}

.index0-cnt .box-item .txt-list>p {
    line-height: 1.6em;
    font-size: max(0.85em, 12px);
    font-weight: 600;
}

.index0-img .img img {
    border-radius: 15px;
    width: 29.0625em;
    height: auto;
}

.index0-list {
    margin-bottom: 0.9375em;
}

.index0-list li {
    display: flex;
    margin-bottom: 0.625em;
}

.index0-list li .stt {
    font-size: 1.125em;
    color: #ab8763;
    font-weight: 600;
    background: #fff;
    border-radius: 5px;
    display: block;
    min-width: 7em;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 1.6666666667em;
    margin-right: 0.5555555556em;
}

.index0-list li .txt-stt {
    font-size: 1.125em;
    font-weight: 600;
}

.idx-btn a {
    background: #ab8763;
    color: #fff;
    border-radius: 1.7857142857em;
    font-size: max(0.875em, 9px);
    font-weight: 500 !important;
    position: relative;
    min-height: 3.5714285714em;
    min-width: 20.5em;
    display: flex;
    align-items: center;
    text-decoration: none;
    padding: 0.3571428571em 1.4285714286em;
    padding-right: 3.2142857143em;
    width: fit-content;
}

.idx-btn a:before {
    content: "";
    position: absolute;
    right: 0.8571428571em;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 2em;
    height: 2em;
    background: url(../images/idx-ico-arr.svg) no-repeat center;
    background-size: 100% auto;
}

.index01 {
    position: relative;
    background: #f7eada;
    margin-top: -3.75em;
    padding-top: 3.4375em;
    padding-bottom: 13.75em;
}

.index01:before {
    content: "";
    position: absolute;
    top: -3em;
    left: 50%;
    transform: translate(-50%);
    background: url(../images/index01-bg.png) no-repeat top center;
    background-size: 100% auto;
    width: 120em;
    height: 3em;
}

.index01 h2 {
    text-align: center;
    background: transparent;
    margin-bottom: 1.0444444444em;
}

.index01 .idx-btn.st2 {
    width: fit-content;
    margin-left: auto;
    position: relative;
    z-index: 1;
    max-width: 12.9375em;
    margin-top: -8.3125em;
}

.index01 .idx-btn.st2 a {
    line-height: 1.4em;
    min-width: 14.9375em;
    padding-left: 1.7857142857em;
}

.index01-list {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.index01-list:before {
    content: "";
    position: absolute;
    right: -11.4375em;
    top: -17.375em;
    background: url(../images/index01-ico01.svg) no-repeat center;
    background-size: 100% auto;
    width: 25.5em;
    height: 31.125em;
    z-index: -1;
}

.index01-list:after {
       content: "";
    position: absolute;
    right: -17.4375em;
    bottom: -8.25em;
    background: url(../images/index01-ico02.svg) no-repeat center;
    background-size: 100% 100%;
    width: 25.88888888888889em;
    height: 25.88888888888889em;
    z-index: -1;
}

.index01-list li {
    width: calc(33.3333333333% - 0.8125em);
    background: #fff;
    border-radius: 0.9375em;
    margin-right: 1.1875em;
    padding: 0 1.5625em 3.125em;
    margin-bottom: 3.5625em;
    height: fit-content;
}

.index01-list li:nth-child(3n) {
    margin-right: 0;
}

.index01-list li:nth-child(4) .cnt {
    max-height: 14.375em;
    padding: 0.625em 1.25em 7.875em;
}

.index01-list li:nth-child(5) .cnt {
    padding-bottom: 5.7em;
}

.index01-list li:nth-child(5) .cnt-list.st2 .txt:nth-child(1),
.index01-list li:nth-child(5) .cnt-list.st2 .txt:nth-child(3) {
    width: 34%;
}

.index01-list li:nth-child(5) .cnt .idx-btn.st1 a {
    bottom: 2.6428571429em;
}

.index01-list li:nth-child(6) .cnt {
    padding: 0.625em 1.25em 2.125em;
    margin-bottom: 2.8125em;
}

.index01-list li:nth-child(6) .cnt:last-child {
    margin-bottom: 0;
    padding: 0.625em 1.25em 2.125em;
}

.index01-list li:last-child {
    width: 44.625em;
    margin-top: 0;
}

.index01-list li:nth-child(7) {
    width: 44.625em;
    margin-top: -3.5em;
}
.index01-list li:nth-child(7)  .cnt{
       padding-bottom: 1.9em;
    padding-top: 0.95em;
}

.index01-list li:nth-child(7) .cnt-fx02 .idx-btn a{
    max-width: 15.5em;
}
.cnt-fx02{
display:flex;
align-items:center;
}
.cnt-fx02 .ttl-cnt{
font-size: 1.125em;
color: var(--clr2);
font-weight: 600;
margin-bottom: 0;
padding-right: 0.6666666666666666em;
margin-right: 0.6666666666666666em;
border-right: 2px dotted #e2d6bc;
}
.cnt-fx02 .cnt-list{
	flex:1;
	display:flex;
	align-items:center;
}
.cnt-fx02 .cnt-list .txt{
	margin-right:1em;
}
.cnt-fx02 .cnt-list .txt:last-child{
	margin-right:0;
}
.index01-list li:last-child .cnt-fx {
    display: flex;
}

.index01-list li:last-child .cnt-fx .cnt {
    width: calc(33.3333333333% - 0.3125em);
    margin-right: 0.625em;
    padding-bottom: 2.1875em;
    padding-top: 1.0625em;
    padding-right: 0.9375em;
}

.index01-list li:last-child .cnt-fx .cnt:last-child {
    margin-right: 0;
}

.index01-list li:last-child .cnt-fx .cnt-list .txt {
    width: 100%;
}

.index01-list li:last-child .cnt-fx .cnt .idx-btn a {
    max-width: calc(100% - 4.1428571429em);
    left: 0;
}

.index01-list li:nth-child(2) .cnt {
    padding-bottom: 2em;
}

.index01-list li>.ttl {
    font-size: 1.65625em;
    color: var(--clr2);
    font-weight: 600;
    text-align: center;
    width: fit-content;
    margin: 0 auto;
    background: #fff;
    border-radius: 1.0566037736em;
    padding: 0.1886792453em 1.1320754717em;
    position: relative;
    top: -1.0188679245em;
    border: 2px solid var(--clr2);
    line-height: 1.5em;
    margin-bottom: -0.1132075472em;
}

.index01-list li .cnt {
    background: #fcf7f1;
    border-radius: 0.9375em;
    padding: 0.625em 1.25em 6em;
    position: relative;
    height: fit-content;
}

.index01-list li .cnt .ttl02 {
    font-size: max(1.125em, 13px);
    color: var(--clr2);
    font-weight: 600;
    text-align: center;
    background: url(../images/index01-ico-hr.svg) no-repeat bottom center;
    background-size: 100% 0.1666666667em;
    padding-bottom: 0.2777777778em;
    margin-bottom: 0.8333333333em;
}

.index01-list li .cnt-list.st2 {
    display: flex;
    flex-wrap: wrap;
}

.index01-list li .cnt-list.st2 .txt {
    width: 50%;
}

.index01-list li .cnt-list .txt {
    padding-left: 0.9375em;
    position: relative;
    line-height: 1.6em;
    font-weight: 600;
    margin-bottom: 0.4375em;
}

.index01-list li .cnt-list .txt:before {
    content: "";
    position: absolute;
    left: 0.0625em;
    top: 0.8125em;
    width: 0.3125em;
    height: 1px;
    background: var(--clr2);
    border-radius: 2px;
}

.index01-list li .cnt .idx-btn a {
    position: absolute;
    left: 0.5em;
    right: 0;
    bottom: -1.7857142857em;
    margin: 0 auto;
    max-width: calc(100% - 5.7142857143em);
    min-width: auto;
    width: 100%;
    min-height: 3.5714285714em;
    line-height: 1.4em;
    padding-left: 1.8571428571em;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.index02 {
    border-top-right-radius: 6.25em;
    border-top-left-radius: 6.25em;
    background: url(../images/index02-bg.jpg) no-repeat center;
    background-size: cover;
    margin-top: -5.9375em;
    position: relative;
    padding-top: 6.25em;
    padding-bottom: 6.3125em;
}

.index02-frame {
    background: #fff;
    max-width: 73.75em;
    margin: 0 auto;
    border-top-right-radius: 4.375em;
    border-top-left-radius: 4.375em;
    border-bottom-left-radius: 0.9375em;
    border-bottom-right-radius: 0.9375em;
    display: flex;
    padding: 3.75em 4.1875em 3.25em 5.25em;
}

.index02-frame .box-cnt {
    margin-right: 7.5625em;
    position: relative;
    width: 50%;
}

.index02-frame .box-cnt:before {
    content: "";
    position: absolute;
    right: -3.3125em;
    top: -0.375em;
    bottom: 0;
    margin: auto 0;
    background: url(../images/index02-ico-hr.svg) no-repeat center;
    background-size: 3px 100%;
    width: 0.25em;
    height: 105%;
}

.index02-frame .box-cnt:last-child {
    margin-right: 0;
    padding-right: 0;
}

.index02-frame .box-cnt:last-child:before {
    display: none;
}

.index02-frame .box-cnt .ttl {
    background: var(--clr2);
    border-radius: 5px;
    font-size: max(1.25em, 15px);
    color: #fff;
    text-align: center;
    width: fit-content;
    font-weight: 600;
    padding: 0.25em 1.5em;
    line-height: 1.5em;
    margin-bottom: 0.9em;
}

.index02-frame .box-cnt .txt>p {
    font-size: max(1em, 11.5px);
}

.index03 {
    padding-top: 5.625em;
    padding-bottom: 11.875em;
    background: #f7eada;
}

.index03 .inner_big {
    padding-left: 6.25em;
    position: relative;
}

.index03 .inner_big:before {
    content: "";
    position: absolute;
    right: 0;
    top: -5.5em;
    width: 25.625em;
    height: 136%;
    background: url(../images/index03-bg01.png) no-repeat center;
    background-size: 100% auto;
}

.index03 .inner_big h2 {
    position: relative;
    margin-bottom: 0.8222222222em;
    padding-bottom: 0;
    background: transparent;
}

.index03 .inner_big h2:before {
    content: "";
    position: absolute;
    right: 3.1333333333em;
    top: -0.5111111111em;
    background: url(../images/index03-ico01.svg) no-repeat center;
    background-size: 100% auto;
    width: 6.4888888889em;
    height: 3.0222222222em;
}

.index03-arrow {
    display: flex;
    margin-right: 2.8125em;
}

.index03-dots {
    background: #fff;
    border-radius: 3px;
    width: 39.5em;
    height: 0.375em;
    margin-right: 1.875em;
}

.index03-dots ul {
    display: flex !important;
    width: 100%;
}

.index03-dots ul li {
    width: 100%;
    height: 0.375em;
    overflow: hidden;
}

.index03-dots ul li button {
    border: none;
    height: 0.375em;
    position: relative;
    bottom: 0.125em;
    text-indent: -10000px;
    background: transparent;
}

.index03-dots ul li.slick-active button {
    background: var(--clr2);
    width: 6.5625em;
    border-radius: 0.1875em;
}

.index03-nav {
    display: flex;
    align-items: center;
    margin-top: 3.125em;
}

.index03-nav .idx-btn a {
    min-width: 19.0714285714em;
    padding-left: 1.7857142857em;
}

.index03-nav .slick-arrow {
    position: relative;
    width: 3em;
    height: 3em;
    top: initial;
    transform: none;
}

.index03-nav .slick-prev {
    left: 0;
    background: url(../images/udr-prev.svg) no-repeat center;
    background-size: 100% auto;
    margin-right: 0.625em;
}

.index03-nav .slick-next {
    right: 0;
    background: url(../images/udr-next.svg) no-repeat center;
    background-size: 100% auto;
}

.index03-slider {
    position: relative;
    width: 100vw;
}

.index03-slider .item {
    width: 61.25em;
    display: flex;
    background: #fff;
    border-radius: 0.9375em;
    padding: 3.125em;
    margin-right: 2.5em;
}

.index03-slider .item .img {
    margin-right: 3.125em;
    flex-shrink: 0;
}

.index03-slider .item .img img {
    border-radius: 0.9375em;
    width: 31.25em;
    height: auto;
}

.index03-slider .item .box-cnt {
    padding-top: 3.125em;
}

.index03-slider .item .box-cnt h3 {
    line-height: 1.65em;
    font-size: 1.5em;
    font-weight: 600;
    padding-bottom: 0.9583333333em;
    background: url(../images/index03-ico-hr.svg) no-repeat bottom center;
    background-size: 100% 3px;
    margin-bottom: 0.7916666667em;
}

.index04 {
    position: relative;
    padding-bottom: 6.1875em;
}

.index04:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    top: -5.625em;
    background: url(../images/index04-bg.png) no-repeat top center;
    background-size: cover;
    width: 100%;
    height: 5.625em;
}

.index04 h2 {
    text-align: center;
    background: transparent;
    padding-bottom: 0;
    position: relative;
    margin-bottom: 0.8444444444em;
    top: -0.0888888889em;
}

.index04 .box-img {
    position: relative;
    max-width: 67.5em;
    margin: 0 auto;
    margin-bottom: 2.625em;
}

.index04 .box-img:before {
    content: "";
    position: absolute;
    left: -2.9375em;
    top: -3.5em;
    background: url(../images/index04-ico01.svg) no-repeat center;
    background-size: 100% auto;
    width: 10.8125em;
    height: 25.1875em;
    z-index: 1;
}

.index04 .box-img:after {
    content: "";
    position: absolute;
    right: -7.6875em;
    top: -3.3125em;
    background: url(../images/index04-ico02.svg) no-repeat center;
    background-size: 100% auto;
    width: 15.875em;
    height: 24.625em;
    z-index: 1;
}

.index04 .box-img .img {
    width: 56em;
    height: 25.625em;
    margin: 0 auto;
    --mask: url(../images/index04-mask01.png);
    mask-image: var(--mask);
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% 100%;
    -webkit-mask-size: 100% 100%;
    mask-position: center;
}

.index04 .box-img .box-name {
    writing-mode: tb-rl;
    background: #fff;
    border-radius: 0.625em;
    position: absolute;
    left: 7.625em;
    bottom: -3.1875em;
    padding-top: 1.875em;
    padding-right: 1.25em;
    padding-left: 1.25em;
    padding-bottom: 1.875em;
}

.index04 .box-img .box-name:last-child {
    left: initial;
    right: 7.625em;
}

.index04 .box-img .box-name .sub-name {
    font-size: 0.875em;
    font-weight: 600;
    line-height: 1em;
}

.index04 .box-img .box-name .name {
    line-height: 1em;
    font-size: 1.5em;
    font-weight: 600;
    color: var(--clr2);
    margin: 0 0.2916666667em 0 0.4166666667em;
    letter-spacing: 0.1em;
}

.index04 .box-img .box-name .sub-name02 {
    font-size: 0.75em;
    line-height: 1em;
    font-weight: 600;
    color: #a8a193;
    display: flex;
    justify-content: flex-end;
}

.index04 h3 {
    text-align: center;
    margin: 0 auto;
    font-size: max(1.5em, 18px);
    font-weight: 600;
    line-height: 1.65em;
    letter-spacing: 0.1em;
    max-width: 20.8333333333em;
    width: 100%;
    background: url(../images/index04-ico-hr.svg) no-repeat bottom center;
    background-size: 100% 0.1666666667em;
    padding-bottom: 1em;
    margin-bottom: 0.8333333333em;
}

.index04 .fx-txt {
    display: flex;
    max-width: 60em;
    margin: 0 auto 2em;
}

.index04 .fx-txt .txt:first-child {
    margin-right: 4.0625em;
}

.index04 .fx-txt .txt>p {
    letter-spacing: 0em;
    font-size: max(1em, 12px);
}

.index04 .idx-btn {
    width: fit-content;
    margin: 0 auto;
}

.index04 .idx-btn a {
    min-width: 12.6428571429em;
}

.idx_map {
    height: 450px;
}

.idx_map iframe {
    height: 100%;
}

@media only screen and (min-width: 1921px) {
    .index01:before {
        width: 100%;
    }
}

@media only screen and (min-width: 769px) and (max-width: 1280px) {
     :root {
        --ttl_size: 24px;
    }
    .home_page .key {
        font-size: 0.78vw;
    }
    .index0,
    .index01,
    .index02,
    .index04 {
        font-size: 1.25vw;
    }
    .index0 .inner_big,
    .index0 .inner_sm,
    .index01 .inner_big,
    .index01 .inner_sm,
    .index02 .inner_big,
    .index02 .inner_sm,
    .index04 .inner_big,
    .index04 .inner_sm {
        padding: 0 0.625em;
    }
    .index03 {
        font-size: 1.25vw;
    }
}

@media only screen and (max-width: 1210px) and (min-width: 769px) {
    .index0-cnt {
        width: 25.125em;
        margin-right: 1.125em;
    }
    .index0-list li .stt {
        min-height: 2em;
    }
    .index01 .inner_sm {
        padding: 0 3em;
    }
    .index01-list li .cnt .idx-btn a {
        padding-left: 1.3em;
        padding-right: 3em;
    }
    .index0-bg {
        max-width: 68em;
        padding-left: 2.375em;
        padding-right: 0.5em;
        padding-top: 4.375em;
        padding-bottom: 0.5em;
        position: relative;
    }
    .index01-list li:last-child .cnt-fx .cnt {
        padding-right: 0;
    }
    .index02-frame {
        padding: 3.75em 2.1875em 3.25em 3.25em;
        max-width: 75.75em;
    }
    .index02-frame .box-cnt {
        margin-right: 4.5625em;
    }
    .index02-frame .box-cnt .txt>p {
        letter-spacing: 0.07em;
    }
    .index02-frame .box-cnt:before {
        right: -0.3125em;
    }
    .home_page .key .box-news {
        position: absolute;
        left: 7em;
        transform: none;
        bottom: 11.3em;
        width: 45.6em;
        height: 7em;
        padding-left: 2em;
        font-size: 1.1em;
    }
}

@media only screen and (max-width: 992px) and (min-width: 769px) {
     :root {
        --ttl_size: 22px;
    }
    .index01 .inner_sm {
        padding: 0 4em;
    }
    .index04 .box-img .box-name {
        font-size: 11.5px;
    }
}


/*# sourceMappingURL=index_pc.css.map */