@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: 675px;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
}
/*.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: 1076px;
    margin: auto;
    display: block;
    position: absolute;
    height: 675px;
    top: 30px;
    right: 0;
    left: 0;
}
.mv .catchcopy {
	position: absolute;
    top: 258px;
    z-index: 100;
    left: 0;
    opacity: 0;
    right: 0;
    width: 976px;
    margin: auto;
    text-align: center;
}
.mv .catchcopy h2{
	font-size: 59px;
    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: 1px;
    margin-left:12px;
}
.mv .catchcopy h2 span{
	color: #f1bd40;
    margin-left:4px;
}
.mv .mv-video {
	width: 100%;
    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: absolute;
	top: -4vh;
	left: 0;
	width: 100%;
	height: 760px;
	overflow: hidden;
}
.mv video{
	/*width: 103%;*/
	width: 116%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.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;
}
.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 {
    padding-bottom: 50px;
    margin-top: 935px;
    padding-top: 40px;
    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: 50px;
	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 h3,.point-2 h3,.point-3 h3,.point-4 h3{
    font-size: 28px;
    letter-spacing: 2px;
    margin-bottom: 10px;
}
.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;
	box-shadow:0px 0px 38px 0px rgba(0,0,0,0.21);
}
.point-1 .fade-txt-1{
    width: 586px;
    float: right;
    padding-top: 30px;
}
.point-1 .fade-txt-1 .more-link a.btn-black{
	float: right;
}
/* ---------------------POINT 2------------------------------ */
.point-2 {
    padding-bottom: 120px;
    margin-top: 168px;
}
.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{
	padding-bottom: 102px;
}
.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;
    left: 538px;
    bottom: 60px;
}
.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;
}
ul.bnr-list{
	display: flex;
	justify-content: flex-end;
	margin: 50px auto 110px auto;
}
ul.bnr-list a{
	display: block;
}
ul.bnr-list a:hover{
	opacity: 0.7;
}
ul.bnr-list li{
	width: 364px;
}
ul.bnr-list li + li{
	margin-left: 30px;
}
ul.bnr-list li img{
	display: block;
	width: 100%;
}
.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
------------------------------------------------------ */
/* -----------------------お知らせ--------------------------- */
.news {
    width: 490px;
    height: 212px;
    background: #f5f5f5;
    padding: 50px 10px 50px 110px;
    position: absolute;
    left: -50px;
}
.news-title{
	border-bottom: 1px solid #eaeaea;
    width: 490px;
    position: relative;
    padding-bottom: 15px;
}
.info-area dl{
	width: 490px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	float: left;
}
.info-area dl a{
	display: flex;
	width: 100%;
}
.info-area dt,.info-area dd{
	border-bottom: 1px solid #eaeaea;
	padding: 15px 0;
}
.info-area dt{
	flex-basis: 90px;
	color: #727272;
	font-size: 12px;
}
.info-area dd{
	flex-basis: 373px;
	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: 32px;
}
.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;
}
.info-area p.link-archive:after{
    top: 23px;
}
/* -----------------------バナーリンク--------------------------- */
.info-area .bnr-area{
    width: 990px;
    padding: 100px 50px 50px 50px;
    background: #f5f5f5;
    position: absolute;
    right: -570px;
    top: 0;
}
.bnr-area ul{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	max-width: 465px;
}
.bnr-area ul li{
	flex-basis: 222px;
}
.bnr-area ul li:nth-child(2){
    margin: 0 0 21px 21px;
}
.bnr-area ul li:nth-child(4){
	margin-left: 21px;
}
.bnr-area ul li a{
	display: block;
	width: 100%;
	height: 100%;
}
.bnr-area ul li a:hover{
	opacity: 0.7;
}
.bnr-area ul li img{
	width: 100%;
	display: block;
}
/* ------------------------------------------------------
   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;
}
footer .foot-nav{
    padding: 80px 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: 16px;
	position: relative;
	padding: 0 12px;
	margin-bottom: 5px;
	font-weight: normal;
	line-height: 1.4;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 500;
}
.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.-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: 305px;
		margin: auto;
	}
}
@media screen and (max-width: 770px) {
	.mv-cv_item {
		width: 100%;
		margin: 0 auto 15px auto;
	}
	.mv-cv_item + .mv-cv_item {
		margin-top: 15px;
	}
}
/* ------------------------------------------------------
   isms
------------------------------------------------------ */
.isms-cont {
	position: absolute;
	width: 100%;
	top: 815px;
	z-index: 100;
}
.isms-inner {
	max-width: 830px;
	width: 90%;
	margin: auto;
	border-radius: 4px;
	box-sizing: border-box;
	padding: 30px 0px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.isms-inner p {
	width: calc(100% - 160px);
}
.isms-img {
	padding: 10px;
	/* background: #fff; */
}
/* ------------------------------------------------------
   1220px以下
------------------------------------------------------ */
@media(max-width:1220px){
.mv video{
			width: auto;
			height: 750px;
		}
}
/* ------------------------------------------------------
   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: calc(100vh + 200px);
		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 {
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		margin: auto;
		position: absolute;
		width: 3em;
		left: 50%;
        margin-left:.8em;
		top: 5vh;
		text-align: left;
	}
	.mv .catchcopy h2{
		text-align: left;
		font-weight: 1000;
		font-size: 40px;
		letter-spacing: 5px;
        margin: 0;
	}
	.mv .catchcopy h2 span {
		padding: 80px 0 0 0;
        margin-left:0;
	}
	.mv-spoon.sp {
		width: 24px;
		height: 74px;
		position: absolute;
		top: -110px;
		/*top: 0px;*/
		left: 19px;
		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: 287px;width: 90%;margin: auto;right: 0;left: 0;top: auto;max-width: 350px;}
	.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: 30px;
		-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: 0;
		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: 70px;
		right: calc(100% - 1px);
		opacity: 0;
		position: relative;
		z-index: 130;
	}
	.point-1 .fade-img-1, .point-2 .fade-img-2{
		float: right;
		width: 95%;
	}
	.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% - 63px);
		float: right;
		margin: 0 5% 0 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: 20px;
		letter-spacing: 2px;
		border-bottom: 2px dotted #282828;
		margin-bottom: 13px;
		padding: 0 20px 13px 0;
		line-height: 1.2;
		position: relative;
	}
	.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 .txt{
		margin-bottom: 60px;
	}
	.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{
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 30px auto 75px auto;
		width: 90%;
	}
	ul.bnr-list li{
		width: 48%;
	}
	ul.bnr-list li + li{
		margin: 0 0 0 4%;
	}
	/* ------------------------------------------------------
	  news bnr
	------------------------------------------------------ */
	.info-area .bnr-area {
		width: 90%;
		padding: 5%;
		background: #f5f5f5;
		position: relative;
		right: auto;
		top: auto;
	}
	/* -----------------------news---------------------------- */
	.news {
		position: relative;
		padding: 30px 0 80px 0;
		background: #f5f5f5;
		width: 100%;
		height: auto;
		left: 0;
	}
	.news-title{
		width: 90%;
		margin: auto;
		position: static;
	}
	.info-area dl{
	    max-width: unset;
		width: 90%;
		margin: auto;
		float: none;
	}
	.info-area dl a{
	    flex-wrap: wrap;
	}
	.info-area dt {
		flex-basis: 100%;
		color: #727272;
		font-size: 12px;
		border: none;
		padding: 13px 0 0 0;
	}
	.info-area dd {
		flex-basis: 100%;
		padding: 0 27px 13px 0;
		position: relative;
	}
	.news-title .small-title{
		top: 20px!important;
	}
	.info-area p.link-archive {
		bottom: 0;
		top: unset;
		margin: auto;
		right: 0;
		left: 0;
		padding: 0;
		width: 90%;
	}
	.info-area p.link-archive a{
		width: 100%;
		height: 50px;
		background: #282828;
	}
	.info-area p.link-archive a{
		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;
		text-align: center;
	}
	.info-area p.link-archive a:after {
		display: inline-block;
		content: '';
		background: url(/parts/img/arrow_white.png) no-repeat;
		width: 6px;
		height: 10px;
		background-size: 100%;
		position: relative;
		right: auto;
		top: auto;
		margin-left: 15px;
	}
	.info-area dd:after, .info-area p.link-archive:after{
		top: 7px;
	}
	.info-area p.link-archive:after{
		display: none;
	}
	ul.service-list{
		width: 100%;
		margin: 0;
	}
	ul.service-list li{
		margin: 0 20px!important;
	}

	/* -----------------------bnr-area---------------------------- */
	.bnr-areasp{
		background: #f5f5f5;
	    padding: 50px 0 25px 0;
	}
	.bnr-areasp .slick-slide {
		background: #f5f5f5;
		margin: 0 20px;
	}
	.bnr-areasp .slick-slide img{
		width: 100%;
	}
	.slick-dots{
		bottom: -30px!important;
	}
	.slick-dots li{
		margin: 0!important;
	}
	.slick-dots li button:before {
		font-family: 'slick';
		font-size: 34px!important;
		line-height: 20px;
		position: absolute;
		top: 0;
		left: 0;
		width: 20px;
		height: 20px;
		content: '•';
		text-align: center;
		opacity: .25;
		color: black;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
	/* ------------------------------------------------------
	  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;
        margin-top: 50px;
	}
	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 {
		position: absolute;
		width: 100%;
		bottom: 30px;
		top: auto;
	}
	.isms-inner {
		padding: 20px;
		flex-wrap: wrap;
		justify-content: center;
	}
	.isms-inner p {
		width: 100%;
		text-align: left;
	}
	
	
}
/* ------------------------------------------------------
  640px以下
------------------------------------------------------ */
@media screen and (max-width: 640px) {
	ul.bnr-list{
		flex-wrap: wrap;
		justify-content: center;
	}
	ul.bnr-list li{
		width: 100%;
	}
	ul.bnr-list li + li{
		margin: 15px 0 0 0;
	}
}
