@charset "utf-8";

/*共通枠*/

* {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

body {
	background-color: #fff;
	line-height: 1;
	color: #222;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

@media screen and (max-width: 1024px) {
body {
	background: url(../img/top_back02_sp.png) right top -500px no-repeat;
	background-size: 100% auto;
}

}
@media screen and (max-width: 900px) {
body {
	background: url(../img/top_back02_sp.png) right top -280px no-repeat;
	background-size: 100% auto;
}

}
@media screen and (max-width: 700px) {
body {
	background: url(../img/top_back02_sp.png) right top -170px no-repeat;
	background-size: 100% auto;
}

}
@media screen and (max-width: 500px) {
body {
	background: url(../img/top_back02_sp.png) right top -70px no-repeat;
	background-size: 100% auto;
}

}
@media screen and (max-width: 375px) {
body {
	background: url(../img/top_back02_sp.png) right top  -35px no-repeat;
	background-size: 100% auto;
}

}

body.is-menuOpen {
	position: fixed;
	width: 100%;
}

img {
	border:0;
	vertical-align:bottom;
}

*:focus {
	outline: none;
}

a {
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	cursor: pointer;
	text-decoration: none;
}
.nolink {
    pointer-events: none;
}

/* 共通
======================================================*/

.container {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
}
.container_1200 {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.container_wrap {
	padding: 0 156px;
}

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

.container_wrap {
	padding: 0 100px;
}

}

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

.container_wrap {
	padding: 0 60px;
}

}

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

.container_wrap {
	padding: 0 30px;
}

}

@media screen and (max-width: 599px) {
.container_wrap {
	padding: 0 16px;
}
}

@media screen and (max-width: 359px) {
.container_wrap {
	padding: 0 15px;
}
}

.block1300 { display: none; }
@media screen and (max-width: 1300px) {
.block1300 { display: block; }
}
.block1200 { display: none; }
@media screen and (max-width: 1200px) {
.block1200 { display: block; }
}
.block1100 { display: none; }
@media screen and (max-width: 1100px) {
.block1100 { display: block; }
}
.block1024 { display: none; }
@media screen and (max-width: 1024px) {
.block1024 { display: block; }
}
.block999 { display: none; }
@media screen and (max-width: 999px) {
.block999 { display: block; }
}
.block900 { display: none; }
@media screen and (max-width: 900px) {
.block900 { display: block; }
}
.block800 { display: none; }
@media screen and (max-width: 800px) {
.block800 { display: block; }
}

.block768 { display: none; }
@media screen and (max-width: 768px) {
.block768 { display: block; }
}

.block599 { display: none; }
@media screen and (max-width: 599px) {
.block599 { display: block; }
}

.block374 { display: none; }
@media screen and (max-width: 374px) {
.block374 { display: block; }
}

.block359 { display: none; }
@media screen and (max-width: 359px) {
.block359 { display: block; }
}

@media screen and (max-width: 1300px) {
.none1300 { display: none; }
}

@media screen and (max-width: 1200px) {
.none1200 { display: none; }
}

@media screen and (max-width: 1024px) {
.none1024 { display: none; }
}

@media screen and (max-width: 999px) {
.none999 { display: none; }
}

@media screen and (max-width: 900px) {
.none900 { display: none; }
}

@media screen and (max-width: 800px) {
.none800 { display: none; }
}

@media screen and (max-width: 768px) {
.none768 { display: none; }
}

@media screen and (max-width: 599px) {
.none599 { display: none; }
}

@media screen and (max-width: 374px) {
.none374 { display: none; }
}

.anchor {
	padding-top: 120px;
	margin-top: -120px;
	display: block;
	position: relative;
	z-index: -1;
}

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

.anchor {
	padding-top: 120px;
	margin-top: -120px;
}

}

/* clearfix：float対策
======================================================*/

.clear:after {
	content: "";
	display: block;
	clear: both;
}
 
.clear:before {
　　　　content: "";
	display: block;
	clear: both;
}
 
.clear {
	display: block;
}

/* header
======================================================*/

.top_logo {
	aspect-ratio: 515 / 336;
	width: 515px;
	width: 26.8%;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
	text-align: right;
	z-index: 998;
}
.top_logo div {
	position: relative;
	aspect-ratio: 515 / 336;
	width: 100%;
	font-weight: 700;
	font-size: 33px;
	font-size: 1.7vw;
}
.top_logo img {
	width: 70.5%;
	height: auto;
	position: absolute;
	right: 0;
	bottom: 1.5em;
}
.top_logo span {
	display: block;
	color: #000;
	letter-spacing: 11%;
	position: absolute;
	right: 0;
	bottom: 0;
}

