@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600,700,900');
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700');

html, body {
width: 100%;
height: 100%;
}
html{
-ms-text-size-adjust:100%;
-webkit-text-size-adjust:100%;
}
body {
	font-family: 'Noto Sans Japanese', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14pt;
	line-height: 24pt;
	color: #4b4948;
	text-align: center;
	-webkit-text-size-adjust: 100%;
}
body.fixed{
	/*
	position: fixed;
	left: 0px;
	top:0px;
	overflow: hidden;
	*/
}
a,a:visited {
	color: #111;
	text-decoration: underline;
	cursor: pointer;
}
a:hover, a:active, a.active { color: #23b8c1; }
/* for bg image */
h1 a,h2,h3 a,h3 span,ul#sns li a{
	text-align:left;
	text-indent: 100%;
	white-space: nowrap;
	background-repeat: no-repeat;
	background-position: left top;
	background-size: contain;
	display: block;
	overflow: hidden;
}
ul#menu-main li a,#menu-main dt,.btn a,.btn span{ cursor: pointer; }

img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select::-ms-expand { display: none; }
.btn a, .btn span{
	font-weight: 700;
	text-decoration: none;
	line-height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* header */
header{
	width: 100%;
	padding: 15px 20px;
	background-color: #FFF;
	box-sizing: border-box;
	position: fixed;
	left: 0px;
	top:0px;
	z-index: 99999;
}
header h1{
	width: 274px;
}
header h1 a{
	height: 40px;
	background-image: url(../images/logo.png);
}
/* navi */
header #navi.btn{
	width: 70px;
	height: 70px;
	margin: 0px;
	background-color: #FFF;
	right: 0px;
	top:0px;
	position: fixed;
	z-index: 9999;
	cursor: pointer;
}
header #navi.btn:hover{ background-color: #4b4948; }
header #navi.btn div{
width: 32px;
height: 32px;
position: absolute;
left: 19px;
top: 19px;
transition: all 0.4s;
}
header #navi.btn div span{
  width: 100%;
  box-sizing: border-box;
  height: 3px;
  background-color: #000;
  position: absolute;
  left: 0px;
  display: inline-block;
  transition: all 0.4s;
}
header #navi.btn:hover div span{ background-color: #FFF; }
header #navi.btn span:nth-of-type(1) { top: 5px; }
header #navi.btn span:nth-of-type(2) { top: 15px; }
header #navi.btn span:nth-of-type(3) { bottom: 5px; }
header #navi.btn.active div{
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
}
header #navi.btn.active div span:nth-of-type(1) {
  -webkit-transform: translateY(16px) rotate(-45deg);
  transform: translateY(16px) rotate(-45deg);
  top:0px;
}
header #navi.btn.active div span:nth-of-type(2) {
  -webkit-transform: translateY(8px) rotate(45deg);
  transform: translateY(8px) rotate(45deg);
  top:7px;
}
header #navi.btn.active div span:nth-of-type(3) { opacity: 0; }
header nav{
	width: 100%;
	height: calc(100vh - 70px);
	background-color: rgba(0,0,0,0.8);
	padding: 20px;
	position: fixed;
	left: 0px;
	top: 70px;
	box-sizing: border-box;
	display: none;
}
header nav .inner{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
header nav .inner ul{}
header nav .inner ul li{
	font-size: 2rem;
	line-height: 100%;
	font-weight: 600;
	padding: 0 0 20px 0;
	margin: 0 auto 20px auto;
	border-bottom: solid 1px #FFF;
}
header nav .inner ul li:last-child{ margin: 0 auto; }
header nav .inner > ul > li:nth-child(2) > a,
header nav .inner > ul > li:nth-child(2) > span{
	margin-bottom: 10px;
	display: inline-block;
}
header nav .inner ul li:nth-child(6){
	padding: 0px;
	border-bottom: none;
}
header nav .inner ul li:last-child{
	padding: 0px;
	border-bottom: none;
}

header nav .inner ul li.banner{
	width: 600px;
	padding: 15px 0 0 0;
	margin: 0 auto;
}
header nav .inner ul li.banner a img{
	opacity: 1;
	-webkit-transition: all 0.25s ease-in;
	-moz-transition: all 0.25s ease-in;
	-ms-transition: all 0.25s ease-in;
	transition: all 0.25s ease-in;
}
header nav .inner ul li.banner a:hover img{
	opacity: 0.8;
}
header nav .inner ul li a,
header nav .inner ul li span{
	color: #FFF;
	text-decoration: none;
}
header nav .inner ul li a:hover{ color: #23b8c1; }

header nav .inner ul li ul {
	list-style: disc;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

header nav .inner ul li ul li{
	font-size: 1.1rem;
	margin: 0 auto 10px auto;
	padding: 0px;
	border-bottom: none;
}


footer{
	font-size: 1rem;
	line-height: 1.5rem;
	padding: 60px 0;
	background-color: #FFF;
}
footer #info{
	width: 1000px;
	max-width: 100%;
	padding: 0 0 60px 0;
	margin: 0 auto 60px auto;
	border-bottom: solid 1px #4b4948;
	overflow: hidden;
}
footer #info .address{
	display: inline-block;
	float: left;
	overflow: hidden;
}
footer #info .address h3{
	width: 114px;
	float: left;
}
footer #info .address h3 span{
	background-image: url(../images/logo_foot.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 60px;
}
footer #info .address p{
	text-align: left;
	padding: 0 0 0 30px;
	margin: 0 0 0 30px;
	border-left: solid 1px #4b4948;
	float: left;
}
footer #info .btn{
	width: 280px;
	float: right;
}
footer #info .btn a{
	color: #FFF;
	font-family: "Roboto", sans-serif;
	background-color: #23b8c1;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	-webkit-transition: all 0.25s ease-in;
	-moz-transition: all 0.25s ease-in;
	-ms-transition: all 0.25s ease-in;
	transition: all 0.25s ease-in;
}
footer #info .btn a:hover{ background-color: #4b4948; }
footer #link{
	width: 1000px;
	max-width: 100%;
	margin: 0 auto;
	overflow: hidden;
}
footer #link ul{
	float: left;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
