/*
Theme Name: alios-white
Author: alios
Description: This is alios original theme,.
Version: 1.0
*/

@charset "UTF-8";
/* CSS Document */

/* CPT UI 一時非表示 */
a.menu-icon-event_not_calendar {
	display: none !important;
}

#text {
	display: none;
}

body,html {
	line-height: 160%;
	font-family: "Helvetica Neue", "Helvetica", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	/*color: #333333;*/
	-webkit-font-smoothing: antialiased;
	-webkit-print-color-adjust: exact;
}

.inner-width {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 8px;
}

a {
	text-decoration: none;
	box-sizing: border-box;
	color: #005b22;
}

a:visited{
  text-decoration: none;
}

a.outside::after {
	content: "";
    width: 16px;
    height: 16px;
    display: inline-block;
    background-image: url(./assets/img/window.png);
    background-position: center right;
    background-size: contain;
    margin: 0 0 -2px 4px;
}

a.outside2::after {
	content: "";
    width: 18px;
    height: 18px;
    display: inline-block;
    background-image: url(./assets/img/window_gray.png);
    background-position: center right;
    background-size: contain;
    margin: 0 4px -2px 4px;
}

ul {
	list-style-type: none;
	margin-bottom: 16px;
}

ol li {
	margin-left: 1.5em;
  	padding-left: 0.5em;
}

p {
	margin: 8px auto 24px;
	text-align: justify;
}

p.padding {
	padding: 0 80px;
}

dd {
	margin-bottom: 16px;
}

img {
	width: 100%;
	height: auto;
}

.corner-deco {
    position: relative;
}

.corner-deco::before,
.corner-deco::after {
    content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
}

.corner-deco::before {
	top: -15px;
	right: -15px;
	border-width: 0 100px 100px 0;
	border-color: transparent #053e62 transparent transparent;
}

.corner-deco::after {
	bottom: -15px;
	left: -15px;
	border-width: 100px 0 0 100px;
	border-color: transparent transparent transparent #053e62;
}

.cf {
  zoom: 1;
}

.cf:after {
  content: '';
  display: table;
  clear: both;
}

*:focus {
	outline: none;
}

.tb {
	display: none !important;
}

.sp {
	display: none !important;
}

.fl-r {
	float:right;
}

.fl-l {
	float:left;
}

.align-r {
	text-align: right;
}

.columns {
	width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 48px;
    justify-content: start;
}

.item-2 {
	width: calc(50% - 10px);
  	margin: 5px;
}

.item-3 {
	width: calc(33.333333% - 10px);
	margin: 5px 5px 20px 5px;
}

.item-4 {
	width: calc(25% - 10px);
	margin: 5px 5px 20px 5px;
}

.item-5 {
	width: calc(20% - 10px);
	margin: 5px 5px 20px 5px;
}

.item-7 {
	/* margin: 5px 5px 20px 5px; */
}

.font-8 {
	font-size: 8px;
}

.font-32 {
	font-size: 16px;
}

.kome {
	font-size: 12px;
	vertical-align: super;
}

.red {
	color: #ff4e05;
}

.bold {
	font-weight: bold !important;
}

.center {
	text-align: center !important;
}

.right {
	text-align: right !important;
}

.left {
	text-align: left !important;
}

li {
	margin: 8px 0;
}

#wrap {
	width: 100%;
}

.ex-link {
	background: url(./assets/img/link.png) no-repeat right center;
	background-size: 10px;
	padding-right: 16px;
}

.ex-link2 {
	background: url(./assets/img/link2.png) no-repeat right center;
	background-size: 10px;
	padding-right: 16px;
	margin: 16px;
}

/* pagetop */
#pagetop{
    position: fixed;
    right: 0;
    bottom: 52px;
    cursor: pointer;
    z-index: 10;
}

.text-link {
	position: relative;
	padding: 0 10px !important; /* 見た目調整用の余白 */
	background-color: #efe8da;
}

.text-link::before {
	position: absolute;
	left: 0;
	width: 0;
	height: 100%;
	content: "";
	font-weight: bold;
	background-color: #fff;
	mix-blend-mode: difference; /* difference（差分） */
	transition: 0.3s;
}

.text-link:hover::before {
	width: 100%;
}

.small-en {
	font-size: 12px;
}

.display-none {
	display: none;
}


/******************************
****** header ******************************/
header {
	float: right;
    margin-bottom: 16px;
    z-index: 3;
    width: 92%;
    /*background: #ffffff;*/
    /*position: absolute;*/
    top: 0;
    right: 0;
    box-shadow: 0px 10px 10px -12px #777777;
    border-radius: 0px;
}

header.entry-header {
	float: none;
}

#header-inner {
   	padding: 4px 16px;
    max-width: 1300px;
    margin: 0 auto;
	position: relative
}

.a11y {
	display: flex;
	justify-content: end;
}

.a11y .font-size {
	margin-right: 32px;
	margin-top: 8px;
}

.a11y .font-size span.big {
	font-size: 24px;
}

.a11y .back-color {
	margin-top: 8px;
}

.gtranslate_wrapper {
	z-index: 10000;
}

:root {
  --pink-to-yellow: #ff82a5;
  --to-bgColor: white;
  --to-white: black;
}

.back-color {
  margin: 20px;
}

.back-color button {
  font-size: 1.6rem;
  padding: 5px 10px;
  border: 1px solid #d9d9d9;
  background: transparent;
  color: var(--to-white);
}

.back-color button.is_active {
  background: var(--pink-to-yellow);
  color: var(--to-bgColor);
}

.a11y .choice-lang {
	background-color: #c99824;
	padding: 8px;
	color: #ffffff;
	font-weight: bold;
}

.head-under {
	display: flex;
	justify-content: space-between; /* 左右均等分布 */
}

.head-under h1 img {
	max-width: 240px;
}

.head-under ul {
	display: flex;
	align-items: center; /* 上下中央揃え */
	margin-right: 80px;
	margin-top: -10px;
}

.head-under ul li {
    text-align: center;
    padding: 8px;
    line-height: 1rem;
    margin-top: 27px;
	border-right: 1px solid #333333;
}

.head-under ul li:first-child {
	border-left: 1px solid #333333;
}

.small,
.font-small{
  font-size: 12px;
}

.medium,
.font-medium {
  font-size: 16px;
}

.large,
.font-large {
  font-size: 20px;
}

button.fontsize-button {
	background-color: unset;
	border: unset;
}

.color-btn-wrap {
	position: relative;
    top: 10px;
    right: 13px;
}

.color-btn-wrap input[type="button"] {
	 border: 1px solid #333333;
	 width: 30px;
}

.color-btn-wrap .color1 {
	color: #333333;
	background-color: #ffffff;
}

.color-btn-wrap .color2 {
	color: #010066 !important;
	background-color: #ffff00 !important;
}

.color-btn-wrap .color3 {
	background-color: #002244 !important;
    color: #ffff00 !important;
}

/* 背景色・文字色変更 */
/* 黄背景・青文字の設定 (color2) */
body.is-color2, 
body.is-color2 #wrap, 
body.is-color2 #header-inner,
body.is-color2 main,
body.is-color2 section,
body.is-color2 #side-bar,
body.is-color2 .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td,
body.is-color2 .tag_area ul li,
/* 背景画像保持のため、特定のID・クラスを持つdivを除外 */
body.is-color2 div:not(.color-btn-wrap):not(.openbtn):not(#low-head-img):not(.guide-1-head-img) {
    background-color: #ffff00 !important;
    background-image: none !important;
    color: #010066 !important;
}

/* メニューボタン(openbtn)の三本線を元の色（または指定色）で維持 */
body.is-color2 .openbtn span {
    background-color: #fff !important; /* 三本線の色を強制指定 */
}

/* 背景画像(#low-head-img)を強制的に表示 */
body.is-color2 #low-head-img {
    background-color: transparent !important; /* 背景色で塗りつぶされないように透明化 */
    background-image: inherit !important;     /* 元の背景画像を継承 */
    display: block !important;
    position: unset;
}

body.is-color2 a, 
body.is-color2 h1, body.is-color2 h2, body.is-color2 h3, 
body.is-color2 p, body.is-color2 span:not(.openbtn span), 
body.is-color2 dt, body.is-color2 dd,
body.is-color2 a.btn-1,
body.is-color2 .fontsize-button {
    color: #010066 !important;
    background-color: unset;
    background: #ffff00;
}

body.is-color2 .eo-fullcalendar-reset.fc-unthemed .fc-today {
    background: unset;
}

/* 青背景・黄文字の設定 (color3) */
body.is-color3, 
body.is-color3 #wrap, 
body.is-color3 #header-inner,
body.is-color3 main,
body.is-color3 section,
body.is-color3 #side-bar,
body.is-color3 .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td,
body.is-color3 .tag_area ul li,

body.is-color3 div:not(.color-btn-wrap):not(.openbtn):not(#low-head-img):not(.guide-1-head-img) {
    background-color: #006ab6 !important;
    background-image: none !important;
    color: #ffff00 !important;
}

/* メニューボタン(openbtn)の三本線を黄色で維持 */
body.is-color3 .openbtn span {
    background-color: #ffff00 !important;
}

/* 背景画像(#low-head-img)を強制的に表示 */
body.is-color3 #low-head-img {
    background-color: transparent !important;
    background-image: inherit !important;
    display: block !important;
    position: unset;
}

body.is-color3 a, 
body.is-color3 h1, body.is-color3 h2, body.is-color3 h3, 
body.is-color3 p, body.is-color3 span:not(.openbtn span), 
body.is-color3 dt, body.is-color3 dd,
body.is-color3 a.btn-1,
body.is-color3 .fontsize-button {
    color: #ffff00 !important;
    background-color: unset;
    background: #006ab6;
}

body.is-color3 .eo-fullcalendar-reset.fc-unthemed .fc-today {
    background: unset;
}


/* 操作用ボタンの除外設定 */
.color-btn-wrap input {
    background-color: initial !important;
    color: initial !important;
}


/* ハンバーガーメニュー */
#g-nav{
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position:fixed;
	left: 0;
	z-index: -1;
	opacity: 0;/*はじめは透過0*/
    /*ナビの位置と形状*/
	top:0;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background:#efe8da;
    /*動き*/
	transition: all 0.3s;
}

#g-nav h3 {
	color: #333333;
}

#g-nav h3::after {
	margin-left: unset;
    border-top: unset;
    content: unset;
    flex-grow: unset;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
	opacity: 1;
	z-index:999;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
   	position: absolute;
    z-index: 999;
    width: 100%;
    height: 88vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 auto;
    max-width: 1300px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/*リストのレイアウト設定*/
#g-nav li a{
	text-decoration: none;
    padding: 10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: normal;
    color: unset;
    padding: 0;
}

#g-nav-list img {
	max-width: 240px;
	display: block;
	margin: 0 auto 24px;
}

#g-nav-list .item-4 {
	margin-bottom: 8px;
}

#g-nav-list .item-4 h3 {
	margin: 12px 0;
	font-size: 20px;
}