.header {
	width: 100%;
	height: 77px;
	background-color: #fff;
	position: absolute;
	top: 0;
	z-index: 999;
}
#header.fixed {
	width: 100%;
	height: 77px;
	position: fixed;
	z-index: 999;
	top: 0;
	box-shadow: 0px 10px 25px rgba(0,0,0,0.16);
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-77px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}
.header nav {
	position: absolute;
	top: 9px;
	right: 80px;
}
.header nav ul {
	list-style: none;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
.header nav ul li a {
	height: 59px;
	line-height: 59px;
	display: block;
	padding: 0 24px;
	font-weight: 500;
	font-size: 18px;
	color: #222;
}
.header nav ul li.hd_contact {
	padding-left: 24px;
}
.header nav ul li.hd_contact a {
	width: 258px;
	height: 59px;
	line-height: 59px;
	display: block;
	padding: 0;
	font-weight: 700;
	font-size: 28px;
	color: #fff;
	background-color: #0B9ECE;
	text-align: center;
}
#header.fixed nav ul li.hd_contact a {
	width: 200px;
	border-radius: 100vh;
	font-size: 18px;
}

#header p {
	width: 137px;
	height: 50px;
	position: absolute;
	left: 109px;
	top: 15px;
	display: none;
}
#header p img {
	width: 100%;
	height: auto;
}
#header.fixed p {
	display: block;
}

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

.header nav {
	right: 30px;
}

.header nav ul li a {
	padding: 0 14px;
	font-size: 16px;
}
.header nav ul li.hd_contact {
	padding-left: 14px;
}
.header nav ul li.hd_contact a {
	width: 200px;
	font-weight: 700;
	font-size: 20px;
}
#header.fixed nav ul li.hd_contact a {
	width: 160px;
	border-radius: 100vh;
	font-size: 16px;
}

#header p {
	left: 60px;
}

}

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

.header {
	display: none;
}

.top_logo {
	aspect-ratio: auto;
	width: 178px;
	height: auto;
	position: relative;
	top: auto;
	left: auto;
	text-align: left;
	z-index: 998;
	padding-top: 100px;
	margin-left: 45px;
}
.top_logo div {
	position: relative;
	aspect-ratio: auto;
	width: 100%;
	font-size: 16.17px;
}
.top_logo img {
	width: 100%;
	height: auto;
	position: relative;
	right: auto;
	bottom: auto;
}
.top_logo span {
	letter-spacing: 10%;
	position: relative;
	right: auto;
	bottom: auto;
	margin-top: 10px;
}

}

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

.top_logo {
	margin-left: 24px;
}

}


/* g_nav
======================================================*/

.sp_header,
.g_nav {
	display: none;
}


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

.sp_header {
	display: block;
	width: 100%;
	height: 77px;
	background-color: #fff;
	position: fixed;
	z-index: 9998;
	top: 0;
}

.openbtn-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	width: 34px;
	height: 26px;
	position: fixed;
	top: 27px;
	right: 18px;
	z-index: 9999;
	cursor: pointer;
}
.openbtn {
	display: block;
	width: 100%;
	height: 100%;
	cursor: pointer;
	position: relative;
	box-sizing: border-box;
}
.sp_contact {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 47px;
	height: 47px;
	border-radius: 100%;
	background-color: #0B9ECE;
	position: absolute;
	top: 15px;
	right: 70px;
}

/* ハンバーガーSET */

.openbtn span {
	display: inline-block;
	position: absolute;
	transition: all .2s;
	border-radius: 3px;
	background: #fff;
  	width: 34px; /* line-width */
	height: 3px; /* line-height */
	border-radius: 100vh;
	transition: all 0.3s;
	background-color: #302D2C;
	opacity: 1;
}

.openbtn span:nth-of-type(1) { top: 0px; }
.openbtn span:nth-of-type(2) { top: 10px; }
.openbtn span:nth-of-type(3) { top: 20px; }

/* 3line - active */

.openbtn-wrap.active .openbtn span:nth-of-type(1) {
	top: 12px;
	left: 0px;
	transform: rotate(210deg);
}
.openbtn-wrap.active .openbtn span:nth-of-type(2) {
	opacity: 0;
}
.openbtn-wrap.active .openbtn span:nth-of-type(3) {
	top: 12px;
 	left: 0px;
	transform: rotate(-210deg);
}


/* Gナビ 背景 */

.g_nav_wrap {
	display :none;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}
.g_nav_wrap.active {
	display: block;
	z-index: 98;
}

/* Gナビ */

.g_nav {
	display: block;
}

.g_nav {
	position: fixed;
	z-index: 9997;
	opacity: 0;
	top: -311px;
	left: 0;
	width: 100%;
	height: 311px;
	transition: all 0.3s;
	box-sizing: border-box;
	padding: 0px 40px 0px 40px;
	background-color: #fff;
}

.g_nav.panelactive {
	top: 0px;
	opacity: 1;
}

.g_nav_inner {
	width: 100%;
	box-sizing: border-box;
	padding-top: 77px;
}
/* スクロールバー */
.g_nav::-webkit-scrollbar {
   width: 2px;
   opacity: 0.5;
}
.g_nav::-webkit-scrollbar-track {
   background-color: #eee;
}
.g_nav::-webkit-scrollbar-thumb {
   background-color: #8B8B8B;
}


/* Gナビ リスト */

.g_nav .g_nav_list {
	list-style: none;
	padding-top: 28px;
	transition: padding-top 0.3s;
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
}

