@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500..800&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
}
img {
		border: none;
		vertical-align: top;
}
@font-face {
		font-family: 'BaseFont-JP';
		src: url("/assets/fonts/Basefont-Demilight.woff") format("woff");
		font-style: normal;
		font-weight: normal;
}
@font-face {
		font-family: 'BaseFont-JP';
		font-style: normal;
		font-weight: bold;
		src: url("/assets/fonts/Basefont-Medium.woff") format("woff");
}
@font-face {
		font-family: 'BaseFont-JP--strong';
		font-style: normal;
		font-weight: normal;
		src: url("/assets/fonts/Basefont-Medium.woff") format("woff");
}
body {
		background: #fff9e6;
		font-family: YakuHanJP, "BaseFont-JP", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
		font-size: 16px;
		color: #1e1e1e;
		line-height: 1;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, p, li {
		letter-spacing: 0.05em;
}
@media(max-width: 767px) {
		body {
				font-size: 15px;
		}
}
header {
		width: 100%;
		height: 100px;
}
.header_inner {
		padding: 25px 40px 0;
}
.header_logo {
		width: 132px;
}
.header_logo img {
		width: 100%;
		height: auto
}
.kv_section {
		max-width: 2000px;
		margin: 0 auto 80px;
}
.kv_section img {
		width: 100%;
		height: auto
}
@media(max-width: 767px) {
		header {
				height: 60px;
		}
		.header_inner {
				padding: 14px 20px 0;
		}
		.header_logo {
				width: 85px;
		}
		.kv_section {
				margin: 0 auto 50px;
		}
}
/* ================ */
.about_section {
		padding: 0 40px 100px;
}
.about_inner {
		max-width: 860px;
		margin: 0 auto;
		padding: 0;
		position: relative;
}
.about_inner_bg-1, .about_inner_bg-3 {
		max-width: 1280px;
		margin: 0 auto;
		position: relative;
		pointer-events: none;
}
.about_inner_bg-2, .about_inner_bg-4 {
		max-width: 1040px;
		margin: 0 auto;
		position: relative;
		pointer-events: none;
}
.about_inner_bg-1 div {
		width: 100%;
		height: 120px;
		position: absolute;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100%;
		transition: transform 0.1s;
}
.about_inner_bg-2 div {
		width: 100%;
		height: 120px;
		position: absolute;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100%;
		top: -60px;
		transition: transform 0.1s;
}
.about_inner_bg-3 div {
		width: 100%;
		height: 120px;
		position: absolute;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100%;
		top: 340px;
		transition: transform 0.1s;
}
.about_inner_bg-4 div {
		width: 100%;
		height: 120px;
		position: absolute;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100%;
		top: -60px;
		transition: transform 0.1s;
}
.about_inner_bg-1 div.first {
		background-image: url("../images/about_inner_bg-1-1.png")
}
.about_inner_bg-1 div.second {
		background-image: url("../images/about_inner_bg-1-2.png")
}
.about_inner_bg-2 div.first {
		background-image: url("../images/about_inner_bg-2-1.png")
}
.about_inner_bg-2 div.second {
		background-image: url("../images/about_inner_bg-2-2.png")
}
.about_inner_bg-3 div.first {
		background-image: url("../images/about_inner_bg-3-1.png")
}
.about_inner_bg-3 div.second {
		background-image: url("../images/about_inner_bg-3-2.png")
}
.about_inner_bg-4 div.first {
		background-image: url("../images/about_inner_bg-4-1.png")
}
.about_inner_bg-4 div.second {
		background-image: url("../images/about_inner_bg-4-2.png")
}
@media(max-width: 1200px) {
		.about_inner_bg-3 div.first {
				left: -40px;
		}
		.about_inner_bg-3 div.second {
				right: -40px;
		}
}
@media(max-width: 767px) {
		.about_inner_bg-1, .about_inner_bg-2, .about_inner_bg-3, .about_inner_bg-4 {
				display: none
		}
}
.about_hd {
		font-size: 56px;
		font-weight: 700;
		font-weight: bold;
		color: #E4002B;
		text-align: center;
		margin: 0 0 60px;
		font-family: 'BaseFont-JP--strong';
}
.about_sb {
		font-size: 24px;
		font-weight: 700;
		font-weight: bold;
		font-family: 'BaseFont-JP--strong';
		color: #E4002B;
		text-align: center;
		margin: 0 0 20px;
}
.about_lead {
		text-align: center;
		line-height: 2.0;
		margin-bottom: 25px;
}
.sup {
		font-size: 11px;
		margin: 0 2px;
		vertical-align: 0.5em
}
.about_lead_notes {
		font-size: 14px;
		margin-bottom: 70px;
		text-align: center;
}
.about_lead.second {
		margin-bottom: 40px;
}
.stepLINE {
		font-size: 110% !important;
		font-family: 'BaseFont-JP--strong' !important;
}
.about_flex {
		max-width: 800px;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 100px;
}
.about_col {
		width: calc(50% - 10px);
		box-sizing: border-box;
		color: #E4002B;
		border: 3px solid #E4002B;
		border-radius: 20px;
		overflow: hidden;
		position: relative;
}
.about_col::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 95px;
		height: 83px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		pointer-events: none;
}
.about_col.pt1::before {
		background-image: url("../images/corner_pt-1.png")
}
.about_col.pt2::before {
		background-image: url("../images/corner_pt-2.png")
}
.about_flex_in {
		position: relative;
		z-index: 1;
		display: flex;
		align-items: center;
		padding: 0 35px 35px;
}
.about_flex_in.wide {
		padding-left: 20px;
		padding-right: 20px;
}
.about_col_sb {
		text-align: center;
		font-size: 18px;
		margin: 0 0 25px;
		padding-top: 40px;
		font-family: 'BaseFont-JP--strong';
}
.about_col_sb span {
		display: inline-block;
		padding: 0 0 8px;
		border-bottom: 2px solid #E4002B;
}
.about_flex_in p {
		font-family: 'BaseFont-JP--strong';
		line-height: 1.6;
		font-size: 18px;
		margin: 0 !important
}
.about_col_left {
		width: 76px;
		margin-right: 20px;
}
.about_col_left.extra {
		margin-right: 10px;
}
.about_col_right {
		flex: 1;
}
@media(max-width: 840px) {
		.about_flex_in {
				padding: 0 20px 20px;
		}
		.about_flex_in.wide {
				padding: 0 10px 20px;
		}
		.about_flex_in p {
				font-size: 16px;
		}
}
@media(max-width: 767px) {
		.about_inner {
				padding: 0 20px;
		}
		.about_lead.second {
				margin-bottom: 30px;
		}
		.about_flex {
				display: block;
				margin: 0 auto 60px;
		}
		.about_col {
				width: 100%;
				max-width: 320px;
				margin-left: auto;
				margin-right: auto;
				border: 2px solid #E4002B;
				border-radius: 20px;
		}
		.about_flex .about_col:first-child {
				margin-bottom: 20px;
		}
		.about_col::before {
				width: 75px;
				height: 75px;
		}
		.about_flex_in {
				padding: 0 20px 20px;
		}
		.about_flex_in.wide {
				padding: 0 10px 20px 20px;
		}
		.about_col_sb {
				text-align: center;
				font-size: 16px;
				margin: 0 0 25px;
				padding-top: 25px;
		}
		.about_flex .about_col:first-child .about_col_sb {
				margin-bottom: 30px;
		}
		.about_col_sb span {
				padding: 0 0 5px;
		}
		.about_flex_in p {
				font-size: 15px;
		}
		.about_col_left {
				width: 65px;
				margin-right: 20px;
		}
		.about_col_left.extra {
				width: 65px;
		}
}
.qr_cont {
		border: 2px solid #E4002B;
		padding: 45px;
		border-radius: 20px;
		box-sizing: border-box;
		max-width: 670px;
		margin: 0 auto 60px;
		display: flex;
		justify-content: center;
		position: relative;
}
.qr_cont_arw {
		width: 71px;
		margin: 0 auto 40px;
}
.qr_cont_arw img {
		width: 100%;
		height: auto;
}
.qr_hd {
		text-align: center;
		color: #E4002B;
		font-size: 24px;
		font-weight: 700;
		font-weight: bold;
		margin: 0 0 35px;
		font-family: 'BaseFont-JP--strong';
}
.qr_hd span {
		display: inline-block;
		padding-left: 70px;
		position: relative;
}
.qr_hd span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 26.5px);
		left: 0;
		width: 55px;
		height: 55px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 55px;
		background-image: url("../images/icon_line.png")
}
.qr_cont_flex {
		display: flex;
		align-items: center;
		margin: 0 0 40px;
}
.qr_cont_caption {
		flex: 1
}
.qr_cont_caption p {
		line-height: 1.8;
}
.qr_cont_caption p strong {
		color: #06C755;
		font-size: 150%;
		font-weight: 700;
		font-weight: bold;
		font-family: YakuHanJP, 'BaseFont-JP--strong';
}
.qr_cont_figure {
		width: 165px;
		margin-left: 30px;
}
.qr_cont_figure img {
		width: 100%;
		height: auto;
		border-radius: 8px;
}
.line_id {
		margin-top: 15px;
		font-size: 18px;
		color: #E4002B;
		font-family: Arial, Helvetica, "sans-serif";
		font-weight: bold;
}
.line_id a {
		color: #E4002B;
		text-decoration: none;
}
@media (hover: hover) {
		.line_id a:hover {
				color: #E4002B;
				text-decoration: underline;
		}
}
.qr_sp {
		display: flex;
		justify-content: center;
		margin: 0 0 40px;
		font-family: YakuHanJP, 'BaseFont-JP';
		font-style: normal;
		font-weight: bold;
}
.qr_btn a {
		width: 315px;
		height: 80px;
		color: #fff;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		background: #06C755;
		box-sizing: border-box;
		border: 1px solid #06C755;
		text-align: center;
		border-radius: 60px;
		line-height: 1.7;
		transition: background 0.4s;
}
@media (hover: hover) {
		.qr_btn a:hover {
				background: #fff;
				color: #06C755;
		}
}
.line_flow_wrap {
		text-align: center;
}
.line_flow_wrap .f-grn, .line_flow_wrap .f-red {
		font-family: 'BaseFont-JP--strong';
		font-size: 125%;
}
.line_flow_wrap .f-grn {
		color: #06C755;
}
.line_flow_wrap .f-red {
		color: #E4002B;
}
.line_flow_wrap p {
		text-align: center;
		line-height: 1.8;
}
.line_flow {
		width: 266px;
		margin: 25px auto;
}
.line_flow_btn {
		max-width: 420px;
		margin: 20px auto 20px;
		font-size: 110%;
		font-family: 'BaseFont-JP--strong';
}
.line_flow_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		background: #E4002B;
		color: #fff;
		height: 50px;
		border-radius: 60px;
		text-decoration: none;
		box-sizing: border-box;
		border: 1px solid #E4002B;
		transition: background 0.1s;
}
.line_flow_btn + p a {
		color: #E4002B;
		text-decoration: underline;
}
@media (hover: hover) {
		.line_flow_btn a:hover {
				color: #E4002B;
				background: #fff;
		}
		.line_flow_btn + p a:hover {
				color: #E4002B;
				text-decoration: none;
		}
}
@media(max-width: 767px) {
		.qr_cont_wrap {
				padding: 0 20px;
		}
		.qr_cont {
				padding: 35px 25px;
				margin: 0 auto 30px;
		}
		.qr_cont_arw {
				margin-bottom: 30px;
		}
}
/* ================ */
.pagelink {
		display: flex;
		justify-content: space-between;
		align-items: center;
		list-style: none;
		position: relative;
}
.pagelink li {
		width: 420px;
		font-family: YakuHanJP, 'BaseFont-JP';
		font-style: normal;
		font-weight: bold;
		text-align: center;
		line-height: 1.5;
}
.pagelink li a, .main_cont_nav li a {
		background: #E4002B;
		color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		border: 1px solid #E4002B;
		border-radius: 60px;
		height: 65px;
		text-decoration: none;
		transition: background 0.1s;
}
.pagelink li a span, .main_cont_nav li a span {
		display: inline-block;
		position: relative;
		transform: translateY(-2px)
}
.pagelink li a span::after, .main_cont_nav li a span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -13px;
		left: calc(50% - 3px);
		width: 6px;
		height: 6px;
		transform: rotate(45deg);
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
}
@media (hover: hover) {
		.pagelink li a:hover, .main_cont_nav li a:hover {
				background: #fff;
				color: #E4002B;
		}
		.pagelink li a:hover span::after, .main_cont_nav li a:hover span::after {
				border-right: 1px solid #E4002B;
				border-bottom: 1px solid #E4002B;
		}
}
@media(max-width: 1024px) {
		.pagelink li {
				width: calc(50% - 10px);
		}
}
@media(max-width: 767px) {
		.about_section {
				padding: 0 0 100px;
		}
		.about_hd {
				font-size: 24px;
				line-height: 1.6;
				margin: 0 0 30px;
		}
		.about_sb {
				font-size: 20px;
				margin: 0 0 20px;
		}
		.about_lead {
				line-height: 1.8;
				font-size: 14px;
		}
		.about_lead_notes {
				font-size: 12px;
				margin-bottom: 45px;
		}
		.pagelink {
				display: block
		}
		.pagelink li {
				width: 100%;
				font-size: 15px;
		}
		.pagelink li:first-child {
				margin: 0 0 15px;
		}
		.pagelink li a {
				height: 60px;
		}
		.pagelink li a span {
				transform: translateY(-2px)
		}
		.pagelink {
				padding-left: 15px;
				padding-right: 15px;
		}
}
@media(max-width: 390px) {
		.pagelink li {
				font-size: 14px;
		}
}
/* ================ */
.section_title_center {
		display: flex;
		justify-content: center;
		margin: 0 0 30px;
		padding: 0 40px;
}
.section_title {
		text-align: center;
		color: #E4002B;
		font-size: 42px;
		font-weight: 700;
		font-weight: bold;
		font-family: 'BaseFont-JP--strong';
}
.section_title span {
		font-size: 20px;
		display: inline-block;
		padding-bottom: 10px;
}
.section_lead {
		text-align: center;
		line-height: 2.0;
		padding: 0 40px;
		margin: 0 0 100px;
}
@media(max-width: 767px) {
		.section_title_center {
				padding: 0 20px;
		}
		.section_title {
				font-size: 24px;
		}
		.section_title span {
				font-size: 13px;
		}
		.section_lead {
				text-align: center;
				padding: 0 15px;
				margin: 0 0 60px;
		}
}
@media (max-width: 390px) {
		.section_title {
				font-size: 22px;
		}
}
/* ================ */
.freetalk_section, .shindan_section {
		padding-bottom: 200px;
}
@media(max-width: 767px) {
		.freetalk_section, .shindan_section {
				padding-bottom: 80px;
		}
}
/* ================ */
.main_nav_fix {
		padding-bottom: 100px;
}
.main_cont_nav {
		max-width: 1130px;
		margin: 0 auto;
		padding: 0 40px;
}
.main_cont_nav ul {
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
}
.main_cont_nav li {
		width: calc(25% - 25px);
		font-family: 'BaseFont-JP--strong';
}
@media(max-width: 1200px) {
		.main_cont_nav li {
				width: calc(25% - 10px);
		}
}
@media(max-width: 840px) {
		.main_cont_nav li {
				width: calc(25% - 5px);
				line-height: 1.4;
				font-size: 14px;
		}
		.main_cont_nav li a {
				text-align: center;
				height: 75px
		}
		.main_cont_nav li br {
				display: block !important
		}
}
@media(max-width: 767px) {
		.main_nav_fix {
				padding-bottom: 40px;
		}
		.main_cont_nav {
				padding: 0 20px;
		}
		.main_cont_nav li {
				width: calc(50% - 5px);
				margin: 0 0 10px;
		}
		.main_cont_nav li a {
				border-radius: 15px;
		}
}
/* ================ */
@media(min-width: 768px) {
		.sp_bg {
				display: none
		}
}
.sp_bg img {
		width: 100%;
		height: auto
}
.sp_bg.sp_bg-1 {
		margin-bottom: 40px;
		padding: 0 20px;
}
.sp_bg.sp_bg-2 {
		margin-bottom: 80px;
		padding: 0 20px;
}
/* ================ */
.anchor {
		padding-top: 50px;
		margin-top: -50px;
		pointer-events: none;
}
@media(min-width: 768px) {
		.spbr {
				display: none
		}
		.spObj {
				display: none
		}
}
@media(max-width: 960px) {
		.tabletbr {
				display: none
		}
}
@media(max-width: 767px) {
		.pcbr {
				display: none
		}
		.pcObj {
				display: none
		}
}
.fadeInNml {
		opacity: 0;
		transition: opacity 0.3s linear;
}
.fadeInNmlActive {
		opacity: 1;
}