@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100..900&display=swap');
/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. モジュール

******************************************************************************* */
#container {
	margin: 0;
	padding: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: normal;
	color: #000;
	overflow: hidden;
}
.fnFade:hover {
	opacity: .6;
}


.fs_btn01-wrap {
	height: 110px;
}
.fs_btn01 {
	display: -webkit-box;
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	height: 110px;
	padding: 0 15px;
	background: rgba(0, 0, 0, 0.7);
	z-index: 101;
	box-sizing: border-box;
}
.fs_btn01.fsFixBtn-cancel{
	position: relative;
}
.fs_btn01 a {
	display: block;
	width: 100%;
	height: 70px;
	line-height: 70px;
	max-width: 506px;
	border-radius: 36px 36px;
	background: #E60012;
	color: #fff;
	font-size: 168%;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	position: relative;
}
.fs_btn01 a::before {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	margin-top: -15px;
	background-color: #fff;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 30px;
}
.fs_btn01 a::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	margin: -5px auto 0;
	border-width: 2px 2px 0 0;
	border-style: solid;
	color: #E60012;
	transform:rotate(45deg);
	position: absolute;
	top: 50%;
	right: 42px;
}



/* ==

　01. モジュール

=============================================================================== */
.fs_content {
	margin: 0 auto;
	padding: 0 20px;
}

.fsLogo01 {
	padding: 20px 20px;
}
.fsLogo01 div {
	max-width: 780px;
	margin: 0 auto;
	text-align: center;
}
@media only screen and (max-width: 1100px) {
	.fsLogo01 div {
		max-width: 80%;
	}
}


.fsLead01 {
	max-width: 1020px;
	margin: 0 auto;
	text-align: center;
}
.fsLead01_txt01 {
	line-height: 1.851;
	margin: 50px 0 30px;
	color: #000;
	font-size: 150%;
	font-weight: 500;
	text-align: center;
}


div.fsAnchor01 {
	width: 460px;
	line-height: 1;
	margin: 40px auto 20px;
	font-size: 167%;
	font-weight: 700;
	text-align: center;
	box-sizing: border-box;
}

ul.fsAnchor01 {
	max-width: 950px;
	line-height: 1;
	margin: 0 auto 84px;
	font-size: 167%;
	font-weight: 700;
	text-align: center;
	display: flex;
	justify-content: center;
	gap: 0 30px;
}
ul.fsAnchor01 li {
	width: calc((100% - 30px) / 2);
}


.fsAnchor01 a {
	display: block;
	position: relative;
	line-height: 62px;
	padding: 0 0 2px;
	border-radius: 36px;
	background: #74544A;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.fsAnchor01 a::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	margin: -6px auto 0;
	border-width: 2px 2px 0 0;
	border-style: solid;
	transform:rotate(135deg);
	position: absolute;
	top: 50%;
	right: 30px;
}

.fsTxt01{
	line-height: 1.851;
	margin: 20px 0 80px;
	color: #333;
	font-size: 134%;
	font-weight: 500;
	text-align: center;
}



/* 3つのポイント */
.fsPoint{
	margin: 0 20px 80px;
}
.fsPoint h2{
	margin-bottom: 64px;
	font-size: 265%;
	color: #000;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-align: center;
}
.fsPoint_in{
	max-width: 1120px;
	margin: 0 auto;
	display: flex;
	gap: 0 20px;
}
.fsPoint_item{
	width: calc((100% - 40px) / 3);
	padding: 0 30px 30px;
	background-color: #FAF8ED;
	border-radius: 12px;
	box-sizing: border-box;
	position: relative;
}
.fsPoint_item h3{
	text-align: center;
	position: relative;
	top: -24px;
}
.fsPoint_txt01{
	margin-bottom: 20px;
	font-size: 167%;
	line-height: 1.4;
	font-weight: 700;
	color: #209CA2;
	text-align: center;
}
.fsPoint_txt02{
	font-size: 125%;
	line-height: 1.6;
}