.g_nav .g_nav_list li a {
	font-weight: 500;
	font-size: 18px;
	line-height: 1;
	color: #222222;
	display: block;
	padding: 10px 0px 10px 0px;
	transition: color 0.2s;
}
.g_nav .g_nav_list li a:hover {
	color: #666666;
}

}




/* top_view
======================================================*/

.top_view {
	position: relative;
	width: 100%;
	margin-top: 77px;
}
.top_img01 {
	position: relative;
	aspect-ratio: 1182 / 790;
	width: 61.5625%;
	height: auto;
	background: url(../img/top_img01.jpg) center center no-repeat;
	background-size: cover;
	margin: 0 0 0 auto;
	z-index: 2;
}
.top_line {
	position: absolute;
	aspect-ratio: 736 / 690;
	width: 39%;
	height: auto;
	top: 0;
	left: 0;
	background: url(../img/top_back01.svg) left bottom no-repeat;
	background-size: 100% auto;
	z-index: 1;
}

.top_cc01 {
	position: absolute;
	top: 77px;
	left: 0;
	z-index: 2;
	width: 41.66%;
}
.top_cc01 img {
	width: 100%;
	height: auto;
}


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

.top_view {
	margin-top: 18px;
}
.top_img01 {
	position: relative;
	aspect-ratio: 375 / 332;
	width: 100%;
	height: auto;
	background-image: url("../img/top_img01.jpg"), url("../img/top_back01_sp.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: right top, left bottom;
	background-size: 86.1% auto, 100% auto;
	margin: 0 0 0 auto;
	z-index: 2;
}
.top_line {
	display: none;
}
.top_cc01 {
	position: absolute;
	top: 215px;
	left: 0;
	z-index: 2;
	width: 100%;
}
.top_cc01 img {
	width: 100%;
	height: auto;
}
}


/* top_view2
======================================================*/

.top_view2 {
	position: relative;
	width: 100%;
	background: url(../img/top_back02.png) right top no-repeat;
	background-size: 603px auto;
	background-size: 31.4% auto;
	background-color: #fff;
	padding-bottom: 140px;
}

.main_cc {
	width: 90.4%;
	position: absolute;
	top: -30px;
	left: 4.8%;
	z-index: 3;
}
.main_cc img {
	width: 100%;
	height: auto;
}
.top_view2_content_hd {
	aspect-ratio: 1 / 1;
	width: 16.35%;
	height: auto;
}
.top_view2_content {
	width: 100%;
	background: url(../img/top_view2_obi.png) left top no-repeat;
	background-size: calc( ((100% - 1080px) / 2) + 1080px ) 250px;
}
.top_view2_content_inner {
	width: calc( ((100% - 1080px) / 2) + 1080px );
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
}
.top_view2_content h2 {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	font-weight: 900;
	font-size: 75px;
	line-height: 1.4;
	letter-spacing: 10%;
	height: 250px;
	box-sizing: border-box;
	color: #fff;
	backdrop-filter: blur(5px);
}
.top_view2_content_content {
	display: -webkit-flex;
	display: flex;
	margin-top: 58px;
}
.top_view2_content_content .left {
	width: calc( 100% - 312px );
}
.top_view2_content_content .right {
	width: 312px;
}
.top_view2_content_content .left .txt {
	padding-right: 70px;
}
.top_view2_content_content .left .txt p {
	font-weight: 700;
	font-size: 20px;
	color: #090A0D;
	line-height: 2;
}
.top_view2_content_content .left .txt p:not(:first-child) {
	margin-top: 0.8em;
}
.top_view2_content_content .left .txt p:nth-of-type(3) {
	font-weight: 900;
	font-size: 40px;
	color: #0B9ECE;
	line-height: 1.5;
	margin-top: 0.4em;
}
.tv2_mail,
.tv2_tel {
	width: 100%;
	height: 209px;
	border-radius: 12px;
	border: solid 1px #0B9ECE;
	background-color: rgba(255,255,255,0.15);
	backdrop-filter: blur(5px);
}
.tv2_tel {
	margin-top: 44px;
	background-color: rgba(255,255,255,0.76);
}
.tv2_mail h3,
.tv2_tel h3 {
	font-weight: 500;
	font-size: 20px;
	line-height: 1.4;
	color: #222;
	text-align: center;
}
.tv2_mail h3 {
	margin: 30px 0 24px 0;
}
.tv2_tel h3 {
	margin: 40px 0 26px 0;
}
.tv2_mail a {
	width: 260px;
	height: 76px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	text-align: center;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.4;
	color: #fff;
	background-color: #0B9ECE;
	margin: 0 auto;
}

.tv2_tel a {
	display: block;
	text-align: center;
	font-size: 36px;
	line-height: 1;
	color: #0089D0;
	font-family: "Poppins", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.tv2_tel p {
	font-weight: 500;
	font-size: 14px;
	text-align: center;
	line-height: 1.4;
	color: #222;
	margin-top: 8px;
}

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

.top_view2_content {
	width: 100%;
	background: url(../img/top_view2_obi.png) left top no-repeat;
	background-size: calc(100% - 60px ) 250px;
}

.top_view2_content_content .left .txt p:nth-of-type(3) {
	font-size: 40px;
	font-size: 3.1vw;
}

}

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