footer #link ul li{ margin: 0 0 0 15px; }
footer #link ul li:first-child{ margin: 0px; }
footer #link ul li a{
	text-decoration: none;
}
footer #link p{
	text-align: right;
	float: right;
}



/* margin */
.nm { margin: 0px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }

/* clearfix */
.package:after,ul.link:after,dl.menu:after{
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.package,ul.link,dl.menu{ zoom: 100%; }
.package,ul.link,dl.menu{
	display: inline-table;
	overflow:hidden;
}
/* Hides from IE-mac ￥*/
* html .package,* html ul.link,* html dl.menu{ height: 1%; }
.package,ul.link,dl.menu{ display: block; }
/* End hide from IE-mac */



/* --------------------------------------- Media Queries Smartphone --------------------------------------- */
@media only screen and (max-width: 736px) {
	

html{ font-size: 80%; }
body {
	font-size: 1rem;
	line-height: 1.6rem;
	-webkit-text-size-adjust: 100%;
}
.btn a{
	font-weight: 700;
	text-decoration: none;
	line-height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* header */
header{ padding: 10px; }
header h1{
	width: 137px;
}
header h1 a{ height: 20px; }
/* navi */
header #navi.btn{
	width: 40px;
	height: 40px;
	right: 0px;
	top: 0px;
}
header #navi.btn:hover{ background-color: #000; }
header #navi.btn div{
width: 20px;
height: 20px;
left: 10px;
top: 10px;
}
header #navi.btn div span{ left: 0px; }
header #navi.btn span:nth-of-type(1) { top: 2px; }
header #navi.btn span:nth-of-type(2) { top: 9px; }
header #navi.btn span:nth-of-type(3) { bottom: 2px; }

header #navi.btn.active div span:nth-of-type(1) {
  -webkit-transform: translateY(8px) rotate(-45deg);
  transform: translateY(8px) rotate(-45deg);
  top:0px;
}
header #navi.btn.active div span:nth-of-type(2) {
  -webkit-transform: translateY(4px) rotate(45deg);
  transform: translateY(4px) rotate(45deg);
  top:4px;
}
header #navi.btn.active div span:nth-of-type(3) { opacity: 0; }
header nav{ padding: 15px; }
header nav h3{
	width: 153px;
	margin: 0 auto 80px auto;
}
header nav h3 a{
	height: 35px;
}
header nav ul{}
header nav ul li{ font-size: 1.6rem; }
header nav ul li:last-child{ margin: 0px; }