#g-nav-list  h3.title {
	border-bottom: 1px solid #c99824;
	text-decoration-thickness: calc(100% - 20%); /* 両端を細く */
  	text-decoration-offset: 2px; /* 下線とテキストの間の距離 */
}

#g-nav-list li {
	margin: 16px auto;
}

/* 検索フォーム */
/* 検索フォーム全体のコンテナ */
.search-form {
    max-width: 600px; /* フォームの最大横幅 */
    margin: 40px auto; /* 上下に余白を持たせ、左右中央に配置 */
    padding: 0 20px;
}

/* 検索ボックスのレイアウト */
.search-box {
    display: flex;
    border: 2px solid #333; /* 枠線で装飾 */
    border-radius: 30px; /* 角を丸くしてモダンな印象に */
    overflow: hidden;
    background: #fff;
}

/* 入力エリアの装飾 */
.search-input {
    flex: 1;
    border: none;
    padding: 12px 20px;
    font-size: 16px;
    outline: none;
}

/* 検索ボタンの装飾 */
.button-submit {
    background-color: #333; /* ボタンの色（ロゴの色に合わせると統一感が出ます） */
    color: #fff;
    border: none;
    padding: 0 25px;
    cursor: pointer;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.button-submit:hover {
    background-color: #555; /* ホバー時の色 */
}
/******************************
****** ボタンのためのCSS ******************************/
.menu-wrap {
	width: 100%;
	max-width: 1300px;
    margin: 0 auto;
    position: relative;
}

.openbtn {
    position: absolute;
    z-index: 9999;
    top: 72px;
    right: 28px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    background: #484749;
}

/*×に変化*/
.openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 5px;
    height: 3px;
    border-radius: 2px;
    background-color: #fbf4ec;
    width: 78%;
}

.openbtn span:nth-of-type(1) {
	top:15px;
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn.active span:nth-of-type(1) {
   top: 18px;
    left: 11px;
    transform: translateY(6px) rotate(-45deg);
    width: 57%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 12px;
    transform: translateY(-6px) rotate(45deg);
    width: 57%;
}

/******************************
******ハンバーガーメニュー ******************************/
.title{
	pointer-events: none;
    padding-bottom: 8px;
}


/******************************
****** footer ******************************/
footer {
	    /* background-color: #12223c; */
    padding: 24px 0;
    position: relative;
    clear: both;
    margin: 160px auto 0;
    /* background: url(./assets/img/top/1x/top_sec1_bg.jpg) repeat-x; */
    background: #f1f1f1;
    border-top: 4px solid #565757;
    border-bottom: 8px solid #565757;
}

footer #foot-logo {
	display: block;
	max-width: 160px;
	margin: 0 auto;
	margin-bottom: 4px;
}

footer h2 {
	text-align: center;
}

footer p#copyright {
	text-align: center;
}

footer img.foot-logo {
	max-width: 320px;
}

footer .sns img {
	max-width: 40px;
}

footer .inner-width {
	max-width: 980px !important;
	margin: 0 auto;
}

.foot-sns {
	display: flex;
}

.foot-sns ul {
	display: flex;
	justify-content: space-between;
}

.foot-sns ul li {
	margin: 0 12px;
}

.foot-sns ul li img {
	max-width: 40px;
}

#foot_fix_link a {
	display: none;
}



/******************************
****  サイドバーとコンテンツの左右分け  ******************************/
.info-area {
	width: 100%;
}

ul.slider-1 {
	width: 70%;
    float: left;
    margin: 0;
}

ul.top-shisetsu {
	width: 25%;
    float: right;
    margin: 0
}

ul.top-shisetsu li img {
	max-width: 280px;
	-webkit-transition: all .3s;
	transition: all .3s;
}

ul.top-shisetsu li img:hover {
	opacity: .6;
}


/******************************
****  サイドバー  ******************************/
aside {
	position: fixed;
    background: #ffffff;
    width: 8%;
    height: 100vh;
    padding: 0 2px;
    z-index: 200;
    border-right: 1px solid #cacaca;
}

aside  li {
	margin: 2px;
    line-height: 0rem;
    text-align: center;
	-webkit-transition: all .3s;
	transition: all .3s;
	padding: 0 0 4px 0;
}

aside li:hover {
	background-color: #eeeeee;
}

aside img {
	max-width: 48px;
	height: auto;
	display: block;
	margin: 0 auto;
}

aside a {
    color: #333333;
    font-size: 12px;
    line-height: 1rem;
}


/******************************
****  コンテンツ全体  **********************c********/
h2 span.line-height {
	line-height: 112%;
}

a.btn-1,
input.btn-1 {
	display: block;
    text-align: center;
    margin: 24px auto;
    color: #ffffff;
	/* 配色: 背景より少し明るいウォームグレー */
	background: linear-gradient(135deg, #554a4a 0%, #6d6060 100%);
    padding: 8px 12px;
    max-width: 400px;
    cursor: pointer;
    font-weight: bold;
	border: 1px solid #444444;
	border-radius: 8px;
	cursor: pointer;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
	/* アニメーションの設定 (0.3秒) */
	transition: all 0.3s ease;
	outline: none;
}

a.btn-1:hover,
input.btn-1:hover {
	/* 全体的に少し明るく、赤みを増す */
  background: linear-gradient(135deg, #6d6060 0%, #7a6b6b 100%);
  
  /* 少しだけ浮き上がる演出 */
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

h2 {
	color: #333333;
}

h2.arrow,
h2.arrow-f1 {
	font-size: 32px;
    color: #333333;
    font-family: "kosugi-maru", sans-serif;
    font-weight: 400;
    font-style: normal;
    position: relative;
    padding: 0;
    border-bottom: 3px solid #ffdd95;
    margin-bottom: 24px;
	line-height: 140%;
	/*
	padding: 8px 0;
	margin-bottom: 16px;
	border-left: 6px solid #7c2e1e;
	padding-left: 8px;
	*/
}

h2.arrow::before,
h2.arrow::after,
h2.arrow-f1::before,
h2.arrow-f1::after {
	position: absolute;
    left: 30px;
    bottom: -15px;
    width: 30px;
    height: 15px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

h2.arrow::before,
h2.arrow-f1::before {
	background-color: #ffdd95;
}

h2.arrow::after {
	bottom: -11px;
    background-color: #ffffff;
}

h2.arrow-f1::after {
	bottom: -12px;
	background-color: #f1f1f1;
}

h3 {
	font-family: "hiragino-kaku-gothic-pron", sans-serif;
	font-weight: 800;
	font-style: normal;
	font-size: 24px;
	margin: 32px 0 16px;
	display:flex;
	align-items:center;
	color: #333333;
}

h3::first-letter {
    padding: 0.5rem 0 0.5rem 0.5rem;
    color: #FFAC70;
}

h3::after {
	margin-left:5px;
	border-top:1px solid #ccc;
	content:"";
	flex-grow:1;
}

h4 {
	color: #333333;
	font-size: 20px;
	background: url(./assets/img/rhombus_black.png) no-repeat center left;
	padding-left: 18px;
	margin: 16px auto;
}

.guide-contents h3::first-letter {
	color: unset;
}

main {
	margin-bottom: 0px;
    width: 92%;
    float: right;
	/*
	position: relative;
    top: -100px;
	*/
}

section {
	margin-bottom: 32px;
}

span.marker-yellow {
	background: linear-gradient(transparent 50%, #fffd53 50%);
}

.caution {
	color: #ff3839;
}

table {
	width: 100%;
	border-collapse: collapse;
}

.w3eden .card-body {
    padding: 0 !important;
}

.w3eden .card  {
	border: unset !important;
	background-color: unset !important;
}

.w3eden .img-48 img {
    height: 34px !important;
}

.package-title {
	display: none;
}

.w3eden .media-body {
    -ms-flex: unset !important;
    flex: unset !important;
}

.text-small, .w3eden small {
    font-size: 80%;
    font-weight: 400;
    display: none;
}

/* ボックス内の段落 */
.cstm-box-offset p { margin:0; }

.date-box {
	font-family: 'Dancing Script', cursive; /* 筆記体フォント（要Webフォント） */
	font-size: 1rem;
	color: #333;
	position: relative;
	display: inline-block;
	line-height: 1;
}

.date-box::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0.1em; /* 文字の少し下に配置 */
	width: 100%;
	height: 0.4em; /* マーカーの太さ */
	background-color: rgba(255, 255, 0, 0.4); /* 黄色で透明度40% */
	z-index: -1; /* 文字より後ろに配置 */
	transform: rotate(-1deg); /* 少し傾けて手書き感を出す */
}

.dots-wrap {
    display: flex;
    justify-content: center;
}

.dots-wrap li {
    width: 40px;
    height: 4px;
    margin: 20px 5px;
    background: #ddd;
    cursor: pointer;
}

.dots-wrap li:hover,
.dots-wrap li.slick-active {
    background: coral;
}
.dots-wrap li button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}

.w3eden .btn-primary {
    background-color: #200204 !important;
    border-color: #200204 !important;
}

div.tag {
	
}

div.tag::before {
	
}

div.tag::after {
}

.cstm-box-offset {
	background: none; /* 元のボックス背景色なし */
	border: 1px solid #ccc; /* 線の太さ（1px）、種類（実線）、色（#ccc） */
	position: relative; /* 配置（基準となる位置） */
	max-width: 800px; /* 最大幅 */
	padding: 1em 1em 0 1em; /* 内側余白 */

 }

.cstm-box-offset::after {
	background-color: #eee; /* ずらしたボックスの背景色 */
	border: none; /* 枠線なし */
	content: ''; /* 擬似要素にコンテンツなし */
	position: absolute; /* 配置（ここを動かす） */
	top: 7px; /* 上から7pxずらす */
	left: 7px; /* 左から7pxずらす */
	width: 100%; /* 幅100%（親要素に合わせる） */
	height: 100%; /* 高さ100%（親要素に合わせる） */
	z-index: -1; /* 背景として後ろに表示 */
  }

.cstm-box-offset p {
	margin: 0;
  }

.cstm-box-corner-accent {
	margin: 2em auto; /* 外側余白 */
  padding: 2em; /* 内側余白 */
  border: 3px solid #eee; /* ベース枠線 */
  position: relative; /* 配置の基準 */
  z-index: 0; /* 重なり順 */
  max-width: 800px; /* 最大幅 */
}

.cstm-box-corner-accent::before {
  border-top: 3px solid #005b22; /* 上辺アクセント */
  border-left: 3px solid #005b22; /* 左辺アクセント */
  content: ''; /* 擬似要素 */
  display: block; /* ブロック表示 */
  position: absolute; /* 位置指定 */
  top: -3px; /* 上にずらす */
  left: -3px; /* 左にずらす */
  width: 20px; /* 幅 */
  height: 20px; /* 高さ */
  z-index: 1; /* 前面表示 */
}

/* ボックス内の段落 */
.cstm-box-corner-accent p {
  margin: 0;
}

/***************************
*********投稿ページ間ナビゲーション
 ****************************/
.more-news {
	display: flex;
    justify-content:space-between;
}

/***************************
*********パンクズ
 ****************************/
.breadcrumbs {
	font-size: 14px;
}
.breadcrumbs a {
	color: #aaaaaa;
}

/******************************
****  トップページ  ******************************/

/********* sec1 **********/
.news {
	clear: both;
}

.top-sec1-bg {
	background: #f1f1f1;
	padding: 40px 0;
	margin-bottom: 32px;
}

.info {
	background-color: #ff3b54;
	color: #ffffff;
	padding: 2px 4px;
}

.news dl {
	margin-bottom: 24px;
}

.news dl:last-child {
	margin-bottom: 0;
}

.news ul li {
	margin-bottom: 24px;
}

.news .news-tag {
	background: #e9690e;
	color: #ffffff;
	font-size: 14px;
	padding: 6px;
	font-weight: bold;
}

/********* sec2 **********/
.today-alios {
    margin-bottom: 56px;
    background-color: #fff;
    border: 1px solid #eee;
    padding: 2rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.today-alios h3 {
    font-size: 1.75rem;
    font-weight: 700;
    /* letter-spacing: 0.15em; */
    /* color: #333; */
    display: block;
    margin-top: 0;
}

.today-alios p {
    margin-left: 26px;
}

#top-sec2 table {
	width: 100%;
	border-spacing: 0;
}

#top-sec2 table td {
	border:  1px solid #dddddd;
	text-align: center;
}

#top-sec2 .top-calendar {
	max-width: 1140px;
    margin: 0 auto 16px;
    padding: 0 8px;
}

#top-sec2 .top-info {
	max-width: 1140px;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: 0 8px;
}