.main_cc {
	top: -30px;
}
.top_view2 {
	background: none;
	padding-bottom: 0px;
}
.top_view2_content {
	width: 100%;
	background: none;
}
.top_view2_content_hd {
	aspect-ratio: 1 / 1;
	width: 20.8%;
	height: auto;
}
.top_view2_content h2 {
	aspect-ratio: 304 / 116;
	font-size: 6.9vw;
	line-height: 1.4;
	letter-spacing: 10%;
	width: calc( 83% + 30px );
	padding-left: 30px;
	height: auto;
	box-sizing: border-box;
	color: #fff;
	background: url(../img/top_view2_obi.png) left top no-repeat;
	background-size: 100% 100%;
	backdrop-filter: blur(5px);
	position: relative;
	z-index: 2;
	left: -30px;
}

.top_view2_content_content {
	display: block;
	margin-top: 45px;
	padding-bottom: 45px;
}
.top_view2_content_content .left {
	width: 100%;
}
.top_view2_content_content .right {
	width: 100%;
	margin-top: 60px;
}
.top_view2_content_content .left .txt {
	padding-right: 0px;
}
.top_view2_content_content .left .txt p {
	font-size: 18px;
}
.top_view2_content_content .left .txt p:nth-of-type(3) {
	font-size: 31px;
}
.tv2_tel {
	margin-top: 30px;
}
}

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

.top_view2_content h2 {
	aspect-ratio: 304 / 116;
	font-size: 6.9vw;
	width: calc( 83% + 15px );
	padding-left: 15px;
	z-index: 2;
	left: -15px;
}

.main_cc {
	top: -20px;
}
.top_view2_content_content {
	margin-top: 30px;
	padding-bottom: 30px;
}
.top_view2_content_content .right {
	margin-top: 40px;
}
.top_view2_content_content .left .txt p:nth-of-type(3) {
	font-size: 22px;
}
.tv2_tel {
	margin-top: 20px;
}

}

/* 共通
======================================================*/

.top_h2 {
	font-family: "Poppins", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 100px;
	line-height: 1;
	letter-spacing: 7%;
}
.top_sub_t {
	font-weight: 700;
	font-size: 40px;
	line-height: 1.4;
	margin-top: 30px;
}

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

.top_h2 {
	font-size: 70px;
}
.top_sub_t {
	font-size: 30px;
	margin-top: 20px;
}
}

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

.top_h2 {
	font-size: 40px;
}
.top_sub_t {
	font-size: 20px;
	margin-top: 10px;
}
}

/* sc_service
======================================================*/

.sc_service {
	position: relative;
	width: 100%;
	padding: 108px 156px 88px 156px;
	background: url(../img/sc_sv_back.jpg) center center no-repeat;
	background-size: cover;
}
.sc_service_content {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
}
.sc_service .top_h2,
.sc_service .top_sub_t {
	color: #fff;
}
.service_list_pc {
	margin-top: 60px;
}
.service_list_ul {
	list-style: none;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.service_list_ul > li {
	width: calc( 100% / 3 );
	position: relative;
	display: block;
	height: 550px;
	position: relative;
}
.service_list_ul > li .cv01 {
	display: block;
	width: 100%;
	height: 100%;
	background: url(../img/sv_cv_off.png) center center no-repeat;
	background-size: 100% 100%;
	position: absolute;
	top: 0;
	left: 0;
	mix-blend-mode: multiply;
	opacity: 1;
}
.service_list_ul > li:hover .cv01 {
	transition: opacity 0.3s;
	opacity: 0;
}
.service_list_ul > li .cv02 {
	display: block;
	width: 100%;
	height: 100%;
	background: url(../img/sv_cv_on.png) center center no-repeat;
	background-size: 100% 100%;
	position: absolute;
	top: 0;
	left: 0;
	mix-blend-mode: multiply;
	opacity: 0;
}
.service_list_ul > li:hover .cv02 {
	transition: opacity 0.1s;
	opacity: 1;
}

.service_list_ul > li.sv01 {
	background: url(../img/sv_img01.jpg) center center no-repeat;
	background-size: cover;
}
.service_list_ul > li.sv02 {
	background: url(../img/sv_img02.jpg) center center no-repeat;
	background-size: cover;
}
.service_list_ul > li.sv03 {
	background: url(../img/sv_img03.jpg) center center no-repeat;
	background-size: cover;
}
.service_list_ul > li.sv04 {
	background: url(../img/sv_img04.jpg) center center no-repeat;
	background-size: cover;
}
.service_list_ul > li.sv05 {
	background: url(../img/sv_img05.jpg) center center no-repeat;
	background-size: cover;
}
.service_list_ul > li.sv06 {
	background: url(../img/sv_img06.jpg) center center no-repeat;
	background-size: cover;
}

.service_list_ul .usually {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	opacity: 1;
	transition: opacity 0.3s;
}
.service_list_ul > li:hover .usually {
	opacity: 0;
}
.service_list_ul .usually h3 {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	font-weight: 700;
	font-size: 36px;
	color: #fff;
	line-height: 1.2;
	height: 86px;
	background: url(../img/sv_t_back.svg) left 30px center no-repeat;
	padding-left: 75px;
	position: absolute;
	top: 360px;
}
.service_list_ul .sv03 .usually h3,
.service_list_ul .sv04 .usually h3 {
	top: 340px;
}
.service_list_ul .usually p {
	font-weight: 700;
	font-size: 22px;
	line-height: 1.4;
	color: #fff;
	padding: 0 30px;
	position: absolute;
	top: 440px;
}

.service_list_ul .hover {
	position: absolute;
	z-index: 11;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.3s;
	top: 0;
	left: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
.service_list_ul > li:hover .hover {
	opacity: 1;
}
.service_list_ul .hover .txt {
	font-weight: 500;
	font-size: 18px;
	color: #fff;
	line-height: 1.4;
	text-align: justify;
	word-break: break-all;
}
.service_list_ul .hover ul {
	list-style: none;
	margin-top: 20px;
}
.service_list_ul .hover ul li {
	font-size: 18px;
	line-height: 1.6;
	color: #fff;
}
.hover_set {
	padding: 0 28px;
}

.service_list_sp {
	display: none;
}

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

.service_list_ul .hover .txt {
	font-size: 18px;
	font-size: 0.9375vw;
}
.service_list_ul .hover ul li {
	font-size: 18px;
	font-size: 0.9375vw;
}

}

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

.sc_service {
	padding: 108px 100px 88px 100px;
}

.service_list_ul > li {
	width: calc( 100% / 2 );
}
.service_list_ul .hover .txt {
	font-size: 18px;
}
.service_list_ul .hover ul li {
	font-size: 18px;
}
}

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

