/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/

@charset "UTF-8";


/* Local Font Definitions
==================================================*/
@font-face {
	font-family: 'M PLUS 1';
	src: url('https://22128465.fs1.hubspotusercontent-na1.net/hubfs/22128465/raw_assets/public/LP/fonts/MPLUS1-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'M PLUS 1';
	src: url('https://22128465.fs1.hubspotusercontent-na1.net/hubfs/22128465/raw_assets/public/LP/fonts/MPLUS1-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

/* Common Setting (ver 1.0) 
==================================================*/
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* body
	------------------------------------------------*/
html {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	font-size: 100%;
}

body {
	width: 100%;
	margin: 0;
	padding: 0;
	color: #454A4F;
	text-align: center;
	font-size: 16px;
	line-height: 180%;
	height: 100%;
	font-family: 'M PLUS 1', sans-serif;
	word-break: break-all;
	overflow-x: hidden;
}

img {
	vertical-align: bottom;
	border: none;
	width: 100%;
}

dl,
dt,
dd,
ul,
li {
	list-style-type: none;
	margin: 0;
	padding: 0;
	font-size: 100%;
}

h1,
h2,
h3,
h4,
h5 {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-weight: normal;
}

a {
	text-decoration: none;
	color: #000;
}

a:visited {
	color: #454A4F;
	text-decoration: none;
}

a:hover {
	color: #FA5560;
	text-decoration: underline;
}

a:active {
	color: #454A4F;
	text-decoration: none;
}

a img:hover {
	opacity: 0.7;
}

p {
	padding: 0;
	margin: 0;
}

header {
	width: 100%;
	text-align: center;
	margin: 0;
}

.text_red {
	color: #FA5560;
}

.header {
	width: 100%;
	height: 628px;
	position: relative;
}

.header_background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
	z-index: 1;
}

.header_back {
	width: 1228px;
	height: auto;
	margin: 0 auto;
	display: flex;
	gap: 0px;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 3em;
	position: relative;
	z-index: 2;
}

.header_contacts {
	text-align: left;
	padding-top: 3em;
}

.header_contacts img {
	width: 660px;
	height: auto;
}

.header_contacts p {
	font-size: 125%;
}

.header_contacts p.txtRed {
	color: #FA5560;
	font-size: 150%;
	font-weight: 600;
}

.header_contacts .btn_red {
	margin-top: 1.5em;
}

h1 {
	font-size: 350%;
	line-height: 140%;
	font-weight: 600;
	margin: 0.5em 0;
}

h2 {
	font-size: 225%;
	line-height: 140%;
	font-weight: 600;
	margin-bottom: 0.5em;
}

h3 {
	font-size: 150%;
	font-weight: 100;
}

h4 {
	font-size: 150%;
	font-weight: 600;
	margin-bottom: 0.5em;
}

.btn_red {
	width: 280px;
	padding: 15px 0;
	color: #FFF;
	font-size: 150%;
	font-weight: 600;
	text-align: center;
	border-radius: 30px;
	background: #FA5560;
	box-shadow: 1px 1px 20px 0 rgba(250, 85, 96, 0.50);
	transition: 0.4s;
	display: inline-block;
}

.btn_red:hover {
	filter: brightness(0.9);
}

.sections {
	width: 1228px;
	margin: 5em auto 0;
}

.contents {
	display: flex;
	gap: 2.11%;
	align-items: stretch;
	margin: 0 auto 0;
}

.contents_ballon {
	width: 31.9%;
	display: flex;
	/* 子要素の直下の孫要素を縦積みにする */
	flex-direction: column;
	/* 縦積みにする */

}

.balloon {
	position: relative;
	display: inline-block;
	padding: 50px;
	width: 100%;
	height: auto;
	border-radius: 50%;
	box-sizing: border-box;
	background: #F5F5F5;
	border: #FFF 2px solid;
	text-align: left;
	filter: drop-shadow(1px 5px 10px rgba(0, 0, 0, 0.10));
	margin-top: 2em;
	z-index: 99;
	flex: 1;
	/* 高さを親要素に合わせて伸びるようにする */
}


.balloon:after {
	content: "";
	position: absolute;
	bottom: -8px;
	right: 50px;
	margin-top: 0px;
	border: 15px solid transparent;
	border-left: 25px solid #F5F5F5;
	z-index: 0;
	-webkit-transform: rotate(65deg);
	transform: rotate(65deg);
	fill: #F5F5F5;
	stroke-width: 2px;
	stroke: #FFF;
	/*filter: drop-shadow(1px 1px 10px rgba(0, 0, 0, 0.10));*/
	z-index: 8;
}

.cont_inner {
	width: 100%;
	display: flex;
	gap: 0px;
	justify-content: center;
	align-items: center;
}

.arrow_u {
	color: #FA5560;
	font-size: 125%;
	font-weight: 600;
}

.arrow_u img {
	width: 40px;
}

.img_h {
	width: 28%;
}

.cont_inner_box {
	width: 100%;
	border-radius: 30px;
	padding: 30px 20px 60px;
	background: #FFF;
	box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.10);
	text-align: left;
	position: relative;
	margin-bottom: 6em;
}

.cont_inner_box_img {
	position: absolute;
	left: 20px;
	bottom: -85px;
	width: 24%;
}

.cont_inner_icon {
	margin-top: 3em;
	width: 31.9%;
	text-align: center;
}

.icon {
	margin-bottom: 1.0em;
}

.icon img {
	width: 64px
}

.contents_box {
	width: 100%;
	border-radius: 30px;
	padding: 60px 100px;
	background: #FFF;
	box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.10);
	margin: 7em auto;
}

