@charset "utf-8";
/* ------------------------------------------------------
   ワイドディスプレイ用
------------------------------------------------------ */
@media screen and (min-width: 3000px){
/* -----------------------バナーリンク--------------------------- */
	.info-area .bnr-area{
		width: auto!important;
		right: -50px!important;
		top: 0!important;
	}
}
/* ------------------------------------------------------
   共通パーツ
------------------------------------------------------ */
/* .head-wrap{
	margin-top: 20px;
} */
.small-title{
	/* font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
	font-size: 30px;
	line-height: 1.3em;
}

h2.large-style,h3.large-style{
	font-size: 50px;
	text-align: center;
	text-shadow: #282828 1px 1px 0px, #282828 -1px 1px 0px,
             #282828 1px -1px 0px, #282828 -1px -1px 0px;
	color: #fff;
	border: none;
	margin-bottom: 30px;
	line-height: 1;
	letter-spacing: 6px;
}
h2.large-style span,h3.large-style span{
	color: #f1bd40;
}
h2.large-style:after,h3.large-style:after{
	display: none;
}
a.btn-black {
    clear: both;
    display: block;
    background: #282828;
    color: #fff;
    height: 50px;
    line-height: 50px;
    padding: 0 20px;
    position: relative;
    box-sizing: border-box;
    border: 1px solid #282828;
}
a.btn-black:after {
	display: block;
    content: '';
    background: url(/parts/img/arrow_white.png) no-repeat;
    width: 6px;
    height: 10px;
    background-size: 100%;
    position: absolute;
    right: 20px;
    top: 19px;
}
a.btn-black:hover {
    background: #fff;
    color: #ca3738;
    border: 1px solid #ca3738;
}
a.btn-black:hover:after {
    background: url(/parts/img/arrow_red.png) no-repeat;
    background-size: 100%;
}
.side{
	display: none!important;
}
.contact-bnr{
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 300;
}
.contact-bnr a{
	width: 130px;
    height: 60px;
    -webkit-border-radius: 65px;
    -moz-border-radius: 65px;
    border-radius: 65px;
    display: block;
    background: #ca3738;
    color: #fff;
    font-size: 15px;
    text-align: center;
    padding-top: 70px;
    font-weight: bold;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.contact-bnr a:before {
    display: block;
    content: '';
    background: url(/parts/img/ico_foot_contact_white.png) no-repeat;
    width: 24px;
    height: 23px;
    background-size: 100%;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    top: 40px;
}
.contact-bnr a:hover{
	background: #282828;
}
/* ------------------------------------------------------
   メインビジュアル
------------------------------------------------------ */
.mv {
    width: 100%;
	height: 750px;
    margin: auto;
	position: relative;
}
/*.mv:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 300px;
    background-image: linear-gradient(0deg, transparent 0 10%, #efefed 100%);
}*/
.mv .mv-content {
    width: 960px;
    display: block;
    position: absolute;
    height: 675px;
    top: 30px;
    left: 50%;
	translate: -50% 0;
	.mv-cv_item {
		position: absolute;
		left: 50%;
		translate: -50% 0;
		bottom: 16%;
		z-index: 110;
	}	
}
.mv .catchcopy {
	position: absolute;
    top: min(calc((190 / 1040) * 100vw), 240px);
    z-index: 100;
    left: 0;
    opacity: 0;
    right: 0;
    width: 960px;
	left: 50%;
	translate: -50% 0;
    text-align: center;
}
.hl-mv-sub {
	font-size: min(calc((32 / 1040) * 100vw), 32px);
    font-weight: 500;
    letter-spacing: .2em;
	padding-left: .1em;
}
.mv .catchcopy h2{
	font-size: min(calc((56 / 1040) * 100vw), 60px);
    text-shadow: #282828 1px 1px 0px, #282828 -1px 1px 0px, #282828 1px -1px 0px, #282828 -1px -1px 0px;
    color: #fff;
    border: none;
    margin-bottom: 30px;
    line-height: 1.3em;
    font-weight: 500;
    letter-spacing: 0;
}
.mv .catchcopy h2 span{
	color: #f1bd40;
    margin-left:4px;
}
.mv .mv-video {
	width: 100%;
	height: 900px;
    margin: auto;
    background: none;
    border: none;
    position: relative;
    zoom: unset;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none;
	opacity: 0;
}
.mv .mv-video img{
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
.flex-direction-nav{
	display: none!important;
}
.mv .flex-control-nav{
	display: none!important;
}
.mv #line1 {
	position: absolute;
    left: -9px;
    top: 350px;
    width: 911px;
    height: 410px;
    z-index: 100;
}
.mv .mv-spoon.pc{
    width: 91px;
    position: absolute;
    top: 208px;
    left: -105px;
    z-index: 100;
	opacity: 0;
}
.mv .mv-spoon.pc img{
	width: 100%;
	display: block;
}
.mv-spoon.bounce.pc,.mv-spoon.bounce.sp{
 opacity: 1!important;
  animation-duration: 2s;
  -webkit-animation-duration: 1s;
  animation-iteration-count: infinite;
}
.mv-spoon.bounce.pc{
	animation-name: bounce!important;
}
.movie {
    height: 675px!important;
    overflow: hidden;
    width: 100%!important
}
/* ------------------------------------------------------
   youtube設定

.movie_area{
	position: relative;
	margin: 0 auto;
	width: 100%;
	z-index: 1000;
}
iframe#tubular-player {
    position: absolute!important;
    margin: auto!important;
    right: 0!important;
    width: 177%!important;
    left: 50%!important;
    transform: translate(-50%, -28%);
    top: auto!important;
}
div#tubular-container {
     height: 675px!important;
    width: 100%!important;
}
------------------------------------------------------ */
.mv .covervid-wrapper {
	position: relative;
	top: -8vh;
	left: 0;
	height: 900px;
	/* height: 760px; */
	overflow: hidden;
}
.mv video{
	/*width: 103%;*/
	width: 100lvw;
	height: 100%;
	object-fit: cover;
}
.mv-bnr {
	position: absolute;
	top: 690px;
	z-index: 101;
	width: 100%;
	display: flex;
	justify-content: center;
}
.mv-bnr a {
	display: block;
	background: #fff;
	box-shadow: 1.176px 1.618px 35px 0px rgb(5 5 5 / 18%);
	border-radius: 10px;
}
.mv-bnr img {
	display: block;
	transition-duration: 0.3s;
	height: auto;
}
.mv-bnr img:hover {
	opacity: 0.6;
}
/* ------------------------------------------------------
   svgアニメーション
------------------------------------------------------ */
mask1>use{
   animation:path 6s linear 0s infinite;
}
mask2>use{
   animation:path 6s linear 0s infinite;
}
mask3>use{
   animation:path 6s linear 0s infinite;
}
mask4>use{
   animation:path 6s linear 0s infinite;
}
mask5>use{
   animation:path 6s linear 0s infinite;
}
@keyframes path{
    from{stroke-dasharray: 0,1150;}
    to{stroke-dasharray: 1150,0;}
}
.bg-gray.main-cont {
	background: #fff;
    padding-bottom: 50px;
    /* margin-top: 935px; 
	margin-top: 300px;*/
    padding-top: 8em;
    position: relative;
}
/* .bg-gray.main-cont::before {
	content: '';
	display: block;
	width: 100%;
	height: 100px;
	background: linear-gradient(180deg, rgba(248,248,248,0), rgba(248,248,248,1));
	position: absolute;
	top: -100px;
	left: 0;
} */
#line2 {
    width: 206px;
    height: 139px;
    position: absolute;
    right: 259px;
    z-index: 100;
    top: 26px;
}
#line3 {
    width: 72px;
    height: 191px;
    position: absolute;
    top: -99px;
    left: 142px;
}
#line4 {
    width: 114px;
    height: 213px;
    margin: 20px 0 25px 146px;
}
#line5 {
	width: 42px;
    height: 226px;
    left: 575px;
    position: absolute;
    top: -100px;
}
.second-spoon {
	width: 72px;
    height: 121px;
    position: absolute;
    left: 83px;
    top: -53px;
    opacity: 0;
}
.cv-spoon {
    width: 96px;
    height: 124px;
    position: absolute;
    left: 478px;
    top: 140px;
    opacity: 0;
}
.second-spoon img,.cv-spoon img{
	display: block;
	width: 100%;
}
span.point {
	font-size: 16px;
	letter-spacing: 3px;
}
.stroke-d path{
    stroke-dashoffset: 0!important;
}
/* ------------------------------------------------------
   メインコンテンツ
------------------------------------------------------ */
.spflow{
	overflow: unset;
	position: static;
}
.main-cont p.count {
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
}
.main-cont p.count span.countnum{
	font-size: 40px;
	text-align: center;
	text-shadow: #282828 1px 1px 0px, #282828 -1px 1px 0px,#282828 1px -1px 0px, #282828 -1px -1px 0px;
	margin-left: 15px;
	color: #f1be44;
}
.point-1,.point-2,.point-3,.point-4{
	position: relative;
}
.point-1 img,.point-2 img,.point-3 img,.point-4 img {
	display: block;
	width: 100%;
}

