/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 12 2025 | 00:04:41 */
@charset "utf-8";

/* =======================================

	common

======================================= */

a {
	outline: none;
	transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

a:link {
	color: #ffffff;
	text-decoration: none;
}

a:visited {
	color: #ffffff;
	text-decoration: none;
}

a:hover {
	color: #ffffff;
	text-decoration: none;
	opacity: 0.7 ;
}

a:active {
	color: #ffffff;
	text-decoration: none;
}

body {
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
}


/* =======================================

	Html , Body

======================================= */

html {
	overflow-y: scroll;
	font-size: 62.5%;/* 1em:10px*/
}

body {
	margin: 0 auto;
	padding: 0;
	line-height: 2.2;
	color: #ffffff;
	text-align: left;
	/* font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	overflow: hidden;
	background-color: #000000;
	font-weight: normal;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: none; /* フォントサイズ自動調整 */
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
	letter-spacing: 0.2em;
	word-break: break-all;
}

section {
}


/* max-width */
@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 900px) {
body {
	line-height: 2.0;
}
}

/* max-width */
@media screen and (max-width: 480px) {
section {
}
}


/* =======================================

	common

======================================= */

.pc_none {
	display: none;
}

.pc_tb_none {
	display: none;
}

.sp_tb_none {
	display: block;
}

.sp_none {
	display: block;
}

.pc_br {
	display: block;
}

.block_w {
	max-width: 1200px;
	margin: 0 auto;
}

.block_s {
	max-width: 1000px;
}

.block_ss {
	max-width: 900px;
}

.block_100 {
	width: 100%;
}

.mgn_01 {
	margin: 0 auto;
	padding: 130px 20px;
}

.mgn_08_ex {
  padding: 130px 20px;
}

.mgn_02 {
	margin: 0 auto;
	padding: 60px 20px;
}

.mgn_03 {
	margin: 0 auto;
	padding: 100px 20px 50px;
}

.mgn_04 {
	margin: 0 auto;
	padding: 45px 20px;
}

.mgn_05 {
	margin: 0 auto;
	padding: 110px 20px 0;
}

.mgn_06 {
	margin: 0 auto;
	padding: 60px 20px 0;
}

.bg_01 {
	width: 100%;
	height: auto;
	background: url(https://kuhombutsu.jp/wp/wp-content/uploads/2025/08/bg_01.jpg) repeat center center;
	background-size: 100% auto;
	box-sizing: border-box;
}


@media screen and (max-width: 900px) {

.pc_none {
	display: block!important;
}

.pc_tb_none {
	display: none;
}

.sp_tb_none {
	display: none!important;
}

.sp_none {
	display: block;
}

.mgn_01 {
	padding: 65px 20px;
}

.mgn_02 {
	padding: 30px 20px;
}

.mgn_03 {
	padding: 50px 20px 25px;
}

.mgn_04 {
	padding: 23px 20px;
}

.mgn_05 {
	padding: 55px 20px 0;
}

.mgn_06 {
	margin: 0 auto;
	padding: 30px 20px 0;
}

.mgn_08_ex {
  padding: 75px 20px;
}
}


@media screen and (max-width: 480px) {

.pc_none {
	display: block!important;
}

.pc_tb_none {
	display: block!important;
}

.sp_tb_none {
	display: none!important;
}

.sp_none {
	display: none!important;
}

.pc_br {
	display: none;
}
}


/* 追加マージン */
.mgn_01_head_h {
	margin: 0 auto;
	/* padding: 130px 20px; */
  padding: calc(130px - 2.2em) 20px 130px; /* line-height:2.2 */
}

.mgn_07 {
	margin: 0 auto;
	/* padding: 90px 20px; */
  padding: calc(90px - 2.2em) 20px 90px; /* line-height:2.2 */
}

.mgn_07_ex {
	margin: 0 auto;
 	/* padding: 90px 20px 0; */
  padding: 90px 20px 45px; /* line-height:2.2 */
}

.mgn_10 {
	margin: 0 auto;
	padding: 60px 20px;
}

.mgn_11 {
	margin: 0 auto;
	padding: 30px 20px 130px;
}

@media screen and (max-width: 900px) {
.mgn_01_head_h {
	/* padding: 65px 20px; */
  padding: calc(65px - 2.0em) 20px 65px; /* line-height:2.0 */
}

.mgn_07 {
	margin: 0 auto;
	/* padding: 45px 20px 110px; */
  padding: calc(45px - 2.0em) 20px 110px; /* line-height:2.0 */
}

.mgn_07_ex {
	margin: 0 auto;
	/* padding: 45px 20px 0; */
  padding: 45px 20px 23px; /* line-height:2.0 */
}

.mgn_10 {
	margin: 0 auto;
	padding: 30px 20px;
}

.mgn_11 {
	margin: 0 auto;
	padding: 0 20px 65px;
}
}

/* =======================================

	#Container

======================================= */

#Container{
}

#Wrapper {
}

#Contents {
}

/* =======================================

	header

======================================= */

@media screen and (max-width: 1100px) {
header {
	letter-spacing: 0.01rem;
	font-size: clamp(1.0rem, 2vw, 1.4rem);
}
}

@media screen and (max-width: 900px) {
header {
	font-size: 1.4rem;
}
}

.header_change {
	background-color: rgba(0,0,0,0.8);
	display: flex;
	justify-content: space-between;
	position: fixed;
	transition: .5s;
	width: 100%;
	z-index: 1000;
	top: -77px;
}

.header_change.show {
	top: 0;
}

.site_logo {
	padding: 0 26px;
}

.site_logo img {
	width: 30px;
}

.gnav {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
  align-items: center;
  justify-content: space-between;
}

.gnav_list_01, .gnav_list_02 {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
	gap: clamp(13px, 2vw, 26px);
}

.site_logo {
  flex-shrink: 0; /* ロゴが潰れないように */
}

@media screen and (max-width: 1100px) {
.header_change {
	/* font-size: 1.1rem;
	font-size: calc(1.1rem + ((1vw - 0.8959999999999999rem) * 0.9804));
	letter-spacing: 0.1em; */
}

.gnav ul li {
	line-height: 1;
	padding: 0;
}
}

#nav_toggle{
	display: none;
}

