@charset "UTF-8";


:root {
	--text :#333333;
	--main-blue:#006EA1;
	--dark-blue:#2B4865;
	--shadow:20px 20px 50px 0px rgba(43, 72, 98, 0.20);
	--shadow-short:4px 4px 20px 0px rgba(43, 72, 98, 0.20);
}

html {
  scroll-behavior: smooth;
}
body {
	color: var(--text);
	font-family: "Roboto", YakuHanJP, "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 400;
	height: 100%;
	line-height: 1.7;
	overflow-x: hidden;
	position: relative;
	width: 100%;
	background: #fff url(./assets/images/mv_bg.webp) no-repeat top right;
	background-size:auto;
	padding-top:50px;
}

@media screen and (min-width: 1180px) {
	body {
	background:url(./assets/images/mv_parts04.svg) no-repeat top left,url(./assets/images/mv_bg.webp) no-repeat top right;
	background-size:20%,auto;
}

}


.en{font-family: "Overpass", sans-serif;}
body.compensate-for-scrollbar {margin-right: 0 !important;overflow: auto;overflow-x: hidden;}
main,
section,
article,
div {position: relative;}
*,
*:before,
*:after {box-sizing: border-box;scroll-behavior: unset;}
h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul,
li,
dl,
dt,
dd,
figure{margin: 0;padding: 0;}
a {color: inherit;text-decoration: none;}
a:focus {outline: none;}
ul,
ol,
li {list-style: none;}
button {background: transparent;border: none;cursor: pointer;padding: 0;}
dt {font-weight: normal;}
em {font-style: normal;}
.dn {display: none;}
img {height: auto;-o-object-fit: contain;object-fit: contain;max-width: 100%;}


a {
    text-decoration:none;
    transition: 0.3s all;
}

/* flex */
.flex_wrap{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
}
.flex_wrap_between{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.flex_wrap_center{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	justify-content: center;
}
.flex_wrap_middle{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	align-items: center;
}
.invew.fade{
	opacity: 0;
	transition: all .8s cubic-bezier(.6,.01,.42,.99);
	transform: translateY(20px);
}
.invew.fade.fire{
	opacity: 1;
	transform: translateY(0);
}
.v-roboto {font-family: "Roboto", "Arial", "Noto Sans JP", sans-serif;}
.is-pc {display: block;}
.is-tb {display: none;}
.is-sp {display: none;}


.l-header {
	align-items: center;
	display: flex;
	height: clamp(70px, 5.208vw, 100px);
	justify-content: space-between;
	left: 0;
	padding-left: clamp(10px, 1.458vw, 28px);
	padding-right: clamp(10px, 2.24vw, 43px);
	position:fixed;
	top:0;
	left:0;
	right:0;
	width: 100%;
	z-index: 10;
	margin:0 auto 50px;
	background-image: linear-gradient(#ffffff, #ffffffee);
	backdrop-filter: blur(3px);
	box-shadow: var(--shadow-short);
}
.l-header_logo {
	flex-shrink: 0;
	position: relative;
	top: 0;
	width: clamp(180px, 19.792vw, 380px);
}
.l-header_logo img{width: 100%;}
.l-header__nav {position: relative;}
.l-header__button {display: none;}

.l-nav {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	position: relative;
	row-gap: 10px;
}
.l-nav_item {
	color:var(--text);
	font-size: clamp(10px, 0.99vw, 19px);
	font-weight: 500;
	margin-left: clamp(2px, 1.5vw, 20px);
	position: relative;
	transition: opacity 0.5s;
}
.l-nav_item:hover {
	opacity: 0.6;
	transition: opacity 0.5s;
}


.l-nav_item-regist {
	height: clamp(24px, 2.344vw, 45px);
	margin-left: clamp(6px, 1.00vw, 21px);
}
.l-nav_item-regist .c-button_anchor {
	font-size: clamp(8px, 0.99vw, 14px);
	padding: clamp(7px, 0.7vw, 13px) clamp(7px, 1.0vw, 24px);
	border: #0C4B79 1px solid;
	color: #0C4B79;
}
.l-nav_item-find {
	height: clamp(24px, 3.75vw, 45px);
	margin-left: clamp(30px, 3vw, 24px);
}
.l-nav_item-find .c-button_anchor {
	font-size: clamp(9px, 1vw, 16px);
	padding: min(1.16vw, 14px) min(3.5vw, 50px)  min(1.16vw, 14px) min(4.8vw, 70px);
}
.l-nav_item-find .c-button_anchor::before {
	font-size: clamp(8.5px, 0.92vw, 12.5px);
	height: min(3.75vw, 45px);
	left: min(0vw, 2px);
	line-height: min(3.7vw, 45px);
	width: min(5.6vw, 70px);
	letter-spacing: 0.1vw;
	text-align: center;
}
.l-nav_item-find:hover {opacity: 1;}




.c-button {height: clamp(45px, 3vw, 60px);}
.c-button:hover .c-button_anchor {
	opacity: 0.6;
	transition: opacity 0.5s;
}
.c-button-big {
	height: 93px;
	width: clamp(420px, 27.865vw, 535px);
}
.c-button-big .c-button_anchor {font-size: 23px;}
.c-button-big .c-button_anchor::after {
  background: url(./assets/images/common/arrow-white.svg) no-repeat center center/contain;
  content: "";
  height: 20px;
  position: absolute;
  right: min(2.75vw, 33px);
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
}
.c-button-grd .c-button_anchor {
	background: #06cef7;
	background: linear-gradient(90deg, #06cef7 0%, #c0cd53 100%);
	color: #fff;
}
.c-button_anchor {
	background: #fff;
	border-radius: 55px;
	color: #88ADA7;
	display: block;
	font-size: clamp(17px, 0.99vw, 19px);
	font-weight: 700;
	height: 100%;
	padding: 11px 24px;
	text-align: center;
	transition: opacity 0.5s;
	width: 100%;
}
.c-button_anchor .innerHeaderBtn {position: relative;}
.c-button-find .c-button_anchor {
	background: #06cef7;
	background: linear-gradient(90deg, #FF5350 0%, #FFAD22 100%);
	color: #fff;
	padding: clamp(11px, .74vw, 15px) 42px clamp(11px, .74vw, 15px) clamp(46px, 4vw, 58px);
	position: relative;
	text-indent: -0.5em;
	border-radius: 100vh;
	overflow: hidden;
}
.c-button-find .c-button_anchor a:hover {color:#fff;}
.c-button-find .c-button_anchor::before {
	color: #fff;
	content: "無料";
	font-size: 10px;
	font-weight: 700;
	height: 36px;
	left: clamp(5px, .5vw, 10px);
	line-height: 36px;
	position: absolute;
	text-align: center;
	text-indent: 0px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 36px;
	background: #861C13;
	background-size: cover;
	border-radius: 50%;
}
.c-button-find .c-button_anchor::after {
    content: " 　";
    background: url(./assets/images/arrow_white.svg) no-repeat right;
    background-size: 20px;
    width: 20px;
    height: 45px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
	margin:auto;
}

.c-button-find .c-button_anchor .innerHeaderBtn {position: relative;}
.c-button-find-big {
	height: clamp(48px, 6.53vw, 70px);
	max-width: clamp(380px, 36vw, 635px);
}
.c-button-find-big .c-button_anchor {
	box-shadow: 0px min(0.156vw, 3px) min(0.677vw, 13px) rgba(0, 0, 0, 0.255);
	font-size: clamp(14px, 1.679vw, 18px);
	padding: clamp(14px, 1.679vw, 18px) 0 0 0;
	text-align: center;
}
.c-button-find-big .c-button_anchor::before{display: none;}



/************************/
/*       menu btn       */
/************************/
.menu_btn{
	height: 50px;
	width: 50px;
	text-align: center;
	cursor:pointer;
	transition: all 0.3s ease-in-out 0s;
    display: none;
}
.sp_nav_btn{
	width: 50px;
	height: 50px;
	z-index: 1000;
	text-align: center;
	position: relative;
    margin: auto;
}
#panel-btn{
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: auto;
  position: absolute;
  top:0;
  bottom:0;
  left: 0;
  right: 0;
}
#panel-btn:hover{
}
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom:0;
  right:0;
  width: 100%;
  height: 2px;
  margin: auto;
  background: #333;
  transition: .2s;
}
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background: #333;
  transition: .5s;
}
#panel-btn:hover #panel-btn-icon, #panel-btn:hover #panel-btn-icon:before, #panel-btn:hover #panel-btn-icon:after{
}
#panel-btn-icon:before{
  margin-top: -8px;
}
#panel-btn-icon:after{
  margin-top: 6px;
}
#panel-btn .close, #panel-btn:hover #panel-btn-icon.close{
  background: transparent;
}
#panel-btn .close:before, #panel-btn .close:after{
  margin-top: 0;
}
#panel-btn .close:before{
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  background: #333;
}
#panel-btn .close:after{
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  background: #333;
}


