@charset "UTF-8";

/*-----------------------------------
	base
-----------------------------------*/
html {
    overflow-y: auto;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-size: 62.5%;
	overflow-x: hidden;
}
body {
	font-family: "Noto Sans JP","メイリオ","Meiryo",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	font-size: 16px;
    font-size: 1.6em;
	color: #222222;
    line-height: 1.5;
	letter-spacing: 0;
	font-weight: 500;
	background: #ffffff;
	margin: 0 !important;
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
	z-index: 999;
}
::selection {
	background: #393939;
	color: #fff;
}
::-moz-selection {
	background: #393939;
	color: #fff;
}
img {
    max-width: 100%;
    height: auto;
}
a, a:link, a:visited {
	color:#272727;
	text-decoration:none;
    cursor: pointer;
	transition: 0.3s;
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
a img{
	transition : 0.2s ;
	-webkit-transition : 0.2s ;
	-moz-transition    : 0.2s ;
	-o-transition      : 0.2s ;
	-ms-transition     : 0.2s ;
}
@media (hover: hover) {
	a:hover img {
		opacity: 0.7;
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
	}
}
/* device */
.sp {
	display:none;
}
.tab {
	display:none;
}
.pc {
	display:block;
}
/* flexbox */
.row_box {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.contents_inner{
    width: 84%;
	max-width: 1000px;
	margin: 0 auto;
}
@media screen and (max-width: 840px) {
	.sp {
		display:none;
	}
	.pc {
		display:none;
	}
	.tab {
		display:block;
	}
}
@media screen and (max-width: 640px) {
	.pc {
		display:none;
	}
	.sp {
		display:block;
	}
}
/*-----------------------------------

	header

-----------------------------------*/
header {
	background: #ffffff;
	width: 100%;
	z-index: 999;
	position: fixed;
	top: 0;
}
header .contents_inner {
	width: 100%;
	max-width: initial;
}
header .header_wrapper {
	align-items: center;
}
header .logo_area {
	width: 240px;
	margin-left: 40px;
}
header .logo_area h1 {
	display: inline-block;
    font-size: 13px;
    max-width: 240px;
    width: 100%;
    height: 100%;
}
header h1 a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}
header h1 a p {
    display: inline-block;
    font-size: 12px;
    max-width: 240px;
}
#nav_pc {
	width: max-content;
	align-items: center;
}
#nav_pc li {
	position: relative;
}
#nav_pc li:not(:last-of-type) {
	margin-right: 38px;
}
#nav_pc li:last-of-type {
	margin-right: 40px;
}
#nav_pc li a {
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 85px;
	letter-spacing: 0;
	text-align: center;
	height: 85px;
	position: relative;
}
#nav_pc li a::before {
	content: "";
	display: block;
	background: #FFF100;
	width: 100%;
	height: 3px;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 20px;
	opacity: 0;
	transition: 0.3s;
}
@media (hover: hover) {
	#nav_pc li a:hover::before {
		opacity: 1;
	}
}
#nav_sp{
	display: none;
}
@media screen and (max-width: 1350px) {
	#nav_pc li:not(:last-of-type) {
		margin-right: 20px;
	}	
	#nav_pc li:last-of-type {
		margin-right: 30px;
	}
}
@media screen and (max-width: 1200px) {
	header .logo_area {
		margin-top: 14px;
		margin-bottom: 14px;
	}
	#nav_pc {
		display: none;
	}
	#nav_sp{
		display: block;
	}
	#menu{
		display: none;
		background: #fff;
		width: 100%;
		position: fixed;
		left: 0;
		top: 85px;
		width: 100%;
		margin: 0 auto;
		z-index: 99;
	}
	#menu ul {
		border-bottom: 1px solid #CFCFCF;
	}
	#menu li {
		text-align: center;
		width: 50%;
		border-top: 1px solid #CFCFCF;
	}
	#menu li:nth-of-type(6) {
		position: relative;
	}
	#menu li:nth-of-type(6)::after {
		content: "";
		display: block;
		background: #CFCFCF;
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: -1px;
	}
	#menu li:nth-of-type(odd) {
		border-right: 1px solid #CFCFCF;
	}
	#menu li a {
		display: block;
		font-size: 16px;
		font-weight: 700;
		padding: 16px 0;
	}
	#sp-icon {
		display: block;
		width: 60px;
		height: 34px;
		position: fixed;
		top: 26px;
		right: 30px;
		z-index: 9999;
		transition: 0.3s;
		cursor: pointer;
	}
	#sp-icon span,
	#sp-icon span:before,
	#sp-icon span:after {
		display: inline-block;
		width: 60px;
		height: 3px;
		background: #272727;
		position: absolute;
		transition: 0.3s;
	}
	#sp-icon span {
		left: 50%;
		top: 50%;
		transform: translate( -50%, -50% );
	}
	#sp-icon span:before {
		content: "";
		transform: translateY( -15px ) rotate( 0deg );
	}
	#sp-icon span:after {
		content: "";
		transform: translateY( 15px ) rotate( 0deg );
	}
	.sp-open span {
		background: transparent !important;
	}

	.sp-open span:before {
		transform: rotate( 45deg ) !important;
	}

	.sp-open span:after {
		transform: rotate( -45deg ) !important;
	}
}
@media screen and (max-width: 1020px) {
	header h1 a p {
        font-size: 10px !important;
    }
}
@media screen and (max-width: 840px) {
	header h1 a p {
        margin-bottom: 2px;
    }
}
@media screen and (max-width: 640px) {
	/* header h1 {
        padding: 10px 0;
    } */
	header .logo_area {
		width: 141px;
		margin-top: 15.3px;
        margin-left: 13px;
        margin-bottom: 15.3px;
	}
	#menu {
		top: 75.5px;
	}
	#menu li a {
		font-size: 12px;
		font-weight: 500;
		padding: 12px 0;
	}
	#sp-icon {
		width: 40px;
		height: 31px;
		top: 23px;
		right: 15px;
	}
	#sp-icon span,
	#sp-icon span:before,
	#sp-icon span:after {
		width: 40px;
	}
	#sp-icon span:before {
		transform: translateY( -13px ) rotate( 0deg );
	}
	#sp-icon span:after {
		transform: translateY( 13px ) rotate( 0deg );
	}
}
/*-----------------------------------

    common

-----------------------------------*/
.ttl {
	font-size: 48px;
	font-weight: 700;
	text-align: center;
	padding-top: 100px;
	margin-bottom: 49px;
}
.ttl span {
	display: block;
	font-size: 25px;
	font-family: "Montserrat", sans-serif;
	line-height: 1.2;
	letter-spacing: 0.03em;
	color: #D8CC00;
	margin-bottom: 4px;
}
table {
	width: 100%;
}
table tr th,
table tr td {
	font-size: 16px;
	vertical-align: middle;
	text-align: left;
	padding: 18px 10px 18px 20px;
	border-bottom: 1px solid #CFCFCF;
}
table tr:first-of-type th,
table tr:first-of-type td {
	border-top: 1px solid #CFCFCF;
}
table tr th {
	font-weight: 500;
	background: #F2F2F2;
}
table tr td {
	font-weight: 400;
	background: #FFFFFF;
}
table tr td:last-of-type {
	border-left: 1px solid #CFCFCF;
}
.ct_btn {
    display: block;
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    color: #FFFFFF !important;
    background: #CF3535;
    width: 400px;
    padding: 28.5px 58px 28.5px 30px;
    border: 2px solid #CF3535;
    border-radius: 50vw;
    margin: auto;
    position: relative;
}
.ct_btn::before,
.ct_btn::after {
    content: "";
    display: block;
    margin: auto;
    position: absolute;
    top: 2px;
    bottom: 0;
    transition: 0.3s ease;
}
.ct_btn::before {
    background: #ffffff;
    width: 18px;
    height: 18px;
    border-radius: 50vw;
    right: 30px;
}
.ct_btn::after {
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 5px solid #cf3535;
    border-right: 0;
    right: 36px;
}
@media (hover: hover) {
    .ct_btn:hover {
        color: #CF3535 !important;
        background: #ffffff;
    }
    .ct_btn:hover::before {
        background: #CF3535;
    }
    .ct_btn:hover::after {
        border-left: 5px solid #ffffff;
    }
}
@media screen and (max-width: 640px) {
	.ttl {
		font-size: 26px;
		padding-top: 60px;
		margin-bottom: 29px;
	}
	.ttl span {
		font-size: 12px;
		margin-bottom: 0;
	}
	table tr th,
	table tr td {
		font-size: 11px;
		padding: 9.25px 5px;
	}
	table tr:first-of-type th,
	table tr:first-of-type td {
		border-top: none;
	}
	table tr:last-of-type th,
	table tr:last-of-type td {
		border-bottom: none;
	}
	table tr td {
		font-weight: 500;
	}
	.ct_btn {
		font-size: 14px;
		white-space: nowrap;
		width: 275px;
		padding: 15.5px 49px 15.5px 30px;
	}
	.ct_btn::before,
	.ct_btn::after {
		top: 1px;
	}
	.ct_btn::before {
		width: 14px;
		height: 14px;
		right: 26px;
	}
	.ct_btn::after {
		right: 30px;
	}
}
/*-----------------------------------

    mainvisual_block

-----------------------------------*/
#mainvisual_block {
	margin-top: 85px;
    position: relative;
    z-index: 0;
}
#mainvisual_block .img_box {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}
#mainvisual_block .ct_btn_wrap {
    display: block;
    width: max-content;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8.34vw;
    z-index: 1;
}
#mainvisual_block .ct_btn {
    font-size: 1.46vw;
    white-space: nowrap;
    width: 26.6vw;
    padding: 1.9vw 3.86vw 1.9vw 2vw;
}
#mainvisual_block .ct_btn::before,
#mainvisual_block .ct_btn::after {
    top: 0.13vw;
}
#mainvisual_block .ct_btn::before {
    width: 1.2vw;
    height: 1.2vw;
    right: 2vw;
}
#mainvisual_block .ct_btn::after {
    border-top: 0.2vw solid transparent;
    border-bottom: 0.2vw solid transparent;
    border-left: 0.3vw solid #cf3535;
    right: 2.4vw;
}
@media (hover: hover) {
    #mainvisual_block .ct_btn:hover::after {
        border-left: 0.3vw solid #ffffff;
    }
}
@media screen and (max-width: 840px) {
    #mainvisual_block .ct_btn {
        width: 28.6vw;
    }
    #mainvisual_block .ct_btn::after {
        border-top: 0.3vw solid transparent;
        border-bottom: 0.3vw solid transparent;
        border-left: 0.4vw solid #cf3535;
    }
    @media (hover: hover) {
        #mainvisual_block .ct_btn:hover::after {
            border-left: 0.4vw solid #ffffff;
        }
    }    
}
@media screen and (max-width: 640px) {
	#mainvisual_block {
		margin-top: 76px;
	}
    #mainvisual_block .ct_btn_wrap {
        bottom: 16.5vw;
    }
    #mainvisual_block .ct_btn {
        font-size: max(2.93vw, 11px);
        width: max(50.6vw, 190px);
        padding: 3.4vw 6.9vw 3.4vw 2.7vw;
        border: 1px solid #CF3535;
    }
    #mainvisual_block .ct_btn::before {
        width: max(2.6vw, 10px);
        height: max(2.6vw, 10px);
        right: 2.6vw;
    }  
    #mainvisual_block .ct_btn::after {
        border-top: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-left: 3px solid #cf3535;
        right: 3.47vw;
    }
	@media (hover: hover) {
        #mainvisual_block .ct_btn:hover::after {
            border-left: 3px solid #ffffff;
        }
    }    
}
/*-----------------------------------

    about_block

-----------------------------------*/
#about_block {
    padding-bottom: 156px;
	/*border-bottom: 3px solid rgba(153, 153, 153, 0.45);*/
    position: relative;
    z-index: 1;
}
#about_block .about_wrapper {
    background: #ffffff;
    padding-bottom: 60px;
    margin-top: -4vw;
    box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05);
}
#about_block .about_wrapper .row_box {
    width: calc(100% - 100px);
    margin: 0 auto;
    justify-content: center;
    gap: 30px 30px;
}
#about_block h2 {
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    color: #ffffff;
    background: #222222;
    padding: 20px 0;
    margin-bottom: 60px;
    position: relative;
    z-index: 1;
}
#about_block h2::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-right: 33px solid transparent;
    border-left: 33px solid transparent;
    border-top: 27px solid #222222;
    border-bottom: 0;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -23px;
    z-index: 0;
}
#about_block .about_box {
    text-align: center;
    width: calc((100% - 60px) / 3);
}
#about_block .about_box .img_box {
    height: 79px;
}
#about_block .about_box .img_box img {
    display: block;
    margin: 0 auto;
}
#about_block .about_02 .img_box img {
    padding-top: 7px;
}
#about_block .about_box h3 {
    display: inline-block;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 23px;
    position: relative;
    z-index: 1;
}
#about_block .about_box h3::after {
    content: "";
    display: block;
    background: #FFF98F;
    width: 100%;
    height: 5.5px;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4.5px;
    z-index: 0;
}
#about_block .about_box p {
    line-height: 1.63;
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
}
@media screen and (max-width: 840px) {
    #about_block h2 {
        font-size: 32px;
        padding: 16px 0;
    }
    #about_block .about_box {
        width: calc((100% - 60px) / 2);
    }
}
@media screen and (max-width: 640px) {
    #about_block {
        padding-bottom: 0;
    }
	#about_block::after {
		content: "";
		display: block;
		background: #FFF100;
		width: 230px;
		height: 10px;
		border-left: 3px solid #EFE200;
		border-right: 3px solid #EFE200;
		margin: auto;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -10px;
		z-index: 2;
	}
    #about_block .about_wrapper {
        padding-bottom: 28px;
        box-shadow: none;
        position: relative;
        z-index: 1;
    }
    #about_block .about_wrapper::before {
        content: "";
        display: block;
        background: #ffffff;
        width: 100%;
        height: 100%;
        position: absolute;
        right: 0;
        bottom: 0;
        z-index: -1;
    }
    #about_block .about_wrapper::after {
        content: "";
        display: block;
        background: rgba(0, 0, 0, 0.05);
        width: 100%;
        height: 91%;
        position: absolute;
        right: -10px;
        bottom: -10px;
        z-index: -2;
    }
    #about_block .about_wrapper .row_box {
        width: calc(100% - 60px);
        gap: 28px 0;
    }
    #about_block h2 {
        font-size: 22px;
        padding: 15.5px 0;
        margin-bottom: 48px;
    }
    #about_block h2::after {
        border-right: 22px solid transparent;
        border-left: 22px solid transparent;
        border-top: 19px solid #222222;
        bottom: -18px;
    }
    #about_block .about_box {
        width: 100%;
    }
    #about_block .about_box .img_box {
        height: 65px;
    }
    #about_block .about_box h3 {
        font-size: 22px;
        margin-bottom: 15px;
    }
    #about_block .about_box h3 {
        width: 176px;
    }
    #about_block .about_box p {
        font-size: 12px;
        line-height: 1.83;
    }
}
/*-----------------------------------

    feature_block

-----------------------------------*/
#feature_block {
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #EEEEEE calc(100% - 1px)),
	linear-gradient(90deg, transparent calc(100% - 1px), #EEEEEE calc(100% - 1px));
	background-size: 13px 13px;
	background-repeat: repeat;
	background-position: center top;
	padding: 183px 0 100px;
	position: relative;
	z-index: 0;
}
#feature_block::before {
	content: "";
	display: block;
    background: url(../img/kaigishitsu/about_bg.svg) no-repeat center bottom / cover;
	width: 100%;
	height: 398px;
	position: absolute;
	margin: auto;
	top: -398px;
	left: 0;
	right: 0;
	z-index: 1;
}
#feature_block h2 {
	font-size: 48px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-align: center;
	background: #FFF100;
	max-width: 520px;
	padding: 60px 0 17px;
	border-left: 6px solid #EFE200;
	border-right: 6px solid #EFE200;
	margin: auto;
	position: absolute;
	top: -166px;
	left: 0;
	right: 0;
	z-index: 2;
}
#feature_block h2::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 260px solid transparent;
	border-left: 260px solid transparent;
	border-top: 60px solid #fff100;
	border-bottom: 0;
	margin: auto;
	position: absolute;
	left: -6px;
	right: 0;
	bottom: -60px;
}
#feature_block h2 span {
	display: block;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.48;
	letter-spacing: 0;
	background: url(../img/kaigishitsu/feature_bg.svg) no-repeat center bottom 3px / 162.5px 20px;
}
#feature_block .feature_wrapper {
	margin-bottom: 101px;
}
#feature_block .feature_box {
	background: #ffffff;
	padding: 37.5px 75px;
	position: relative;
}
#feature_block .feature_box::before,
#feature_block .feature_box::after {
	content: "";
	display: block;
	width: 40px;
	height: 100%;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
}
#feature_block .feature_box::before {
	background: url(../img/kaigishitsu/feature_wrap_lt.svg) no-repeat center left / auto 100%;
	left: 0;
}
#feature_block .feature_box::after {
	background: url(../img/kaigishitsu/feature_wrap_rt.svg) no-repeat center right / auto 100%;
	right: 0;
}
#feature_block .feature_01 {
	margin-bottom: 163px;
}
#feature_block .feature_box h3 {
	font-size: 85px;
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	line-height: 1.21;
	letter-spacing: 0.03em;
	width: max-content;
	margin: auto;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 15px;
	position: absolute;
	top: -83px;
	left: 0;
	right: 0;
}
#feature_block .feature_box h3 span {
	font-size: 45px;
	color: #D8CC00;
}
#feature_block .feature_box .img_box {
	width: 350px;
}
#feature_block .feature_box .text_box {
	width: calc(100% - 390px);
}
#feature_block .feature_box .text_box h4 {
	font-size: 48px;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 40.5px;
}
#feature_block .feature_box .text_box p {
	line-height: 2;
}
#feature_block .purpose_box {
	text-align: center;
	background: #ffffff;
	padding: 48px 20px 40px;
	border: 6px solid #FFF100;
	position: relative;
	z-index: 0;
}
#feature_block .purpose_box::before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 92px solid transparent;
	border-left: 92px solid transparent;
	border-top: 47px solid #cf3535;
	border-bottom: 0;
	margin: auto;
	position: absolute;
	top: -90px;
	left: 0;
	right: 0;
}
#feature_block .purpose_box h3 {
	font-size: 34px;
	font-weight: 700;
	line-height: 1.47;
	letter-spacing: 0;
	background: #FFFFFF;
	width: 292px;
	margin: auto;
	position: absolute;
	top: -26px;
	left: 0;
	right: 0;
	z-index: 1;
}
#feature_block .purpose_box p {
	line-height: 2;
}
@media screen and (max-width: 840px) {
	#feature_block .feature_02 .row_box {
		flex-direction: column-reverse;
	}
	#feature_block .feature_box .img_box {
		margin: 0 auto 20px;
	}
	#feature_block .feature_box .text_box {
		width: 100%;
	}
}
@media screen and (max-width: 640px) {
	#feature_block {
		padding: 192px 0 60px;
	}
	#feature_block::before {
		background: url(../img/kaigishitsu/about_bg.svg) no-repeat left -141px bottom / 777px 204px;
		height: 204px;
		top: -204px;
	}
	#feature_block h2 {
		font-size: 26px;
		max-width: 230px;
		padding: 26px 0 19px;
		border-left: 3px solid #EFE200;
		border-right: 3px solid #EFE200;
		top: 0;
	}
	#feature_block h2::after {
		border-right: 115px solid transparent;
		border-left: 115px solid transparent;
		border-top: 26px solid #fff100;
		left: -3px;
		bottom: -26px;
	}
	#feature_block h2 span {
		font-size: 12px;
		margin-bottom: 5px;
	}
	#feature_block h2 span {
		background: url(../img/kaigishitsu/feature_bg.svg) no-repeat center bottom / 93.8px 11.5px;
	}
	#feature_block .feature_wrapper {
		margin-bottom: 66px;
	}
	#feature_block .feature_box {
		padding: 30px 30px 26px;
	}
	#feature_block .feature_01 {
		margin-bottom: 67px;
	}
	#feature_block .feature_box::before {
		background: url(../img/kaigishitsu/sp/feature_wrap_lt.svg) no-repeat center left / auto 100%;
	}
	#feature_block .feature_box::after {
		background: url(../img/kaigishitsu/sp/feature_wrap_rt.svg) no-repeat center right / auto 100%;
	}
	#feature_block .feature_box h3 {
		font-size: 49px;
		gap: 10px;
		top: -47px;
	}
	#feature_block .feature_box h3 span {
		font-size: 26px;
	}
	#feature_block .feature_02 .row_box {
		flex-direction: column-reverse;
	}
	#feature_block .feature_box .img_box,
	#feature_block .feature_box .text_box {
		width: 100%;
	}
	#feature_block .feature_box .img_box {
		margin-bottom: 18px;
	}
	#feature_block .feature_box .text_box h4 {
		font-size: 22px;
		line-height: 1.27;
		text-align: center;
		margin-bottom: 14px;
	}
	#feature_block .feature_box .text_box p {
		font-size: 12px;
		line-height: 1.83;
		letter-spacing: 0.04em;
		text-align: center;
	}
	#feature_block .purpose_box {
		padding: 22px 24px;
	}
	#feature_block .purpose_box::before {
		border-right: 50px solid transparent;
		border-left: 50px solid transparent;
		border-top: 25px solid #cf3535;
		top: -57px;
	}
	#feature_block .purpose_box h3 {
		font-size: 20px;
		width: 180px;
		padding: 5px 0;
		top: -23px;
	}
	#feature_block .purpose_box p {
		font-size: 12px;
		line-height: 1.83;
		letter-spacing: 0.04em;
	}
}
/*-----------------------------------

	facility_block

-----------------------------------*/
#facility_block {
	background: url(../img/kaigishitsu/facility_bg.jpg) no-repeat center bottom / cover;
	padding-bottom: 155px;
}
#facility_block .facility_wrapper {
	background: #ffffff;
	padding: 0 0 60px;
	box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05);
	position: relative;
	z-index: 0;
}
#facility_block .facility_wrapper h3 {
	font-size: 40px;
	font-weight: 700;
	color: #FFFFFF;
	background: #222222;
	padding: 29px 0;
	margin-bottom: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 1;
}
#facility_block .facility_wrapper h3::before {
	content: "";
	display: block;
	background: url(../img/kaigishitsu/facility_txt_icon.svg) no-repeat center / cover;
	width: 200px;
	height: 190px;
	position: absolute;
	top: -49px;
	left: 34px;
	transform: rotate(-15deg);
	z-index: 0;
}
#facility_block .facility_wrapper h3 span {
	font-size: 24px;
	font-weight: 500;
	margin-right: 10px;
}
#facility_block .facility_wrapper .facility_box {
	max-width: 940px;
	padding: 0 30px;
	margin: 0 auto 49px;
}
#facility_block .facility_box .lt_box {
	width: 38.65%;
}
#facility_block .facility_box .lt_box p {
	font-size: 18px;
	font-weight: 500;
	margin-top: 15px;
}
#facility_block .facility_box .lt_box p span {
	margin-right: 10px;
}
#facility_block .facility_box .rt_box {
	width: 56.9%;
}
#facility_block .facility_box .rt_box .swiper {
	margin-bottom: 7px;
}
#facility_block .facility_box .rt_box .thumbnail .row_box {
	gap: 7px 7px;	
}
#facility_block .facility_box .rt_box .thumbnail a {
	width: calc((100% - 21px) / 4);
}
#facility_block .tab_box {
	max-width: 940px;
	padding: 0 30px;
	margin: 0 auto 30px;
}
#facility_block .tab_box .row_box > * {
	width: 50%;
}
#facility_block .tab_box input[name="tab_item"] {
	display: none;
}
#facility_block .tab_box .tab_item {
	display: block;
	font-size: 20px;
	font-weight: 700;
	color: #D8CC00;
	background: #FFF98F;
	text-align: center;
	width: 50%;
	padding: 15px 0;
	float: left;
	cursor: pointer;
}
#facility_block .tab_box input:checked + .tab_item {
	color: #222222;
	background: #FFF100;
}
#facility_block .tab_box .tab_content {
	display: none;
	clear: both;
	padding: 30px 10px 24px;
	border-left: 6px solid #FFF100;
	border-right: 6px solid #FFF100;
	border-bottom: 6px solid #FFF100;
	justify-content: center;
	align-items: center;
}
#facility_block .tab_box #atype:checked ~ #a_content,
#facility_block .tab_box #btype:checked ~ #b_content {
	display: flex;
}
#facility_block .table_box {
	max-width: 940px;
	padding: 0 30px;
	margin: 0 auto;
}
#facility_block .table_box .intro_txt {
	font-size: 18px;
	font-weight: 500;
	margin-left: 20px;
	margin-bottom: 19px;
}
#facility_block .table_box th {
	width: 280px;
}
#facility_block .table_box td {
	width: calc((100% - 280px) / 2);
}
@media screen and (max-width: 1200px) {
	#facility_block .facility_wrapper h3::before {
		top: -138px;
		transform: rotate(0);
	}
}
@media screen and (max-width: 840px) {
	#facility_block .facility_wrapper h3::before {
		width: 140px;
		height: 133px;
		top: -90px;
		left: 8px;
	}
	#facility_block .table_box .intro_txt {
		margin-left: 0;
	}
}
@media screen and (max-width: 640px) {
	#facility_block {
		background: url(../img/kaigishitsu/sp/facility_bg.jpg) no-repeat center bottom / cover;
		padding-bottom: 69.6px;
	}
	#facility_block .facility_wrapper {
		padding: 0 0 20px;
		box-shadow: none;
	}
	#facility_block .facility_wrapper h3 {
		font-size: 22px;
		padding: 15.5px 0;
		margin-bottom: 20px;
	}
	#facility_block .facility_wrapper h3::before {
		width: 89px;
		height: 85px;
		top: -59px;
		left: -24.7px;
	}
	#facility_block .facility_wrapper::before,
	#facility_block .facility_wrapper::after {
		content: "";
		display: block;
		background: rgba(0, 0, 0, 0.05);
		position: absolute;
		z-index: -1;
	}
	#facility_block .facility_wrapper::before {
		width: 10px;
		height: calc(100% - 74px);
		right: -10px;
		bottom: 0;
	}
	#facility_block .facility_wrapper::after {
		width: 100%;
		height: 10px;
		right: -10px;
		bottom: -10px;
	}
	#facility_block .facility_wrapper .facility_box {
		padding: 0 20px;
		margin: 0 auto 20px;
	}
	#facility_block .facility_wrapper h3 span {
		font-size: 12px;
		margin-top: 2px;
		margin-right: 0;
	}
	#facility_block .facility_box .lt_box,
	#facility_block .facility_box .rt_box {
		width: 100%;
	}
	#facility_block .facility_box .lt_box p {
		font-size: 12px;
		margin-top: 10px;
		margin-bottom: 19px;
	}
	#facility_block .facility_box .lt_box p span {
		margin-right: 5px;
	}
	#facility_block .facility_box .rt_box .swiper {
		margin-bottom: 3px;
	}
	#facility_block .facility_box .rt_box .thumbnail {
		gap: 4px 4px;
	}
	#facility_block .facility_box .rt_box .thumbnail a {
		width: calc((100% - 12px) / 4);
	}
	#facility_block .tab_box {
		padding: 0 20px;
		margin: 0 auto 8px;
	}
	#facility_block .tab_box .tab_item {
		font-size: 14px;
		padding: 14.5px 0;
	}
	#facility_block .tab_box .tab_content {
		padding: 10px 0 4px;
	}
	#facility_block .table_box {
		padding: 0 20px;
	}
	#facility_block .table_box .intro_txt {
		font-size: 12px;
		line-height: 1.84;
		letter-spacing: 0.04em;
		margin-bottom: 17px;
	}
	#facility_block .table_box th {
		width: 91px;
	}
	#facility_block .table_box td {
		width: calc((100% - 91px) / 2);
	}
}
/*-----------------------------------

	fixtures_block

-----------------------------------*/
#fixtures_block {
	padding-bottom: 208px;
}
#fixtures_block .fixtures_wrapper {
	justify-content: flex-start;
	gap: 30px 14px;
	margin-bottom: 40px;
}
#fixtures_block .fixtures_box {
	width: calc((100% - 70px) / 6);
}
#fixtures_block .fixtures_box img {
	display: block;
	margin-bottom: 10px;
}
#fixtures_block .fixtures_box p {
	font-size: 16px;
	font-weight: 500;
	text-align: center;
}
#fixtures_block .guide_box {
	padding: 0 0 39px;
	border-left: 1px solid #222222;
	border-right: 1px solid #222222;
	border-bottom: 1px solid #222222;
}
#fixtures_block .guide_box h3 {
	font-size: 32px;
	font-weight: 500;
	text-align: center;
	color: #FFFFFF;
	background: #222222;
	padding: 11px 0;
	margin-bottom: 40px;
}
#fixtures_block .guide_box .row_box {
	padding: 0 39px;
}
#fixtures_block .guide_box .text_box {
	width: calc(100% - 400px);
}
#fixtures_block .guide_box .text_box h4 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	padding-left: 19px;
	position: relative;
}
#fixtures_block .guide_box .text_box h4:first-of-type {
	padding-bottom: 8.5px;
	border-bottom: 1px solid #CFCFCF;
	margin-bottom: 9.5px;
}
#fixtures_block .guide_box .text_box h4:last-of-type {
	white-space: nowrap;
	margin-bottom: 45px;
}
#fixtures_block .guide_box .text_box h4::before {
	content: "";
	display: block;
	background: #FFF100;
	width: 9px;
	height: 9px;
	position: absolute;
	top: 9px;
	left: 0;
}
#fixtures_block .guide_box .text_box p {
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
}
#fixtures_block .guide_box .text_box p:nth-of-type(1) {
	margin-bottom: 16px;
}
#fixtures_block .guide_box .img_box {
	width: 320px;
}
@media screen and (max-width: 1150px) {
	#fixtures_block .guide_box .text_box h4:last-of-type {
		white-space: normal;
	}
}
@media screen and (max-width: 840px) {
	#fixtures_block .fixtures_box {
		width: calc((100% - 70px) / 4);
	}
	#fixtures_block .guide_box .row_box {
		flex-direction: column-reverse;	
		align-items: center;
	}
	#fixtures_block .guide_box .text_box {
		width: 100%;
	}
	#fixtures_block .guide_box .img_box {
		margin-bottom: 19px;
	}
}
@media screen and (max-width: 640px) {
	#fixtures_block {
		padding-bottom: 176px;
	}
	#fixtures_block .fixtures_wrapper {
		gap: 20px 9px;
		margin-bottom: 15px;
	}
	#fixtures_block .fixtures_box {
		width: calc((100% - 18px) / 3);
	}
	#fixtures_block .fixtures_box img {
		margin-bottom: 5px;
	}
	#fixtures_block .fixtures_box p {
		font-size: 10px;
	}
	#fixtures_block .guide_box {
		padding: 0 0 15px;
	}
	#fixtures_block .guide_box .row_box {
		padding: 0 19px;
	}
	#fixtures_block .guide_box h3 {
		font-size: 20px;
		font-weight: 700;
		padding: 10px 0;
		margin-bottom: 20px;
	}
	#fixtures_block .guide_box .img_box {
		width: 100%;
	}
	#fixtures_block .guide_box .text_box h4 {
		font-size: 14px;
		font-weight: 500;
		line-height: 1.57;
		letter-spacing: 0.04em;
		padding-left: 14px;
	}
	#fixtures_block .guide_box .text_box h4:last-of-type {
		margin-bottom: 18px;
	}
	#fixtures_block .guide_box .text_box h4::before {
		top: 6px;
	}
	#fixtures_block .guide_box .text_box p {
		font-size: 12px;
		line-height: 1.84;
	}
	#fixtures_block .guide_box .text_box p:nth-of-type(1) {
		margin-bottom: 5px;
	}
}
/*-----------------------------------

	access_block

-----------------------------------*/
#access_block {
	background: url(../img/kaigishitsu/access_bg.jpg) no-repeat center top / contain;
	padding-top: 155px;
	position: relative;
	z-index: 0;
}
#access_block::before {
	content: "";
	display: block;
	background: url(../img/kaigishitsu/access_txt_icon.svg) no-repeat center / cover;
	width: 357px;
	height: 404px;
	margin: auto;
	position: absolute;
	top: -148px;
	left: 0;
	right: 0;
	z-index: 2;
}
#access_block::after {
	content: "";
	display: block;
	background: rgb(248,245,205);
	background: linear-gradient(180deg, rgba(248,245,205,1) 0%, rgba(255,255,255,1) 100%);
	width: 100%;
	height: 767px;
	margin: auto;
	position: absolute;
	top: 33.1vw;
	left: 0;
	right: 0;
	z-index: 0;
}
#access_block .access_wrapper {
	background: #ffffff;
	padding: 122px 60px 60px;
	position: relative;
	z-index: 1;
}
#access_block .access_wrapper::before,
#access_block .access_wrapper::after {
	content: "";
	display: block;
	background: rgba(0, 0, 0, 0.05);
	position: absolute;
	z-index: 2;
}
#access_block .access_wrapper::before {
	width: 10px;
	height: 100%;
	right: -10px;
	bottom: 0;
}
#access_block .access_wrapper::after {
	width: 100%;
	height: 10px;
	right: -10px;
	bottom: -10px;
}
#access_block .access_wrapper .table {
	margin-bottom: 30px;
}
#access_block .access_wrapper .table th,
#access_block .access_wrapper .table td {
	padding: 11.5px 10px 11.5px 20px;
}
#access_block .access_wrapper .table tr:last-of-type th,
#access_block .access_wrapper .table tr:last-of-type td {
	padding: 17.5px 10px 17.5px 20px;
}
#access_block .access_wrapper .table th {
	width: 280px;
}
#access_block .access_wrapper .table td {
	line-height: 1.75;
	width: calc(100% - 280px);
	border-left: none;
}
#access_block .access_wrapper .map {
	margin-bottom: 45px;
}
#access_block .access_wrapper .ct_btn {
	text-align: left;
	color: #222222 !important;
	background: #FFF100;
	width: 340px;
	padding: 22.5px 80px 22.5px 71px;
    border: 2px solid #FFF100;	
}
@media (hover: hover) {
	#access_block .access_wrapper .ct_btn:hover {
		background: #ffffff;
	}
}
#access_block .access_wrapper .ct_btn::before {
	background: #222222;
	right: 65px;
}
#access_block .access_wrapper .ct_btn::after {
    border-left: 5px solid #FFFFFF;
	right: 71px;
}
@media screen and (max-width: 840px) {
	#access_block .access_wrapper .table th {
		width: 160px;
	}
	#access_block .access_wrapper .table td {
		width: calc(100% - 160px);
	}
}
@media screen and (max-width: 640px) {
	#access_block {
		background: url(../img/kaigishitsu/sp/access_bg.jpg) no-repeat center top / contain;
		padding-top: 60px;
	}
	#access_block::before {
		width: 219px;
		height: 248px;
		top: -116px;
	}
	#access_block::after {
		height: 530px;
		top: 48.1vw;
	}
	#access_block .access_wrapper {
		padding: 82px 20px 20px;
	}
	#access_block .access_wrapper .table {
		margin-bottom: 20px;
	}
	#access_block .access_wrapper .table th,
	#access_block .access_wrapper .table td {
		display: block;
		line-height: 1.64;
		width: 100%;
		padding: 8px 5px !important;
	}
	#access_block .access_wrapper .table tr:first-of-type th {
		border-top: 1px solid #CFCFCF;
	}
	#access_block .access_wrapper .table tr:last-of-type th,
	#access_block .access_wrapper .table tr:last-of-type td {
		border-bottom: 1px solid #CFCFCF;
	}
	#access_block .access_wrapper .map {
		margin-bottom: 20px;
	}
	#access_block .access_wrapper .map iframe {
		height: 138px;
	}
	#access_block .access_wrapper .ct_btn {
		width: min(100%, 275px);
		padding: 15.5px 80px 15.5px 72px;
	}
	#access_block .access_wrapper .ct_btn::before {
		right: 67px;
	}
}
@media screen and (max-width: 370px) {
	#access_block .access_wrapper .ct_btn {
		padding: 15.5px 71px 15.5px 45px;
    }
	#access_block .access_wrapper .ct_btn::before {
        right: 45px;
	}
	#access_block .access_wrapper .ct_btn::after {
		right: 49px;
	}
}
/*-----------------------------------

	charge_block

-----------------------------------*/
#charge_block {
	padding-bottom: 100px;
	position: relative;
	z-index: 0;
}
#charge_block .intro_box {
	padding: 25px 30px;
	border: 1px solid #222222;
	margin-bottom: 50px;
}
#charge_block .intro_box ul li {
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	padding-left: 20px;
	position: relative;
}
#charge_block .intro_box ul li::before {
	content: "";
	display: block;
	background: #FFF100;
	width: 9px;
	height: 9px;
	position: absolute;
	top: 13px;
	left: 0;
}
#charge_block .price_box h3 {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.47;
	text-align: center;
	margin-bottom: 29px;
}
#charge_block .price_box .price_table {
	margin-bottom: 81px;
}
#charge_block .price_box .price_table th {
	background: none;
	padding: 0;
	border: none;
}
#charge_block .price_box .price_table th .ttl_box {
	padding: 31px 0;
}
#charge_block .price_box .price_table th .yw {
	background: #FFF100;
	border-top-left-radius: 10px;
}
#charge_block .price_box .price_table th .bk {
	color: #FFFFFF;
	background: #222222;
	border-top-right-radius: 10px;
}
#charge_block .price_box .price_table th h4 {
	font-size: 22px;
	font-weight: 700;
	text-align: center;
}
#charge_block .price_box .price_table th h4 span {
	display: block;
	font-size: 18px;
	font-weight: 400;
	margin-top: 8px;
}
#charge_block .price_box .price_table tr:nth-of-type(even) td {
	background: #F2F2F2;
}
#charge_block .price_box .price_table tr:nth-of-type(odd) td {
	background: #FBFBFB;
}
#charge_block .price_box .price_table td {
	font-size: 18px;
	text-align: center;
	width: calc(100% / 3);
	padding: 21px 10px 21px 10px;
	border-bottom: none;
}
#charge_block .price_box .price_table tr td:first-of-type {
	border-right: 1px solid #CFCFCF;
}
#charge_block .price_box .price_table td.bd {
	font-weight: 500;
	text-align: left;
	padding: 21px 10px 21px 20px;
}
#charge_block .price_box .price_table td.clr {
	color: #CF3535;
}
#charge_block .cancel_box {
	padding: 48px 30px 33px;
	border: 6px solid #FFF100;
	margin-bottom: 20px;
	position: relative;
}
#charge_block .cancel_box h3 {
	font-size: 34px;
	font-weight: 700;
	line-height: 1.47;
	text-align: center;
	background: #ffffff;
	width: 292px;
	padding: 4px 0;
	margin: auto;
	position: absolute;
	top: -31px;
	left: 0;
	right: 0;
}
#charge_block .cancel_box p {
	font-size: 16px;
}
#charge_block .cancel_box p span:nth-of-type(1) {
	margin-left: 10px;
}
#charge_block .cancel_box p span:nth-of-type(2),
#charge_block .cancel_box p span:nth-of-type(3) {
	margin-left: 30px;
}
#charge_block .cancel_box p:first-of-type {
	font-weight: 500;
	line-height: 2;
	text-align: center;
	margin-bottom: 16px;
}
#charge_block .cancel_box p:last-of-type {
	font-weight: 400;
	line-height: 1.62;
	width: max-content;
	margin: 0 auto;
}
#charge_block .att_txt {
	font-size: 14px;
	line-height: 1.43;
	text-align: center;
}
@media screen and (max-width: 840px) {
	#charge_block .price_box .price_table table {
		width: 840px;
	}
}
@media screen and (max-width: 640px) {
	#charge_block {
		padding-bottom: 60px;
	}
	#charge_block .intro_box ul li {
		font-size: 12px;
		line-height: 1.83;
		padding-left: 15px;
	}
	#charge_block .intro_box {
		padding: 15px 20px;
		margin-bottom: 30px;
	}
	#charge_block .intro_box ul li::before {
		width: 6px;
		height: 6px;
		top: 9px;
	}
	#charge_block .price_box h3 {
		font-size: 23px;
		margin-bottom: 18px;
	}
	#charge_block .price_box .price_table {
		margin-bottom: 50px;
	}
	#charge_block .price_box .price_table table {
		width: 640px;
	}
	#charge_block .price_box .price_table th .ttl_box {
		padding: 16px 0;
	}
	#charge_block .price_box .price_table th h4 {
		font-size: 17px;
	}
	#charge_block .price_box .price_table th h4 span {
		font-size: 14px;
		margin-top: 5px;
	}
	#charge_block .price_box .price_table td {
		font-size: 12px;
		padding: 15px 5px;
	}
	#charge_block .price_box .price_table td:not(.bd) {
		width: calc((100% - 180px) / 2);
	}
	#charge_block .price_box .price_table td.bd {
		width: 180px;
		padding: 15px 5px;
	}
	#charge_block .cancel_box {
		padding: 22px 24px;
	}
	#charge_block .cancel_box h3 {
		font-size: 20px;
		width: 180px;
        padding: 2px 0;
        top: -23px;
	}
	#charge_block .cancel_box p {
		font-size: 12px;
		line-height: 1.83;
	}
	#charge_block .cancel_box p:first-of-type {
		margin-bottom: 12px;
	}
	#charge_block .att_txt {
		font-size: 12px;
	}
}
/*-----------------------------------

	flow_block

-----------------------------------*/
#flow_block {
	background: url(../img/kaigishitsu/flow_bg.jpg) no-repeat center / cover;
	padding-bottom: 100px;
}
#flow_block .flow_wrapper {
	background: #ffffff;
	padding: 60px 60px 90px;
	box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05);
	margin-bottom: 81px;
}
#flow_block .flow_box {
	align-items: stretch;
}
#flow_block .flow_box .num_box {
	width: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 6;
}
#flow_block .flow_box:nth-of-type(2) .num_box { z-index: 5; }
#flow_block .flow_box:nth-of-type(3) .num_box { z-index: 4; }
#flow_block .flow_box:nth-of-type(4) .num_box { z-index: 3; }
#flow_block .flow_box:nth-of-type(5) .num_box { z-index: 2; }
#flow_block .flow_box:nth-of-type(6) .num_box { z-index: 1; }
#flow_block .flow_box:nth-of-type(odd) .num_box {
	background: #FFF100;
}
#flow_block .flow_box:nth-of-type(even) .num_box {
	background: #D8CC00;
}
#flow_block .flow_box .num_box::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 50px solid transparent;
	border-left: 50px solid transparent;
	border-bottom: 0;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -20px;
	z-index: 1;
}
#flow_block .flow_box:nth-of-type(odd) .num_box::after {
	border-top: 20px solid #fff100;
}
#flow_block .flow_box:nth-of-type(even) .num_box::after {
	border-top: 20px solid #D8CC00;
}
#flow_block .flow_box:nth-of-type(6) .num_box::after {
	display: none; 
}
#flow_block .flow_box .num_box p {
	writing-mode:vertical-rl;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.05em;
}
#flow_block .flow_box .text_box {
	width: calc(100% - 130px);
	background-size: 10px 2px;
	background-image: linear-gradient(to right, #707070 2px, transparent 0);
	background-repeat: repeat-x;
	background-position: left bottom;
}
#flow_block .flow_box .text_box h3 {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.47;
	margin: 30px 0 15px;
}
#flow_block .flow_box .text_box p {
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	margin-bottom: 26px;
}
#flow_block .flow_box:nth-of-type(2) .text_box p {
	margin-bottom: 60px;
}
#flow_block .att_box {
	background: #ffffff;
	padding: 52px 30px 32px;
	border: 6px solid #FFF100;
	position: relative;
	z-index: 0;
}
#flow_block .att_box::before {
	content: "";
	display: block;
	background: #ffffff;
	width: 454px;
	height: 37px;
	margin: auto;
	position: absolute;
	top: -6px;
	left: 0;
	right: 0;
	z-index: -1;
}
#flow_block .att_box h3 {
	font-size: 34px;
	font-weight: 700;
	line-height: 1.47;
	text-align: center;
	width: 454px;
	margin: auto;
	position: absolute;
	top: -28px;
	left: 0;
	right: 0;
	z-index: 1;
}
#flow_block .att_box p {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 16px;
}
#flow_block .att_box ul {
	width: max-content;
	margin: 0 auto;
}
#flow_block .att_box ul li {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.63;
}
@media screen and (max-width: 1024px) {
	#flow_block .att_box ul {
		width: 100%;
	}
}
@media screen and (max-width: 640px) {
	#flow_block {
		padding-bottom: 60px;
	}
	#flow_block .flow_wrapper {
		padding: 20px 20px 30px 10px;
		margin-bottom: 50px;
	}
	#flow_block .flow_box .num_box {
		width: 45px;
	}
	#flow_block .flow_box .num_box::after {
		border-right: 22px solid transparent;
		border-left: 22px solid transparent;
		bottom: -10px;
	}
	#flow_block .flow_box:nth-of-type(odd) .num_box::after {
		border-top: 10px solid #fff100;
	}
	#flow_block .flow_box:nth-of-type(even) .num_box::after {
		border-top: 10px solid #D8CC00;
	}
	#flow_block .flow_box .num_box p {
		font-size: 14px;
	}
	#flow_block .flow_box .text_box {
		width: calc(100% - 65px);
		background-size: 6px 2px;
	}
	#flow_block .flow_box .text_box h3 {
		font-size: 21px;
		margin: 15px 0 10px;
	}
	#flow_block .flow_box .text_box p {
		font-size: 12px;
		margin-bottom: 18px !important;
	}
	#flow_block .att_box {
		padding: 26px 24px;
	}
	#flow_block .att_box::before {
		width: 280px;
	}
	#flow_block .att_box h3 {
		font-size: 19px;
		width: 280px;
		top: -18px;
	}
	#flow_block .att_box p {
		font-size: 12px;
		line-height: 1.83;
		margin-bottom: 14px;
	}	
	#flow_block .att_box ul li {
		font-size: 12px;
	}
}
/*-----------------------------------

	faq_block

-----------------------------------*/
#faq_block {
	background: #F9F9F9;
	padding-bottom: 90px;
}
#faq_block .faq_accordion li {
	color: #ffffff;
	background: #222222;
}
#faq_block .faq_accordion li:not(:last-of-type) {
	margin-bottom: 10px;
}
#faq_block .faq_accordion li:has(.close) {
	margin-bottom: 0;	
}
#faq_block .faq_accordion li .faq_ttl,
#faq_block .faq_accordion li .faq_box {
	position: relative;
}
#faq_block .faq_accordion li .faq_ttl {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	padding: 21.5px 70px 21.5px 60px;
	cursor: pointer;
}
#faq_block .faq_accordion li .faq_ttl::before,
#faq_block .faq_accordion li .faq_ttl::after {
	display: block;
	margin: auto;
	position: absolute;
	z-index: 1;
}
#faq_block .faq_accordion li .faq_ttl::before {
	content: "Q.";
	font-size: 22px;
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.03em;
	top: 17px;
	left: 20px;
}
#faq_block .faq_accordion li .faq_ttl::after {
	content: "";
	background: url(../img/kaigishitsu/faq_arw_icon.svg) no-repeat center / cover;
	width: 12.5px;
	height: 8px;
	top: 0;
	right: 28px;
	bottom: 0;
	transition: 0.5s;
}
#faq_block .faq_accordion li .faq_ttl.close::after {
	transform: rotate(-180deg);
}
#faq_block .faq_accordion li .faq_box {
	display: none;
	color: #222222;
	background: #F9F9F9;
	padding: 18px 70px 26px 60px;
}
#faq_block .faq_accordion li.open .faq_box {
	display: block;
}
#faq_block .faq_accordion li .faq_box::before {
	content: "A.";
	font-size: 22px;
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.03em;
	color: #D8CC00;
	position: absolute;
	top: 18px;
	left: 20px;
	transition: 0.5s;
	opacity: 0;
}
#faq_block .faq_accordion li:has(.close) .faq_box::before {
	opacity: 1;
}
#faq_block .faq_accordion li .faq_box p {
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
}
@media screen and (max-width: 640px) {
	#faq_block {
		padding-bottom: 60px;
	}
	#faq_block .faq_accordion li:not(:last-of-type) {
		margin-bottom: 7px;
	}
	#faq_block .faq_accordion li .faq_ttl {
		font-size: 13px;
		padding: 14.5px 40px 14.5px 37.5px;
	}
	#faq_block .faq_accordion li .faq_ttl::before {
		font-size: 16px;
		top: 12px;
		left: 10px;
	}
	#faq_block .faq_accordion li .faq_ttl::after {
		width: 10.5px;
		height: 6px;
		right: 15px;
	}
	#faq_block .faq_accordion li .faq_box {
		padding: 12px 40px 12px 37.5px;
	}
	#faq_block .faq_accordion li .faq_box::before {
		font-size: 16px;
		top: 13px;
		left: 10px;
	}
	#faq_block .faq_accordion li .faq_box p {
		font-size: 13px;
		line-height: 1.83;
	}
}
/*-----------------------------------

	contact_block

-----------------------------------*/
.contact_block {
	color: #ffffff;
	text-align: center;
	background: url(../img/kaigishitsu/contact_bg.jpg) no-repeat center / cover;
	padding: 80px 0 0;
	position: relative;
	z-index: 0;
}
.contact_block::before {
	content: "";
	display: block;
	background: #585858;
	width: 100%;
	height: 100%;
	margin: auto;
	position: absolute;
	inset: 0;
	mix-blend-mode: multiply;
	z-index: 1;
}
.contact_block::after {
	content: "";
	display: block;
	background: #B7B7B7;
	width: 100%;
	height: 110px;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	mix-blend-mode: multiply;
	z-index: 2;
}
.contact_block .contents_inner {
	max-width: 912px;
	position: relative;
	z-index: 3;
}
.contact_block h2 {
	font-size: 48px;
	margin-bottom: 59px;
}
.contact_block .row_box {
	margin-bottom: 63px;
	flex-wrap: nowrap;
	gap: 30px 20px;
}
.contact_block .row_box h3 {
	font-size: 22px;
	font-weight: 500;
}
.contact_block .contact_box h3 {
	margin-bottom: 19px;
}
.contact_block .tel_box h3 {
	margin-bottom: 9px; 
}
.contact_block .tel_box a {
	display: block;
	font-size: 55px;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	line-height: 1.22;
	letter-spacing: 0.045em;
	color: #FFF100;
	margin-bottom: 3px;
}
.contact_block .tel_box p {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0.08em;
	color: #FFF100;
	padding: 3px 0;
	border: 1px solid #FFF100;
	border-radius: 17px;
}
.contact_block .att_txt {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.67; 
	padding: 40px 0;
}
.contact_block .att_txt a {
	color: #ffffff;
	text-decoration: underline;
}
@media (hover: hover) {
	.contact_block .att_txt a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 840px) {
	.contact_block {
		background: url(../img/kaigishitsu/sp/contact_bg.jpg) no-repeat center / cover;
	}
	.contact_block .row_box {
		flex-wrap: wrap;
		flex-direction: column;
		align-items: center;
	}
}
@media screen and (max-width: 640px) {
	.contact_block {
		padding: 30px 0 0;
	}
	.contact_block::after {
		height: 69px;
	}
	.contact_block h2 {
		font-size: 22px;
		margin-bottom: 19px;
	}
	.contact_block .row_box {
		margin-bottom: 30px;
	}
	.contact_block .row_box h3 {
		font-size: 14px;
		margin-bottom: 10px !important;
	}
	.contact_block .tel_box a {
		font-size: 37px;
	}
	.contact_block .tel_box p {
		font-size: 12px;
		line-height: 1.42;
		padding: 3.5px 0;
	}
	.contact_block .att_txt {
		font-size: 12px;
		line-height: 1.84;
		letter-spacing: 0.04em;
		white-space: nowrap;
		padding: 13px 0 12px;
	}
}
/*-----------------------------------

	footer

-----------------------------------*/
footer {
	padding: 40px 0;
}
footer .copy {
	display: block;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.43;
	text-align: center;
}
@media screen and (max-width: 640px) {
	footer {
		padding: 20px 0;
	}	
	footer .copy {
		font-size: 10px;
		line-height: 1.2;
	}
}