/*メニュー部分*/
@media screen and (max-width:900px){
header {
	position:absolute;
	z-index: 1000000000;
}

.header_change {
	height: 30px;
	padding: 20px 0;
	background: #000;
}

.site_logo_sp {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	line-height: 1;
}

.site_logo_sp img {
	width: 30px;
}

.gnav {
	display: none;
	position: absolute;
	top:70px;
	left: 0;
	width: 100%;
	flex-wrap: wrap;
	height: calc(100vh - 70px); /* 画面いっぱいの高さ確保（70pxはヘッダーの高さ分） */
  overflow-y: auto; /* 縦スクロール許可 */
	background-color: #000000;
}

.gnav > ul {
	display: block;
	margin: 0 auto;
	width: 100%;
	float: none;
}

.gnav > ul > li > a{
	display: block;
	padding: 20px 20px;
}

.gnav > ul > li{
	margin: 0 auto;
	text-align: center;
	border-bottom: 1px solid #2e2e2e;
	display: block;
}

.gnav .gnav_list_02 li:last-child{
	border: none;
}

.gnav_list_02 {
  padding-bottom: 8rem;
}
}

@media screen and (max-width:900px){
/*開閉ボタン*/
#nav_toggle{
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 26px;
	/* left:20px; */
	right:20px;
	z-index: 100;
}

#nav_toggle div {
	position: relative;
}

#nav_toggle span{
	display: block;
	height: 2px;
	background: #fff;
	position:absolute;
	width: 100%;
	left: 0;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
}

#nav_toggle span:nth-child(1){
	top:0px;
}

#nav_toggle span:nth-child(2){
	top:8px;
}

#nav_toggle span:nth-child(3){
	top:16px;
}

/*開閉ボタンopen時*/
.open #nav_toggle span:nth-child(1) {
	top: 8px;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	transform: rotate(135deg);
}

.open #nav_toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}

.open #nav_toggle span:nth-child(3) {
	top: 8px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
}

/* =======================================

	MEGA MENU

======================================= */
.header-nav {
  display: flex;
  justify-content: center;
}

.header-item:hover {
}

.gnav_list_01 > li > a, .gnav_list_02 > li > a {
  display: block;
	padding: 22px 0;
}

.megaMenu {
  left: 0;
  opacity: 0;
  position: absolute;
  text-align: center;
  visibility: hidden;
  width: 100%;
	opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease;
	background-color: #000000;
}

.megaMenu-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 30px;
  max-width: 900px;
  margin: 0 auto;
  padding: 30px;
}

.megaMenu-item {
  flex: 0 0 calc((100% - 60px) / 3);
  box-sizing: border-box;
  text-align: center;
	transition: ground-color .3s;
}

/* 画像の比率を統一 */
.megaMenu-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.megaMenu-img img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* トリミングして中央寄せ */
  display: block;
	border-radius: 2px;
}

.megaMenu-ttl {
  margin-top: 25px;
}

.header-item:hover .megaMenu {
  opacity: 1;
  visibility: visible;
}

/* ▼ 900px以下で2カラム固定幅 */
@media (max-width: 900px) {
.megaMenu-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 20px;
  max-width: 100%;
  margin: 0 auto;
  padding: 20px;
}

.megaMenu-item {
  flex: 0 0 calc((100% - 20px) / 2);
}
}


@media screen and (max-width: 900px) {
.megaMenu {
  position: static;
  opacity: 1;
  visibility: visible;
  /* background-color: transparent; */
  width: 100%;
  transition: none;
}

.megaMenu-list {
  flex: 0 0 calc((100% - 20px) / 2);
}

.megaMenu-item {
  display: block;
  width: 100%;
  text-align: center;
  margin-bottom: 10px;
}

.megaMenu-item:nth-last-child(-n+2) {
  margin-bottom: 0;
}
}

/* =======================================

	下層_header

======================================= */

.header_change_2nd.show {
	top: 0;
}

.header_change_2nd {
	background-color: #000000;
	display: flex;
	justify-content: space-between;
	position: fixed;
	top: 0;
	transition: .5s;
	width: 100%;
	z-index: 1000;
}

@media screen and (max-width: 900px) {
.header_change_2nd {
	height: 30px;
	padding: 20px 0;
	background: #000;
}
}







/* =======================================

	#Main_movie

======================================= */

#Main_movie {
  position: relative;
  height: 100vh;
  margin-bottom: 0;
  overflow: hidden;
  animation: fadeMovie 2s ease forwards;
}

.fitMovie {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.Main_movie_layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background-image: linear-gradient(45deg, rgba(0,0,0,.1) 50%, rgba(0,0,0,.3) 50%);
  background-size: 3px 3px;
}

.main_box_centered {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  transform: translate(-50%, -50%);
  text-align: center;
}

@keyframes fadeMovie {
  0% { opacity: 0 }
  100% { opacity: 1 }
}

@media screen and (max-width: 900px) {
  .main_box_contents img {
    width: 82%;
  }
}



/* =======================================

	#Sub_nav

======================================= */

#Sub_nav {
	position: relative;
}

#Sub_nav .top_nav_01 {
}

#Sub_nav ul {
	text-align: center;
}

#Sub_nav ul li {
	padding: 0;
	vertical-align: top;
	line-height: 1;
	font-size: 1.5rem;
	display: inline-block;
	margin: 0 2%;
	letter-spacing: 0.3em;
}

#Sub_nav .top_nav_logo {
}

#Sub_nav ul li:not(:nth-child(5)) {
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

#Sub_nav ul li a {
	display: block;
}

#Sub_nav .top_nav_logo {
	margin: 0 2em;
}

.top_nav_logo_sp {
	margin: 0 0 50px 0;
}

@media screen and (max-width: 900px) {
#Sub_nav .top_nav_logo {
	margin: 0 1em;
}

#Sub_nav ul li {
	font-size: 1.3rem;
	margin: 0 1.5%;
}
}

@media screen and (max-width: 480px) {
#Sub_nav ul li {
	margin: 0 2%;
}

#Sub_nav .top_nav_logo {
	margin: 0;
}

.top_nav_logo_sp {
	text-align: center;
}
}


/* =======================================

	#Information

======================================= */

.information_area {
	position: relative;
	line-height: 1.5;
	text-align: left;
}

.news-list {
  margin: 0;
  padding: 0;
}

.information_area dl {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1em;
	border-bottom: 1px solid #2e2e2e;
	padding: 0 0 15px;
	margin: 0 0 15px;
}

.information_area dl:last-child {
	padding: 0 0 15px;
	margin: 0;
}

.information_area dl dt {
  flex-shrink: 0;
  display: flex;
  /* gap: 0.5em; */
  /* min-width: 160px; */
	padding: 0 2em;
}

.news-date {
	width: 8em;
	/* border-right: solid 1px #fff; */
}