.service_list_ul .hover .txt {
	font-size: 16px;
}
.service_list_ul .hover ul li {
	font-size: 16px;
}

}

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

.sc_service {
	padding: 108px 60px 88px 60px;
}
.service_list_ul .hover .txt {
	font-size: 16px;
}
.service_list_ul .hover ul li {
	font-size: 16px;
}

}

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

.service_list_pc {
	display: none;
}
.sc_service {
	padding: 80px 30px 60px 30px;
}

.service_list_sp {
	display: block;
	width: 100%;
	height: auto;
	margin-top: 35px;
}
.service_list_sp_list {
	width: 100%;
	background-color: #333;
}
.service_list_sp_list > li {
	aspect-ratio: 341 / 352;
	width: 100%;
	height: auto;
	background-color: #fff;
}
.service_list_sp_list01 {
	background: url(../img/sv_img01.jpg) center center no-repeat;
	background-size: cover;
}
.service_list_sp_list02 {
	background: url(../img/sv_img02.jpg) center center no-repeat;
	background-size: cover;
}
.service_list_sp_list03 {
	background: url(../img/sv_img03.jpg) center center no-repeat;
	background-size: cover;
}
.service_list_sp_list04 {
	background: url(../img/sv_img04.jpg) center center no-repeat;
	background-size: cover;
}
.service_list_sp_list05 {
	background: url(../img/sv_img05.jpg) center center no-repeat;
	background-size: cover;
}
.service_list_sp_list06 {
	background: url(../img/sv_img06.jpg) center center no-repeat;
	background-size: cover;
}
.service_list_sp_list > li .cv01 {
	display: block;
	width: 100%;
	height: 100%;
	background: url(../img/sv_cv_off.png) center center no-repeat;
	background-size: 100% 100%;
	position: absolute;
	top: 0;
	left: 0;
	mix-blend-mode: multiply;
	opacity: 1;
}
.service_list_sp_list > li:hover .cv01 {
	opacity: 0;
}
.service_list_sp_list > li .cv02 {
	display: block;
	width: 100%;
	height: 100%;
	background: url(../img/sv_cv_on.png) center center no-repeat;
	background-size: 100% 100%;
	position: absolute;
	top: 0;
	left: 0;
	mix-blend-mode: multiply;
	opacity: 0;
}
.service_list_sp_list > li:hover .cv02 {
	opacity: 1;
}
.service_list_sp_list .usually {
	position: absolute;
	bottom: 0px;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 150px;
	opacity: 1;
	transition: opacity 0.3s;
}
.service_list_sp_list > li:hover .usually {
	opacity: 0;
}
.service_list_sp_list .usually h3 {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	font-weight: 700;
	font-size: 24px;
	color: #fff;
	line-height: 1.2;
	height: 86px;
	background: url(../img/sv_t_back.svg) left 30px center no-repeat;
	background-size: 30px auto;
	padding-left: 64px;
}
.service_list_sp_list .sv03 .usually h3,
.service_list_sp_list .sv04 .usually h3 {
	top: 340px;
}
.service_list_sp_list .usually p {
	font-weight: 700;
	font-size: 14px;
	line-height: 1.4;
	color: #fff;
	padding: 0 30px;
}

.service_list_sp_list .hover {
	position: absolute;
	z-index: 11;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.3s;
	top: 0;
	left: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
.service_list_sp_list > li:hover .hover {
	opacity: 1;
}
.service_list_sp_list .hover .txt {
	font-weight: 500;
	font-size: 12px;
	color: #fff;
	line-height: 1.4;
	text-align: justify;
	word-break: break-all;
}
.service_list_sp_list .hover ul {
	list-style: none;
	margin-top: 20px;
}
.service_list_sp_list .hover ul li {
	font-size: 12px;
	line-height: 1.6;
	color: #fff;
}
}

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