.point-1,.point-2,.point-3,
.point-1 img,.point-2 img,.point-3 img {
	border-radius: 1em;
}


.point-1 h3,.point-2 h3,.point-3 h3,.point-4 h3 {
    font-size: 36px;
	line-height: 1.4;
    letter-spacing: 2px;
	margin-bottom: .8em;
	font-feature-settings: "palt";
}
.point-1 .txt, .point-2 .txt, .point-3 .txt, .point-4 .txt {
    font-size: 18px;
	line-height: 1.8;
	@media screen and (max-width: 912px) {
		font-size: min(calc(15 / 390 * 100vw), 16px);
		line-height: 1.7;
	}
}

.point-2 h3 span.sml{
    font-size: 18px;
    display: block;
}
@media screen and (max-width: 767px){
    .point-2 h3 span.sml{
        display: inline;
    }
}


.main-cont h3 span.marker{
    background: linear-gradient(transparent 70%, #f1be44 -2px);
    height: 45px;
    display: inline-block;
}
.main-cont .more-link{
	margin-top: 20px;
}
.main-cont .more-link a.btn-black{
	width: 230px;
}
/* ---------------------POINT 1------------------------------ */
.point-1 .fade-img-1{
	width: 865px;
    height: 325px;
    position: absolute;
    left: -450px;
    opacity: 0;
    top: 13px;
	border-radius: 1em;
	box-shadow:0px 0px 38px 0px rgba(0,0,0,0.21);
}
.point-1 .fade-txt-1{
    width: 586px;
    float: right;
    padding-top: 6em;
}
.point-1 .fade-txt-1 .more-link a.btn-black{
	float: right;
}
/* ---------------------POINT 2------------------------------ */
.point-2 {
    padding-bottom: 160px;
    margin-top: 200px;
}
.point-2 .fade-img-2{
    width: 865px;
    height: 325px;
    position: absolute;
    right: -670px;
	opacity: 0;
	box-shadow:0px 0px 38px 0px rgba(0,0,0,0.21);
}
.point-2 .fade-txt-2{
    width: 610px;
    float: left;
    padding-top: 30px;
	margin-left: 213px;
}
.point-2 ul.fade-list-2{
	display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 160px;
    position: absolute;
    right: 60px;
    top: 220px;
	z-index: 1;
}
.point-2 ul.fade-list-2 li{
	width: 160px;
	height: 160px;
    -webkit-border-radius: 80px;
    -moz-border-radius: 80px;
    border-radius: 80px;
	display: inline-flex;
	background: #fff;
	margin-right: 25px;
}
.point-2 ul.fade-list-2 li:last-child{
	margin-right: 0;
}
.point-2 ul.fade-list-2 li p{
	width: 100%;
    padding-top: 55px;
    text-align: center;
    font-size: 18px;
    line-height: 1.6em;
}
.point-2 ul.fade-list-2 li p .t-green{
	font-weight: bold;
	font-size: 22px;
	color: #349440;
	padding-right: 5px;
}
/* ---------------------POINT 3------------------------------ */
.point-3{
    margin-top: 115px;
}
.point-3 .fade-img-3{
	width: 775px;
    height: 290px;
    position: absolute;
    right: -340px;
    top: -10px;
	opacity: 0;
}
.point-3 .fade-txt-3{
    width: 586px;
    float: left;
}
.point-3 ul.fade-list-3{
	display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 160px;
    position: absolute;
    right: 60px;
    top: 467px;
}
/* ---------------------POINT 4------------------------------ */
.point-4{
	margin-top: 80px;
	padding-bottom: 120px;
}
.point-4 .fade-txt-4{
    width: 512px;
    float: left;
    margin: 0 0 0 205px;
    position: relative;
    z-index: 10;
}
.point-4 .fade-img-4{
	position: absolute;
    height: 410px;
    width: 100%;
	opacity: 0;
}
.point-4 .fade-img-4 .point4-list1{
    width: 395px;
    height: 330px;
    position: absolute;
    left: -320px;
    top: -120px;
	box-shadow:0px 0px 38px 0px rgba(0,0,0,0.21);
}
.point-4 .fade-img-4 .point4-list2 {
    width: 235px;
    height: 195px;
    position: absolute;
    left: -425px;
    top: 240px;
	box-shadow:0px 0px 38px 0px rgba(0,0,0,0.21);
}
.point-4 .fade-img-4 .point4-list3{
	width: 235px;
    height: 195px;
    position: absolute;
    left: -160px;
    top: 240px;
	box-shadow:0px 0px 38px 0px rgba(0,0,0,0.21);
}
.point-4 .fade-img-4 .point4-list4 {
    width: 460px;
    height: 380px;
    position: absolute;
    right: -145px;
    bottom: 70px;
	box-shadow:0px 0px 38px 0px rgba(0,0,0,0.21);
}
.point-4 .fade-img-4 .point4-list5{
    width: 400px;
    height: 330px;
    position: absolute;
    right: -575px;
    top: -120px;
	box-shadow:0px 0px 38px 0px rgba(0,0,0,0.21);
}
.point-4 .fade-img-4 .point4-list6{
	width: 185px;
    height: 150px;
    position: absolute;
    right: -360px;
    bottom: 20px;
	box-shadow:0px 0px 38px 0px rgba(0,0,0,0.21);
}
.point-4 .fade-img-4 .point4-list7{
    width: 185px;
    height: 150px;
    position: absolute;
    right: -575px;
    bottom: 20px;
	box-shadow:0px 0px 38px 0px rgba(0,0,0,0.21);
}
/* ------------------------------------------------------
   cvエリア
------------------------------------------------------ */
.wrap.cv{
	margin: 300px auto 0 auto;
}
.cv .cv-contact{
   width : -webkit-calc(100% - 2px) ;
   width : calc(100% - 2px) ;
	background: #fff;
    padding: 53px 0;
	border: 2px dotted #282828;
	position: relative;

}
.cv .cv-contact h4 {
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 24px;
	text-align: center;
}
.cv .cv-contact p strong{
	display: block;
    margin: 60px 0 35px 94px;
    color: #fff;
    font-weight: bold;
    font-size: 24px;
    width: 600px;
    letter-spacing: 3.5px;
    font-family:  "Original Yu Gothic", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}
.cv .cv-contact .cv-area{
	display: -webkit-flex;
    display: flex;
    max-width: 760px;
    margin: auto;
}
.cv .cv-contact .cv-area .foot-tel .tel-link {
    width: 334px;
    overflow: hidden;
    padding-right: 38px;
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 1;
    margin-top: 17px;
}
.cv .cv-contact .cv-area .foot-tel{
	margin: 0 20px 0 0;
}
.cv .cv-contact .cv-area .foot-tel .tel-link span:first-child{
	font-size: 20px;
	padding-right: 15px;
}
.cv .cv-contact .foot-tel p:last-child {
    font-size: 14px;
    font-weight: normal;
    width: 200px;
    padding-left: 58px;
}
.cv .cv-contact .cv-area .foot-tel:after {
    content: '';
    width: 1px;
    height: 52px;
    position: absolute;
    background: #282828;
    right: 0;
    bottom: 0;
}
.cv .cv-contact .cv-area .link-area{
    font-weight: bold;
    width: 173px;
    height: 50px;
    position: relative;
    float: right;
    margin: 17px 0 0 55px;
    padding: 0 42px;
    background: #ca3738;
    color: #fff;
    border: 1px #ca3738 solid;
    text-align: right;
    line-height: 50px;
    font-family:  "Original Yu Gothic", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}
.cv .cv-contact .cv-area .link-area:before{
	display: inline-block;
    position: absolute;
    content: '';
    background: url(/parts/img/ico_foot_contact_white.png) no-repeat;
    width: 24px;
    height: 23px;
    background-size: 100%;
    margin-right: 20px;
    left: 45px;
    top: 12px;
}
.cv .cv-contact .cv-area .link-area:hover{
	background: #fff;
	color: #ca3738;
	border: 1px solid #ca3738;
}
.cv .cv-contact .cv-area .link-area:hover:before{
    background: url(/parts/img/ico_foot_contact_red.png) no-repeat;
    background-size: 100%;
}
/* ------------------------------------------------------
  service-info
------------------------------------------------------ */
.service{
	margin: 110px auto 0 auto;
}
.service-info{
	max-width: 253px;
	float: left;
    margin-top:25px;
}
.service-info .small-title{
	margin-bottom: 5px;
}
.service-info .btn-black{
	margin-top: 22px;
}
.service-info .letter-space{
	letter-spacing: 0.8px;
}
ul.service-list{
	display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    float: right;
    width: 717px;
    margin-right: 15px;
}
ul.service-list li{
	text-align: center;
	margin-right: 48px;
}
ul.service-list li:nth-child(5n){
	margin-right: 0;
}
ul.service-list li:nth-child(6),ul.service-list li:nth-child(7),ul.service-list li:nth-child(8),ul.service-list li:nth-child(9),ul.service-list li:nth-child(10){
	margin-top: 35px;
}
ul.service-list li:nth-child(1),ul.service-list li:nth-child(2),ul.service-list li:nth-child(3),ul.service-list li:nth-child(4),ul.service-list li:nth-child(5){
	margin-top: 20px;
}
ul.service-list li img{
	width: 88px;
}

.bnr-wide {
	display: block;
	margin: 4em auto 0;
	img {
		width: 100%;
		height: auto;
	}
	@media(max-width: 992px) {
		width: 90%;
	}
	@media(max-width: 600px) {
		margin: 2em auto 0;
	}

}
ul.bnr-list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin: 80px auto;
}
ul.bnr-list a{
	display: block;
}
ul.bnr-list a:hover{
	opacity: 0.7;
}
ul.bnr-list li img{
	display: block;
	width: 100%;
	height: auto;
}
.wrap.service-bnr{
	height: 173px;
    margin: 40px auto 130px auto;
}
.service-img{
    height: 175px;
    width: 2500px;
    position: absolute;
    left: -1420px;
}
.service-img img{
	display: block;
	height: 100%;
}
p.service-link {
    font-size: 12px;
    height: 42px;
    -webkit-align-items: center;
    align-items: center;
    display: flex;
    width: 105px;
    -webkit-justify-content: center;
    justify-content: center;
    line-height: 1.4em;
}
p.service-link:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 10px;
    background: url(/parts/img/arrow_black.png) no-repeat;
    background-size: contain;
    margin-left: 10px;
}
p.service-link.line-one:after{
	margin-bottom: 1px;
}
ul.service-list li a:hover p.service-link{
    color: #ca3738;

}