.news-tag {
  display: inline-block;
  letter-spacing: 0.1rem;
	min-width: 78px;
	text-align: center;
	border-radius: 2px;
	padding: 1px;
	margin-left: 1em;
}

.information_area dl dd {
  margin: 0;
  flex: 1;
	padding-right: 2em;
}

.information_area .info_more {
	position: absolute;
	top: 10px;
	right: 0;
}

.information_area .info_more img {
	margin: 0 0 0 10px;
	/* vertical-align: text-top; */
	padding-bottom: 4px;
}

/* --- スマホ時 --- */
@media (max-width: 900px) {
.information_area dl {
	flex-direction: column;
}

.news-meta {
  display: flex;
  justify-content: flex-start;
  min-width: auto;
  margin-bottom: 1em;
}

.information_area dl dt {
  padding: 0;
}

.information_area dl dd{
	padding-left: 0;
}

.news-date{
	border-right: none;
	/* padding-left: 5px; */
	line-height: 1.65;
}

.news-tag{
	margin-left: 0.5em;
}

.information_area .info_more {
  position: absolute;
  top: auto;
  bottom: 0;
  /* font-size: 1rem; */
}

.information_area .info_more {
  position: absolute;
  top: auto;
  bottom: -60px;
}

.news-title {
  line-height: 1.6;
}
}

/* @media screen and (max-width: 900px) {
#Information .mgn_02 {
	margin: 0 auto;
	padding: 60px 20px 126px;
}
}

@media screen and (max-width: 480px) {
#Information .mgn_02 {
  padding: 30px 20px 96px;
}
} */


/* =======================================

	#Contents

======================================= */

#Contents {
}


/* =======================================

	btn,title

======================================= */

.ttl_01 {
	margin: 0 0 90px 0;
	padding: 0;
	line-height: 1;
	text-align: center;
}

.ttl_information {
	margin: 0 0 90px 0;
	padding: 0;
	line-height: 1;
	text-align: center;
	letter-spacing: 0.3em;
}

.btn_all {
	text-align: center;
}

.btn_all a {
	display: inline-block;
	position: relative;
	min-width: 260px;
	border: 1px solid #ffffff;
	font-weight: bold;
	text-align: center;
	line-height: 50px;
	border-radius: 2px!important;
}

.btn_qa a {
	display: inline-block;
	position: relative;
	min-width: 500px;
	border: 1px solid #ffffff;
	text-align: center;
	line-height: 100px;
	font-weight: bold;
}

.ttl_03 {
	/* font-weight: bold; */
	margin: 0 0 40px 0;
	padding: 10px 8px 10px 10px;
	line-height:1;
	letter-spacing: 0.3em;
	border-bottom: solid 2px #2e2e2e;
	display: inline-block;
}


@media screen and (max-width: 900px) {
.ttl_01 {
	margin: 0 0 45px 0;
}

.ttl_information {
	margin: 0 0 45px 0;
}
}


@media screen and (max-width: 480px) {
/* .btn_qa a {
	min-width: 100%;
} */
}


/* =======================================

	common

======================================= */

.col_01{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.col_02, .col_03{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0 -30px;
}

.col_04{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0 -20px;
}

.col_01 .col_box {
	width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.col_02 .col_box {
	width: 50%;
	padding: 0 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.col_03 .col_box {
	width: 33.333%;
	padding: 0 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.col_04 .col_box {
	width: 25%;
	padding: 0 20px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.col_box {
	margin-bottom: 130px;
}

.col_box_img a {
	display: block;
	position: relative;
}

.col_box_img img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

.col_box_ttl {
	line-height: 1;
	font-weight: bold;
	letter-spacing: 0.3em;
	text-align: center;
}

.col_box_sub {
	margin: 20px 0 0;
	line-height: 1;
	font-weight: bold;
	letter-spacing: 0.3em;
	text-align: center;
}

.col_box_txt {
	letter-spacing: 0.3em;
}


@media screen and (max-width: 900px) {
.col_01 {
}

.col_02, .col_03, .col_04 {
	margin: 0 -10px;
	-webkit-box-pack: left;
	-webkit-justify-content:  left;
	-ms-flex-pack:  left;
	justify-content:  left;
}

.col_01 .col_box {
	width: 100%;
	padding: 0 10px;
}

.col_02 .col_box {
	width: 100%;
	padding: 0 10px;
}

.col_03 .col_box {
	width: 50%;
	padding: 0 10px;
}

.col_04 .col_box {
	width: 50%;
	padding: 0 10px;
}

.col_box_ttl {
	/* margin: 20px 0; */
}
}


/* =======================================

	#Sns

======================================= */

#Sns {
	background: url(https://kuhombutsu.jp/wp/wp-content/uploads/2025/08/bg_sns.jpg) repeat;
}

#Sns .sns_box {
}

#Sns .sns_box ul {
	display: table;
	margin-left: auto;
	margin-right: auto;
}


#Sns .sns_box ul li {
	display: table-cell;
	vertical-align: middle;
	padding: 0 18px;
}

#Sns .sns_box ul li a {
	display: block;
}

#Sns .sns_box ul li img {
	max-width: 40px;
	height: 40px;
}


/* =======================================

	#Instagram

======================================= */

/* .insta_box {
	margin-bottom: 115px;
}

@media screen and (max-width: 480px) {
.insta_box {
	margin-bottom: 60px;
}
} */


/* =======================================

	#Footer_info

======================================= */

#Footer_info {
}

#Footer_info p {
	margin: 0 0 15px 0;
}

#Footer_info .logo_info {
	margin: 0 0 50px 0;
}

#Footer_info ul {
	line-height: 2;
}

#Footer_info ul li:nth-child(2){
	margin: 0 0 40px 0;
}

.footer_logo img{
	width: 80px;
}


/* =======================================

	footer

======================================= */