header ul#sns{
	width: 41px;
	position: fixed;
	right:10px;
	top:10px;
	z-index: 9999;
}
header ul#sns li{
	width: 18px;
	float: right;
}
header ul#sns li:first-child{ float: left; }
header ul#sns li a{
	background-image: url(../images/btn_social_combo.png);
	background-position: -21px 0;
	background-repeat: no-repeat;
	background-size: 42px;
	height: 18px;
}
header ul#sns li a:hover{ background-position: -21px -21px; }
header ul#sns li:first-child a{ background-position: 0px 0px; }
header ul#sns li:first-child a:hover{ background-position: 0px -21px; }

/* navi */

header nav{
	width: 100%;
	height: calc(100vh - 40px);
	left: 0px;
	top: 40px;
}
header nav .inner{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
header nav .inner ul{
}
header nav .inner ul li{
	font-size: 1.4rem;
	padding: 0 0 10px 0;
	margin: 0 auto 10px auto;
}
header nav .inner > ul > li:nth-child(2) > a{
	margin-bottom: 10px;
}
header nav .inner ul li:last-child{
	padding: 0px;
	border-bottom: none;
}

header nav .inner ul li.banner{
	width: 100%;
	padding: 10px 0 0 0;
	margin: 0 auto;
}
header nav .inner ul li.banner a img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
	opacity: 1 !important;
}

header nav .inner ul li a{
	color: #FFF;
	text-decoration: none;
}
header nav .inner ul li a:hover{ color: #23b8c1; }

header nav .inner ul li ul li{
	font-size: 1rem;
	margin: 0 auto 10px auto;
	padding: 0px;
	border-bottom: none;
}


footer{
	padding: 20px 0;
}
footer #info{
	width: calc(100% - 20px);
	padding: 0 0 20px 0;
	margin: 0 auto 20px auto;
}
footer #info .address{
	width: 100%;
	margin: 0 auto 20px auto;
	display: block;
	float: none;
}
footer #info .address h3{
	width: 114px;
	margin: 0 auto 20px auto;
	float: none;
}
footer #info .address h3 span{
	background-image: url(../images/logo_foot.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 60px;
}
footer #info .address p{
	text-align: center;
	padding: 0px;
	margin: 0px;
	border-left: none;
	float: none;
}
footer #info .btn{
	width: 100%;
	float: none;
}
footer #info .btn a{
	font-size: 1.2rem;
	line-height: 100%;
	height: 40px;
}
footer #info .btn a:hover{ background-color: #23b8c1; }
footer #link{
	width: 100%;
	padding: 0 10px;
	box-sizing: border-box;
}
footer #link ul{
	margin: 0 auto 10px auto;
	float: none;
	display: flex;
	justify-content: center;
	align-items: center;
}
footer #link ul li{ margin: 0 0 0 10px; }
footer #link p{
	text-align: center;
	float: none;
}


	
}

@media only screen and (min-width: 737px) {
	.sp-item {
		display: none !important;
	}
}

@media only screen and (max-width: 736px) {
	.pc-item {
		display: none !important;
	}
}


.section-service-contents {
	display: flex;
}

.section-service-contents:nth-child(2) {
	flex-direction: row-reverse;
	margin-top: 60px;
}

.section-service-contents:nth-child(1) .section-service-contents__title-area {
	background: linear-gradient(225deg, rgba(141,239,190,1) 0%, rgba(97,208,216,1) 100%);
}

.section-service-contents:nth-child(2) .section-service-contents__title-area {
	background: linear-gradient(225deg, rgba(173,230,255,1) 0%, rgba(38,183,193,1) 100%);
}

.section-service-contents:nth-child(1) .section-service-contents__content {
	margin-left: -80px;
	background-image: url("../images/section-service-contents-01.jpg");
	padding: 74px 32px 74px 113px
}

.section-service-contents:nth-child(2) .section-service-contents__content {
	margin-right: -80px;
	background-image: url("../images/section-service-contents-02.jpg");
	padding: 74px 113px 74px 32px;
}


.section-service-contents:nth-child(2) {

}

.section-service-contents__title-area {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 484px;
	height: 332px;
	color: #fff;
	z-index: 1;
	flex-shrink: 0;
}

.section-service-contents__title-area::before {
	content: "";
	display: block;
	position: absolute;
	z-index: 0;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border: 2px solid #fff;
}

