/*
Theme Name: alios
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;
}

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;
}

.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;
	background-color: #ffff00;
}

.color-btn-wrap .color3 {
	color: #ffff00;
	background-color: #006AB6;
}

/* ハンバーガーメニュー */
#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: 32px;
}

#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;
}

/******************************
****** ボタンのための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: #200204;
}

/*×に変化*/
.openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 5px;
    height: 3px;
    border-radius: 2px;
    background-color: #ffffff;
    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;
}

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;
}


/******************************
****  サイドバー  ******************************/
aside {
	position: fixed;
	background: #ffffff; /*linear-gradient(135deg, #444444 0%, #554a4a 100%);*/
    width: 8%;
    height: 100vh;
    padding: 0 2px;
    z-index: 200;
    border-right: 1px solid #565757;
}

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

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);
    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.arrow,
h2.arrow-f1 {
	font-size: 32px;
    color: #7c2e1e;
    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: #3a0204;
}

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 {
	font-size: 20px;
	background: url(./assets/img/rhombus.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 {
	/* 少しずらしたボックス */
   /*margin: 1em auto; /* 外側余白 */
   padding: 1em; /* 内側余白 */
   background: none; /* 元のボックス背景色なし */
   border: 1px solid #ccc; /* 線の太さ（1px）、種類（実線）、色（#ccc） */
   position: relative; /* 配置（基準となる位置） */
   max-width: 800px; /* 最大幅 */
}

.cstm-box-offset:after {
   /*background-color: #eff; /* ずらしたボックスの背景色 */
   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; }

.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 {
}

/***************************
*********投稿ページ間ナビゲーション
 ****************************/
.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 **********/
#top-sec2 table {
	width: 100%;
	border-spacing: 0;
}

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

#top-sec2 .top-calendar {
	width: 100%;
	margin-bottom: 16px;
}

#top-sec2 .top-info {
	width: 100%;
	align-items: center;
	justify-content: center;
}

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

#top-sec2 .item-5 {
	color: #ffffff;
	background-color: #3a0204;
	margin: 0;
	text-align: center;
	padding: 12px 0px;
	cursor: pointer;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
}

#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;
}

#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;
}

#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 {
	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;
}

/********* #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;
}

.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;
}

.guide-1-head-img,
.summary-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: 50%;
    left: 10%;
    color: #fff;
    font-size: 40px;
    border: none;
    z-index: 100;
	line-height: 110%;
}

@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.png) no-repeat center left;
    background-size: 17px;
    /*font-weight: bold;*/
}

.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;
}

/******************************
****** コンセプト ******************************/
.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;
}

/****************************
********* 施設案内 ****************************/
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 #7C2E1E;
}

#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: #3a0204;
	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;
}

/****************************
********* リハーサル室・スタジオ／一般開放スペース
****************************/
#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);
}

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

#js-slider-gallery div.gallery-slide-img2 {
  background-image: url(./assets/img/facilities/cascade/cascade-slide-img2.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.jpg);
}


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

#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,
#stu-sec1 td {
	padding: 16px;
}

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

#stu-sec1 table th,
#stu-sec1 table th {
	width: 15%;
	background-color: #3a0204;
	color: #ffffff;
}

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

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

#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;
}


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

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

.guide-contents table th {
	font-weight: normal;
	text-align: left;
	background-color: #4d0b02;
	color: #ffffff;
	padding: 8px;
	width: 32%;
}

.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;
}

.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 * 26), 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: #3a0204;
    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;
}

.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;
}

#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-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: #4d0b02;
	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;
}

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

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

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

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

 }

.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;
  }

@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: #7c2e1e;
    font-size: 32px;
    /*display: block;
	border-bottom: 1px solid;
	padding-bottom: 8px;*/
    letter-spacing: .1rem;
}

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

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

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

.facility-contents th {
    text-align: center;
    background-color: #4d0b02;
    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;
}

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

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;
}

/****************************
********* イベント一覧 ****************************/
.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: 16px 3px;
}

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

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

/****************************
*********  チケット予約  ****************************/
#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;
}

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

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

#acc-sec3 th {
	background-color: #3a0204;
	color: #ffffff;
	width: 15%;
	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: #444444;
    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;
}

/******************************
****** 利用規約 ******************************/
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;
}


/****************************
*********  タブレット以下  ****************************/
@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: 100%;
	}

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

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

	header {
		width: 100%;
	}

	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;
	}

	.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 a{
		display: flex;
		flex-direction: column;
        justify-content: center;
        align-items: center;
        background: #200204;
        width: 100%;
        height: 60px;
        color: #fff;
        text-align: center;
        text-transform: uppercase;
        text-decoration: none;
        font-size: .7rem;
		font-weight: bold;
        transition: all 0.3s;
		border-right: 1px solid #ffffff;
		padding: 0 4px;
		line-height: 1.2;
	}

	#foot_fix_link:last-child {
		border-right: unset;
	}

	#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 {
		width: 100%;
		float:  unset;
	}

	ul.top-shisetsu li {
		float: right;
        width: 32.333333%;
	}

	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%;
	}

	main {
    	top: -60px;
	}
}

@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;
    }

	#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;
	}

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

	.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%;
	}
}

@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%;
	}
}

@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;
	}
}
