@charset "utf-8";

.link_skip.hide a {
	background: #ffffff;
	color: #000000;
}

:where(.mymainback__front *) {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	letter-spacing: 0;
	line-height: 1;
}
:where(.mymainback__front :is(h2, h3, h4, h5, h6, p, dl, dd)) {
	margin: 0px;
}
:where(.mymainback__front :is(ul, ol)) {
	list-style: none;
	padding: 0px;
	margin: 0px;
}
:where(.mymainback__front img) {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

#mymainback.mymainback__front {
	display: block;
	width: auto;
	padding: 0;
	margin: 0;
}

/* 非表示 */
#footstep_wrap {
	display: none !important;
}

/* ----------------------------------------
ヘッダ
---------------------------------------- */
#header.header__front {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	background: rgb(34 34 34 / .5);
	min-height: 90px;
	pointer-events: none;
}
#he_right {
	position: static;
	pointer-events: auto;
}

#header2_box {
	height: 90px;
	/* pointer-events: auto; */
}
#he_left{
	pointer-events: auto;
}
@media screen and (min-width: 1081px) {
	#header_navi.header_navi__front {
		display: none;
		position: absolute;
		top: 100%;
		right: 0;
		z-index: 10;
		padding: 30px 20px;
		background: #fff;
		max-width: var(--content-width);
	}
	.is_active_header_hojo #header_navi.header_navi__front {
		display: block;
	}
}

#header_emer {
	pointer-events: auto;
}
#header_search {
	pointer-events: auto;
}

/* ----------------------------------------
スライド（PC）
---------------------------------------- */
#front_photo_wrap {
	position: relative;
}
#front_photo_wrap::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 10;
	display: block;
	width: 100%;
	height: 90px;
	background:
		url(/img/front/wave.png) repeat-x top center / auto 66px,
		-webkit-gradient(linear, left top, right top, from(#fff)) no-repeat bottom left / 100% 25px;
	background:
		url(/img/front/wave.png) repeat-x top center / auto 66px,
		linear-gradient(to right, #fff) no-repeat bottom left / 100% 25px;
}
#front_photo {
	display: block;
	width: 100%;
	height: 100vh;
	height: 100dvh;
}
#front_photo_list {
	display: block;
	width: 100%;
	height: 100%;
}
#front_photo_list .front_box {
	display: block;
	width: 100%;
	height: 100%;
}
#front_photo_list .front_img {
	display: block;
	width: 100%;
	height: 100%;
}
#front_photo_list .front_img img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}
#front_photo_wrap .c_control {
	position: absolute;
	top: calc(90px + 10px);
	left: 50%;
	z-index: 2;
	width: var(--content-width);
	translate: -50% 0;
}

/* ----------------------------------------
スライド（SP）
---------------------------------------- */
@media screen and (min-width: 1081px) {
	#front_photo2_wrap {
		display: none !important;
	}
}

/* ----------------------------------------
コンテンツ
---------------------------------------- */
#front_content_wrap {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 90;
	width: 100%;
}