footer {
	text-align: left;
	background: url(https://kuhombutsu.jp/wp/wp-content/uploads/2025/08/bg_footer.jpg) repeat;
}

.footer_nav {
	margin: 0 0 100px 0;
}

.footer_nav {
	margin: 0 0 100px 0;
}

.footer_box {
	float: left;
	width: 33.333%;
	padding: 0 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.footer_box ul {
	/* margin-bottom: 20px; */
}

.footer_nav ul li:first-child {
}

.footer_nav ul li {
	/* margin-bottom: 5px; */
}

/* .footer_nav ul li:nth-child(n + 2) {
	margin-left: 1.3em;
} */

.footer_copy {
	text-align: center;
	letter-spacing: 0.1em;
  font-size: 1.2rem;
}

.footer_nav .sub-menu {
	margin-left: 1.3em;

}

ul.main-menu > li {
	margin-bottom: 20px;
}

ul.main-menu > li > a {
}

/* =======================================

	#page_top

======================================= */

#page_top {
	position: fixed;
	bottom: 50px;
	right: 50px;
	/* z-index: 10000000; */
	z-index: 1000;
}

#page_top a {
	line-height: 10px;
	text-indent: -9999px;
	display: block;
	background: url(https://kuhombutsu.jp/wp/wp-content/uploads/2025/08/btn_top.png) no-repeat center center;
	width: 90px;
	height: 115px;
	background-size: 90px 115px;
  animation: bounceLoop 2s ease-in-out infinite;
}

/* ふわふわアニメーション */
@keyframes bounceLoop {
  0%   { transform: translateY(0); }
  25%  { transform: translateY(-10px); } /* 上に跳ねる */
  50%  { transform: translateY(0); }     /* 戻る */
  75%  { transform: translateY(-5px); }  /* 少し小さく跳ねる */
  100% { transform: translateY(0); }     /* 戻る（スムーズにループ） */
}

/* max-width */
@media screen and (max-width: 480px) {

#page_top {
	bottom: 2%;
	right: 2%;
}

#page_top a {
	background-size: 90px 115px;
}
}


@media screen and (max-width: 900px) {
/* スマホでのタップ時の透過（ハイライト）を無効化 */
#page_top a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); /* iOS Safari */
  -webkit-touch-callout: none; /* 長押しメニュー防止（必要なら） */
  -webkit-user-select: none; /* テキスト選択防止 */
}

#page_top a:active {
  opacity: 1 !important; /* タップ時に透過しない */
}
}

/* =======================================

	Waypoints_anime

======================================= */

.fadeInUp {
  animation: fadeInUp 2.5s cubic-bezier(.55,0,.1,1) both;
  animation-delay: 0.8s; /* ローディング終了に合わせて遅らせる */
}

@-webkit-keyframes fadeInUp { from{ filter:alpha(opacity=0);-moz-opacity: 0;opacity: 0; transform: translateY(8px); -webkit-transform: translateY(8px); -ms-transform: translateY(8px); }}
@keyframes fadeInUp { from{ filter:alpha(opacity=0);-moz-opacity: 0;opacity: 0; transform: translateY(8px); -webkit-transform: translateY(8px); -ms-transform: translateY(8px); }}


.delay-05s {
	-webkit-animation-delay: 0.5s;
	animation-delay: 0.5s;
}

.delay-1s {
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
}

.delay-15s {
	-webkit-animation-delay: 1.5s;
	animation-delay: 1.5s;
}

/* =======================================

	img_on_hover

======================================= */

.col_box_img {
	overflow: hidden;
	position: relative;
}

.col_box_img .caption {
	text-align: center;
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #fff;
}

.col_box_img .caption span {
	border: solid 1px #ffffff;
	padding: 12px 10px 12px 18px;
}