ul.service-list li a:hover img{
    opacity: .5;
    transition: all .3s ease;
}



/* ------------------------------------------------------
   info-area
------------------------------------------------------ */

.info-area {
	display: grid;
	grid-template-columns: 56% 1fr;
	align-items: center;
	gap: 4em;
	position: relative;
	padding: 4em 0;
	&::after {
		content: '';
		display: block;
		background: #f3f3f3;
		width: 100vw;
		height: 100%;
		position: absolute;
		left: -5vw;
		top: 50%;
		translate: 0 -50%;
		z-index: -1;
	}
	@media (max-width: 992px) {
		grid-template-columns: auto;
		padding: 4em 5%;
		&::after {
			left: 0;
		}
	}
}
.news {
	@media (max-width: 992px) {
		position: relative;
        padding: 0 0 80px 0;
	}
}


.news-title {
	border-bottom: 1px solid #eaeaea;
    position: relative;
    padding-bottom: 15px;
	@media (max-width: 992px) {
		width: auto;
		position: static;
	}
}
.info-area dl {
    display: flex;
	align-items: center;
	@media (max-width: 600px) {
		display: block;
	}
}
.info-area dt,
.info-area dd {
	border-bottom: 1px solid #eaeaea;
	padding: 15px 0;
}

@media (max-width: 600px) {
	.info-area dt {
		padding: 5px 0;
	}
	.info-area dd {
		padding: .6em 0;
	}
}


