/*最上位コンテンツ*/
.main-contents{
	width:100%;
	margin-top:2em;
}
.main-contents-cast{
	width:100%;
}

/*幅と高さの定義*/
.width-max{width:100%;}
.width-max-1px{width:calc(100% - 1px);}
.width-half{width:50%;}
.width-half-1px{width:calc((100% / 2) - 1px);}
.width-3div{width:calc(100% / 3);}
.width-4div{width:calc(100% / 4);}
.width-fit-content{
	width:fit-content;
}
.height-max{height:100%;}
.height-max-1px{height:calc(100% - 1px);}
.height-half{height:50%;}
.height-half-1px{height:calc((100% / 2) - 1px);}
.height-3div{height:calc(100% / 3);}
.height-4div{height:calc(100% / 4);}
.height-full{height:100vh;}
.min-height-full{
	min-height:100vh;
}


/* 文字サイズに関する定義 */
/*指定方法：px*/
.font-size-8px{font-size:8px;}
.font-size-9px{font-size:9px;}
.font-size-10px{font-size:10px;}
.font-size-11px{font-size:11px;}
.font-size-12px{font-size:12px;}
.font-size-14px{font-size:14px;}
.font-size-16px{font-size:16px;}
.font-size-18px{font-size:18px;}
.font-size-20px{font-size:20px;}
.font-size-22px{font-size:22px;}
.font-size-24px{font-size:24px;}
.font-size-28px{font-size:28px;}
.font-size-32px{font-size:32px;}
.font-size-36px{font-size:36px;}
.font-size-40px{font-size:40px;}
.font-size-48px{font-size:48px;}
.font-size-56px{font-size:56px;}
.font-size-64px{font-size:64px;}
.font-size-72px{font-size:72px;}

/*指定方法：em*/
.font-size-0_5em{font-size:0.5em;}
.font-size-1_0em{font-size:1em;}
.font-size-1_5em{font-size:1.5em;}
.font-size-2_0em{font-size:2em;}
.font-size-2_5em{font-size:2.5em;}
.font-size-3_0em{font-size:3em;}
.font-size-3_5em{font-size:3.5em;}
.font-size-4_0em{font-size:4em;}
.font-size-4_5em{font-size:4.5em;}
.font-size-5_0em{font-size:5em;}