.section-service-contents__subtitle {
	font-size: 19px;
	font-weight: bold;
	letter-spacing: 0.01em;
	position: relative;
	z-index: 1;
	margin-bottom: 20px;
}

.section-service-contents__title {
	font-weight: bold;
	font-size: 52px;
	letter-spacing: 0.01em;
	line-height: 0.5;
	position: relative;
	z-index: 1;
}

.section-service-contents__title span {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.12em;
}

.section-service-contents__content {
	display: flex;
	width: 595px;
	min-height: 332px;
	margin-top: 60px;
	box-sizing: border-box;
	background-size: cover;
	background-position: center;
}

.service-link {
	display: block;
	width: 186px;
}

.service-link:nth-child(1n+2) {
	border-left: 2px solid #fff;
	margin-left: 38px;
	padding-left: 38px;
}

.service-link__icon {
	width: 85px;
	height: 85px;
	object-fit: contain;
	object-position: center;
}

.service-link__title {
	font-size: 12px;
	letter-spacing: 0em;
	font-weight: bold;
	margin-bottom: 14px;
	text-align: center;
	color: #fff;
	line-height: 1.5;
	margin-top: 8px;
}

.service-link .service-link__btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: 38px;
	border: 1px solid #fff;
	color: #fff;
	text-decoration: none;
	padding: 0 15px;
	color: #fff;
	transition: all 0.2s linear;
	box-sizing: border-box;
}

.service-link .service-link__btn::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	right: 15px;
	width: 8px;
	height: 8px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	border-color: #fff;
}

.service-link .service-link__btn:hover {
	background-color: #fff;
	color: #57a7a5;
}

.service-link .service-link__btn:hover::before {
	border-color: #57a7a5;
}

@media only screen and (max-width: 736px) {
	.section-service-contents {
		display: block;
		width: 100%;
		background: linear-gradient(225deg, rgba(141,239,190,1) 0%, rgba(97,208,216,1) 100%);
		position: relative;
		box-sizing: border-box;
		padding: 20px;
	}
	.section-service-contents:nth-child(2) {
		background: linear-gradient(225deg, rgba(173,230,255,1) 0%, rgba(38,183,193,1) 100%);
	}
	.section-service-contents:nth-child(1) .section-service-contents__title-area {
		background: none;
	}
	.section-service-contents:nth-child(2) .section-service-contents__title-area {
		background: none;
	}
	.section-service-contents__title-area::before {
		content: none;
	}
	.section-service-contents::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 2px solid #fff;
	}

	.section-service-contents__title-area {
		width: 100%;
		height: 176px;
	}

	.section-service-contents__title-area::before {
		width: calc(100% - 15px);
		height: calc(100% - 15px);
	}

	.section-service-contents__subtitle {
		font-size: 16px;
		margin-bottom: 13px;
	}

	.section-service-contents__title {
		font-size: 32px;
		line-height: initial;
		line-height: 0.6;
	}

	.section-service-contents__title span {
		font-size: 12px;
	}

	.section-service-contents:nth-child(1) .section-service-contents__content {
		margin-left: 0;
		padding: 0;
		background-image: initial;
	}

	.section-service-contents:nth-child(2) .section-service-contents__content {
		margin-right: 0;
		padding: 0;
		background-image: initial;
	}

	.section-service-contents__content {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		width: 100%;
		min-height: initial;
		padding: 0;
		margin-top: 0;
		margin-bottom: 30px;
	}

	.service-link {
		width: 45.97%;
	}

	.service-link:nth-child(1n+2) {
		margin-left: 0;
		padding-left: 0;
		border-left: none;
	}

	.service-link__icon {
		margin-bottom: 20px;
		width: 100%;
		height: auto;
		object-fit:	initial;
	}

	.service-link__title {
		display: none;
	}

	.service-link .service-link__btn {
		border-color: #26B7C1;
		background-color: #26b7c1;
	}
}

.section-biz{
    padding-bottom: 120px;
    width: 730px;
    max-width: 100%;
    margin: 0 auto;
}
.section-biz__baner{
    text-align: center;
    width: 70%;
    margin: 0 auto;
    box-sizing: border-box;
}
.section-biz__a{
    display: inline-block;
    transition: all ease .3s;
}
.section-biz__a:hover{
    opacity: 0.8;
}
@media only screen and (max-width: 736px){
    .section-biz{
        padding-bottom: 40px;
    }
    .section-biz__baner{
        padding: 0 10px;
        width: 100%;
    } 
}