/* ----------------------------------------
メニュー
---------------------------------------- */
#front_menu {
	background: rgb(34 34 34 / .5);
}
#front_menu > * {
	max-width: 960px;
	margin: 0 auto;
}
.fp_menu {
	color: #fff;
}
ul.fp_menu_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	border-left: 1px solid;
	border-right: 1px solid;
}
li[class^="fp_menu_"] {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}
li[class^="fp_menu_"] + li {
	border-left: 1px solid;
}
li[class^="fp_menu_"] a {
	color: inherit;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .1em;
	text-align: center;
	text-decoration: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 10px;
	height: 100%;
	min-height: 80px;
}
li[class^="fp_menu_"] a::before {
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
li.fp_menu_01 a::before {
	background-image: url(/img/front/icon_fp_navi01.png);
}
li.fp_menu_02 a::before {
	background-image: url(/img/front/icon_fp_navi02.png);
}
li.fp_menu_03 a::before {
	background-image: url(/img/front/icon_fp_navi03.png);
}
@media (hover: hover) {
	li[class^="fp_menu_"] a::before {
		-webkit-transition: .3s scale, .3s translate;
		transition: .3s scale, .3s translate;
	}
	li[class^="fp_menu_"] a:hover {
		text-decoration: underline;
	}
	li[class^="fp_menu_"] a:hover::before {
		text-decoration: underline;
		translate: 0 -10px;
		scale: 1.1;
	}
}

/* ----------------------------------------
重要なお知らせ
---------------------------------------- */
#front_info {
	padding: 20px 0;
	background: #fff;
}
#front_info > * {
	max-width: var(--content-width);
	margin: 0 auto;
}
.fp_info_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 16px 28px;
}
.fp_info_ttl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 240px;
	border-right: 3px solid #fadb00;
}
.fp_info_sub {
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: .2em;
	line-height: calc(34/22);
	padding: 0 0 0 calc(34px + 10px);
	background: url(/img/top/icon_important.png) no-repeat top left / 34px 34px;
}
.fp_info_list {
	width: calc(100% - 240px - 28px);
}
.fp_info_list li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
.fp_info_list li + li {
	margin-top: 16px;
}
.fp_info_date {
	font-size: 1.6rem;
	line-height: calc(20/16);
	width: 175px;
}
.fp_info_title {
	width: calc(100% - 175px);
	line-height: calc(20/18);
}
.fp_info_title a {
	color: inherit;
	font-size: 1.8rem;
	letter-spacing: .1em;
}
.fp_info_link {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 15px 30px;
	margin: 16px 0 0;
}
.fp_info_btn {
	display: block;
	margin: -.4rem 0;
}
.fp_info_btn a {
	color: inherit;
	text-decoration: none;
	font-size: 1.6rem;
	letter-spacing: .1em;
	line-height: calc(24/16);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 20px;
}
.fp_info_btn a::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url(/img/top/arrow_yellow.png) no-repeat center / contain;
}
@media (hover: hover) {
	.fp_info_btn a:hover {
		text-decoration: underline;
	}
}