/*****************/
/* banner swiper */
/*****************/
.mv__bottom {
    padding:0;
    position: relative;
}
.c-banner-box {
	column-gap: clamp(15px, 1.563vw, 30px);
	display: grid;
	grid-auto-flow: column;
	grid-template-columns: auto;
	grid-template-rows: repeat(2, clamp(43px, 4.479vw, 86px));
	padding-right: clamp(15px, 1.563vw, 30px);
	row-gap: clamp(14px, 1.406vw, 27px);
}
.c-banner-box:nth-child(1) {animation: loop01 120s -60s linear infinite forwards;}
.c-banner-box:nth-child(2) {animation: loop02 120s linear infinite forwards;}
.c-banner-box__item {
	border-radius: clamp(5px, 0.521vw, 10px);
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	overflow: hidden;
	width: clamp(131px, 13.646vw, 262px);
}
.c-banner-box-container {
	display: flex;
	overflow: hidden;
	padding: clamp(5px, 0.521vw, 10px) 0;
}






/****************/
/*    mvArea    */
/****************/
.mvArea {
	width:100%;
	background:url(./assets/images/mv_parts02.webp) no-repeat;
	background-position:75% 30px;
	padding-top:100px;
}

.mvArea>.layout {
	width:100%;
	background:url(./assets/images/mv_parts01.webp) no-repeat;
	background-position-y: 400px;
    background-position-x: 100%;
	padding-bottom:100px;
}
.mvArea .mv_contents {
	width:100%;
	max-width:1220px;
	margin:0 auto 50px;
	text-align:left;
}
.mvArea .mv_contents h1 {margin:0 auto 30px;}

.mvArea .iconArea {
	display:flex;
	justify-content: left;
	align-items: center;
	margin:0 0 30px;
	white-space: nowrap;
}

.mvArea .iconArea li {
	display:flex;
	margin: 0 20px 0 0;
	font-size:1.2em;
	font-weight:bold;
	line-height:1.4em;
	text-align:center;
}
.mvArea .iconArea li strong {
	font-size:2.3em;
	line-height:0.9em;
}
.mvArea .iconArea li::before {
	display:block;
	content:" ";
	width:2em;
	height:auto;
	background:url(./assets/images/mv_icon_left.svg) no-repeat 50% 50%;
	background-size:contain;
}
.mvArea .iconArea li::after {
	display:block;
	content:" ";
	width:2em;
	height:auto;
	background:url(./assets/images/mv_icon_right.svg) no-repeat 50% 50%;
	background-size:contain;
}

.mvArea .mv_contents p {
	display:block;
	max-width:614px;
	padding:10px 0;
	text-align:center;
	font-weight:bold;
	font-size:1.2em;
	border:solid 4px #1c1c1c;
	border-left:0;
	border-right:0;
	margin:0 0 30px;
}
.small_br {display:none;}

.textBlock {
	width:100%;
	padding:50px 0;
	text-align:center;
	font-size:2em;
	font-weight:bold;
}
.textBlock strong {
	display:inline;
	color:var(--main-blue);
}