.info-area dt {
	flex-basis: 90px;
	color: #727272;
	font-size: 12px;
}
.info-area dd{
	flex: 1;
	padding-right: 27px;
	position: relative;
}
.info-area dd:after,
.info-area p.link-archive:after{
    display: block;
    content: '';
    background: url(/parts/img/arrow_black.png) no-repeat;
    width: 6px;
    height: 10px;
    background-size: 100%;
    position: absolute;
    right: 0;
    top: calc(50% - 5px);
}
.info-area p.link-archive {
    display: block;
    text-align: right;
    padding-top: 15px;
    font-weight: bold;
    position: absolute;
    top: 0;
    right: 0;
    padding-right: 20px;
	@media (max-width: 992px) {
		bottom: 0;
        top: unset;
        margin: auto;
        right: 0;
        left: 0;
        padding: 0;
        width: 100%;
		a {
			display: block;
			background: #282828;
			color: #fff;
			height: 50px;
			line-height: 50px;
			padding: 0 20px;
			position: relative;
			box-sizing: border-box;
			border: 1px solid #282828;
			text-align: center;
		}
	}
}
.info-area p.link-archive:after{
    top: 23px;
}

/* -----------------------バナーリンク--------------------------- */
.info-area .bnr-area {}

.bnr-area ul {
    display: flex;
	margin: 0 auto;
	justify-content: center;
	max-width: 480px;
	gap: 10px;
	a {
		display: block;
	}
	img {
		width: 100%;
		display: block;
	}
	@media (max-width: 992px) {
		gap: 2em;
	}
}
.bnr-area ul li a:hover{
	opacity: 0.7;
}



/* ------------------------------------------------------
   instagram
------------------------------------------------------ */
.inst {
    height: 232px;
    margin-top: 540px;
}
.inst .inst-list{
	position: absolute;
	right: 293px;
	display: flex;
	flex-direction: row-reverse;
	width: 200%;
}
.inst .inst-list li{
	width: 232px;
	height: 232px;
	margin-right: 5px;
}
.inst .inst-list li a{
	display: block;
}
.inst .inst-list li a:hover{
	opacity: 0.7;
}
.inst .inst-list li img{
	display: block;
	width: 100%;
	height: 100%;
}
.inst .inst-info{
	width: 252px;
	float: right;
	margin-top: 35px;
}
.inst .inst-info a.btn-black{
	margin-top: 30px;
}

/* ------------------------------------------------------
   footer
------------------------------------------------------ */
footer{
	/* margin-top: 120px;*/
	padding-top: 0;
	.foot-nav{
		padding: 80px 0;
		margin-top: 0;
	}
}