#top-sec2 .columns {
	justify-content: space-between;
}

#top-sec2 .item-5 {
    background-color: #444444;
    margin: 0;
    text-align: center;
    padding: 12px 0px;
    cursor: pointer;
    border: 1px solid #565757;
	-webkit-transition: .2s;
  	transition: .2s;
}


#top-sec2 .item-5:hover {
	opacity: .8;
}

#top-sec2 .item-5 img {
	max-width: 74px;
    display: block;
    margin: 0 auto;
    padding-top: 10px;
}

.post-date {
    /* フォントの調整 */
    font-family: 'Georgia', serif;
    font-size: 1.1em;
    font-weight: bold;
    /* スペースと枠線 */
    padding: 3px 8px;
    display: inline-block; /* paddingが効くように */
    line-height: 1; /* 行の高さを調整 */
}

#top-sec2 .today-alios {
	margin-bottom: 56px;
}

#top-sec2 .today-alios ul li h2.event  {
	background: unset;
	margin-bottom: 8px;
	display: inline;
}

#top-sec2 .today-alios ul li h2.event::before {
	content: "ー";
	color: #c99824;
	background: unset;
	margin-right: 6px;
}


.top-info a {
	    color: #ffffff;
}

/********* sec3 **********/
#top-sec3 p {
	margin-bottom: 24px;
}

#top-sec3 .columns {
	justify-content: space-between;
	margin-bottom: 0px;
}

/*
#top-sec3 .item-3 {
	width: calc(33.333333% - 110px);
    margin: 0 55px;
}
*/

/*
#top-sec3 .item-3 a {
	position: relative;
    padding: .7em .3em;
    color: #333333;
	display: inline-block;
	text-align: center;
	width: 100%;
}


#top-sec3 .item-3 a::before,
#top-sec3 .item-3 a::after {
    display: inline-block;
    position: absolute;
    width: 1em;
    height: 1em;
    content: '';
}

#top-sec3 .item-3 a::before {
    top: 0;
    left: 0;
    border-top: 2px solid #200204;
    border-left: 2px solid #200204;
}

#top-sec3 .item-3 a::after {
    bottom: 0;
    right: 0;
    border-bottom: 2px solid #200204;
    border-right: 2px solid #200204;
}
*/

.image-link{
 display:block; 
 position:relative;
 text-decoration:none;
}

.image-link img{
  display:block;
  width:100%;
}

.image-link:before{
  content:"";
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  z-index:2;
  background:#000;/*好みの色に変えてください。*/
  opacity:0;
  transition:0.3s;
}

.image-link:after{
  content:"VIEW MORE";/*好みの文章に変更してください。*/
  display:block;
  color:#fff;
  line-height:48px;
  width:180px;
  border:solid 1px #fff;
  border-radius:5px;
  text-align:center;
  position:absolute;
  top:50%;
  left:50%;
  margin-top:-1em;
  margin-left:-90px;
  opacity:0;
  z-index:3;
  transition:0.3s;
  font-weight:bold;
  letter-spacing:0.2em;
}

.image-link:hover:before{
  opacity:0.5;
}

.image-link:hover:after{
  opacity:1;
  margin-top:-0.5em;
}

#top-sec3 .item-2 p {
	text-align: center;
    font-weight: bold;
}

#top-sec4 .from-now-on {
	margin-bottom: 80px;
}

#top-sec2 .today-alios h2,
#top-sec4 .from-now-on a h2,
#top-sec4 .now-accept a h2,
.archive-list h2,
.eo-event-header h2,
#event-guide-contents .category-thumbnail a h2,
#mission1-contents .item-4 h2,
.event-list .item-3 a h2,
.event-list .cat-list-ttl
{
	font-size: 16px;
    color: unset;
    font-family: unset;
    font-weight: unset;
    font-style: unset;
    background-size: unset;
    padding: unset;
    margin-bottom: unset;
    border-left: unset;
    padding-left: unset;
}

#top-sec4 .from-now-on ul li,
#top-sec4 .now-accept ul li {
	padding: 8px;
}

h2.cat-list-ttl {
	font-size: 16px;
	font-weight: normal;
}

/********* #sec4 **********/

/********* #sec5 **********/

/*****************************
*********  low-contents  ******************************/
#low-head-img {
    position: relative;
    /* margin-bottom: 32px; */
    z-index: -1;
    top: 40px;
}

span.head-en {
	font-size: 16px;
	letter-spacing: .1rem;
    padding-left: .3rem;
}

.guide-contents .tab-4 label a {
	color: #999999;
    padding: 26px 34px;
}

.tab-4 {
    display: flex;
    flex-wrap: wrap;
    max-width: 1140px;
    width: 100%;
    margin: 0 auto;
}

.tab-4 > label {
    flex: 1 1;
    order: -1;
    position: relative;
    min-width: 70px;
    padding: .7em 1em;
    background-color: #f2f2f2;
    color: #999;
    font-weight: 600;
    font-size: .9em;
    cursor: pointer;
	display: flex;
	text-align: center;
    align-items: center;
    justify-content: center;
}

.tab-4 > label:hover,
.tab-4 label:has(:checked) {
    background-color: #ffdd8c;
    color: #333333;
}

.tab-4 label:has(:checked)::before {
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 18px;
    height: 9px;
    background-color: #ffdd8c;
    content: '';
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.tab-4 input {
    display: none;
}

.tab-4 > div {
    display: none;
    width: 100%;
    padding: 1.5em 1em;
}

.tab-4 label:has(:checked) + div {
    display: block;
}

.tab-3 {
    display: flex;
    flex-wrap: wrap;
    /*max-width: 500px;*/
}

.tab-3 > label {
    flex: 1 1;
    order: -1;
    min-width: 70px;
    padding: .7em 1em .5em;
    background-color: #ffdd8c;
    color: #999;
    font-weight: 600;
    font-size: .9em;
    text-align: center;
    cursor: pointer;
}

.tab-3 > label:hover {
    opacity: .8;
}

.tab-3 input {
    display: none;
}

.tab-3 > div {
    display: none;
    width: 100%;
    padding: 1.5em 1em;
    background-color: #fff;
}

.tab-3 label:has(:checked) {
    border-bottom: 4px solid #3a0204;
    color: #3a0204;
}

.tab-3 label:has(:checked) + div {
    display: block;
}

.tab-4 .tab-3 label:has(:checked)::before {
	display: none;
}

.tab-1 {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.tab-1 label::before {
    display: none;
}

.tab-1 > label {
    flex: 1 1;
    order: -1;
    min-width: 70px;
    padding: .7em 1em .5em;
    border-bottom: 1px solid #f0f0f0;
    border-radius: 0;
    background-color: #e9f0f6;
    color: #535353;
    font-size: .9em;
    text-align: center;
    cursor: pointer;
}

.tab-1 > label:hover {
    opacity: .8;
}

.tab-1 input {
    display: none;
}

.tab-1 > div {
    display: none;
    width: 100%;
    padding: 1.5em 1em;
    background-color: #fff;
}

.tab-1 label:has(:checked) {
    background-color: #fff;
    border-color: #ffdd8c #f0f0f0 #fff;
    border-style: solid;
    border-width: 4px 1px 1px;
    border-radius: 5px;
    color: #333333;
}

.tab-1 label:has(:checked) + div {
    display: block;
}

.guide-1-head-img,
.summary-head-img,
.concept-head-img {
	background: url(./assets/img/guide-1/guide1_head_img.jpg) center center;
    width: 100%;
    background-size: contain;
    /* min-height: 60vh; */
    aspect-ratio: 16 / 9;
    background-repeat: no-repeat;
}



.low-ttl h2 {
font-family: "kosugi-maru", sans-serif;
    font-weight: normal;
    position: absolute;
    top: 48%;
    left: 10%;
    color: #fff;
    font-size: 40px;
    border: none;
    z-index: 100;
    line-height: 100%;
    background: rgba(44, 44, 44, .3);
    padding: 8px;
}

@media screen and (max-width: 480px) {
	.low-ttl h2 {
        font-size: 20px;
    }

	span.head-en {
    	font-size: 16px;
	}
}

.rhombus {
	padding-left: 20px;
    background: url(./assets/img/rhombus_black.png) no-repeat ;
    background-size: 17px;
    background-position: 0px 4px;
}

.line {
	padding-left: 20px;
    background: url(./assets/img/line.png) no-repeat center left;
    background-size: 17px;
    font-size: 20px;
    margin-bottom: 0px;
    font-weight: bold;
}

hr {
	margin: 16px 0;
}

/******************************
****** コンセプト ******************************/
.con-contents dt {
	font-weight: bold;
}

.con-contents dd {
	padding-left: 12px;
}

#con-sec2 {
	/*background: url(./assets/img/concept/con_sec2_bg.jpg) no-repeat bottom center;*/
	background-size: 100%;
}

#con-sec3 {
	/*background: url(./assets/img/concept/con_sec3_bg.jpg) no-repeat bottom center;*/
	background-size: 100%;
}
#con-sec4 img#logo {
	max-width: 480px;
}

#con-sec4 .btn-1,
#con-sec5 .btn-1 {
	max-width: 560px;
}

#con-sec5 .btn-1 {
	margin-bottom: 16px;
}

/******************************
******名前が決まるまで**********/
span.space {
	letter-spacing: 1.5em;
}

/******************************
******アリオスに寄せて**********/
#col-sec1 {
	max-width: 1080px;
}

#col-sec1 p {
	position: relative;
    padding: 0.5rem 0 2rem;
    margin-bottom: 0.5rem;
    background: linear-gradient(90deg, #4d0b02 0% 50%, #080101 50%);
    background-repeat: no-repeat;
    background-size: 4rem 0.2rem;
    background-position: bottom;
    text-align: center;
}

