@charset "UTF-8";
html{overflow:auto;-webkit-text-size-adjust:100%}
*,*:after,*:before{box-sizing:border-box}
*,*:after,*:before,blockquote,body,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,p,pre,td,th{margin:0;padding:0}
table{border-collapse:collapse;border-spacing:0}
fieldset,img{border:0}
img { max-width: 100%; height: auto; }
ul,ol,li{list-style-type: none;}
address,caption,cite,code,dfn,em,var{font-style:normal;font-weight:400}
caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{font-size:100%}
q:after,q:before{content:''}
input[type=checkbox],input[type=radio]{margin:0 2px 0 0;padding:0;vertical-align:-2px}
button,input[type=button],input[type=submit],input[type=text]{box-sizing:border-box;-webkit-appearance:none;border:0;cursor:pointer;border-radius:0;background:transparent}

/* ------------------------
    基本構造
------------------------ */
.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-maru-gothic-medium {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.zen-maru-gothic-bold {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}
html {
	font-size: 10px;
	overflow-x: hidden;
}
body {
	font-family: "Zen Maru Gothic","Jost", sans-serif, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
	color: #444444;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.content {
	width: 1120px;
	max-width: 100%;
	margin: 0 auto;
}
.content .min-content {
	width: 960px;
	padding: 0;
}

a {
	text-decoration: none;
	transition: .3s;
	color: #444444;
}
a:hover {
	text-decoration: none;
}
a::before,a::after,a:hover::before,a:hover::after {
	transition: .3s;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
.color{
	color: #3AC0CF;
}
.br-40{
	border-radius: 40px;
}
.br-30{
	border-radius: 30px;
}
.br-20{
	border-radius: 20px;
}
::placeholder {
	color: #ccc;
}

.only-sp {
	display: none !important;
}
/*テンプレート*/
.text-center{
	text-align: center;
}
.page-content{
  width: 100%;
  margin: 0 auto 0;
  padding: 0 10px;
}
.content-m{
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	margin-bottom: 120px;
}
.content-b{
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	margin-bottom: 120px;
}
.box-solid5{
	border: 5px solid #3AC0CF;
	border-radius: 30px;
	padding: 50px 80px;
}
.b-blue{
	background-color: #F6FBFF;
	border-radius: 30px;
	padding: 50px 0;
}
.page-hero{
	position: relative;
}
.page-hero h1{
	font-size: 3.6rem;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	color: white;
	position: absolute;
}
.page-hero-2{
	background-color: #F6FBFF;
	width: 100%;
	margin-top: 100px;
	margin-bottom: 100px;
}
.page-hero-2-inner{
	padding: 70px 10px;
	max-width: 960px;
	margin: 0 auto;
	width: 100%;
}
.page-hero-img{
	width: 100%;
  	height: auto;
	margin-top: 100px;
	margin-bottom: 80px;
}
.page-hero-img img{
	width: 100%;
}
.page-catch{
	font-size: 1.8rem;
	letter-spacing: 2px;
	margin: 50px 0;
}
.b-img{
	margin-bottom: 40px;
}
.grid-column02-wrap{
	display: grid;
	gap: 50px;
}
.grid-column02{
	display: flex;
	justify-content: space-between;
}
.grid-column02 .under-line{
	margin-bottom: 20px;
}
.column02-img{
	width: 45%;
}
.column02-text{
	width: 45%;
	margin-top: 10px;
}
.column02-text-w{
	width: 50%;
	margin-top: 10px;
}
.column02-text p,.column02-text-w p{
	margin-bottom: 15px;
}
.h3-dot{
	position: relative;
	padding-left: 20px;
	margin-bottom: 20px;
}
.h3-dot::before{
	position: absolute; 
	width: 12px;
	height: 12px;
	background-color: #43D1E1;
	content: '';
	border-radius: 50%;
	top: 52%;
	transform: translateY(-50%);
	left: 0;
}
.history{
	width: 100%;
	background-color: #F6FBFF;
	margin-bottom: 120px;
}
.history-wrap{
	width: 100%;
	max-width: 960px;
	margin: 70px auto;
	padding: 70px 0;
}
.history-wrap h3{
	margin-bottom: 30px;
}
.history-wrap li{
	display: flex;
	padding: 20px;
	justify-content: space-between;
	border-top: 1px solid #3AC0CF;
}
.history-wrap li:last-child{
	border-bottom: 1px solid #3AC0CF;
}
.history-wrap li p{
	width: 730px;
}
.under-line{
	width: 100%;
	border-bottom: 2px solid #3AC0CF;
	padding-bottom: 10px;
	margin-bottom: 30px;
}
.h3-list{
	display: grid;
	gap: 30px;
}
.num{
	position: relative;
	padding-left: 40px;
	margin-bottom: 20px;
}
.num span{
	color: white;
	margin-right: 15px;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%) translateX(-50%);
}
.num span::before{
	position: absolute;
	top: 54%;
	left: 5px;
	background-color: #3AC0CF;
	border-radius: 50%;
	transform: translateY(-50%) translateX(-50%);
	z-index: -1;
	content: '';
	width: 30px;
	height: 30px;
}
.mt-0 {
	margin-top: 0 !important;
}
.mt-5 {
	margin-top: 5px !important;
}
.mt-10 {
	margin-top: 10px !important;
}
.mt-15 {
	margin-top: 15px !important;
}
.mt-20 {
	margin-top: 20px !important;
}
.mt-25 {
	margin-top: 25px !important;
}
.mt-30 {
	margin-top: 30px !important;
}
.mt-35 {
	margin-top: 35px !important;
}
.mt-40 {
	margin-top: 40px !important;
}
.mt-45 {
	margin-top: 45px !important;
}
.mt-50 {
	margin-top: 50px !important;
}
.mt-55 {
	margin-top: 55px !important;
}
.mt-60 {
	margin-top: 60px !important;
}
.mt-65 {
	margin-top: 65px !important;
}
.mt-70 {
	margin-top: 70px !important;
}
.mt-75 {
	margin-top: 75px !important;
}
.mt-80 {
	margin-top: 80px !important;
}
.mb-0 {
	margin-bottom: 0px !important;
}
.mb-10 {
	margin-bottom: 10px !important;
}
.mt-hero{
	margin-top: 95px;
}
.gap-40{
	display: grid;
	gap: 40px;
}
.w-600{
	max-width: 600px;
	margin: 10px auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 10px auto;
	gap: 15px;
}
.w-600 li{
	width: 45%;
}
.in-700{
	max-width: 700px;
	margin: 0 auto;
	width: 100%;
}
.w-900{
	max-width: 960px;
	margin: 10px auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 10px auto;
	gap: 20px;
}
.w-900m{
	max-width: 900px;
	margin: 10px auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 10px auto;
	gap: 20px;
}
.w-900m li{
	width: 48.5%;
}
.w-900 li{
	width: 48%;
}
.w-100{
	width: 100% !important;
}
.gap-0{
	gap: 0 !important;
}
.border-b{
	border-bottom: 1px solid #444444;
  	display: inline-block;
}
.col-3{
	width: 30%;
}
.w-900 .col-3{
	width: 43%;
}
.mt-120{
	margin-top: 120px;
}
@media only screen and (max-width: 768px) {
	.only-pc {
		display: none !important;
	}
	.only-sp {
		display: inline !important;
	}
	.br-40{
	border-radius: 20px;
	}
	.br-30{
		border-radius: 20px;
	}
	.br-20{
		border-radius: 10px;
	}
	.grid-column02-wrap{
		display: grid;
		gap: 50px;
	}
	.grid-column02 {
		display: grid;
		gap: 30px;
	}
	.column02-text {
		width: 100%;
		margin-top: 0px;
	}
	.column02-img {
	width: 100%;
	}
	.history-wrap {
		padding: 40px 5px;
	}
	.history-wrap li {
		display: grid;
		gap: 10px;
	}
	.page-catch {
		font-size: 1.6rem;
		margin: 30px 0;
	}
	.history-wrap ul{
		padding: 0 10px;
	}
	.history-wrap li p {
		width: 100%;
	}
	.h3-list {
		gap: 30px;
		margin-top: 20px;
	}
	.h3-dot {
  		margin-bottom: 10px;
	}
	.content-m {
		margin-bottom: 80px;
	}
	.grid-column02:nth-child(even) .column02-img{
		order: 2;
	}
	.page-hero h1 {
		font-size: 2.4rem;
		width: 90%;
	}
	.page-hero-img {
		margin: 60px 0;
	}
	.under-line{
		margin-bottom: 20px;
	}
	.num span {
		top: 50%;
	}
	.num span::before {
		width: 25px;
		height: 25px;
		left: 4px;
	}
	.num {
  		margin-bottom: 15px;
	}
	.w-600,.w-900{
		display: grid;
	}
	.w-600 li,.w-900 li {
  		width: 100%;
	}
	.col-3{
	width: 100%;
	}
	.box-solid5 {
		padding: 40px 20px;
	}
	.mt-hero{
		margin-top: 60px;
	}
	.w-900m li{
		width: 100%;
	}
	.mt-120{
		margin-top: 80px;
	}
	.header-inner .logo img{
		width: 140px;
	}
}