/* ------------------------------------------------------
   mvcv
------------------------------------------------------ */
.mv-cv {
	position: absolute;
	width: 100%;
	top: 640px;
	z-index: 100;
}
.mv-cv_inner {
	max-width: 1080px;
	width: 90%;
	margin: auto;
	border-radius: 20px;
	box-sizing: border-box;
	padding: 20px 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	box-shadow: 0px 0px 35px 0px rgba(0, 0, 0, 0.15);
}
.mv-cv_flex {
	display: flex;
	justify-content: space-between;
	width: 720px;
	flex-wrap: wrap;
	margin: auto;
}
.mv-cv_item {
	width: 305px;
}
.mv-cv_item p{
	text-align: center;
	font-size: 18px;
	position: relative;
	padding: 0 0;
	margin-bottom: 5px;
	font-weight: normal;
	line-height: 1.4;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 500;
	@media screen and (max-width: 992px) {
		font-size: min(calc(16 / 390 * 100vw), 18px);
	}
}
.mv-cv_item p span {
	background: linear-gradient(transparent 63%, #f9dc76 63%);
	line-height: 1;
	display: inline-block;
}
.mv-cv_item p:before,.mv-cv_item p:after {
	content: '';
	display: block;
	width: 1px;
	height: 25px;
	transform: rotate(-30deg);
	bottom: 0;
	left: 0;
	background: #333;
	position: absolute;
}
.mv-cv_item p:after {
	right: 0!important;
	left: auto;

	transform: rotate(30deg);
}
a.mv-cv_btn {
	border-radius: 60px;
	background: #f0b425;
	color: #fff;
	border: 6px solid #fff3d5;
	display: flex;
	font-size: 16px;
	justify-content: center;
	align-items: center;
	line-height: 1;
	padding: 0 50px;
	height: 48px;
	position: relative;
}
.mv-cv_btn:after {
	    display: block;
    content: '';
    background: url(/parts/img/arrow_white.png) no-repeat;
    width: 9px;
    height: 18px;
    background-size: contain;
    position: absolute;
    right: 20px;
    top: 19px;
}
.mv-cv_btn.-yellow:before {
	    display: block;
    content: '';
    background: url(/parts/img/ico_balloon_white.png) no-repeat;
    width: 22px;
    height: 23px;
    background-size: contain;
    position: absolute;
    left: 15px;
    top: 12px;
}
.mv-cv_btn.-black {
	background: #434343;
	border: 6px solid #ededed;
}
.mv-cv_btn.-red {
	background: #ca3738;
	border-color: transparent;
}

.mv-cv_btn.-black:before {
	    display: block;
    content: '';
    background: url(/parts/img/ico_foot_contact_white.png) no-repeat;
    width: 24px;
    height: 23px;
    background-size: contain;
    position: absolute;
    left: 15px;
    top: 12px;
}
.mv-cv_btn:hover {
	background: #ca3738!important;
	border: 6px solid #ffebeb!important;
}
@media screen and (max-width: 992px) {
	.mv-cv {
		position: absolute;
		width: 100%;
		top: auto;
		z-index: 100;
		bottom: 300px;
	}
	.mv-cv_inner {
		max-width: 1080px;
		width: 90%;
		margin: auto;
		border-radius: 10px;
		padding: 20px 30px;
	}
	.mv-cv_inner {
		max-width: 100%;
		flex-wrap: wrap;
	}
	.mv-cv_item {
		width: 280px;
		margin: auto;
		bottom: 24%!important;
	}
}
@media screen and (max-width: 770px) {
	.mv-cv_item + .mv-cv_item {
		margin-top: 15px;
	}
}
/* ------------------------------------------------------
   isms
------------------------------------------------------ */
.isms-cont {
	/* position: absolute;
	width: 100%;
	top: 840px;
	z-index: 100; */
}
.isms-inner {
	max-width: 800px;
	width: 90%;
	margin: auto;
	box-sizing: border-box;
	padding: 80px 0px 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 32px;
}
.isms-inner p {
	flex: 1;
}
.isms-img {
	padding: 10px;
	/* background: #fff; */
}
/* ------------------------------------------------------
   PC用
------------------------------------------------------ */
@media screen and (min-width: 993px){
	header {
		position: absolute;
		z-index: 2;
		width: 100%;
	}
}
@media screen and (min-width: 770px){
	.contents{
		margin-top: 0;
	}
}
/* ------------------------------------------------------
  1080px以下
------------------------------------------------------ */
@media screen and (max-width: 1125px) {
	.mv #line1{
		width: 80%;
	}
}
/* ------------------------------------------------------
  992px以下　横
------------------------------------------------------ */
@media screen and (max-width: 992px) and (orientation: landscape) {
	.mv .catchcopy {
		-webkit-writing-mode: unset;
		-ms-writing-mode: unset;
		writing-mode: unset;
		width: 65%;
		top: 12vh;
		text-align: left;
        left: 0;
        margin-left: 0;
	}
	.mv .catchcopy h2{
		font-size: 6vw;
	}
}


/* ------------------------------------------------------
  992px以下
------------------------------------------------------ */
@media screen and (max-width: 992px) {
	.head-wrap{
		margin-top: 0;
	}
	.contents.index .pc,.contents.index .pc{
		display:none !important;
	}
	.contents.index .sp,.contents.index .sp{
		display:block!important;
	}
	.contents.index .pc-i,.contents.index .pc-i{
		display:none !important;
	}
	.contents.index .sp-i,.contents.index .sp-i{
		display:inline!important;
	}
	.overlay.on{
		z-index: 200;
	}
	h2.large-style, h3.large-style{
		font-size: 20px;
	}
	.small-title{
		font-size: 17px;
		font-weight: bold;
	}
	a.btn-black{
		text-align: center!important;
	}
	a.btn-black:after{
		display: inline-block!important;
		content: '';
		background: url(/parts/img/arrow_white.png) no-repeat;
		width: 6px;
		height: 10px;
		background-size: 100%;
		position: relative!important;
		margin-left: 15px!important;
		top: auto!important;
		right: auto!important;
	}
/* ------------------------------------------------------
   mv
------------------------------------------------------ */
	.mv{
		width: 100%;
		/* height: calc(100vh + 350px); */
		height: 80vh;
		min-height: 640px;
		position: relative;
		text-align: center;
		background: none;
	}
	.mv:before {
		display: none;
	}
	.mv .mv-content{
		width: 100%;
		top: 0;
	}
	.mv .mv-video {
		position:absolute;
		left: 0;
		right: 0;
		border: 0;
		width: 100%;
		/* height: calc(100vh - 100px); */
		height: calc(100vh - 200px);
	}
	.mv ul li img {
	    /* min-height: calc(100vh - 100px); */
	    min-height: calc(100vh - 200px);
		position: relative;
		vertical-align: bottom;
		object-fit: cover;
		border-radius: 0;
	}
	.mv .mv-video img{
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		border-radius: 0;
	}
	.mv_sp.sp{
		width: 100%;
		height: calc(100vh - 100px);
		background: url(/parts/img/index/mv_sp.jpg) no-repeat;
		background-size: cover;
		background-position: center;
	}
	.mv  ul {
		margin: 0;
		padding: 0;
	}
	.mv .catchcopy {
		margin: auto;
		position: absolute;
		width: 88vw;
		left: 50%;
		translate: -50% 0;
		top: 10vh;
		text-align: left;
		text-align: center;
		.hl-mv-sub {
			font-size: min(calc(18 / 390 * 100vw), 24px);
			margin-bottom: .4em;
		}
	}
	.mv .catchcopy h2{
		text-align: left;
		font-weight: 700;
		letter-spacing: .1em;
		font-size: min(calc(40 / 390 * 100vw), 56px);
        margin: 0;
		text-align: center;
		span {
			display: block;
		}
	}
	.mv-spoon.sp {
		width: 24px;
		height: 74px;
		position: absolute;
		top: -110px;
		/*top: 0px;*/
		left: 5px;
		z-index: 100;
		opacity: 0;
	}
	.mv-spoon.sp img{
		display: block;
		width: 100%;
	}
	.mv-spoon.animated.sp.bounce.no-anime{
		animation-name: none!important;
	}
	.pc-sp-bottom{
		top: 85.5%!important;
		animation-iteration-count: 1!important;
		opacity: 1!important;
	}
	.mv-bnr {bottom: 240px;width: 90%;margin: auto;right: 0;left: 0;top: auto;}
	.mv-bnr a {

	}
	.mv-bnr img {width: 100%;}
	/* ------------------------------------------------------
	  main-cont
	------------------------------------------------------ */
		/*.bg-gray.main-cont:before{
		content: '';
		display: block;
		width: 60px;
		height: 48px;
		background: url(/parts/img/line_ertical.png) repeat-y;
		position: absolute;
		top: -48px;
		left: 0;
		background-size: 2px 6px;
		background-position-x: 30px;
	}*/
	#wrap {
		position:relative;
	}
	.mv-spoon {
		z-index:10;
		position:absolute;
		-webkit-transition: all 0s;
		-moz-transition: all 0s;
		-o-transition: all 0s;
		-ms-transition: all 0s;
		transition: all 0s;
		transition-duration: 5s;
	}
	.spflow{
		overflow: hidden;
		position: relative;
	    /*margin-top: -100px;*/
		margin-top: 0px;
	}
	.sp-guide.sp {
		width: 60px;
		height: 100%;
		position: absolute;
		top: 0;
		bottom: 0;
	}
	.p1-side,.p2-side,.p3-side,.p4-side{
		width: 18px;
		height: 17px;
		display: block;
		position: absolute;
		left: 22px;
	}
	.linetop-wrap {
		width: 50px;
		height: 100px;
		position: absolute;
		top: -50px;
	}
	span.side-line{
		display: block;
		background: url(/parts/img/line_ertical.png) repeat-y;
		background-size: contain;
		width: 2px;
		height: 0;
		position: absolute;
		left: 16px;
		-webkit-transition: all 0s;
		-moz-transition: all 0s;
		-o-transition: all 0s;
		-ms-transition: all 0s;
		transition: all 0s;
		transition-duration: 5s;
	}
	.norepeat-anime{
		animation-name: none!important;
	}
	/* -----------------------main---------------------------- */
	.bg-gray.main-cont{
		margin-top: 0;
		/*padding-top: 50px;*/
		padding-top: 4em;
		padding-bottom: 20px;
	}
	.point-1,.point-2,.point-3,.point-4{
		margin-top: 0;
	}