#col-sec2 .item-2,
#col-sec3 .item-2 {
	text-align: center;
	width: calc(50% - 80px);
    margin: 40px;
}

#col-sec2 img {
	max-width: 320px;
	 --x-gradient: linear-gradient(90deg, #ffdd95 0 25px, transparent 0 calc(100% - 25px), #ffdd95 calc(100% - 25px));
    --y-gradient: linear-gradient(#ffdd95 0 25px, transparent 0 calc(100% - 25px), #ffdd95 calc(100% - 25px));
    margin: 0.5rem;
    padding: 1rem 40px;
    outline: 2px solid;
    outline-offset: -5px;
    background-image:
        var(--x-gradient),
        var(--y-gradient),
        var(--x-gradient),
        var(--y-gradient);
    background-repeat: no-repeat;
    background-size: 100% 3px, 3px 100%, 100% 3px, 3px 100%;
    background-position: top, right, bottom, left;
}

#col-sec3 h4 {
	text-align: left;
}

/****************************
********* 関連施設 ****************************/
#fas-sec2-img1,
#fas-sec2-img2,
#fas-sec2-img3,
#fas-sec2-img4,
#fas-sec2-img5,
#fas-sec2-img6 {
	position: relative;
}

#fas-sec2 h3 {
	line-height: 2.4rem;
	font-size: 32px;
    position: absolute;
    top: 23px;
    left: 16px;
    color: #ffffff;
}

#fas-sec2 h3 span.small {
	position: absolute;
    top: 32px;
	left: 2px;
	width: 200%;
}

#fas-sec2 .view-more {
	text-align: center;
	color: #ffffff;
	padding: 8px 16px;
	border: 1px solid #ffffff;
	position: absolute;
	bottom: 23px;
	right: 16px;
    -webkit-transition: .2s;
    transition: .2s;
}

#fas-sec2 .view-more:hover {
    color: #333333;
    background-color: #ffffff;
    font-weight: bold;
}

/****************************
********* 施設案内 ****************************/
section#kaku-sec1 {
	margin-bottom: 160px;
}

#js-slider-mainhall div,
#js-slider-maintheater div,
#js-slider-smalltheater div,
#js-slider-recitalhall div,
#js-slider-practice-room div
 {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 70vh;
	margin: 0;
}

#draw-sec1 .item-4 {
	width: calc(25% - 40px);
    margin: 5px 20px 20px 20px;
}

/****************************
********* アルパイン大ホール 
****************************/

p.n-rights {
	text-align: center;
}

#js-slider-mainhall .slick-slide img {
	width: 100% !important;
	max-width: unset;
}

/* アルパイン大ホールスライド */
#js-slider-mainhall div.main-hall-slide-img1 {
  background-image: url(./assets/img/facilities/mian-hall/main-hall-img1.jpg);
}

#js-slider-mainhall div.main-hall-slide-img2 {
  background-image: url(./assets/img/facilities/mian-hall/main-hall-img2.jpg);
}

#js-slider-mainhall div.main-hall-slide-img3 {
  background-image: url(./assets/img/facilities/mian-hall/main-hall-img3.jpg);
}

#js-slider-mainhall div.main-hall-slide-img4 {
  background-image: url(./assets/img/facilities/mian-hall/main-hall-img4.jpg);
}

#js-slider-maintheater div.main-theater-slide-img1 {
  background-image: url(./assets/img/facilities/main-theater/main-theater-img1.jpg);
}

/* セキショウ中劇場スライド */
#js-slider-maintheater div.main-theater-slide-img2 {
  background-image: url(./assets/img/facilities/main-theater/main-theater-img2.jpg);
}

#js-slider-maintheater div.main-theater-slide-img3 {
  background-image: url(./assets/img/facilities/main-theater/main-theater-img3.jpg);
}

/* GSユアサ小劇場 */
#js-slider-smalltheater div.small-theater-slide-img1 {
  background-image: url(./assets/img/facilities/small-theater/small-theater-img1.jpg);
}

#js-slider-smalltheater div.small-theater-slide-img2 {
  background-image: url(./assets/img/facilities/small-theater/small-theater-img2.jpg);
}

/* 音楽小ホール */
#js-slider-recitalhall div.recital-hall-slide-img1 {
  background-image: url(./assets/img/facilities/recital-hall/recital-hall-img1.jpg);
}

#js-slider-recitalhall div.recital-hall-slide-img2 {
  background-image: url(./assets/img/facilities/recital-hall/recital-hall-img2.jpg);
}

.main-hall .slick-dots,
.main-theater .slick-dots {
  bottom: -5%;
  z-index: +1;
}

#mai-sec1 h2 {
	color: #333333;
	position: relative;
	padding: 1.5rem;
	text-align: center;
}

#mai-sec1 h2 {
	font-size: 18px;
	font-size: 1.8rem;
	display: block;
	border: unset;
}

#mai-sec1 h2::before {
	position: absolute;
    bottom: 3px;
    left: calc(50% - 30px);
    width: 90px;
    height: 5px;
    content: '';
    background: #210104;
}

#mai-sec3 td {
	padding: 16px;
}

#mai-sec3 tr.border-bottom {
	border-bottom: 2px solid #111111;
}

#mai-sec3 table.left-table,
#mai-sec3 table.right-table {
	border: none;
}

#mai-sec3 table.left-table th,
#mai-sec3 table.right-table th {
	width: 15%;
	background-color: #444444;
	color: #ffffff;
}

#mai-sec3 table.right-table {
	text-align: center;
}

#mai-sec3 table.right-table th {
	width: 100%;
}

#mai-sec3 table.right-table td {
	width: 33.333333%;
	border-bottom: 1px dotted #333333;
}

span.another-font {
	font-family: "Helvetica Neue", "Helvetica", sans-serif;
}

/****************************
********* リハーサル室・スタジオ／一般開放スペース
****************************/
#js-slider-large-rehearsal .slick-slide img,
#js-slider-middle-rehearsal .slick-slide img,
#js-slider-studio .slick-slide img,
#js-slider-exercise-room .slick-slide img,
#js-slider-practice-room,
#js-slider-kids-room .slick-slide img,
#js-slider-lounge .slick-slide img,
#js-slider-cascade .slick-slide img,
#js-slider-canteene .slick-slide img,
#js-slider-gallery .slick-slide img,
#js-slider-terrace .slick-slide img,
#js-slider-restaurant .slick-slide img
 {
	width: 100% !important;
	max-width: unset;
}

#js-slider-large-rehearsal div,
#js-slider-middle-rehearsal div,
#js-slider-studio div,
#js-slider-exercise-room div,
#js-slider-practice-room div,
#js-slider-kids-room div,
#js-slider-lounge div,
#js-slider-cascade div,
#js-slider-canteene div,
#js-slider-gallery div,
#js-slider-terrace div,
#js-slider-restaurant div
 {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 40vh;
	margin: 0;
}

/* リハーサル室大 */
#js-slider-large-rehearsal div.large-rehearsal-slide-img1 {
  background-image: url(./assets/img/facilities/large-rehearsal/large-rehearsal-slide-img1.jpg);
}

#js-slider-large-rehearsal div.large-rehearsal-slide-img2 {
  background-image: url(./assets/img/facilities/large-rehearsal/large-rehearsal-slide-img2.jpg);
}

#js-slider-large-rehearsal div.large-rehearsal-slide-img3 {
  background-image: url(./assets/img/facilities/large-rehearsal/large-rehearsal-slide-img3.jpg);
}

/* リハーサル室中 */
#js-slider-middle-rehearsal div.middle-rehearsal-slide-img1 {
  background-image: url(./assets/img/facilities/middle-rehearsal/middle-rehearsal-slide-img1.jpg);
}

#js-slider-middle-rehearsal div.middle-rehearsal-slide-img2 {
  background-image: url(./assets/img/facilities/middle-rehearsal/middle-rehearsal-slide-img2.jpg);
}

/* スタジオ */
#js-slider-studio div.studio-slide-img1 {
  background-image: url(./assets/img/facilities/studio/studio-slide-img1.jpg);
}

#js-slider-studio div.studio-slide-img2 {
  background-image: url(./assets/img/facilities/studio/studio-slide-img2.jpg);
}

#js-slider-studio div.studio-slide-img3 {
  background-image: url(./assets/img/facilities/studio/studio-slide-img3.jpg);
}

/* 練習室 */
#js-slider-exercise-room div.exercise-room-slide-img1 {
  background-image: url(./assets/img/facilities/exercise-room/exercise-room-slide-img1.jpg);
}

#js-slider-exercise-room div.exercise-room-slide-img2 {
  background-image: url(./assets/img/facilities/exercise-room/exercise-room-slide-img2.jpg);
}

/* 稽古場 */
#js-slider-practice-room div.practice-room-slide-img1 {
  background-image: url(./assets/img/facilities/practice-room/practiceroom-slider-img1.jpg);
}

#js-slider-practice-room div.practice-room-slide-img2 {
  background-image: url(./assets/img/facilities/practice-room/practiceroom-slider-img2.jpg);
}

#js-slider-practice-room div.practice-room-slide-img3 {
  background-image: url(./assets/img/facilities/practice-room/practiceroom-slider-img3.jpg);
}

#js-slider-practice-room div.practice-room-slide-img4 {
  background-image: url(./assets/img/facilities/practice-room/practiceroom-slider-img4.jpg);
}

/* キッズルーム */
#js-slider-kids-room div.kids-room-slide-img1 {
  background-image: url(./assets/img/facilities/kids-room/kids-room-slide-img1.jpg);
}

#js-slider-kids-room div.kids-room-slide-img2 {
  background-image: url(./assets/img/facilities/kids-room/kids-room-slide-img2.jpg);
}

#js-slider-kids-room div.kids-room-slide-img3 {
  background-image: url(./assets/img/facilities/kids-room/kids-room-slide-img3.jpg);
}

/* アリオスラウンジ */
#js-slider-lounge div.lounge-slide-img1 {
  background-image: url(./assets/img/facilities/lounge/lounge-slide-img1.jpg);
  margin-bottom: 40px;
}

/* ウォールギャラリー */
#js-slider-gallery div.gallery-slide-img1 {
  background-image: url(./assets/img/facilities/gallery/gallery-slide-img1.jpg);
}

#js-slider-gallery div.gallery-slide-img2 {
  background-image: url(./assets/img/facilities/gallery/gallery-slide-img2.jpg);
}

#js-slider-gallery div.gallery-slide-img3 {
  background-image: url(./assets/img/facilities/gallery/gallery-slide-img3.jpg);
}

/* カスケード */
#js-slider-cascade div.cascade-slide-img1 {
  background-image: url(./assets/img/facilities/cascade/cascade-slide-img1.jpg);
}

#js-slider-cascade div.cascade-slide-img2 {
  background-image: url(./assets/img/facilities/cascade/cascade-slide-img2.jpg);
}

/* カンティーネ */
#js-slider-canteene div.canteene-slide-img1 {
  background-image: url(./assets/img/facilities/canteene/canteene-slide-img1.jpg);
}

/* 屋上テラス */
#js-slider-terrace div.terrace-slide-img1 {
  background-image: url(./assets/img/facilities/terrace/terrace-slide-img1.jpg);
}