.txt_flow {
	margin-top: 2em;
	width: 497px;
	text-align: left;
	font-size: 125%;
}

.img_flow {
	margin-top: 2em;
	width: 497px;
}


// タブ
// ========================================================

// 読み込み時にslickが縦並びになるのを防ぐ
.slide__tabs,
.slide__list {
	opacity: 0;
	transition: opacity 0.3s linear;
}

.slick-initialized {
	opacity: 1;
}


.slide__tabs {
	width: max-content;
}

.slide__tabs__wrap {
	position: relative;
	top: 0;
	z-index: 1;
}

.slide__tabs .tab {
	width: auto;
	margin: 1.5em auto;
	border-radius: 30px;
	background: #D9D9D9;
	padding: 10px 20px;
	font-size: 125%;
	font-weight: 600;
	position: relative;
	cursor: pointer;
}

.slide__tabs .tab::after {
	content: url("https://22128465.fs1.hubspotusercontent-na1.net/hubfs/22128465/ma/navigate_next.svg");
	position: absolute;
	top: 25%;
	left: 102%;
	width: 24px;
	height: 24px;
}

.slide__tabs .tab:last-child::after {
	content: '';
}

.slide__tabs .slick-active.tab {
	width: auto;
	border-radius: 30px;
	background: #FA5560;
	padding: 10px 20px;
	font-size: 125%;
	font-weight: 600;
	color: #FFF;
}

.slide__tabs .slick-slide:not(:last-child) {
	margin-right: 34px;
}

.slide__tabs .slick-list {
	overflow-x: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.slide__tabs .slick-list::-webkit-scrollbar {
	display: none;
}

.slide__tabs .slick-track {
	width: max-content !important;
	transform: none !important;
}

.slick-track button {
	cursor: pointer;
	border: none;
  color: #000;
}

.item {
	position: relative;
}

.slide-arrow {
	width: 32px;
	cursor: pointer;
	position: absolute;
}

.prev-arrow {
	top: 50%;
	left: -58px;
	z-index: 5;
}

.next-arrow {
	transform: scale(-1, 1);
	top: 50%;
	right: -58px;
	z-index: 6;
}

.footer_area {
	width: 100%;
	background: #F5F5F5;
	margin: 0 auto;
	padding: 2em 0;
	text-align: center;
}

.footer01 {
	width: 1228px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	background-color: #F5F5F5;
}

.footer01Inner {
	text-align: left;
	width: auto;
}

.footer01Inner:first-child {
	margin-right: auto
}

.footer01Inner img {
	width: 24px;
}

.footer02 {
	width: 100%;
	text-align: center;
	font-size: 80%;
	margin: 2em auto 0;
}



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

	.header_back,
	.sections,
	.footer01 {
		width: 90%;
	}

	.header_contacts {
		width: 50%;
	}

	.header_contacts img {
		width: 100%;
	}

	.txt_flow {
		width: 50%;
	}

	.img_flow {
		width: 50%;
	}

	.slide__tabs__wrap {
		position: relative;
		top: 0;
		z-index: 1;
		overflow-x: scroll;
		transition: All 0.2s ease;
	}

	.slide__tabs .slick-list {
		overflow-x: scroll;
	}
}

@media screen and (max-width: 1018px) {
	h1 {
		font-size: 250%;
	}
}

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

	body {
		font-size: 14px;
	}

	h1 {
		font-size: 350%;
	}

	.header {
		width: 100%;
		height: auto;
	}

	.header_back {
		flex-wrap: wrap;
		height: auto;
	}

	.header_contacts {
		width: 100%;
	}

	.header_contacts img {
		width: 100%;
	}

	.contents {
		flex-wrap: wrap;
	}

	.contents_ballon {
		flex-wrap: wrap;
		width: 100%;
	}

	.balloon {
		width: 100%;
	}

	.balloon:after {
		bottom: -3px;
	}

	.cont_inner_box_img {
		bottom: -110px;
		width: 16%;
	}

	.img_h {
		width: 20%;
	}

	.cont_inner {
		width: 100%;
	}

	.cont_inner_box {
		width: 100%;
	}

	.cont_inner_icon {
		width: 100%;
	}

	.contents_box {
		padding: 30px 15px;
	}

	.txt_flow {
		width: 100%;
	}

	.img_flow {
		width: 100%;
	}

	.footer01 {
		flex-wrap: wrap;
	}

	.footer01Inner {
		width: 100%;
		text-align: center;
	}

	.footer01Inner:last-child {
		padding-top: 2em;
	}

	.prev-arrow {
		left: -15px;
	}

	.next-arrow {
		right: -15px;
	}
}

@media screen and (max-width: 539px) {
	h1 {
		font-size: 250%;
	}

	.cont_inner_box_img {
		bottom: -85px;
		width: 24%;
	}

	.img_h {
		width: 28%;
	}

	.balloon:after {
		bottom: -8px;
	}
}