/*====================================================================
	.point-1:before,.point-2:before,.point-3:before,.point-4:before{
		content: '';
		width: 14px;
		height: 14px;
		border: 3px solid #282827;
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		border-radius: 10px;
		display: block;
		position: absolute;
		top: 0!important;
		left: 21px!important;
		background: #fff;
		z-index: 10;
		opacity: 1!important;
	}
====================================================================*/
	.point-1 .fade-img-1,.point-2 .fade-img-2,.point-3 .fade-img-3,.point-4 .fade-img-4,.point-4 .fade-img-4 .point4-list4{
		position: relative;
		width: 100%;
		height: auto;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
	}
	.p1-wrap,.p2-wrap,.p3-wrap,.p4-wrap{
		overflow: hidden;
	    padding-bottom: 4em;
		right: calc(100% - 1px);
		opacity: 0;
		position: relative;
		z-index: 130;
	}
	.point-1 .fade-img-1, .point-2 .fade-img-2, .point-3 .fade-img-3 {
		float: right;
		width: 80%;
		margin-right: 10%;
	}
	.point-3 .fade-img-3 {
		box-shadow: 0px 0px 38px 0px rgba(0,0,0,0.21);
		img {
			border-radius: 0;
		}
	}
	.point-1 .fade-img-1,.point-2 .fade-img-2,.point-3 .fade-img-3,.point-4 .fade-img-4{
		opacity: 1;
	}
	.point-1 .fade-txt-1,.point-2 .fade-txt-2,.point-3 .fade-txt-3,.point-4 .fade-txt-4{
		width: calc(95% - 32px);
		float: right;
		margin: 0 5% 2em 0;
		padding-top: 0;
		opacity: 1;
	}
	.margin-block{
		display: block;
		/*height: 100px;*/
	}
	.point-1 h3, .point-2 h3, .point-3 h3, .point-4 h3 {	
		font-size: min(calc(22 / 390 * 100vw), 24px);
		letter-spacing: 2px;
		border-bottom: 2px dotted #282828;
		margin-bottom: 13px;
		padding: 0 20px 13px 0;
		line-height: 1.2;
		position: relative;
		br {display: none;}
	}
	.point-1 h3:after, .point-2 h3:after, .point-3 h3:after, .point-4 h3:after{
		content: '';
		display: block;
		width: 11px;
		height: 16px;
		/*background: url(/parts/img/index/arrow_sp.png) no-repeat;*/
		background-size: 100%;
		position: absolute;
		top: 20%;
		right: 6px;
	}
	.main-cont p.count{
		margin-bottom: 10px;
	}
	.main-cont h3 span.marker{
		height: 20px;
	}
	.main-cont p.count span.countnum{
		font-size: 25px;
		margin-left: 5px;
	}
	span.point{
		font-size: 10px;
	}
	.slideInRight{
		right: 0!important;
		opacity: 1;
	}
	/* ------------------------point1-------------------------- */
	.point-1 .fade-img-1 img{
		-webkit-border-radius: 5px 0 0 5px;
		-moz-border-radius: 5px 0 0 5px;
		border-radius: 5px 0 0 5px;
	}
	/* ------------------------point2-------------------------- */
	.point-2{
		padding-bottom: 0;
	}
	.point-2 .fade-img-2 img{
		-webkit-border-radius: 5px 0 0 5px;
		-moz-border-radius: 5px 0 0 5px;
		border-radius: 5px 0 0 5px;
	}
	.point-2 ul.fade-list-2 {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		height: 100px;
		position: absolute;
		opacity: 0;
		z-index: 101;
		width: 306px;
		left: 8%;
		top: auto;
		bottom: 270px;
	}
	.point-2 ul.fade-list-2 li {
		width: 96px;
		height: 96px;
		-webkit-border-radius: 50%;
		-moz-border-radius: 50%;
		border-radius: 50%;
		display: inline-flex;
		background: #fff;
		margin-right: 8px;
	}
	.point-2 ul.fade-list-2 li:last-child{
		margin: 0;
	}
	.point-2 ul.fade-list-2 li p {
		width: 100%;
		padding-top: 34px;
		text-align: center;
		font-size: 12px;
		line-height: 1.6em;
	}
	.point-2 ul.fade-list-2 li p .t-green{
		font-size: 16px;
	}
	/* ------------------------point3-------------------------- */
	.p3-img{
		width: 105%;
		margin-top: 30px;
	}
	.p3-img img{
		width: 100%;
		display: block;
	}

	/* ------------------------point4-------------------------- */
	.point-4 {
		padding-bottom: 50px;
	}
	/* ------------------------------------------------------
	  cv
	------------------------------------------------------ */
	.cv h3.large-style{
		margin-bottom: -5px;
		font-size: 22px;
		line-height: 1.6;
		letter-spacing: 2px;
		font-weight: bold;
	}
	.cv .cv-contact .cv-area{
		display: block;
	}
	.wrap.cv {
		border: 2px dotted #282828;
		background: #fff;
		padding: 20px 6%;
		width: 80%;
		margin-top: 0;
		position: relative;
		z-index: 100;
	}
	.cv .cv-contact{
		border: none;
		padding: 0;
		width: 100%;
	}
	.cv .cv-contact h4 {
		font-size: 16px;
		margin-top: 10px;
	}
	.cv .cv-contact .cv-area .foot-tel {
		font-weight: bold;
		width: 100%;
		height: 50px;
		position: relative;
		float: none;
	    margin: 15px 0 10px 0;
		padding: 0;
		background: #282828;
		color: #fff;
		border: none;
		text-align: right;
		line-height: 50px;
	}
	.cv .cv-contact .cv-area .foot-tel:after{
		display: none;
	}
	.cv .cv-contact .cv-area .foot-tel .tel-link{
		padding: 0;
		margin: 0;
		width: 100%;
		text-align: center;
		display: block;
		color: #fff;
		font-size: 20px;
	}
	.cv .cv-contact .cv-area .link-area:before {
		position: unset;
		margin: 0 20px -5px 0;
	}
	.cv .cv-contact .cv-area .link-area:hover{
		border: 0;
	}
	.tel-link span.tel-num {
		font-size: 22px;
		font-weight: normal;
		display: block;
		text-align: center;
		margin-top: 8px;
		color: #fff;
	}
	.tel-link span.tel-num:visited{
		color: #fff;
	}
	.cv .cv-contact .foot-tel p:last-child {
		font-size: 12px;
		font-weight: normal;
		width: auto;
		padding-left: 0;
		display: block;
		line-height: 1;
		text-align: center;
		color: #fff;
	}
	.cv .cv-contact .cv-area .link-area {
		float: none;
		margin: 0;
		width: 100%;
		display: block;
		padding: 0;
		text-align: center;
		border: none;
	}
	.bottom-cv{
		-webkit-transition: none!important;/*アニメーションの変化*/
		-moz-transition:  none!important;
		-o-transition:  none!important;
		-ms-transition:  none!important;
		transition:  none!important;
		top: auto!important;
	}

	/* ------------------------------------------------------
	  service
	------------------------------------------------------ */
	.service {
		margin: 65px 0 75px 0;
		padding-bottom: 75px;
	}
	.service-info {
		max-width: unset;
		float: none;
		width: 90%;
		margin: 0 auto 20px auto;
	}
	.service-info p.more{
	    position: absolute;
		width: 90%;
		bottom: 0;
	}
	.service-listsp li{
		background: #f8f8f8;
		padding: 20px 0;
		text-align: center;
		margin-right: 20px;
	}
	.service-listsp img{
		display: block;
		width: 40%;
		margin: 0 auto 10px auto;
	}
	p.service-link {
		width: 100%;
	}
	ul.bnr-list{
		margin: 10px auto 75px auto;
		width: 90%;
		gap: 10px
	}

	/* ------------------------------------------------------
	  inst
	------------------------------------------------------ */
	.inst {
		height: auto;
		margin-top: 75px;
		padding-top: 37px;
		position: relative;
	}
	.inst .inst-list{
		position: relative;
		right: 0;
		flex-direction: row;
		flex-wrap: wrap;
		width: 97%;
	    margin: auto;
	}
	.inst .inst-list li {
		width: 24%;
		height: auto;
		margin-right: 1.3%;
	}
	.inst .inst-list li:nth-child(-n + 4){
		margin-bottom: 1.3%;
	}
	.inst .inst-list li:nth-child(4),.inst .inst-list li:nth-child(8){
		margin-right: 0;
	}
	.inst .inst-info{
		width: 90%;
		margin: 20px auto 0 auto;
		float: none;
	}
	.inst .small-title{
		position: absolute;
		top: 0px;
	}
