@charset "utf-8";
/* CSS Document */

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

	基本設定

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/*フォント*/
html {
	font-size: 10px;
	scroll-behavior: smooth;
}

@media (min-width: 1160px) {
	html {
		font-size: 10px !important;
	}
}

@media (min-width: 901px) {
	html {
		font-size: 0.8620689655vw;
	}
}

@media (max-width: 428px) {
	html {
		font-size: 2.3364485981vw;
	}
}

body {
	font-family: "Yu Gothic", sans-serif;
	overflow-x: hidden !important;
	font-size: 1.8rem;
	line-height: 2;
}

ul {
	list-style: none;
}

a {
	display: block;
	text-decoration: none;
	color: #533d00;
}

img {
	vertical-align: top;
	width: auto;
	height: auto;
}

.container {
	position: relative;
}

@media (min-width: 901px) {
	.sp {
		display: none !important;
	}
}

@media (max-width: 900px) {
	.pc {
		display: none !important;
	}
}

.no-br {
	white-space: nowrap;
}

.center {
	text-align: center;
}

.serif {
	font-family: "Yu Mincho", serif!important;
}

.wrapper {
	width: 1240px;
	max-width: 90%;
	margin: 0 auto;
}

.co-head {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

h2.basic {
	display: inline-block;
	padding-bottom: 2rem;
	margin-bottom: 4rem;
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	position: relative;
}

h2.basic .emphasis {
	font-size: 5rem;
}

h2.basic::after {
	content: "";
	width: 8rem;
	height: 1px;
	background-color: #015bbb;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0 auto;
}

@media (max-width: 900px) {
	body {
		font-size: 1.6rem;
	}
	
	.wrapper {
		width: calc(100% - 5rem);
		max-width: 100%;
	}
	
	h2.basic {
		font-size: clamp(2rem,4vw,3rem);
	}
	
	h2.basic .emphasis {
		font-size: clamp(2.6rem,6.5vw,5rem);
	}
	
	
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

	スタイル

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

/*---------------------------------

	HEADER

---------------------------------*/

header {
	height: 9rem;
	background-color: #fff;
}

.header-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
}

h1 {
	width: 41rem;
}

h1 img {
	display: block;
	width: 100%;
}

.header-right {
	display: flex;
	column-gap: 2rem;
	align-items: center;
	height: 100%;
}

.header-tel {
	width: 28.5rem;
}

.header-tel img {
	width: 100%;
}

.header-cont {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22rem;
	height: 5rem;
	background-color: #1b44a1;
	opacity: 1;
	transition: .3s;
}

.header-cont p {
	padding-left: 2em;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.03em;
	color: #fff;
	
	background-image: url("../img/mail-icon-white.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 1.6em auto;
}

.header-cont:hover {
	opacity: .8;
}

@media (max-width: 900px) {
	
}

/*---------------------------------

	MV

---------------------------------*/

.mv {
	width: 100%;
	height: calc(100svh - 11rem);
	position: relative;
	
	background-image: url("../img/mv.jpg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}

.mv-text {
	font-size: 4rem;
	font-weight: bold;
	color: #fff;
	text-shadow:0 3px 6px rgba(0,0, 0, .5);
	text-align: center;
	line-height: 1.8;
	position: absolute;
	top: 18%;
	right: 0;
	left: 0;
	margin: 0 auto;
}

.mv-text .emphasis {
	font-size: 5.4rem;
}

.mv-under {
	width: 100%;
	padding: 4rem;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
}

.mv-under::before {
	content: "";
	width: 100%;
	height: 50%;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 100;
	
	background-color: rgba(0,0,0,.8);
}

.mv-under-inner {
	display: flex;
	justify-content: space-between;
	width: 100rem;
	max-width: 90%;
	margin: 0 auto;
	position: relative;
	z-index: 101;
}

.mv-under-inner > img {
	width: 30%;
}

@media (max-width: 900px) {
	.mv-text {
		font-size: clamp(1.6rem,3.7vw,2.8rem);
	}
	.mv-text .emphasis {
		font-size: clamp(2.5rem,4.7vw,3.6rem);
	}
	
	.mv-under {
		padding: 3rem 2.5rem;
	}
	
	.mv-under-inner {
		width: 40rem;
		max-width: 100%;
	}
	
	.mv-under-inner > img {
		width: 100%;
	}
}

/*---------------------------------

	co01

---------------------------------*/

.co01 {
	padding: 8rem 0;

	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
	linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
	background-size: 20px 20px;
	background-repeat: repeat;
	background-position: center center;
}

.co01-h {
	padding-left: 3em;
	background-image: url("../img/biz-icon.jpg");
	background-repeat: no-repeat;
	background-position: left top 0.25em;
	background-size: auto 2em;
}

.slick-item img {
	width: calc(100% - 24rem);
	height: auto;
	margin: 0 auto;
}

.slick-arrow::before{
	content: ""!important;
}

.slick-arrow {
	content: ""!important;
	width: 6rem!important;
	height: 22rem!important;
	top: 0;
	bottom: 0;
	margin: auto 0;
	z-index: +1;
}

.slick-prev {
	left: 0!important;
	background-color: #c8dafc!important;
	background-image: url("../img/arrow-prev.png")!important;
	background-repeat: no-repeat!important;
	background-position: center!important;
	background-size: 35% auto!important;
}

.slick-next {
	right: 0!important;
	background-color: #c8dafc!important;
	background-image: url("../img/arrow-next.png")!important;
	background-repeat: no-repeat!important;
	background-position: center!important;
	background-size: 35% auto!important;
}

.slick-dots {
	bottom: -4rem!important;
}

.slick-dots li {
	width: 3rem!important;
	height: 0.8rem!important;
}

.slick-dots button {
	width: 100%!important;
	height: 100%!important;
}

.slick-dots button::before {
	content: ""!important;
	width: 100%!important;
	height: 100%!important;
	opacity: 1!important;
	background-color: #cdcdcd!important;
}

.slick-active button::before {
	opacity: 1!important;
	background-color: #015bbb!important;
}

@media (max-width: 900px) {
	.co01 {
		padding: 8rem 0 6rem;
	}
	
	.co01-h {
		padding-left: 2em;
		background-image: url("../img/biz-icon.jpg");
		background-repeat: no-repeat;
		background-position: left top 0.25em;
		background-size: auto 1.6em;
	}
	/*
	.slick-arrow {
		width: 3rem!important;
		height: 3rem!important;
		top: 0!important;
		bottom: 0!important;
		margin: auto 0!important;
		border-radius: 50%;
	}
	
	.slick-prev {
		left: 1rem!important;
		background-image: url("../img/arrow-prev.png")!important;
		background-repeat: no-repeat!important;
		background-position: center!important;
		background-size: auto 70%!important;
	}
	
	.slick-next {
		right: 1rem!important;
		background-image: url("../img/arrow-next.png")!important;
		background-repeat: no-repeat!important;
		background-position: center!important;
		background-size: auto 70%!important;
	}
	*/
	.slick-arrow {
		display: none !important;
	}
	.slick-item img {
		width: 100%;
	}
}

/*---------------------------------

	co02

---------------------------------*/

.co02 {
	padding: 6rem 0;
	background-color: #f1f1f1;
}

.co02-col-odd {
	width: 113rem;
	max-width: 95%;
	margin-bottom: 4rem;
	display: flex;
	justify-content: space-between;
	align-items: start;
}

.co02-imgSide {
	width: 24rem;
}

.co02-imgSide img {
	display: block;
	width: 100%;
	height: 24rem;
	margin-bottom: 1rem;
	overflow: hidden;
	object-fit: cover;
	border-radius: 50%;
}

.co02-imgSide p {
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}

.co02-textSide {
	width: calc(100% - 33rem);
	padding: 3rem 5rem;
	border: 1px solid #015bbb;
	background-color: #fff;
	position: relative;
	z-index: 10;
}

.co02-textSide h3 {
	font-size: 2.2rem;
	color: #015bbb;
	background-image: linear-gradient(transparent 0, transparent 97%, #cdcdcd 100%);
	background-size: 100% 2em;
}

.co02-textSide p {
	background-image: linear-gradient(transparent 0, transparent 97%, #cdcdcd 100%);
	background-size: 100% 2.28em;
	font-weight: bold;
	line-height: 2.28;
}

.co02-col-even {
	width: 113rem;
	max-width: 95%;
	display: flex;
	justify-content: space-between;
	align-items: start;
	flex-direction: row-reverse;
}

/*吹き出し▲部分*/

.co02-col-odd .co02-textSide::before {
	content: "";
	position: absolute;
	right: calc(100% - 0.1px);
	top: calc(50% - 1.8rem);
	z-index: 9;
	
	border-top: 1.8rem solid transparent;
	border-right: 5rem solid #015bbb;
	border-bottom: 1.8rem solid transparent;
}
.co02-col-odd .co02-textSide::after {
	content: "";
	position: absolute;
	right: calc(100% - 2px);
	top: calc(50% - 1.8rem);
	z-index: 11;
	
	border-top: 1.8rem solid transparent;
	border-right: 5rem solid #fff;
	border-bottom: 1.8rem solid transparent;
}

.co02-col-even .co02-textSide::before {
	content: "";
	position: absolute;
	left: calc(100% - 0.1px);
	top: calc(50% - 1.8rem);
	z-index: 9;
	
	border-top: 1.8rem solid transparent;
	border-bottom: 1.8rem solid transparent;
	border-left: 5rem solid #015bbb;
}

.co02-col-even .co02-textSide::after {
	content: "";
	position: absolute;
	left: calc(100% - 2px);
	top: calc(50% - 1.8rem);
	z-index: 11;
	
	border-top: 1.8rem solid transparent;
	border-bottom: 1.8rem solid transparent;
	border-left: 5rem solid #fff;
}

@media (max-width: 900px) {
	.co02-col-odd,
	.co02-col-even {
		flex-direction: column;
		row-gap: 3rem;
		width: 100%;
		max-width: 100%;
	}
	
	.co02-col-odd {
		margin-bottom: 6rem;
	}
	
	.co02-imgSide {
		width: 100%;
		display: flex;
		align-items: center;
		column-gap: 2rem;
	}
	
	.co02-col-even .co02-imgSide {
		flex-direction: row-reverse;
	}
	
	.co02-imgSide img {
		width: 12rem;
		height: 12rem;
		margin: 0;
	}
	
	.co02-imgSide p {
		text-align: left;
	}
	
	.co02-textSide {
		width: 100%;
	}
	
	.co02-textSide h3 {
		font-size: 1.8rem;
	}
	
	.co02-textSide p {
		background-image: linear-gradient(transparent 0, transparent 97%, #cdcdcd 100%);
		background-size: 100% 2.29em;
	}
	
	.co02-col-odd .co02-textSide::before,
	.co02-col-odd .co02-textSide::after,
	.co02-col-even .co02-textSide::before,
	.co02-col-even .co02-textSide::after{
		display: none;
	}
}

/*---------------------------------

	contact誘導（複数設置）

---------------------------------*/

.contact-induction {
	width: 100%;
	position: relative;
	z-index: 10;
	
	background-image: url("../img/contact-bg.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.contact-induction::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: +1;
	
	background-color: rgba(0,0,0,.8);
}

.c-in-wrap {
	display: flex;
	justify-content: space-between;
	padding: 6rem 0;
	position: relative;
	z-index: +2;
}

.c-in-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	row-gap: 1rem;
	width: calc(50% - 2rem);
	min-height: 18rem;
	padding: 3.5rem 1rem;
	border: 1px solid #fff;
	color: #fff;
}

.c-in-item._tel .front {
	font-size: 2rem;
	font-weight: bold;
}

.c-in-item._tel .main {
	font-size: 5rem;
	line-height: 1.4;
	padding-left: 1.5em;
	letter-spacing: 0.08em;
	color: #fff;
	
	background-image: url("../img/telicon.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 1.2em auto;
}

.c-in-item._mail .front {
	font-size: 2rem;
	font-weight: bold;
}

.c-in-item._mail .btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40rem;
	max-width: 100%;
	margin: 0 auto;
	padding: 2rem 1rem;
	border: 1px solid #fff;
	transition: .3s;
}

.c-in-item._mail .btn p {
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.03em;
	padding-left: 1.8em;
	color: #fff;
	
	background-image: url("../img/mail-icon-white.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 1.4em auto;
}

.c-in-item._mail .btn:hover {
	background-color: rgba(255,255,255,.2);
}

@media (max-width: 900px) {
	.c-in-wrap {
		flex-direction: column;
		row-gap: 3rem;
	}
	
	.c-in-item {
		width: 100%;
		min-height: 0;
		padding: 2.5rem 1rem;
	}
	
	.c-in-item._tel .main {
		font-size: 3.4rem;
	}
	
	.c-in-item._tel .front,
	.c-in-item._mail .front {
		font-size: 1.8rem;
	}
	
	.c-in-item._mail .btn {
		max-width: 90%;
	}
}

/*---------------------------------

	co03

---------------------------------*/

.co03 {
	padding: 6rem 0 0;
	background-color: #f3f7ff;
}

h2.basic .gradient {
	color: #015bbb;
	
	background-image: radial-gradient(circle at center, #015bbb 20%, transparent 20%);
	background-position: top right;
	background-repeat: repeat-x;
	background-size: 1em 0.3em;
	padding-top: 0.2em;
}

h2.co03-h {
	margin-bottom: 8rem;
}

.co03-toc {
	width: 100%;
	margin-bottom: 12rem;
	position: relative;
	z-index: 10;
}

.co03-toc-wrap {
	display: flex;
	justify-content: space-between;
}

.co03-toc-item {
	width: 24%;
	padding: 4.8rem 1rem 2rem;
	position: relative;
	background-color: #fff;
}

.co03-toc-item .num {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 4rem;
	max-width: 6em;
	
	font-size: 2.3rem;
	font-weight: bold;
	color: #fff;
	line-height: 1;
	
	position: absolute;
	top: -2rem;
	right: 0;
	left: 0;
	margin: 0 auto;
	
	background-color: #1b44a1;
}

.co03-toc-item .img {
	display: block;
	width: 45%;
	height: auto;
	margin: 0 auto 2.4rem;
}

.co03-toc-item .text {
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}

/*背景帯*/


.co03-toc::before {
	content: "";
	width: 100%;
	height: 21rem;
	position: absolute;
	right: 0;
	bottom: -6rem;
	left: 0;
	z-index: -1;
	
	background-color: #1b44a1;
}

.co03-toc::after {
	content: "";
	border-top: 3.6rem solid #1b44a1;
	border-right: 6.8rem solid transparent;
	border-left: 6.8rem solid transparent;
	position: absolute;
	top: calc(100% + 5.9rem);
	right: calc(50% - 6.8rem);
}

.co03-mainWrap {
	display: flex;
	flex-direction: column;
	grid-row-gap: 2.4rem;
	margin-bottom: 8rem;
}

.co03-colHead {
	position: relative;
	padding: 2rem 4rem;
	background-color: #1b44a1;
}

.co03-colHead::after {
	content: "";
	position: absolute;
	top: calc(100% - 1px);
	right: calc(50% - 2.2rem);
	border-top: 1.4rem solid #1b44a1;
	border-right: 2.2rem solid transparent;
	border-left: 2.2rem solid transparent;
}

.co03-colHead p {
	line-height: 1.5;
	color: #fff;
	
	display: flex;
	align-items: center;
	column-gap: 2rem;
}

.co03-colHead .num {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-width: 6em;
	height: 4rem;
	
	font-size: 2rem;
	font-weight: bold;
	line-height: 1;
	color: #1b44a1;
	
	background-color: #fff;
}

.co03-colUnder {
	padding: 3rem 4rem 4rem;
	background-color: #fff;
}

.co03-if {
	display: flex;
	column-gap: 2rem;
	align-items: center;
	padding-bottom: 3rem;
	border-bottom: 1px solid #1f8b57;
	margin-bottom: 3rem;
}

.co03-ifBox {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 6em;
	padding: 1rem 0;
	
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	color: #fff;
	background-color: #1f8b57;
}

.co03-ifBox ~ p {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.5;
	color: #1f8b57;
}

.co03-colMT {
	display: flex;
	column-gap: 3rem;
	align-items: start;
	justify-content: space-between;
}

.co03-colMT .img {
	display: block;
	width: 30%;
}

.co03-colMT .text {
	width: calc(70% - 3rem);
}

.co03-text {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.8;
}

.co03-text:not(:last-of-type) {
	margin-bottom: 1.8em;
}

/*さらに～*/
.co03-more {
	width: 100%;
	padding: 9rem 2rem;
	position: relative;
	z-index: 10;
	
	background-image: url("../img/co03-more-bg.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.co03-more::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: +1;
	
	background-color: #0053ab;
	mix-blend-mode: multiply;
}

.co03-more::after {
	content: "";
	border-top: 4.2rem solid #f3f7ff;
	border-right: 6.6rem solid transparent;
	border-left: 6.6rem solid transparent;
	position: absolute;
	top: -1px;
	right: calc(50% - 6.6rem);
	z-index: +2;
}

.co03-more p {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	color: #fff;
	
	position: relative;
	z-index: +3;
}

.co03-more p .emphasis {
	font-size: 5rem;
}

@media (max-width: 900px) {
	.co03-toc-wrap {
		flex-wrap: wrap;
		row-gap: 5rem;
	}
	.co03-toc-item {
		width: 48%;
	}
	.co03-toc-item .num {
		font-size: 2rem;
	}
	
	.co03-colHead {
		padding: 2rem 2.5rem;
	}
	
	.co03-colHead p {
		flex-direction: column;
		row-gap: 2rem;
	}
	
	.co03-colUnder {
		padding: 3rem 2.5rem 4rem;
	}
	
	.co03-ifBox {
		font-size: 1.6rem;
	}
	
	.co03-colMT {
		flex-direction: column;
		row-gap: 3rem;
	}
	
	.co03-colMT .img {
		width: 100%;
		margin: 0 auto;
	}
	
	.co03-colMT .text {
		width: 100%;
	}
	
	.co03-more p {
		font-size: clamp(2rem,4vw,3rem);
	}
	
	.co03-more p .emphasis {
		font-size: clamp(2.6rem,6.5vw,5rem);
	}
}

/*---------------------------------

	co04

---------------------------------*/

.co04 {
	padding: 8rem 0;
	background-color: #f1f1f1;
}

h2.co04-h > .serif {
	font-size: 11rem;
	line-height: 1;
	color: #015bbb;
}

.co04-col {
	display: flex;
	flex-direction: column;
	grid-row-gap: 2rem;
	width: 100%;
}

.co04-box {
	padding: 4rem;
	position: relative;
	border: 1px solid #015bbb;
	background-color: #fff;
}

.co04-boxHead {
	display: flex;
	align-items: center;
	min-height: 7.2rem;
	margin-bottom: 4rem;
	font-size: 3rem;
	line-height: 1.5;
	color: #015bbb;
	border-bottom: 1px solid #999;
}

.co04-boxHead .num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 7.2rem;
	height: 7.2rem;
	margin-right: 1.6rem;
	font-size: 3rem;
	line-height: 1;
	color: #fff;
	text-align: center;
	background-color: #015bbb;
}

.co04-mT {
	display: flex;
	column-gap: 4rem;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

.co04-box:first-of-type .co04-mT {
	align-items: start;
}

.co04-mT .img {
	display: block;
	width: 35%;
}

.co04-mT .text {
	width: calc(65% - 4rem);
}

.co04-text {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.8;
}

.co04-btn {
	display: block;
	background-color: #015bbb;
	color: #fff;
	font-weight: 700;
	font-size: 1.6rem;
	padding: 1.2rem 2rem;
	text-align: center;
	transition: .2s;
	width: 36rem;
	max-width: 100%;
}

.co04-btn:hover {
	opacity: .8;
}

.co04-text:not(:last-child) {
	margin-bottom: 1.8em;
}

.co04-inCol {
	display: flex;
	flex-wrap: wrap;
	column-gap: 1.8rem;
	row-gap: 1.8rem;
}

.co04-inBox {
	display: flex;
	flex-direction: column;
	width: calc(50% - 0.9rem);
	padding: 1.8rem 2rem;
	border: 1px solid #015bbb;
	background-color: #fff;
}

.plan_col .co04-inBox {
	width: 100%;
}

.co04-inText {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.8;
	margin-bottom: 1rem;
}

.co04-inBtn {
	display: block;
	background-color: #015bbb;
	color: #fff;
	font-weight: 700;
	margin-top: auto;
	font-size: 1.4rem;
	padding: 1rem 2rem;
	text-align: center;
	transition: .2s;
	width: 30rem;
	max-width: 100%;
	margin: auto auto 0;
}

.co04-inBtn:hover {
	opacity: .8;
}

.co04-inHead._rod {
	display: block;
	padding-left: 1.2rem;
	margin-bottom: 1rem;
	position: relative;
	font-size: 2rem;
	line-height: 1.5;
	color: #015bbb;
}

.co04-inHead._rod::before {
	content: "";
	width: 4px;
	height: 1.3em;
	background-color: #015bbb;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

.co04-inHead._num {
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
	position: relative;
	font-size: 2rem;
	line-height: 1.5;
	color: #015bbb;
}

.co04-inHead._num > .num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.8rem;
	height: 2.8rem;
	margin-right: 0.7rem;
	border: 1px solid #015bbb;
	background-color: #fff;
	
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	color: #015bbb;
}

.co04-inBox._full {
	width: 100%;
}

@media (max-width: 900px) {
	h2.co04-h > .serif {
		font-size: 8rem;
	}
	
	.co04-boxHead .num {
		margin: 0;
		position: absolute;
		top: 0;
		left: 0;
		font-size: 2.4rem;
		width: 5rem;
		height: 5rem;
	}
	
	.co04-box {
		padding: 6rem 2rem 3rem;
	}
	
	.co04-boxHead {
		font-size: 2.4rem;
	}
	
	.co04-mT {
		row-gap: 3rem;
		flex-direction: column;
	}
	
	.co04-mT .img {
		width: 100%;
	}
	
	.co04-mT .text {
		width: 100%;
	}
	
	.co04-inBox {
		width: 100%;
		
	}
}


/*---------------------------------

	co05

---------------------------------*/

.co05 {
	padding-bottom: 8rem;
}

.co-latterHead {
	width: 100%;
	padding: 9rem 2rem;
	margin-bottom: 8rem;
	position: relative;
	z-index: 10;
	/*
	background-image: url("");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	*/
}

.co-latterHead::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: +1;
	
	background-color: #0053ab;
	mix-blend-mode: multiply;
}

h2.latter {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	color: #fff;
	position: relative;
	z-index: 10;
}

h2.latter .emphasis {
	font-size: 5rem;
}

.co05 .co-latterHead {
	background-image: url("../img/co05-bg.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.co05-front {
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 4rem;
}

.co05-col {
	display: flex;
	column-gap: 2rem;
	row-gap: 2rem;
	flex-wrap: wrap;
	width: 106rem;
	max-width: 95%;
	margin: 0 auto;
}

.co05 img {
	display: block;
	width: 90rem;
	max-width: 100%;
	margin: 0 auto;
}

.co05-item {
	width: calc((100% - 4rem) / 3);
}

.co05-item img {
	display: block;
	width: 100%;
}

.co05-item p {
	width: 100%;
	padding: 1rem;
	font-weight: bold;
	line-height: 1.3;
	color: #015bbb;
	text-align: center;
}

.co05_hl {
	display: flex;
	align-items: center;
	background-color: #1b44a1;
	margin-bottom: 8rem;
}

.co05_hl:after {
	content: "";
	width: 55%;
	display: block;
	background-image: url(../img/co05_hl.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 30vw;
}

h2.co05_lead {
	display: block;
}

.co05 .greeting {
	display: flex;
	align-items: start;
	gap: 4rem;
}

.co05 .textside p {
	margin-bottom: 1.5em;
	font-weight: bold;
}

.co05 .imgside {
	width: 40rem;
	min-width: 40rem;
}

@media (max-width: 900px) {
	h2.latter {
		font-size: clamp(2rem,4vw,3rem);
	}
	
	h2.latter .emphasis {
		font-size: clamp(2.6rem,6.5vw,5rem);
	}
	
	.co-latterHead {
		margin-bottom: 5rem;
	}
	
	.co05-item {
		width: calc(50% - 1rem);
	}

	.co05 .greeting {
		flex-direction: column;
	}

	.co05 .imgside {
		width: 100%;
	}

	.co05_hl {
		flex-direction: column;
	}

	.co05_hl:after {
		width: 100%;
		height: 55vw;
	}
}

/*---------------------------------

	co06

---------------------------------*/

.co06 {
	background-color: #f1f1f1;
	padding-bottom: 8rem;
}

.co06 .co-latterHead {
	background-image: url("../img/co06-bg.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

h3.co06-subH {
	padding-bottom: 2rem;
	margin-bottom: 4rem;
	font-size: 5rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	position: relative;
}

h3.co06-subH::after {
	content: "";
	width: 8rem;
	height: 1px;
	background-color: #015bbb;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0 auto;
}

.co06-osakaOffice {
	display: block;
	width: 110rem;
	max-width: 95%;
	margin: 0 auto 6rem;
}

.co06-top-textarea {
	margin-bottom: 6rem;
}

.co06-text {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.875;
}

.co06-text:not(:last-of-type) {
	margin-bottom: 1.875em;
}

.co06-colGroup {
	display: flex;
	flex-direction: column;
	row-gap: 6rem;
	margin-bottom: 10rem;
}

.co06-col {
	display: flex;
	align-items: start;
	column-gap: 4rem;
	width: 100%;
}

.co06-col._reverse {
	flex-direction: row-reverse;
}

.co06-col > img {
	width: calc(50% - 2rem);
}

.co06-col-textarea {
	width: calc(50% - 2rem);
}

.co06-table {
	width: 100%;
}

.co06-table tr {
	padding: 2.5rem 0;
	display: flex;
	border-bottom: 1px solid #707070;
	position: relative;
}

.co06-table tr:first-of-type {
	padding-top: 0;
}
.co06-table tr:last-of-type {
	padding-bottom: 0;
	border-bottom: none;
}

.co06-table tr:not(:last-of-type)::after {
	content: "";
	width: 10.8rem;
	height: 4px;
	background-color: #015bbb;
	position: absolute;
	bottom: -2px;
	left: 0;
}

.co06-table th {
	min-width: 10.8rem;
	font-size: 1.8rem;
	font-weight: bold;
	color: #015bbb;
	
	display: flex;
	align-items: start;
}

.co06-table td {
	font-size: 1.6rem;
	line-height: 1.875;
	font-weight: bold;
	
	display: flex;
	align-items: center;
	padding-left: 2rem;
}

.co06-base-col {
	display: flex;
	column-gap: 4rem;
}

.co06-base-item {
	width: calc((100% - 8rem) / 3);
}

.co06-base-item > img {
	display: flex;
	width: 100%;
	margin-bottom: 2rem;
}

.co06-base-head {
	padding-left: 1.3rem;
	margin-bottom: 1rem;
	position: relative;
}
.co06-base-head::before {
	content: "";
	width: 4px;
	height: 1.2em;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto 0;
	background-color: #015bbb;
}

#map {
	width: 100%;
	height: 610px;
}

@media (max-width: 900px) {
	h3.co06-subH {
		font-size: clamp(2.6rem,6.5vw,5rem);
	}
	
	.co06-osakaOffice {
		width: 100%;
		max-width: 100%;
	}
	
	.co06-text.center {
		text-align: left;
	}
	
	.co06-col {
		row-gap: 3rem;
		flex-direction: column!important;
	}
	
	.co06-col > img {
		width: 100%;
	}
	
	.co06-col-textarea {
		width: 100%;
	}
	
	.co06-table tr {
		flex-direction: column;
		grid-row-gap: 1rem;
	}
	
	.co06-table td {
		width: 100%;
	}
	
	.co06-base-col {
		column-gap: 2rem;
		row-gap: 2rem;
		flex-wrap: wrap;
	}
	
	.co06-base-item {
		width: calc(50% - 1rem);
	}

	#map {
		height: auto;
		padding-bottom: 58.25%;
		padding-top: 30px;
	}
}

/*---------------------------------

	co07

---------------------------------*/

.co07 {
	padding: 8rem 0;
	background-color: #f3f7ff;
}

.co07-col {
	display: flex;
	flex-direction: column;
	row-gap: 2rem;
	
	width: 110rem;
	max-width: 95%;
	margin: 0 auto;
	position: relative;
}

.co07-box {
	padding: 3.5rem;
	position: relative;
	display: flex;
	column-gap: 3rem;
	align-items: start;
	
	border: 1px solid #015bbb;
	background-color: #fff;
	z-index: 15;
}

.co07-stepBox {
	min-width: 12rem;
	height: 12rem;
	position: relative;
	background-color: #015bbb;
	z-index: 30;
}

.co07-stepBox-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: calc(100% - 1.2rem);
	height: calc(100% - 1.2rem);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	border: 1px solid #c8dafc;
	
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	color: #fff;
}

.co07-stepBox-inner .serif {
	font-size: 4rem;
}

.co07-boxHead {
	padding-left: 14px;
	position: relative;
	font-size: 2rem;
	line-height: 1.5;
	color: #015bbb;
}

.co07-boxHead::before {
	content: "";
	width: 4px;
	height: 1em;
	background-color: #015bbb;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto 0;
}

.co07-text {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.875;
}

.co07-text:not(:last-child) {
	margin-bottom: 1.875em;
}

.co07-text > a {
	color: #015bbb;
	text-decoration: underline;
}

.co07-box:last-of-type {
	z-index: 30;
}

.co07-col::before {
	content: "";
	width: 4px;
	height: calc(100% - 5rem);
	background-color: #015bbb;
	position: absolute;
	top: 4rem;
	left: 9.5rem;
	z-index: 10;
}

.co07-box::before {
	content: "";
	width: 4px;
	height: 100%;
	background-color: #015bbb;
	position: absolute;
	top: 0;
	left: 9.4rem;
	bottom: 0;
	z-index: 20;
}

.co07-box:first-of-type::before {
	height: calc(100% - 4rem);
	top: auto;
}

.co07-box:last-of-type::before {
	height: 2.8rem;
	bottom: auto;
}

.co07-box:last-of-type::after {
	content: "";
	border-top: 1.7rem solid #015bbb;
	border-right: 1.4rem solid transparent;
	border-left: 1.4rem solid transparent;
	position: absolute;
	top: 2rem;
	left: 8.3rem;
}

@media (max-width: 900px) {
	.co07-stepBox {
		width: 6.4rem;
		min-width: 0;
		height: 6.4rem;
		position: absolute;
		top: 0;
		left: 0;
	}
	
	.co07-stepBox-inner {
		font-size: 1.2rem;
	}
	
	.co07-stepBox-inner .serif {
		font-size: 2.6rem;
	}
	
	.co07-box::before{
		left: 3rem;
	}
	
	.co07-col {
		max-width: 100%;
	}
	
	.co07-col::before {
		left: 3.1rem;
	}
	
	.co07-box:last-of-type::after {
		top: -1.4rem;
		left: 1.9rem;
	}
	
	.co07-box {
		padding: 2rem 2rem 3rem 8rem;
	}
	
	.co07-boxHead {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}
}

/*---------------------------------

	co08

---------------------------------*/

.co08 {
	padding: 8rem 0;
	background-color: #1b44a1;
}

h2.basic._white {
	color: #fff;
}

h2.basic._white::after {
	background-color: #fff;
}

.co08-ac {
	display: flex;
	flex-direction: column;
	row-gap: 2rem;
}

.ac-head {
	display: flex;
	column-gap: 1.5rem;
	align-items: start;
	background-color: #fff;
	padding: 1.5rem 5.8rem 1.5rem 1.5rem;
	position: relative;
	z-index: +1;
	cursor: pointer;
	transition: .3s;
}

.ac-head:hover {
	background-color: #f6f6f6;
}

.ac-head::before {
	content: "Q";
	display: flex;
	align-items: center;
	justify-content: center;
	
	min-width: 3.6rem;
	height: 3.6rem;
	background-color: #015bbb;
	
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	color: #fff;
}

.ac-head-inner {
	display: block;
	position: relative;
	line-height: 1.3;
	width: calc(100% - 18rem);
}

.ac-head-text {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.5;
	color: #015bbb;
	
	width: 100%;
	padding: 0.3rem 0;
}

.ac-head-move {
	width: 12rem;
	position: absolute;
	top: 1rem;
	right: 1rem;
}

.ac-head-move img {
	width: 100%;
}

.ac-head.open .ac-head-move img:first-of-type,
.ac-head-move img:last-of-type {
	display: none;
}

.ac-head-move img:first-of-type,
.ac-head.open .ac-head-move img:last-of-type {
	display: block;
}

.ac-contents {
	display: none;
	padding: 2rem 6.5rem;
	box-sizing: border-box;
	background: #f1f1f1;
}

.ac-contents-inner {
	position: relative;
}

.ac-contents-text {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.875;
}

.ac-contents-text:not(:last-child) {
	margin-bottom: 1.875em;
}

ul.ac-contents-text {
	padding-left: 1.3em;
	list-style-type: disc;
}

@media (max-width: 900px) {
	.ac-head {
		align-items: center; 
	}
	
	.ac-head-move {
		display: flex;
		align-items: center;
		width: 8rem;
		top: 0;
		bottom: 0;
		margin: auto 0;
	}
	
	.ac-head-inner {
		width: calc(100% - 10rem);
	}
	
	.ac-head-text {
		font-size: 1.8rem;
	}
	
	.ac-contents {
		padding: 2rem 3rem;
	}
}

/*---------------------------------

	co09（お問い合わせ）

---------------------------------*/

.co09 {
	padding: 8rem 0 12rem;
}

.form-cover {
	margin-bottom: 5rem;
}

.form-column {
	display: flex;
	align-items: start;
	
	padding: 2rem;
}

.form-column:nth-of-type(odd) {
	background-color: #f3f7ff;
}

.form-column p {
	font-weight: bold;
	line-height: 1.4;
}

.form-lead {
	width: 16em;
	padding: 0.6em 0;
	position: relative;
}

.form-lead._required::after {
	content: "\5FC5\9808";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.8em;
	height: 2em;
	background-color: #b10f2e;
	
	font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	line-height: 1;
	
	position: absolute;
	top: 0;
	right: 2rem;
	bottom: 0;
	margin: auto 0;
}

.form-lead .small {
	font-size: 80%;
}

.form-right {
	width: calc(100% - 16rem);
}

select,input {
	font-family: "Yu Gothic", sans-serif;
}

.form-column input.box {
	width: 100%;
	line-height: 2;
	padding: 0.5rem 1rem;
	font-size: 1.8rem;
}

.form-address {
	display: flex;
}

.form-address p {
	width: 18rem;
	display: flex;
	align-items: center;
}

.form-address select {
	font-size: 1.8rem;
	padding: 0.5rem 1rem;
}

.form-address input {
	width: calc(100% - 18rem);
	font-size: 1.8rem;
	line-height: 1;
	padding: 0.5rem 1rem;
}

.yubin-box {
	display: flex;
}

.form-address .p-postal-code {
	width: 5em;
}

.form-address:first-of-type {
	padding-top: 0.4em;
}

.form-address .postal-search {
	padding: 0 2rem;
	margin-left: 2rem;
	border: 1px solid #015bbb;
	background-color: #015bbb;
	font-weight: bold;
	color: #fff;
}

.form-address .postal-search:hover {
	cursor: pointer;
}

.form-address:not(:last-of-type) {
	margin-bottom: 2rem;
}

.time-hope {
	display: flex;
	column-gap: 1rem;
	margin-bottom: 2rem;
}

.time-hope:first-of-type {
	padding-top: 0.4em;
}

.time-hope p {
	display: flex;
	align-items: center;
}

.time-hope p:first-of-type {
	width: 18rem;
}

.time-hope p:not(:first-of-type) {
	width: 1.5em
}

.time-hope select {
	font-size: 1.8rem;
	padding: 0.5rem 1rem;
	width: 4em;
}

.time-hope select:last-of-type {
	width: 5em;
}

.time-hope ~ label {
	font-weight: bold;
}

.form-place {
	height: 100%;
	padding-top: 0.3em;
}

.form-place select {
	font-size: 1.8rem;
	line-height: 2;
	padding: 0.5rem 1rem;
}

.form-right._cat {
	display: flex;
	flex-direction: column;
	row-gap: 1rem;
	padding: 0.4em 0;
	font-weight: bold;
}

.form-right._means {
	display: flex;
	column-gap: 2rem;
	font-weight: bold;
}

.form-column textarea {
	width: 100%;
	font-family: "Yu Gothic", sans-serif;
	font-size: 1.8rem;
	line-height: 1.5;
	padding: 0.5rem 1rem;
}

.consent-text {
	text-align: center;
	font-weight: bold;
	margin-bottom: 3rem;
}

.consent-text > a {
	display: inline;
	text-decoration: underline;
}

.privacy-consent {
	text-align: center;
	margin-bottom: 3rem;
}

.to-submit > input {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 12em;
	height: 3em;
	margin: 0 auto;
	
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	color: #015bbb;
	background: none;
	border: 1px solid #015bbb;
	cursor: pointer;
}

.to-submit > input:disabled {
	background-color: #cdcdcd;
	color: #555;
	pointer-events: none;
}

@media (max-width: 900px) {
	.form-column {
		flex-direction: column;
		row-gap: 1rem;
	}
	
	.form-left {
		width: 100%;
	}
	
	.form-lead {
		width: 100%;
	}
	
	.form-lead._required::after {
		right: 0;
	}
	
	.form-right {
		width: 100%;
	}
	
	.form-address p {
		width: 14rem;
	}
	
	.form-address:first-of-type {
		flex-direction: column;
	}
	
	.form-address:last-of-type {
		flex-direction: column;
	}
	
	.form-address input{
		width: 100%;
	}
	
	.form-address .postal-search {
		padding: 0 1rem;
	}
	
	.time-hope {
		flex-wrap: wrap;
		column-gap: 0.5rem;
	}
	
	.time-hope p:first-of-type {
		width: 100%;
	}
	
	.time-hope select {
		padding: 0.5rem;
		font-size: 1.6rem;
	}
}

/*---------------------------------

	お問い合わせ確認→完了

---------------------------------*/

.inForm .formCheck-wrapper {
	margin-top: 10rem;
	margin-bottom: 15rem;
	font-weight: bold;
}

.inForm .check-back {
	width: 10em;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 3em;
	margin: 0 auto;
	
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	color: #fff;
	background: #015bbb;
	border: 1px solid #015bbb;
	cursor: pointer;
}

.inForm .check-submit {
	width: 10em;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 3em;
	margin: 0 auto 2rem;
	
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	color: #015bbb;
	background: #fff;
	border: 1px solid #015bbb;
	cursor: pointer;
}

.inForm h3 {
	text-align: center;
}

.formCheck-wrapper table {
	margin-bottom: 5rem;
}

.formCheck-wrapper tr {
	display: flex;
	align-items: start;
}

.formCheck-wrapper th {
	text-align: left;
	min-width: 12em;
	max-width: 12em;
	padding-right: 1em;
}

.inForm .container ~ a {
	display: none!important;
}




/*---------------------------------

	footer

---------------------------------*/

footer {
	background-color: #fff;
}

.footer-wrap {
	display: flex;
	flex-direction: column;
	row-gap: 3rem;
	padding-bottom: 3rem;
}

.footer-top {
	display: flex;
	align-items: center;
	column-gap: 2rem;
	row-gap: 2rem;
	width: 100%;
}

.footer-logo {
	width: 26rem;
}

.footer-btn {
	padding: 1.2rem 4rem 1.2rem 1.4rem;
	border: 1px solid #1f8b57;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.2;
	color: #1f8b57;
	transition: .3s;
	
	background-color: #fff;
	background-image: url("../img/tab.png");
	background-repeat: no-repeat;
	background-position: right 1.4rem center;
	background-size: 1.2em auto;
}

.footer-btn:hover {
	background-color: #d3ebdf;
}

.footer-tel {
	width: 28.5rem;
	margin-left: auto;
}

.footer-bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
	row-gap: 2rem;
}

.footer-bottom > p {
	width: 24.5%;
	font-size: 1.4rem;
	line-height: 1.7;
}

.footer-bottom .bold {
	font-weight: bold;
}

.copyright {
	width: 100%;
	padding: 1rem;
	font-size: 1.5rem;
	color: #fff;
	text-align: center;
	line-height: 1.5;
	background-color: #000;
}

@media (max-width: 900px) {
	.footer-top {
		flex-direction: column;
		justify-content: center;
	}
	
	.footer-tel {
		margin: 0;
	}
	
	.footer-bottom {
		flex-direction: column;
	}
	
	.footer-bottom > p {
		width: 100%;
	}
	
	.footer-bottom > p:not(:last-of-type) {
		padding-bottom: 1rem;
		margin-bottom: 1rem;
		border-bottom: 1px solid #999;
	}
}

/*---------------------------------

	ページトップ

---------------------------------*/

#page-top {
	width: 7rem;
	height: 7rem;
	overflow: hidden;
	position: fixed;
	right: 2rem;
	bottom: 2rem;
	z-index: 9900;
}
#page-top a {
	display: block;
	width: 100%;
	height: 100%;
}
#page-top img {
	width: 100%;
	height: 100%;
}