#js-slider-terrace div.terrace-slide-img2 {
  background-image: url(./assets/img/facilities/terrace/terrace-slide-img2.jpg);
}

#js-slider-terrace div.terrace-slide-img3 {
  background-image: url(./assets/img/facilities/terrace/terrace-slide-img3.jpg);
}

/* カンティーネ */
#js-slider-restaurant div.restaurant-slide-img1 {
  background-image: url(./assets/img/facilities/restaurant/restaurant-slide-img1-2.jpg);
}


#stu-sec1 h2,
#stu-sec1 h2 {
	color: #333333;
	position: relative;
	padding: 1.5rem;
	text-align: center;
	border-left: unset;
	font-size: 1.8rem;
	display: block;
    line-height: 2.5rem;
}

#stu-sec1 h2::before,
#stu-sec1 h2::before {
	position: absolute;
    bottom: 3px;
    left: calc(50% - 30px);
    width: 90px;
    height: 5px;
    content: '';
    background: #210104;
}

#stu-sec1 p,
#stu-sec1 p {
    padding: 0 80px;
}

#stu-sec1 table,
#stu-sec1 table {
    border: none;
}

#stu-sec1 td {
	padding: 16px;
    border-bottom: 1px solid #cdcdcd;
    border-top: 1px solid #cdcdcd;
}

#stu-sec1 table,
#stu-sec1 table {
	border: none;
}

#stu-sec1 table th,
#stu-sec1 table th {
	width: 15%;
    background-color: #444444;
    color: #ffffff;
    border-bottom: 1px solid #ffffff;
}

#stu-sec1 table tr.border,
#stu-sec1 table tr.border {
	border-bottom: 1px solid #111111;
}

#stu-sec1 table tr.border-top,
#stu-sec1 table tr.border {
	border-top: 1px solid #111111;
}

#stu-sec1 table .td-width {
	width: 10%;
}

#stu-sec1 .menu p{
	padding: 0;
}

#stu-sec1 .menu .item-2 {
    width: calc(50% - 50px);
    margin: 20px;
}

#stu-sec1 .menu img {
	border: 1px solid #dddddd;
	padding: 8px;
}

#stu-sec1 .menu .price {
	color: #c99824;
}

#main-sec5 .item-5 a {
    display: block;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-decoration: none;
    overflow: hidden; /* 画像のはみ出し防止 */
    box-shadow: 0 10px 20px rgba(0,0,0,0.1); /* 柔らかい影 */
}

#main-sec5 .item-5 a:hover {
    transform: translateY(-5px); /* 少し上に浮かせる */
    box-shadow: 0 10px 20px rgba(0,0,0,0.1); /* 柔らかい影 */
}

#main-sec5 .item-5 img {
    transition: transform 0.3s ease;
}

#main-sec5 .item-5 a:hover img {
    transform: scale(1.05); /* 画像をわずかに拡大 */
}

#main-sec5 .item-5 dd {
    margin-top: 10px;
    font-weight: bold;
    color: #333;
}


/****************************
*********  施設利用ガイド  ****************************/

.guide-contents table {
	width: 100%;
}

.guide-contents table th {
	font-weight: normal;
    text-align: left;
    background-color: #444444;
    color: #ffffff;
    padding: 8px;
    width: 32%;
    border-bottom: 1px solid #fff;
}

.guide-contents table td {
	padding: 8px;
}

span.guide-num {
	color: #FFAC70;;
}

.desc {
	margin: 24px 0;
}

#guide1-sec2 h4 {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 16px;
	background: unset;
}

#guide1-sec2 li {
	text-align: center;
	padding: 16px 0;
	font-weight: bold;
	line-height: 1em;
}

#guide1-sec3 table {
    margin-bottom: 32px;
}

#guide1-sec3 table th {
    border-right: 1px solid #ffffff;
    font-weight: bold;
}

#guide1-sec3 table td {
    text-align: right;
}

#guide2-sec1 img {
    max-width: 856px;
    display: block;
    margin: 0 auto;
}

#guide2-2-sec1 img {
    max-width: 856px;
    display: block;
    margin: 0 auto;
}

.use-hall h4 {
	color: #7c2e1e;
}

.use-practice h4 {
	color: #7c2e1e;
}

.use-hall li {
	border-top: 1px solid #7c2e1e;
}

.use-hall li:last-child {
	border-bottom: 1px solid #7c2e1e;
}

.use-hall li:last-child::before {
	content: unset;
}

.use-hall li:last-child::after {
	content: unset;
}

.use-practice li {
	border-top: 1px solid #7c2e1e;
}

.use-practice li:last-child {
	border-bottom: 1px solid #7c2e1e;
}

.use-practice li:last-child::before {
	content: unset;
}

.use-practice li:last-child::after {
	content: unset;
}

.hall-sankaku,
.practice-sankaku {
  position: relative;
  font-weight: bold;
  text-align: center;
  padding: 0 0 10px;
  margin: 0;
}

.hall-sankaku:before {
	content: '';
	display: block;
	position: absolute;
	bottom: -15px;
	left: 0;
	right: 0;
	margin: auto;
	width: 0;
	height: 15px;
	border-right: 12px solid transparent;
	border-left: 12px solid transparent;
	border-top: 10px solid #7c2e1e;
}

.practice-sankaku:before {
	content: '';
	display: block;
	position: absolute;
	bottom: -15px;
	left: 0;
	right: 0;
	margin: auto;
	width: 0;
	height: 15px;
	border-right: 12px solid transparent;
	border-left: 12px solid transparent;
	border-top: 10px solid #7c2e1e;
}

.hall-sankaku:after,
.practice-sankaku::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 200px;
  height: 1px;
  z-index: 1;
}


/*** タイムテーブル ***/
.max-615 {
		display: none;
	}

.timetable-container {
  /* grid レイアウトの設定 */
  display: grid;
  grid-template-columns: auto repeat(2, max-content minmax(120px, 1fr));
  grid-template-rows: auto repeat(calc(3 * 19), 0.2rem);

  /* カラムの間隔 */
  grid-column-gap: 3px;
  column-gap: 3px;

  /* 行の間隔 */
  grid-row-gap: 3px;
  row-gap: 3px;
}

/* 時間軸 */
.time-axis {
  border: solid 1px gray;
  border-radius: 3px;
  background-color: gainsboro;
  grid-column: 1 / 2;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 放送局の見出し */
.channel-title {
  border: solid 1px gray;
    border-radius: 3px;
    background-color: #444444;
    text-align: center;
    font-weight: bold;
    top: 0;
    z-index: 2;
    position: sticky;
    grid-row: 1 / 2;
    color: #fff;
	padding: 4px;
}

/* 枠 */
.content-box {
  border: solid 1px gray;
  border-radius: 3px;
}

/* 枠（上なしバージョン） */
.content-box-break-top {
  border-top: none;
  border-bottom: solid 1px gray;
  border-left: solid 1px gray;
  border-right: solid 1px gray;
  border-radius: 3px;
}

/* 枠（下なしバージョン） */
.content-box-break-bottom {
  border-bottom: none;
  border-top: solid 1px gray;
  border-left: solid 1px gray;
  border-right: solid 1px gray;

  border-radius: 3px;
}

/* 時間 */
.content-minute {
  margin-left: 3px;
  color: gray;
  overflow: hidden;
}

/* 具体名 */
.content-title {
  overflow-wrap: break-word;
  overflow: hidden;
  display: flex;
  align-items: center;
}

/* 説明 */
.content-discription {
  margin-top: 3px;
  display: flex;
  align-items: center;
  width: 150%;
}

.guide-contents table.table-3 th {
	width: 20%;
}

.guide-contents table td {
border:  1px solid #aaaaaa;
}

.akatya {
	background: #FEF7FF;
    width: 20%;
}


#guide2-sec1 table th {
	width: 30%;
}
#guide2-sec1 table td {
	width: 70%;
	border: 1px solid #eeeeee;
}

#guide3-sec1 p {
	margin-bottom: 4px;
}

#guide3-sec1 .item-4 {
	margin-bottom: 16px;
}

#guide3-sec2 table th {
	width: unset;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

#guide3-sec2 table th.color-2 {
	background-color: #982f03;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

table, td th {
	border: 1px solid #595959;
}
/****************************
********* キャンセル・変更。取り消し ****************************/
#guide2-sec6 .akatya {	
	width: 100%;
	background-color: #3a0204;
	color: #ffffff;
	text-align: center;
}

/****************************
********* 各種サービス ****************************/
h5.tate-line {
	border-left: 4px solid #4d0b02;
    font-size: 17px;
	margin-bottom: 8px;
}

span.margin-l-4 {
	margin-left: 4px;
}

.cashless-img {
	max-width: 960px;
}

/******************************
****** チケットガイド ******************************/
.tic-contents .tic-sec1 .item-2 {
	padding: 8px;
	border: 1px solid #aaaaaa;
}

 #tic-sec1 img {
	max-width: 144px;
	height: 148px;
	display: block;
	margin: 0 auto;
}

#tic-sec1 .columns {
	margin-bottom: 0;
}

#tic-sec1 .how-to-book{
	border: 1px solid #aaaaaa;
	padding: 8px;
}

#tic-sec2 img {
	max-width: 160px;
	display: block;
	margin: 16px auto;
 }

 /*
#tic-sec2 a::after {
	content: "";
    width: 16px;
    height: 16px;
    display: inline-block;
    background-image: url(./assets/img/window.png);
    background-position: center right;
    background-size: contain;
    margin: 0 0 -2px 4px;
 }
*/

 #tic-sec2 .border {
	padding: 8px;
	border: 1px solid #aaaaaa;
 }

#tic-sec3 table {
	width: 1040px;
	margin: 0 auto;
}

#tic-sec3 td,
#tic-sec3 th {
	width: 33.333333%;
	border-bottom: 1px solid #666666;
	padding: 8px 0;
	border-collapse: 0;
}

#tic-sec3 td {
	border-right: 1px solid #333333;
}

#tic-sec3 .table-head {
	background-color: #444444;
	color: #ffffff;
	padding: 4px;
}

#tic-sec3 .kigou {
	font-size: 24px;
}

#tic-sec3 .kigou2 {
	font-size: 32px;
}

img.cashless1 {
	max-width: 640px;
}

img.cashless2 {
	max-width: 928px;
}

img.cashless3 {
	max-width: 454px;
}

img.cashless4 {
	max-width: 828px;
}

p.logo-license {
	font-size: 11px;
	line-height: 1rem;
}

/****************************
********* 料金表 ****************************/
.price-contents table {
	width: 100%;
	margin: 0 auto;
}

.price-contents table th {
	text-align: center;
	background-color: #444444;
	color: #ffffff;
	padding: 4px;
	width: 10%;
	border: 1px solid #fff;
}

.price-contents table td {
	padding: 4px;
	border: 1px solid #aaaaaa;
	text-align: right;
}