.service_list_sp .splide {
	width: 100%;
	max-width: 460px;
	margin: 0 auto;
}
}

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

.sc_service {
	padding: 55px 17px 40px 17px;
}
.hover_set {
	padding: 0 15px;
}
}


/* splide 設定
======================================================*/

.service_list_sp .splide__arrows {
	width: 113px;
	position: relative;
	display: block;
	padding-top: 45px;
	margin: 0 auto;
}
.service_list_sp .splide__arrow {
	width: 45px;
	height: 45px;
	transform: translateY(0%);
	opacity: 1;
	background-color: #E3E3E3;
}
.splide__arrow svg {
	display: none;
}
.splide__arrow:hover:not(:disabled){
	opacity: 1;
	background-color: #fff;
}
.splide__arrow:disabled{
	opacity:.3
}
.splide__arrow--prev{
	left: 0;
	background: url(../img/prev.svg) center center no-repeat;
	background-size: 18px auto;
}
.splide__arrow--next{
	right: 0;
	background: url(../img/next.svg) center center no-repeat;
	background-size: 18px auto;
}

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

.service_list_sp .splide__arrows {
	width: 75px;
	position: relative;
	display: block;
	padding-top: 30px;
	margin: 0 auto;
}
.service_list_sp .splide__arrow {
	width: 30px;
	height: 30px;
	transform: translateY(0%);
	opacity: 1;
	background-color: #E3E3E3;
}
.splide__arrow:hover:not(:disabled){
	opacity: 1;
	background-color: #fff;
}
.splide__arrow:disabled{
	opacity:.3
}
.splide__arrow--prev{
	left: 0;
	background: url(../img/prev.svg) center center no-repeat;
	background-size: 12px auto;
}
.splide__arrow--next{
	right: 0;
	background: url(../img/next.svg) center center no-repeat;
	background-size: 12px auto;
}
}

/* sc_strength
======================================================*/

.sc_strength {
	position: relative;
	width: 100%;
	padding: 166px 0 0 0;
}

.txt_img {
	display: -webkit-flex;
	display: flex;
	margin-top: 40px;
}
.txt_img .txt {
	width: 47.25%;
	padding-right: 7.5%;
}
.txt_img .txt p {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.6;
	color: #090A0D;
	margin-top: 1em;
}

.txt_img .img {
	width: 52.75%;
}
.txt_img .img img {
	width: 100%;
	height: auto;
}

.sc_strength h3 {
	font-weight: 700;
	font-size: 40px;
	line-height: 1.4;
	color: #0B9ECE;
}
.sc_strength .txt_img .txt p span {
	color: #0B9ECE;
	font-weight: 900;
	font-size: 20px;
}

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

.sc_strength {
	padding: 110px 0 0 0;
}
.txt_img {
	display: block;
	margin-top: 35px;
}
.txt_img .txt {
	width: 100%;
	padding-right: 0;
}

.txt_img .img {
	width: 100%;
	margin-top: 45px;
}
.sc_strength h3 {
	font-size: 30px;
}
.sc_strength .txt_img .txt p span {
	font-size: 22px;
}

}

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

.sc_strength {
	padding: 55px 0 0 0;
}
.sc_strength h3 {
	font-size: 20px;
}
.txt_img {
	display: block;
	margin-top: 30px;
}
.txt_img .img {
	margin-top: 30px;
}
.sc_strength .txt_img .txt p span {
	display: block;
}

}

/* sc_message
======================================================*/

.sc_message {
	position: relative;
	width: 100%;
	padding: 166px 0 0 0;
}
.sc_message h3 {
	font-weight: 700;
	font-size: 20px;
	line-height: 1.4;
	color: #0B9ECE;
}

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

.sc_message {
	padding: 128px 0 0 0;
}

}

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

.sc_message {
	padding: 90px 0 0 0;
}

}


/* sc_company
======================================================*/

.sc_company {
	position: relative;
	width: 100%;
	padding: 150px 0 0 0;
}
.company_profile {
	margin-top: 40px;
}
.company_profile dl {
	display: -webkit-flex;
	display: flex;
	width: 100%;
}

.company_profile dl dt {
	width: 370px;
	box-sizing: border-box;
	border-bottom: solid 2px #0B9ECE;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.4;
	color: #0B9ECE;
	padding: 45px 0 30px 60px;
}
.company_profile dl dd {
	width: calc( 100% - 370px );
	box-sizing: border-box;
	border-bottom: solid 1px #302D2C;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.4;
	color: #090A0D;
	padding: 45px 0 30px 60px;
}

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

.sc_company {
	padding: 115px 0 0 0;
}
.company_profile {
	margin-top: 20px;
}
.company_profile dl {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	padding: 40px 0 20px 0;
	border-bottom: solid 1px #302D2C;
	position: relative;
}
.company_profile dl::before {
	content:"";
	display: block;
	position: absolute;
	bottom: -1px;
	left: 0px;
	width: 110px;
	height: 2px;
	background-color: #0B9ECE;
	z-index: 2;
}