/* 内容 */
.fsDetails{
	margin: 0 -20px;
	padding: 50px 20px 80px;
	background: #57BCC2 url(../images/img01.png) top 50px right no-repeat;
	background-size: 430px auto;
	position: relative;
}
.fsDetails::before{
	content: "";
	width: 523px;
	height: 60px;
	background: url(../images/img06.png) left top no-repeat;
	background-size: 100% auto;
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: 0;
}
.fsDetails_tit_h2{
	margin-bottom: 70px;
	padding: 5px 0 0;
	font-weight: 700;
	color: #FFF;
	text-align: center;
}
.fsDetails h2{
	font-size: 40px;
	font-weight: 700;
	font-family: "Roboto", "Noto Sans JP", sans-serif;
	letter-spacing: 0.4em;
	text-align: center;
}
.fsDetails_in{
	max-width: 1120px;
	margin: 0 auto 55px;
	display: flex;
	gap:  0 20px;
}
.fsDetails_item{
	width: calc((100% - 20px) / 2);
	padding: 20px 0 30px;
	background-color: #FFF;
	border-radius: 12px;
}
.fsDetails_tit{
	margin-bottom: 30px;
	padding: 20px;
	background-color: #FFF672;
	color: #209CA2;
	text-align: center;
	position: relative;
}
.fsDetails_tit figure{
	position: absolute;
	top: -45px;
	left: 20px;
}
.fsDetails_tit h3{
	font-size: 233%;
	line-height: 1.5;
	font-weight: 700;
}
.fsDetails_tit p{
	font-size: 135%;
	line-height: 1.5;
	font-weight: 700;
}
.fsDetails_docs{
	padding: 0 50px;
}
.fsDetails_docs figure{
	margin-top: 20px;
}

