@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Cabin:ital,wght@0,400..700;1,400..700&family=Noto+Sans+JP:wght@100..900&display=swap");

@font-face {
	font-style: normal;
	font-weight: normal;
	font-family: "icomoon";

	src: url("/font/icomoon.eot?z879vh");
	src: url("/font/icomoon.eot?z879vh#iefix") format("embedded-opentype"),
	url("/font/icomoon.ttf?z879vh") format("truetype"),
	url("/font/icomoon.woff?z879vh") format("woff"),
	url("/font/icomoon.svg?z879vh#icomoon") format("svg");
	font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	line-height: 1;
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: "icomoon" !important;
	text-transform: none;

	speak: never;
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-arrow:before {
	content: "\e900";
}

.icon-phone:before {
	content: "\e942";
}

body {
	position: relative;
	min-width: 1240px;
	color: #333333;
	font-size: 16px;
	line-height: 1.65;
	font-family: "Cabin", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	letter-spacing: 0.02em;
	outline: none;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}

img {
	max-width: 100%;
	height: auto;
}

.hovact {
	transition: opacity 0.4s;
}

.hovact:hover {
	opacity: 0.6;
}

.inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 40px;
}

.cmnhd {
	position: relative;
	z-index: 10;
	padding: 0 0 0 30px;
}

.cmnhd_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.cmnhd_logo {
	position: relative;
	z-index: 5000;
}

.cmnhd_nav {
	display: flex;
	align-items: center;
	gap: 28px;
	font-weight: 500;
}

.cmnhd_nav_cntct {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 148px;
	height: 80px;
	border-radius: 0 0 0 10px;
	background: #00b4df;
	color: #ffffff;
}

.menu {
	position: relative;
	z-index: 5000;
	width: 21px;
	height: 17px;
}

.menu span {
	display: block;
	position: absolute;
	right: 50%;
	bottom: 50%;
	width: 21px;
	height: 3px;
	background: #00b4df;
	transition: all 0.4s;
}

.menu span:first-child {
	transform: translate(50%, calc(50% - 6px));
}

.menu span:nth-child(2) {
	transform: translate(50%, 50%);
}

.menu span:last-child {
	transform: translate(50%, calc(50% + 6px));
}

.-open.menu span:first-child {
	transform: translate(50%, 50%) rotate(45deg);
}

.-open.menu span:nth-child(2) {
	opacity: 0;
}

.-open.menu span:last-child {
	transform: translate(50%, 50%) rotate(-45deg);
}

.cmnnav {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4999;
	width: 100%;
	padding: 90px 24px 30px;
	background: #ffffff;
}

.cmnnav_wrap {
}

.cmnnav_link {
	margin-bottom: 30px;
}

.cmnnav_link_list {
	border-bottom: 1px solid #cccccc;
}

.cmnnav_link_list a {
	display: flex;
	padding: 13px 14px 12px;
	font-weight: 500;
	font-size: 18px;
}

.cmnnav_cntct {
}

.cmnnav_cntct_tel {
	margin-bottom: 10px;
}

.cmnnav_cntct_tel_cnt {
	display: flex;
	flex-flow: column;
	justify-content: center;
	width: 100%;
	height: 100px;
	border: 3px solid #00b4df;
	border-radius: 10px;
	background: #ffffff;
	text-align: center;
}

.cmnnav_cntct_tel_num {
	color: #f83000;
	font-size: 32px;
	line-height: 1;
}

.cmnnav_cntct_tel_num span {
	font-size: 22px;
}

.cmnnav_cntct_tel_note {
	font-size: 10px;
}

.cmnnav_cntct_form {
}

.cmnnav_cntct_form_cnt {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	width: 100%;
	height: 100px;
	border: #ffffff 3px solid;
	border-radius: 10px;
	background: #00b4df;
	color: #ffffff;
	font-weight: bold;
	font-size: 18px;
	transition: all 0.4s;
}

.cmnnav_cntct_form_cnt .icon-arrow {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid #00b4df;
	border-radius: 50%;
	background: #ffffff;
	color: #0096df;
	font-size: 12px;
	transition: all 0.4s;
}