.col_box_img .mask {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	background-color: rgba(0,0,0,0.8);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
.col_box_img:hover .mask {
	opacity: 1;
}


/* =======================================

	2nd_page

======================================= */

.block_2nd_top {
	position: relative;
	margin-top: 77px;
	margin-bottom: 30px;
}

.ttl_2nd_top {
	position: absolute;
	top: 50%;
	left: 0;
	translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	margin: 0;
	padding: 0 20px;
}

.ttl_2nd_top span {
	position: relative;
	display: inline-block;
	/* padding: 5px 14px 5px 20px; */
	padding: 2px 14px 5px 20px;
	background-color: rgba(0, 0, 0, 0.7);
	border-radius: 2px;
  line-height: 1.8;
}

.img_2nd_top img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

.bread_list_block {
	max-width: 1200px;
	margin: 0 auto;
	/* padding: 30px 20px 0; */
	padding: 0 20px;
}

.bread_list {
	display: flex;
	margin: 0;
	color: #cccccc;
}

.bread_list a {
	color: #cccccc;
}

.bread_list li:not(:last-child):after {
	content: " > ";
	margin: 0 1rem;
}

.block_lead {
	max-width: 1200px;
	margin: 110px auto 0;
	padding: 0 20px;
}

.c-lead {
	position: relative;
	margin: 0 0 0;
	text-align: center;
	letter-spacing: 0.15em;
	border-bottom: 1px solid #4e4e4e;
	padding: 0 0 110px;
}


@media screen and (max-width: 900px) {

.block_2nd_top {
	margin-top: 70px;
}

.ttl_2nd_top {
	margin-bottom: 0;
}
}


@media screen and (max-width: 900px) {

.c-lead {
	padding: 0 0 55px;
}

.block_lead {
	margin: 55px auto 0;
}
}


/* =======================================

	history

======================================= */

.block_3rd_top {
	position: relative;
	margin-top: 77px;
}

.ttl_3rd_top {
	margin: 0;
	padding: 0 20px;
	text-align: center;
	letter-spacing: 0.3em;
	margin: 0important;
}

.ttl_3rd_top span {
	display: block;
	margin: 4em 0;
}

.block_3rd_01 {
	max-width: 600px;
	/* margin: 110px auto 0; */
	/* margin: 110px auto 130px; */
	/* padding: 0 20px; */
	text-align: left;
  margin: 0 auto;
}

.block_3rd_01_img {
	max-width: 600px;
	margin: 0 auto 40px;
	text-align: center;
}

.block_3rd_01_box {
	 /* margin-bottom: 80px; */
}

.block_3rd_01_box img, .block_3rd_01_img img {
	max-width: 100%;
	height: auto;
}

.block_3rd_01_box p {
	margin-top: 0;
	line-height: 2.6;
	letter-spacing: 0.2em;
}

.block_3rd_02 {
	max-width: 1200px;
	margin: 110px auto 0;
	padding: 0 20px;
	text-align: left;
}

.block_3rd_03 {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	text-align: center;
}

.block_3rd_02_img {
	max-width: 1200px;
	margin: 0 auto 40px;
	text-align: center;
}

.block_3rd_02_img img {
	max-width: 100%;
	height: auto;
}

.center_txt {
	text-align: center;
}

strong {
	font-weight: 700;
}

.text_indent {
	padding-left:2.4em;
	text-indent:-2.4em;
}


@media screen and (max-width: 900px) {

.block_3rd_top {
	margin-top: 70px;
}

.block_3rd_01 {
	margin: 20px auto 0;
}

.ttl_3rd_top span {
	display: block;
	margin: 2em 0;
}
}


@media screen and (max-width: 480px) {

.ttl_3rd_top > span {
	display: block;
	margin: 2em 0;
}

.block_3rd_01_img {
	width: 100%;
	margin: 0 auto 20px;
}

.block_3rd_01_box {
	width: 100%;
	margin: 0 auto;
}
}


/* =======================================

	gokigan_gokuyou

======================================= */

.detail_box {
	width: 100%;
	overflow: hidden;
	border-bottom: 1px solid #2e2e2e;
}

.detail_box dt {
	border-top: 1px solid #2e2e2e;
	padding: 0;
	width: 100px;
	float: left;
	clear: both;
	box-sizing: border-box;
	padding: 10px 10px 10px 0;
	font-weight: bold;
}

.detail_box dd{
	margin-left: 100px;
	box-sizing: border-box;
	border-top: 1px solid #2e2e2e;
	padding: 10px 0 10px 10px;
}

.detail_box dt:first-of-type, .detail_box dd:first-of-type {
    padding-top: 0;
    border-top: 0;
}


/* =======================================

	event

======================================= */

.table_01 {
	width: 100%;
	text-align: left;
	border-collapse: collapse;
}

.table_bg_gr{
	background: #171717;
}


.table_01_head {
	background: #04271d;
}

.table_01_head th {
	text-align: center;
}

.table_01 th {
	border: solid 1px #2e2e2e;
	padding: 30px;
	min-width: 100px;
}

.table_01 td {
	border: solid 1px #2e2e2e;
	padding: 30px;
}

.table_01 td span {
	font-weight: bold;
	margin-bottom: 10px;
}

@media screen and (max-width: 900px) {
.table_01 th {
	padding: 15px;
}

.table_01 td {
	padding: 15px;
}
}

/* =======================================

	faq

======================================= */

.faq_box {
	width: 100%;
	text-align: left;
	margin-bottom: 50px;
}

.faq_box dt {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 20px;
	border:solid 2px rgba(13, 119, 119, 0.7);
	/* background: rgba(13, 119, 119, 0.2); */
	margin-bottom: 10px;
}

.faq_box dd {
	padding: 10px 20px;
}

.block_s dl:last-child {
	margin-bottom: 0;
}

.caption_01 {
	text-align: center;
	border: solid 1px #ffffff;
	padding: 5px 0;
	margin-bottom: 40px;
}

.kyupon_box {
	margin-bottom: 50px;
}

.kyupon_ttl {
	padding-left:1.8em;
	text-indent:-1.8em;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: solid 1px rgba(13, 119, 119, 0.5);
}


/* =======================================

	guide

======================================= */

.access_info .logo_info {
	margin: 0 0 40px 0;
}

.access_info .logo_info span {
}

.access_info ul {
}

.access_info ul li:nth-child(2){
	margin: 0 0 40px 0;
}

.ft_bd {
	font-weight: bold;
}

.maps {
	margin: 0 auto;
	position: relative;
	width: 100%;
	padding-top: 75%;
}
.maps iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

.map_box {
	color: #ffffff;
	padding: 40px;
	text-align: center;
}

.map_box img {
	width:100%;
	max-width: 50%;
	height: auto;
}

.map_box h3 {
	font-weight: bold;
	padding: 20px 0;
}


@media screen and (max-width: 480px) {
.map_box img {
	max-width: 90%;
}
}


.keidai_map_cont {
	display: none;
}

.map_box p:last-child {
	/* text-align: left; */
}

.keidai_map {
	width: 100%;
	text-align: center;
}

.keidai_map_in {
	position: relative;
	display: inline-block;
	max-width: 1200px;
	width: 100%;
	height: 100%;
}

.keidai_map_in img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

.keidai_map_in a {
	display: block;
	position: absolute;
	/* width: 2em; */
	/* padding: 15px 13px; */
	border: 1px solid #9c8e33;
	background-color: rgba(255,255,255,0.9);
	line-height: 1.2;
	color: #000000;
	border-radius: 50%;
	letter-spacing: 0.2em;
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.keidai_map_in span {
	display: inline-block;
	padding: 15px 13px;
}

#cboxOverlay {
	z-index: 10000000000!important;
}
#colorbox {
	position: absolute;
	z-index: 100000000000!important;
}

@media all and (-ms-high-contrast: none){
.keidai_map_in span {
	padding: 15px 11px 15px 8px!important;
}
}

.map_indent{
}

.keidai_map_01 {
	top: 83%;
	left: 34.3%;
}

.keidai_map_02 {
	top: 80.9%;
	left: 52.1%;
}

.keidai_map_03 {
	top: 78.5%;
	left: 88.9%;
}

.keidai_map_04 {
	top: 61.7%;
	left: 48.1%;
}

.keidai_map_05 {
	top: 59.8%;
	left: 72.1%;
}

.keidai_map_06 {
	top: 45.5%;
	left: 83.8%;
}

.keidai_map_07 {
	top: 58%;
	left: 58%;
}

.keidai_map_08 {
	top: 37%;
	left: 64%;
}

.keidai_map_09 {
	top: 50%;
	left: 40%;
}

.keidai_map_10 {
	top: 24.9%;
	left: 50%;
}

.keidai_map_11 {
	top: 17%;
	left: 80.9%;
}

.keidai_map_12 {
	top: 12.8%;
	left: 28.7%;
}

.keidai_map_13 {
	top: 9.4%;
	left: 44.7%;
}

.keidai_map_14 {
	top: 16.3%;
	left: 11.2%;
}

.keidai_map_15 {
	top: 2%;
	left: 36%;
}



@media screen and (max-width: 900px) {

.keidai_map_in span {
	padding: 8px;
}
}

@media screen and (max-width: 480px) {

.keidai_map_in span {
	padding: 2px;
	font-size: 1.0rem;
	line-height: 1.2;
	letter-spacing: 0.1em;
	font-weight: bold;
}
}


#cboxClose {
	right: -5px!important;
}

#cboxLoadedContent {
	position: relative;
}

.ps__rail-y {
	opacity: 1!important;
	/* margin-right: 28px; */
	width: 3px!important;
	right: 28px!important;
}
.ps__thumb-y {
  background-color: #4a4a4a!important;
  width: 3px!important;
  right: 0!important;
}