.mvbtn {
	display:block;
	max-width:614px;
	padding:10px 0;
	text-align:center;
	margin:0;
}
.mvArea .c-button_anchor {
	display:flex;
	align-items: center;
	justify-content: center;
	max-width:500px;
	height:90px;
    background: #FF5350;
    background: linear-gradient(90deg, #FF5350 0%, #FFAD22 100%);
    color: #fff;
    padding: clamp(11px, .74vw, 15px) 22px clamp(11px, .74vw, 15px) clamp(46px, 3.5vw, 58px);
    position: relative;
    text-indent: -0.5em;
    border-radius: 100vh;
    overflow: hidden;
	font-size:1.6em;
	font-weight:bold;
	line-height:65px;
	margin:0 auto 20px;
	box-shadow: var(--shadow);
}

.mvArea .c-button_anchor::before {
    color: #fff;
    content: "無 料";
    font-size: 0.8em;
    font-weight: bold;
	width: 70px;
    height: 70px;
    left: 10px;
    line-height: 70px;
    position: absolute;
    text-align: center;
    text-indent: 0px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #B10F00;
    background-size: cover;
    border-radius: 50%;
	transform:rotate(-15deg);  
}
.mvArea .c-button_anchor::after {
	content:" 　";
	background:url(./assets/images/arrow_white.svg) no-repeat right;
	background-size:30px;
	width:30px;
	height:90px;
	position:absolute;
	top:0;
	bottom:0;
	right:30px;
	margin:auto;
}








/****************/
/*  aboutArea   */
/****************/
.aboutArea {
	width:100%;
	max-width:1220px;
	background:#fff url(./assets/images/service_bg.webp) no-repeat bottom;
	border-radius:20px;
	margin:0 auto;
	padding:60px 80px;
	box-shadow: 20px 20px 50px 0px rgba(43, 72, 98, 0.20);
}
.aboutArea .layout {
	width:100%;
	min-height:380px;
	background:url(./assets/images/service_img.webp) no-repeat right;
	background-size:36%;
}

.aboutArea h2{
	color:var(--dark-blue);
	font-size:2.4em;
	line-height:1.4em;
	font-weight:bold;
	margin:0 0 30px;
}
.aboutArea p {
	width:50%;
	margin:0 0 20px;
}
.aboutArea p strong {
	font-weight:bold;
	background:linear-gradient(transparent 60%, #ff6 60%);
}

.aboutArea .bottomArea {
	width:100%;
	border-radius:20px;
	box-shadow: 20px 20px 50px 0px rgba(43, 72, 98, 0.20);
	background:#fff;
	padding:40px 20px;
	position:relative;
}
.aboutArea .bottomArea h3 {
	display:block;
	width:186px;
	height:36px;
	background:url(./assets/images/service_tag.webp) no-repeat top left;
	position:absolute;
	top:-18px;
	left:0;
	color:#fff;
	line-height:36px;
	padding:0 0 0 30px;
}
.aboutArea .bottomArea ul {
	display:flex;
	justify-content:center;
	align-items:stretch;
}
.aboutArea .bottomArea ul li {
	display:flex;
	justify-content: center;
	align-items: center;
	padding:0 36px;
	border-right:dotted 2px var(--main-blue);
	text-align:center;
	color:var(--dark-blue);
	font-weight:500;
	font-size:1.4em;
	line-height:1.4em;
 	align-items: center;
}
.aboutArea .bottomArea ul li strong {color:var(--main-blue);}
.aboutArea .bottomArea ul li:last-child {border:none;}

.aboutArea ul li.feature01 {
	font-size:26px;
	letter-spacing:0.2em;
}
.aboutArea ul li.feature02 .text_xl {font-size:30px;}
.aboutArea ul li.feature03 {padding-top:0.7em;}
/*.aboutArea ul li.feature03 .text_xl {font-size:30px;}
.aboutArea ul li.feature04 .text_xl {font-size:26px;}
*/
.aboutArea ul li.feature05 .text_xl {font-size:30px;}







/****************/
/*   caseArea   */
/****************/
.caseArea {
	width:100%;
	padding:100px 0;
	text-align:center;
	background:#fff url(./assets/images/grad_bg.webp) repeat-x bottom;
}
.caseArea .layout {
	width:100%;
	max-width:1220px;
	margin:0 auto;
	text-align:left;
}

.caseArea h2{
	color:var(--dark-blue);
	font-size:2.4em;
	font-weight:bold;
	line-height:1.2em;
	letter-spacing:0.1em;
	margin:0;
}
.caseArea .subtitle {
	display:block;
	font-size:14px;
	font-weight:bold;
	letter-spacing:0.1em;
	margin:0 0 30px;
	color:var(--main-blue);
}
.caseArea .subtitle hr {
	display:inline-block;
	width:20px;
	height:2px;
	background: linear-gradient(to right, var(--main-blue), rgb(85, 163, 209));
	border:none;
	vertical-align:middle;
	margin:0 5px 0 0;
}

.caseArea ul {
	width:100%;
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin:0 auto 50px;
}
.caseArea ul .caseblock {
	max-width:575px;
	border-radius:20px;
	background:white;
	box-shadow: var(--shadow);
	margin-bottom:50px;
	overflow: hidden;
	cursor:pointer;
}
.caseArea .caseblock dl {
	width:100%;
	padding:20px 20px 30px;
}
.caseArea .caseblock dl dt {
	font-size:1.2em;
	font-weight:bold;
	color:var(--main-blue);
	margin:0 0 15px;
}
.caseArea .caseblock dl dd {margin:0 0 15px;}
.caseArea .caseblock dl dd.tagArea {
	width:100%;
}
.caseArea .caseblock dl dd.tagArea div {
	border:solid 1px var(--dark-blue);
	border-radius:3px;
	display:inline-block;
	padding:3px 10px 2px;
	margin:0 10px 0 0;
	font-size:0.8em;
	font-weight:bold;
	color:var(--dark-blue);
}
.caseArea .caseblock dl dd.tagArea .tag01 {background:#A1EEFF;}
.caseArea .caseblock dl dd.tagArea .tag02 {background:#FFFF67;}

.caseArea .caseblock dl dd strong {
	font-size:1.2em;
	font-weight:bold;
}
.caseArea .caseblock dl dd:last-child {text-align:center;margin:0 auto;}
.caseArea .caseblock dl dd button {
	display:inline-block;
	width:100%;
	max-width:200px;
	margin:0 auto;
	background:var(--main-blue);
	color:white;
	padding:10px 20px;
	border-radius:20px;
}






/*************/
/*   modal   */
/*************/
.open-btn {
	cursor: pointer;
	transition: opacity 0.3s ease;
}

.open-btn:hover {
	opacity:50%;}

.close-btn {
	position: absolute;
	top: 10px;
	right: 15px;
	font-size: 1.6rem;
	background: transparent;
	border: none;
	cursor: pointer;
	transition: transform 0.3s ease;
}

/* modal contents */
.modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: rgba(0, 110, 161, 0.5);
	z-index: 100;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
	backdrop-filter: blur(3px);
}

.modal.active {
	display: flex;
	opacity: 1;
	pointer-events: auto;
}

.modal-content {
	background: #fff;
	padding:0;
	border-radius: 20px;
	width: 80vw;
	max-width: 575px;
	box-shadow:var(--shadow);
	position: relative;
	opacity: 0;
	transform: scale(0.8);
	transition: all 0.3s ease;
	overflow:hidden;
}
.modal-content dl dd p {text-align:left;}

/* animation */
.modal.active .modal-content {
	animation: fadeInScale 0.4s ease forwards;
}

@keyframes fadeInScale {
	0% {
		opacity: 0;
		transform: scale(0.8);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}




















/****************/
/* databaseArea */
/****************/
.databaseArea {
	width:100%;
	text-align:center;
	padding:100px 0;
	background:url(./assets/images/database_bg.webp) repeat 50% 50%;
}
.databaseArea>h2 {
	display:flex;
	justify-content: center;
	align-items: stretch;
	font-size:1.8em;
	font-weight:bold;
	line-height:1.4em;
	color:var(--dark-blue);
	letter-spacing:0;
	position:relative;
	margin:0 auto 30px;
}
.databaseArea>h2 span.text_xl {font-size:1.2em;color:var(--dark-blue)}
.databaseArea>h2::after,
.databaseArea>h2::before {
	display:inline-block;
	content:"　";
	width:1.4em;
	height:auto;
	background-size:100% auto;
}

.databaseArea>h2::before {background:url(./assets/images/database_tit_left.svg) no-repeat right;}
.databaseArea>h2::after {background:url(./assets/images/database_tit_right.svg) no-repeat left;}

.databaseArea>.layout {
	max-width:1220px;
	padding:70px 70px 30px;
	background:#fff;
	box-shadow:var(--shadow);
	border-radius:20px;
	margin:0 auto 80px;
	text-align:left;
}
.databaseArea .contents01,
.databaseArea .contents02 {
	width:100%;
	padding:0 0 60px;
	border-bottom:dotted 1px var(--main-blue);
	margin:0 auto 60px;
}
.databaseArea h3 {
	display:block;
	padding:0 0 10px 80px;
	margin:0 auto 30px;
	color:var(--dark-blue);
	font-size:1.7em;
	font-weight:bold;
	line-height:1.2em;
	border-bottom:solid 4px var(--main-blue);
}
.databaseArea h3 span {
	font-size:16px;
	color:var(--main-blue);
}

.databaseArea .contents01 h3 {background:url(./assets/images/database_icon01.svg)no-repeat top left;}
.databaseArea .contents02 h3 {background:url(./assets/images/database_icon02.svg)no-repeat top left;}
.databaseArea .contents03 h3 {background:url(./assets/images/database_icon03.svg)no-repeat top left;}


.databaseArea ul {
	display:flex;
	flex-wrap: wrap;
}
.databaseArea ul li {
	display:flex;
	align-items: center;
	width:25%;
	padding:0 0 0 15px;
	margin:0 0 30px;
	cursor:pointer;
	background:url(./assets/images/cursor.svg) no-repeat left;
	font-size:1.1em;
}
.databaseArea .contents03 ul li {width:16.6%;}


.dataItem {
	position: relative;
}

.tooltip {
    position: absolute;
    padding: 0;
    margin: 0.3em 0 0 0;
    display: none;
    top: clamp(22.5px, 3.75vw, 45px);
    left: clamp(-60px, -10vw, -80px);
    animation-name: fade-in;
    animation-duration: 0.5s;
    z-index: 15;
}
@media screen and (max-width: 510px) {
.tooltip {
    top: 2em;
    left: 50%;
	transform: translateX(-50%);
}
}


.bl-content {
    position:relative;
    background-color: var(--main-blue);
    width: clamp(125px, 20.3vw, 250px);
    color: #fff;
    padding: clamp(7px, 1.25vw, 15px) clamp(7px, 1.25vw, 15px);
    box-sizing: border-box;
    z-index: 5;
	border-radius:10px;
	box-shadow:var(--shadow);
}
.bl-content::before {
    background: url(./assets/images/bl_top.svg) no-repeat top center;
    content: "";
	width:13px;
    height:10px;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translate(-50%, 0);
    margin-top: -10px;
    background-size: contain;
    color: #fff;
}
.bl-content p {
    font-size:0.8em;
    line-height: 1.5;
    margin-bottom:10px;
    text-align: center;
    letter-spacing: 0;
}
.bl-content p.pttl {
    font-size:1.2em;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom:5px;
    text-align: center;
}
.bl-content a {
    font-size:1em;
    color: #fff;
    font-weight: 700;
    line-height: 1em;
    background: linear-gradient(90deg, rgba(252, 82, 78, 1) 0%, rgba(255, 173, 33, 1) 79%);
    border-radius: 50px;
    width: 100%;
    height: 34px;
    display: flex;
    justify-content: center;
    align-items: center;
}








/****************/
/*  issuesArea  */
/****************/
.issuesArea {
	position:relative;
	width:100%;
	padding:100px 0 0;
	background:url(./assets/images/issues_bg_01.webp) no-repeat top;
	text-align:center;
	background-size:cover;
	border-bottom:solid 1px #fff;
	outline-offset: -5px;
	margin:0 auto 100px;
	z-index:1;
}
.issuesArea .white_arrow_bg {
	position:absolute;
	bottom:-1px;
	width:100%;
	left:0;
	right:0;
}


.issuesArea h2 {
	font-size:2.4em;
	font-weight:bold;
	color:white;
	line-height:1.4em;
	margin:0 auto 50px;
}

.issuesArea h2 strong {font-size:1.2em;}

.issuesArea .layout ul {
	display:flex;
	justify-content:center;
	align-items: end; 
	text-align:center;
	margin:0 auto;
}
.issuesArea .layout ul li {
	position:relative;
	width:220px;
	height:100%;
	text-align:center;
	margin:0 10px;
}

.issuesArea .layout ul li dl dt {
	display:flex;
	justify-content: center;
	align-items: center;
	height:8em;
	background:white;
	border-radius:10px;
	padding:20px;
	font-size:1.2em;
	font-weight:bold;
	color: var(--dark-blue);
	position:relative;
}
.issuesArea .layout ul li dl dt::after {
	width:100%;
	height:21px;
	content:" ";
	background:url(./assets/images/issues_arrow_center.svg) no-repeat top;
	position:absolute;
	bottom:-21px;
	left:0;
}
.issuesArea .layout ul li dl dd {padding:40px 0 0;}








/****************/
/*  reasonArea  */
/****************/
.reasonArea {
	width:100%;
	text-align:center;
	background:#fff url(./assets/images/grad_bg.webp) repeat-x bottom;
	padding:0 0 100px;
}
.reasonSP {display:none;}
.reasonArea h2 {
	margin:0 auto 60px;
}
.reasonArea ol li {
	max-width:1100px;
	margin:0 auto 100px;
}
.reasonArea ol li dl {
	display:flex;
	justify-content:left;
	padding:0 30px;
	margin:0 auto;
}
.reasonArea ol li dl dt {
	display:flex;
	align-items: center;
	justify-content: center;
	width:117px;
	height:117px;
	margin-right:30px;
	background:url(./assets/images/reason_icon.svg) no-repeat 50% 50%;
	font-size:3em;
	font-weight:bold;
	color:white;
}
.reasonArea ol li dl dd.contentsArea {
	width:490px;
	text-align:left;
	font-size:1.1em;
}
.reasonArea ol li dl dd h3 {
	font-size:1.5em;
	font-weight:bold;
	line-height:1.4em;
	color:var(--dark-blue);
	margin:0 auto 20px;
}
.reasonArea ol li dl dd h3 strong {
	font-size:1.2em;
	color:var(--main-blue);
}


.reasonArea .point {
	width:100%;
	margin:0 auto 100px;
}
.reasonArea .point .layout {
	width:100%;
	max-width:1220px;
	margin:0 auto;
	text-align:left;
}

.point h3{
	color:var(--dark-blue);
	font-size:2.4em;
	font-weight:bold;
	line-height:1.2em;
	letter-spacing:0.1em;
	margin:0;
}
.point h3 .text_xl {
	font-size:1.4em;
	color:var(--main-blue);
}
.point .subtitle {
	display:block;
	font-size:14px;
	font-weight:bold;
	letter-spacing:0.1em;
	margin:0 0 30px;
	color:var(--main-blue);
}
.point .subtitle hr {
	display:inline-block;
	width:20px;
	height:2px;
	background: linear-gradient(to right, var(--main-blue), rgb(85, 163, 209));
	border:none;
	vertical-align:middle;
	margin:0 5px 0 0;
}

.point ul {
	display:flex;
	justify-content: center;
	align-items: center;
	width:100%;
	border:solid 8px #CBE1E9;
	border-radius:20px;
	background:white;
	padding:40px 0;
	align-items:stretch;
}
.point ul li {
	padding:0 40px;
	border-right:dotted 1px var(--main-blue);
	text-align:center;
}
.point ul li:last-child {border-right:none;}
.point ul li dl {
	display:flex;
	align-content: space-between;
	flex-wrap: wrap;
	height:100%;
}
.point ul li dl dt,
.point ul li dl dd {width:100%;}
.point ul li dl dd {font-size:1.2em;}
.point ul li dl dd strong {color:#FF7006;}










/****************/
/* supportArea  */
/****************/
.supportArea {
	width:100%;
	padding:100px 0;
	max-width:1220px;
	margin:0 auto;
}
.imgAreaSP {display:none;}
.supportArea h2 {
	font-size:2.4em;
	line-height:1.4em;
	font-weight:bold;
	color:var(--dark-blue);
	margin:0 auto 20px;
}
.supportArea .support_block {
	width:100%;
	border-radius:20px;
	background:url(./assets/images/support_bg_top.svg) no-repeat left,
	url(./assets/images/support_bg_pc.webp) no-repeat right;
	background-size:80%,contain;
	box-shadow: var(--shadow);
}
.supportArea .support_block .layout {
	width:100%;
	padding:40px;
	color:white;
	font-weight:bold;
}
.supportArea .support_block .layout h3 {
	font-size:2.4em;
	line-height:1.4em;
	margin:0 auto 30px;
}

.supportArea .support_block .layout  strong {
	display:block;
	font-size:1.2em;
	color:#FFFF67;
	font-weight:600;
	margin:0 auto 30px;
}
.supportArea .support_block .layout p {
	width:50%;
	font-weight:400;
}

/****************/
/*  visionArea  */
/****************/
.visionArea {
	width:100%;
	margin:0 auto;
	padding:0 0 100px;
	background:url(./assets/images/grad_bg.webp) repeat-x bottom;
}

.visionArea dl {
	display:flex;
	justify-content: space-between;
	max-width:1220px;
	margin:0 auto;
	align-items: center;
}
.visionArea dl dt,
.visionArea dl dd {width:50%;}
.visionArea dl dd {padding-left:80px;}
.visionArea dl dd h2 {
	font-size:2.4em;
	font-weight:bold;
	line-height:1.4em;
	color:var(--dark-blue);
	text-align:right;
	width:100%;
	margin:0 auto 20px;
}
.visionArea dl dd h2 strong {color:var(--main-blue);}
.visionArea dl dd h2 span.text_xl {font-size:1.6em;}
.visionArea dl dd p {
	margin:0 auto 20px;
	font-size:1.2em;
}


/****************/
/*   flowArea   */
/****************/
.flowArea {
	width:100%;
	background:var(--main-blue) url(./assets/images/flow_bg.webp) no-repeat top right;
}
.flowArea .layout {
	max-width:1220px;
	margin:0 auto;
	padding:100px 0;
	color:white;
}
.flowArea h2{
	color:white;
	font-size:2.4em;
	font-weight:bold;
	line-height:1.2em;
	letter-spacing:0.1em;
	margin:0;
}

.flowArea .subtitle {
	display:block;
	font-size:14px;
	font-weight:bold;
	letter-spacing:0.1em;
	margin:0 0 30px;
	color:#00BAE3;
}
.flowArea .subtitle hr {
	display:inline-block;
	width:20px;
	height:2px;
	background: #00BAE3;
	border:none;
	vertical-align:middle;
	margin:0 5px 0 0;
}
.flowArea .layout>p {font-size:1.4em;margin:0 auto 50px;}
.flowArea ol {
	display:flex;
	justify-content: space-between;
	align-items: stretch;
}
.flowArea ol li {
	width:260px;
	border:solid 2px #fff;
	border-radius:10px;
	padding:20px;
	text-align:center;
	position:relative;
}
.flowArea ol li.step03 {
	background:white;
	color:var(--dark-blue);
}
.flowArea ol li dt {
	font-size:1.4em;
	font-weight:600;
	line-height:1.4em;
	letter-spacing:0.1em;
	text-align:left;
	margin:0 auto 30px;
	height:30px;
}
.flowArea ol li dt strong {
	font-size:1.6em;
	font-weight:400;
}
.flowArea ol li dd figure {
	margin:0 auto 20px;
}
.flowArea ol li dd h3 {
	display:block;
	width:100%;
	text-align:center;
	font-size:1.2em;
	font-weight:bold;
}
.flowArea ol li dd p {
	width:100%;
	text-align:left;
}
.flowArea ol li a {color:#FFFF67;text-decoration: underline;}
.flowArea ol li a:hover {color:#00BAE3;}

.flowArea ol li:after {
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	right:-40px;
	content:"　"
}

.flowArea ol li.step01:after,
.flowArea ol li.step03:after {background:url(./assets/images/flow_arrow.svg) no-repeat right;}
.flowArea ol li.step02:after {height:2px;background:url(./assets/images/flow_dot.svg) no-repeat right;}



/****************/
/*    faqArea   */
/****************/
.faqArea {
	width:100%;
	padding:100px 0;
	background:#F3F9FB;
	border-top:solid 1px #C7D8DD;
	text-align:center;
}

.faqArea .layout {
	max-width:1220px;
	margin:0 auto;
	text-align:left;
}

.faqArea h2{
	color:var(--dark-blue);
	font-size:2.4em;
	font-weight:bold;
	line-height:1.2em;
	letter-spacing:0.1em;
	margin:0;
}

.faqArea .subtitle {
	display:block;
	font-size:14px;
	font-weight:bold;
	letter-spacing:0.1em;
	margin:0 0 60px;
	color:var(--main-blue);
}
.faqArea .subtitle hr {
	display:inline-block;
	width:20px;
	height:2px;
	background: linear-gradient(to right, var(--main-blue), rgb(85, 163, 209));
	border:none;
	vertical-align:middle;
	margin:0 5px 0 0;
}


.faqArea ul li {
	width:1000px;
	margin:0 auto 50px;
	border-bottom:solid 1px #C7D8DD;
	padding:0 0 50px;
}
.faqArea ul li dl dt.accordion_header {
	display:flex;
	align-items: center;
	font-size:1.2em;
	font-weight:bold;
	color:var(--dark-blue);
	position:relative;
	transition-duration: 0.2s;
	cursor:pointer;
}
.faqArea ul li dl dt::after {
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	right:15px;
	content:"　";
	width:14px;
	height:8px;
	background:url(./assets/images/arroow_bottom.svg) no-repeat 50% 50%;
}
.faqArea ul li dl dt.open::after {transform: scale(1, -1);}
.faqArea ul li dl dd.accordion_inner {display: none;}
.faqArea ul li dl dd.accordion_inner .answer {
	display:flex;
	align-items:flex-start;
	font-size:1em;
	font-weight:400;
	color:var(--text);
	padding:20px 0 0;
}
.faqArea ul li dl dd p {
	width: calc(100% - 95px);
	padding-top:10px;
}
.faqArea ul li dl span {
	display:block;
	width:75px;
	height:75px;
	display:flex;
	align-items: center;
	justify-content: center;
	font-size:1.7em;
	color:white;
	margin:0 20px 0 0;
}
.faqArea ul li dl dt span {background:url(./assets/images/icon_q.svg) no-repeat 50% 50%;}
.faqArea ul li dl dd span {background:url(./assets/images/icon_a.svg) no-repeat 50% 50%;}






/****************/
/*    popup     */
/****************/
.bn_pop a {
	position:fixed;
	right:0;
	bottom:50px;
	z-index: 9999;
}
.bn_pop .sp_layout {display:none;}

.bn_pop a:hover {
	bottom:55px;
	opacity: 0.7;
}






/****************/
/*     CTA      */
/****************/
.cta {
	width:100%;
	text-align:center;
}
br.CTABR {display:none;}
.cta h2 {
	display:inline-block;
	font-size:1.6em;
	font-weight:bold;
	color:var(--dark-blue);
	letter-spacing:0;
	position:relative;
	margin:0 auto 30px;
	line-height:1.6em;
}
.cta h2 span.text_xl {font-size:1.6em;color:var(--main-blue)}
.cta h2:after,
.cta h2:before {
	position:absolute;
	top:-10px;
	content:"　";
}

.cta h2:before {left:-10px;background:url(./assets/images/cta_parts_left.svg) no-repeat 0;}
.cta h2:after {right:-20px;background:url(./assets/images/cta_parts_right.svg) no-repeat 0;}

.cta .subtitle {
	display:block;
	max-width:460px;
	padding:0 0 0 20px;
	margin:0 auto 20px;
	background:url(./assets/images/cta_text_bg_left.svg) no-repeat top left;
}

.cta .subtitle .layout {
	text-align:center;
	height:51px;
	line-height:40px;
	color:white;
	font-size:16px;
	font-weight:bold;
	padding:0 20px 0 0;
	background:url(./assets/images/cta_text_bg_right.svg) no-repeat top right;
}


.cta .c-button_anchor {
	display:flex;
	align-items: center;
	justify-content: center;
	max-width:500px;
	height:90px;
    background: #FF5350;
    background: linear-gradient(90deg, #FF5350 0%, #FFAD22 100%);
    color: #fff;
    padding: clamp(11px, .74vw, 15px) 22px clamp(11px, .74vw, 15px) clamp(46px, 3.5vw, 58px);
    position: relative;
    text-indent: -0.5em;
    border-radius: 100vh;
    overflow: hidden;
	font-size:1.6em;
	font-weight:bold;
	line-height:65px;
	margin:0 auto 20px;
	box-shadow: var(--shadow);
}

.cta .c-button_anchor::before {
    color: #fff;
    content: "無 料";
    font-size: 0.8em;
    font-weight: bold;
	width: 70px;
    height: 70px;
    left: 10px;
    line-height: 70px;
    position: absolute;
    text-align: center;
    text-indent: 0px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #B10F00;
    background-size: cover;
    border-radius: 50%;
	transform:rotate(-15deg);  
}
.cta .c-button_anchor::after {
	content:" 　";
	background:url(./assets/images/arrow_white.svg) no-repeat right;
	background-size:30px;
	width:30px;
	height:90px;
	position:absolute;
	top:0;
	bottom:0;
	right:30px;
}
.cta .blanklink {
	font-size:1em;
	font-weight:bold;
	color:var(--dark-blue);
}
.cta .blanklink:after {
	content:"　";
	width:20px;
	height:20px;
	margin:0 0 0 5px;
	background:url(./assets/images/icon_blank.svg) no-repeat right;
	background-size:100%;
}




/****************/
/*     hover   	*/
/****************/
.c-button_anchor:hover {
    opacity: 0.7;
    transition: opacity 0.4s;
}

#popupBN {
	transition: 5s;
}

@keyframes fadeIn {
  from {
    opacity: 0; /* 初期状態は透明 */
  }
  to {
    opacity: 1; /* 完全に表示された状態 */
  }
}

#popupBN {
  animation: fadeIn 1s ease-in-out; /* 2秒でフェードインするアニメーションを設定 */
}



/****************/
/* contact form */
/****************/
.contact {
	width:100%;
	margin:0 auto;
	padding:100px 0;
	background:url(./assets/images/grad_bg.webp) repeat-x bottom;
}
.contact_title {
	width:100%;
	text-align:center;
}
.contact .subtitle {
	font-size:1em;
	color:var(--main-blue);
	width:100%;
	text-align:center;
}

.contact h2 {
	display:inline;
	text-align:center;
	font-size:2.4em;
	color:var(--dark-blue);
	position:relative;
}
.contact h2 .free-tag {
	position:absolute;
	top:-40px;
	left:-55px;
}
.ob-contact-top {
	align-items: center;
	column-gap: clamp(10px, 0.833vw, 16px);
	display: flex;
	justify-content: center;
	margin-top: clamp(18px, 1.875vw, 36px);
}

.ob-contact-top__free {
	border: 1px solid #256D85;
	color: #256D85;
	display: grid;
	font-size: clamp(12px, 1.146vw, 22px);
	font-weight: 500;
	height: clamp(28px, 2.969vw, 57px);
	letter-spacing: 0.025em;
	line-height: 1;
	place-content: center;
	position: relative;
	text-align: center;
	width: clamp(58px, 6.094vw, 117px);
}

.ob-contactForm {
	margin:0 auto;
	margin-top: min(4.688vw, 90px);
    padding: min(3.958vw, 76px) min(8.698vw, 167px) min(4.583vw, 88px);
    position: relative;
    width: clamp(980px, 62.24vw, 1195px);
    border: solid 1px #ccc;
    border-radius: 20px;
    background-color: #fff;
	box-shadow: var(--shadow);
}

.ob-contactForm__block {
	align-items: center;
	column-gap: 6px;
	display: grid;
	grid-template-columns: clamp(200px, 14.792vw, 284px) 1fr;
	margin-bottom: clamp(22px, 2.24vw, 43px);
}

.ob-contactForm__block .item {
	font-size: 16px;
	line-height: 1.4375;
}

.ob-contactForm__block .item-nameBlock {
	column-gap: 16px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.ob-contactForm__block .item-overview .placeholder {
	color: #BABABA;
	font-size: clamp(16px, 1.146vw, 22px);
	left: 25px;
	letter-spacing: 0.025em;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 23px;
	width: 82%;
}

.ob-contactForm__block .item-overview .placeholder.is-show {
	opacity: 1;
}

.ob-contactForm__block .item-file {
	align-items: center;
	display: flex;
}

.ob-contactForm__block .item-file .label {
	background: #EEEEEE;
	border: 1px solid #747373;
	border-radius: 8px;
	color: #2C2B2B;
	cursor: pointer;
	display: block;
	font-size: 16px;
	height: 43px;
	line-height: 43px;
	text-align: center;
	width: 180px;
}

.ob-contactForm__block .item-file .filename {
	margin-left: 15px;
}

.ob-contactForm__block .item .form-text {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background: #E7F3FF;
	background-image: none;
	border: 1px solid #D8D6D6;
	border-radius: 8px;
	box-shadow: inset 0px 0px 10px rgba(0, 65, 130, 0.3);
	color: inherit;
	font-family: inherit;
	font-size: clamp(16px, 1.146vw, 22px);
	height: clamp(52px, 3.49vw, 67px);
	padding: 10px 22px;
	width: 100%;
}

.ob-contactForm__block .item .form-text:focus {
	background: #fff;
	outline: none;
}

.ob-contactForm__block .item .form-text::placeholder {
	color: #BABABA;
	font-size: clamp(16px, 1.146vw, 22px);
	letter-spacing: 0.025em;
}

.ob-contactForm__block .item .form-textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background: #E7F3FF;
	background-image: none;
	border: 1px solid #D8D6D6;
	border-radius: 8px;
	box-shadow: inset 0px 0px 10px rgba(0, 65, 130, 0.3);
	color: inherit;
	font-family: inherit;
	font-size: clamp(16px, 1.146vw, 22px);
	height: 332px;
	line-height: 1.2;
	padding: 23px 25px;
	width: 100%;
}

.ob-contactForm__block .item .form-textarea:focus {
	background: #fff;
	outline: none;
}

.ob-contactForm__block .item .form-button {
	display: none;
}

.ob-contactForm__line {
	background: #BAB8B8;
	display: block;
	height: 1px;
	margin-top: 41px;
	width: 100%;
}

.ob-contactForm__agree {
	color: #3A3A3A;
	font-size: clamp(14px, 0.938vw, 18px);
	letter-spacing: 0.025em;
	line-height: 1.4375;
	margin-top: 46px;
	text-align: center;
}

.ob-contactForm__agree a {
	color:var(--main-blue);
	transition: opacity 0.4s;
}

.ob-contactForm__agree a:hover {
	opacity: 0.7;
	transition: opacity 0.4s;
}

.ob-contactForm__submit {
	left: 3px;
	margin: 31px auto 0;
	text-align:center;
}

.ob-contact-form-title {
	align-items: center;
	column-gap: 6px;
	display: flex;
	position: relative;
}

.ob-contact-form-title .mark {
	border: 1px solid #6E6E6E;
	border-radius: 16px;
	color: #3A3A3A;
	display: grid;
	flex-shrink: 0;
	font-size: clamp(10px, 0.781vw, 15px);
	height: clamp(16px, 1.667vw, 32px);
	letter-spacing: 0.02em;
	place-content: center;
	position: relative;
	text-align: center;
	width: clamp(28px, 2.969vw, 57px);
}

.ob-contact-form-title .mark.required {
	border-color: #FF6A46;
	color: #FF6A46;
}

.ob-contact-form-title .label {
	font-size: clamp(16px, 1.146vw, 22px);
	font-weight: 500;
	letter-spacing: 0.025em;
	line-height: 1.681;
}

.ob-contact-form-title .label--sm {
	font-size: 0.8em;
}

.ob-contact-form-title--sm .label {
	font-size: clamp(14px, 1.042vw, 20px);
	line-height: 1.6;
}

.ob-contact-form-title--overview {
	align-self: flex-start;
	padding-top: clamp(16px, 1.146vw, 22px);
}

.ob-contact-form-title--overview .mark {
	align-self: flex-start;
}


/* accordion */
.ob-contactAccordion {
	pointer-events: none;
}

.ob-contactAccordion.is-folding {
	background: #FFFFFF;
	border-radius: 5px;
	box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
	cursor: pointer;
	left: -28px;
	padding: 22px 30px 25px 25px;
	pointer-events: auto;
	width: calc(100% + 56px);
}

.ob-contactAccordion.is-folding::before {
	opacity: 1;
	transition: opacity 0.3s;
}

.ob-contactAccordion.is-folding .ob-contactAccordion__label {
	height: auto;
	opacity: 1;
	transition: opacity 0.3s;
}

.ob-contactAccordion.is-folding + .ob-contactAccordion__inner {
	display: none;
	transform: scaleY(0);
	transform-origin: top left;
}

.ob-contactAccordion.is-folding .ob-contactAccordion__close {
	display: none;
}

.ob-contactAccordion::before {
	background: url(./assets/images/arrow-bottom.svg) no-repeat center center/contain;
	content: "";
	height: 16px;
	opacity: 0;
	position: absolute;
	right: 69px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
}

.ob-contactAccordion__label {
	font-size: 16px;
	height: 0;
	line-height: 1.3;
	opacity: 0;
	pointer-events: none;
}

.ob-contactAccordion__label .attention {
	display: block;
	font-size: 15px;
	letter-spacing: 0.025em;
	line-height: 1.25;
	margin-top: 7px;
	padding-left: clamp(35px, 3.385vw, 65px);
}

.ob-contactAccordion__inner {
	display: block;
	pointer-events: auto;
	transform: scaleY(1);
	transform-origin: top left;
	transition: transform 0.8s ease 0.1s;
}

.ob-contactAccordion__close {
	background: rgba(255, 255, 255, 0.3);
	border: 1px solid #C7C6C6;
	border-radius: 4px;
	bottom: 20px;
	cursor: pointer;
	height: 40px;
	pointer-events: auto;
	position: absolute;
	right: 0;
	width: 40px;
}

.ob-contactAccordion__close::before {
	background: url(./assets/images/arrow-bottom.svg) no-repeat center center/contain;
	content: "";
	height: 60%;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) scaleY(-1);
	width: 60%;
}


.c-button__anchor {
	background:#FF7006;
	font-size:1.4em;
	font-weight:600;
	color:#fff;
	outline:none;
	padding:15px 30px;
	border-radius:10px;
	margin:0 auto 20px;
	box-shadow: var(--shadow-short);
}

.c-button:hover {
    opacity: 0.8;
    transition: opacity 0.3s;
}


@media screen and (max-width: 560px) {
.c-button__anchor {
	font-size:1em;
}
}














/* footer */
footer {
	display:flex;
	justify-content: center;
	align-items: stretch;
	padding:20px 0;
	border-top: solid 1px #C7D8DD;
}
footer ul {
	display:flex;
	margin:0 20px; 
	flex-wrap: wrap;
	font-size:0.9em;
	line-height:1em;
}
footer ul li {
	padding:0 1em 0 0;
	margin:0 1em 1em 0;
	border-right:solid 1px #C7D8DD;
}
footer ul li a {
	color:#00bae3;
}
footer ul li a:hover {
    color: #0095b6;
}

footer .group {
	text-align:right;
	font-size:0.8em;
	line-height:1.2em;
}
footer .group small {font-size:1em;}


@media screen and (max-width: 1180px) {
footer {
	display:block;
	margin:0 auto;
	text-align:center;
}
footer ul {justify-content: center;}
footer .group {text-align:center;}
}

@media screen and (max-width: 780px) {
	footer ul,
	footer .group img,
	footer .group p {display:none;}
}
@media screen and (max-width: 560px) {
	footer {padding-bottom: 20%;}
}




.pc {display:inherit;}
.sp {display:none;}

/**************/
/* Responsive */
/**************/
@media screen and (max-width: 1180px) {
.sp {display:inherit;}
.pc {display:none;}
}





/* mvArea */
@media screen and (max-width: 1180px) {
body {background-size:200%;padding-top:60px;}
.mvArea {
	background-position:140% 20px;
	background-size: 80%;
}
.mvArea>.layout {background-size:30%;padding-bottom:50px;}
.mvArea .mv_contents {
    margin: 0 0 50px;
    padding: 0 20px;
	width:65%;
}
.mvArea .mv_contents h1 {margin:0;}
.mvArea .iconArea {
	margin:0 auto 20px;
	justify-content: space-around;
	font-size:0.8em;
}


.mvArea .mv_contents .mvbtn {display:none;}
.mvArea .mv_contents p {
	font-size:1em;
	border: solid 3px #1c1c1c;
	border-left:none;
	border-right:none;
}
.mvbtn {width:90%;margin:0 auto;}
.mvbtn a {font-size:0.8em;}
}





@media screen and (max-width: 960px) {
	.mvArea {padding-top:50px;}
}




@media screen and (max-width: 840px) {
.mvArea>.layout {
	background-position-y:150px;
}
.mvArea .mv_contents {margin:0 0 10px;}
.mvArea .iconArea {font-size:0.6em;}

}




@media screen and (max-width: 610px) {
    main#top::before {
        content: " ";
        height: 260px;
        width: 100%;
        background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
        display: block;
        position: absolute;
        top: -60px;
        left: 0;
    }

.mvArea {
	padding-top:20px;
	background-position: 100% 120px;
}
.mvArea .mv_contents {
	position:relative;
	padding-top:35%;
}
.mvArea .mv_contents h1 {
	position:absolute;
	top:0;
	width:140%;
}
.mvArea .iconArea {font-size:0.6em;}
.mvArea .iconArea li {margin:0 5px 0 0;}
.mvArea .mv_contents p {font-size:0.9em;}

}



@media screen and (max-width: 510px) {
.mvArea {
	background-position:130% 126px;
}
.mvArea .mv_contents {
	width:70%;
	padding: 35% 0 0 20px;
	margin:0;
}
.mvArea .mv_contents h1 {
	width:130%;
	left:10px;
}
.mvArea .iconArea {
	font-size:0.6em;
}
.mvArea .iconArea {margin:0 auto;}
.mvArea .iconArea li {margin:0 5px 10px;}

.mvArea .mv_contents p {
	margin:0 0 10px;
	border: solid 2px #1c1c1c;
	border-left:none;
	border-right:none;
	text-align:left;
}
.small_br {display:inherit;}




}

@media screen and (max-width: 420px) {
.mvArea .iconArea {
	font-size:0.6em;
	flex-wrap: wrap;
}
}


/* aboutArea */
@media screen and (max-width: 1180px) {
.aboutArea {width:90%;padding:30px;}


.bottomArea {zoom:0.8;}	
}
@media screen and (max-width: 980px) {
.bottomArea {zoom:0.7;}	
}
@media screen and (max-width: 880px) {
.aboutArea .bottomArea{padding:40px 30px 20px;}
.aboutArea .bottomArea h3 {
	width:240px;
	height:45px;
	line-height:45px;
	background-size:100%;
	padding:0 0 0 40px;
	top:-25px;
}
.aboutArea .bottomArea ul {
	flex-wrap: wrap;
	justify-content:space-between;
}

.aboutArea .bottomArea ul li {
	width:49%;
	padding:20px 10px;
	border:none;
	background:#F3F9FB;
	border-radius:5px;
	margin:0 0 20px;
}
.aboutArea .bottomArea ul li:last-child {}
.aboutArea .bottomArea ul li br {display:none;}

.textBlock {font-size:1.4em;padding:30px 20px;}
.textBlock br {display:none;}
.aboutArea h2 {font-size:1.4em;margin:0 auto 10px;}
.aboutArea p {margin:0 0 10px;}
}


@media screen and (max-width: 660px) {
.aboutArea {padding:15px;}
.aboutArea .layout {
	background-position: 50% 20%;
    background-size: 80%;
    padding-top: 98%;
    margin: 0 auto 30px;
    position: relative;
}
.aboutArea h2 {
	position:absolute;
	top:0;
	font-size:1.3em;
}
.aboutArea h2 br {display:none;}
.aboutArea p {width:100%;}
.aboutArea .bottomArea {padding:30px 15px 10px;}
.aboutArea .bottomArea ul li {
	width: 100%;
	min-height:40px;
	padding: 15px 10px;
	background: #F3F9FB;
	margin: 0 0 10px;
	font-size:1em;
}
.aboutArea ul li.feature01 .text_xl {font-size:1.2em;}
.aboutArea ul li.feature02 .text_xl {font-size:1.2em;}
.aboutArea ul li.feature03 .text_xl {font-size:1.2em;}
.aboutArea ul li.feature04 .text_xl {font-size:1.2em;}
.aboutArea ul li.feature05 .text_xl {font-size:1.2em;}
}


/* caseArea */
@media screen and (max-width: 1180px) {
.caseArea {padding:50px 20px;}
.caseArea .layout h2 {font-size:2em;}
.caseArea ul .caseblock {width:49%;margin-bottom:20px;}


}

@media screen and (max-width: 880px) {
.caseArea .caseblock dl dd strong {font-size:0.8em;}
.caseArea .caseblock dl {padding:0 15px 15px;}
.caseArea .caseblock dl dt {margin:0 0 5px;font-size:1em;}
.caseArea .caseblock dl dd {line-height:1.2em;margin:0 auto 10px;}
.caseArea .caseblock dl dd.tagArea {zoom:0.8;margin:0 0 5px;}
.caseArea .caseblock dl dd.tagArea div {font-size:0.7em;}
.modal-content dl dd p {font-size:0.8em;}
}
@media screen and (max-width: 660px) {
.caseArea .layout h2 {font-size:1.4em;}
.caseArea .subtitle {font-size:0.8em;margin:0 auto 10px;}
.caseArea ul {margin:0 auto 20px;}
.caseArea .caseblock dl dd.tagArea div {margin-bottom:10px;}

}
@media screen and (max-width: 560px) {
.caseArea ul .caseblock {
width:100%;
}
}


/* databaseArea */
@media screen and (max-width: 1180px) {
.databaseArea {padding:50px 20px;}
.databaseArea .layout {padding:30px;}
.databaseArea ul li {
	font-size:0.9em;
	width:33%;
}
}

@media screen and (max-width: 920px) {
.databaseArea .contents03 ul li {width:25%;}
}

@media screen and (max-width: 880px) {
.databaseArea>.layout {padding:20px 20px 0;margin:0 auto 40px;}
.databaseArea>h2 {font-size:1.6em;margin:0 auto 10px;}

.databaseArea .contents01,
.databaseArea .contents02 {padding:0 0 20px;margin:0 0 30px;}
}

@media screen and (max-width: 660px) {
.databaseArea>h2 {font-size:1.2em;}
.databaseArea>h2::before,
.databaseArea>h2::after {
	background-size: contain;
}
.databaseArea h3 {
	font-size:1.4em;
	line-height:1em;
	padding:0 0 10px 60px;
}
.databaseArea h3 span {font-size:0.6em;}
.databaseArea .contents01 h3,
.databaseArea .contents02 h3,
.databaseArea .contents03 h3 {background-size:50px auto;}
.databaseArea .contents03 ul li {width:33%;}

}

@media screen and (max-width: 560px) {
.databaseArea ul li {width:50%;margin:0 0 20px;font-size:0.8em;}
.databaseArea .contents03 ul li {width:50%;}
}


/* issuesArea */
@media screen and (max-width: 1180px) {
.issuesArea {
	padding:50px 0 0;
}
.issuesArea h2 {font-size:1.7em;}
.issuesArea .layout ul {
	justify-content: space-around;
}
.issuesArea .layout ul li {width:200px;margin:0 5px;}
.issuesArea .layout ul li dl dt {font-size: 1em;}
.issuesArea .layout ul li dl dt br {display:none;}
.issuesArea .layout ul li dl dd img {width:90%;}
}

@media screen and (max-width: 880px) {
.issuesArea .layout ul {flex-wrap: wrap;}
.issuesArea .layout ul li {
	width:200px;
	margin:0 5px 20px;
}
.issuesArea .layout ul li dl dd img {width:60%;}
}


@media screen and (max-width: 660px) {
.issuesArea {margin:0 auto 40px;}
.issuesArea .layout {background:none;}
.issuesArea h2 {font-size:1.2em;margin:0 auto 20px;}

.issuesArea .layout ul li {
	width:45%;
	font-size: 1em;
}

.issuesArea .layout ul li br {display:none;}
}





/* reasonArea */
@media screen and (max-width: 1180px) {
.reasonArea ol li dl dt {
	width: 58px;
    height: 58px;
	margin-right: 10px;
	font-size: 1.4em;
	background-size: 100%;
}
.reasonArea ol li dl dd h3 {font-size:1.2em;}
.reasonArea .point .layout {padding:0 20px;}
.point h3 {font-size:1.6em;}
.point .subtitle {font-size:0.8em;}
.point ul {
	paddin:30px 0;
	zoom:0.8;
}
.point ul li {margin:0;}
}




@media screen and (max-width: 880px) {
.reasonArea {padding:0 0 50px;}
.reasonArea .point {margin:0 auto 30px;}
.reasonArea ol li dl dd.contentsArea {width:400px;}
.reasonArea ol li dl dd p {font-size:0.8em;}
.point .subtitle {margin:0 auto 10px;}
.point ul {display:block;zoom:1;padding:20px;}
.point ul li {
	border-bottom:dotted 1px var(--main-blue);
	border-right:none;
	padding:0 0 15px;
	margin:0 0 15px;
}
.point ul li:last-child {border:none;margin:0;padding:0;}
.point ul li dl {align-items:center;flex-wrap: nowrap;}
.point ul li dl dt {width:25%;}
.point ul li dl dd {width:75%;text-align:left;}
.point ul li dl dd br {display:none;}
}
@media screen and (max-width: 660px) {
.reasonArea h2 {margin:0 auto 30px;}
.reasonArea h2 img {width:60%;}
.reasonArea ol li {margin:0 auto 50px;}
.reasonArea ol li dl {display:block;}
.reasonArea ol li dl dt {display:none;}
.reasonArea ol li dl dd h3 {
	position:relative;
	display:block;
	padding:0 0 0 70px;
}

.reasonSP {
	position:absolute;
	top:0;
	left:0;
	display:flex;
	align-items: center;
	justify-content: center;
	width:58px;
	height:58px;
	background:url(./assets/images/reason_icon.svg) no-repeat 50% 50%;
	font-size:1.4em;
	font-weight:bold;
	color:white;
	background-size: 100%;
}
.reasonArea ol li dl dd.contentsArea {
	display:block;
	width:100%;
	margin:0 auto 20px;
}
.reasonArea ol li dl dd h3 strong {font-size:1em;}
.reasonArea ol li dl dd img {width:70%;}
.point .subtitle {margin:0 auto 10px;}

}


/* supportArea */
@media screen and (max-width: 880px) {
.supportArea {padding:50px 0;}
.supportArea h2 {font-size:1.6em;width:90%;margin:0 auto 20px;}
.supportArea .subtitle {font-size:0.8em;}
.supportArea .support_block {
	width:90%;
	margin:0 auto;
	background:#2994C5;
	background-size:auto 50%;
}
.supportArea .support_block .layout {padding:20px;}
.supportArea .support_block .layout h3 {font-size:1.6em;margin-bottom:10px;}
.supportArea .support_block .layout strong {font-size:1em;}
.supportArea .support_block .layout strong,
.supportArea .support_block .layout p {width:100%;margin-bottom:10px;}
.supportArea .imgAreaSP {
	display:block;
	border-radius:20px 20px 0 0;
	overflow: hidden;
}
.supportArea .imgAreaSP img {vertical-align:bottom;}
}

@media screen and (max-width: 560px) {
.supportArea .support_block .layout h3 {font-size:1.3em;}
}


/* visionArea */
@media screen and (max-width: 880px) {
.visionArea {padding:0 0 50px;}
.visionArea dl {
	width:90%;
	display:block;
}
.visionArea dl dt,
.visionArea dl dd {width:100%;text-align:center;padding:0;}
.visionArea dl dd h2 {
	font-size:1.6em;
	text-align:center;
}
.visionArea dl dt {padding-bottom:20px;}
.visionArea dl dd p {font-size:1em; text-align:left;}
}

@media screen and (max-width: 560px) {
.visionArea dl dd h2 {font-size:1.4em;}
}





/* flowArea */
@media screen and (max-width: 1180px) {
.flowArea .layout {padding:50px 20px;}
.flowArea h2 {font-size:2em;}
.flowArea ol {zoom:0.8;}

}

@media screen and (max-width: 880px) {
.flowArea h2 {font-size:1.6em;}
.flowArea .subtitle {font-size:0.8em;}
.flowArea ol li {margin-right:20px;}
.flowArea ol li:after {right:-18px;}
.flowArea .layout>p {font-size:1em;}
}

@media screen and (max-width: 660px) {
.flowArea ol {
	display:block;
	zoom:1;
	padding:0 20px;
}
.flowArea ol li {
	width:100%;
	max-width:450px;
	margin:0 auto 40px;
}
.flowArea ol li:last-child {margin-bottom:0;}
.flowArea ol li.step02:after {height:auto;}
.flowArea ol li:after {
    position: absolute;
    top: inherit;
    transform: translatex(-50%);
    right: 50%;
    content: "　";
    bottom: -34px;
	transform: rotate(90deg);
}

.flowArea ol li dl dt {font-size:1.2em;margin:0 auto 10px;}

}



/* faqArea */
@media screen and (max-width: 1180px) {
.faqArea {padding:50px 0;}
.faqArea .layout {width:90%;margin:0 auto 20px;}
.faqArea h2 {font-size:2em;}
.faqArea .subtitle {margin:0 auto 20px;}
.faqArea ul li {
	width:100%;
	margin:0 auto 30px;
	padding:0 0 30px;
}
.faqArea ul li dl {width:100%;}
.faqArea ul li dl dt.accordion_header {font-size:1em;word-break:break-all; }
.faqArea ul li dl dt span {background-size:40px;width:40px;height:40px;}
.faqArea ul li dl dd span {background-size:35px;width:35px;height:35px;}
}
@media screen and (max-width: 880px) {
.faqArea {padding:50px 0 0;}
.faqArea .layout {margin:0 auto 0;}
.faqArea h2 {font-size:1.6em;}
.faqArea .subtitle {font-size:0.8em;}
.faqArea ul li:last-child {margin:0 auto 0;border-bottom:none;}
}
@media screen and (max-width: 660px) {
.faqArea ul li dl span {margin-right:10px;}
.faqArea ul li dl dt div {flex: 1;padding-right:30px;}
.faqArea ul li dl dd p {
    width: 100%;
    padding-top: 10px;
    flex: 1;
}
}
 





/* popup */
@media screen and (max-width: 560px) {
.bn_pop a {
	position:fixed;
	right:0;
	bottom:0;
	width:100%;
	height:auto;
	vertical-align:bottom;
}
.bn_pop a img {width:100%;height:auto;}
.bn_pop .sp_layout {display:block;}
.bn_pop .pc_layout {display:none;}
.bn_pop a:hover {bottom:0;}

}







/* CTA */
@media screen and (max-width: 880px) {
.cta {}
.cta h2 {
	font-size:1.5em;
	line-height:1.6em;
	margin:0 auto 20px;
}
}
@media screen and (max-width: 560px) {
br.CTABR {display:inherit;}
.cta h2::before {left:-10px;top:-5px;background-size:40%;}
.cta h2::after {right:-16px;top:-5px;background-size:40%;}
.cta h2 span.text_xl {font-size:1.4em;}
.cta .subtitle {margin:0 auto 10px;padding:0 0 0 30px;}
.cta .subtitle .layout {font-size:13px;overflow: hidden;}
.reasonArea .cta {padding:0px 20px;}

.cta .c-button_anchor,
.mvArea .c-button_anchor {
	height:60px;
	font-size:1.2em;
	line-height:40px;
}
.cta .c-button_anchor::before,
.mvArea .c-button_anchor::before {
	width:46px;
	height:46px;
	line-height:46px;
	left:8px;
}
.cta .c-button_anchor::after,
.mvArea .c-button_anchor::after {
	background-size:20px;
	height:60px;
	right:24px;
}



}
















@media screen and (min-width: 836px) {
.case__slide__item a:hover .thumbnail img {
	transform: translate(-50%, -50%) scale(1.1);
	transition: transform 0.4s;
}
.case__slide__item a:hover .thumbnail.voice06 img {transform: translate(-50%, -50%) scale(1.1, 1.2);}
}


@media screen and (max-width: 1080px) {
.l-header {
	height: 80px;
	padding-left: 10px;
	padding-right: 10px;
}
.l-nav {column-gap: 10px;}
.l-nav__item {font-size: 10px;}
.contact__inner {width: 800px;}

}





/*
@media screen and (max-width: 835px) {
*/
@media screen and (max-width:1080px) {
.c-button-search--nav {
	background: transparent linear-gradient(94deg, #ff5252 0%, #ffe607 100%) 0% 0% no-repeat padding-box;
	height: 100%;
	width: 100%;
}
.c-button-search__anchor--nav {font-size: 16px;}
.c-heading {font-size: 14px;}
.c-catch-copy {font-size: 20px;}
.l-header {height: 60px;margin:0 auto 20px;}


.l-header__nav {
	height: auto;
	left: 0;
	position:absolute;
	top: 60px;
	transform: scaleY(0);
	transform-origin: top left;
	transition: transform 0.5s;
	width: 100%;
}

.l-header__nav.is-open {
	transform: scaleY(1);
	transition: transform 0.5s;
}

.l-nav {
	row-gap: 0;
	column-gap: 0;;
}
.l-nav_item {
	border-bottom: 1px solid #fff;
	font-size: 15px;
	height: auto;
	line-height: 1em;
	text-align: center;
	width: 100%;
	margin: 0 auto;
	padding: 20px;
}

.l-nav_item .c-button_anchor {
	font-size:1.2em;
	height:45px;
	line-height:25px;
}
.l-header__button {
	display: block;
	height: 29px;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 38px;
}

.l-header__button__box {
	display: block;
	height: 13px;
	position: relative;
	width: 100%;
}

.l-header__button__box .line {
	background: #282828;
	display: block;
	height: 2px;
	position: absolute;
	transform-origin: right;
	transition: all 0.4s;
	width: 38px;
}

.l-header__button__box .line-01 {
	top: 0;
	transform: none;
}

.l-header__button__box .line-02 {
	top: 5px;
	transform: none;
}

.l-header__button__box .line-03 {
	top: 10px;
	transform: none;
}

.l-header__button__label {
	display: block;
	font-size: 10px;
	font-weight: 500;
	height: 13px;
	letter-spacing: 0.24em;
	margin-top: 6px;
	position: relative;
	text-indent: 0.24em;
	width: 100%;
}
.l-header__button__label::after {
	color: #282828;
	content: "MENU";
	font-size: 90%;
	height: 100%;
	left: 0;
	position: absolute;
	text-align: center;
	top: 0;
	width: 100%;
}
.l-header__button.is-open .l-header_button_box .line {
	transform-origin: right;
	transition: all 0.4s;
}
.l-header__button.is-open .l-header__button__box .line-01 {transform: rotate(-15deg);}
.l-header__button.is-open .l-header__button__box .line-02 {opacity: 0;}
.l-header__button.is-open .l-header__button__box .line-03 {transform: rotate(15deg);}
.l-header__button.is-open .l-header__button__label {text-indent: 0;}
.l-header__button.is-open .l-header__button__label::after {content: "CLOSE";}

.l-nav {
	background: #EEF1F2;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	flex-direction: column;
	height: auto;
	justify-content: flex-start;
	width: 100%;
}

.l-nav__item {
	border-bottom: 1px solid #fff;
	font-size: 15px;
	height: 50px;
	line-height: 48px;
	text-align: center;
	width: 100%;
}

.l-nav__search {
	height: 50px;
	top: auto;
}

.l-search__inner {
	left: auto;
}









.contact::before {
	height: 100%;
	top: auto;
}

.contact__inner {
	border-radius: 0;
	padding: 43px 0 0;
	width: 100%;
}





.ob-contact-top .c-catch-copy {
	font-size: 24px;
}

.ob-contactForm {
	margin: 17px auto 0;
	max-width: 100%;
	padding-bottom: 61px;
	width: 89.333%;
}

.ob-contactForm__block {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	margin-bottom: 13px;
}

.ob-contactForm__block .item {
	font-size: 14px;
	width: 100%;
}

.ob-contactForm__block .item-nameBlock {
	column-gap: 15px;
}

.ob-contactForm__block .item-overview .placeholder {
	color: #858484;
	font-size: 14px;
	left: 9px;
	top: 15px;
}

.ob-contactForm__block .item-file .label {
	font-size: 12px;
	height: 30px;
	line-height: 30px;
	width: 125px;
}

.ob-contactForm__block .item-file .filename {
	font-size: 12px;
}

.ob-contactForm__block .item .form-text {
	border-radius: 5px;
	height: 45px;
	padding: 9px;
}

.ob-contactForm__block .item .form-text::placeholder {
	color: #858484;
	font-size: 14px;
}

.ob-contactForm__block .item .form-textarea {
	border-radius: 5px;
	height: 250px;
	padding: 15px 9px;
}

.ob-contactForm__line {
	margin-top: 70px;
}

.ob-contactForm__agree {
	font-size: 14px;
	line-height: 1.8;
	margin-top: 39px;
}

.ob-contactForm__submit {
	margin-top: 31px;
}

.ob-contact-form-title {
	font-size: 14px;
	margin-bottom: 6px;
}

.ob-contact-form-title .label {
	line-height: 1.25;
}

.ob-contact-form-title--overview {
	margin-bottom: 6px;
	padding-top: 0;
}

.ob-contactAccordion {
	margin-top: 30px;
}

.ob-contactAccordion.is-folding {
	border-radius: 5px;
	left: auto;
	padding: 28px 9px;
	width: 100%;
}

.ob-contactAccordion::before {
	right: 11px;
	top: calc(50% - 20px);
	transform: translateY(-50%) scale(0.6);
}

.ob-contactAccordion__label {
	font-size: 14px;
	line-height: 1.25;
}

.ob-contactAccordion__label .attention {
	font-size: 10px;
}

}


@media screen and (max-width: 880px) {
.contact {padding:70px 0 40px;}
.contact h2 {font-size:1.6em;}
.contact .subtitle {font-size:0.8em;}
.c-button {height:auto;}

}




@media screen and (max-width: 480px) {

.is-sp {
	display: block;
}

}



@media screen and (max-width: 374px) {

.l-search {
	font-size: 12px;
}


.ob-contactAccordion::before {
	bottom: 3px;
	right: 3px;
	top: auto;
	transform: scale(0.6);
}

}







@keyframes loop01 {
from {transform: translateX(100%);}
to {transform: translateX(-100%);}
}

@keyframes loop02 {
from {transform: translateX(0);}
to {transform: translateX(-200%);}
}




