header h1{ position: absolute; top: 0; left: 3rem; font-size: 1.4rem; font-weight: 500; }

.mv{ width: 100%; height: calc(100vh - 7rem); min-height: 42rem; background: url(../images/index/mv01.jpg) no-repeat center/cover; display: flex; justify-content: center; align-items: center; }
.mv .inner{ width: 1060px; }
.mv .inner p{ font-size: 6.8rem; font-weight: 600; color: #fff; line-height: 1.2; position: relative; display: table; padding-bottom: 1.2rem; margin-bottom: 2rem; position: relative; }
.mv .inner p .item02{ position: absolute; top: -7rem; right: -2.5rem; }
.mv .inner p:before{ content: ''; width: calc(100% + (50vw - 53rem)); height: 1px; background: #beaa78; position: absolute; bottom: 0; right: 0; }
.mv .inner p:after{ content: ''; width: .5rem; height: .5rem; border-radius: .5rem; background: #beaa78; position: absolute; bottom: -.2rem; right: -.1rem; }
.mv .inner dl{ margin-bottom: .5rem; }
.mv .inner dl dt{ font-size: 4rem; font-weight: 700; letter-spacing: 0em; color: #c8b478; background: linear-gradient(0deg, rgba(120,95,39,1) 0%, rgba(200,180,120,1) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1; }
.mv .inner dl dd{ font-size: 7rem; font-weight: 600; color: #c8b478; background: linear-gradient(0deg, rgba(120,95,39,1) 0%, rgba(200,180,120,1) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; padding-left: 12rem; position: relative; line-height: 1.6; letter-spacing: 0; }
.mv .inner dl dd .item01{ position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
.mv .inner dl dd strong{ font-size: 14rem; letter-spacing: 0; line-height: 1; vertical-align: sub; margin: .4rem; }
.mv .inner dl + small{ color: #fff; display: block; font-size: 1.4rem; }

.mv + .gnav{ width: 100%; height: 7rem; display: flex; justify-content: center; align-items: center; white-space: nowrap; }
.mv + .gnav li{ font-size: 1.4rem; }
.mv + .gnav li + li{ border-left: solid 1px #f2f2f2; }
.mv + .gnav li a{ display: block; text-align: center; padding: 0 1.3em; }
.mv + .gnav li a small{ display: block; text-align: center; font-size: 1.2rem; color: #c8b48c; line-height: 1; }

.sec-intro{ background: url(../images/index/webp/intro-bg01.webp) no-repeat center bottom/cover; }
.sec-intro .wrap{ padding-top: 7.5rem; padding-bottom: 10.5rem; }
.sec-intro .wrap:before{ content: ''; width: 34.1rem; height: 50.2rem; background: url(../images/index/intro-item02.png) no-repeat center bottom/contain; position: absolute; bottom: 0; left: -26.5rem; }
.sec-intro .wrap:after{ content: ''; width: 34.1rem; height: 50.2rem; background: url(../images/index/intro-item03.png) no-repeat center bottom/contain; position: absolute; bottom: 0; right: -26.5rem; }
.sec-intro h2{ font-size: 3rem; color: #fff; font-weight: 700; text-align: center; margin-bottom: 3rem; }
.sec-intro h2 strong{ font-size: 5rem; font-weight: 600; color: #ffffbe; display: block; line-height: 1.4; }
.sec-intro h2 + p{ text-align: center; font-size: 1.8rem; color: #fff; }

h2.general{ font-size: 5rem; font-family: "游明朝", YuMincho, yu-mincho-pr6n, serif; font-weight: 600; color: #141e64; line-height: 1.5; text-align: center; position: relative; background: url(../images/index/item-ttl01.png) no-repeat bottom center/16.5rem; padding-bottom: 3.7rem; }
h2.general strong{ font-size: 7rem; line-height: 1; vertical-align: top; margin: .4rem; }
h2.general small{ font-size: 4rem; line-height: 1; }

.ttl-en{ font-size: 28rem; font-family: Optima, 'Marcellus', serif; font-weight: 400; letter-spacing: -0.04em; line-height: 1; color: #f7f7f7; position: absolute; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; z-index: -1; }

.sec-result{ position: relative; z-index: 2; padding-top: 12rem; }
.sec-result .bg01{ width: 50%; height: 100%; background: #fff; transform: skewY(10deg) translateZ(0); position: absolute; top: -4.4vw; left: 0; z-index: -1; overflow: hidden; }
.sec-result .bg01 .item01{ position: absolute; top: -2.4rem; right: 12rem; transform: skewY(-10deg); }
.sec-result .bg02{ width: 50%; height: 100%; background: #fff; transform: skewY(-10deg) translateZ(0); position: absolute; top: -4.4vw; right: 0; z-index: -1; overflow: hidden; }
.sec-result .bg02 .ttl-en{ transform: skewY(10deg); left: 35rem; top: -2rem; }
.sec-result h2{ margin-bottom: 10rem; }
.sec-result .case-list{ margin-bottom: 7rem; }
.sec-result .case-list li{ position: relative; }
.sec-result .case-list li + li{ margin-top: 4rem; }
.sec-result .case-list li .txt{ width: 55rem; position: relative; z-index: 0; padding: 4.5rem 10rem 4rem 0; }
.sec-result .case-list li .txt:before{ content: ''; width: calc(100% + (50vw - 45rem)); height: 100%; background: #f2f2f2; position: absolute; top: 0; right: 0; z-index: -2; border-radius: 0 .5rem .5rem 0; }
.sec-result .case-list li .txt:after{ content: ''; width: calc(100% + (50vw - 45rem) - 1.5rem); height: calc(100% - 3rem); border: solid 1px #beaa78; border-left: none; position: absolute; top: 50%; right: 1.5rem; transform: translateY(-50%); z-index: -1; }
.sec-result .case-list li .txt h3{ font-size: 2.6rem; font-weight: 700; color: #beaa78; line-height: 1.6; margin-bottom: 1.2rem; }
.sec-result .case-list li .case-img{ display: table; position: absolute; top: 50%; right: 0; transform: translateY(-50%); line-height: 0; overflow: hidden; border-radius: .5rem; }
.sec-result .case-list li .case-img input{ position: absolute; top: 0; left: 0; transform: scale(-1,-1); width: 100%; height: 100%; opacity: 0; z-index: 3; cursor: pointer; }
.sec-result .case-list li .case-img img{ pointer-events: none; }
.sec-result .case-list li .case-img .doragg-wrap{ position: absolute; width: 50%; height: 100%; top: 0; right: 0; }
.sec-result .case-list li .case-img .doragg-wrap:before{ content: ''; width: 4rem; height: 4rem; background: url(../images/index/arrow02.png) no-repeat center/contain; position: absolute; top: 50%; left: -2rem; transform: translateY(-50%); z-index: 2; }
.sec-result .case-list li .case-img .doragg-wrap picture{ display: block; overflow: hidden; position: absolute; width: 100%; height: 100%; top: 0; right: 0; }
.sec-result .case-list li .case-img .doragg-wrap img{ max-width: none; display: block; position: absolute; top: 0; right: 0; }
.sec-result .case-list + .btn{ margin: 0 auto; }

.sec-standard{ padding-top: 14rem; z-index: 2; margin-bottom: 15rem; }
.sec-standard .ttl-en{ top: -1.4rem; right: -19rem; }
.sec-standard h2{ margin-bottom: 3.5rem; }
.sec-standard h2 small{ display: block; }
.sec-standard h2 + p{ font-size: 1.8rem; text-align: center; margin-bottom: 6.5rem; }
.sec-standard h2 + p strong{ font-weight: 700; color: #beaa78; }
.sec-standard h2 + p strong.border{ text-decoration: underline; }
.sec-standard .standard-list{ display: flex; justify-content: space-between; margin-bottom: 8.2rem; }
.sec-standard .standard-list li{ width: 18rem; }
.sec-standard .standard-list h3{ width: 18rem; height: 18rem; border-radius: 9rem; background: url(../images/index/webp/standard-bg01.webp) no-repeat center/cover; box-shadow: 10px 10px 15px -5px rgba(0,0,0,0.25); display: flex; justify-content: center; align-items: center; font-size: 3.6rem; color: #604c3f; padding-top: .5rem; margin-bottom: 1.2rem; }
.sec-standard .standard-list h3 span{ display: block; border-top: solid 1px; border-bottom: solid 1px; line-height: 1.5; padding: 0 .2em; position: relative; }
.sec-standard .standard-list h3 span:before{ content: attr(data-en); font-size: 1.4rem; font-family: Optima, 'Marcellus', serif; font-weight: 600; letter-spacing: 0.03em; line-height: 1; position: absolute; top: -1.9rem; left: 50%; transform: translateX(-50%); }
.sec-standard .standard-list + a.btn{ margin: 0 auto; }

.sec-dr{ padding: 13rem 0 15rem; background: url(../images/index/webp/dr-bg01.webp) no-repeat center bottom/cover; }
.sec-dr .wrap{ z-index: 0; }
.sec-dr .ttl-en{ top: -15.5rem; left: -26rem; }
.sec-dr h2{ margin-bottom: 3.2rem; }
.sec-dr h2 + p{ font-size: 3rem; line-height: 1.6; color: #141e64; font-weight: 600; text-align: center; margin-bottom: 9rem; }
.sec-dr .dr-list li{ background: url(../images/index/bg-dot01.png) #fff center; border-radius: .5rem; padding: 4rem 0 5rem 6.5rem; position: relative; z-index: 0; box-shadow: 0px 4px 15px -2px rgb(0 0 0 / 25%); }
.sec-dr .dr-list li:before{ content: ''; width: calc(100% - 3rem); height: calc(100% - 3rem); border: solid 1px #beaa78; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; }
.sec-dr .dr-list li:nth-of-type(even){ padding: 4rem 6.5rem 5rem 0; }
.sec-dr .dr-list li + li{ margin-top: 8rem; }
.sec-dr .dr-list li img{ position: absolute; bottom: 0; right: 0; }
.sec-dr .dr-list li:nth-of-type(even) img{ right: auto; left: 0; }
.sec-dr .dr-list li h3{ display: table; position: relative; padding-bottom: .8rem; margin-bottom: 1.8rem; }
.sec-dr .dr-list li h3:before{ content: ''; width: calc(100% + 6.5rem); height: 1px; background: #beaa78; position: absolute; bottom: 0; right: 0; }
.sec-dr .dr-list li h3:after{ content: ''; width: .5rem; height: .5rem; border-radius: .25rem; background: #beaa78; position: absolute; bottom: -.2rem; right: -.1rem; }
.sec-dr .dr-list li:nth-of-type(even) h3:after{ right: auto; left: -6.5rem; }
.sec-dr .dr-list li:nth-of-type(even) h3{ margin-left: auto; text-align: right; }
.sec-dr .dr-list li h3 small{ display: block; font-size: 1.8rem; font-weight: 400; }
.sec-dr .dr-list li h3 strong{ display: block; font-size: 4rem; line-height: 1.5; }
.sec-dr .dr-list li:nth-of-type(odd) h3 strong:after{ content: attr(data-en); font-family: Optima, 'Marcellus', serif; font-weight: 400; letter-spacing: 0.03em; font-size: 1.8rem; color: #beaa78; display: inline-block; margin-left: 1em; vertical-align: middle; }
.sec-dr .dr-list li:nth-of-type(even) h3 strong:before{ content: attr(data-en); font-family: Optima, 'Marcellus', serif; font-weight: 400; letter-spacing: 0.03em; font-size: 1.8rem; color: #beaa78; display: inline-block; margin-right: 1em; vertical-align: middle; }
.sec-dr .dr-list li p{ font-size: 2.2rem; line-height: 1.5; font-weight: 700; color: #beaa78; margin-bottom: 2rem; }
.sec-dr .dr-list li:nth-of-type(even) p{ text-align: right; }
.sec-dr .dr-list li:nth-of-type(even) .btn{ margin-left: auto; }
.sec-dr + .sec-contact:after{ border-top-color: #f4ebe4; }

.sec-jidv{ padding: 15rem 0; background: url(../images/index/webp/jidv-bg01.webp) no-repeat bottom center/100%; }
.sec-jidv .wrap{ background: url(../images/index/bg-border01.jpg); padding: 8.8rem 7.5rem 9.5rem; border: solid 1px #58c8b4; border-top: none; position: relative; }
.sec-jidv .wrap:before{ content: ''; width: 40rem; height: 1px; background: #58c8b4; position: absolute; top: 0; left: 0; }
.sec-jidv .wrap:after{ content: ''; width: 40rem; height: 1px; background: #58c8b4; position: absolute; top: 0; right: 0; }
.sec-jidv .item01{ position: absolute; top: -2rem; left: 50%; transform: translateX(-50%); }
.sec-jidv h2{ color: #58c8b4; background-image: url(../images/index/item-ttl02.png); margin-bottom: 3.2rem; }
.sec-jidv h2 small{ font-size: 2.6rem; font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; display: block; }
.sec-jidv h2 + p{ text-align: center; font-size: 1.8rem; margin-bottom: 3.5rem; }
.sec-jidv h2 + p strong{ font-weight: 700; color: #beaa78; }
.sec-jidv h2 + p strong.border{ text-decoration: underline; }
.sec-jidv .banner{ line-height: 0; display: table; margin: 0 auto 3.4rem; }
.sec-jidv .banner + p{ max-width: 60rem; margin: 0 auto 3.8rem; }
.sec-jidv a.btn.wide{ width: 45rem; margin: 0 auto; }

.sec-feature { margin-bottom: 12rem; }
.sec-feature .head{ background: url(../images/index/webp/feature-bg01.webp) no-repeat center/cover; position: relative; color: #fff; margin-bottom: 10rem; }
.sec-feature .head:before{ content: ''; width: 0; height: 0; border-style: solid; border-width: 8.34vw 0 0 50vw; border-color: transparent transparent transparent #fff; position: absolute; bottom: 0; left: 0; z-index: 2; }
.sec-feature .head:after{ content: ''; width: 0; height: 0; border-style: solid; border-width: 0 0 8.34vw 50vw; border-color: transparent transparent #fff transparent; position: absolute; bottom: 0; right: 0; z-index: 2; }
.sec-feature .head .wrap{ padding-top: 8rem; padding-bottom: 11rem; }
.sec-feature .head .item01{ position: absolute; bottom: 4rem; right: -29rem; }
.sec-feature .head h2{ font-size: 3rem; font-weight: 700; text-align: center; margin-bottom: 2.4rem; }
.sec-feature .head h2 strong{ font-size: 5rem; font-weight: 600; color: #ffffbe; display: block; text-align: center; }
.sec-feature .head h2 + p{ font-size: 1.8rem; text-align: center; }
.sec-feature .head h2 + p strong{ font-weight: 700; color: #ffffbe; }
.sec-feature .feature-list{ margin-bottom: 15rem; }
.sec-feature .feature-list li{ position: relative; }
.sec-feature .feature-list li + li{ margin-top: 6.5rem; }
.sec-feature .feature-list li > picture img{ border-radius: .5rem; position: absolute; top: 0; right: -20rem; z-index: -1; }
.sec-feature .feature-list li:nth-of-type(even) > picture img{ right: auto; left: -20rem; }
.sec-feature .feature-list li .no{ display: block; width: 50rem; font-size: 3rem; color: #beaa78; position: relative; padding-bottom: .4rem; margin-bottom: 2rem; }
.sec-feature .feature-list li .no:before{ content: ''; width: calc(100% + (50vw - 40rem)); height: 1px; background: #beaa78; position: absolute; bottom: 0; right: 0; }
.sec-feature .feature-list li .no:after{ content: ''; width: .5rem; height: .5rem; border-radius: .5rem; background: #beaa78; position: absolute; bottom: -.2rem; right: 0; }
.sec-feature .feature-list li:nth-of-type(even) .no{ text-align: right; margin-left: auto; }
.sec-feature .feature-list li:nth-of-type(even) .no:before{ right: auto; left: 0; }
.sec-feature .feature-list li:nth-of-type(even) .no:after{ right: auto; left: 0; }
.sec-feature .feature-list li .no strong{ display: inline-block; font-size: 6rem; margin-left: .6rem; line-height: 1; }
.sec-feature .feature-list li .txt{ width: 50rem; z-index: 1; padding: 0 5rem 5rem 0; position: relative; }
.sec-feature .feature-list li .txt:before{ content: ''; width: calc(100% + (50vw - 40rem)); height: calc(100% - 1.6rem); background: #fff; box-shadow: 10px 10px 15px -5px rgb(0 0 0 / 25%); position: absolute; bottom: 0; right: 0; z-index: -1; border-radius: .5rem; }
.sec-feature .feature-list li:nth-of-type(even) .txt{ margin-left: auto; padding: 0 0 5rem 5rem; }
.sec-feature .feature-list li:nth-of-type(even) .txt:before{ right: auto; left: 0; box-shadow: -10px 10px 15px -5px rgb(0 0 0 / 25%); }
.sec-feature .feature-list li .txt h3{ font-size: 2.6rem; font-weight: 700; color: #141e64; line-height: 1.5; margin-bottom: .8rem; }
.sec-feature .feature-list li:nth-of-type(even) .txt h3{ text-align: right; }
.sec-feature .feature-list li .txt .btn{ margin-top: 2.8rem; }
.sec-feature .feature-list li:nth-of-type(even) .txt .btn{ margin-left: auto; }
.sec-feature .gray-wrap{ background: #f2f2f2; border-radius: .5rem; padding: 5rem 5rem 6rem; box-shadow: 10px 10px 15px -5px rgb(0 0 0 / 25%); position: relative; z-index: 0; margin-bottom: 8rem; }
.sec-feature .gray-wrap:before{ content: ''; width: calc(100% - 3rem); height: calc(100% - 3rem); border: solid 1px #beaa78; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1; }
.sec-feature .gray-wrap h3{ background: #141e64; width: 100%; height: 7rem; font-size: 2.6rem; color: #fff; font-weight: 600; display: flex; justify-content: center; align-items: center; border-radius: .5rem; position: relative; margin-bottom: 5rem; }
.sec-feature .gray-wrap h3:after{ content: ''; width: 0; height: 0; border-style: solid; border-width: 10px 10px 0 10px; border-color: #141e64 transparent transparent transparent; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); }
.sec-feature .gray-wrap h3:before{ content: ''; width: 15rem; height: 10.5rem; background: url(../images/index/webp/feature-ttl01.webp) no-repeat center bottom/contain; position: absolute; bottom: 0; right: 0; }
.sec-feature .q-list{ display: flex; flex-wrap: wrap; }
.sec-feature .q-list li{ width: 18rem; margin-right: 2.6666rem; background: #fff; border-radius: .5rem; overflow: hidden; box-shadow: 10px 10px 15px -5px rgb(0 0 0 / 25%); position: relative; }
.sec-feature .q-list li:nth-of-type(4n){ margin-right: 0; }
.sec-feature .q-list li:nth-of-type(n+5){ margin-top: 3rem; }
.sec-feature .q-list li a{ display: block; width: 100%; padding-top: 2.4rem; }
.sec-feature .q-list li a:after{ content: ''; width: 2.6rem; height: 2.6rem; background: url(../images/index/arrow01.png) no-repeat center/contain; position: absolute; bottom: 1rem; right: 1rem; }
.sec-feature .q-list li span{ display: block; text-align: center; font-weight: 700; color: #141e64; line-height: 1.5; padding-bottom: 2.2rem; background: url(../images/index/q-list-item01.png) no-repeat center bottom/15rem; margin-bottom: 2.5rem; }
.sec-feature .q-list li img{ width: 100%; display: block; }
.sec-feature .gray-wrap + p{ text-align: center; font-size: 3rem; font-weight: 700; color: #beaa78; line-height: 2.4; }
.sec-feature .gray-wrap + p strong{ font-size: 5rem; font-weight: 600; color: #141e64; line-height: 1; }

.sec-jidv h2{ color: #58c8b4; background-image: url(../images/index/item-ttl02.png); margin-bottom: 3.2rem; }
.sec-jidv h2 small{ font-size: 1.2rem; font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; display: block; }
.sec-jidv h2 + p{ text-align: center; font-size: .8rem; margin-bottom: 3.5rem; }


main table:not(.no-style){ width: 100%; margin: 2rem 0; }
main table:not(.no-style) th{ padding: .5em; vertical-align: middle; background: #f2f2f2; line-height: 1.7; font-size: 1.2rem; color: #beaa78; border: solid 1px #beaa78; border-right: none; }
main table:not(.no-style) th:last-child{ border-right: solid 1px #beaa78; }
main table:not(.no-style) td{ padding: .5em; vertical-align: middle; line-height: 1.7; border: solid 1px #beaa78; border-left: none; font-size: 1.2rem; }
main table:not(.no-style) td[colspan="3"]{ border-left: solid 1px #beaa78; }
main table.sp-break th{width: 30%;}
main table.sp-break td{width: 70%;}


.sec-features{ margin-top: 12rem; padding-bottom: 24rem; }
.sec-features:before{ content: 'FEATURES'; font-family: Optima, 'Marcellus', serif; font-weight: 600; font-size: 22rem; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; line-height: 1; color: #f3f3f3; position: absolute; top: 52rem;     left: -45rem; }
.sec-features h2{margin-bottom: 15rem; 
    background: url(../images/index/item-ttl01.png) center bottom / 16.5rem no-repeat;}
.sec-features .features-list li{ position: relative; z-index: 0; min-height: 35rem; }
.sec-features .features-list li + li{ margin-top: 5rem; }
.sec-features .features-list li:nth-of-type(odd){ padding: 3.6rem 0 5rem; min-height: 0; }
.sec-features .features-list li:nth-of-type(odd):before{ content: ''; width: calc(50vw + 400px); height: 100%; background: #f3f3f3; border-radius: 1rem 0 0 1rem; position: absolute; left: 0; top: 0; z-index: -1; }
.sec-features .features-list li .txt{ width: 45rem; }
.sec-features .features-list li:nth-of-type(odd) .txt{ margin-left: auto; }
.sec-features .features-list li .txt h3{ font-size: 2.2rem; color: #19a597; line-height: 1.7; margin-bottom: 1.4rem; }
.sec-features .features-list li .txt .btn{ margin-top: 3rem; }
.sec-features .features-list li:nth-of-type(odd) .txt .btn{ margin-left: auto; }
.sec-features .features-list li:nth-of-type(odd) img{ position: absolute; top: -11rem; left: -20rem; border-radius: 1rem; }
.sec-features .features-list li:nth-of-type(even) img{ position: absolute; top: 0; right: -20rem; border-radius: 1rem; }

.sec-risk{
	padding-top: 10rem ;
	padding-bottom: 10rem ;
	background: #EFEFEF;
	margin: 0 calc(50% - 50vw) 10rem;
	width: 100vw;
}
.sec-risk h2{
	margin-bottom: 5rem;
}

.sec-risk .txt-box{
	width: 90rem;
	margin: 0 auto;
}

.sec-flow{ position: relative; z-index: 0; padding: 3.8rem 0 5rem 5rem; margin-bottom: 10rem;}
.sec-flow:before{ content: ''; width: calc(50vw + 400px); height: 100%; background: #7cc1b7; border-radius: 1rem 0 0 1rem; position: absolute; left: 0; top: 0; z-index: -1; }
.sec-flow:after{ content: 'FLOW';     font-family: Optima, 'Marcellus', serif; font-weight: 600; font-size: 22rem; line-height: 1; color: #f3f3f3; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; position: absolute; top: 0; left: -24rem; }
.sec-flow h2{ font-size: 2.2rem; margin-bottom: 3rem; }
.sec-flow .left{ width: 40rem; }
.sec-flow .left img{ border-radius: 1rem; display: block; margin-bottom: 1.2rem; }
.sec-flow .right{ width: 28rem; counter-reset: flow-sec; }
.sec-flow .right li{ font-size: 1.6rem; font-family: inherit; width: 100%; height: 5rem; display: flex; align-items: center; padding-left: 6.4rem; position: relative; z-index: 0; }
.sec-flow .right li:before{ counter-increment: flow-sec; content: counter(flow-sec,decimal-leading-zero); font-size: 2.2rem;     font-family: Optima, 'Marcellus', serif; font-weight: 600; position: absolute; left: 2rem; top: 50%; transform: translateY(-50%); }
.sec-flow .right li:after{ content: ''; width: 50vw; height: 100%; border-radius: 10rem 0 0 10rem; background: #96cdc5; position: absolute; top: 0; left: 0; z-index: -1; }
.sec-flow .right li + li{ margin-top: 1.5rem; }
.sec-flow .row + .row{ margin-top: 4.5rem; }
.banner{
    margin-top: 50px;
}
@media(max-width: 768px){
	header h1{ left: 1rem; font-size: 1rem; margin-top: .8rem; }
	
	.mv{ height: 65rem; background-image: url(../images/index/mv01-sp.jpg); padding-top: 35.5rem; display: block; }	
	.mv .inner{ width: 100%; padding: 0 0 0 2rem; }
	.mv .inner p{ font-size: 5rem; letter-spacing: 0; white-space: nowrap; }
	.mv .inner p:before{ width: calc(100% + 2rem); }
	.mv .inner p .item02{ width: 10rem; top: -5rem; right: -1.5rem; }
	.mv .inner dl{ margin-bottom: 0; }
	.mv .inner dl dt{ font-size: 2.85rem; letter-spacing: 0; white-space: nowrap; }
	.mv .inner dl dd{ padding-left: 5.5rem; font-size: 3.5rem; letter-spacing: -.2rem; white-space: nowrap; }
	.mv .inner dl dd .item01{ width: 5.1rem; }
	.mv .inner dl dd strong{ font-size: 7rem; letter-spacing: -.4rem; }
	.mv .inner dl + small{ font-size: 1rem; }
	_:lang(x)+_:-webkit-full-screen-document, .mv .inner p{ font-size: 4.6rem; }
	_:lang(x)+_:-webkit-full-screen-document, .mv .inner dl dd{ font-size: 3rem; }
	_:lang(x)+_:-webkit-full-screen-document, .mv .inner dl dd strong{ font-size: 6.7rem; }

	.sec-intro .wrap{ padding-top: 5rem; padding-bottom: 20.7rem; }
	.sec-intro h2{ font-size: 1.8rem; line-height: 1.6; margin-bottom: 1.5rem; }
	.sec-intro h2 strong{ font-size: 3rem; }
	.sec-intro h2 + p{ font-size: 1.4rem; }
	.sec-intro .wrap:before{ width: 20rem; height: 24rem; background-position: top center; left: -3.4rem; background-size: 100%; }
	.sec-intro .wrap:after{ width: 20rem; height: 24rem; background-position: top center; right: -3.4rem; background-size: 100%; }

	h2.general{ font-size: 3rem; line-height: 1.4; padding-bottom: 2.2rem; }
	h2.general strong{ font-size: 5rem; vertical-align: initial; }
	h2 small{ font-size: 3rem; line-height: inherit; }

	.ttl-en{ font-size: 11rem; line-height: .75; }
	

	.sec-result{ padding-top: 5rem; }
	.sec-result h2{ margin-bottom: 5rem; }
	.sec-result .bg01 .item01{ width: 18.5rem; height: 20.3rem; object-fit: cover; object-position: top right; top: -1.3rem; left: 0; }
	.sec-result .bg02 .ttl-en{ left: auto; right: 0; top: -1rem; }
	.sec-result .case-list{ margin-bottom: 5rem; }
	.sec-result .case-list li{ background: #f2f2f2; padding: 5rem 3rem; border-radius: .5rem; z-index: 0; }
	.sec-result .case-list li:before{ content: ''; width: calc(100% - 3rem); height: calc(100% - 3rem); border: solid 1px #beaa78; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; }
	.sec-result .case-list li + li{ margin-top: 3rem; }
	.sec-result .case-list li .txt{ width: 100%; padding: 0; }
	.sec-result .case-list li .txt:before,
	.sec-result .case-list li .txt:after{ content: none; }
	.sec-result .case-list li .txt h3{ font-size: 2rem; text-align: center; margin-bottom: 1.4rem; }
	.sec-result .case-list li .case-img{ position: relative; top: 0; transform: none; 
/*        margin-top: 2rem; */
        margin-bottom: 2rem; 
    }	
	.sec-result .case-list li .case-img img{ width: 100%; }
	.sec-result .case-list li .case-img .doragg-wrap img{ width: calc(100vw - 10rem); }
/*20220624add*/
    .sec-result .case-list li {display: flex; flex-direction: column-reverse!important;}

	.sec-standard{ padding-top: 8.5rem; margin-bottom: 10rem; }	
	.sec-standard .ttl-en{ right: 0; top: 5rem; }
	.sec-standard h2{ margin-bottom: 3rem; }
	.sec-standard h2 + p{ font-size: 1.4rem; text-align: left; margin-bottom: 4rem; }
	.sec-standard .standard-list{ flex-wrap: wrap; margin-bottom: 3.5rem; }
	.sec-standard .standard-list li{ width: 15.5rem; }
	.sec-standard .standard-list li:nth-of-type(n+3){ margin-top: 2rem; }
	.sec-standard .standard-list h3{ width: 15rem; height: 15rem; border-radius: 15rem; margin: 0 auto 1.5rem; font-size: 3rem; }
	.sec-standard .standard-list h3 span:before{ font-size: 1.2rem; }

	.sec-dr{ padding: 6.4rem 0 7rem; }
	.sec-dr .ttl-en{ top: -7.3rem; left: -.6rem; }
	.sec-dr h2 + p{ font-size: 2rem; width: 100vw; margin: 0 0 4rem -2rem; }
	.sec-dr .dr-list li, .sec-dr .dr-list li:nth-of-type(even){ border-radius: 1rem; padding: 3.5rem 3.2rem 3.3rem; }
	.sec-dr .dr-list li + li{ margin-top: 3rem; }
	.sec-dr .dr-list li .img-wrap{ position: relative; }
	.sec-dr .dr-list li img{ width: 25rem; height: 26.6rem; object-fit: cover; object-position: top center; right: -3.2rem; }
	.sec-dr .dr-list li:nth-of-type(even) img{ left: -3.2rem; }
	.sec-dr .dr-list li h3{ padding-bottom: 19.5rem; display: block; }
	.sec-dr .dr-list li h3:before{ width: calc(100% + 3.2rem); }
	.sec-dr .dr-list li:nth-of-type(even) h3:before{ right: -3.2rem; }
	.sec-dr .dr-list li:nth-of-type(even) h3:after{ left: 0; }
	.sec-dr .dr-list li h3 small{ font-size: 1.4rem; line-height: 1; }
	.sec-dr .dr-list li h3 strong{ font-size: 3rem; }
	.sec-dr .dr-list li:nth-of-type(odd) h3 strong:after{ font-size: 1.6rem; display: block; margin: 0; line-height: 1; }
	.sec-dr .dr-list li:nth-of-type(even) h3 strong:before{ content: none; }
	.sec-dr .dr-list li:nth-of-type(even) h3 strong:after{ content: attr(data-en); font-size: 1.6rem; display: block; line-height: 1; font-family: Optima, 'Marcellus', serif; font-weight: 400; letter-spacing: 0.03em; color: #beaa78; }
	.sec-dr .dr-list li p{ font-size: 1.8rem; }

	.sec-jidv{ padding: 12rem 2rem 7rem; }
	.sec-jidv .wrap{ padding: 6rem 2rem 4.5rem; }
	.sec-jidv .wrap:before, .sec-jidv .wrap:after{ width: 13rem; }
	.sec-jidv .item01{ width: 6rem; }
	.sec-jidv h2{ margin-bottom: 3rem; }
	.sec-jidv h2 small{ font-size: 2.2rem; line-height: 1.5; }
	.sec-jidv h2 + p{ font-size: 1.4rem; text-align: left; margin-bottom: 3rem; }
	.sec-jidv .banner{ width: 100%; display: block; }
	.sec-jidv .banner img{ width: 100%; }
	.sec-jidv a.btn.wide{ width: 25rem; height: 8rem; padding-left: 1.5rem; letter-spacing: .05em; line-height: 1.5; }

	.sec-feature{ margin-bottom: 4rem; }
	.sec-feature .head{ margin-bottom: 7.5rem; }
	.sec-feature .head .wrap{ padding: 5rem 0 8rem; }
	.sec-feature .head .item01{ width: 16rem; height: 17.5rem; object-fit: cover; object-position: top center; right: -5rem; bottom: 0; }
	.sec-feature .head h2{ font-size: 1.8rem; }
	.sec-feature .head h2 + p{ font-size: 1.4rem; line-height: 1.8; }
	.sec-feature .head h2 strong{ font-size: 2.4rem; }
	.sec-feature .feature-list{ margin-bottom: 10rem; }
	.sec-feature .feature-list li + li{ margin-top: 5.5rem; }
	.sec-feature .feature-list li > picture img{ width: 21.5rem; top: -1.5rem; right: -2rem; border-radius: .5rem 0 0 .5rem; }
	.sec-feature .feature-list li:nth-of-type(even) > picture img{ left: -2rem; border-radius: 0 .5rem 5rem 0; }
	.sec-feature .feature-list li .no{ font-size: 2rem; width: 18.5rem; }
	.sec-feature .feature-list li .no strong{ font-size: 4rem; }
	.sec-feature .feature-list li .no:before{ width: calc(100% + 2rem); }
	.sec-feature .feature-list li .txt{ width: 100%; padding: 0 2rem 4rem 0; }
	.sec-feature .feature-list li:nth-of-type(even) .txt{ padding: 0 0 4rem 2rem; }
	.sec-feature .feature-list li .txt:before{ width: calc(100% + 2rem); }
	.sec-feature .feature-list li .txt h3{ font-size: 2rem; margin-bottom: 1.5rem; }
	.sec-feature .gray-wrap{ padding: 3.5rem 3rem 5.5rem; margin-bottom: 5rem; }
	.sec-feature .gray-wrap h3{ font-size: 2rem; height: 12rem; line-height: 1.5; justify-content: flex-start; padding-left: 1.2rem; margin-bottom: 3.8rem; }
	.sec-feature .gray-wrap h3:before{ background-position: bottom -.5rem right -3.5rem; }
	.sec-feature .q-list{ width: 25rem; margin: 0 auto; justify-content: space-between;}
	.sec-feature .q-list li{ width: 48%; margin-right: 0; }
	.sec-feature .q-list li:nth-of-type(n+2){ margin-top: 3rem; }
    .sec-feature .q-list li:nth-of-type(2) {margin-top: 0rem;}
	.sec-feature .q-list li a{ padding-top: 1.8rem; }
	.sec-feature .q-list li span{ background-image: url(../images/index/q-list-item02.png); background-size: 22rem; margin-bottom: 1.5rem; }
	.sec-feature .q-list li img{ width: 25rem; height: 10rem; object-fit: cover; object-position: center; }
	.sec-feature .gray-wrap + p{ font-size: 2rem; }
	.sec-feature .gray-wrap + p strong{ font-size: 3rem; }
	.sec-feature .gray-wrap + p strong:nth-of-type(1){ display: block; text-align: center; line-height: 1.4; }
    
	main table:not(.no-style){ margin: 3rem 0; }
	main table:not(.no-style) th{ font-size: 1.5rem; }
	main table.sp-break{ border-bottom: solid 1px #beaa78; }
	main table.sp-break,
	main table.sp-break tbody,
	main table.sp-break tr,
	main table.sp-break th,
	main table.sp-break td{ display: block; width: 100%}
	main table:not(.no-style).sp-break th{ text-align: center; border-bottom: none; padding: .5em 1em; border-right: solid 1px #beaa78; }
	main table:not(.no-style).sp-break td{ border-bottom: none; border-left: solid 1px #beaa78; }

	.sec-features{ margin-top: 4.2rem; padding-bottom: 12rem; }
	.sec-features:after{ width: 100vw; height: 12.5rem; }
    .sec-features h2{margin-bottom: 2.5rem; 
    background: url(../images/index/item-ttl01.png) right bottom / 16.5rem no-repeat;}
	.sec-features h2 span{ display: table; margin-left: auto; text-align: left; line-height: 1; padding-left: 3.1rem; background-size: 2.4rem; background-position: top left; }
	.sec-features .features-list li + li{ margin-top: 0; }
	.sec-features .features-list li:nth-of-type(odd){ padding: 1.8rem 0 3.75rem 2.5rem; margin-bottom: 3.75rem; }
	.sec-features .features-list li:nth-of-type(even){ min-height: 0; margin-bottom: 7.5rem; }
	.sec-features .features-list li:last-of-type{ margin-bottom: 0; }
	.sec-features .features-list li:nth-of-type(1){ padding-top: 5rem; }
	.sec-features .features-list li img{ width: 17.5rem; }
	.sec-features .features-list li:nth-of-type(odd) img{ top: -3.75rem; left: -2.5rem; border-radius: 0 .5rem .5rem 0; }
	.sec-features .features-list li:nth-of-type(even) img{ top: 0; right: -2.5rem; border-radius: .5rem 0 0 .5rem; }
	.sec-features .features-list li:nth-of-type(1) img{ top: -9rem; }
	.sec-features .features-list li .txt{ width: 100%; }
	.sec-features .features-list li .txt h3{ font-size: 1.7rem; width: 50%; }
	.sec-features .features-list li:first-of-type .txt h3{ width: 100%; }
	.sec-features .features-list li:nth-of-type(even) .txt h3{ min-height: 12.5rem; display: flex; align-items: center; }
	.sec-features .features-list li:nth-of-type(odd):not(:first-of-type) .txt h3{ margin-left: auto; }
	.sec-features .features-list li .txt .btn{ margin-top: 2.8rem; width: 27.5rem; }
	.sec-features .features-list li:nth-of-type(odd) .txt .btn{ margin-left: 0; }
	.sec-features .features-list li:nth-of-type(even) .txt .btn{ margin-left: 2.5rem; }

	.sec-risk .txt-box{
		width: 100%;
		margin: 0 auto;
	}
	
	.sec-flow{ padding-left: 7rem; padding-right: 2.5rem; margin-bottom: 5rem; }
	.sec-flow:before{ width: calc(100% - 2.5rem); left: 2.5rem; }
	.sec-flow .right li:after {
		width: calc(100% + 2.5rem);
	}
}
