@charset "utf-8";
/* CSS Document */


/*_______________________________


　　【一目瞭然 / LPサイト】
　　　　　
　　　　CSS　(PC/TB/SP)

_______________________________*/




/*     共通
____________________*/

/*Google Fonts (Noto Sans JP  + Noto Serif JP) */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

html {
	scroll-behavior: smooth;
}

body{
    font-size: clamp(14px,2vw, 16px);
    color: #333;
    font-family: 'Noto Sans JP',YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    overflow-x: hidden;
    line-height: 1.5;
    position: relative;
    width: 100%;
    background: #fff;
    font-weight: 500;
    letter-spacing: 0.06em;
}

img{
    vertical-align: bottom;
    max-width: 100%;
}
a{
		text-decoration: none;
	}
@media(hover:hover){
	a,.btn{
		transition: opacity 0.5s ease-out;
	}
    a:hover,.btn:hover{
		opacity: 0.5;
		transition: opacity 0.5s ease-out;
    }
}
.sp_only{
	display: none;
}

section{
	padding: 100px 5vw;
	box-sizing: border-box;
}
.inner{
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}
.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
    color: #fff;
    text-align: center;
    height: clamp(60px,10vw, 70px);
    border-radius: 35px;
    font-size: clamp(16px,2vw, 24px);
    box-sizing: border-box;
    letter-spacing: -0.03em;
    position: relative;
    box-shadow: 0 0 5px rgb(0 0 0 / 40%);
    font-weight: bold;
    border: 2px solid #fff;
    width: min(80%, 460px);
    background: linear-gradient(90deg, #ffb821 0%, #ff8a00 100%);
    background: linear-gradient(to right, #8f8bff, #ffb821, #ff8a00);
    background-position: 100% 50%;
    background-size: 200% auto;
    transition: all 0.3s ease-out;
}

@media(hover:hover){
	.btn:hover {
		color: #fff;
		background-position: 0% 49%;
		transition: all 0.3s ease-out;
		opacity: 1;
	}
}

h2{
	display: flex;
	gap:5px;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	color: #3c4b75;
    position: relative;
    font-size:  clamp(18px,5vw,42px);
    text-align: center;
    font-weight: 600;
    margin-bottom:50px;
}
h2 img{
    width: clamp(160px, 30vw, 250px);
    margin-top: -10px;
}

.scroll_action{
	opacity: 0;
	/* background: #3c4b75; */
}
.scroll_action.on{
	animation-name: fadeAnime;
	animation-fill-mode:backwards;
	animation-duration:1s;
	animation-timing-function:ease;
	animation-delay: 0.5s;
	animation-direction:normal;
	opacity: 1;
}

@keyframes fadeAnime{
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}



/*     header
____________________*/

header{
	height: 90px;
	width: 100vw;
	display: flex;
	align-items: center;
	position: fixed;
	z-index: 1000000;
	background: #fff;
	box-shadow: 0 0 5px rgb(0 0 0 / 20%);
	padding: 0 min(3%,30px);
	box-sizing: border-box;
	gap: 30px;
	justify-content: space-between;
}
header .logo img{
	width: clamp(160px, 30vw, 250px);
}
header .btn {
    height: min(70%, 60px);
    border-radius: 30px;
    width: clamp(160px, 30vw, 250px);
}

:target {
  scroll-margin-top: 90px; /* スクロール時にヘッダーの高さ分余白をとる */
}




/*       .mv
____________________*/

.mv {
    position: relative;
    background-image: url(../img/mv_bg.jpg);
    background-repeat: repeat-x;
    background-position: -49% 60%;
    background-size: 150%;
    padding: 0 3%;
	padding-top: 90px;
}
.mv .inner{
	position: relative;
}
.mv .inner::before{
	content: "";
	background: #3c4b75;
	background: linear-gradient(0deg, #25304d 0%, #3c4b75 60%, #3c4b75 100%);
	width: 100vw;
	height: 100%;
	position: absolute;
	right: 100%;
	top: 0;
	bottom: 0;
}
.mv .box{
	padding: 0;
	display: flex;
	position: relative;
	z-index: 0;
	width: 100%;
	/*height: 600px;*/
	aspect-ratio: 2 / 1;
}
.mv .box::before{
	content: "";
	width: 100%;
	height: 100%;
	background: #3c4b75;
	background: linear-gradient(0deg, #25304d 0%, #3c4b75 60%, #3c4b75 100%);
	clip-path: polygon(0% 0%, 75% 0, 25% 100%, 0% 100%);
	position: absolute;
	z-index: -1;
}
.mv .box::after{
	content: "";
	background-image: url("../img/mv_img.png");
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: -1;
	background-position: 98% bottom;
	background-size: 58%;
}


.mv .text {
    display: flex;
    flex-flow: column;
    justify-content: center;
	flex-basis: 48%;
}
.mv .text span{
	font-size: clamp(20px, 3vw, 38px);
	color: #fff;
	margin-bottom: 5px;
	display: block;
}
.mv .text p{
    background: #fff;
    padding: 20px;
    font-size: clamp(18px,2vw,28px);
    color: #3c4b75;
    font-weight: bold;
    margin-top: 30px;
}




.mv h1 {
  overflow: hidden;
  position: relative;
}

.mv h1::before {
  animation: img-wrap 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #3c4b75;
  background: linear-gradient(0deg, #37456d 0%, #3c4b75 60%, #3c4b75 100%);
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

@keyframes img-wrap {
  100% {
    transform: translateX(100%);
  }
}


.mv.scroll_action{
	opacity: 1!important;
}

.mv.scroll_action .box::after{
	opacity: 0;
}
.mv.scroll_action.on .box::after{
	animation-name: mvAnime;
	animation-fill-mode:backwards;
	animation-duration:0.5s;
	animation-timing-function:ease;
	animation-delay: 0.3s;
	animation-direction:normal;
	opacity: 1;
	transform: translateY(0px) ;
}

@keyframes mvAnime{
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}


/*      .cv
____________________*/
.cv {
    margin: 0;
    height: min(25vw,200px);
    background: linear-gradient(90deg, #b2c2f0 0%,#d2e7f7 50%,#e9dafb 100%);
	display: flex;
    align-items: center;
    position: relative;
	z-index: 0;
}

.cv_box{
	width: 100%;
}
.cv_box .btn{
	margin: auto;
}
.cv_box em{
    text-align: center;
    display: block;
    margin: 0 auto 20px;
    font-size: 28px;
    font-weight: bold;
    color: #3c4b75;
}
.cv_box em::before{
	content: "＼";
}
.cv_box em::after{
	content: "／";
}


/*     .about
____________________*/
.about{
	background: url("../img/about_bg_top.png") no-repeat right top, url("../img/about_bg_bottom.png")no-repeat left bottom;
	position: relative;
	overflow-x: hidden;
}

.about .text{
	font-size: clamp(16px, 2.25vw, 24px);
	font-weight: 600;
	text-align: center;
	margin-bottom: 50px;
}
.about .mock_up img{
	margin: auto;
	display: block;
	max-width: 70%;
}
.about .img.scroll_action {
    width: min(50%, 375px);
	display: block;
    position: absolute;
    bottom: 0;
    background-size: contain;
    left: 60vw;
    background-position: bottom center;
}







/*      .feature
____________________*/
.feature {
    position: relative;
    background: #f3f3f3 url("../img/feature_bg.png");
	background-size:cover;
}

.feature ul {
    background: #fff;
    box-shadow: 0 0 5px rgb(0 0 0 / 20%);
    border-radius: 20px;
    padding: 40px 3vw;
    display: flex;
    justify-content: center;
    gap: 40px min(4vw,40px);
    flex-wrap: wrap;
}
.feature li {
    flex: 1;
    text-align: center;
    display: flex;
    flex-flow: column;
    gap: 15px;
    align-items: center;
}
.feature li .img{
    background: #d2e7f7;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.feature li .img img{
	max-width: 50%;
}
.feature li em{
	color: #3c4b75;
	font-size: clamp(20px, 2.25vw, 24px);
	font-weight: 600;
	display: block;
	margin-bottom: 10px;
	font-weight: bold;
}
.feature li p span{
	font-weight: bold;
	font-size: clamp(15px, 2vw, 20px);
	color: #ff8a00;
}
.feature li:nth-of-type(1){
	animation-delay: 1s;
}
.feature li:nth-of-type(2){
	animation-delay: 1.5s;
}
.feature li:nth-of-type(3){
	animation-delay: 2s;
}


/*      .merit
____________________*/

.merit{
	position: relative;
	z-index: 0;
}
.merit::before,.merit::after{
	content: "";
	background: #3c4b75;
	background-size: auto auto;
	/* background-color: rgba(60, 75, 117, 1); */
	/* background-image: repeating-linear-gradient(135deg, transparent, transparent 5px, rgba(255, 255, 255, 0.05) 5px, rgba(255, 255, 255, 0.05) 10px ); */
	width: min(25%,420px);
	aspect-ratio: 1 / 1;
	position: absolute;
	z-index: -1;
}
.merit::before{
	clip-path: polygon(100% 0, 0% 100%, 0 0);
	top: 0;
	left: 0;
}
.merit::after{
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	bottom: 0;
	right: 0;
}
.merit ul{
    display: flex;
    justify-content: center;
    gap: 40px min(5vw,50px);
    flex-wrap: wrap;
    margin-bottom: 50px;
}
.merit ul li{
	/* flex: 1; */
	background: #fff;
	box-shadow: 0 0 5px rgb(0 0 0 / 20%);
	border-radius: 20px;
	overflow: hidden;
	text-align: center;
	flex-basis: clamp(260px,30%,400px);
}
.merit ul li .text{
	padding: 30px min(2vw,30px) 40px;
}

.merit ul li:nth-of-type(1){
	animation-delay: 1s;
}
.merit ul li:nth-of-type(2){
	animation-delay: 1.5s;
}
.merit ul li:nth-of-type(3){
	animation-delay: 2s;
}
.merit ul li span{
	display: block;
	font-size: 48px;
	font-weight: 600;
	line-height: 1;
}
.merit ul li:nth-of-type(1) span{
	color: #d6d7fa;
}
.merit ul li:nth-of-type(2) span{
	color: #d2e7f7;
}
.merit ul li:nth-of-type(3) span{
	color: #e9dafb;
}
.merit ul li em{
	display: inline-block;
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 600;
	color: #3c4b75;
	margin-bottom: 20px;
	letter-spacing: -0.03em;
	font-weight: bold;
}

.merit ul li:nth-of-type(1) em{
	background:linear-gradient(transparent 70%, #d6d7fa 70%);
}
.merit ul li:nth-of-type(2) em{
	background:linear-gradient(transparent 70%, #d2e7f7 70%);
}
.merit ul li:nth-of-type(3) em{
	background:linear-gradient(transparent 70%, #e9dafb 70%);
}

.merit ul li:nth-of-type(1) em,
.merit ul li:nth-of-type(2) em,
.merit ul li:nth-of-type(3) em{
  background-repeat: no-repeat;	
  background-size: 0% 100%;
  transition:background-size 5s;
}
.merit ul li.on:nth-of-type(1) em,
.merit ul li.on:nth-of-type(2) em,
.merit ul li.on:nth-of-type(3) em{
	background-size: 100% 100%;
}

/*       .admin_panel
____________________*/

.admin_panel {
    position: relative;
    background-color: rgb(243 243 243 / 30%);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 5px, rgb(255 255 255 / 100%) 5px, rgb(255 255 255 / 100%) 10px);
}

.admin_panel ul{
	display: flex;
	justify-content: space-between;
	gap: 40px 3vw;
	flex-wrap: wrap;
}
.admin_panel ul li{
	flex: 1;
	background: #fff;
	box-shadow: 0 0 5px rgb(0 0 0 / 20%);
	flex-basis: clamp(260px, 30%, 400px);
	background: #fff;
}
.admin_panel ul li img{
	padding: min(5vw, 40px);
    box-sizing: border-box;
}
.admin_panel ul li em{
	text-align: center;
	padding: 20px 10px;
	display: block;
	font-size: clamp(18px, 2vw, 22px);
	font-weight: 600;
	background: #3c4b75;
	color: #ffffff;
	letter-spacing: -0.03em;
}
.admin_panel li:nth-of-type(1){
	animation-delay: 1s;
}
.admin_panel li:nth-of-type(2){
	animation-delay: 1.5s;
}
.admin_panel li:nth-of-type(3){
	animation-delay: 2s;
}


/*      .plan
____________________*/
.plan{
	/*background: #e7eff6;*/
	background: #f0f8ff;
	padding-bottom: 0;
	overflow-x: hidden;
}
.plan .inner > p{
    text-align: center;
    margin-bottom: 30px;
}
.plan .inner > p strong {
    font-weight: bold;
    color: #3c4b75;
    font-size: 110%;
}

/*.plan ul{
    display: flex;
    justify-content: center;
    gap: min(3vw,30px);
    flex-wrap: wrap;
    margin-bottom:100px;
}
.plan ul li{
	flex: 1;
	background: #fff;
	box-shadow: 0 0 5px rgb(0 0 0 / 20%);
	border-radius: 20px;
	overflow: hidden;
	text-align: center;
	padding: 30px;
}*/
.plan .plan_box{
    margin-bottom: 80px;
}
.plan .plan_box > small{
    display: block;
    text-align: center;
}
 .plan .plan_box strong{
	 display: flex;
    margin: auto;
    text-align: center;
    max-width: 300px;
    font-size: 28px;
    font-weight: bold;
    background: #ff8a00;
    position: relative;
    z-index: 10;
    height: 50px;
    justify-content: center;
    align-items: center;
    margin-bottom: -25px;
    color: #fff;
    clip-path: polygon(0 0, 100% 0, 97% 50%, 100% 100%, 0 100%, 3% 50%);
}
.plan .plan_box strong em{
    font-size: 36px;
	font-weight: bold;
	 margin: 0 0.2em;
}

.plan .plan_box dl{
	flex: 1;
	background: #fff;
	box-shadow: 0 0 5px rgb(0 0 0 / 20%);
	border-radius: 20px;
	overflow: hidden;
	text-align: center;
	padding: 50px 0 30px;
	margin-bottom:20px;
	display: flex;
	position: relative;
}
.plan .plan_box dl::after{
	content: "";
	width: 1px;
	height: 100px;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background: #3c4b75;
}
.plan .plan_box dl > div{
	flex: 1;
	padding: 0 min(5vw,30px);
	max-width: 400px;
	margin: 0 auto;
}
.plan .plan_box dl > div:nth-of-type(1){
	animation-delay: 1s;
}
.plan .plan_box dl > div:nth-of-type(2){
	animation-delay: 1.5s;
}

.plan .plan_box dl dt{
	background: #3c4b75;
	color: #fff;
	display: flex;
	height: 40px;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 24px;
	border-radius: 20px;
	margin-bottom: 20px;
}
.plan .plan_box dl dd em{
	display: block;
	font-weight: bold;
}
.plan .plan_box dl dd em span{
    font-size: 46px;
}
.plan .plan_box dl dd p{
	margin-top: 10px;
}

.plan .img_box{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.plan .img_box .img{
	width: clamp(160px, 30vw, 500px);
}
.plan .img_box .img:nth-of-type(1){
	margin-left: -15%;
}
.plan .img_box .img:nth-of-type(2){
	margin-right: -15%;
}

.plan .cv_box{
    margin-bottom: min(-130px, 5vw);
}




/*       .case
____________________*/

.case p.text {
    font-size: clamp(16px, 2.25vw, 24px);
    font-weight: 600;
    text-align: center;
    margin-bottom: 50px;
}
.case ul{
	display: flex;
	flex-flow: column;
	gap:35px;
	margin-bottom: 50px;
}
.case li{
	box-shadow: 0 0 5px rgb(0 0 0 / 20%);
	overflow: hidden;
	padding: min(5vw,50px);
	display: flex;
	gap: 3vw;
}
.case li:nth-of-type(1){
	background:rgb(214 215 250 / 50%);
}
.case li:nth-of-type(2){
	background: rgb(210 231 247 / 50%);
}
.case li:nth-of-type(3){
	
	background: rgb(233 218 251 / 50%);
}
.case li em {
    display: inline-block;
    font-size: clamp(16px, 2vw, 24px);
    font-weight: 600;
    color: #3c4b75;
    margin-bottom: 20px;
    letter-spacing: -0.03em;
}
.case li .img {
    flex-basis: 10%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.case li .text{
	flex: 1;
}
.case li .text small {
    text-align: right;
    display: block;
    font-size: 80%;
	margin-top: 5px;
}




/*   .contact
____________________*/
.contact{
    position: relative;
    background-image: url("../img/contact_bg.jpg");
    background-repeat: no-repeat;
	background-position: center;
	background-size: cover; 
    /*min-height: calc(100vh - 50px);*/
}
.contact .form_wrap{
	box-shadow: 0 0 5px rgb(0 0 0 / 20%);
	border-radius: 20px;
	overflow: hidden;
	padding: min(10vw, 85px) min(5vw, 50px);
	background: #fff;
}
.contact .form_wrap > p {
    text-align: center;
    margin-bottom: 50px;
}
.contact .form_wrap > p strong{
    font-weight: bold;
    color: #ff8a00;
}

.contact form dl{
	max-width: 950px;
	margin: auto;
}
.contact form dl > div{
	display: flex;
}
.contact form dl > div dt{
	flex-basis: 25%;
	color: #3c4b75;
    font-weight: bold;
}
.contact form dl > div dd{
	flex: 1;
}
.contact form input[type="submit"].btn {
    background: linear-gradient(90deg, #b88ed5 0%, #5f85b6 100%);
    margin: auto;
    cursor: pointer;
}
@media(hover:hover){
	.contact form input[type="submit"].btn:hover{
		opacity: 0.8;
	}
}

.contact form input[type="text"],
.contact form input[type="tel"],
.contact form input[type="email"]{
    border: 1px solid #707070;
    border-radius: 5px;
    padding: 10px;
    width: 100%;
    background: #fff;
    font-size: 16px;
    box-sizing: border-box;
    height: 50px;
}
.contact form textarea {
    border: 1px solid #707070;
    border-radius: 5px;
    padding: 10px;
    width: 100%;
    background: #fff;
    font-size: 16px;
    box-sizing: border-box;
    height: 200px;
}
.contact form dl {
    max-width: 950px;
    margin: auto;
    display: flex;
    flex-flow: column;
    gap: 15px;
}

.contact form .pp-checkbox{
    text-align: center;
    margin: 30px auto;
}
.contact form .pp-checkbox a {
    color: #3c4b75;
	font-weight: bold;
    text-decoration: underline;
	margin: 0 5px;
}
.contact form .radioItem {
    display: flex;
    align-items: center;
    column-gap: 4px;
    width: fit-content;
    line-height: 1;
    cursor: pointer;
    /*border: 1px solid #3c4b75;*/
    padding: 10px;
    border-radius: 20px;
    height: 40px;
    box-sizing: border-box;
    background: #fff;
    box-shadow: 0 0 3px rgb(0 0 0 / 25%);
	position: relative;
}
.contact form .radioItem small{
	font-size: 10px;
}
.contact form .contact_type dd{
	display: flex;
	gap:10px;
}
.contact form .radioItem:not(:last-of-type) {

}
.contact form .radioButton {
  appearance: none;
  position: relative;
  width: 20px;
  height: 20px;
  border: 1px solid #707070;
  border-radius: 9999px;
  cursor: pointer;
  background: #fff;
}
.contact form .radioButton:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  border-radius: 9999px;
  background-color: #3c4b75;
}
.contact form .radioItem:has(.radioButton:checked){
    background: #f0f8ff;
}


.contact form .checkboxItem {
  display: flex;
  align-items: center;
  column-gap: 4px;
  width: fit-content;
  line-height: 1;
  cursor: pointer;
	margin: auto;
}

.contact form .checkbox {
  appearance: none;
  position: relative;
  width: 20px;
  height: 20px;
  border: 1px solid #707070;
  border-radius: 2px;
  cursor: pointer;
}

.contact form .checkbox:checked {
  background-color: #3c4b75;
}

.contact form .checkbox:checked::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 2px;
  width: 12px;
  height: 6px;
  border-bottom: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  transform: rotate(-45deg);
}



.contact.confirm .btn_box{
    display: flex;
    justify-content: center;
    gap: 2vw;
    /* max-width: 800px; */
    margin: 50px auto 0;
}
.contact.confirm .btn_box .btn{
	margin: 0;
}
.contact.confirm .btn_box .bk_btn{
	margin: 0;
	background: #3c4b75;
	cursor: pointer;
	width: clamp(160px,45%,280px);
}
.contact .logo{
	margin: auto;
	display: flex;
    justify-content: center;
}
.contact .logo img{
    width: clamp(160px, 30vw, 250px);
    /*margin-top: -10px;*/
}




/*    footer
____________________*/
footer .inner{
	padding: 0 5vw;
	box-sizing: border-box;
}
footer .inc{
	display: flex;
	height: 300px;
	align-items: center;
	gap: 10px;
	justify-content: space-between;
	flex-wrap: wrap;
}
footer .inc > div{
	/* flex:1; */
}
footer .inc a{
	color: #3c4b75;
	font-weight: bold;
}
footer .inc_logo img{
	max-width: 270px;
	width: 50%;
	margin-top: -30px;
	min-width: 150px;
}
footer .inc_address{
    line-height: 2;
    flex-basis: 50%;
    min-width: 280px;
}
footer small{
    background: #3c4b75;
    display: flex;
    height: 50px;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
	flex-wrap: wrap;
}



/* 　============================================


           メディアクエリ　切り替え


===============================================*/


/* 　＋＋＋＋＋＋＋　（1200px）以下　用　＋＋＋＋＋＋＋　*/

@media screen and ( max-width:1200px) {
	
.mv .text p{
    letter-spacing: -0.055em;
}
	
	
    /*　---　*/
}
/* ＋＋end＋＋　（1200px）以下 用　ここまで　＋＋end＋＋　*/






/* 　＋＋＋＋＋＋＋　TB 縦（834px）以下　用　＋＋＋＋＋＋＋　*/

@media screen and ( max-width:834px) {
	


	
    /*　---　*/
}
/* ＋＋end＋＋　TB 縦（834px）以下 用　ここまで　＋＋end＋＋　*/



/* 　＋＋＋＋＋＋＋　SP（767px）以下　用　＋＋＋＋＋＋＋　*/

@media screen and ( max-width:767px) {
body {
    font-size: 14px;
}	
.sp_only{
	display:block;
}
.pc_only{
	display:none;
}
	
	
section {
    padding: 70px 5%;
}
h2 {
    margin-bottom: 30px;
}	
header{
	height: 70px;
}	
:target {
  scroll-margin-top: 70px; /* スクロール時にヘッダーの高さ分余白をとる */
}	


.mv{
    padding-top: 70px;
}		
.mv .box {
    aspect-ratio: 1 / 1;
}
.mv .text {
    justify-content: flex-start;
    flex-basis: 100%;
    padding-top: 20px;
}	
.mv .text p {
    margin-top: 20px;
}	
.mv .box::before {
    clip-path: polygon(0 0, 0% 100%, 100% 0);
}	
.mv h1 {
    width: 65%;
}	
.mv h1::before {
    background: #3c4b75;
}	
.mv .box::after {
    z-index: 0;
    background-position: 98% bottom;
    background-size: 70%;
    bottom: -40px;
    right: 12%;
}
.mv .inner::before,	
.mv .box::before {
    background: linear-gradient(0deg, #161e31 0%, #3c4b75 80%, #3c4b75 100%);
}	
	
.cv_box em {
    margin: 0 auto 10px;
    font-size: 18px;
    display: flex;
    gap: 5px;
    justify-content: center;
	letter-spacing: -0.005em;
 }
	
.about {
    background-size: 120%;
}	
	
.feature li,
.merit ul li,
.admin_panel li,
.plan .plan_box dl > div{
	animation-delay: 0.5s!important;
}

.admin_panel ul{
	flex-flow: column;
	max-width: 400px;
    margin: 0 auto;
    gap: 30px;
}	
.plan .plan_box{
		margin-bottom:30px;
}	
.plan .plan_box strong {
    max-width: 220px;
    font-size: 20px;
}
.plan .plan_box strong em {
    font-size: 30px;
}	
	
.merit ul{
	flex-flow: column;
	max-width: 400px;
    margin: 0 auto 40px;
    gap: 30px;
}	
.plan .plan_box dl{
	flex-flow: column;
    gap: 25px;
	margin-bottom: 10px;
}
.plan .plan_box dl::after{
		display: none;
}	
.plan .plan_box dl > div {
    width: 100%;
    max-width: 290px;
}
.plan .plan_box dl dt {
        height: 30px;
        font-size: 18px;
        border-radius: 15px;
        margin-bottom: 15px;
}	
.plan .plan_box dl dd span {
        font-size: 14px;
}
	
.plan .cv_box {
    margin-bottom: 20px;
}	
	
	
	
.case ul{
	gap:30px;
	margin-bottom: 40px
}	
.case li {
    flex-flow: column;
}	
.case li .img{
    width: min(50%, 180px);
    margin: auto;
    padding: 15px;
    box-sizing: border-box;
}
	
	
.contact form input[type="text"], .contact form input[type="tel"], .contact form input[type="email"] {
    padding: 5px 10px;
    height: 40px;
}	
.contact .form_wrap > p {
    margin-bottom: 30px;
}
.contact .form_wrap > p br{
	display: none;	
}	
.contact form dl > div {
    flex-flow: column;
    gap: 5px;
}	
.contact form .contact_type dd {
    flex-flow: column;
    gap: 10px;
}	
	

footer .inc {
    height: auto;
    padding: 50px 0;
    gap: 30px;
    justify-content: center;
    text-align: center;
	flex-flow: column;
}
footer .inc_logo img {
    margin-top:0;
}		
	
	
	
	/*　---　*/
}
/* ＋＋end＋＋　SP（767px）以下 用　ここまで　＋＋end＋＋　*/