.ps--active-y > .ps__rail-y {
    background-color: rgba(74,74,74,0.2)!important;
}
.ps__rail-y:hover > .ps__thumb-y,
.ps__rail-y:focus > .ps__thumb-y,
.ps__rail-y.ps--clicking .ps__thumb-y {
  background-color: #4a4a4a!important;
}

.ps:hover > .ps__rail-y, .ps--focus > .ps__rail-y, .ps--scrolling-y > .ps__rail-y {
  opacity: 1!important;
}



/* =======================================

	page_loading

======================================= */

/* body {
	display:none;
}

#Loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #000;
	z-index: 1;
}

.loader {
	display: none;
	text-align: center;
}

.loader img {
	position: fixed;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	z-index: 2;
	width: 50px;
} */

/* body 非表示はやめる */
body {
  opacity: 1;
  transition: opacity 0.4s ease-in-out;
}

#Loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #000;
  z-index: 9999;
}

.loader {
  text-align: center;
}

.loader img {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10000;
  width: 50px;
}





/* =======================================

	btn,title

======================================= */

.ttl_information {
	margin: 0 0 80px 0;
	padding: 0;
	/* line-height: 1; */
	line-height: 2;
	text-align: center;
	letter-spacing: 0.3em;
}

.date_information {
	text-align: center;
	margin: 0 0 35px 0;
	line-height: 1.5;
}

.txt_information {
	margin: 0 0 40px 0;
}

.news-date-single {
	width: 8em;

}

.news-tag-single {
  display: inline-block;
  letter-spacing: 0.1rem;
	min-width: 78px;
	text-align: center;
	border-radius: 2px;
	padding: 1px;
	margin-left: 2em;
}

@media screen and (max-width: 900px) {

.ttl_information {
	margin: 0 0 60px 0;
  letter-spacing: 0.2em;
}

.news-date-single {
	line-height: 1.65;
}

.news-tag-single {
	margin-left: 0.5em;
}
}


@media screen and (max-width: 480px) {

.ttl_information {

}
}

.box_3rd_01 .col_box {
	margin-bottom: 0;
}

.ttl_02 {
	font-weight: bold;
	margin: 0 0 10px 0;
	padding: 0 0 10px 0;
	letter-spacing: 0.3em;
	border-bottom:solid 1px #2e2e2e;
}

.txt_01 {
	margin: 0 auto 40px;
}

.img_01 {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
}

.img_01 img {
	max-width: 100%;
	height: auto;
}

.img_02 {
	margin: 0 auto 40px;
}

.img_02 img {
	max-width: 100%;
	height: auto;
}


@media screen and (max-width: 900px) {

.box_3rd_01 .col_box:first-child {
	margin-bottom: 30px;
}
}


@media screen and (max-width: 480px) {
.ttl_02 {
	letter-spacing: 0.2em;
}

.img_01 {
	width: 100%;
}

.img_02 {
	width: 100%;
	margin: 0 auto 20px;
}
}


/* =======================================

	information

======================================= */

.information_archive {
	text-align: center;
}


/* =======================================

	20190725_追加

======================================= */

.scroll_box_centered {
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 4;
}

.scroll_box_contents {
	text-align: center;
	transform: translate(-50%,-50%);
}
.scroll a {
	position: relative;
	padding-top: 42px;
}

.scroll a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 18px;
	height: 34px;
	margin-left: -9px;
	border: 2px solid #fff;
	border-radius: 40px;
	box-sizing: border-box;
}

.scroll a span::before {
	position: absolute;
	top: 5px;
	left: 50%;
	content: '';
	width: 6px;
	height: 6px;
	margin-left: -3px;
	background-color: #fff;
	border-radius: 100%;
	-webkit-animation: sdb 2s infinite;
	animation: sdb 2s infinite;
	box-sizing: border-box;
}

@-webkit-keyframes sdb {
	0% {
	-webkit-transform: translate(0, 0);
	opacity: 0;
	}
	40% {
	opacity: 1;
	}
	80% {
	-webkit-transform: translate(0, 16px);
	opacity: 0;
	}
	100% {
	opacity: 0;
	}
}

@keyframes sdb {
	0% {
	transform: translate(0, 0);
	opacity: 0;
	}
	40% {
	opacity: 1;
	}
	80% {
	transform: translate(0, 16px);
	opacity: 0;
	}
	100% {
	opacity: 0;
	}
}


/* =======================================

	20190719_追加

======================================= */

.list_01 {
	color: red;
}


.link_02 {
	color: #4a4a4a;
}


/* =======================================

	20190726_追加

======================================= */


.container {
	display: grid;
	justify-content: space-around;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 10px;
	grid-template-rows: 200px 200px 200px 200px;
}
.item {
	background: #0bd;
	color: #fff;
	padding: 10px;
}


/* =======================================

	20250723_追加

======================================= */

.logo_ft_sc {
	display: inline-block;
}

.logo_ft_pr {
	display: none;
}

@media print {
body {
	color: #000;
	background-color: #ffffff;
}

header, #page_top a {
	display: none;
}

.logo_ft_pr {
	display: inline-block;
}

.logo_ft_sc {
	display: none;
}
}



/* Movie　 YouTube */
.js-movie-slider {
  position: relative;
}

.iframe_wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.iframe_wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.block_movie .col_box {
  margin-bottom: 0;
}

.block_movie .swiper-wrapper {
  align-items: start;
}

.col_box_ttl_movie {
  text-align: center;
}

@media screen and (max-width: 781px) {
  .col_box.swiper-slide {
    padding: 0 40px;
  }
}

/* 動画が1つだけのとき中央寄せ・最大幅600px */
.block_movie.single .swiper-wrapper {
  justify-content: center;
}

.block_movie.single .col_box {
  max-width: 600px;
  width: 100%;
}

.block_movie .swiper-button-next::after, .swiper-button-prev::after {
  font-size: 25px;
  color: #fff;
}

.block_movie .swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: 0;

}

.block_movie .swiper-button-next, .swiper-rtl .swiper-button-prev {
	right: 0;
}






/* =======================================

	202508_追加

======================================= */
/* 見出し */
h2 {
	text-align: center;
}


h3 {
}

/* wp初期設定変更（問題あったら削除） */
:root :where(.is-layout-constrained) > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

:root :where(.is-layout-flow) > * {
  margin-block-start: 0;
  margin-block-end: 0;
}


/* onmouse set */
.mo_text_01 {
    position: relative;
    overflow: hidden;
}

.mo_text_01 a {
    display: block;
    position: relative;
}

.mo_text_01 a img {
    display: block;
    width: 100%;
    height: auto;
    transition: opacity 0.4s ease;
}