@media screen and (max-width: 1200px) {
	.scroll-table {
		display: block;
		overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}

	.price-contents table th,
	.price-contents table td {
		 display: table-cell;
		 width: 10% !important;
	}

	#tic-sec3 table th, #tic-sec3 table td {
		display: table-cell;
		
	}

	#tic-sec3 .table-head {
		width: 33.333333% !important;
	}
}

/****************************
********* よくある質問 ****************************/
.cp_qa01 dt {
  position: relative;
  margin: 0 0 1em 30px;
}
.cp_qa01 dd {
  position: relative;
  margin: 0 0 2em 0;
  padding: 0 0 10px 60px;
  border-bottom: 1px dotted #0097a7;
}
.cp_qa01 dt::before,
.cp_qa01 dd::before {
  position: absolute;
  margin: 0 0.5em 0 -30px;
  color: #ffffff;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  clip-path: circle(50% at 50% 50%);
}
.cp_qa01 dt::before {
  content: '？';
  background: #f57c00;
}
.cp_qa01 dd::before {
  content: 'A';
  background: #0097a7;
}
.cp_qa01 dt::after,
.cp_qa01 dd::after {
  position: absolute;
  top: 7px;
  width: 10px;
  height: 10px;
  content: '';
  clip-path: polygon(100% 53%, 0 0, 0 100%);
}
.cp_qa01 dt::after {
  left: -10px;
  background: #f57c00;
}
.cp_qa01 dd::after {
  left: 50px;
  background: #0097a7;
}

/****************************
********* 沿革と概要 ****************************/
#summary-contents table tr:nth-child(2n) {
	background-color: #f4f4f4;
}

#summary-contents table th {
	width: 20%;
	padding: 16px 0;
	border-bottom: 1px solid #aaaaaa;
}

#summary-contents table td {
	width: 80%;
	border-bottom: 1px solid #aaaaaa;
}

.timeline {
  position: relative;
  margin-left: 2rem;
  border-left: 2px solid #ccc;
  padding-left: 1rem;
}

.timeline-item {
  position: relative;
  margin-block: 2rem;
}

.timeline-date {
	font-weight: bold;
	color: #333333;
	font-size: 32px;
	letter-spacing: .1rem;
}

.timeline-content {
  margin-top: 0.5rem;
}

.timeline-item::before {
  	content: '';
    position: absolute;
    left: -1.45rem;
    top: 0.25rem;
    width: 12px;
    height: 12px;
    background: #333333;
    border: 2px solid #333333;
    border-radius: 50%;
}

/****************************
********* 付帯設備 ****************************/
.facility-contents table {
	width: 1040px;
	margin: 0 auto;
}

.facility-contents th {
    text-align: center;
    background-color: #444444;
    color: #ffffff;
    padding: 4px;
    width: 10%;
    border: 1px solid #fff;
}

.facility-contents td.width70 {
	width: 70%;
}

.facility-contents td {
	border: 1px solid #cccccc;
	padding: 8px;
}

/****************************
********* ミッション ****************************/
#js-slider-mission {
	margin-bottom: 64px;
}

#mis-sec1 h4 {
	background: none;
    padding-left: 0;
}

#mis-sec1 .item-3 {
	width: calc(33.333333% - 80px);
    margin: 5px 40px 20px 40px;
}

#mis-sec2 .item-2 {
	width: calc(50% - 40px);
    margin: 20px;
}

#mis-sec2 a {
	color: #333333;
}

#mis-sec2 a:hover {
	opacity: .8;
}

/********* 新しい出会いを楽しむ *********/
.slider-mission .slick-slide img {
    width: 100% !important;
    max-width: 1140px;
}

/****************************
********* ホールスケジュール ****************************/
/* 日付行のセルをFlexボックスにして左右を入れ替える */
/* 日付が入っている親要素（td）の調整 */
#schedule .fc-day-number {
    text-align: left !important; /* 全体を左揃えに固定 */
    padding-left: 10px !important; /* 左端の余白調整 */
	display: flex !important;
    flex-direction: row-reverse !important; /* 右側にあった日付を左へ、左の曜日を右へ */
    justify-content: flex-end !important;   /* 全体を左側に寄せる */
    padding-left: 10px !important;
}

/* 日付部分 (2月1日) を左側に配置 */
#schedule .fc-list-header-right {
    float: none !important;      /* floatを解除 */
    display: inline-block !important;
    color: #333 !important;      /* 日付を濃い色に */
    font-weight: bold;
    padding-right: 5px;          /* 曜日との間の隙間 */
}

/* 曜日部分 ((日)) を右側に配置 */
#schedule .fc-list-header-left {
    float: none !important;      /* floatを解除 */
    display: inline-block !important;
    color: #666 !important;      /* 曜日は少し薄い色に */
}

/* もし「2月 1」に「日」を付け足したい場合 */
#schedule .fc-list-header-right::after {
    content: "日";
}

/* 土曜日の日付と曜日を青系にする */
#schedule .fc-sat .fc-list-header-right,
#schedule .fc-sat .fc-list-header-left {
    color: #005bac !important; /* 青色 */
}

/* 日曜日の日付と曜日を赤系にする */
#schedule .fc-sun .fc-list-header-right,
#schedule .fc-sun .fc-list-header-left {
    color: #d9333f !important; /* 赤色 */
}

/* ついでに土日の背景色を少し変えて強調する場合（お好みで） */
#schedule .fc-sat {
    background-color: #f0f7ff !important; /* 薄い青 */
}
#schedule .fc-sun {
    background-color: #fff0f0 !important; /* 薄い赤 */
}

/****************************
********* おでかけアリオス ****************************/
#goout-contents .g-map {
	margin-bottom: 56px;
}

/****************************
********* アクセシビリティ ****************************/

/******** バリアフリー ********/
#barr-sec5 .cstm-box-corner-accent {
	width: 40%;
}

/******** 鑑賞支援サービス ********/
#support-contents p {
	padding: 16px;
}

/****************************
********* 投稿ページ ****************************/
p.post-subtitle-top {
	font-size: 20px;
    color: #333333;
    margin-bottom: 0;
    line-height: 1.5rem;
    margin: 16px 0 0;
}

p.post-subtitle-under {
	font-size: 14px;
    color: #333333;
    margin-bottom: 16px;
    margin-top: 0;
    line-height: 1rem;
}

.wp-block-group {
	margin-top: 8px;
}

.wp-block-group p {
	margin: 0;
}

/*
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
    border: unset !important;
}
*/

.nolink {
	pointer-events: none;
    cursor: default; /* カーソルを通常に */
}

.tag_area ul {
  margin: 10px 0 0 0;
  padding: 0;
  list-style: none;
}

.tag_area ul li {
  display: inline-block;
  margin: 0 .5em .3em 1em;
  padding: 0;
   position: relative;
  display: inline-block;
  height: 30px;
  line-height: 30px;
  padding: 0 1em;
  background-color: #3a0204;
  border-radius: 0 3px 3px 0;
  color: #fff;
  font-size: 13px;
  text-decoration: none;
  -webkit-transition: .2s;
  transition: .2s;
}

.tag_area ul li a {
	color: #ffffff;
	font-weight: bold;
}

.tag_area ul li::before {
  position: absolute;
  top: 0;
  left: -15px;
  content: '';
  width: 0;
  height: 0;
  border-color: transparent #3a0204 transparent transparent;
  border-style: solid;
  border-width: 15px 15px 15px 0;
  -webkit-transition: .2s;
  transition: .2s;
}

.tag_area ul li::after {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
  display: block;
  content: '';
  width: 6px;
  height: 6px;
  margin-top: -3px;
  background-color: #fff;
  border-radius: 100%;
}

.tag_area ul li span {
}

.tag_area ul li a:hover {
  background-color: #555;
  color: #fff;
}

h5.early-bird-ticket {
	display: inline-block;
    position: relative;
    padding: .5em 1em;
    border-right: 24px solid #eb6100;
    background-color: #f5f5f5;
	font-size: 16px;
}

h5.early-bird-ticket:before {
    position: absolute;
    bottom: 2px;
    right: -20px;
    z-index: -1;
    transform: rotate(5deg);
    width: 100%;
    height: 50%;
    background-color: #d0d0d0;
    content: "";
    filter: blur(4px);
}

h5.early-bird-ticket:first-letter {
  font-size: 24px;
  color: #eb6100;
}

a[href $='.docx'] {
    background: url(./assets/img/icon/icon-docx.png) no-repeat center right;
    margin: 0;
    padding: 122px 42px 122px 0;
    color: #1c3d82;
    text-decoration: underline;
    background-size: 30px;
}

a[href $='.xlsx'] {
    background: url(./assets/img/icon/icon-xlsm.png) no-repeat center right;
    margin: 0;
    padding: 122px 42px 122px 0;
    color: #1c6140;
    text-decoration: underline;
    background-size: 30px;
}

a[href $='.pdf'] {
    background: url(./assets/img/icon/icon-pdf.png) no-repeat center right;
    margin: 0;
    padding: 122px 42px 122px 0;
    color: #b72e2e;
    text-decoration: underline;
    background-size: 30px;
}

a[href $='.pptx'] {
    background: url(./assets/img/icon/icon-pptx.png) no-repeat center right;
    margin: 0;
    padding: 122px 42px 122px 0;
    color: #d1750a;
    text-decoration: underline;
    background-size: 30px;
}

a[href $='.docx']:hover,
a[href $='.xlsx']:hover,
a[href $='.pdf']:hover,
a[href $='.pptx']:hover	{
	text-decoration:none;
}

.wp-block-file *+.wp-block-file__button {
    margin-left: .75em;
    background: navajowhite;
    display: inline-flex;
    padding: 4px 16px;
    color: #fff;
    border-bottom: 0;
    background-color: #32373c;
}

.columns .item-latest {
    width: 100%;
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 3px solid #eee; /* 区切り線 */
}

.item-latest {
	position: relative; /* バッジの基準点 */
}

.item-latest::before {
    content: "NEW";
    position: absolute;
    top: 10px;
    left: 10px;
    background: #d9333f; /* 目立つ色 */
    color: #fff;
    padding: 5px 15px;
    font-weight: bold;
    font-size: 0.9rem;
    z-index: 10;
    border-radius: 3px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
}

.columns .item-latest a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
    text-decoration: none;
}

.columns .item-latest img {
    width: 100%;
    max-width: 500px; /* 画像が大きくなりすぎないよう調整 */
    height: auto;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.columns .item-latest .cat-list-ttl {
    font-size: 1.8rem; /* タイトルを大きく */
    /* flex: 1; 横並び時にテキストを広げる */
    min-width: 300px;
}

/* スマホでは縦並びに戻す */
@media screen and (max-width: 1000px) {
    .columns .item-latest a {
        display: block; /* 縦並び */
    }
    .columns .item-latest img {
        max-width: 100%;
        margin-bottom: 15px;
    }
    .columns .item-latest .cat-list-ttl {
        font-size: 1.4rem;
    }
}

/****************************
********* イベント一覧 ****************************/
.eo-event-header {
	margin-bottom: 0;
	width: 100%;
}

.page-header {
	width: 100%;
    padding: 15px 0;
}

.type-event .entry-header {
	width: 100%;
}

.eventorganiser-event-meta {
	display: none;
}

.entry-title {
	margin: 10px 0;
    padding: 8px 3px;
}

span.event-closed {
	background-color: #3a0204;
	color: #ffffff;
	padding: 4px 8px;
	border-radius: 7px;
	font-size: 16px;
}

span.event-closed-list {
	/*
    background-color: #3a0204;
    color: #ffffff;
    padding: 4px 8px;
    border-radius: 7px;
    font-size: 16px;
	*/
	position: absolute;
    top: 0;
    left: 0;
	color: #ffffff;
	font-weight: bold;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 5;
    pointer-events: none;
}

#menu-posts-event_not_calendar {
	display: none;
}