/* ------------------------------------------------------
   footer
------------------------------------------------------ */
	footer{
		padding-top: 0;
	}
	footer .foot-nav {
		padding: 30px 0 0 0;
	}
	.foot-tel:before {
		content: '';
		/*background: url(/parts/img/index/ico-_tel_sp.png) no-repeat;*/
		width: 18px;
		height: 23px;
		display: block;
		position: absolute;
		background-size: contain;
		left: 41px;
		top: 14px;
	}
	/* ------------------------------------------------------
	   isms
	------------------------------------------------------ */
	.isms-cont {
		width: 100%;
	}
	.isms-inner {
		display: block;
		padding: 20px;
		flex-wrap: wrap;
		justify-content: center;
		.isms-img {
			text-align: center;
		}
		p {
			width: 100%;
			font-size: 13px;
		}		
	}
}

@media (max-width:600px) {
	.mv {
		height: 80vh;
	}
	.mv-bnr {
		bottom: 320px;
	}
	ul.bnr-list {
		grid-template-columns: repeat(2, 1fr);
		gap: 5px;
	}
	.point-1 .fade-img-1, .point-2 .fade-img-2, .point-3 .fade-img-3 {
		width: 92%;
		margin-right: 0;
	}
}

.wrap.info-area.clearfix {
	min-height: 400px;
}
.sec-note {
	width: 90vw;
	margin: 4.8em auto;
	padding-top: 4.8em;
	border-top: 1px solid #ddd;
	.c-header {
			position: relative;
			display: flex;
			align-items: center;
			margin-bottom: 2em;
			p {
				margin-left: auto;
			}
			.btn-black {
				font-size: 14px;
				height: 40px;
				line-height: 40px;
				&:after {
					right: 14px;
					top: 14px;
				}
				@media screen and (max-width: 600px) {
					font-size: 12px;
					padding: 0 1em;
				}
			}
	}
}
.note-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2em;
	@media screen and (max-width: 912px) and (min-width: 601px) {
			grid-template-columns: repeat(2, 1fr);
			.note-item:last-of-type {
				display: none;
			}
	}
	@media screen and (max-width: 600px) {
			grid-template-columns: repeat(1, 1fr);
	}
	.note-item {
			h3 {
				font-size: 19px;
				line-height: 1.6;
				font-weight: bold;
				font-feature-settings: "palt";
				@media screen and (max-width: 992px) {
					font-size: 16px;
				}
			}
			.note-img {
				aspect-ratio: 800/419;
				overflow: hidden;
				border-radius: .4em;
				margin-bottom: 1.2em;
				filter: drop-shadow(0 0 10px rgba(0,0,0,0.1));
				img {
					object-fit: cover;
					width: 100%;
					height: 100%;
				}
			}
			p {
				display: flex;
				align-items: center;
				margin-top: 1em;
				line-height: 1.3;
				.c-btn {
					margin-left: auto;
				}
				@media screen and (max-width: 992px) {
					margin-top: .64em;
				}
			}
			time {
				display: block;
				color: #666;
				font-weight: normal;
				font-size: 14px;
			}
			.c-btn {
				display: inline-flex;
				align-items: center;
				font-size: 12px;
				padding: .6em 1.4em;
				border-radius: 100vmax;
				border: 1px dotted #282828;
				line-height: 1;
			}
	}
}