.mo_text_01 a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-color: rgba(0,0,0,0.8);
    -webkit-transition: all 0.5s ease;
  	transition: all 0.5s ease;
}

.mo_text_01 a::after {
    content: "詳しく見る";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    border: solid 1px #ffffff;
  	padding: 12px 10px 12px 18px;
    opacity: 0;
    -webkit-transition: all 0.5s ease;
  	transition: all 0.5s ease;
    white-space: nowrap;
    line-height: 1;
		border-radius: 2px;
}

.mo_text_01 a:hover img {
    opacity: 1;
}

.mo_text_01 a:hover::before {
    opacity: 1;
}

.mo_text_01 a:hover::after {
    opacity: 1;
}

/* columnの高さ合わせる */
.equal-height-cols {
  display: flex;
  align-items: stretch;
}

.equal-height-cols > .wp-block-column {
  display: flex;
  flex-direction: column;
}

/* 2column中央寄せ用(3-1)*/
.column-hidden {
  display: none;
}

.center-columns {
  justify-content: center;
}








.center-columns {
  display: flex;
  justify-content: center;
}

.column-hidden {
  display: none;
}


/* 区切り専用css  */
.border_01 {
  border-top: 1px solid #2e2e2e;
}


/* 段落ブロック  */
.star-head {
  position: relative;
  padding-left: 1.5em; /* インデント幅 */
  text-indent: 0em;   /* 2行目以降をそろえる */
}

.star-head::before {
  content: "＊"; /* 頭のマーク */
  position: absolute;
  left: 0;
}

/* ページリンク  */
.btn_link_01 {
  gap: 0;
  border-bottom:solid 1px #ffffff;
  padding-bottom: 15px;
}

.btn_link_01 img {
  vertical-align: text-top;
	margin: 0 0 0 10px;
}


/* theme.json タイポグラフィ設定  */
:root {
  --wp--preset--font-size--S: 1.3rem;
  --wp--preset--font-size--M: 1.6rem;
  --wp--preset--font-size--L: 1.8rem;
  --wp--preset--font-size--XL: 2.3rem;
}

/* クラスとして使えるように */
.has-S-font-size {
  font-size: var(--wp--preset--font-size--S);
}

.has-M-font-size {
  font-size: var(--wp--preset--font-size--M);
}

.has-L-font-size {
  font-size: var(--wp--preset--font-size--L);
}

.has-XL-font-size {
  font-size: var(--wp--preset--font-size--XL);
}

/* スマホ幅 (max-width: 480px) で -0.1rem */
@media screen and (max-width: 480px) {
  .has-S-font-size {
    font-size: calc(var(--wp--preset--font-size--S) - 0.1rem);
  }
  .has-M-font-size {
    font-size: calc(var(--wp--preset--font-size--M) - 0.1rem);
  }
  .has-L-font-size {
    font-size: calc(var(--wp--preset--font-size--L) - 0.1rem);
  }
  .has-XL-font-size {
    font-size: calc(var(--wp--preset--font-size--XL) - 0.1rem);
  }
}


/* グループ: 細い線 */
.wp-block-group.is-style-thin-line {
  border: 1px solid #000;
}


/* wpブロックエディタ 調整 */
.wp-block-list {
  text-align: left;
  list-style: revert;
  color: #fff;
}

ul.is-style-default:not(.has-text-color),
ul.is-style-default:not(.has-link-color),
ol.is-style-default:not(.has-text-color),
ol.is-style-default:not(.has-link-color) {
  color: #fff; /* 白文字に固定 */
}

ul.is-style-default,
ul.is-style-vk-arrow-mark,
ul.is-style-vk-triangle-mark,
ul.is-style-vk-check-mark,
ul.is-style-vk-check-circle-mark,
ul.is-style-vk-check-square-mark,
ul.is-style-vk-handpoint-mark,
ul.is-style-vk-pencil-mark,
ul.is-style-vk-smile-mark,
ul.is-style-vk-frown-mark,
ul.is-style-vk-numbered-circle-mark,
ul.is-style-vk-numbered-square-mark,
ol.is-style-default,
ol.is-style-vk-arrow-mark,
ol.is-style-vk-triangle-mark,
ol.is-style-vk-check-mark,
ol.is-style-vk-check-circle-mark,
ol.is-style-vk-check-square-mark,
ol.is-style-vk-handpoint-mark,
ol.is-style-vk-pencil-mark,
ol.is-style-vk-smile-mark,
ol.is-style-vk-frown-mark,
ol.is-style-vk-numbered-circle-mark,
ol.is-style-vk-numbered-square-mark {
  -webkit-padding-start: 1em;
  padding-inline-start: 1em;
}


/* FAQ全体のレイアウト */
.faq_box_ttl, .faq_box_text {
  /* padding: .8rem .8rem .8rem 5rem; */
  padding: 1.0rem 0 1.4rem 5rem;
  position: relative;
}

.faq_box_ttl {
  /* border: solid 2px rgba(13, 119, 119, 0.7); */
}

.faq_box_ttl::before, .faq_box_text::before {
  position: absolute;
  left: 0;
  top: .7rem;
  font-size: 2.2rem;
  width: 3.4rem;
  height: 3.4rem;
  text-align: center;
  font-family: "Arial", "メイリオ";
  border-radius: 2px;
  letter-spacing: 0;
  box-sizing: border-box;
}

.faq_box_ttl::before {
  content: "Q";
  font-weight: 500;
  background-color: #095353;
  color: #fff;
  line-height: 3.5rem;
  top: 1.2rem;
}

.faq_box_text::before {
  content: "A";
  font-weight: 500;
  color: #095353;
  background-color: transparent !important;
  border: 2px solid #095353;
  line-height: 3.1rem;
  top: .7rem;
}





/* トップページレイアウト */
.pc-only { display: block; }
.sp-only { display: none; }

@media screen and (max-width: 768px) {
  .pc-only { display: none; }
  .sp-only { display: block; }
}

/* Swiper スライドの align-items を上書き */
.swiper-slide {
  display: flex !important;
  justify-content: center !important; /* 横方向中央寄せ */
  align-items: unset !important;      /* 元の center を解除 */
}