/* ==================================================
スマートフォン
================================================== */
@media screen and (max-width: 1080px) {

	/* ----------------------------------------
	ヘッダ
	---------------------------------------- */
	#spm_wrap{
		pointer-events: auto;
	}
	#header.header__front {
		/* padding-block: 20px; */
		min-height: 0;
		box-sizing: border-box;
	}
	#header2_box{
		height: 70px;
	}
	#header_btns.header_btns__front {
		display: none !important;
	}
	#header_emer.header_emer__front {
		display: block;
		position: fixed;
		top: 100%;
		left: 0;
		right: auto;
		z-index: 100;
		width: 100%;
		max-width: none;
		height: auto;
		max-height: 100vh;
		max-height: 100dvh;
		padding: 0 0 60px;
		background: #fff3f3;
		overflow: auto;
		-webkit-transition: .5s translate;
		transition: .5s translate;
	}
	.spm_emer_open #header_emer.header_emer__front {
		translate: 0 -100%;
	}

	/* ----------------------------------------
	スライド（PC）
	---------------------------------------- */
	#front_photo_wrap,
	#front_photo_wrap * {
		display: none !important;
	}

	/* ----------------------------------------
	スライド（SP）
	---------------------------------------- */
	#front_photo2_wrap {
		/* position: relative; */
		/* margin-bottom: -326px; */
		position: fixed;
		top: 0;
		right: auto;
		bottom: auto;
		left: 0;
		width: 100vw;
		height: calc(100vh - 60px);
		height: calc(100dvh - 60px);
	}
	#front_photo2 {
		display: block;
		width: 100%;
		height: 100vh;
		height: 100%;
	}
	#front_photo2_list {
		display: block;
		width: 100%;
		height: 100%;
	}
	#front_photo2_list .front2_box {
		display: block;
		width: 100%;
		height: 100%;
	}
	#front_photo2_list .front2_img {
		display: block;
		width: 100%;
		height: 100%;
	}
	#front_photo2_list .front2_img img {
		display: block;
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
	}
	#front_photo2_wrap .c_control {
		position: absolute;
		top: calc(85px + 10px);
		left: 50%;
		translate: -50% 0;
		z-index: 2;
		width: auto;
		max-width: calc(100% - 45px);
	}

	/* ----------------------------------------
	コンテンツ
	---------------------------------------- */
	#front_content_wrap {
		position: relative;
		bottom: auto;
		z-index: 1;
		width: auto;
		/* padding-bottom: calc(60px + 10px); */
		padding-top: 100vw;
		pointer-events: none;
	}

	#main {
		padding-bottom: 80px;
	}

	/* ----------------------------------------
	メニュー
	---------------------------------------- */
	#front_menu {
		background: none;
		pointer-events: auto;
	}
	#front_menu > * {
		max-width: calc(100% - 45px);
	}
	ul.fp_menu_list {
		display: block;
		padding-inline: 45px;
		border-left: 0;
		border-right: 0;
	}
	li[class^="fp_menu_"] + li {
		border-left: 0;
		margin-top: 10px;
	}
	li[class^="fp_menu_"] a {
		font-size: 1.5rem;
		gap: 10px;
		height: auto;
		min-height: 50px;
		background: rgb(34 34 34 / .5);
	}
	li[class^="fp_menu_"] a::before {
		width: 30px;
		height: 30px;
	}

	/* ----------------------------------------
	重要なお知らせ
	---------------------------------------- */
	#front_info {
		padding-block: 0;
		background: none;
		margin-top: 10px;
		pointer-events: auto;
	}
	#front_info > * {
		max-width: calc(100% - 45px);
	}
	#front_info > .fp_info {
		padding: 8px 19px 19px;
		border: 1px solid #fadb00;
		background: rgb(255 255 255 / .9);
	}
	.fp_info_box {
		display: block;
	}
	.fp_info_ttl {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		width: auto;
		border-right: 0;
		border-bottom: 2px solid #fadb00;
		padding-bottom: 8px;
	}
	.fp_info_sub {
		font-size: 1.7rem;
		line-height: calc(26/17);
		padding-left: calc(26px + 19px);
		background-size: 26px 26px;
	}
	.fp_info_list {
		width: auto;
		margin-top: 20px;
	}
	.fp_info_list li {
		display: block;
	}
	.fp_info_list li + li {
		margin-top: 20px;
	}
	.fp_info_date {
		display: block;
		font-size: 1.2rem;
		line-height: 1;
		width: auto;
	}
	.fp_info_title {
		display: block;
		width: auto;
		line-height: calc(16/14);
		margin-top: 8px;
	}
	.fp_info_title a {
		font-size: 1.4rem;
	}
	.fp_info_link {
		width: auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		gap: 12px;
		margin-top: 25px;
	}
	.fp_info_btn {
		margin-block: 0;
	}
	.fp_info_btn a {
		font-size: 1.2rem;
		line-height: calc(14/12);
		gap: 7px;
	}
	.fp_info_btn a::after {
		width: 12px;
		height: 12px;
	}

}
/* ==================================================
スマートフォン ここまで
================================================== */

/* ==================================================
背景色変更
================================================== */
.color_change .tpl_front_index #logo img {
	filter: none !important;
}
.color_change li[class^="fp_menu_"] a::before,
.color_change .fp_info_btn a::after {
	display: none !important;
}
.color_change .fp_info_sub {
	background-image: none !important;
}



/* やさしい日本語 */
.tsutaeru-toolbar-message-active #container {
	position: relative;
}
.tsutaeru-toolbar-message-active #header.header__front {
	position: absolute;
}
@media screen and (max-width: 1080px) {
	.tsutaeru-toolbar-message-active #container {
		position: relative;
	}
	.tsutaeru-toolbar-message-active #header.header__front {
		position: absolute;
	}
	.tsutaeru-toolbar-message-active .tsutaeru-toolbar.noTTER {
		position: relative;
		z-index: 999;
	}
}
/* やさしい日本語 ここまで */