/* 「前売り開始」のタグ部分 */
.early-bird-label {
    background-color: #d80000; /* アリオス様のイメージカラーに合わせて調整してください */
    color: #ffffff;
    font-size: 11px;
    font-weight: bold;
    padding: 2px 8px;
    border-radius: 3px;
    display: inline-block;
    line-height: 1.6;
}

/* カレンダーに表示される会場ごとの色 */
.eo-event-cat-schedule-mainhall {
    background-color: #7294D4 !important;
    color: #ffffff !important;
}

.eo-event-cat-schedule-maintheater {
    background-color: #E07A7A !important;
    color: #ffffff !important;
}

.eo-event-cat-schedule-smalltheater {
    background-color: #6DB3A6 !important;
    color: #ffffff !important;
}

.eo-event-cat-schedule-recitalhall {
    background-color: #D9A05B !important;
    color: #ffffff !important;
}

.eo-event-cat-schedule-other {
     background-color: #94A3B8 !important;
    color: #ffffff !important;
}

/* もっと見る */
/* 最初は4番目以降の要素を隠す */
#js-show-more-target .item-3:nth-child(n+4) {
    display: none;
}

/* 「is-active」クラスがついたら全て表示する */
#js-show-more-target.is-active .item-3 {
    display: block !important;
}

/****************************
********* イベント詳細 ****************************/
.nursery-service-tag {
	display: inline-flex;
    align-items: center;
    background-color: #8fc31f;
    color: #ffffff;
    padding: 3px 12px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 8px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.nursery-service-tag img {
	max-width: 32px;
    height: auto;
    margin-right: 5px;
    vertical-align: middle;
}

/* 前売り開始のコンテナ */
.early-bird-label-container {
    margin: 8px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px; /* ラベルと日付の間隔 */
}

/* 日時テキスト部分 */
.early-bird-date {
    color: #333;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

/* ホバー時の微調整（必要に応じて） */
.category-thumbnail:hover .early-bird-date {
    color: #d80000;
    transition: color 0.3s;
}

/* アイコンを横並びにする親要素 */
.event-support-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px; /* マーク同士の間隔 */
    margin-bottom: 12px;
}

/* 共通のタグスタイル */
.support-tag {
    display: inline-flex;
    align-items: center;
    background-color: #8fc31f; /* リーフグリーンで統一 */
    color: #ffffff;
    padding: 3px 10px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 12px;
}

.support-tag img {
    max-width: 32px;
    height: auto;
    margin-right: 5px;
    vertical-align: middle;
}

/* もし音声補聴だけ色を変えたい場合（例：落ち着いた青） */
 .tag-hearing {
	display: inline-flex;
    color: #7a5a00;
    padding: 3px 12px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 8px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
    background-color: #fff9cf;
}

 .tag-tablet {
	display: inline-flex;
    color: #1a4a8e;
    padding-bottom: 3px 12px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 8px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
    background-color: #c7dbfc;
}

/* スライドショー */

/* Swiperの外枠 */
.swiper-container-custom {
    position: relative;
    overflow: hidden !important;
    width: 100%;
    max-width: 640px;    
    margin: 0 auto;
    height: auto;
}

/* ギャラリー（wrapper）の設定：!importantでWPのflexを上書き */
.my-slider.swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
}

/* 各スライドの設定 */
.my-slider .swiper-slide {
    width: 100% !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.my-slider .swiper-slide img {
    width: 100% !important;
    height: auto !important;
    display: block;
}

/* 矢印とドットを見やすくする */
.swiper-button-next, .swiper-button-prev {
    color: #fff !important;
    text-shadow: 0 0 5px rgba(0,0,0,0.5);
}

/* 画像自体の設定 */
.my-slider .swiper-slide img {
    width: 100% !important;
    height: auto !important;
    display: block;
    object-fit: contain; /* アスペクト比を維持して収める */
}

/******* 関連記事　*******/
.crp_related.crp-rounded-thumbs a figure {
    max-width: 320px;
    max-height: 160px;
}

.crp_related.crp-rounded-thumbs img {
    max-width: 320px;
    max-height: 160px;
}

.crp_related.crp-rounded-thumbs .crp_title {
    max-width: 320px;
}


/****************************
*********  チケット予約  ****************************/
#booking-contents .box {
	position: relative;
    border: 3px solid #ffdd95;
    padding: 1em 0.5em 0.5em 0.5em;
    margin: 1em;
}

#booking-contents .box-title {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 20px;
	padding: 0 1em;
	margin: 0;
	transform: translateY(-50%) translateX(1em);
	background-color: #ffffff;
	font-weight: bold;
}

/****************************
*********  アクセス  ****************************/
.g-map {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    height: 0;
}

.g-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

section#acc-sec2 {
	margin-bottom: 88px;
}

.access h4 {
	background: unset;
	padding-left: 0;
}

#acc-sec2 .item-3 {
	width: calc(33.333333% - 30px);
    margin: 10px;
}

#acc-sec3 table {
	padding: 8px;
}

#acc-sec3 th {
    background-color: #444444;
    color: #ffffff;
    width: 20%;
    border-bottom: 1px solid #ffffff;
}

#acc-sec3 table td {
  background: #eee;
}

#acc-sec3 table tr:nth-child(odd) td {
  background: #fff;
}

#acc-sec3 table .width10 {
	width: 10%;
}

#acc-sec3 td.align-c {
	text-align: center;
}

/****************************
*********  キッズルームプログラム  *********************/
#kidsroom .item-2 {
	width: calc(50% - 50px);
    margin: 25px;
}

.photo-container {
  position: relative;
    width: 100%;
    display: block;
    margin-inline: auto;
    line-height: 0;
    background-color: #fff;
    padding: 30px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.photo-container::before,
.photo-container::after {
  content: '';
  position: absolute;
  transform: rotate(-35deg);
  width: 70px;
  height: 25px;
  background-color: #fff;
  z-index: 1;
}

.photo-container::before {
  	top: 24px;
	left: 6px;
	border-bottom: solid 1px #a9a9a9;
}

.photo-container::after {
	bottom: 15px;
	right: 11px;
	border-top: solid 1px #a9a9a9;
}

.time {
	border-top: 1px dashed #4d0b02;
	border-bottom: 1px dashed #4d0b02;
	padding: 4px 0;
}

span.bikou-tr {
	background: #3a0204;
    color: #fff;
    margin-right: 16px;
    font-weight: bold;
    border-radius: 4px;
    padding: 4px 16px;
}

#kids-sec3 img.shadow {
	    box-shadow: 20px 20px 0px rgb(218 239 116 / 80%); /* 影のオフセット、ぼかし、色、不透明度 */
		margin-bottom: 16px !important;
		margin: 0 auto;
}

.indent-7 {
	margin-left: 7em;
    text-indent: -7em;
}

.indent-6-4 {
	margin-left: 6.4em;
    text-indent: -6.4em;
}

/****************************
*********  アクセシビリティ  *********************/

/********************
フロアマップ
*********************/
#floor-sec1 .columns {
	justify-content: space-between;
    align-items: baseline;
	max-width: 1080px;
	margin: 0 auto;
	padding: 16px;
    border: 2px solid #dddddd;
}

/******************************
****** お問い合わせ ******************************/
#inq-sec1 form {
  width: 100%;
  margin: 0 auto;
}

#inq-sec1 .hissu {
	color: #d7a705;
	font-size:14px;
}

#inq-sec1 table, td th {
    border: unset;
}

#inq-sec1 th {
	text-align: right;
    padding: 8px;
    width: 24%;
    font-weight: normal;
    background-color: #3a0204;
    color: #fff;
    border-bottom: 1px solid #fff;
}

#inq-sec1 td {
	margin-bottom: 4px;
    padding: 16px 8px;
    border-bottom: 1px solid #333;
}

#inq-sec1 input {
	margin-bottom: 4px;
	width: 80%;
}

#inq-sec1 span.confirm input {
	width: 3%;
}

#inq-sec1 span.confirm .wpcf7-list-item {
	width: 100%;
}

#inq-sec1 .post-num1,
#inq-sec1 .post-num2 {
	width: 10%;
}

#inq-sec1 textarea {
  width: 100%;
  height: 100%;
  padding: 10px;
  font-size: 16px;
}

/******************************
****** SNSのご案内 ******************************/
#sns-contents .cstm-box-offset {
	height: auto;
	min-height: 393px;

 }

 #sns-contents a.btn-1 {
	position: absolute;
	bottom: 0;
	width: 88%;

 }

/******************************
****** 利用規約 ******************************/
img.bnr-l {
	max-width: 468px;
}

img.bnr-m,
img.bnr-s {
	max-width: 224px;
}

/******************************
****** メディアポリシー ******************************/
#mediapolicy-contents .inner-width .tab-4 ul li {
	margin-left: 32px;
    text-indent: -33px;
}


/******************************
****** 検索結果 ******************************/
/* 検索結果のリストアイテムを整える */
.result-list-item {
    margin-bottom: 30px;
    list-style: none;
}

.result-list-item .item-wrapper {
    background: #fbf4ec;
    border: 1px solid #eee;
    transition: transform 0.2s ease;
    height: 100%;
    padding: 8px;
}

.result-list-item .item-wrapper:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

/* 画像を中央配置・サイズ固定 */
.result-list-item .image {
    width: 100%;
    overflow: hidden;
    background: #f9f9f9;
}

.result-list-item .image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 画像を切り抜いてフィットさせる */
}

/* タイトルの装飾 */
.result-list-item dt {
    padding: 15px;
    font-size: 15px;
    font-weight: bold;
    color: #333;
    line-height: 1.4;
}

/****************************
*********   503  ****************************/
#page503-sec1 .columns {
    margin-bottom: 0;
}

#page503-sec1 a.inline {
    display: inline;
}

/****************************
*********  タブレット以下  ****************************/
@media screen and (max-width: 1000px) {

	.sp {
		display: block !important;
	}

	.pc {
		display: none !important;
	}

	.inner-width {
		padding: 0 8px;
	}

    .slick-slide img {
        width: 100%;
        max-width: 1000px !important;
    }

	#g-nav {
		left: 28%;
        width: 72%;
	}

	#g-nav-list .item-4 {
    width: calc(100% - 10px);
	}

	 #top-sec3 .item-3 {
		width: 100%;
	}

	header {
		width: 100%;
		background: #ffffff;
	}

	main {
		width: 100%;
		margin-bottom: 60px;
	}

	.openbtn {
		top: 24px;
		right: 8px;
	}

	button.fontsize-button {
		margin: 0 4px;
	}

	.sp-font-size {
		text-align: center;
		padding: 8px 0;
		background: #fff;
		margin: 24px 0;
	}

	.gt_float_switcher {
		display: block !important;
		margin: 0 auto !important;
		width: 50%;
	}

	.sp-choice-lang {
		text-align: center;
    	margin-bottom: 32px;
	}

	.sp-choice-lang a {
		padding: 16px 24px;
        background: #c99824;
        color: #ffffff;
	}

	.sp-a11y .columns {
		margin: 48px auto;
        justify-content: center;
        text-align: center;
	}

	.sp-a11y a {
		padding: 16px 24px;
        background: #c99824;
        color: #ffffff;
        width: 100%;
        display: block;
	}

	footer .item-2 {
		width: 100%;
	}

	footer .tos {
		text-align: center;
	}