/* 改修追加 */
.ffInter{
	font-family: "Inter", sans-serif;
	font-weight: 400;
}
.ffZen{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
}
.ffJost{
	font-family: "Jost", sans-serif;
	font-weight: 400;
}

.visiblesp{
	display: none!important;
}
.visiblepc{
	display: block!important;
}
@media only screen and (max-width: 736px) {
.visiblesp{
	display: block!important;
}
.visiblepc{
	display: none!important;
}
}

/* service_common */
.service_common{
	background-color: #F4FBFC;
	padding: 60px 20px 86px;
}
.service_common__in{
	width: 1200px;
	max-width: 100%;
	margin: 0 auto;
}
.service_common__tit{
	font-size: 60px;
	font-weight: 400;
	line-height: 1;
	color: #28ABB4;
	text-align: center;
}
.service_common__box{
	margin-top: 40px;
}
.service_common__item{
	background-color: #fff;
	border-radius: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 40px 0 0 40px;
}
.service_common__item + .service_common__item{
	margin-top: 40px;
}
.service_common__left{
	width: 400px;
	text-align: left;
	white-space: nowrap;
}
.service_common__left__txt1{
	font-size: 15px;
	font-weight: 700;
	line-height: 22px;
}
.service_common__left__txt2{
	font-size: 40px;
	font-weight: 200;
	line-height: 1;
	color: #000;
	margin: 7px 0 3px;
	letter-spacing: 0.01px;
}
.service_common__left__txt3{
	font-size: 15px;
	font-weight: 700;
	line-height: 22px;
	color: #000;
}
.service_common__color{
	color: #28ABB4;
}
.service_common__right{
	width: 660px;
}
.service_common__li{
	padding: 40px 0;
}
.service_common__li + .service_common__li{
	border-top: 1px dashed #D5D5D5;
}
.service_common__li__a{
	display: flex;
	padding: 0;
	text-decoration: none;
	align-items: center;
	text-align: left;
	color: #000;
	background: url(../images/ico_service_arw.svg) right 40px center no-repeat;
}


.service_common__li__icon{
	width: 110px;
}
.service_common__li__icon1 img{
	width: 45px;
}
.service_common__li__icon2 img{
	width: 50px;
}
.service_common__li__icon3 img{
	width: 50px;
}
.service_common__li__icon4 img{
	width: 50px;
}
.service_common__li__content{
	flex: 1;
	padding: 0 120px 0 0;
}
.service_common__li__tit{
	font-size: 24px;
	line-height: 35px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.service_common__li__txt{
	margin-top: 10px;
	font-size: 15px;
	line-height: 22px;
}
@media only screen and (max-width: 736px) {
.service_common{
	padding: 40px 20px 64px;
}
.service_common__in{
	width: 100%;
	margin: 0;
}
.service_common__tit{
	font-size: 48px;
}
.service_common__box{
	margin-top: 30px;
}
.service_common__item{
	border-radius: 10px;
	display: block;
	padding: 30px 5px 10px;
}
.service_common__item + .service_common__item{
	margin-top: 30px;
}
.service_common__left{
	width: 100%;
	text-align: center;
}
.service_common__left__txt1{
	font-size: 14px;
	line-height: 20px;
}
.service_common__left__txt2{
	font-size: 28px;
	margin: 10px 0 4px;
	letter-spacing: 0.01px;
}
.service_common__left__txt3{
	font-size: 12px;
	line-height: 17px;
}
.service_common__right{
	width: 100%;
	margin-top: 20px;
}
.service_common__ul{
	padding: 0 16px;
}
.service_common__li{
	border-top: 1px dashed #D5D5D5;
	padding: 20px 0;
}
.service_common__li + .service_common__li{
	border-top: 1px dashed #D5D5D5;
}
.service_common__li__a{
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	background: url(../images/ico_service_arw.svg) center bottom no-repeat;
	padding-bottom: 56px;
}
.service_common__li__icon{
	width: 100%;
	text-align: center;
}
.service_common__li__icon1 img{
	width: 30px;
}
.service_common__li__content{
	padding: 10px 0 0;
}
.service_common__li__tit{
	font-size: 16px;
	line-height: 23px;
}
.service_common__li__txt{
	margin-top: 8px;
	font-size: 14px;
	line-height: 20px;
}
}