/*文字色関連*/
.font-color-black{color:black;}
.font-color-white{color:white;}
.font-color-red{color:red;}
.font-color-blue{color:blue;}
.font-color-yellow{color:yellow;}
.font-color-blond{color:#f2d58a;}
.font-color-jaune-brillant{color:#ffdc00;}

/*文字フォント*/
.font-family-yu-mincho{
	font-family:"游明朝","ヒラギノ明朝 ProN（Pro）",serif;
}

.font-family-cursive{
	font-family:cursive;
}

.font-family-impact{
	font-family:"Impact",fantasy;
}

.font-family-century{
	font-family:"Century",serif;
}

.font-family-meiryo{
	font-family:"Meiryo",sans-serif;
}

.font-main{
	color:#ffdc00;
	font-family:"游明朝","ヒラギノ明朝 ProN（Pro）",serif;
}


/*背景色関連*/
.bg-color-black{background-color:black;}
.bg-color-white{background-color:white;}
.bg-color-red{background-color:red;}
.bg-color-blue{background-color:blue;}
.bg-color-yellow{background-color:yellow;}
.bg-color-midnight-blue{background-color:#001e43;}
.bg-color-magenta{background-color:#e4007f;}
.bg-color-ruby{background-color:#c70067;}
.bg-color-azalee{background-color:#d83473;}
.bg-color-deep-purple{background-color:#c268c2;}
.bg-color-dark-purple{background-color:#c268c2;}
.bg-color-purple{background-color:#c268c277;}
.bg-color-light-purple{background-color:#c268c240;}
.bg-color-opacity-white{background-color:#ffffff26;}
.bg-color-light-opacity-white{background-color:#ffffff60;}
.bg-color-parent{background-color:transparent;}

/*透過率関連*/
.opacity-min{opacity:0;}
.opacity-25per{opacity:calc(1/4);}
.opacity-33per{opacity:calc(1/3);}
.opacity-half{opacity:0.5;}
.opacity-75per{opacity:calc(3/4);}
.opacity-max{opacity:1;}

/*margin関連*/
.margin-vertical-none{
	margin-left:0;
	margin-right:0;
}
.margin-vertical-05em{
	margin-left:0.5em;
	margin-right:0.5em;
}
.margin-vertical-10em{
	margin-left:1.0em;
	margin-right:1.0em;
}
.margin-vertical-15em{
	margin-left:1.5em;
	margin-right:1.5em;
}
.margin-vertical-20em{
	margin-left:2.0em;
	margin-right:2.0em;
}
.margin-horizontal-none{
	margin-top:0;
	margin-bottom:0;
}
.margin-horizontal-05em{
	margin-top:0.5em;
	margin-bottom:0.5em;
}
.margin-horizontal-10em{
	margin-top:1.0em;
	margin-bottom:1.0em;
}
.margin-horizontal-15em{
	margin-top:1.5em;
	margin-bottom:1.5em;
}
.margin-horizontal-20em{
	margin-top:2.0em;
	margin-bottom:2.0em;
}
.margin-all-none{
	margin-top:0;
	margin-bottom:0;
	margin-left:0;
	margin-right:0;
}
.margin-all-05em{
	margin-top:0.5em;
	margin-bottom:0.5em;
	margin-left:0.5em;
	margin-right:0.5em;
}
.margin-all-10em{
	margin-top:1.0em;
	margin-bottom:1.0em;
	margin-left:1.0em;
	margin-right:1.0em;
}
.margin-all-15em{
	margin-top:1.5em;
	margin-bottom:1.5em;
	margin-left:1.5em;
	margin-right:1.5em;
}
.margin-all-20em{
	margin-top:2.0em;
	margin-bottom:2.0em;
	margin-left:2.0em;
	margin-right:2.0em;
}
.margin-horizontal-5px{
	margin-top:5px;
	margin-bottom:5px;
}

/*padding関連*/
.padding-vertical-05em{
	padding-left:0.5em;
	padding-right:0.5em;
}
.padding-vertical-10em{
	padding-left:1.0em;
	padding-right:1.0em;
}
.padding-vertical-15em{
	padding-left:1.5em;
	padding-right:1.5em;
}
.padding-vertical-20em{
	padding-left:2.0em;
	padding-right:2.0em;
}
.padding-horizontal-05em{
	padding-top:0.5em;
	padding-bottom:0.5em;
}
.padding-horizontal-10em{
	padding-top:1.0em;
	padding-bottom:1.0em;
}
.padding-horizontal-15em{
	padding-top:1.5em;
	padding-bottom:1.5em;
}
.padding-horizontal-20em{
	padding-top:2.0em;
	padding-bottom:2.0em;
}
.padding-all-05em{
	padding-top:0.5em;
	padding-bottom:0.5em;
	padding-left:0.5em;
	padding-right:0.5em;
}
.padding-all-10em{
	padding-top:1.0em;
	padding-bottom:1.0em;
	padding-left:1.0em;
	padding-right:1.0em;
}
.padding-all-15em{
	padding-top:1.5em;
	padding-bottom:1.5em;
	padding-left:1.5em;
	padding-right:1.5em;
}
.padding-all-20em{
	padding-top:2.0em;
	padding-bottom:2.0em;
	padding-left:2.0em;
	padding-right:2.0em;
}
.padding-horizontal-5px{
	padding-top:5px;
	padding-bottom:5px;	
}
.padding-top-10px{
	padding-top:10px;
}

/*border関連*/
.border-solid-1px-black{
	border:1px solid black;
}
.border-solid-1px-white{
	border:1.5px solid white;
}
.border-solid-dark-purple-5px{
	border:5px solid #c268c2;
}

/*表示/非表示関連*/
.display-none{display:none;}
.display-block{display:block;}

/*Under Line関連*/
.border-bottom-solid-black{
	border-bottom:1px solid black;
}
.border-bottom-solid-gray{
	border-bottom:1px solid gray;
}

/* position関連*/
.position-relative{position:relative;}

.position-absolute{position: absolute;}
.position-absolute-top{
	position: absolute;
	top:0;
}
.position-absolute-bottom{
	position: absolute;
	bottom:0;
}
.position-absolute-top-left{
	position: absolute;
	top:0;
	left:0;
}
.position-absolute-center{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

.position-sticky{position: sticky;}

/*z-index関連*/
.z-index-01{z-index:1;}
.z-index-02{z-index:2;}
.z-index-03{z-index:3;}
.z-index-04{z-index:4;}
.z-index-05{z-index:5;}
.z-index-06{z-index:6;}
.z-index-07{z-index:7;}
.z-index-08{z-index:8;}
.z-index-09{z-index:9;}
.z-index-10{z-index:10;}

/*display関連*/
.display-inline-block{
	display:inline-block;
}


/*横並び関連*/
.wrapper-block{
	width:100%;
	list-style: none;
	display:flex;
	flex-wrap: wrap;
	margin:0;
	padding:0;
	justify-content: space-around;
}
.wrapper-block-left{
	width:100%;
	list-style: none;
	display:flex;
	flex-wrap: wrap;
	margin:0;
	padding:0;
	justify-content: space-between;
}
.wrapper-block-start{
	list-style: none;
	display:flex;
	flex-wrap: wrap;
	margin:0;
	padding:0;
	justify-content: start;
}

.display-flex{
	display:flex;
	width:100%;
}

.box-half{
	width:calc(100% / 2);
}

/*寄せ関連*/
.text-left{text-align:left;}
.text-right{text-align:right;}
.text-center{text-align:center;}
.margin-center{margin:0 auto;}
.top-bottom-center-parent{
	height:100%;
	display: table;
}
.top-bottom-center-child{
	height:100%;
	display: table-cell;
	vertical-align: middle;
}

/*正円*/
.border-circle-100px{
	width:100px;
	height:100px;
	padding:1.5em;
	border:10px double black;
	border-radius:50%;
}

.border-circle-150px{
	width:150px;
	height:150px;
	padding:1.5em;
	border:10px double black;
	border-radius:50%;
}

.border-circle-200px{
	width:200px;
	height:200px;
	padding:1.5em;
	border:10px double black;
	border-radius:50%;
}

.border-circle-300px{
	width:300px;
	height:300px;
	padding:1.5em;
	border:10px double black;
	border-radius:50%;
}

/*画像関連*/
.img-fit-contain-parent{
	width:100%;
	height:100%;
}
.img-fit-contain-parent img{
	width:100%;
	height:100%;
	object-fit: contain;
}

.img-fit-cover-parent{
	width:100%;
	height:100%;
}
.img-fit-cover-parent img{
	width:100%;
	height:100%;
	object-fit: cover;
}

/*リスト関連*/
.list-style-none{
	list-style: none;
}
.ul-margin-none{
	margin-top:0;
	margin-bottom:0;
}

/*縦線/横線*/
/*縦線*/
.vertical-line-center{
	position:relative;
	top:0;
	left:0;
	width:50%;
	height:100%;	
}

.vertical-line-center::after{
	position: absolute;
	top: 0;
	left: 100%;
	content: "";
	width: 1px;
	height: 100%;
	background-color: black;
}

/*横線*/
.horizontal-line-center{
	position:relative;
	top:0;
	left:0;
	width:100%;
	height:50%;
}

.horizontal-line-center::after{
	position: absolute;
	top: 100%;
	left: 0;
	content: "";
	width: 100%;
	height: 1px;
	background-color: black;
}

.box-sizing-border-box{
	box-sizing:border-box;
}

/*aタグの下線を消す*/
a{text-decoration: none;}

/*【スクロールスナップ】スクロールすると上下または左右に自動で移動する*/
/*左右方向で移動*/
.container-scroll-snap-x{
	overflow		: auto;
	scroll-snap-type: x mandatory;
	height			: 100vh;
}

/*上下方向で移動*/
.container-scroll-snap-y{
	overflow		: auto;
	scroll-snap-type: y mandatory;
	height			: 100vh;
}

/*上下左右で移動*/
.container-scroll-snap-both{
	overflow		: auto;
	scroll-snap-type: both mandatory;
	height			: 100vh;
}

/*高さを画面いっぱいにする*/
.section-100vh{height:100vh;}

/*自動移動後の位置調整*/
/*上部分(クラスのstart部分)で止まる*/
.section-scroll-snap-start{scroll-snap-align : start;}

/*下部分(クラスのend部分)で止まる*/
.section-scroll-snap-end{scroll-snap-align : end;}

/*中央部分(クラスの中央部分)で止まる*/
.section-scroll-snap-center{scroll-snap-align : center;}

/*スクロールバーを非表示にする*/
.scrollbar-hidden{
    -ms-overflow-style	: none;
    scrollbar-width		: none;
}
.scrollbar-hidden::-webkit-scrollbar{
    display: none;
}

/*空白行*/
.empty-block{
	height:4em;
}
.empty-block-half{
	height:2em;
}

/*slide*/
.swiper{
	width: 100%;	
}
.swiper-wrapper {
	width: 100%;
	display: flex;
	align-items: stretch;
}

.swiper-slide {
	width: 310px;
	height: 100%;
	box-sizing: border-box;	
}

.swiper-item{
	width:310px;
	padding:5px;
	padding-bottom:1em;
	border:1px solid #f2d58a;	
}
.swiper-item img{
	width:300px;
	height:300px;
	min-height:300px;
	object-fit:cover;
}
.swiper-item a{
	position:relative;
	z-index:5;
}
.swiper-pagination-bullets {
  width: 100px;
}

.swiper-pagination-bullet {
  width: 12px !important;
  height: 12px !important;
  margin: 0 0 0 10px !important;
  background: #fff;
}

.swiper-pagination-bullet:first-child {
  margin: 0 !important;
}

/* ×ボタン */
.batsu{
    display: block;
    width: 50px;/*枠の大きさ*/
    height: 50px;/*枠の大きさ*/
    background: #CCC;
    position: relative;
}

.batsu::before, .batsu::after{
    content: "";
    display: block;
    width: 100%;/*バツ線の長さ*/
    height: 10px;/*バツ線の太さ*/
    background: #000;
    transform: rotate(45deg);
    transform-origin:0% 50%;
    position: absolute;
    top: calc(14% - 5px);
    left: 14%;
}

.batsu::after{
    transform: rotate(-45deg);
    transform-origin:100% 50%;
    left: auto;
    right: 14%;
}

.cast-selector{
	width:200px;
}

.fadein {
  opacity : 0;
  transform : translate(0, 100px);
  transition : all 1s;
}
 
.fadein.active{
  opacity : 1;
  transform : translate(0, 0);
}

@media screen and (min-width:768px) {
	.main-contents{
		width:920px;
		margin-left:auto;
		margin-right:auto;
	}
}


/* block edit */
.is-style-full {
	width:100%;
	height:100vh;
}
.is-style-center .wp-block-column{
	margin:0 auto;
}
.is-style-full img{
	display: block;
	height: 100% !important;
	width: 100%;
	object-fit: cover;
}