/* 下線設定 */
.inline-underline {
    text-decoration: underline;
    text-decoration-color: #fffff; /* 色を自由に指定 */
    text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

.btn_link_01 a {
	transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn_link_01 a:hover {
	color: #ffffff;
	text-decoration: none;
	opacity: 0.7;
}


/* 重要なお知らせ */
.important_area {
  position: relative;
}

.important_slider_wrap {
  /* margin-top: 1.2rem; */
}

.important_list {
  display: block; /* 単一表示用 */
}

.important_card {
  background: #05152f;
  border-radius: 2px;
  overflow: hidden;
}

.important_inner {
  display: flex;
  gap: 30px;
  padding: 25px;
  align-items: stretch;
}

.important_media {
  flex: 0 0 38%;
  max-width: 38%;
  position: relative;
}

.important_media_link {
  display: block;
  width: 100%;
  padding-top: 66.66%; /* 3:2 */
  position: relative;
  /* background: #f5f5f5; */
}

.important_media_link img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* .important_media_link.noimg {
  background: #efefef;
} */

.important_body {
  flex: 1 1 auto;
  max-width: 62%;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  text-align: left;
}

.important_title {
  line-height: 1.4;
  margin-bottom: 15px;
}

.important_title a {
  color: inherit;
  text-decoration: none;
}

.important_text {
  margin: 0;
  line-height: 2.0;
  display: -webkit-box;
  -webkit-line-clamp: 3; /* 3行で省略 */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.important_more {
  margin-top: auto;
}

.btn_more {
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  text-decoration: none;
  padding-bottom: 0;
 font-weight: bold;
}

.important_more .btn_more {
	position: relative;
	display: inline-block;
  /* padding-left: 20px; */
	padding: 10px 30px;
	border: solid 1px #ffffff;
	line-height: 1;
	border-radius: 2px;
}

/* .important_more .btn_more:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
} */

/* スライダー内のカード余白調整（swiper-slide が高さ揃えにflexを使う場合の崩れ回避） */
.swiper .swiper-slide .important_card {
  height: 100%;
}

/* SP（縦積み） */
@media screen and (max-width: 781px) {
.important_inner {
  flex-direction: column;
  gap: 15px;
  padding: 15px;
}

.important_media,
.important_body {
  max-width: 100%;
  flex: 0 0 auto;
	margin-bottom: 10px;

}

.important_media_link {
  padding-top: 56.25%; /* 16:9 に変更してもOK */
}

.important_text {
	margin-bottom: 18px;
}

.important_more {
	text-align: center;
}
}

/* ページネーションのドット */
.js-important-slider .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: #ccc;
  opacity: 0.5;
  border-radius: 50%;
  margin: 0 4px !important;
}

.js-important-slider .swiper-pagination-bullet-active {
  background: #fff;
  opacity: 1;
}

.js-important-slider.swiper {
  padding-bottom: 50px;
}

.swiper-pagination-bullet {
	outline: none;
}


/* =======================================

	WP設定　ブレイクポイント @media (max-width: 900px)

======================================= */

/* WP 900px以下で縦積み */
@media (max-width: 900px) {
.wp-block-columns {
	flex-wrap: wrap !important;
}

.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
	flex-basis: 100% !important;
	max-width: 100% !important;
}
}

/* 901px以上で横並び */
@media (min-width: 901px) {
.wp-block-columns {
	flex-wrap: nowrap !important;
}

.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
	/* flex-basis: 0 !important;
	flex-grow: 1 !important;
	max-width: none !important; */
  flex-grow: 0;
}
}


/* =======================================

	VK Blockレスポンシブスペーサー設定　ブレイクポイント @media (max-width: 900px)

======================================= */

/*@media (max-width: 900px) {
  :root {
    --vk-margin-xxs: 10px;
    --vk-margin-xs: 20px;
    --vk-margin-sm: 25px;
    --vk-margin-md: 30px;
    --vk-margin-lg: 45px;
    --vk-margin-xl: 60px;
  }
} */






/* =======================================

	font-size

======================================= */
body, .ft_normal {
  font-size: 1.5rem;
}

h1 {
  font-size: clamp(2.4rem, 5vw, 3.2rem);
  font-weight: normal;
  letter-spacing: 0.3em;
}

h2 {
  font-size: clamp(2.2rem, 4.5vw, 2.8rem);
  font-weight: normal;
  letter-spacing: 0.3em;
}

.top_ttl {
  font-size: clamp(2.0rem, 4.0vw, 2.4rem);
  font-weight: normal;
  letter-spacing: 0.3em;
}

h3 {
  font-size: clamp(1.8rem, 3.5vw, 2.0rem);
  font-weight: normal;
  letter-spacing: 0.2em;
}

h4 {
  font-size: clamp(1.6rem, 3.0vw, 2.2rem);
  font-weight: normal;
  letter-spacing: 0.2em;
}

h5 {
  font-size: clamp(1.6rem, 2.5vw, 2.0rem);
  font-weight: normal;
  letter-spacing: 0.2em;
}

h6 {
  font-size: clamp(1.4rem, 2.0vw, 1.8rem);
  font-weight: normal;
  letter-spacing: 0.2em;
}

.c-lead {
  font-size: clamp(1.6rem, 2.5vw, 1.7rem);
}

.ft_small {
  font-size: 1.4rem;
}

.ft_date {
  font-size: 1.3rem;
}

.ft_cap {
  font-size: 1.2rem;
}

.ft_w_b {
  font-weight: bold;
}


.mgn_xl {
  margin-bottom: 90px;
}

#Contents img, .important_media_link img {
	border-radius: 2px;
}

.iframe_wrapper {
  border-radius: 2px;
  overflow: hidden; /* 角丸外の領域を切り取る */
}

.iframe_wrapper iframe {
  display: block;
}


@media (max-width: 900px) {
  .mgn_xl {
    margin-bottom:45px;
  }
}

.mgn_sm {
  margin-bottom: 35px;
}


/* =======================================

	LINK

======================================= */

.btn_cover {
  transition: all 0.5s ease; /* ← 基本に指定する */
}

.btn_cover:hover {
  opacity: 0.7;
}


/* =======================================

	table

======================================= */

/* table_scheduleのレイアウト */
/* .table_schedule strong {
  margin-bottom: 15px;
  display: block;
} */

.table_schedule table th, .table_schedule table td {
  padding: 30px;
}

.gokigan_table table td {
  padding: 10px 0;
}

@media screen and (max-width: 900px) {
.table_schedule table th, .table_schedule table td {
  padding: 15px;
}
}

@media screen and (max-width: 781px) {
.sp_text_left {
	text-align: left;
}
}


/* =======================================

	repair

======================================= */
.number-text {
  display: flex;
  align-items: baseline;
}


/* =======================================

	goods

======================================= */
.btn_goods img {
  margin-left: 10px;
  padding-bottom: 3px;
}