.company_profile dl dt {
	width: 240px;
	padding: 0px 0 0px 15px;
	border: none;
}
.company_profile dl dd {
	width: calc( 100% - 240px );
	border-bottom: none;
	padding: 0 10px 0 20px;
}

}

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

.sc_company {
	padding: 80px 0 0 0;
}
.company_profile {
	margin-top: 0px;
}
.company_profile dl {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	padding: 40px 0 12px 0;
	border-bottom: solid 1px #302D2C;
	position: relative;
}
.company_profile dl::before {
	content:"";
	display: block;
	position: absolute;
	bottom: -1px;
	left: 0px;
	width: 110px;
	height: 2px;
	background-color: #0B9ECE;
	z-index: 2;
}

.company_profile dl dt {
	width: 110px;
	padding: 0px 0 0px 15px;
	border: none;
}
.company_profile dl dd {
	width: calc( 100% - 110px );
	border-bottom: none;
	padding: 0 10px 0 20px;
}

}



/* sc_contact
======================================================*/

.sc_contact {
	position: relative;
	width: 100%;
	padding: 150px 0 0 0;
}
.contact_form {
	margin-top: 70px;
	background-color: #0B9ECE;
	padding: 64px 30px 94px 30px;
}
.contact_form_set {
	width: 100%;
	max-width: 912px;
	margin: 0 auto;
}
.contact_form_set dl {
	display: -webkit-flex;
	display: flex;
	width: 100%;
}
.contact_form_set dl:not(:first-child) {
	margin-top: 47px;
}
.contact_form_set dl dt {
	width: 280px;
	box-sizing: border-box;
	font-weight: 500;
	font-size: 20px;
	line-height: 1;
	color: #fff;
	padding: 16px 0 0 0;
	position: relative;
}
.contact_form_set dl dt span {
	display: inline-block;
	width: 70px;
	height: 24px;
	text-align: center;
	line-height: 24px;
	font-weight: 500;
	font-size: 16px;
	color: #EB0000;
	background-color: #fff;
	margin-left: 20px;
}
.contact_form_set dl dd {
	width: calc( 100% - 280px );
}
.form_txt {
	width: 100%;
	height: 48px;
	background-color: #fff;
	box-sizing: border-box;
	padding: 6px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.4;
}
.form_txtarea {
	width: 100%;
	height: 360px;
}
.pp {
	margin-top: 40px;
}
.pp a {
	color: #000;
}
.pp_hd_txt {
	font-weight: 400;
	font-size: 20px;
	line-height: 1;
	color: #fff;
}
.pp_wrap {
	background-color: #fff;
	margin-top: 14px;
	height: 215px;
	overflow: auto;
}
/* スクロールバー */
.pp_wrap::-webkit-scrollbar {
	width: 2px;
	opacity: 0.5;
}
.pp_wrap::-webkit-scrollbar-track {
	background-color: #eee;
}
.pp_wrap::-webkit-scrollbar-thumb {
	background-color: #666666;
}

.pp_inner {
	padding: 20px 40px;
	color: #000;
}
.pp_inner p {
	font-weight: 300;
	font-size: 16px;
	line-height: 1.4;
}
.pp_inner h3 {
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	margin: 1.5em 0 0.5em 0;;
}
.pp_inner ul {
	font-weight: 300;
	font-size: 16px;
	line-height: 1.4;
	margin-left: 1.5em;
	margin-top: 0.5em;
}
.pp_inner ol {
	font-weight: 300;
	font-size: 16px;
	line-height: 1.4;
	margin-left: 1.2em;
	margin-top: 0.5em;
}
.pp_inner ol li:not(:first-child) {
	margin-top: 0.5em;
}
.pp_inner ol p {
	margin-top: 0.5em;
}
.pp_inner ol ul {
	margin-left: 2.5em;
	margin-bottom: 0.5em;
}
#doi {
	font-size: 16px;
	line-height: 1;
	text-align: center;
	margin: 40px 0 0 0;
	font-weight: 500;
	font-style: normal;
}
#doi span {
	text-decoration: underline;
	color: #fff;
}

#doi .wpcf7-list-item-label {
	display: none;
}
#doi input[type=checkbox] {
	margin-right: 14px;
	position: relative;
	top: 1px;
	width: 22px;
	height: 22px;
	box-sizing: border-box;
	border: solid 1px #707070;
	position: relative;
	top: 4px;
}
.send {
	text-align: center;
	margin-top: 40px;
}
.send input {
	width: 350px;
	height: 80px;
	border-radius: 100vh;
	background-color: #fff;
	color: #302D2C;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 18px;
	box-sizing: border-box;
	transition: background-color 0.3s;
}
.send input:hover {
	background-color: #eee;
}


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