/* アコーディオン */
	.title{
		pointer-events: all;
		cursor: pointer;
		}

	.toggle{
		display: none;
	}

	.plus::before,.plus::after  {
		content: '';
		display: inline-block;
		width: 20px;
		height: 2px;
		background-color: #333333;
		position: absolute;
		right: 20px;
		/*top: 50%;*/
		transform: translateY(-50%);
		transition: opacity 1s;
	}
	.plus::after {
		transform: translateY(-50%) rotate(90deg);
		transition: transform 1s;
	}
	.plus.show::before {
		opacity: 0;
	}
	.plus.show::after {
		transform: translateY(-50%) rotate(180deg);
	}
/* endアコーディオン */

/*フッター固定スクロール */
	.item-7 {
		width: calc(14.285714% - 0px);
  		margin: 0px;
	}

	#floor-sec1 .item-7 {
		width: unset;
  		margin: 0px;
	}

	/*リンクの形状*/
	#foot_fix_link .item-7 a{
		display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background: #ffffff;
        width: 100%;
        height: 60px;
        color: #565757;
        text-align: center;
        text-transform: uppercase;
        text-decoration: none;
        font-size: .7rem;
        font-weight: bold;
        transition: all 0.3s;
        padding: 0 4px;
        line-height: 1.2;
        border-right: 1px solid #565757;
        border-top: 1px solid #565757;
	}

	#foot_fix_link .columns {
		margin-bottom: 0;
	}

	/*
	#foot_fix_link a:hover{
		background-image: linear-gradient(90deg, rgba(240, 245, 144, 1), rgba(4, 255, 11, 1));
		color: #171c61;
	}
	*/

	#foot_fix_link img {
		max-width: 24px;
	}

	/*リンクを右下に固定*/
	#foot_fix_link {
		position: fixed;
        z-index: 2;
        opacity: 0;
        transform: translateY(100px);
        width: 100%;
		bottom: 0;
	}

	/*　上に上がる動き　*/

	#foot_fix_link.UpMove{
		animation: UpAnime 0.5s forwards;
	}

	@keyframes UpAnime{
		from {
		opacity: 0;
		transform: translateY(100px);
		}
		to {
		opacity: 1;
		transform: translateY(0);
		}
	}

	/*　下に下がる動き　*/

	#foot_fix_link.DownMove{
		animation: DownAnime 0.5s forwards;
	}
	@keyframes DownAnime{
		from {
		opacity: 1;
		transform: translateY(0);
		}
		to {
		opacity: 1;
		transform: translateY(100px);
		}
	}

/* end フッター固定スクロール */

	#top-contents {
    	width: 100%;
	}

	/*
	#top-sec1 {
		padding: 0 8px;
	}
	*/

	ul.slider-1 {
		width: 100%;
		float: unset;
		margin: unset;
	}

	ul.top-shisetsu li.sp {
        float: unset;
        width: 33.333333%;
		display: flex !important;
        justify-content: center;
    }

	footer img.foot-logo {
    	display: block;
		margin: 0 auto;

	}

	footer p {
		text-align: center;
	}

	.foot-sns ul {
		margin: 0 auto;
	}

	#top-sec2 .item-2 {
		width: 100%;
	}

	ul.top-shisetsu {
        width: 100%;
        float: unset;
        display: flex;
    }

	main {
    	top: -60px;
	}

	.tab-4 > label {
	    min-width: 50%;
	}

    .search-form {
        margin: 20px auto;
    }
}

@media screen and (max-width: 800px) {
	.item-2 {
		width: 100%;
	}

	.side-item-2,
	.item-3,
	.item-4{
    width: calc(50% - 10px);
    margin: 5px;
	}

	.gnav .item-2 {
        width: calc(50% - 240px);
        margin: 24px 16px 0px;
    }

	.item-5 {
		width: calc(50% - 10px);
		margin: 5px;
	}

	#con-sec2,
	#con-sec3 {
		background-size: 160%;
	}

	#con-sec2 img {
		height: 400px;
		object-fit: cover;
		object-position: 100% 70%;
	}

	#con-sec3 img {
		height: 400px;
		object-fit: cover;
		object-position: 100% 100%;
	}

	.order-1{
		order: 0;
	}

	.order-2{
  		order: 1;
	}

	#mai-sec1 p {
    	padding: 0;
	}

	p.padding {
		padding: 0;
	}

	#acc-sec2 .item-3 {
		width: 100%;
	}

	#floor-sec1 .columns {
		justify-content: start;
	}

	#floor-sec1 .item-7 {
		margin-bottom: 24px;
	}
}

@media screen and (max-width: 615px) {
	th,td {
		display: block;
		width: 100% !important;
	}

	#tic-sec3 table th, #tic-sec3 table td {
        display: table-cell;
		width: 33.333333% !important;
    }
    
    #guide1-sec3 table th,
    #guide1-sec3 table td,
	#mai-sec3 table.right-table th {
		width: 100%;
		display: table-cell;
	}

	#mai-sec3 table.right-table td {
		display: table-cell;
        width: 33.33333% !important;
	}

	.sp-choice-lang a {
		display: block;
		width: 99%;
		margin: 0 auto;
	}

	.sp-a11y .item-2 {
        width: calc(100% - 10px);
    }

	.sp-a11y a {
		display: block;
		width: 100%;
	}

	.tab-4 > div {
    	padding: 1.5em 0;
	}

	.min-615 {
		display: none;
	}

	.max-615 {
		display: block;
	}

	.timetable-container {
    	grid-template-columns: auto repeat(1, max-content minmax(40px, 1fr));
	}

	.time-axis {
		font-size: 12px;
		line-height: .8rem;
		display: none;
	}

	.item-3,
	#mis-sec1 .item-3,
	#mis-sec2 .item-2
	 {
		width: 100%;
	}


	.facility-contents th,
	.facility-contents  td {
		display: table-cell;
		width: 20% !important;
	}

	#acc-sec3 td .align-c {
		text-align: left;
	}

	#col-sec2 .item-2 {
		width: 100%;
	}

	#kidsroom .item-2 {
		width: 100%;
	}

	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th, .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
		border-left-color: #ffffff !important;
        border-right-width: 0 !important;
        /* border-top-width: 0 !important; */
        border-bottom-width: 0 !important;
	}

/* セル自体の配置を強制 */
    .top-calendar .fc-view-basicWeek th.fc-day-header {
        text-align: left !important;
        padding-left: 10px !important;
        background-color: #fff !important;
    }

    /* 文字の位置を強制 */
    .top-calendar .fc-view-basicWeek .fc-day-header a,
    .top-calendar .fc-view-basicWeek .fc-day-header span {
        display: inline-block !important;
        text-align: left !important;
        width: auto !important;
    }

    /* 日曜日の色 */
    .top-calendar .fc-view-basicWeek .fc-sun.fc-day-header {
        color: #d93025 !important;
        background-color: #fdf2f2 !important;
    }

    /* 土曜日の色 */
    .top-calendar .fc-view-basicWeek .fc-sat.fc-day-header {
        color: #1a73e8 !important;
        background-color: #f1f7ff !important;
    }
}

@media screen and (max-width: 600px) {
	.item-2 a {
    width: calc(100% - 10px);
	}

	.gnav__wrap {
		margin: 24% auto 40px;
	}

	.gnav .item-2 {
        width: calc(50% - 160px);
        margin: 24px 16px 0px;
    }

	.low-ttl h2 {
		top: 34%;
		line-height: 104%;
	}

	#fas-sec2 h3 {
		line-height: unset;
		font-size: 20px;
	}

	#fas-sec2 .view-more {
		right: 0px;
		width: 100%;
	}

    #stu-sec1 p, #stu-sec1 p {
        padding: 0 20px;
    }

    #stu-sec1 .menu .item-2 {
        width: calc(100% - 10px);
        margin: 5px;
    }

    #col-sec2 .item-2, #col-sec3 .item-2 {
        text-align: center;
        width: calc(100% - 10px);
        margin: 5px;
    }
}

@media screen and (max-width: 512px) {
/* リストヘッダーの親要素を横並び（フレックス）に設定 */
   #top-sec2 table td {
       display: flex;
       justify-content: start;
    }

    /* 【配置の逆転】日付（right）を1番目にする */
    .top-calendar .fc-list-header-right {
       order: 1 !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        font-weight: bold !important;
        font-size: 16px !important;
        width: auto !important;
        color: unset !important;
    }

    /* 【配置の逆転】曜日（left）を2番目にする */
    .top-calendar .fc-list-header-left {
        order: 2 !important;
        float: none !important;
        padding: 0 !important;
        font-weight: bold !important;
        font-size: 16px !important;
        width: auto !important;
    }

    /* 曜日の前後にかっこを付ける */
    .top-calendar .fc-list-header-left::before {
        content: "（";
    }

    .top-calendar .fc-list-header-left::after {
        content: "）";
    }

    /* 「曜日」の文字を消して「(月)」のようにする */
    .top-calendar .fc-list-header-left {
        /* max-width: 3.5em; */
        overflow: hidden;
        white-space: nowrap;
        order: 2 !important;
    }

    /* 土日の色分け */
    .top-calendar .fc-sun,
    .top-calendar .fc-sun .fc-list-header-left {
        color: #d93025 !important;
    } /* 日曜：赤 */

    .top-calendar .fc-sat,
    .top-calendar .fc-sat .fc-list-header-right {
        color: #1a73e8 !important;
    } /* 土曜：青 */

    .top-calendar .fc-day-sun.fc-list-heading td {
        background-color: #fff5f5 !important;
    }

    .top-calendar .fc-day-sat.fc-list-heading td {
        background-color: #f0f7ff !important;
    }
}

@media screen and (max-width: 500px) {
	#fas-sec2 h3 {
		top: -16px;
	}

	 .item-5 {
        width: calc(100% - 10px);
        margin: 5px;
    }

	h2 {
		line-height: 180%;
	}

	.low-ttl h2 {
		font-size: 20px;
		line-height: 80%;
		top: 50%;
	}

		main {
    	top: -30px;
	}

	    #foot_fix_link a {
        height: 72px;
    }

	.yarpp-thumbnail > img, .yarpp-thumbnail-default {
		width: 100%;
		height: auto;
		margin: 5px 5px 16px;
	}
}

@media screen and (max-width: 400px) {
	#low-head-img {
		margin-bottom: 40px;
	}
}
