@charset "utf-8";

	.visual--title {
		background: url(../imgs/img-mv.jpg) no-repeat center center;
		background-size: cover;
	}
	.visual--title .caption {
		/*color: #fff;*/
	}

	.img--title {
		position: relative;
	}
	.img--title::before {
		content: "";
		position: absolute;
		top: 65px;
		left: 0;
		right: 0;
		bottom: 95px;
		width: auto;
		height: auto;
		background: #49c3d1;
	}

	.img--title + .wrap {
		margin-top: 80px;
	}

	.img--title .rev .caption--outRight {
		position: relative;
		text-align: left;
	}

	.img--title .clm--ttl {
		text-align: center;
		color: #fff;
	}
	.img--title .clm--ttl .img--title-ttl {
		font-family: 'Cormorant', serif;
		font-size: 32px;
		letter-spacing: .3em;
		line-height: 1;
	}
	.img--title .clm--ttl .img--title-ttl span {
		display: block;
		margin-top: 10px;
		font-family: "Noto Sans Japanese";
		font-size: 12px;
		font-weight: 100;
		letter-spacing: .2em;
	}
	.img--title .clm--ttl .text-01 {
		margin-top: 50px;
	}
@media only screen and (max-width: 736px) {
	.img--title {
		padding-top: 30px;
	}
	.img--title::before {
		top: 0;
		height: 340px;
	}

	.img--title + .wrap {
		margin-top: 60px;
	}

	.img--title .rev .caption--outRight {
		text-align: right;
	}

	.img--title .clm--ttl {
		width: 100%;
	}
	.img--title .clm--ttl .img--title-ttl {
		font-size: 24px;
	}
	.img--title .clm--ttl .text-01 {
		margin-top: 30px;
	}

	.img--title .clm--image {
		width: 100%;
		margin-top: 30px !important;
	}
}

	.p-headline--h {
		margin-bottom: 20px;
		padding-bottom: 10px;
		border-bottom: solid 1px #49c3d1;
		font-family: 'Cormorant', serif;
		font-size: 24px;
		line-height: 1;
	}
@media only screen and (max-width: 736px) {
	.p-headline--h {
		margin-bottom: 10px;
		font-size: 18px;
	}
}

	.headline--h {
		font-family: "Noto Sans Japanese";
		font-weight: 500;
		font-size: 18px;
		letter-spacing: .1em;
	}
	.headline--h small {
		font-size: 10px;
		color: #999;
	}
	.p-clmn + .headline--h {
		margin-top: 30px;
	}
	.headline--h + .text-01 {
		margin-top: 20px;
	}
@media screen and (max-width: 736px) {
	.headline--h {
		font-weight: 500;
		font-size: 14px;
	}
	.headline--h + .imageCap {
		margin-top: 10px;
	}
}

  .headline--h::before,
	.headline--h::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
	}
  .headline--h::before {
    margin-top: calc((1 - 1.6428) * 0.5em);
	}
  .headline--h::after {
    margin-bottom: calc((1 - 1.6428) * 0.5em);
	}

	.imageCap .caption {
		color: #999;
	}

	.p-clmn + .headline--02 {
		margin-top: 120px;
	}
	.text-01 + .p-clmn {
		margin-top: 60px;
	}
@media only screen and (max-width: 736px) {
	.p-clmn + .headline--02 {
		margin-top: 80px;
	}
	.text-01 + .p-clmn {
		margin-top: 40px;
	}
}

	.clm2--center {
		justify-content: center !important
	}

	.clm2 > div {
		width: calc(480/1000*100%);
	}
	.clm2 > div:nth-child(n+3) {
		margin-top: 50px;
	}

	.clm3 > div {
		width: calc(312/1000*100%);
	}
@media only screen and (max-width: 736px) {
	.p-clmn > div.textSpc {
		margin-top: 30px !important;
	}

	.clm2 > div {
		width: 100%;
	}
	.clm2 > div:nth-child(n+2) {
		margin-top: 20px;
	}

	.clm3 > div {
		width: 48%;
	}
	.clm3 > div:nth-child(n+3) {
		margin-top: 20px;
	}
}

	.kakoi {
		border: solid 1px #49c3d1;
	}

	section .wrap {
		position: relative;
		z-index: 1;
	}

	.section--01 {
		padding-top: 140px;
		padding-bottom: 120px;
	}
	.section--01 .p-clmn {
		margin-top: 120px;
	}
	.section--01 .text-01 + .imageCap {
		margin-top: 80px;
	}
@media only screen and (max-width: 736px) {
	.section--01 {
		padding-top: 80px;
		padding-bottom: 60px;
	}
	.section--01 .p-clmn {
		margin-top: 60px;
	}
	.section--01 .text-01 + .imageCap {
		margin-top: 40px;
	}
}

	.section--02 {
		position: relative;
		padding-top: 120px;
		padding-bottom: 160px;
	}
	.section--02::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		bottom: 240px;
		width: calc(50% + 280px);
		height: auto;
		background: rgba(238, 253, 254, 1);
	}

	.section--02 .text-01 + .p-clmn {
		margin-top: 80px;
	}
	.section--02 .p-clmn + .text-01 {
		margin-top: 80px;
	}
@media only screen and (max-width: 736px) {
	.section--02 {
		padding-top: 60px;
		padding-bottom: 80px;
	}
	.section--02::before {
		bottom: 120px;
		width: calc(50% + 80px);
	}

	.section--02 .clm3 > div:nth-child(n+3) {
		margin-top: 20px;
	}

	.section--02 .text-01 + .p-clmn {
		margin-top: 40px;
	}
	.section--02 .p-clmn + .text-01 {
		margin-top: 40px;
	}
}

	.section--03 {
		padding-bottom: 160px;
	}
	.section--03 .text-01 + .p-clmn {
		margin-top: 80px;
	}
