@charset "utf-8";

:root {
	--color-white: #FFFFFF;
	--color-black: #000000;
	--color-brown-dark: #453530;
	--color-brown-deep: #44332E;
	--color-orange: #FF3C00;
	--color-gray: #B4B4B4;
	--color-gray-light: #BEBEBF;
	--color-gray-dark: #696D77;
	--color-gray-medium: #6A6D76;
	--color-blue: #6EA5C8;
	--color-blue-sky: #6EA6C9;
	--color-blue-light: #C2E4E8;
	--color-blue-pastel: #A1C1DD;
	--color-blue-powder: #DCEFF5;
	--color-blue-ice: #E9EDFF;
	--color-blue-baby: #E0F1F9;
	--color-lavender: #D0D4EB;
	--color-pink-lavender: #C4AFC7;
	--color-purple: #A391AE;
	--color-purple-light: #A9ADBB;
	/* --font-zenmaru: "Zen Maru Gothic", serif;
	--font-zenkaku: "Zen Kaku Gothic New", serif;
	--font-tsukimi: "Tsukimi Rounded", serif;
	--font-ibmplex: "IBM Plex Sans JP", serif; */
}

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
	scroll-padding: 64px;
}

body {
	font-size: 1.6rem;
	line-height: 1.75;
	/* font-family: var(--font-zenkaku), 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif; */
	font-family: 'Noto Sans JP', sans-serif;
	color: var(--color-gray-dark);
	background-image: var(--bg-common);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	text-align: justify;
}

main {
	overflow: hidden;
}

a {
	text-decoration: none;
	color: var(--main_color);
}

.center {
	margin-left: auto;
	margin-right: auto;
}

.inner {
	max-width: 1200px;
	padding-left: 5.6%;
	padding-right: 5.6%;
}

.inner-sub {
	max-width: 930px;
}

.inner-small {
	max-width: 800px;
}

.section {
	padding-bottom: 144px;
}

.display-none {
	display: none;
}


@media screen and (max-width:1025px) {
	.inner-sub {
		padding-left: 5.6%;
		padding-right: 5.6%;
	}

	.inner-small {
		max-width: 700px;
	}

	/*===========max-width:1025px============*/
}

@media screen and (max-width:768px) {
	.section {
		padding-bottom: 80px;
	}

	.inner-small {
		max-width: initial;
		padding-left: 3%;
	}

	/*===========max-width:768px============*/
}

iframe {
	vertical-align: bottom;
}

/*================
フレックス
================*/
/* 中央寄せ */
.flex--center {
	display: flex;
	justify-content: center;
	align-items: center;
}

/* 横並び */
.flex--row {
	display: flex;
	flex-direction: row;
}

/* 縦並び*/
.flex--column {
	display: flex;
	flex-direction: column;
}

/*縦並び・中央寄せ  */
.flex--column-center {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

/* 折り返し */
.flex--wrap {
	flex-wrap: wrap;
}

/* tab縦並び */
@media screen and (max-width: 767px) {
	.flex--row-tab {
		flex-direction: column;
	}
}

/* sp縦並び */
@media screen and (max-width:600px) {
	.flex--row-sp {
		flex-direction: column;
	}

	/*===========max-width:600px============*/
}

/*================
絶対位置
================*/
.relative {
	position: relative;
}

/*================
テキスト
================*/
/* 中央寄せ */
.text--center {
	text-align: center;
}

/* 右よせ */
.text--right {
	text-align: right;
}

/* 左よせ */
.text--left {
	text-align: left;
}

/* 垂直方向に中央揃え */
.text--vertical-center {
	display: flex;
	align-items: center;
}

.text-bg-blue {
	background-color: rgba(156, 190, 218, .2);
	padding: 7px;
	display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	font-family: var(--font-ibmplex);
	font-weight: 700;
	font-size: 16px;
	line-height: 2.8;
	letter-spacing: .28em;
}

.text-bg-gray {
	background-color:var(--color-gray-dark);
	color: var(--color-white);
	padding: 2px 8px;
	display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	font-family: var(--font-ibmplex);
	font-weight: 500;
	font-size: 14px;
	line-height: 2.8;
	letter-spacing: .28em;
}

@media screen and (max-width:768px) {
	.text-bg-blue {
		font-size: 14px;
	}

	/*===========max-width:768px============*/
}

/* 余白 */
.padding-bottom_0{
	padding-bottom: 0;
}
.padding-top_0{
	padding-top: 0;
}

/* 改行 */
.br-pc {
	display: block;
}

.br-sp {
	display: none;
}

.br-tab {
	display: block;
}

@media screen and (max-width:960px) {
	.br-tab {
		display: none;
	}

	/*===========max-width:960px============*/
}

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

	/*===========max-width:768px============*/
}