.fsDetails_profile{
	max-width: 1120px;
	margin: 0 auto;
	padding: 30px 90px 30px 310px;
	background-color: #E9F1F3;
	border-radius: 12px;
	position: relative;
	box-sizing: border-box;
}
.fsDetails_profile::before{
	content: "";
	width: 48px;
	height: 48px;
	background-color: #E37636;
	border-radius: 12px 0 0 0;
	clip-path: polygon(100% 0, 0% 100%, 0 0);
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.fsDetails_profile::after{
	content: "";
	width: 48px;
	height: 48px;
	background-color: #E37636;
	border-radius: 0 0 12px 0;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
}
.fsDetails_profile h3{
	font-size: 265%;
	line-height: 1.0;
	font-weight: 700;
	font-family: "Roboto", "Noto Sans JP", sans-serif;
	letter-spacing: 0.4em;
	position: absolute;
	top: -0.5em;
	right: 40px;
}
.fsDetails_profile figure{
	position: absolute;
	left: 50px;
	bottom: 0;
}
.fsDetails_profile_txt01{
	font-size: 117%;
	line-height: 1.5;
}
.fsDetails_profile_txt02{
	margin-bottom: 15px;
	font-size: 200%;
	line-height: 1.5;
	font-weight: 700;
}
.fsDetails_profile_txt03{
	font-size: 135%;
	line-height: 1.5;
}


@media only screen and (max-width: 1120px) {
	.fsDetails_tit h3{
		font-size: 200%;
	}
	.fsDetails_tit figure img{
		width: 90px;
		height: auto;
	}
}
/*
@media only screen and (max-width: 1024px) {
	.fsDetails_tit h3{
		font-size: 175%;
	}
}
*/


/* 開催概要 */
.fsGaiyo01 {
	max-width: 950px;
	margin: 80px auto;
	color: #000;
}
.fsGaiyo01_tit {
	margin: 0 0 40px;
	font-size: 267%;
	letter-spacing: 0.4em;
	text-indent: 0.4em;
	text-align: center;
	position: relative;
}
.fsGaiyo01_data {
	width: 100%;
	border-top: 1px solid #9DCFD1;
}
.fsGaiyo01_data th,
.fsGaiyo01_data td {
	background-color: #fff;
	border-bottom: 1px solid #9DCFD1;
}
.fsGaiyo01_data th {
	width: 22%;
	line-height: 1.5;
	padding: 20px 20px 20px 30px;
	background-color: #EDFCFC;
	font-size: 134%;
	font-weight: 400;
	vertical-align: top;
}
.fsGaiyo01_data td {
	line-height: 1.5;
	padding: 20px 30px;
	font-size: 134%;
	font-weight: 500;
}
.fsGaiyo01_data ul {
	line-height: 1.5;
	font-size: 100%;
	font-weight: 400;
}
.fsGaiyo01_data li em{
	font-weight: 500;
}
.fsGaiyo01_data li + li {
	margin-top: 20px;
}
.fsGaiyo01_data .fsGaiyo01_notes li + li {
	margin-top: 5px;
}
.fsGaiyo01_notes{
	margin-top: 10px;
	color: #666;
	font-weight: 400;
}
.fsGaiyo01_data ul.fsGaiyo01_notes {
	margin-top: 10px;
	font-size: 87.5%;
}
.fsGaiyo01_data ul.fsGaiyo01_notes li{
	margin-left: 1em;
	text-indent: -1em;
}



/* お申し込みボタン */
.fsEnd01 {
	padding: 30px 20px 20px;
}
.fsEnd01_in {
	max-width: 950px;
	margin: 0 auto;
	padding: 20px;
	border: 3px solid #f00;
	box-sizing: border-box;
}
.fsEnd01_txt {
	line-height: 1.75;
	color: #f00;
	font-size: 150%;
	font-weight: 700;
	text-align: center;
}



/* 完了画面 */
.fs_complete_txt01{
	margin: 40px 0 30px;
	font-size: 267%;
	color: #000;
	font-weight: 700;
	text-align: center;
}
.fs_complete_txt02{
	margin: 0 0 50px;
	font-size: 150%;
	color: #000;
	text-align: center;
}
.fsBtn01 a {
	width: 460px;
	margin: 0 auto;
	display: block;
	position: relative;
	line-height: 68px;
	padding: 0 0 2px;
	border-radius: 35px;
	background-color: #74544A;
	font-size: 167%;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.fsBtn01 a::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	margin: -4px auto 0;
	border-width: 2px 2px 0 0;
	border-style: solid;
	transform:rotate(45deg);
	position: absolute;
	top: 50%;
	right: 30px;
}



/*  えらべる、建て方
------------------------------------------------------------------------------- */
.idxIndexlife01 {
	margin: 0 0 60px;
	color: #000;
}
.idxIndexlife01_tit {
	line-height: 1.461;
	margin: 0 0 38px;
	font-family: 'Noto Serif JP', serif;
	font-size: 217%;
	font-weight: 500;
	text-align: center;
}
.idxIndexlife01_txt {
	line-height: 2.1875;
	margin: 0 0 51px;
	color: #727272;
	font-size: 134%;
	font-weight: 400;
	text-align: center;
}
.idxIndexlife02_list {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	max-width: 1000px;
	margin: 0 auto;
	font-size: 100%;
}
.idxIndexlife02_item {
	width: calc((100% - 30px) / 2);
	max-width: 460px;
	background-color: #f4f4f5;
}
.idxIndexlife02_wrap {
	height: 100%;
	color: #000;
	text-decoration: none;
	display: block;
	box-sizing: border-box;
	position: relative;
}
.idxIndexlife02_img {
	display: block;
}
.idxIndexlife02_info {
	padding: 28px 20px 30px;
}
.idxIndexlife02_tit{
	margin-bottom: 20px;
	font-size: 150%;
	line-height: 1.4;
}
/*
.item01 .idxIndexlife02_tit span{ margin-top: 0.5em; display: inline-block; }
*/
.item01 .idxIndexlife02_tit span,
.item02 .idxIndexlife02_tit span{
	font-size: 81.81818%;
	font-weight: 500;
	letter-spacing: 0;
}


.idxIndexlife02_txt{
	margin-bottom: 45px;
	font-size: 134%;
	line-height: 1.5;
	font-weight: 300;
}
.idxIndexlife02_txt em{
	font-size: 110%;
	font-weight: 500;
}
.idxIndexlife02_item li{
	margin: 0 0 7px;
	padding: 5px;
	background-color: #fff;
	border-radius: 20px;
	font-size: 13px;
	text-align: center;
}
.idxIndexlife02_link {
	color: #727272;
	font-size: 117%;
	font-weight: 500;
	text-align: right;
	position: absolute;
	right: 20px;
	bottom: 30px;
}
.idxIndexlife02_link::after {
	content: "";
	display: inline-block;
	width: 9px;
	height: 9px;
	margin: 0 0 0 8px;
	border-width: 1px 1px 0 0;
	border-style: solid;
	transform:rotate(45deg);
	vertical-align: 0;
}