@media only screen and (max-width: 736px) {
	.section--03 {
		padding-bottom: 80px;
	}
	.section--03 .text-01 + .p-clmn {
		margin-top: 40px;
	}
}

	.section--04 {
		padding-bottom: 160px;
	}
	.section--04 .text-01 + .p-clmn {
		margin-top: 80px;
	}
@media only screen and (max-width: 736px) {
	.section--04 {
		padding-bottom: 80px;
	}
	.section--04 .text-01 + .p-clmn {
		margin-top: 40px;
	}
}

	.section--05 {
		padding-bottom: 160px;
	}
	.section--05 .text-01 + .imageCap {
		margin-top: 80px;
	}
	.section--05 .imageCap + .p-clmn {
		margin-top: 40px;
	}
@media only screen and (max-width: 736px) {
	.section--05 {
		padding-bottom: 80px;
	}
	.section--05 .text-01 + .imageCap {
		margin-top: 40px;
	}
	.section--05 .imageCap + .p-clmn {
		margin-top: 20px;
	}
}

	.section--06 {
		padding-bottom: 100px;
	}
@media only screen and (max-width: 736px) {
	.section--06 {
		padding-bottom: 60px;
	}
}

	.section--07 {
		padding-top: 100px;
		padding-bottom: 200px;
		background: #eefdfe;
	}
	.section--07 h3 {
		margin-bottom: 80px;
		font-family: 'Cormorant', serif;
		font-size: 40px;
		letter-spacing: .06em;
		line-height: 1;
		text-align: center;
	}
	.section--07 .p-clmn {
		margin-top: 60px;
	}
@media only screen and (max-width: 736px) {
	.section--07 {
		padding-top: 60px;
		padding-bottom: 100px;
	}
	.section--07 h3 {
		margin-bottom: 40px;
		font-size: 24px;
	}
	.section--07 .p-clmn {
		margin-top: 40px;
	}
}

	.hanrei {
		margin-top: 30px;
	}
	.hanrei ul {
		font-size: 0;
		letter-spacing: -.4em;
		line-height: 0;
	}
	.hanrei ul li {
		position: relative;
		display: inline-block;
		margin-right: 20px;
		font-size: 12px;
		letter-spacing: .1em;
		line-height: 1.5;
	}
	.hanrei ul li.icon {
		padding-left: 32px;
	}

	.hanrei ul li.icon:before {
		content: "";
		position: absolute;
		top: 3px;
		left: 0;
		width: 28px;
		height: 12px;
	}
	.hanrei ul li.icon--01:before {
		border: solid 2px #ece862;
	}
	.hanrei ul li.icon--02:before {
		border: solid 2px #53b232;
	}
	.hanrei ul li.icon--03:before {
		border: solid 2px #b5589c;
	}
	.hanrei ul li.icon--04:before {
		border: solid 2px #3678bd;
	}
@media only screen and (max-width: 736px) {
	.hanrei {
		margin-top: 20px;
	}
	.hanrei ul {
		text-align: left;
	}
	.hanrei ul li {
		display: block;
		margin-right: 0;
		font-size: 10px;
	}
	.hanrei ul li:nth-child(n+2) {
		margin-top: 5px;
	}
	.hanrei ul li.icon:before {
		top: 2px;
	}
}

	.p-Tbl {
		width: 100%;
		font-size: 14px;
		line-height: 26px;
		color: #333;
	}
	.p-Tbl td {
		width: 60%;
		background: url(../imgs/bg-dot.gif) repeat-x 0 0;
		vertical-align: top;
	}
	.p-Tbl td span {
		display: inline-block;
		background: #eefdfe;
	}
	.p-Tbl td:last-child {
		width: 40%;
		background: url(../imgs/bg-dot.gif) repeat-x 2px 0;
		text-align: right;
	}

	.p-Tbl td:first-child span {
		padding-right: 10px;
	}
	.p-Tbl td:last-child span {
		padding-left: 10px;
	}
	.p-Tbl td .caption {
		display: block;
	}
@media only screen and (max-width: 736px) {
	.p-Tbl {
		margin-top: 3px;
		font-size: 12px;
	}
	.p-Tbl td {
		width: calc(100% - 140px);
	}
	.p-Tbl td:last-child {
		width: 140px;
	}
}
.dmm {
	letter-spacing:1px;	
}


.section-head {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #49c3d1;
	color: #ffffff;
	text-align: center;
	margin-bottom: 60px;
}
@media only screen and (max-width: 736px) {
	.section-head {
		margin-bottom: 40px;
	}
}

.section-head__title {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: #1595ab;
	width: 100%;
	max-width: 300px;
	min-height: 175px;
	font-family: "Noto Sans Japanese", sans-serif;
	font-size: 12px;
	letter-spacing: 0.3em;
	line-height: 1;
}
@media only screen and (max-width: 736px) {
	.section-head__title {
		min-height: 140px;
	}
}

.section-head__title span {
	font-family: 'Cormorant', serif;
	font-size: 32px;
	letter-spacing: 0.3em;
}
@media only screen and (max-width: 736px) {
}

.section-head__text {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 210px;
	font-size: 16px;
	letter-spacing: 0.15em;
	line-height: 1.75;
}
@media only screen and (max-width: 736px) {
	.section-head__text {
		min-height: 160px;
		font-size: 14px;
	}
}