.sec-case-result {
	margin-top: 20px;
	position: relative;
	z-index: 2;
	padding: 0 20px;
	.scroll-area {
		position: relative;
		z-index: 2;
		width: 100%;
		max-width: 1200px;
		overflow: hidden;
		overflow-x: auto;
		margin: 0 auto;
		/* WebKitスクロールバーのスタイル */
		&::-webkit-scrollbar {
			height: 8px;
		}
		&::-webkit-scrollbar-track {
			background: #f0f0f0;
			border-radius: 100vmax;
		}
		&::-webkit-scrollbar-thumb {
			background: #444;
			border-radius: 100vmax;
			&:hover {
				background: #777;
			}
		}
	}
	&::before {
		content: '';
		display: block;
		width: 100vw;
		height: 320px;
		background: linear-gradient(180deg, rgba(235, 231, 231, 0) 0%, #e6e6e6 24%, #e6e6e6 42%, #fff 43%);
		position: absolute;
		z-index: 0;
		left: 0;
		top: -32px;
	}	
}

.clearfix.spflow {
	position: relative;
	z-index: 2;
}

.wrap.cv {
	z-index: 1;
	position: relative;
	&::after {
		content: '';
		display: block;
		width: 100vw;
		height: calc(100% + 180px);
		background: linear-gradient(135deg, #f1e9d7 0%, #f2f2f2 26.36%, #f2f0ee 51.45%, #f2efea 83.26%, #f1e9d7 100%);
		position: absolute;
		z-index: 0;
		top: -90px;
		left: 50%;
		translate: -50% 0;
		z-index: 0;
		@media (max-width: 992px) {
			height: calc(100% + 80px);
			top: -40px;
		}
	}
	* {
		position: relative;
		z-index: 2;
	}
} 


.p-list-case-result {
	width: max-content;
	max-width: 1600px;
	margin: 0 auto;
	display: flex;
	gap: 2em;
	padding-bottom: 3em;
	.p-case-result-item {
		width: calc((100% - 6em) / 3);
	}
	@media screen and (max-width: 768px) {
		max-width: 1320px;
		gap:1em;
		padding-bottom: 2em;
	}
}

.p-case-result-item {
	position: relative;
	.c-img {
		overflow: hidden;
		border-radius: .64em;
		display: flex;
		justify-content: center;
		align-items: center;
		aspect-ratio: 16/9;
		position: relative;
		z-index: 1;
		border: 2px solid #fff;
		box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}
	.c-tags {
		display: flex;
		gap: .5em;
		font-size: 13px;
		line-height: 1;
		padding: 0;
		position: absolute;
		right: 8px;
		margin-top: -3em;
		z-index: 2;
		li {
			padding: .5em 1em;
			background: #222;
			color: #fff;
			border-radius: 100vmax;
		}
		@media screen and (max-width: 992px) {
			right: 8px;
			margin-top: -2.6em;	
			font-size: min(calc(11 / 390 * 100vw), 13px);
		}		
	}
	.hl-case {
		font-size: 20px;
		font-weight: bold;
		line-height: 1.3;
		padding: 0 16px;
		margin-bottom: .4em;
		margin-top: 1.2em;
		@media screen and (max-width: 992px) {
			font-size: min(calc(18 / 390 * 100vw), 20px);
		}		
	}
	.c-lead {
		font-size: 15px;
		line-height: 1.7;
		padding: 0 16px;
		margin-bottom: 1.6em;
		@media screen and (max-width: 992px) {
			font-size: min(calc(14 / 390 * 100vw), 15px);
		}		
	}
	.c-list-case-result {
		display: flex;
		padding: 0 10px;
		justify-content: center;
		padding: 1em .4em;
		border-top: 1px dotted #aaa;
		border-bottom: 1px dotted #aaa;
		div {
			max-width: 50%;
			flex: 1;
			display: flex;
			flex-direction: column;
			justify-content: center;
			dt {
				color: #444;
				font-size: 13px;
				text-align: center;
				line-height: 1.2;
				margin-bottom: .6em;
				@media screen and (max-width: 992px) {
					font-size: min(calc(12 / 390 * 100vw), 12px);
				}				
			}
			dd {
				font-size: 20px;
				font-weight: 700;
				text-align: center;
				line-height: 1;
				color: #ca3738;
				@media screen and (max-width: 992px) {
					font-size: min(calc(20 / 390 * 100vw), 24px);
				}
			}
		}
		div:nth-of-type(2) {
			border-left: 1px solid #ddd;
		}
	}
}