@media screen and (max-width:600px) {
	.br-sp {
		display: block;
	}

	/*===========max-width:600px============*/
}

/*================
ボタン
================*/
/* 白ボタン */
.btn-white {
	display: inline-block;
	padding: 11px 34px;
	background-color: #fff;
	font-family: var(--font_ibmplex);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: .2em;
	border-radius: 15px;
	transition: all 0.3s ease;
}

.btn-white:hover {
	transform: translateY(-5px);
}

.btn-white:active {
	transform: translateY(-2px);
}

/* グラデーションボタン */
.btn-gradation {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 328px;
	height: 64px;
	text-decoration: none;
	border-radius: 30px;
	background: linear-gradient(to right, #B3D9FF, #B5EEBD);
	cursor: pointer;
	transition: all 0.3s ease;
}

.btn-gradation:hover {
	transform: translateY(-5px);
}

.btn-gradation:active {
	transform: translateY(-2px);
}

.btn-gradation .btn-gradation__text {
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--color-gray-dark);
	font-size: 14px;
	letter-spacing: .2rem;
	font-family: var(--font-ibmplex);
	font-weight: 500;
	border: none;
	background-color: initial;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

@media screen and (max-width:768px) {
	.btn-gradation {
		width: 256px;
	}

	/*===========max-width:768px============*/
}

/* ラインボタン */
.btn-line {
	position: relative;
	display: inline-block;
	align-items: center;
	font-size: 14px;
	font-family: var(--font-ibmplex);
	letter-spacing: .2em;
	font-weight: 600;
	transition: color 0.3s ease-out;
	cursor: pointer;
}

.btn-line::before {
	content: "";
	position: absolute;
	left: 100px;
	top: 12px;
	width: 83px;
	height: 1px;
	background-color: var(--color-gray-dark);
	transition: transform 0.3s ease-out;
	cursor: pointer;
}

.btn-line__circle {
	position: absolute;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: linear-gradient(135deg, #B3D9FF, #B5EEBD);
	display: flex;
	justify-content: center;
	align-items: center;
	top: -6px;
	left: 163px;
	z-index: -1;
	transition: transform 0.3s ease-out;
	cursor: pointer;
}

.btn-line__icon {
	position: absolute;
	width: 6px;
	height: 6px;
	display: block;
	top: 9.7px;
	left: 176px;
	border-top: 1px solid var(--color-gray-dark);
	border-right: 1px solid var(--color-gray-dark);
	transform: rotate(45deg);
	transition: transform 0.3s ease-out;
	cursor: pointer;
}

.btn-line:hover {
	opacity: .8;
}

.btn-line:hover .btn-line__circle {
	transform: translateX(15px);
}

.btn-line:hover .btn-line__icon {
	transform: translateX(15px) rotate(45deg);
}


.btn-line:hover::before {
	transform: translateX(15px);
}

/* シュミレーションボタン */
.btn-brown {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 100%;
	background-color: #A29494;
	padding-top: 32px;
	padding-bottom: 32px;
	border-radius: 30px;
	cursor: pointer;
	transition: transform 0.3s ease-out;
}

.btn-brown .btn-brown__icon {
	width: 72px;
}

.btn-brown .btn-brown__text {
	font-family: var(--font-ibmplex);
	font-size: 22px;
	letter-spacing: .3em;
	font-weight: 500;
	color: var(--color-white);
}

.btn-brown:hover {
	transform: translateY(-5px);
}

@media screen and (max-width:600px) {
	.btn-brown {
		padding-top: 16px;
		padding-bottom: 16px;
	}

	.btn-brown .btn-brown__icon {
		width: 40px;
	}

	.btn-brown .btn-brown__text {
		font-size: 16px;
	}

	/*===========max-width:600px============*/
}