.page_hd {
	padding: 130px 0 100px;
	overflow: hidden;
}

.page_hd-inner {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0 50px;
}

.page_hd_ttl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	z-index: 10;
}

.page_hd_ttl_en {
	position: relative;
	z-index: 5;
	padding: 15px 70px 15px 0;
	color: #004cb4;
	font-size: 120px;
}

.page_hd_ttl_en::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	width: calc(100% + 70px);
	height: 100%;
	border-radius: 50px;
	background: #ffffff15;

	backdrop-filter: blur(30px);
}

.page_hd_ttl_en span {
	color: #00b4df;
}

.page_hd_ttl_jp {
	display: flex;
	align-items: center;
	gap: 35px;
	font-weight: 500;
	font-size: 40px;
}

.page_hd_ttl_jp::before {
	content: "";
	display: block;
	width: 155px;
	height: 3px;
	background: linear-gradient(to left, #00b4df, #004cb4);
}

.page_hd_img {
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
}

.page_hd_img_item {
	background-position: center;
	background-size: cover;
}

.page_hd_img_main {
	position: relative;
	top: -60px;
	z-index: 2;
	width: 75%;
	min-width: 1000px;
	height: 550px;
	border-radius: 50px;
}

.page_hd_img_sub {
	position: absolute;
	right: -120px;
	bottom: -10px;
	z-index: 1;
	width: 44%;
	max-width: 600px;
	height: 465px;
	border-radius: 50px;

	-ms-filter: blur(10px);
	    filter: blur(10px);
}

.s-page_hd {
	padding: 130px 0 100px;
	overflow: hidden;
	background: linear-gradient(to bottom, #ffffff 250px, #d7edf7);
}

.s-page_hd_ttl {
}

.s-page_hd_ttl_jp {
	display: flex;
	align-items: center;
	gap: 25px;
	position: relative;
	z-index: 5;
	width: 900px;
	padding: 88px 0;
	font-weight: 500;
	font-size: 40px;
}

.s-page_hd_ttl_jp::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	width: calc(100% + 390px);
	height: 100%;
	border-radius: 50px;
	background: #ffffff;
}

.s-page_hd_ttl_jp::after {
	content: "";
	display: block;
	width: 155px;
	height: 3px;
	background: linear-gradient(to left, #00b4df, #004cb4);
}

.p-intro {
	padding-bottom: 100px;
}

.p-intro_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 60px;
}

.p-intro_cnt {
}

.p-intro_catch {
	margin-bottom: 15px;
	font-weight: 500;
	font-size: 38px;
}

.p-intro_txt {
	line-height: 2;
}

.contnts {
}

.contnts_hd {
	position: relative;
	height: 550px;
	padding-top: 130px;
}

.contnts_hd_img {
	position: absolute;
	top: 0;
	right: 0;
	width: calc(580px + 50dvw);
	min-width: 1200px;
	height: 500px;
	border-radius: 50px 0 0 50px;
}

.contnts_hd_item {
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, #ffffff, #d7edf7);
}

.contnts_wrap {
}

.c-sec {
	padding: 100px 0 80px;
	background: #d7edf7;
}

.c-sec_wrap {
}

.c-sec_hd {
	margin-bottom: 40px;
}

.c-sec_hd h2 {
	margin-bottom: 15px;
	font-weight: 500;
	font-size: 28px;
}

.c-sec_hd p {
}

.s-sec {
	background: #d7edf7;
}

.pnkz {
	padding: 25px 0;
}

.pnkz.bg-b {
	background: #d7edf7;
}

.pnkz_wrap {
	display: flex;
	gap: 15px;
}

.pnkz_list {
	font-size: 14px;
}

.pnkz_link {
	display: flex;
	align-items: center;
	gap: 18px;
}

.pnkz_link a {
	text-decoration: underline;
}

.pnkz_link::after {
	content: ">";
	display: block;
	color: #00b4df;
}

.pnkz_now {
	color: #aaaaaa;
}

.cmnft {
}

.cmnft_cntct {
	padding: 50px 0;
	background: #00b4df;
}

.cmnft_cntct-inner {
	max-width: 1420px;
	margin: 0 auto;
	padding: 0 40px;
}

.cmnft_cntct_wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

.cmnft_cntct_tel {
}

.cmnft_cntct_tel_cnt {
	display: flex;
	flex-flow: column;
	justify-content: center;
	width: 100%;
	height: 200px;
	border-radius: 10px;
	background: #ffffff;
	text-align: center;
}

.cmnft_cntct_tel_ttl {
	font-weight: bold;
	font-size: 18px;
}

.cmnft_cntct_tel_num {
	color: #f83000;
	font-size: 50px;
	line-height: 1;
}

.cmnft_cntct_tel_num span {
	font-size: 35px;
}

.cmnft_cntct_tel_note {
}

.cmnft_cntct_form {
}

.cmnft_cntct_form_cnt {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	width: 100%;
	height: 200px;
	border: #ffffff 3px solid;
	border-radius: 10px;
	background: #00b4df;
	color: #ffffff;
	font-weight: bold;
	font-size: 22px;
	transition: all 0.4s;
}

.cmnft_cntct_form_cnt:hover {
	background: #ffffff;
	color: #00b4df;
}

.cmnft_cntct_form_cnt .icon-arrow {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid #00b4df;
	border-radius: 50%;
	background: #ffffff;
	color: #0096df;
	font-size: 17px;
	transition: all 0.4s;
}

.cmnft_cntct_form_cnt:hover .icon-arrow {
	background: #0096df;
	color: #ffffff;
}

.cmnft_cnt {
}

.cmnft_top {
	padding: 85px 0 75px;
}

.cmnft_top_wrap {
	display: flex;
	justify-content: space-between;
}

.cmnft_top_detail {
}

.cmnft_top_detail_logo {
	margin-bottom: 20px;
}

.cmnft_top_detail_address {
	display: flex;
	align-items: center;
	gap: 25px;
	margin-bottom: 22px;
}

.cmnft_top_detail_address a {
	display: flex;
	align-items: center;
	gap: 4px;
}

.cmnft_top_detail_address a p {
	text-decoration: underline;
}

.cmnft_top_detail_cnt {
}

.cmnft_top_link {
}

.cmnft_top_link_wrap {
	display: flex;
	gap: 100px;
}

.cmnft_top_link_cnt {
	display: flex;
	flex-flow: column;
	gap: 20px;
}

.cmnft_top_link_cnt a {
	display: flex;
}

.cmnft_btm {
	padding: 30px 0;
	border-top: 1px solid #cccccc;
}

.cmnft_btm_wrap {
	display: flex;
	justify-content: space-between;
}

.vis-sp,
.vis-tb {
	display: none;
}

@media screen and (max-width:1240px) {
	.vis-tb {
		display: block;
	}

	.hide-tb {
		display: none;
	}
}

@media screen and (max-width:768px) {
	body {
		min-width: 0;
	}

	.inner {
		padding: 0 24px;
	}

	img {
	}

	.hovact {
	}

	.hovact:hover {
	}

	.cmnhd {
		padding: 15px 18px 15px 13px;
	}

	.cmnhd_wrap {
	}

	.cmnhd_logo {
		width: 290px;
	}

	.cmnhd_nav {
	}

	.cmnhd_nav_cntct {
	}

	.page_hd {
		padding: 30px 0;
	}

	.page_hd-inner {
		padding: 0 12px;
	}

	.page_hd_ttl {
		flex-flow: column;
		align-items: start;
		width: calc(100% - 50px);
		padding-bottom: 30px;
	}

	.page_hd_ttl_en {
		position: unset;
		width: 100%;
		padding: 20px 0 0;
		font-size: 40px;
	}

	.page_hd_ttl_en::after {
		width: calc(100% + 51px);
		border-radius: 30px;
	}

	.page_hd_ttl_en span {
	}

	.page_hd_ttl_jp {
		flex-flow: row-reverse;
		gap: 12px;
		position: relative;
		z-index: 10;
		font-size: 18px;
	}

	.page_hd_ttl_jp::before {
		width: 60px;
		height: 2px;
	}

	.page_hd_img {
	}

	.page_hd_img_item {
	}

	.page_hd_img_main {
		top: -22px;
		width: 100%;
		min-width: unset;
		height: auto;
		border-radius: 30px;
		aspect-ratio: 360 / 200;
	}

	.page_hd_img_sub {
		right: -23px;
		bottom: 0;
		width: 200px;
		height: 155px;
		border-radius: 10px;
	}

	.s-page_hd {
		padding: 50px 0 70px;
		background: linear-gradient(to bottom, #ffffff 50px, #d7edf7);
	}

	.s-page_hd_ttl {
	}

	.s-page_hd_ttl_jp {
		width: 100%;
		padding: 38px 0;
		font-size: 28px;
	}

	.s-page_hd_ttl_jp::before {
		border-radius: 30px;
	}

	.s-page_hd_ttl_jp::after {
		width: 80px;
		height: 2px;
	}

	.p-intro {
		padding-bottom: 70px;
	}

	.p-intro_wrap {
		flex-flow: column;
		gap: 30px;
	}

	.p-intro_cnt {
	}

	.p-intro_catch {
		font-size: 28px;
	}

	.p-intro_txt {
		line-height: 1.6;
	}

	.contnts {
	}

	.contnts_hd {
		height: 240px;
	}

	.contnts_hd_img {
		width: calc(100% - 24px);
		min-width: unset;
		height: 240px;
		border-radius: 30px 0 0 30px;
	}

	.contnts_hd_item {
	}

	.contnts_wrap {
	}

	.c-sec {
		padding: 40px 0 50px;
	}

	.c-sec_wrap {
	}

	.c-sec_hd {
	}

	.c-sec_hd h2 {
		font-size: 20px;
	}

	.c-sec_hd p {
	}

	.s-sec {
	}

	.pnkz {
		padding: 15px 0;
	}

	.pnkz.bg-b {
	}

	.pnkz_wrap {
	}

	.pnkz_list {
		font-size: 12px;
	}

	.pnkz_link {
	}

	.pnkz_link a {
	}

	.pnkz_link::after {
	}

	.pnkz_now {
	}

	.cmnft {
	}

	.cmnft_cntct {
	}

	.cmnft_cntct-inner {
		padding: 0 24px;
	}

	.cmnft_cntct_wrap {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.cmnft_cntct_tel {
	}

	.cmnft_cntct_tel_cnt {
		height: 120px;
	}

	.cmnft_cntct_tel_ttl {
		font-size: 16px;
	}

	.cmnft_cntct_tel_num {
		font-size: 32px;
	}

	.cmnft_cntct_tel_num span {
		font-size: 24px;
	}

	.cmnft_cntct_tel_note {
		font-size: 12px;
	}

	.cmnft_cntct_form {
	}

	.cmnft_cntct_form_cnt {
		height: 120px;
		font-size: 16px;
	}

	.cmnft_cntct_form_cnt:hover {
	}

	.cmnft_cntct_form_cnt .icon-arrow {
		width: 30px;
		height: 30px;
		font-size: 12px;
	}

	.cmnft_cntct_form_cnt:hover .icon-arrow {
	}

	.cmnft_cnt {
	}

	.cmnft_top {
		padding: 50px 0;
	}

	.cmnft_top_wrap {
	}

	.cmnft_top_detail {
	}

	.cmnft_top_detail_logo {
	}

	.cmnft_top_detail_address {
		flex-flow: column;
		align-items: start;
		gap: 10px;
	}

	.cmnft_top_detail_address a {
	}

	.cmnft_top_detail_address a p {
	}

	.cmnft_top_detail_cnt {
		font-size: 12px;
	}

	.cmnft_top_link {
	}

	.cmnft_top_link_wrap {
	}

	.cmnft_top_link_cnt {
	}

	.cmnft_top_link_cnt a {
	}

	.cmnft_btm {
	}

	.cmnft_btm_wrap {
		flex-flow: column;
		align-items: center;
		gap: 20px;
	}

	.vis-sp {
		display: block;
	}

	.hide-sp {
		display: none;
	}
}

@media print {
}