.sc_contact {
	padding: 115px 0 0 0;
}
.contact_form {
	margin-top: 50px;
	background-color: #0B9ECE;
	padding: 50px 25px 50px 25px;
}
.contact_form_set dl {
	display: block;
}
.contact_form_set dl:not(:first-child) {
	margin-top: 36px;
}
.contact_form_set dl dt {
	font-size: 18px;
	padding: 0px 0 0 0;
}
.contact_form_set dl dt span {
	display: inline-block;
	width: 57px;
	height: 20px;
	line-height: 20px;
	font-size: 14px;
	margin-left: 15px;
}
.contact_form_set dl dd {
	width: 100%;
	margin-top: 14px;
}
.form_txtarea {
	height: 262px;
}
.pp {
	margin-top: 30px;
}
.pp_hd_txt {
	font-size: 18px;
}
.pp_inner {
	padding: 15px 20px;
}
#doi {
	margin: 20px 0 0 0;
	padding: 0;
}
#doi label {
	padding: 0;
	margin: 0;
}
#doi span {
	padding: 0;
	margin: 0;
}
.send input {
	width: 249px;
	height: 57px;
	font-size: 16px;
}

}

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

.sc_contact {
	padding: 80px 0 0 0;
}
.contact_form {
	margin-top: 30px;
	background-color: #0B9ECE;
	padding: 40px 20px 40px 20px;
}
.contact_form_set dl:not(:first-child) {
	margin-top: 24px;
}
.form_txtarea {
	height: 225px;
}
.pp {
	margin-top: 22px;
}
#doi {
	margin: 10px 0 0 0;
}
.send input {
	font-size: 14px;
}
}

/* contactform7設定
======================================================*/

.wpcf7-not-valid-tip{
   box-sizing: border-box;
   border-bottom: 1px dotted #CB4A2D;
   color: #CB4A2D;
   color: #fff;
   margin-top: 10px;
   margin-bottom: 10px;
   padding: 6px 6px 6px 40px;
   text-indent: -30px;
   font-size: 16px;
}
.wpcf7-not-valid-tip::before{
   content: "";
   background: url(../img/sankaku.png) no-repeat center/cover;
   display: inline-block;
   margin-right: 10px;
   margin-bottom: 4px;
   vertical-align: middle;
   width: 20px;
   height: 18px;
}

div.wpcf7 .wpcf7-spinner {
    display: none;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	color: #fff;
	font-weight: 700;
	border: 1px solid #CB4A2D;
	background-color: #CB4A2D;
	border-radius: 2px;
	margin: 40px 0 0 0;
	padding: 0.8em 1em;
	text-align: center;
	font-size: 16px;
	line-height: 1.4;
}
.wpcf7 form.sent .wpcf7-response-output {
	border: 1px solid #1069C3;
	background-color: #1069C3;
}




/* footer
======================================================*/

.footer {
	margin-top: 200px;
}
.footer_content {
	display: -webkit-flex;
	display: flex;
}
.footer_logo {
	width: 35%;
	background-color: #fff;
}
.footer_nav {
	width: 65%;
	height: 705px;
	background-color: #0B9ECE;
	box-sizing: border-box;
	padding: 190px 0 0 150px;
}

.footer_logo h1 {
	width: 668px;
	height: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	margin: 0 0 0 auto;
}
.footer_nav ul {
	list-style: none;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 60px 107px;
	width: 443px;
	height: 240px;
}
.footer_nav ul li {
	width: 170px;
}
.footer_nav ul li a {
	display: block;
	color: #fff;
	transition: color 0.3s;
}
.footer_nav ul li a:hover {
	color: #eee;
}

.footer_nav ul li a span:nth-of-type(1) {
	font-family: "Poppins", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	display: block;
}
.footer_nav ul li a span:nth-of-type(2) {
	font-weight: 500;
	font-size: 16px;
	line-height: 1;
	display: block;
	margin-top: 5px;
	padding-left: 10px;
}

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

.footer_logo {
	width: 672px;
}
.footer_logo h1 {
	width: 100%;
}
.footer_nav {
	width: calc( 100% - 672px );
}

}

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

.footer_logo {
	width: 44.8%;
}
.footer_nav {
	width: 55.2%;
	padding: 190px 0 0 7.8%;
}
.footer_logo h1 img {
	width: 55%;
	height: auto;
}
}

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

.footer {
	margin-top: 140px;
}
.footer_content {
	display: block;
}
.footer_logo {
	width: 100%;
	box-sizing: border-box;
	padding: 0 30px 40px 30px;
}
.footer_nav {
	width: 100%;
	height: auto;
	padding: 75px 0 105px 30px;
	box-sizing: border-box;
}
.footer_logo h1 {
	width: 267px;
	height: auto;
	display: block;
	margin: 0;
}
.footer_logo h1 img {
	width: 267px;
	height: auto;
}
}

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

.footer {
	margin-top: 80px;
}
.footer_nav {
	padding: 50px 0 80px 15px;
}
.footer_logo {
	padding: 0 16px 40px 16px;
}
.footer_logo h1 {
	width: 178px;
	height: auto;
	display: block;
	margin: 0;
}
.footer_logo h1 img {
	width: 178px;
	height: auto;
}

.footer_nav ul {
	display: block;
	width: auto;
	height: auto;
}
.footer_nav ul li {
	width: auto;
}
.footer_nav ul li:not(:first-child) {
	margin-top: 35px;
}

}

