@charset "utf-8";

/* WEB FONT */
@font-face {
	font-family: "wf01";
    font-display: swap;
	src: url("../font/wf01.woff2") format("woff2");
}
@font-face {
	font-family: "wf02";
    font-display: swap;
	src: url("../font/wf02.woff2") format("woff2");
}

/* RESET */
*, *::before, *::after {
    box-sizing: border-box;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	font-weight: normal;
	vertical-align: baseline;
	-webkit-font-feature-settings: 'pkna';
	font-feature-settings: "pkna";
}
a {
	color: #006bd6;
	text-decoration: none;
	outline: none;
	-webkit-touch-callout: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: none;
	user-select: none;
}
img {
	image-rendering: -webkit-optimize-contrast;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	user-select: none;
}
img[loading="lazy"] {
  opacity: 0;
  transition: opacity .4s ease-out;
}
img[loading="lazy"].is-loaded {
  opacity: 1;
}
legend {
	display: none;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q::before, q::after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
table, caption, tbody, tfoot, thead, tr, th, td {
	vertical-align: middle;
}
strong {
    font-weight: bold;
}

/* ----------------------------------------------*/

body {
	margin: 0;
	padding: 0;
	background: #ff0000;
	text-align: center;
	font-size: 15px;
	color: #2a2a2a;
	letter-spacing: 0.05em;
	line-height: 1.6;
	font-family: 'wf01';
	position:relative;
}
body::before {
    width: 100vw;
    height: 100vh;
    content: "";
    background: #ff0000 url("../img/bg.png") no-repeat center top;
    background-size: cover;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    transform: translateZ(0);
}
@media screen and (max-width: 1200px) {

}
th,td {
	font-size: 15px;
	color: #ffffff;
	letter-spacing: 0.2em;
	line-height: 1.6;
}
button,input,select,textarea {
	font-size: 13px;
	color: #222222;
	letter-spacing: normal;
	font-family: meiryo,Verdana,Arial,sans-serif;
}
button {
	-webkit-user-select: none;
	user-select: none;
	outline: none;
}
input[type="text"],input[type="date"],input[type="email"] {
	    padding: 12px 14px;
}
input[type="file"] {
	max-width: 90%;
}
input[type="file"]::file-selector-button {
    color: black; /* ボタンのテキスト色 */
}
input[type="file"] {
    color: #555555; /* 「選択されていません」の文字の色 */
    opacity: 1; /* 一部のブラウザで色を適用するため */
}
select {
	padding: 12px 14px;
}
textarea {
	padding: 14px 16px;
	line-height: 1.6;
}
input.btn {
	height: 24px;
	width: 88px;
	letter-spacing: 0.1em;
	cursor: pointer;
}
.btns {
	margin: 24px 0 32px 0;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
}
.btn2 {
	height: 48px;
	padding: 12px 12px;
	background: #e40000;
	color: #ffffff;
	font-size: 16px;
    font-weight: bold;
	letter-spacing: 0.1em;
    text-transform: capitalize;
	border: none;
    border-radius: 8px;
	cursor: pointer;
	transition: all .6s;
}
.btn3 {
	min-width: 120px;
	height: 48px;
	padding: 12px 24px;
	background: #e40000;
	color: #ffffff;
	font-size: 16px;
    font-weight: bold;
	letter-spacing: 0.1em;
    text-transform: capitalize;
	border: none;
    border-radius: 8px;
	cursor: pointer;
	transition: all .6s;
}
.btn4 a {
    margin: 24px auto;
	padding: 12px 48px;
	background: rgba(0,0,0,0.92);
    display: inline-block;
	color: #ffffff;
	font-size: 16px;
    font-weight: bold;
	letter-spacing: 0.1em;
    border-radius: 100vw;
	cursor: pointer;
	transition: all .6s;
}
.btn4 a:hover {
	background: #ffffff;
    color: #111111;
}
.btn5 {
	width: calc(100% - 40px);
	margin: 0 auto;
	padding: 12px 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: #e40000;
	color: #ffffff;
	font-size: 16px;
	letter-spacing: 0.1em;
    text-transform: capitalize;
	border: none;
	border-radius: 8px;
	position: relative;
	cursor: pointer;
}
.btn5 .arrow-icon {
  position: absolute;
  right: 24px;
  width: 18px;
}
.btn5:hover .arrow-icon {
  animation: arrow-move 0.45s ease-out;
}
@keyframes arrow-move {
  0% {
    transform: translateX(0);
  }
  40% {
    transform: translateX(6px);
  }
  100% {
    transform: translateX(0);
  }
}
.submitbtn {
	text-align: center;
	clear: both;
}
.submitbtn input {
	height: 24px;
	padding: 0 24px;
	margin-top: 24px;
	letter-spacing: 0.1em;
	cursor: pointer;
}
/* SCROLLBAR */
::-webkit-scrollbar {
    background: #ffffff;
    width: 10px;
    height: 10px;
}
::-webkit-scrollbar-thumb {
    background-color: #c1c1c1;
    border-radius: 100vw;
}
::-webkit-scrollbar-thumb:hover {
    background-color: #a8a8a8;
}
.scrollbar::-webkit-scrollbar {
    background: rgba(0,0,0,0.92);
    width: 10px;
    height: 10px;
}
.scrollbar::-webkit-scrollbar-thumb {
    background-color: rgba(255,255,255,0.9);
    border-radius: 100vw;
}
.scrollbar::-webkit-scrollbar-thumb:hover {
    background-color: rgba(255,255,255,0.7);
}
/* CHECKBOX */
label {
	cursor: pointer;
}
input[type="checkbox"] {
	margin: 0;
	display: none;
}
.input-checkbox {
	padding: 5px 24px 0 34px;
	display: block;
	position: relative;
}
.input-checkbox label {
	display: inline-block;
	line-height: 1.4;
    cursor: pointer;
}
.input-checkbox label::before,
.input-checkbox label::after {
	content: "";
	display: inline-block;
	position: absolute;
	transition: transform .2s ease;
}
.input-checkbox label::before {
	width: 22px;
	height: 22px;
	background-color: #ffffff;
	border: 1px solid #cccccc;
	border-radius: 2px;
	top: 4px;
	left: 0;
}
.input-checkbox label::after {
	width: 12px;
	height: 18px;
	margin-top: -5px;
	border-right: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-radius: 2px;
	transform: rotate(45deg);
	transition: border-bottom-color,border-right-color .2s ease;
    top: 9px;
	left: 5px;
}
.input-checkbox input[type="checkbox"]:checked + label::after {
	border-color: #5f98e1;
}
/* RADIO */
input[type="radio"] {
	margin: 0;
	display: none;
	border: 0;
}
.wradio {
	padding-bottom: 8px;
	display: flex;
}
.input-radio {
	padding: 5px 32px 4px 32px;
	display: block;
	position: relative;
}
.input-radio label {
	display: inline-block;
	cursor: pointer;
}
.input-radio label::before,
.input-radio label::after {
	content: "";
	position: absolute;
	display: inline-block;
	border-radius: 50%;
	transition: transform .2s ease;
}
.input-radio label::before {
	top: 4px;
	left: 0;
	width: 22px;
 	height: 22px;
	background-color: #ffffff;
	border: 1px solid #cccccc;
}
.input-radio label::after {
	top: 8px;
	left: 4px;
	width: 14px;
	height: 14px;
	background-color: transparent;
	transform: scale(0);
}
.input-radio input[type="radio"]:checked + label::after {
	background-color: #5f98e1;
	transform: scale(1);
}

@media screen and (max-width: 600px) {
	input[type="text"],input[type="email"],input[type="number"],input[type="tel"],input[type="search"],input[type="date"],textarea {
		font-size: 16px;
		border: 1px solid #cccccc;
		-webkit-appearance : none;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
	}
	select {
		font-size: 16px;
	}
	.wradio {
		display: flex;
		flex-direction: column;
	}
	.input-checkbox label::before {
		border: 1px solid #cccccc;
	}
}
/* - */
.clear {
	clear: both;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}
/* TRANSLATE */
.gtranslate_wrapper {
    position: absolute;
    top: 140px;
    right: 30px;
    z-index: 50;
}
.index .gtranslate_wrapper {
    position: absolute;
    top: 30px;
    right: 30px;
    z-index: 50;
}
.gtranslate_wrapper select {
    padding: 6px;
}
@media screen and (max-width: 1200px) {
    .gtranslate_wrapper {
        position: absolute;
        top: 130px;
        right: 34px;
    }
}
@media screen and (max-width: 768px) {
    .gtranslate_wrapper {
        position: absolute;
        top: 10px;
        right: 0;
        left: 0;
    }
	.index .gtranslate_wrapper {
		position: absolute;
		top: 10px;
		right: 0;
	}
}
/* ANIMATION TEXT */
.text-eff {
	padding-top: 86px;
    color: #ffffff;
	font-size: 28px;
    font-weight: bold;
}
.text-eff span {
    font-weight: bold;
}
/* For translation */
.text-eff span font {
	display: none;
}
/* 03*/
.ml3 {
	letter-spacing: 0.1em;
}
.ml3 .letter {
	display: inline-block;
	line-height: 1;
}
/* 06*/
.ml6 {
	letter-spacing: 0.1em;
}
.ml6 .text-wrapper {
	position: relative;
	display: inline-block;
	padding-top: 0.2em;
	padding-right: 0.05em;
	padding-bottom: 0.1em;
	overflow: hidden;
}
.ml6 .letter {
	display: inline-block;
	line-height: 1;
}
/* 07 */
.ml7 {
	letter-spacing: 0.1em;
}
.ml7 .text-wrapper {
	position: relative;
	display: inline-block;
	padding-top: 0.2em;
	padding-right: 0.05em;
	padding-bottom: 0.1em;
	overflow: hidden;
}
.ml7 .letter {
	display: inline-block;
	line-height: 1;
	transform-origin: 0 100%;
}
/* 09 */
.ml9 {
	letter-spacing: 0.1em;
}
.ml9 .text-wrapper {
	position: relative;
	display: inline-block;
	padding-top: 0.2em;
	padding-right: 0.05em;
	padding-bottom: 0.1em;
	overflow: hidden;
}
.ml9 .letter {
	display: inline-block;
	line-height: 1;
	transform-origin: 50% 100%;
}
/* 10 */
.ml10 {
	letter-spacing: 0.1em;
}
.ml10 .text-wrapper {
	position: relative;
	display: inline-block;
	padding-top: 0.2em;
	padding-right: 0.05em;
	padding-bottom: 0.1em;
	overflow: hidden;
}
.ml10 .letter {
	display: inline-block;
	line-height: 1;
	transform-origin: 0 0;
}
/* 12 */
.ml12 {
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.ml12 .letter {
	display: inline-block;
	line-height: 1;
}
/* 13 */
.ml13 {
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.ml13 .letter {
	display: inline-block;
	line-height: 1;
}
#etext-sp {
	display: none;
}
@media screen and (max-width: 1200px) {
	.text-eff {
		font-size: 27px;
	}
}
@media screen and (max-width: 600px) {
	.text-eff {
		font-size: 5vw;
		letter-spacing: 0.01em;
	}
}
/* INDEX */
body.index {
    padding: 36px 0 48px 0;
}
body.index::before {
    width: 100vw;
    height: 100vh;
    content: "";
    background: url("../img/bg_index_photo01.webp") no-repeat left -100px top, url("../img/bg_index_photo02.webp") no-repeat right top, url("../img/bg.png") no-repeat center top, #ff0000;
    background-size: auto 100%, auto 100%, cover, auto;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    transform: translateZ(0);
}
.index-head {
    max-width: 540px;
	margin: 0 auto;
}
.index h1 {
    padding: 18px 0 4px 0;
    position: static;
}
.index h1 img {
    max-width: 360px;
    width: 68%;
}
.site-catch {
	padding-bottom: 32px;
    color: #ffffff;
    font-size: 24px;
    font-family: 'wf02';
}
.index-info {
	margin-bottom: 8px;
	padding: 0 18px;
	color: #ffffff;
    font-size: 21px;
    font-weight: bold;
	letter-spacing: 0.1em;
}
.index-info02 {
	padding: 0 18px;
	color: #ffffff;
    font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.8;
}
.gate {
    padding-top: 32px;
}
.enter a {
	max-width: 280px;
    width: 85%;
	margin: 0 auto;
	padding: 8px;
	background: #ffffff;
	display: inline-flex; /* ← block ではなく inline-flex にする */
    align-items: center;
    justify-content: center;
	font-size: 50px;
	color: #ff0000;
	font-family: "wf02";
	letter-spacing: 0.02em;
	border-radius: 3px;
    transition: all .3s;
	line-height: normal;
    -webkit-text-size-adjust: 100%;
}
@supports (-webkit-touch-callout: none) {
    .enter a span {
        display: inline-block;
		padding-top: 0.25em; /* ← Safari専用補正（PCには適用されない） */
    }
}
.enter a:hover {
	background: rgba(168,6,6,0.9);
	color: #ffffff;
}
.index-att {
	padding: 36px 18px;
	text-align: center;
	color: #ffffff;
	font-size: 12px;
	position: relative;
}
.indexlinks {
    width: 98%;
	max-width: 1272px;
	margin: 0 auto;
	padding: 0 4px 12px 4px;
	text-align: center;
	clear: both;
	overflow: auto;
}
.il88 {
    width: 98%;
	max-width: 1272px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.il88 li {
	width: calc(100% / 13);
	min-width: 92px;
	padding-bottom: 6px;
	overflow: hidden;
}
.il200 {
    width: 98%;
	max-width: 1272px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.il200 li {
	width: calc(100% / 6);
	min-width: 204px;
	padding-bottom: 6px;
	overflow: hidden;
}
.il468 {
    width: 98%;
	max-width: 1272px;
	margin: 0 auto;
    padding-bottom: 12px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.il468 li {
	width: calc(100% / 2);
	min-width: 472px;
	padding-bottom: 6px;
	overflow: hidden;
}
.il468 li img {
	height: auto;
	max-width: 100%;
}
.il468 li table {
	height: auto;
	max-width: 100%;
}
.indexlinks table,.il468 table {
	margin: 0 auto;
}
.indexlinks tr,.indexlinks td,.il468 tr,.il468 td {
	margin: 0;
	padding: 0;
	line-height: 0;
	vertical-align: top;
}
.indexlinks img {
	height: auto;
	max-width: 100%;
}
.index-ftmg {
	padding: 84px 0 54px 0;
	font-size: 12px;
    color: #e7e9ea;
    letter-spacing: 0.2em;
}
@media screen and (max-width: 1440px) {
    h1 {
        width: auto;
    }
}
@media screen and (max-width: 1280px) {
    .indexlinks {
        max-width: 100%;
    }
}
@media screen and (max-width: 1200px) {
	body.index::before {
		width: 100vw;
		height: 100vh;
		content: "";
		background: url("../img/bg_index_photo01.webp") no-repeat left top, url("../img/bg.png") no-repeat center top, #ff0000;
		background-size: auto 100%, cover, auto;
	}
    .index h1 {
        width: auto;
    }
	.index h1 img {
		max-width: 330px;
	}
}
@media screen and (max-width: 1000px) {
	body.index {
		padding: 0;
	}
}
@media screen and (max-width: 768px) {
	.index h1 {
		width: auto;
        max-width: initial;
	}
	.index-info02 {
		font-size: 15px;
	}
    .index-att {
		font-size: 11px;
	}
}
@media screen and (max-width: 600px) {
	.index-head {
		width: 100%;
		position: relative;
	}
    .gate {
        padding-top: 18px;
    }
	.enter a {
		width: 75%;
		max-width: 340px;
		margin: 0 auto;
		font-size: 34px;
	}
	.index-att {
		font-size: 12px;
	}
    .index-ftmg {
        padding: 0 0 48px 0;
    }
	.il88 {
		justify-content: space-around;
	}
	.il200 {
		justify-content: space-around;
	}
	.il468 {
		justify-content: space-around;
	}
	.il468 li {
		width: 100%;
		min-width: auto;
	}
}
/* FILTER SEARCH */
.filter-form {
	width: 100%;
	padding: 0 0 24px 0;
}
.filter-menu {
	display: flex;
	flex-wrap: wrap;
}
.filter-menu dt {
	width: 100%;
	padding: 14px 0 4px 28px;
    background: url("../img/icon_hashtag.svgz") no-repeat left 12px bottom 10px;
    background-size: auto 1em;
	text-align: left;
	color: #ffffff;
	font-size: 18px;
    font-weight: bold;
    text-transform: capitalize;
	position:relative;
}
.filter-menu dt span {
    font-weight: bold;
}
/*
.filter-menu dt::after,.filter-menu dt::after {
    content: '';
    height: 65%;
    position: absolute;
    top: 8px;
    left: 20px;
    border-left: 18px double #ffffff;
    transform: skew(-20deg);
}
*/
.filter-menu dd {
	min-width: 25%;
	padding: 3px;
}
.filter-menu dd button {
	height: 100%;
	width: 100%;
	padding: 5px 1px;
	background: 
		url("../img/btn_tag_line_top.svgz") no-repeat left top -1px,
		url("../img/btn_tag_line_bottom.svgz") no-repeat center bottom -1px,
		rgba(25,5,5,0.3);
	background-size: 
		100% 1px,
		100% 1px,
		auto;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border:1px solid rgba(255,255,255,.18);
	font-size: 13px;
	color: #ffffff;
    line-height: 1.2;
	text-transform: capitalize;
	border-radius: 10px;
	cursor: pointer;
	transition: background .3s;
}
.filter-menu dd button:hover {
	background: 
		url("../img/btn_tag_line_top.svgz") no-repeat left top -1px,
		url("../img/btn_tag_line_bottom.svgz") no-repeat center bottom -1px,
		rgba(27,9,8,0.5);
	background-size: 
		100% 1px,
		100% 1px,
		auto;
}
.filter-menu dd button.mixitup-control-active {
	background:
    	url("../img/btn_tag_line_top.svgz") no-repeat left top -1px,
		url("../img/btn_tag_line_bottom.svgz") no-repeat center bottom -1px,
    	rgba(255,255,255,0.92);
	background-size:
		100% 1px,
		100% 1px,
		auto;
	color: #ff2b2b;
	font-weight: bold;
}
@media screen and (max-width: 1200px) {
	.filter-menu dt {
		padding: 12px 0 0 32px;
        background: url("../img/icon_hashtag.svgz") no-repeat left 10px bottom 6px;
        background-size: auto 46%;
		font-size: 17px;
	}
	.filter-menu dd {
		width: calc(100% / 3);
	}
}
@media screen and (max-width: 600px) {
	.filter-menu dd button {
		font-size: 13px;
	}
}
/* LAYOUT */
.wrap {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
	background: url("../img/bg_photo.webp") no-repeat right 12px top 84px;
    background-size: min(1260px, calc(100% - 280px)) auto;
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	position: relative;
}
header {
	width: 100%;
    display: flex;
}
main {
	width: calc(100% - 288px);
	margin: -128px 0 24px 0;
}
.main-inner {
    padding: 0 8px;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
}
aside {
	width: 288px;
    padding: 4px 8px;
}
@media screen and (max-width: 1440px) {
	main {
		width: calc(100% - 274px);
		margin: -128px 0 24px 0;
	}
	aside {
		width: 274px;
	}
}
@media screen and (max-width: 1200px) {
	.wrap {
		display: block;
		background: url("../img/bg_photo.webp") no-repeat center top;
		background-size: auto 600px;
	}
    main {
		width: 100%;
        margin: 0 0 24px 0;
	}
	.main-inner {
		padding: 0 12px;
	}
    .side {
        width: 100%;
        display: flex;
    }
    aside {
		width: 100%;
        padding: 0 10px;
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
	}
}
@media screen and (max-width: 768px) {
	.wrap {
		background: url("../img/bg_photo.webp") no-repeat center top;
		background-size: 175% auto;
	}
	.main-inner {
		padding: 0 10px;
	}
}
@media screen and (max-width: 600px) {
    .main-inner {
		padding: 0 8px;
	}
	.side {
        display: block;
    }
}
/* ASIDE-BOX */
.aside-box {
	width: 100%;
	margin-bottom: 18px;
	background: rgba(255,255,255,0.95);
    color: #2a2a2a;
    border: 1px solid #ffffff;
    border-radius: 12px;
    box-shadow: -1px -1px 4px 1px rgba(255,25,25,0.9);
}
.aside-box-header {
	height: 60px;
    padding: 0 12px 0 14px;
    background: rgba(252, 212, 212, 0.5);
    display: flex;
    align-items: center;
	justify-content: space-between;
    text-align: left;
    border-bottom: 1px solid rgba(255,0,0,0.08);
    border-radius: 12px 12px 0 0;
}
.aside-box-header h2 img {
	margin-bottom: 2px;
	height: 1em;
	width: auto;
}
.aside-box-header .arrow-icon {
	height: 0.7em;
	width: auto;
}
.aside-box-header h2 {
	display: flex;
	align-items: center;
	gap: 6px;
    color: #ff0000;
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 0.02em;
	line-height: 1.3;
}
.aside-box-header .btn-more {
	min-width: 96px;
	padding: 8px 4px 8px 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 5px;
	color: #444444;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.01em;
    text-transform: capitalize;
	white-space: nowrap;
	border: none;
	position: relative;
	cursor: pointer;
}
.main-box-header .btn-more .arrow-icon {
    width: 14px;
}
.aside-box-container01 {
	height: 434px;
	width: calc(100% - 4px);
    margin: 8px 2px 8px 2px;
    overflow: auto;
}
.aside-box-container01 iframe {
	height: calc(100% - 4px);
	width: calc(100% - 4px);
	margin: 2px;
	display: block;
	border: none;
}
.aside-box-container02 {
	height: 434px;
	width: calc(100% - 4px);
	margin: 8px 2px 2px 2px;
	border: none;
	border-radius: 4px;
	overflow: auto;
}
.aside-box-container03 {
	padding: 4px;
	border-radius: 4px;
}
.aside-box-container04 { /* Original photodiary */
	height: 434px;
	width: 100%;
    margin: 8px 2px 8px 2px;
    overflow: auto;
}
.aside-box-container04 iframe {
	height: 100%;
	width: 100%;
	display: block;
	border: none;
}
.aside-box-container05 {
	width: calc(100% - 4px);
	margin: 0 2px 2px 2px;
	border: none;
	border-radius: 4px;
}
.aside-box-container05 iframe {
	margin: 2px auto;
	display: block;
	border: none;
}
.aside-box-container-custom01 {
	padding: 2px 4px 24px 4px;
	border-radius: 4px;
}
@media screen and (max-width: 1200px) {
	.aside-box {
        width: calc(50% - 6px); /* gap 分を調整 */
    }
	.aside-box-container01,.aside-box-container02,.aside-box-container04 {
		height: 330px;
	}
}
@media screen and (max-width: 768px) {
	.aside-box {
		width: 100%;
	}
}
/* HEADER */
.header-inner {
    width: 280px;
	padding: 0 28px;
    display: flex;
    flex-direction: column;
}
.header-catch {
	padding-bottom: 12px;
	color: #ffffff;
	font-size: 24px;
	font-family: 'wf02';
}
.header-industry {
	padding-bottom: 6px;
	color: #ffffff;
	font-size: 19px;
	letter-spacing: 0.1em;
}
.header-industry font {
	font-size: 17px;
	letter-spacing: 0.03em;
}
.header-menu {
    width: calc(100% - 280px);
}
.head {
    width: 100%;
	position: relative;
}
h1 {
    width: 100%;
	max-width: 1350px;
	margin: 0 auto;
    padding: 18px 0 0 0;
	display: block;
}
h1 a {
	width: 100%;
	display: block;
	overflow: hidden;
}
h1 a img {
	width: 100%;
}
.store-pr {
	color: #ffffff;
	font-size: 78px;
    font-style: italic;
	line-height: 1;
	letter-spacing: 0.01em;
    text-transform: capitalize;
    transform: scale(1.0, 0.88);
}
.store-info {
    padding-right: 12px;
    display: block;
    text-align: left;
	color: #ffffff;
	font-size: 48px;
    font-style: italic;
    line-height: 1.1;
	letter-spacing: 0.005em;
    transform: scale(1.0, 0.88);
}
.store-info .tel {
    white-space: nowrap;
}
.store-info a {
    color: #ffffff;
	font-size: 48px;
	letter-spacing: 0.005em;
}
.store-info .tel02 {
	font-size: 34px;
	letter-spacing: 0.05em;
}
.open-h {
	font-size: 21px;
	letter-spacing: 0.03em;
}
.dm-info {
	display: none;
}
@media screen and (max-width: 1440px) {
	h1 {
        width: 90%;
    }
	.header-catch {
		padding-bottom: 4px;
		font-size: 21px;
	}
	.header-industry {
		padding-bottom: 6px;
		font-size: 18px;
	}
    .store-pr {
        font-size: 5.4vw;
    }
    .store-info {
        font-size: 3.1vw;
    }
    .store-info a {
        font-size: 3.1vw;
    }
}
@media screen and (max-width: 1200px) {
	h1 {
        width: 180px;
    }
	.header-menu {
		width: auto;
	}
	.header-inner {
		width: 100%;
		padding: 0 28px;
		display: flex;
		flex-direction: column;
	}
	.store-pr {
        font-size: 6vw;
		letter-spacing: 0.05em;
	}
	.store-info {
		display: none;
	}
	.dm-info {
		width: 100%;
		padding: 16px 50px 12px 50px;
        display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 18px;
        text-align: center;
		color: #ffffff;
		font-size: 20px;
		line-height: 24px;
		letter-spacing: 0.05em;
	}
    .dm-info img {
        height: auto;
		width: 140px;
		margin: 0 auto;
	}
    .dm-info-inner {
        padding: 6px 0 0 12%;
        text-align: left;
    }
	.dm-info-h {
		height: 19px;
		margin-right: 4px;
		display: inline-block;
		color: #ffffff;
		font-size: 17px;
		line-height: 19px;
		letter-spacing: normal;
	}
	.dm-info .tel {
		padding-top: 5px;
		display: inline-block;
		font-size: 19px;
		color: #ffffff;
		font-style: normal;
		letter-spacing: 0.05em;
	}
}
@media screen and (max-width: 768px) {
    h1 {
        width: 140px;
    }
	html:not(.iphone-safari) h1 {
        padding-top: 60px;
    }
}
@media screen and (max-width: 600px) {
    .store-pr {
        font-style: normal;
	}
}
/* MAIN MENU */
.wrap-mm {
    position: fixed;
    top: 26px;
    left: 0;
    right: 0;
    width: calc(100% - 40px);
    max-width: 1600px;
    margin: 0 auto;
    padding-left: 280px;
    z-index: 100;
    overflow: hidden;
    transition: all .3s;
}
.mm {
	height: 90px;
	width: 100%;
	background: 
		url("../img/mm_line_top.svgz") repeat-x left top -1px,
		url("../img/mm_line_bottom.svgz") repeat-x left bottom -1px,
		url("../img/mm_line_tel.svgz") no-repeat right top -1px,
		url("../img/mm_line_tel.svgz") no-repeat right bottom -1px,
		rgba(255,255,255,.05);
	background-size: 
		100% 1px,
		100% 1px,
		240px 1px,
		240px 1px,
		auto;
	display: flex;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 18px;
	box-shadow: inset 0px 0px 6px 0px rgba(0, 0, 0, 0.01);
	position: relative;
	overflow: hidden;
}
.mm::before{
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.34),
            rgba(0,0,0,.22)
        );
    pointer-events:none;
}
.mm::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 18% 20%,
      rgba(255,255,255,.1),
      transparent 12%
    ),
    radial-gradient(
      circle at 82% 15%,
      rgba(255,255,255,.1),
      transparent 12%
    );
  mix-blend-mode: screen;
  pointer-events: none;
}
.mm nav {
	width: calc(100% - 120px);
}
.mm nav ul {
	height: 90px;
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 12px;
	background-color:hsla(0,0%,0%,0);
	background-image:
	radial-gradient(at 18% 0%, hsla(0,0%,0%,0.12) 0px, transparent 50%),
	radial-gradient(at 84% 100%, hsla(0,0%,0%,0.12) 0px, transparent 50%),
	radial-gradient(at 1% 73%, hsla(0,0%,0%,0.12) 0px, transparent 50%),
	radial-gradient(at 100% 54%, hsla(0,0%,0%,0.12) 0px, transparent 50%);
	display: flex;
	justify-content: space-around;
	position: relative;
    z-index: 1;
}
.mm nav ul li {
	height: 100%;
	position: relative;
}
.mm nav ul li::after {
    content: "";
    position: absolute;
    bottom: 1px;
    left: 50%;
    width: 0%;
    height: 3px;
    background: rgba(255,255,255,0.9);
    transform: translateX(-50%);
    opacity: 0;
    transition:
        width .35s ease,
        opacity .35s ease;
    pointer-events: none;
}
.mm nav ul li:hover::after {
    width: 50%;
    opacity: 1;
}
.mm01 {
	flex-grow: 1;
}
.mm02 {
	flex-grow: 1.2;
}
.mm03 {
	flex-grow: 1.4;
}
.mm04 {
	flex-grow: 1.6;
}
.mm nav ul li:first-child::before {
    content: "";
    position: absolute;
    bottom: 2px;
    left: 50%;
    transform: translateX(-50%);
    width: 75%;
    height: 1px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.65), transparent);
}
.mm nav ul a {
	height: 100%;
    width: 100%;
    display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: #ffffff;
	text-shadow: 0 1px 2px rgba(0,0,0,.30);
	letter-spacing: 0.03em;
    line-height: 1.2;
    text-transform: capitalize;
	overflow: hidden;
    transition: background .3s;
}
.mm nav ul a .jp {
	padding-bottom: 12px;
	font-size: 15px;
}
.mm nav ul a .en {
	font-size: 11px;
	transform: scale(0.85,1);
	letter-spacing: 0.15em;
}
.mm nav ul a.home {
	padding-left: 18px;
	background: url("../img/icon_mm_home.svgz") no-repeat left 20px center;
	background-size: auto 1.3em;
}
.mm nav ul li.link a img {
    height: 0.75em;
    margin-left: 6px;
}
.mm nav ul li a:hover::before {
    opacity: 0;
}
.mm-hidden-pc {
	display: none;	
}
.header-tel {
    width: 248px;
    padding-left: 54px;
    background:
        url("../img/icon_header_tel.svgz") no-repeat left 18px center,
        radial-gradient(at 97% 98%, hsla(1,0%,0%,0.1) 0px, transparent 50%),
        radial-gradient(at 27% 14%, hsla(0,0%,0%,0.12) 0px, transparent 50%),
        radial-gradient(at 68% 65%, hsla(0,0%,0%,0.12) 0px, transparent 50%),
        radial-gradient(at 13% 59%, hsla(0,0%,0%,0.12) 0px, transparent 50%),
        radial-gradient(at 83% 29%, hsla(0,0%,0%,0.12) 0px, transparent 50%),
		rgba(0,0,0,0.5)
		;
    background-size:
        auto 0.9em,
        auto, auto, auto, auto, auto;
    background-color: hsla(0,0%,0%,0.1);
    display: flex;
    align-items: center;
	color: #ffffff;
    font-size: 29px;
    font-family: 'wf02';
	letter-spacing: 0.03em;
	position: relative;
}
.header-tel::before {
    content: "";
    position: absolute;
	top: 18%;
    left: 0;
    width: 1px;
    height: 75%;
    pointer-events: none;
    background: linear-gradient(0deg, transparent, rgba(255, 255, 255, 0.65), transparent);
}
@media screen and (max-width: 1440px) {
	.wrap-mm {
		width: calc(100% - 20px);
	}
    .mm nav ul a.home {
		padding-left: 8px;
		background: none;
	}
	.header-tel {
		width: 220px;
		padding-left: 44px;
		background:
			url("../img/icon_header_tel.svgz") no-repeat left 14px center,
			radial-gradient(at 97% 98%, hsla(1,0%,0%,0.1) 0px, transparent 50%),
			radial-gradient(at 27% 14%, hsla(0,0%,0%,0.12) 0px, transparent 50%),
			radial-gradient(at 68% 65%, hsla(0,0%,0%,0.12) 0px, transparent 50%),
			radial-gradient(at 13% 59%, hsla(0,0%,0%,0.12) 0px, transparent 50%),
			radial-gradient(at 83% 29%, hsla(0,0%,0%,0.12) 0px, transparent 50%),
			rgba(0,0,0,0.5)
			;
		background-size:
			auto 0.9em,
			auto, auto, auto, auto, auto;
		background-color: hsla(0,0%,0%,0.1);
		display: flex;
		align-items: center;
		font-size: 27px;
		letter-spacing: 0.03em;
	}
}
@media screen and (max-width: 1200px) {
	.header-tel {
		display: none;
	}
	.mm-hidden-pc02 {
		display: none;	
	}
}
/* DRAWER MENU */
@media screen and (max-width: 1200px) {
	.wrap-mm {
		width: 100%;
		padding: 0;
		position: static;
	}
    .mm {
		height: auto;
		width: 100%;
		background: none;
		display: flex;
		backdrop-filter: none;
		border: none;
		border-radius: 0;
		box-shadow: none;
		position: relative;
		overflow: hidden;
	}
	.mm::before, .mm::after {
		content: none;
	}
	.mm nav {
		width: 100%;
	}
	.btndm {
		height: 60px;
		width: 60px;
		background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.16) 0%,
            rgba(255,255,255,.08) 45%,
            rgba(255,255,255,.06) 100%
        );

		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);

		border: 1px solid rgba(255,255,255,.18);
		box-shadow:
        0 1px 10px rgba(0,0,0,.10);
		
        border-radius: 100vw;
		position: fixed;
		top: 20px;
		right: 25px;
		transition:
        background .25s,
        border-color .25s,
        transform .2s;
		overflow:hidden;
		cursor: pointer;
		z-index: 100;
		isolation: isolate;
	}
	.btndm::after{
		content: "";

		position: absolute;
		inset: 0;
		border-radius: 50%;
		background:
			conic-gradient(
            from 210deg,
            rgba(255,255,255,.55),
            rgba(255,255,255,.18),
            transparent 22%,
            transparent 100%
        );
		-webkit-mask:
			radial-gradient(
            circle,
            transparent 72%,
            #000 76%
        );
		mask:
			radial-gradient(
            circle,
            transparent 72%,
            #000 76%
        );
		opacity: 0.65;
		pointer-events: none;
	}
	.btndm,
	.btndm span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.btndm span {
		position: absolute;
		left: 17px;
		width: 26px;
		height: 2px;
		background: #ffffff;
		box-shadow: 0 0 4px rgba(255,255,255,0.4);
		transition: 0.3s;
	}
	.btndm span:nth-of-type(1) {
		top: 20px;
	}
	.btndm span:nth-of-type(2) {
		top: 28px;
	}
	.btndm span:nth-of-type(3) {
		top: 36px;
	}
	.menuOpen .btndm span:nth-of-type(1) {
		-webkit-transform: translateY(8px) rotate(45deg);
		transform: translateY(8px) rotate(45deg);
	}
	.menuOpen .btndm span:nth-of-type(2) {
		opacity: 0;
	}
	.menuOpen .btndm span:nth-of-type(3) {
		webkit-transform: translateY(-8px) rotate(-45deg);
		transform: translateY(-8px) rotate(-45deg);
	}
	
/* MENU */
	.dm {
		width: 100%;
		height: 100vh;
		background: rgba(15,15,15,0.6);
		backdrop-filter: blur(8px);
		-webkit-backdrop-filter: blur(8px);
		border: 1px solid rgba(255,255,255,0.06);
		overflow: auto;
		position: fixed;
		right: -100%;
		top: 0;
        overflow-y: scroll;
		scrollbar-width: none;
        opacity: 0;
		z-index: -1;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		-webkit-transform: translate(101%,0);
        transform: translate(101%,0);
        transition: -webkit-transform .6s cubic-bezier(.29,.66,0,1);
        transition: transform .6s cubic-bezier(.29,.66,0,1);
        transition: transform .6s cubic-bezier(.29,.66,0,1),-webkit-transform .6s cubic-bezier(.29,.66,0,1);
	}
    .menuOpen .dm {
        -webkit-transform: translate(0,0);
        transform: translate(0,0);
        opacity: 1;
		z-index: 99;
	}
    .scroll-prevent {
		overflow: hidden;
	}
	.mm nav ul {
		height: 100%;
		width: 100%;
		margin: 4px auto 0 auto;
		background: none;
		position: static;
		flex-wrap: wrap;
		flex-direction: column;
		align-content: flex-start;
		gap: 8px;
        box-shadow: none;
	}
	.menu-open header nav ul li {
		opacity: 0;
		animation: fadein-menus .3s ease forwards;
		display: block;
		position: relative;
		animation-delay: 0.3s;
	}
	@keyframes fadein-menus {
	  from {
		opacity: 0;
		transform: translate(-20px,0);
	  }
	  to {
		opacity: 1;
		transform: translate(0,0);
	  }
	}
	.mm nav ul li {
		width: 100%;
		height: auto;
		padding: 12px 8px 8px 8px;
		border-top: 1px solid rgba(255,255,255,0.1);
	}
	.mm nav ul li:last-child {
		margin-bottom: 200px;
	}
    .mm nav ul li:first-child::before {
        content: none;
    }
    .mm nav ul li::after{
        content: none;
    }
    .mm nav ul li a {
        height: 100%;
		width: 100%;
		padding-left: 32px;
        background: none;
		text-align: left;
		color: #ffffff;
		font-size: 18px;
        transition: all .5s cubic-bezier(.29,.66,.42,1);
        display:flex;
		align-items: flex-start;
        position: relative;
	}
    .mm nav ul li a::before {
        content: none;
    }
	.mm nav ul a.home {
		padding-left: 32px;
	}
	.mm nav ul a .jp {
		padding: 0;
		font-size: 20px;
	}
	.mm nav ul a .en {
		display: none;
	}
    .mm-x {
        padding-left: 26px;
        background: url("../img/icon_x_white.svgz") no-repeat left center;
        background-size: auto 16px;
        display: inline-block;
        color: #ffffff;
        font-size: 16px;
        font-style: normal;
    }
	.mm-hidden-pc {
		display: list-item;
	}
	.mm-hidden-pc02 {
		display: list-item;
	}
	.mm-hidden-sp {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.btndm {
		top: 14px;
		right: 14px;
	}
}
@media screen and (max-width: 340px) {
	.btndm {
		top: 14px;
		right: 10px;
	}
}
/* SIDE-MENU */
.side-mm {
	margin: 0 auto 24px auto;
	padding-bottom: 24px;
	position: relative;
	padding: 4px 14px 14px 14px;
	background: rgba(15,15,15,.4);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border:1px solid rgba(255,255,255,.06);
	box-shadow: 0 1px 0 rgba(255,255,255,.04);
	border-radius: 16px;
	overflow:hidden;
}
.side-mm::before{
	content: "";
	position: absolute;
	top: 0;
	left: 10%;
	width: 80%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
}
.sm-head {
	padding: 18px 12px 18px 22px;
	background: url("../img/sm_head_arrow.svgz") no-repeat left 4px center;
    background-size: auto 0.6em;
	text-align: left;
	color: #ff0000;
	font-size: 15px;
	font-weight: bold;
    letter-spacing: 0.05em;
	text-transform: capitalize;
}
.side-mm ul {
	display:flex;
	flex-wrap: wrap;
	gap: 10px;
}
.side-mm ul li {
    height: 56px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.side-mm ul li a {
    height: 100%;
    width: 100%;
    padding-left: 66px;
	background: 
		url("../img/sm_line_top.svgz") no-repeat left top -1px,
		url("../img/sm_line_bottom.svgz") no-repeat left bottom -1px;
    background-size: 
		100% 1px,
		100% 1px;
    display: flex;
    align-items: center;
    text-align: left;
    color: #ffffff;
    font-size: 15px;
	letter-spacing: 0.03em;
    line-height: 1.2;
    text-transform: capitalize;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 10px;
    position: relative;
    transition: border .3s;
}
.side-mm ul li a:hover {
    border: 1px solid rgba(255,255,255,0.4);
}
.sm-link-blank {
    height: 0.75em;
    margin-left: 6px;
}
.sm-x {
	background: url("../img/icon_sm_x.svgz") no-repeat left 22px center;
	background-size: auto 1.5em;
}
.sm-line {
	background: url("../img/icon_sm_line.svgz") no-repeat left 22px center;
	background-size: auto 1.5em;
}
.sm-howto {
	background: url("../img/icon_sm_howto.svgz") no-repeat left 22px center;
	background-size: auto 1.5em;
}
.sm-event {
	background: url("../img/icon_sm_event.svgz") no-repeat left 22px center;
	background-size: auto 1.5em;
}
.sm-ranking {
	background: url("../img/icon_sm_ranking.svgz") no-repeat left 22px center;
	background-size: auto 1.5em;
}
.sm-photodiary {
	background: url("../img/icon_sm_photodiary.svgz") no-repeat left 22px center;
	background-size: auto 1.5em;
}
.sm-review-post {
	background: url("../img/icon_sm_review_post.svgz") no-repeat left 22px center;
	background-size: auto 1.5em;
}
.sm-contact {
	background: url("../img/icon_sm_contact.svgz") no-repeat left 22px center;
	background-size: auto 1.5em;
}
.sm-links {
	background: url("../img/icon_sm_links.svgz") no-repeat left 22px center;
	background-size: auto 1.5em;
}
.sm-faq {
	background: url("../img/icon_sm_faq.svgz") no-repeat left 22px center;
	background-size: auto 1.5em;
}
.sm-enquete {
	background: url("../img/icon_sm_enquete.svgz") no-repeat left 22px center;
	background-size: auto 1.5em;
}
.sm-group {
	background: url("../img/icon_sm_group.svgz") no-repeat left 24px center;
	background-size: auto 1.5em;
}
@media screen and (max-width: 1200px) {
	.side-mm {
		display: none;
	}
}
/* FOOTER SP NAV */
.sp-nav {
    display: none;
}
@media screen and (max-width: 1200px) {
    .sp-nav {
        display: block;
    }
    .sp-nav ul {
        height: 54px;
        width: 100%;
        background: #ffffff;
        display: flex;
        justify-content: space-between;
		box-shadow: 0px -2px 4px -2px rgba(255,25,25,0.1);
        position: fixed;
        z-index: 15;
        bottom: 0;
        right: 0;
    }
    .sp-nav ul li {
        flex-grow: 1;
        text-align: center;
        font-size: 13px;
        line-height: 80px;
        border-top: 1px solid rgba(255,255,255,0.2);
    }
    .sp-nav ul li + li {
        border-left: 1px solid rgba(255,0,0,0.08);
    }
    .sp-nav ul li a {
        height: 100%;
        width: 100%;
        display: block;
		color: #2a2a2a;
        font-weight: bold;
		letter-spacing: 0.05em;
    }
    .sp-nav-line {
        background: url("../img/icon_sp_line.svgz") no-repeat center top 4px;
        background-size: auto 25px;
    }
    .sp-nav-tel {
        background: url("../img/icon_sp_tel.svgz") no-repeat center top 6px;
        background-size: auto 21px;
    }
    .sp-nav-tel02 {
        background: url("../img/icon_sp_tel02.svgz") no-repeat center top 6px;
        background-size: auto 21px;
    }
    .sp-nav-web {
        background: url("../img/icon_sp_web.svgz") no-repeat center top 6px;
        background-size: auto 20px;
    }
}
/* CONTAINER */
.main-container {
    width: 100%;
    padding: 36px 2% 36px 2%;
    background: rgba(255,255,255,0.95);
    color: #2a2a2a;
    border: 1px solid #ffffff;
    border-radius: 12px;
    box-shadow: -1px -1px 4px 1px rgba(255,25,25,0.9);
    clear: both;
}
/* HOWTO */
.guide-container{
	width: 100%;
    padding: 36px 2% 36px 2%;
    background: rgba(255,255,255,0.95);
	text-align: left;
	color: #2a2a2a;
	letter-spacing: 0.05em;
    border: 1px solid #ffffff;
    border-radius: 12px;
    box-shadow: -1px -1px 4px 1px rgba(255,25,25,0.9);
}
.guide-list {
	width:100%;
}
.guide-item {
	margin-bottom: 12px;
	background: #ffffff;
	border: 1px solid rgba(255,0,0,0.15);
	border-radius: 8px;
	transition: border-color 0.25s ease;
    overflow: hidden;
}
.guide-item:not([open]):hover {
    border: 1px solid rgba(255,0,0,0.25);
}
.guide-item summary {
	padding: 20px;
	display: flex;
	align-items: center;
	gap: 14px;
	color: #2a2a2a;
    font-weight: bold;
	list-style: none;
	cursor: pointer;
	transition: border-color 0.25s ease;
}
.guide-item summary::-webkit-details-marker {
    display:none;
}
/*
.guide-item summary:not([open]):hover {
    border: 1px solid #bfbfbf;
}
*/
/* 共通アイコン */
.guide-icon {
    height: 1.4em;
}
.guide-title {
    flex: 1;
	font-weight: bold;
}
/* + */
.plus {
	height: 18px;
	width: 18px;
	margin-left: auto;
	position: relative;
}
.plus::before,
.plus::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 16px;
	height: 2px;
	background: #e40000;
	border-radius: 2px;
	transform: translate(-50%,-50%);
	transition: transform .35s ease;
}
.plus::after{
	transform: translate(-50%,-50%) rotate(90deg);
}
details[open]
> summary .plus::after {
	transform: translate(-50%,-50%) rotate(0deg);
}
.guide-answer{
	margin: 20px;
    color: #2a2a2a;
    line-height: 1.8;
	background: rgba(252,212,220,0.1);
	border: 1px solid rgba(255,0,0,0.1);
	border-radius: 8px;
}
.guide-answer-inner{
	padding: 20px;
}
.guide-answer-inner p{
    margin-bottom: 1em;
}
@media(max-width:768px){
	.guide-container{
		padding: 15px;
	}
	.guide-item summary{
		padding: 15px;
		font-size: 14px;
	}
	.guide-answer{
		margin: 10px;
		font-size: 14px;
	}
	.guide-answer-inner{
		padding: 12px;
	}
}
/* FAQ */
.faq-container{
	width: 100%;
    padding: 36px 2% 36px 2%;
	background: rgba(255,255,255,0.95);
    color: #2a2a2a;
    border: 1px solid #ffffff;
    border-radius: 12px;
    box-shadow: -1px -1px 4px 1px rgba(255,25,25,0.9);
	display: flex;
	gap: 25px;
}
.faq-category {
	width: 230px;
	height: max-content;
	background: #ffffff;
	border: 1px solid rgba(255,0,0,0.15);
	border-radius: 8px;
	overflow: hidden;
}
.faq-category a {
	padding: 18px 18px 18px 38px;
	background: url("../img/icon_category02.svgz") no-repeat left 14px center;
	background-size: auto 1.2em;
	display: block;
	text-align: left;
	color: #2a2a2a;
	font-size: 14px;
	border-bottom: 1px solid rgba(255,0,0,0.08);
}
.faq-category a:last-child {
	border-bottom: none;
}
.faq-category a.active {
	background: #e40000 url("../img/icon_category01.svgz") no-repeat left 14px center;
	background-size: auto 1.2em;
	color: #ffffff;
}
.faq-category a.active span {
	color: #ffffff;
}
.icon-category01 {
	height: 1.2em;
}
.faq-list{
	flex: 1;
}
.faq-list details{
	margin-bottom: 12px;
	background: #ffffff;
	border: 1px solid rgba(255,0,0,0.15);
	border-radius: 8px;
	overflow: hidden;
	transition: border-color 0.25s ease;
}
.faq-list details:not([open]):hover {
    border: 1px solid rgba(255,0,0,0.25);
}
.faq-list summary{
	padding: 18px;
	display: flex;
	align-items: center;
	gap: 12px;
	list-style:none;
	color: #2a2a2a;
	font-weight: bold;
	cursor: pointer;
}
.faq-list summary::-webkit-details-marker{
	display:none;
}
.faq-answer-inner .faq-answer {
	padding: 0 28px 12px 12px;
}

.icon-q {
	height: 1.8em;
}
.faq-answer {
	padding: 18px;
	text-align: left;
	color: #2a2a2a;
	line-height: 1.8;
}
.faq-child {
	margin: 0 !important;
	border: none !important;
	border-top: 1px solid rgba(255,0,0,0.08) !important;
	border-radius: 0 !important;
}
.faq-child summary {
	padding: 18px 0 18px 0;
	font-size: 14px;
	font-weight: normal;
	letter-spacing: 0.05em;
}
@media(max-width:768px) {
	.faq-container{
		padding: 8px;
		display: block;
	}
	.faq-category{
		width: 100%;
		margin-bottom: 20px;
	}
	.faq-answer {
		padding: 2px 20px 12px 12px;
		text-align: left;
		color: #2a2a2a;
		line-height: 1.7;
	}
	.faq-answer-inner .faq-answer {
		padding: 0 28px 12px 12px;
	}
}
/* INFO */
.wrap-info {
    width: 100%;
}
.info-item {
    margin-bottom: 15px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid #ffffff;
    border-radius: 8px;
    overflow: hidden;
    transition: 0.3s;
}
.info-item:hover {
    border-color: rgba(255,0,0,.25);
}
.info-item summary {
	padding: 2px 24px 2px 2px;
    display: flex;
    align-items: center;
    gap: 18px;
    cursor: pointer;
}
.info-item summary::-webkit-details-marker {
    display: none;
}
.info-thumb {
    width: 180px;
    flex-shrink: 0;
}
.info-thumb img {
    width: 100%;
    height: 120px;
    object-fit: cover;
	object-position: top;
	display: block;
    border-radius: 8px;
}
.info-meta {
    flex: 1;
}
.info-head {
	margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.info-cate {
    background: #ff0000;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    padding: 6px 12px;
    border-radius: 5px;
}
.info-head time {
	color: #6b6b6b;
    font-size: 12px;
	letter-spacing: 0.05em;
}
.info-title {
    margin: 0;
	text-align: left;
    color: #2a2a2a;
    font-size: 17px;
    font-weight: bold;
    line-height: 1.5;
	letter-spacing: 0.03em;
}
.info-answer {
    padding: 18px;
}
.info-answer-inner {
    padding: 20px;
    background: rgba(252,212,212,0.35);
	text-align: left;
	color: #2a2a2a;
	line-height: 1.8;
    border: 1px solid rgba(255,0,0,0.1);
    border-radius: 8px;
}
.entry-photo {
	padding-bottom: 8px;
	text-align: center;
	clear: both;
}
.entry-photo img {
	max-width: 240px;
	height: auto;
	margin: 0 auto;
	border-radius: 8px;
}
@media(max-width:768px) {
	.info-thumb {
		width: 35%;
	}
	.info-thumb img {
		width: 100%;
		height: 180px;
		border-radius: 6px;
	}
	.info-head {
		flex-wrap: wrap;
		gap: 4px;
		margin-bottom: 8px;
	}
	.info-date {
		width: 100%;
		font-size: 12px;
	}
	.info-title {
		padding-right: 30px;
		font-size: 16px;
	}
	.info-meta {
		padding: 8px 10px 12px 10px;
	}
	.info-item .plus {
		position: absolute;
		right: 15px;
		top: 50%;
		margin-top: -10px;
	}
	.info-item summary {
		padding: 2px 38px 2px 2px;
		align-items: flex-start; 
		gap: 4px;
		position: relative;
	}
	.info-answer {
		padding: 24px 10px 10px 10px;
	}
	.info-answer-inner {
		padding: 15px;
		font-size: 14px;
	}
}
/* PHOTODIARY -PAGE-*/
/* ---LIST--- */
.pd-name {
    height: 44px;
    width: 65%;
	max-width: 640px;
    margin: 20px auto 20px auto;
    background: url("../img/bg_ch_left.svgz") no-repeat left center, url("../img/bg_ch_right.svgz") no-repeat right center, linear-gradient(to right, rgba(254,243,242,0) 0%,rgba(254,243,242,0) 18%,rgba(254,243,242,1) 18%,rgba(254,243,242,1) 82%,rgba(254,243,242,0) 82%,rgba(254,243,242,0) 100%);
    background-size: auto 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 22px;
    color: #2a2a2a;
    font-weight: bold;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    clear: both;
}
.list-pd {
	width: 100%;
    margin: 0 0 10px 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 10px;
}
.list-pd li {
	width: 100%;
	padding: 4px;
	background: rgba(255,255,255,0.95);
	backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
	display: block;
	text-align: left;
	border: 1px solid #ffffff;
    border-radius: 8px;
	overflow: hidden;
	position: relative;
}
.list-pd li a {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.list-pd-img {
	height: auto;
	width: 100%;
	overflow: hidden;
	position: relative;
}
.list-pd-img::before {
	content: "";
	display: block;
	padding-top: 133.33333%;
	padding-top : calc(4/3*100%);
}
.list-pd-img img {
	width: 100%;
	height: 100%;
	margin: 0 auto;
    object-fit: cover;
	object-position: top;
    border-radius: 6px;
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity 1.2s;
}
.list-pd-detals {
	width: 100%;
	height: 100%;
	padding: 6px;
}
.list-pd time {
	width: 100%;
	margin-bottom: 4px;
	display: block;
	color: #6b6b6b;
	font-size: 12px;
	font-weight: normal;
	letter-spacing: 0.02em;
}
.list-pd h3 {
	margin-bottom: 8px;
	display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
	color: #306ae7;
	font-size: 15px;
	white-space: normal;
	line-height: 1.2;
	font-weight: bold;
	overflow: hidden;
}
.list-pd strong {
	font-size: 15px;
	color: #2a2a2a;
	font-weight: bold;
}
.list-pd-com {
	height: calc(13px * 1.4 * 2);
	font-size: 13px;
	color: #2a2a2a;
	white-space: normal;
	line-height: 1.4;
	letter-spacing: 0.05em;
	display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media screen and (max-width: 1440px) {
	.list-pd {
		gap: 8px;
	}
	.list-pd time {
		letter-spacing: 0.008em;
	}
}
@media screen and (max-width: 1200px) {
	.list-pd {
		gap: 6px;
	}
	.list-pd time {
		letter-spacing: 0.008em;
	}
}
@media screen and (max-width: 600px) {
	.list-pd {
		grid-template-columns: repeat(2, 1fr);
		gap: 4px;
	}
	.list-pd time {
		letter-spacing: 0.008em;
	}
}
@media screen and (max-width: 400px) {
	.list-pd time {
		font-size: 11px;
		letter-spacing: 0.008em;
	}
}
/* ---PHOTRODIARY-HOME--- */
#list-pd-home {
    padding-top: 3px;
}
/*
#list-pd-home li {
	min-height: 142px;
    padding: 2px 8px;
	background-color: transparent;
	border: none;
	border-bottom: 1px solid rgba(255,0,0,0.08);
    border-radius: 0;
}
*/
/* ---DETAIL--- */
.wrap-pd-details {
	width: 100%;
    margin: 0 auto 24px auto;
    padding: 12px;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: -1px -1px 4px 1px rgba(255,25,25,0.9);
    border: 1px solid #ffffff;
    border-radius: 12px;
}
.wrap-pd-details-inner {
	width: 100%;
	display: flex;
	gap: 40px;
}
.pd-details-img {
	max-width: 600px;
	width: 48%;
}
.pd-details-img img {
	max-width: 600px;
	width: 100%;
	height: auto;
	max-height: 600px;
    object-fit: cover;
	object-position: top;
    border-radius: 10px;
}
.wrap-pd-content {
	width: 52%;
	text-align: left;
}
.wrap-pd-content time {
	padding: 8px 14px;
	background: #9f0606;
	display: inline-block;
	color: #ffffff;
	font-size: 13px;
	letter-spacing: 0.03em;
	line-height: 1;
	border-radius: 4px;
}
.wrap-pd-content h3 {
	margin: 24px 0;
	display: block;
	color: #306ae7;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.02em;
}
.wrap-pd-content .comment {
	width: 100%;
	margin: 24px 0;
	padding: 24px 0;
	display: block;
	line-height: 1.8;
	letter-spacing: 0.02em;
	border-bottom: 1px solid rgba(255,0,0,0.08);
}
.wrap-pd-content .profile {
	padding-bottom: 12px;
	display: flex;
	gap: 15px;
	align-items: center;
}
.wrap-pd-content .profile .avatar {
	padding: 0 12px;
}
.wrap-pd-content .profile img {
	width: 70px;
	height: 70px;
	border-radius: 100vw;
	object-fit: cover;
	object-position: top;
}
.wrap-pd-content .profile h4 {
	font-weight: bold;
}
.pd dt {
	padding: 12px 0 12px 24px;
    background: rgba(0,0,0,0.92);
    border-bottom: 3px dashed #ff0000;
    border-radius: 6px 6px 0 0;
}
.pd dt time {
    color: #e7e9ea;
	font-size: 14px;
	letter-spacing: 0.02em;
}
.pd dd {
	margin: 0 0 12px 0;
    padding: 24px 24px 32px 24px;
    background: rgba(0,0,0,0.92);
    border-radius: 0 0 6px 6px;
}
.pd-img {
	width: 100%;
	max-width: 360px;
	margin: 0 auto;
	text-align: center;
}
.pd-img img {
	height: auto;
	max-width: 100%;
    border-radius: 3px;
}
.pd-com {
	padding: 24px;
	line-height: 1.8;
}
.pd-com img {
    height: auto;
    max-width: 320px;
}
.pd-dname {
	padding-left: 24px;
	display: flex;
	align-items: center;
}
.pd-dname strong {
	padding-right: 6px;
	font-size: 18px;
	color: #ffffff;
	font-weight: bold;
	letter-spacing: 0.12em;
}
.inlink {
	display: inline-block;
	text-align: center;
}
.inlink a {
	margin: 24px auto;
	padding: 4px 24px;
	display: inline-block;
	color: #e40000;
	font-size: 13px;
	text-align: center;
	border: 1px solid #ff0000;
	border-radius: 6px;
}
.inlink02 {
	margin-top: 48px;
}
.inlink02 a {
	width: calc(100% - 24px);
	margin: 0 auto 24px auto;
	padding: 10px 12px;
	background: #e40000;
	display: block;
	text-align: center;
	color: #ffffff;
	font-size: 13px;
	border-radius: 6px;
}
.pd dd .inlink a {
	padding: 2px 12px;
	display: block;
	color: #ffffff;
	font-weight: normal;
}
.pd dd .inlink02 a {
	padding: 2px 0;
	display: block;
	color: #ffffff;
	font-weight: normal;
}
@media screen and (max-width: 1200px) {
	.wrap-pd-content h3 {
		font-size: 21px;
	}
}
@media screen and (max-width: 768px) {
	
	.wrap-pd-details-inner {
		display: flex;
		flex-direction: column;
		gap: 40px;
	}
	.pd-details-img{
		max-width: initial;
		width: 100%;
	}
	.wrap-pd-content{
		width: 100%;
	}
	/*
	.pd dt {
		padding: 6px 0 6px 14px;
		border: none;
	}
	.pd h3 {
		padding: 2px 6px 12px 8px;
	}
	.pd-com {
		padding: 24px 6px 18px 8px;
	}
    .pd-com img {
        max-width: 100%;
    }
	.pd-dname {
		padding: 0;
	}
	.pd-dname strong {
		padding: 8px;
	}
	*/
}
/* PHOTO-DIARY -FRAME- */
#pd-frame-page {
	margin: 0;
	padding: 2px;
	background: transparent;
	text-align: center;
	font-size: 14px;
	color: #2a2a2a;
	line-height: 1.5;
	font-family: 'wf01';
	word-break: break-all;
	-webkit-text-size-adjust: 100%;
}
#pd-frame-page::before {
	content: none;
}
#pd-frame-page #scopy {
	font-size: 9px;
	color: #555555;
}
#pd-frame-page #scopy a {
	color: #555555;
}
/* ---LIST--- */
.list-pd-frame {
	width: 100%;
}
.list-pd-frame li {
	min-height: 113px;
	width: 100%;
	background: transparent;
	display: block;
	text-align: left;
	border-bottom: 1px solid rgba(255,0,0,0.08);
	overflow: hidden;
	position: relative;
}
.list-pd-frame li:first-child {
	border-radius: 2px 2px 0 0;
}
.list-pd-frame li:last-child {
	border-bottom: none;
	border-radius: 0 0 2px 2px;
}
.list-pd-frame li a {
	padding: 4px 0;
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.list-pd-frame h3 {
	font-size: 12px;
    color: #6b6b6b;
	letter-spacing: 0.02em;
	position: absolute;
	left: 86px;
	top: 5px;
}
.list-pd-frame-img {
	height: 104px;
	width: 78px;
	float: left;
	overflow: hidden;
	position: relative;
}
.list-pd-frame-img::before {
	content: "";
	display: block;
	padding-top: 133.33333%;
	padding-top : calc(4/3*100%);
}
.list-pd-frame-img img {
	width: 100%;
    max-width: 78px;
	height: 100%;
    max-height: 104px;
	margin: 0 auto;
    object-fit: cover;
	object-position: top;
    border-radius: 8px;
	position: absolute;
	top: 0;
	left: 0;
}
.list-pd-frame strong {
	font-size: 15px;
	color: #2a2a2a;
	font-weight: bold;
    letter-spacing: 0.1em;
	position: absolute;
	left: 86px;
	top: 78px;
}
.list-pd-frame h4 {
	height: 34px;
	font-size: 14px;
	position: absolute;
	left: 86px;
	top: 30px;
	color: #306ae7;
	white-space: normal;
	line-height: 1.2;
	overflow: hidden;
}
/* ---DETAIL--- */
.pd-frame {
	text-align: left;
}
.pd-frame dt {
	padding: 4px 0 2px 0;
	background: transparent;
	font-size: 13px;
	color: #6b6b6b;
	text-indent: 10px;
	letter-spacing: 0.02em;
	border-radius: 6px 6px 0 0;
}
.pd-frame dd {
	margin: 0 0 12px 0;
	padding: 6px 4px 20px 4px;
	background: transparent;
	border-radius: 0 0 6px 6px;
}
.pd-frame dd a {
	color: #06C;
	font-weight: bold;
}
.pd-frame h3 {
	padding: 12px 0 18px 4px;
	font-size: 14px;
	color: #306ae7;
	line-height: 1.2;
	font-weight: bold;
}
.pd-frame-img {
	max-width: 360px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.pd-frame-img img {
	max-height: 480px;
	max-width: 100%;
	width: 100%;
	object-fit: contain;
	border-radius: 8px;
}
.pd-frame-com {
	padding: 12px 2px 12px 2px;
}
.pd-frame-com img {
    height: auto;
    max-width: 100%;
}
.pd-frame strong {
	padding: 2px;
	font-size: 15px;
	color: #2a2a2a;
	font-weight: bold;
    letter-spacing: 0.1em
}
/* REVIEW -PAGE-*/
/* ---REVIEW-LIST--- */
.wrap-reviews-list {
	width: 100%;
}

.review-h-exp {
	width: 98%;
	margin: 18px auto 0 auto;
	padding: 8px 24px;
	background: rgba(255,255,255,0.9);
	text-align: left;
	line-height: 1.8;
	border-radius: 2px;
}
.review-name {
    height: 44px;
    width: 65%;
    margin: 20px auto 20px auto;
    background: url("../img/bg_ch_left.svgz") no-repeat left center, url("../img/bg_ch_right.svgz") no-repeat right center, linear-gradient(to right, rgba(20,0,0,0) 0%,rgba(20,0,0,0) 18%,rgba(20,0,0,1) 18%,rgba(20,0,0,1) 82%,rgba(20,0,0,0) 82%,rgba(20,0,0,0) 100%);
    background-size: auto 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 22px;
    color: #ffffff;
    font-weight: bold;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    clear: both;
}
.list-review {
    width: 100%;
    margin: 0 0 10px 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
    gap: 10px;
}
.list-review li {
	width: 100%;
    padding: 12px 4px 4px 4px;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: block;
    text-align: left;
    border: 1px solid #ffffff;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
}
.list-review li a {
	display: block;
	color: #2a2a2a;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.list-review .review-profile {
	padding-left: 8px;
	display: flex;
	gap: 12px;
	align-items: center;
}
.list-review .review-profile .avatar {
	padding: 0 12px;
}
.list-review .review-profile img {
	width: 70px;
	height: 70px;
	border-radius: 100vw;
	object-fit: cover;
	object-position: top;
}
.list-review .review-profile h4 {
	color: #2a2a2a;
	font-size: 17px;
	font-weight: bold;
}
.list-review .review-content {
	padding: 12px;
}
.list-review .review-text {
    height: calc(13px * 1.4 * 2);
	margin-bottom: 12px;
    font-size: 13px;
    color: #2a2a2a;
    white-space: normal;
    line-height: 1.4;
    letter-spacing: 0.05em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.list-review .review-date {
	display: flex;
	gap: 12px;
	align-items: center;
	color: #6b6b6b;
}
.list-review time {
	padding-left: 2px;
	font-size: 12px;
	letter-spacing: 0.05em;
	font-weight: normal;
}
.list-review .reply::after, 
.list-review-frame .reply::after {
    content: '';
    height: 1em;
	width: 1.2em;
    margin-left: 4px;
    display: inline-block;
    background: url("../img/icon_reply.svgz") no-repeat center bottom;
    background-size: auto 92%;
}
.list-review .reviewer {
	height: 1.2em;
	font-size: 13px;
	line-height: 1.2;
	white-space: normal;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media screen and (max-width: 768px) {
	
	.review-name {
        width: 90%;
    }
	.list-review .review-profile {
		padding: 0;
		display: flex;
		gap: 4px;
		align-items: center;
	}
	.list-review .review-profile h4 {
		font-size: 16px;
	}
	.list-review {
        grid-template-columns: repeat(1, 1fr);
    }
}
/* ---REVIEW-LIST-ID--- */
.list-review-id {
	width: 100%;
	margin: 0 0 10px 0;
    display: flex;
    flex-direction: column;
    gap: 12px 0;
}
/* ---REVIEW-DETAIL & ID-DETAIL--- */
.review {
	text-align: left;
	color: #ffffff;
}
.wrap-review-details {
    width: 100%;
    padding: 24px;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(8px);
    box-shadow: rgba(255,25,25,0.9) -1px -1px 4px 1px;
    border-width: 1px solid #ffffff;
    border-image: initial;
    border-radius: 8px;
}
.wrap-review-details .profile {
    padding-bottom: 24px;
    display: flex;
    gap: 15px;
    align-items: center;
}
.wrap-review-details .profile .avatar {
    padding: 0 12px;
}
.wrap-review-details .profile .avatar img {
    width: 90px;
    height: 90px;
    border-radius: 100vw;
    object-fit: cover;
	object-position: top;
}
.wrap-review-details .profile h4 {
    font-weight: bold;
}
.review-com {
	padding: 24px 0;
	text-align: left;
    line-height: 1.8;
}
.wrap-review-details .review-date {
	padding-bottom: 12px;
	display: flex;
	gap: 12px;
	align-items: center;
	color: #6b6b6b;
}
.wrap-review-details time {
	padding-left: 2px;
	font-size: 12px;
	letter-spacing: 0.05em;
	font-weight: normal;
}
.wrap-review-details .reviewer {
    height: 1.2em;
    font-size: 13px;
    line-height: 1.2;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.review-reply {
    margin: 12px 0;
	padding: 24px;
    background: rgba(252,212,212,0.35);
	text-align: left;
    line-height: 1.8;
	border: 1px solid rgba(255,0,0,0.1);
    border-radius: 8px;
}
.review-reply-h {
    padding-bottom: 12px;
	color: #ff0000;
	font-size: 17px;
    font-weight: bold;
    vertical-align: middle;
}
.review-reply-h img {
	height: 70px;
	width: 70px;
	margin-right: 12px;
	vertical-align: middle;
	border-radius: 100vw;
	object-fit: cover;
	object-position: top;
}
.review-dname {
	padding-left: 24px;
	display: flex;
	align-items: center;
}
.review-dname strong {
	padding-right: 6px;
	font-size: 18px;
	color: #ffffff;
	font-weight: bold;
}
.review strong .age {
	font-size: 13px;
}
@media screen and (max-width: 768px) {
	.review-h-exp {
		width: 99%;
		margin: 12px auto 0 auto;
		padding: 4px 12px;
	}
	.review .reviewer {
		padding: 2px 0 6px 8px;
	}
	.review-com {
		padding: 24px 6px 24px 8px;
	}
	.review-reply {
		margin: 8px 2px 24px 2px;
		padding: 8px;
	}
	.review-reply-h {
		font-size: 15px;
	}
	.review-reply-com {
		padding: 8px;
	}
	.review-dname {
		padding: 0;
	}
	.review-dname strong {
		padding: 8px;
	}
}

/* REVIEW -FRAME- */
#review-frame-page {
	margin: 0;
	padding: 2px;
	background: transparent;
	text-align: center;
	font-size: 14px;
	color: #2a2a2a;
	line-height: 1.5;
	font-family: 'wf01';
	word-break: break-all;
	-webkit-text-size-adjust: 100%;
}
#review-frame-page::before {
	content: none;
}
#review-frame-page #scopy {
	font-size: 9px;
	color: #555555;
}
#review-frame-page #scopy a {
	color: #555555;
}
/* ---REVIEW-LIST--- */
.list-review-frame {
	width: 100%;
	margin: 0 0 10px 0;
}
.list-review-frame li {
	width: 100%;
	background: transparent;
	display: block;
	text-align: left;
	border-bottom: 1px solid rgba(255,0,0,0.08);
	overflow: hidden;
	position: relative;
}
.list-review-frame li:first-child {
	border-radius: 2px 2px 0 0;
}
.list-review-frame li:last-child {
	border-bottom: none;
	border-radius: 0 0 2px 2px;
}
.list-review-frame li a {
    padding: 4px 0;
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.list-review-frame h3 {
	padding-left: 2px;
	font-size: 12px;
	color: #6b6b6b;
	letter-spacing: 0.02em;
	position: absolute;
	left: 86px;
	top: 6px;
}
.list-review-frame-img {
	height: 104px;
	width: 78px;
	float: left;
	overflow: hidden;
	position: relative;
}
.list-review-frame-img::before {
	content: "";
	display: block;
	padding-top: 133.33333%;
	padding-top : calc(4/3*100%);
}
.list-review-frame-img img {
	width: 100%;
    max-width: 78px;
	height: 100%;
    max-height: 104px;
    margin: 0 auto;
	object-fit: cover;
	object-position: top;
    border-radius: 8px;
	position: absolute;
	top: 0;
	left: 0;
}
.list-review-frame h4 {
	height: 34px;
	font-size: 15px;
	color: #2a2a2a;
	font-weight: bold;
    letter-spacing: 0.12em;
	position: absolute;
	left: 86px;
	top: 30px;
}
.list-review-frame h4 .age {
	font-size: 13px;
}
.list-review-frame .reviewer {
	height: 1.2em;
	width: calc(100% - 184px - 4px);
	font-size: 13px;
	position: absolute;
	left: 176px;
	top: 7px;
	color: #306ae7;
	line-height: 1.2;
	white-space: normal;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.list-review-frame .review-text {
	height: 3.2em;
	width: calc(100% - 86px - 6px);
	font-size: 13px;
	position: absolute;
	left: 86px;
	top: 61px;
	color: #2a2a2a;
	line-height: 1.6;
	font-weight: normal;
	white-space: normal;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* ---REVIEW-HOME--- */
#list-review-home {
    padding-top: 4px;
}
/* ---REVIEW-DETAIL--- */
.review-frame {
	text-align: left;
}
.review-frame dt {
	padding: 4px 0 2px 4px;
	font-size: 13px;
	color: #6b6b6b;
	letter-spacing: 0.02em;
	border-radius: 6px 6px 0 0;
}
.review-frame .reviewer {
	padding: 0 0 0 4px;
	font-size: 13px;
	color: #306ae7;
	letter-spacing: 0.05em;
}
.review-frame dd {
	margin: 0 0 12px 0;
	padding: 6px 4px 20px 4px;
	background: transparent;
	border-radius: 0 0 6px 6px;
}
.review-frame dd a {
	color: #06C;
	font-weight: bold;
}
.review-frame-img {
	width: 100%;
	text-align: center;
}
.review-frame-img img {
	height: auto;
	max-width: 100%;
}
.review-frame-com {
	padding: 12px 2px 24px 2px;
    line-height: 1.6;
}
.review-frame strong {
	padding: 2px;
	font-size: 15px;
	color: #2a2a2a;
	font-weight: bold;
}
.review-frame strong .age {
	font-size: 13px;
}
/* WRITE REVIEW */
.review-cast-img {
	padding-top: 6px;
}
.review-cast-img img {
	width: 120px;
	border-radius: 8px;
}
/* TALK -PAGE-*/
/* ---TALK-LIST--- */
.wrap-submit-info {
	width: 100%;
	margin-bottom: 24px;
	display: flex;
}
.wrap-submit-info02 {
	width: 100%;
	margin-bottom: 24px;
}
.block-btn {
	padding: 12px 24px;
	background: rgba(96,3,2,0.95);
	background-size: auto 100px, auto 100px, auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-radius: 100vw;
	flex-basis: 75%
}
.submit-info {
	display: flex;
	align-items: center;
	padding: 0 24px;
	color: #ffffff;
	font-size: 19px;
}
.btn-talk a {
	min-width: 220px;
	padding: 8px 36px 8px 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: #e40000;
	color: #ffffff;
	font-size: 16px;
	letter-spacing: 0.1em;
    text-transform: capitalize;
	border: none;
	border-radius: 100vw;
	position: relative;
	cursor: pointer;
}
.btn-talk a .arrow-icon {
  position: absolute;
  right: 24px;
  width: 18px;
}
.btn-talk:hover .arrow-icon {
  animation: arrow-move 0.45s ease-out;
}
@keyframes arrow-move {
  0% {
    transform: translateX(0);
  }
  40% {
    transform: translateX(6px);
  }
  100% {
    transform: translateX(0);
  }
}
.block-nav {
	width: 100%;
	padding-top: 4px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-end;
	flex-basis: 25%;
}
.talk-h-exp {
	width: 98%;
	margin: 18px auto 0 auto;
	padding: 8px 24px;
	background: rgba(255,255,255,0.9);
	text-align: left;
	line-height: 1.8;
	border-radius: 2px;
}
.form-talk-select {
    padding: 0 12px 12px 0;
    display: flex;
    justify-content: flex-end;
}
.list-talk {
	width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.list-talk li {
	width: 100%;
    padding: 8px 12px;
	background: rgba(255,255,255,0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
	display: block;
	text-align: left;
	border: 1px solid #ffffff;
	border-radius: 8px;
	overflow: hidden;
	position: relative;
}
.list-talk li a {
	display: block;
	overflow: hidden;
}
.response-date {
    display: flex;
    gap: 8px;
    align-items: center;
    color: #6b6b6b;
	font-size: 12px;
}
.list-talk time {
	letter-spacing: 0.05em;
	font-weight: normal;
}
.response-total {

}
.response-total span {
    height: 1em;
    width: 29px;
    background: url("../img/icon_talk_bubble.svgz") no-repeat left 10px center;
    background-size: auto 100%;
    display: inline-block;
    line-height: 1;
    letter-spacing: 0.05em;
    white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
}
.list-talk-target {
	height: 62px;
	width: 100%;
    padding-left: 26px;
    background: url("../img/icon_talk_arrow.svgz") no-repeat left 5px center;
    background-size: auto 10px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
	overflow: hidden;
}
.list-talk-target img {
	height: 50px;
    width: 50px;
    border-radius: 8px;
    object-fit: cover;
	object-position: top;
}
.list-talk h3 {
    padding-left: 12px;
	font-size: 16px;
	color: #2a2a2a;
    font-weight: bold;
    letter-spacing: 0.12em;
	white-space: normal;
	line-height: 1.2;
	overflow: hidden;
}
.list-talk .reply::after, 
.list-talk-frame .reply::after {
    content: '';
    height: 1em;
	width: 1.2em;
    margin-left: 4px;
    display: inline-block;
    background: url("../img/icon_reply.svgz") no-repeat center bottom;
    background-size: auto 92%;
}
.list-talk .asker-message {
	height: 3.4em;
	width: 100%;
    margin-bottom: 8px;
    padding: 8px;
    color: #2a2a2a;
	font-size: 14px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal;
    word-wrap: break-word;
    text-overflow: ellipsis;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
	.wrap-submit-info {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}
	.block-nav {
		flex-basis: auto;
	}
	.block-btn {
		display: flex;
		flex-direction: column-reverse;
	}
	.submit-info {
		display: none;
	}
}
/* ---TALK-DETAIL--- */
.talk-thread {
	width: 100%;
    margin-bottom: 36px;
    padding: 12px 20px;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 3px solid #ffffff;
    border-radius: 8px;
}
.talk-thread-date {
    width: 100%;
    padding-bottom: 4px;
    display: flex;
	color: #6b6b6b;
}
.talk-thread-date time {
	font-size: 14px;
	letter-spacing: 0.05em;
	font-weight: normal;
}
.talk-thread-total span {
    height: 1em;
    width: 29px;
    background: url("../img/icon_talk_bubble.svgz") no-repeat left 10px center;
    background-size: auto 100%;
    display: inline-block;
    line-height: 1;
    letter-spacing: 0.05em;
    white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
}
.talk-thread-commenter {
    height: 62px;
    width: 100%;
    margin-bottom: 4px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
}
.talk-thread-commenter img {
    height: 50px;
    width: 50px;
    border-radius: 8px;
    object-fit: cover;
	object-position: top;
}
.talk-thread-commenter .commenter {
    padding-left: 6px;
    font-size: 16px;
    color: #2a2a2a;
    font-weight: bold;
    letter-spacing: 0.12em;
    white-space: normal;
    line-height: 1.2;
    overflow: hidden;
}
.talk-thread-title {
    text-align: left;
}
.talk-thread-close {
    width: 98%;
    margin: 18px auto 24px auto;
    padding: 24px;
    background: #ffffff;
    text-align: left;
    color: #ff0000;
    line-height: 1.6;
    border-radius: 8px;
}
.talk-response {
	width: 100%;
    margin-bottom: 10px;
    padding: 12px 20px;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid #ffffff;
    border-radius: 8px;
}
.talk-response-order-number {
    padding-right: 10px;
    color: #306ae7;
    font-weight: bold;
    letter-spacing: 0.05em;
    cursor: pointer;
}
.talk-response-date {
    width: 100%;
    padding-bottom: 4px;
    display: flex;
}
.talk-response-date time {
	color: #6b6b6b;
	font-size: 14px;
	letter-spacing: 0.05em;
	font-weight: normal;
}
.talk-response-responder {
    height: 62px;
    width: 100%;
    margin-bottom: 24px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
}
.talk-response-responder img {
    height: 50px;
    width: 50px;
    border-radius: 8px;
    object-fit: cover;
	object-position: top;
}
.talk-response-responder .responder, .talk-response-responder .responder a {
    padding-left: 12px;
    font-size: 16px;
    color: #2a2a2a;
    font-weight: bold;
    letter-spacing: 0.08em;
    white-space: normal;
    line-height: 1.2;
    overflow: hidden;
}
.talk-response-responder .responder a {
    color: #2a2a2a;
    font-weight: bold;
}
.talk-response-comment {
	margin-bottom: 6px;
    text-align: left;
}
.talk-post-res-frame {
    width: 100%;
}
#talk-post-res {
    background: transparent;
    overflow: hidden;
}
#talk-post-res::before {
    content: none;
}
.featherlight-inner {
    max-width: 85vw;
    max-height: 85vh;
}
/* ---REVIEW-FRAME--- */
.talk-frame-page {
    background: rgba(0,0,0,0.92);
    overflow: hidden;
}
.talk-frame-page::before {
    content: none;
}
.talk-response-frame {
    margin-bottom: 24px;
    padding: 12px 20px;
    background: rgba(0,0,0,0.92);
    border-radius: 6px;
}
.talk-response-frame-order-number {
    padding-right: 10px;
    letter-spacing: 0.05em;
}
.talk-response-frame-date {
    width: 100%;
    padding-bottom: 4px;
    display: flex;
}
.talk-response-frame-date time {
	color: #e7e9ea;
	font-size: 14px;
	letter-spacing: 0.05em;
	font-weight: normal;
}
.talk-response-frame-responder {
    height: 62px;
    width: 100%;
    margin-bottom: 4px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
}
.talk-response-frame-responder img {
    height: 50px;
    width: 50px;
    border-radius: 8px;
    object-fit: cover;
	object-position: top;
}
.talk-response-frame-responder .responder {
    padding-left: 6px;
    font-size: 16px;
    color: #ffffff;
    font-weight: bold;
    letter-spacing: 0.12em;
    white-space: normal;
    line-height: 1.2;
    overflow: hidden;
}
.talk-response-frame-comment {
    text-align: left;
}
@media screen and (max-width: 600px) {
	.talk-response-frame {
        padding: 12px;
    }
}
/* ---TALK-HOME--- */
#list-talk-home {
    padding-top: 4px;
}
#list-talk-home li {
	min-height: 142px;
    padding: 2px 8px;
	background-color: transparent;
	border: none;
	border-bottom: 1px solid rgba(255,0,0,0.08);
    border-radius: 0;
}
#list-talk-home li:last-child {
    border-bottom: none;
}
/* RANKING ASIDE */
.ranking-aside {
	width: 100%;
	padding-top: 12px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.ranking-aside li {
	margin-bottom: 4px;
	padding: 3px 0 6px 0;
}
.rank01-aside {
	width: calc(100% - 4px);
	margin: 0 2px 2px 2px;
}
.rank02-aside {
	width: calc(50% - 4px);
}
.rank03-aside {
	width: calc(50% - 4px);
}
.rank01-aside .rank-aside-img {
	height: auto;
	width: 90%;
	max-width: 240px;
	margin: 0 auto;
    background: #d58f05;
    border: 1px solid #d58f05;
    border-radius: 8px;
	overflow: hidden;
	position: relative;
}
.rank02-aside .rank-aside-img {
	height: auto;
	width: 98%;
	max-width: 240px;
	margin: 0 auto;
    background: #757575;
    border: 1px solid #757575;
    border-radius: 8px;
	overflow: hidden;
	position: relative;
}
.rank03-aside .rank-aside-img {
	height: auto;
	width: 98%;
	max-width: 240px;
	margin: 0 auto;
    background: #be3f0b;
    border: 1px solid #be3f0b;
    border-radius: 8px;
	overflow: hidden;
	position: relative;
}
.rank-aside-img::before {
	content: "";
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.rank01-aside .rank-aside-img::after {
	height: 40px;
	width: 40px;
	content: "";
	background: url("../img/icon_rank01.svgz") no-repeat center center;
	background-size: 100% auto;
	display: inline-block;
	position: absolute;
	top: 4px;
	left: 4px;
}
.rank02-aside .rank-aside-img::after {
	height: 30px;
	width: 30px;
	content: "";
	background: url("../img/icon_rank02.svgz") no-repeat center center;
	background-size: 100% auto;
	display: inline-block;
	position: absolute;
	top: 2px;
	left: 2px;
}
.rank03-aside .rank-aside-img::after {
	height: 30px;
	width: 30px;
	content: "";
	background: url("../img/icon_rank03.svgz") no-repeat center center;
	background-size: 100% auto;
	display: inline-block;
	position: absolute;
	top: 2px;
	left: 2px;
}
.rank-aside-img img {
	width: 100%;
	max-width: 240px;
	height: 100%;
	object-fit: cover;
	object-position: top;
	margin: 0 auto;
	position: absolute;
	top: 0;
	left: 0;
	transition: transform 0.3s;
}
.rank-aside-img img:hover {
	transform: scale(1.06);
}
.rank01-aside h3 {
    width: 100%;
    padding: 6px 2px 6px 2px;
    background: rgba(217,164,0,0.92);
    display: flex;
	align-items: center;
	justify-content: center;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.1em;
	border-top: 1px solid rgba(255,255,255,0.5);
    position: absolute;
    bottom: 0;
    left: 0;
}
.rank02-aside h3 {
    width: 100%;
    padding: 4px 2px 6px 2px;
    background: rgba(141,141,141,0.92);
    display: flex;
	align-items: center;
	justify-content: center;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.1em;
	border-top: 1px solid rgba(255,255,255,0.5);
    position: absolute;
    bottom: 0;
    left: 0;
}
.rank03-aside h3 {
    width: 100%;
    padding: 4px 2px 6px 2px;
    background: rgba(187,107,57,0.92);
    display: flex;
	align-items: center;
	justify-content: center;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.1em;
	border-top: 1px solid rgba(255,255,255,0.5);
    position: absolute;
    bottom: 0;
    left: 0;
}
.ranking-aside li h3 span {
    height: 100%;
	padding: 2px 0 0 0;
    display: inline-block;
    color: #ffffff;
    line-height: 1;
	position: relative;
}
@media screen and (max-width: 1200px) {
	.rank01-aside h3,.rank02-aside h3,.rank03-aside h3 {
		font-size: 14px;
	}
}
/* SCHEDULE-TODAY ASIDE */
.sch-todayh {
	height: 30px;
	width: 100%;
	margin: 0 auto 4px auto;
	background: rgba(69,179,221,0.5);
	text-align: center;
	border-radius: 15px;
	clear: both;
}
.sch-todayh span {
	height: 30px;
	min-width: 75%;
	max-width: 90%;
	padding: 0 24px;
	margin: 0 auto;
	background: rgba(69,179,221,0.3);
	text-align: center;
	display: inline-block;
	font-size: 19px;
	color: #ffffff;
	line-height: 30px;
	font-weight: normal;
	border-radius: 15px;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
.schedule-today {
	width: calc(100% - 4px);
	margin: 0 2px;
	padding: 8px 0;
	display: flex;
	flex-wrap: wrap;
}
.schedule-today .sun {
	color: #db6393;
}
.schedule-today .sta {
	color: #46b1dc;
}
.schedule-today .dotw {
	color: #a1a1a1;
}
.schedule-today dt {
	height: 120px;
	width: 90px;
	margin: 0 0 3px 0;
	padding: 3px 0 3px 3px;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
	font-size: 16px;
	line-height: 1.1;
	border-radius: 8px 0 0 8px;
}
.sch-today-img {
	height: auto;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}
.sch-today-img::before {
	content: "";
	display: block;
	padding-top: 133.33333%;
	padding-top : calc(4/3*100%);
}
.sch-today-img img {
	width: 100%;
	height: 100%;
    margin: 0 auto;
	object-fit: cover;
	object-position: top;
    border-radius: 5px;
	position: absolute;
	top: 0;
	left: 0;
	transition: transform 0.3s;
}
.schedule-today dd {
	height: 120px;
	width: calc(100% - 90px);
	margin: 0 0 3px 0;
	padding: 24px 0 0 0;
	background: rgba(255,255,255,0.95);
	backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
	font-size: 15px;
    line-height: 1.8;
	border: 1px solid #ffffff;
	border-left: none;
	border-radius: 0 4px 4px 0;
}
.sch-today-name {
	color: #2a2a2a;
    font-weight: bold;
    letter-spacing: 0.12em;
}
.sch-today-name span {
	font-size: 12px;
}
.time-left {
    color: #2a2a2a;
	font-size: 14px;
}
.sch-today-wait {
	width: calc(100% - 18px);
	margin: 4px auto 0 auto;
    padding: 3px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	text-align: center;
	color: #ff0000;
	font-size: 13px;
    font-weight: bold;
	letter-spacing: 0.05em;
    line-height: 1;
	text-overflow: ellipsis;
	white-space: nowrap;
    border: 1px solid #ff0000;
	border-radius: 100vh;
	overflow: hidden;
}
.schedule-today-mes {
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 3px;
}
@media screen and (max-width: 600px) {
	.sch-todayh span {
		line-height: 30px;
	}
}
/* CAST TYPE */
.type li {
	height: 20px;
	text-align: center;
	font-size: 11px;
	color: #ffffff;
	line-height: 20px;
    word-wrap: break-word;
	overflow: hidden;
	position: relative;
}
.type li::before {
	content:"";
	margin: auto;
	width: calc(100% - 2px);
	height: calc(100% - 2px);
    border-radius: 3px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
}
.type li span {
    word-wrap: break-word;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.type .type01::before {
	background: #3a3436;
}
.type .type01 span {
	display: block;
}
.type .type02::before {
	background: #000080;
}
.type .type02 span {
	background: linear-gradient(45deg,rgba(255,255,255,0),rgba(255,255,255,0.0),rgba(255,255,255,0.9),rgba(255,255,119,0),rgba(255,255,119,0));
	background-size: 600% 600%;
	animation: type-color02 4s ease infinite;
	display: block;
}
@keyframes type-color02 {
	0%{background-position: 100% 50%}
	50%{background-position: 100% 50%}
	100%{background-position: 0% 50%}
}
.type .type03::before {
	background: #ff0000;
}
.type .type03 span {
	background: linear-gradient(45deg,rgba(255,255,255,0),rgba(255,255,255,0.0),rgba(255,255,255,0.9),rgba(255,255,119,0),rgba(255,255,119,0));
	background-size: 600% 600%;
	animation: type-color03 4s ease infinite;
	display: block;
}
@keyframes type-color03 {
	0%{background-position: 100% 50%}
	50%{background-position: 100% 50%}
	100%{background-position: 0% 50%}
}
.type .type04::before {
	background: #ff5f00;
}
.type .type04 span {
	background: linear-gradient(45deg,rgba(255,255,255,0),rgba(255,255,255,0.0),rgba(255,255,255,0.9),rgba(255,255,119,0),rgba(255,255,119,0));
	background-size: 600% 600%;
	animation: type-color04 4s ease infinite;
	display: block;
}
@keyframes type-color04 {
	0%{background-position: 100% 50%}
	50%{background-position: 100% 50%}
	100%{background-position: 0% 50%}
}
.type .type05::before {
	background: #A11692;
}
.type .type05 span {
	background: linear-gradient(45deg,rgba(255,255,255,0),rgba(255,255,255,0.0),rgba(255,255,255,0.9),rgba(255,255,119,0),rgba(255,255,119,0));
	background-size: 600% 600%;
	animation: type-color05 4s ease infinite;
	display: block;
}
@keyframes type-color05 {
	0%{background-position: 100% 50%}
	50%{background-position: 100% 50%}
	100%{background-position: 0% 50%}
}
.type .type06::before {
	background: #009e73;
}
.type .type06 span::before {
	content: "";
	height: 100%;
	width: 14px;
	background: url(../img/icon_pin.svgz) no-repeat left center;
	background-size: auto 70%;
	display: inline-block;
	vertical-align: middle;
}
.type .type07::before {
	background: #009e73;
}
@media screen and (max-width: 768px) {
    .type li {
        letter-spacing: 0.04em;
    }
}
/* HOME */
.home-wrap {
	width: 100%;
	padding: 0 0 18px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	clear: both;
	position: relative;
}
.home-contents {
	padding: 0 4px 12px 4px;
}
.home-wrap .home-contents:nth-of-type(1) {
	width: calc(55% - 5px);
}
.home-wrap .home-contents:nth-of-type(2) {
	width: calc(45% - 5px);
}
.home-wrap .home-contents:nth-of-type(3) {
	width: calc(40% - 5px);
}
.home-wrap .home-contents:nth-of-type(4) {
	width: calc(60% - 5px);
}
.home-wrap .home-contents:nth-of-type(5) {
	width: calc(50% - 5px);
}
.home-wrap .home-contents:nth-of-type(6) {
	width: calc(50% - 5px);
}
.home-wrap .home-contents:nth-of-type(7) {
	width: calc(50% - 5px);
}
.home-wrap .home-contents:nth-of-type(8) {
	width: calc(50% - 5px);
}
.pgt-home {
	height: 60px;
    margin-left: -5px;
	margin-right: -5px;
	padding-left: 20px;
	padding-right: 5px;
	background: rgba(252,212,212,0.35);
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: left;
    color: #ff0000;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.03em;
	border-bottom: 1px solid rgba(255,0,0,0.08);
	border-radius: 12px 12px 0 0;
}
@media screen and (max-width: 768px) {
	.home-wrap {
		gap: 18px;
	}
	.home-wrap .home-contents {
		width: 100% !important;
	}
}
/* LINKS - HOME- */
.home-links01 {
	width: 100%;
	padding: 72px 0 12px 0;
	display: flex;
	flex-wrap: wrap;
}
.home-links01 li {
	width: 50%;
	max-height: 74px;
	padding: 0 2px 12px 2px;
	overflow: hidden;
}
.home-links01 li img {
	height: auto;
	max-width: 100%;
	margin: 0 auto;
}
.home-links02 {
	width: 100%;
	padding: 12px 2px 12px 2px;
	clear: both;
}
.home-links02 img, .home-links02 table {
	height: auto;
	max-width: 100%;
	margin: 0 auto;
	vertical-align: top;
}
/* VIDEO - HOME- */
.wrap-video-home {
	width: 100%;
	padding: 0 0 8px 0;
}
.wrap-video-home video {
	height: auto;
	max-width: 100%;
	width: 100%;
	background-color: #000000;
}
@media screen and (max-width: 600px) {
	.home-links01 li {
		width: 100%;
		padding: 0 2px 8px 2px;
	}
	.home-links02 {
		padding: 0 2px 8px 2px;
	}
}
/* NEWS -HOME- */
.info {
	height: 438px;
	width: calc(100% - 4px);
	margin: 8px 2px 8px 2px;
	padding: 6px 2px 6px 6px;
	color: #2a2a2a;
	overflow: auto;
}
.info strong,.info strong span {
	font-weight: bold;
}
.info ul {
	padding: 4px 4px 4px 2px;
}
.info li {
	padding-bottom: 48px;
	text-align: left;
}
.info li time {
	padding: 2px 0 2px 2px;
	text-align: left;
	color: #6b6b6b;
	font-size: 14px;
	letter-spacing: 0.02em;
}
.info .btn-more {
	display: none;
}
.nc {
	width: 75px;
	display: inline-block;
	text-align: center;
	font-size: 12px;
	color: #ffffff;
	line-height: 20px;
	font-style: normal;
    text-transform: capitalize;
	border-radius: 2px;
}
.nc01 {
	background-color: #5ebd3c;
}
.nc02 {
	background-color: #4970ff;
}
.nc03 {
	background-color: #32b9fe;
}
.nc04 {
	background-color: #ff4981;
}
.nc05 {
	background-color: #18b9d1;
}
.nc06 {
	background-color: #ff4444;
}
.nc07 {
	background-color: #a13ed9;
}
.nc08 {
	background-color: #ff8f2c;
}
.entry-title {
	padding: 6px 4px 10px 4px;
	text-align: left;
	font-size: 16px;
    font-weight: bold;
	color: #ff0000;
}
.entry-body {
	padding: 0 0 12px 8px;
	text-align: left;
	clear: both;
}
.entry-body a {
	color: #006bd6;
}
.entry-body strong,.entry-body strong span {
	font-weight: bold;
}
.entry-body ul {
    padding: 0.5em 1em 0.5em 1.5em;
    list-style: disc;
    list-style-position: outside;
}
.entry-body ul li {
    padding-bottom: 0.5em;
}
.entry-body ol {
    padding: 0.5em 1em 0.5em 1.5em;
    list-style: decimal;
    list-style-position: outside;
}
.entry-body ol li {
    padding-bottom: 0.5em;
}

/*
.entry-body hr {
	border: 0;
	height: 1px;
	background-image: -webkit-linear-gradient(left, rgba(138,196,218,0), rgba(138,196,218,0.75), rgba(138,196,218,0));
	background-image:    -moz-linear-gradient(left, rgba(138,196,218,0), rgba(138,196,218,0.75), rgba(138,196,218,0));
}
*/
.entry-photo {
	padding-bottom: 24px;
	text-align: center;
	clear: both;
}
.entry-photo img {
	max-width: 240px;
	height: auto;
	margin: 0 auto;
}
.entry-block {
	padding-bottom: 6px;
	line-height: 1.8;
	clear: both;
	overflow: auto;
	outline: none;
}
@media screen and (max-width: 768px) {
	.info {
		height: auto;
		width: 100%;
	}
	.info .btn-more {
		display: block;
	}
	.entry-hidden {
		display: none;
	}
}
/* TWITTER HOME */
.wrap-twitter-mc {

}
.twitter {
	height: 552px;
	width: calc(100% - 4px);
	margin: 0 2px 12px 2px;
	background: rgba(0,0,0,0.92);
	border: 6px solid rgba(0,0,0,0.92);
	border-radius: 6px;
	overflow: auto;
}
@media screen and (max-width: 1200px) {
	.twitter {
		height: 552px;
	}
}
@media screen and (max-width: 600px) {
    .wrap-twitter-mc {
        display: none;
    }
    /*
	.twitter {
		height: 330px;
	}
    */
}
/* THIRD CONTENTS - MAIN- */
.wrap-main-box-container {
	padding: 0 6px 6px 6px;
	background: rgba(255,255,255,0.95);
    border: 1px solid #ffffff;
    border-radius: 12px;
    box-shadow: -1px -1px 4px 1px rgba(255,25,25,0.9);
}
.main-box-header {
	height: 60px;
    margin-left: -5px;
    margin-right: -5px;
    padding-left: 20px;
    padding-right: 10px;
    background: rgba(252, 212, 212, 0.5);
    display: flex;
    align-items: center;
	justify-content:space-between;
    text-align: left;
    border-bottom: 1px solid rgba(255,0,0,0.08);
    border-radius: 12px 12px 0 0;
}
.main-box-header h2 {
    color: #ff0000;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.03em;
}
.main-box-header .btn-more {
	padding: 8px 4px 8px 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 5px;
	color: #444444;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.01em;
    text-transform: capitalize;
	white-space: nowrap;
	border: none;
	position: relative;
	cursor: pointer;
}
.main-box-header .btn-more .arrow-icon {
    width: 14px;
}
.main-box-container00 {
	width: 100%;
	margin: 0 2px 12px 2px;
	padding: 6px;
	background: rgba(255,255,255,0.95);
    border: 1px solid #ffffff;
    border-radius: 12px;
    box-shadow: -1px -1px 4px 1px rgba(255,25,25,0.9);
    clear: both;
}
.main-box-container00 iframe {
	display: block;
	border: none;
}
.main-box-container01 {
	height: 438px;
	width: 100%;
	margin: 8px 2px 8px 2px;
	overflow: auto;
}
.main-box-container01 iframe {
	height: 100%;
	width: 100%;
	display: block;
	border: none;
}
.main-box-container02 {
	height: 450px;
	width: calc(100% - 4px);
	margin: 0 2px 5px 2px;
	overflow: hidden;
}
.main-box-container02 iframe {
	height: 100%;
	width: 100%;
	display: block;
	border: none;
}
@media screen and (max-width: 1200px) {
	.main-box-container01 {
		height: 440px;
	}
}
@media screen and (max-width: 600px) {
	.main-box-container01 {
		height: 330px;
	}
}
/* RANKING HOME */
.wrap-ranking-home {
	overflow: hidden;
}
.wrap-ranking-section {
	width: 100%;
	padding-bottom: 36px;
}
.ranking-block {
	height: 100%;
	margin-top: 8px;
	display: flex;
	justify-content: space-around;
    gap: 0 2px;
}
.ranking-block .swiper-slide {
	height: 446px;
	width: 50%;
    background: #ffffff;
    border: 1px solid #cfcfcf;
	border-radius: 8px;
	overflow: hidden;
}
.ranking-block-img {
	height: 100%;
	width: 100%;
	overflow: hidden;
	position: relative;
}
.ranking-block-img .rank-icon {
	width: 50px;
    height: auto;
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 10;
}
.rank-photo img {
	height: 100%;
	width: auto;
	object-fit: cover;
	object-position: top;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: opacity 2s, transform 0.3s;
}
.rank-photo img:hover {
	transform: scale(1.02) translate(-50%, -50%);
}
.ranking-block-img .rank-name {
	width: 100%;
    padding: 6px 2px 6px 2px;
    display: flex;
    align-items: center;
    justify-content: center;
	color: #ffffff;
    font-size: 16px;
    letter-spacing: 0.08em;
	border-top: 1px solid rgba(255,255,255,0.3);
    position: absolute;
    bottom: 0;
    left: 0;
	z-index: 10;
}
.ranking-block-img .rank1 .rank-name {
    background: rgba(217,164,0,0.75);
}
.ranking-block-img .rank2 .rank-name {
    background: rgba(141,141,141,0.75);
}
.ranking-block-img .rank3 .rank-name {
    background: rgba(187,107,57,0.75);
}
.ranking-block-img .rank4 .rank-name, .ranking-block-img .rank5 .rank-name {
    background: rgba(42,42,42,0.75);
}
/*
.ranking-block h3 div.icon-heavy-home {
    width: 100%;
    background: url("../img/icon_heavy.svgz") no-repeat center bottom;
    background-size: auto 1em;
    display: inline-block;
}
.ranking-block h3 div.icon-middle-home {
    width: 100%;
    background: url("../img/icon_middle.svgz") no-repeat center bottom;
    background-size: auto 1em;
    display: inline-block;
}
*/
@media screen and (max-width: 768px) {
    .ranking-block .swiper-slide {
		height: 400px;
	}
}
/* QR-CODE HOME */
.qr-reserve-line a {
    height: auto;
	width: 180px;
    margin: 18px auto 0 auto;
    display: block;
    position: relative;
}
.qr-reserve-line a::before {
    content: '';
	height: 100%;
	width: 100%;
    background: url("../img/qr_line_logo.svgz") no-repeat center center;
	background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
}
.qr-reserve-line img {
	height: auto;
	width: 180px;
    border-radius: 6px;
}
/* SCHEDULE HOME */
.wrap-home-schedule {
	width: 100%;
	margin-bottom: 24px;
	padding: 0 4px 0 4px;
	background: #ee0000;
	border-radius: 12px;
	box-shadow: 0 0 4px 2px rgba(255,255,255,0.35);
}
.home-schedule-header {
	height: 60px;
	margin-bottom: 12px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255,255,255,0.25);
    border-radius: 12px 12px 0 0;
}
.home-schedule-header img {
	height: 34px;
	margin-right: 12px;
}
.home-schedule-header h2 {
	color: #ffffff;
	font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.03em;
	line-height: 1.2;
}
.home-schedule-header time {
	height: 100%;
	padding: 0 0 0 16px;
	display: flex;
	color: #ffffff;
    font-size: 20px;
    font-weight: bold;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.02em;
	white-space: nowrap;
}
@media screen and (max-width: 768px) {
	.home-schedule-header {
		padding: 0 8px;
	}
	.home-schedule-header img {
		margin-right: 8px;
	}
	.home-schedule-header h2 {
		font-size: 19px;
	}
	.home-schedule-header time {
		font-size: 16px;
	}
}
/* OKINITALK */
.okinitalk img {
	height: auto;
	width: 100%;
	margin: 8px auto 12px auto;
}
.okinitalk-about {
    text-align: right;
}
.okinitalk-about a {
    padding: 5px 8px 3px 50px;
    background: url("../img/icon_okinitalk_about.svgz") no-repeat left 8px center;
	background-size: auto 82%;
    color: #df5b7e;
    font-weight: bold;
    border: 1px solid #df5b7e;
    border-radius: 100vw;
}
/* QR-CODE HOME */
.qr-reserve-line img {
	height: auto;
	width: 180px;
	margin: 18px auto 0 auto;
}
/* VISIT-FILE HOME */
.visit-file img {
	height: auto;
	width: 100%;
	margin: 0 auto;
    border-radius: 4px;
}
/* CREDIT-CARD HOME */
.credit-guide {
	padding-top: 8px;
}
.credit-guide img {
	height: auto;
	width: 100%;
	margin: 0 auto;
    border-radius: 8px;
}
/* YOBOUKAI HOME */
.yoboukai img {
	height: auto;
	width: 180px;
	margin: 18px auto 0 auto;
}
/* GROUP-SITE */
.group-list img {
	height: auto;
	width: calc(100% - 8px);
	margin: 6px auto;
}
@media screen and (max-width: 600px) {
	.group-list img {
		width: calc(100% - 4px);
		margin: 32px auto;
	}
}
/* PAGETITLE */
h2 {
	width: 100%;
	text-align: left;
	font-weight: normal;
	letter-spacing: 0.05em;
	word-spacing: -0.1em;
	position: relative;
}
.pgt {
    padding: 80px 0 24px 24px;
	text-align: left;
    color: #ffffff;
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-transform: capitalize;
}
.pgt .en {
	padding-right: 6px;
	font-size: clamp(42px, 10vw, 110px);
	font-family: 'wf02';
}
.pgt .jp {
	display: inline-block;
	font-size: clamp(16px, 1.9vw, 22px);
}
.pg-catchphrase {
	width: 100%;
	padding: 0 0 48px 24px;
	text-align: left;
	color: #ffffff;
	font-size: clamp(14px, 1.8vw, 19px);
	letter-spacing: 0.06em;
	line-height: 1.6;
}
.pgt-x {
	padding-left: 44px;
	background: rgba(0,0,0,0.92) url("../img/icon_x_white.svgz") no-repeat 14px center;
	background-size: auto 20px;
}
.pgt-frame {
    padding-top: 24px;
    padding-bottom: 0;
}
@media screen and (max-width: 1200px) {
	.pgt {
		padding: 12px 12px 6px 12px;
	}
}
@media screen and (max-width: 768px) {
	h2 {
		font-size: 21px;
	}
    .pgt {
        padding-bottom: 12px;
        font-size: 30px;
        letter-spacing: 0.05em;
    }
	.pg-catchphrase {
		padding: 0 12px 36px 12px;
	}
}
/* CONTENT HEAD */
/*
.ch {
	width: 80%;
	max-width: 640px;
	margin: 0 auto 24px auto;
	padding: 10px 24px;
	background: rgba(157,6,6,0.95);
	display: flex;
	justify-content: center;
	align-items: center;
	color: #ffffff;
	font-size: 26px;
	font-weight: bold;
	border-radius: 100vw;
}
@media screen and (max-width: 768px) {
    .ch {
		padding: 8px 12px;
        font-size: 24px;
	}
}
@media screen and (max-width: 400px) {
    .ch {
        width: 98%;
	}
}
*/
.ch {
	width: 100%;
	padding: 0 8px 24px 8px;
	display: flex;
	gap: 12px;
	color: #ff0000;
	font-size: 32px;
	font-weight: bold;
}
.ch img {
	height: 1.8em;
	width: auto;
}
.section-title {
	padding: 0 8px;
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 30px;
}
.section-title-left {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.section-title-left img {
    height: 56px;
	width: auto;
    margin-right: 16px;
}
.section-title-text{
    display: flex;
    align-items: flex-end;
    gap: 16px;
	text-transform: capitalize;
}
.section-title-text h3 {
	color: #ff0000;
    font-size: 32px;
	font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.03em;
}
.section-title-text span {
    font-size: 16px;
    color: #ff0000;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.section-title-line {
    flex: 1;
    height: 10px;
    border-radius: 100px;
    background:
    repeating-linear-gradient(
        -60deg,
        #ff0000 0,
        #ff0000 3px,
        transparent 3px,
        transparent 6px
    );
    opacity:.8;
}
@media(max-width:768px) {
	.section-title{
		margin-bottom: 20px;
		padding: 0 6px;
		display: block;
	}
	.section-title-left img {
		width: 36px;
		height: 36px;
		margin-right: 10px;
	}
	.section-title-text {
		display: block;
		text-align: left;
	}
	.section-title-text h3 {
		font-size: 26px;
		letter-spacing: 0.02em;
	}
	.section-title-text span {
		display: block;
		font-size: 12px;
		margin-top: 2px;
		margin-bottom: 0;
	}
	.section-title-line {
		display: none;
	}
}
/* NEWFACE */
.wrap-newf {
	overflow: hidden;
}
.newf {
	width: 100%;
}
.newf li {
	height: 334px;
	width: 510px;
	float: left;
}
.nwrap {
	height: 326px;
	width: 510px;
	background: url("../img/bg_newf.png") no-repeat center top;
	position: relative;
}
.newf-day {
	height: 26px;
	width: 186px;
	text-align: center;
	color: #FFF;
	font-size: 16px;
	letter-spacing: 0.05em;
	position: absolute;
	top: 259px;
	left: 8px;
}
.newf li h3 {
	height: 28px;
	width: 305px;
	text-align: center;
	font-size: 18px;
	color: #9c2898;
	font-weight: normal;
	position: absolute;
	top: 16px;
	left: 197px;
}
.newf-img {
	height: 248px;
	width: 186px;
	overflow: hidden;
	position: absolute;
	top: 6px;
	left: 9px;
}
.newf li img {
	margin: 0 auto;
}
.newf-lisize {
	height: 20px;
	width: 305px;
	text-align: center;
	font-size: 13px;
	letter-spacing: 0.05em;
	position: absolute;
	top: 38px;
	left: 197px;
}
.ntype {
	height: 40px;
	width: 190px;
	position: absolute;
	top: 284px;
	left: 7px;
}
.ntype li {
	width: 95px;
	float: left;
}
/* CAST */
.wrap-cast {
	width: 100%;
	padding: 0 0 8px 0;
	overflow: hidden;
}
.cast {
	width: 100%;
	display: grid;
    grid-template-columns: repeat(auto-fill, minmax(256px, 1fr));
    gap: 10px 8px;
}
.cast > li {
	width: 100%;
}
.cwrap {
	width: 100%;
	margin: 0 auto;
    padding: 4px;
	background: rgba(255,255,255,0.95);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	box-shadow: -1px -1px 4px 1px rgba(255,25,25,0.9);
	border: 1px solid #ffffff;
	border-radius: 8px;
	position: relative;
}
.cast-img {
	height: auto;
	width: 100%;
	margin: 0 auto;
    border-radius: 4px;
	overflow: hidden;
	position: relative;
}
.cast-img::before {
	content: "";
	display: block;
	padding-top: 133.33333%;
	padding-top : calc(4/3*100%);
}
.cast-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	margin: 0 auto;
    border-radius: 4px;
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity 2s, transform 0.3s;
}
.cast-img img:hover {
	transform: scale(1.06);
}
.cast li h3 {
	width: 100%;
    padding: 12px 0 4px 0;
	text-align: center;
    color: #2a2a2a;
	font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.12em;
	overflow: hidden;
}
.cast li h3 .age {
	font-size: 13px;
}
.cast li .ruby {
    margin-top: -6px;
	color: #2a2a2a;
	font-size: 12px;
}
.icon-heavy {
    width: 1.1em;
	margin-left: 2px;
    background: url("../img/icon_heavy.svgz") no-repeat center bottom;
    background-size: auto 1em;
    display: inline-block;
    white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
}
.icon-middle {
    width: 1.1em;
    background: url("../img/icon_middle.svgz") no-repeat center bottom;
    background-size: auto 1em;
    display: inline-block;
    white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
}
.cast-lisize {
	height: 24px;
	width: 100%;
	text-align: center;
	font-size: 11px;
	color: #555555;
	letter-spacing: 0.05em;
}
.ctype {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
    gap: 1px;
}
.ctype li {
	width: calc(50% - 1px);
}
@media screen and (max-width: 768px) {
    .cast {
        grid-template-columns: repeat(2, 1fr);
		gap: 8px 6px;
    }
}
@media screen and (max-width: 600px) {
	.cast-lisize {
		font-size: 10px;
	}
	.ctype li {
		font-size: 11px;
		letter-spacing: 0.005em;
	}
}
/* PROFILE */
.wrap-pro {
    width: 100%;
	margin-bottom: 18px;
	padding: 36px 2% 36px 2%;
    background: rgba(255,255,255,0.95);
    color: #2a2a2a;
    border: 1px solid #ffffff;
    border-radius: 12px;
    box-shadow: -1px -1px 4px 1px rgba(255,25,25,0.9);
}
.pro-wrap {
	width: 100%;
	margin-bottom: 18px;
    display: flex;
    justify-content: space-between;
}
.pro-wrap2 {
	width: 100%;
	padding: 2px 0 6px 0;
	display: flow-root;
}
.wrap-pro-text {
    width: calc(100% - 480px);
    padding: 0 10px 0 30px;
}
.pro-h {
	min-height: 90px;
	width: 100%;
	padding-bottom: 8px;
}
.pro-h h3 {
	width: 100%;
	padding: 18px 0 12px 0;
	text-align: center;
    color: #2a2a2a;
    font-size: 28px;
    line-height: 1.2;
}
.pro-h h3 .age {
	font-size: 14px;
}
.pro-h .ruby {
	width: 100%;
    margin-top: -6px;
    color: #2a2a2a;
	font-size: 15px;
}
.wrap-pro-img {
	width: 480px;
    padding-bottom: 12px;
}
.pro-size {
	width: 100%;
    padding-bottom: 8px;
	text-align: center;
	font-size: 11px;
	color: #555555;
	letter-spacing: 0.1em;
}
.ptype {
	min-height: 38px;
	width: 100%;
    padding-bottom: 12px;
	display: flex;
    flex-wrap: wrap;
}
.ptype li {
	width: calc(100% / 4);
}
.pro-details {
    padding-bottom: 24px;
    text-align:  left;
}
.pro-details dt {
	width: 100%;
	padding: 5px 18px;
    background: rgba(252,212,212,0.5);
	color: #ff0000;
    font-weight: bold;
    border-radius: 4px;
    position: relative;
}
.pro-details dd {
	width: 100%;
	padding: 8px 24px 14px 24px;
	text-align: left;
}
.pro-com-title {
	margin-bottom: 12px;
	padding: 0 4px 0 4px;
	display: flex;
	align-items: center;
	gap: 12px;
	color: #ff0000;
	font-size: 17px;
	font-weight: bold;
	text-transform: capitalize;
}
.pro-com-title img {
	height: 1.2em;
	width: auto;
}
.pro-com {
	margin: 12px auto;
    padding: 20px 22px;
	text-align: left;
	font-size: 14px;
	color: #2a2a2a;
	line-height: 1.8;
    border: 1px solid rgba(255,0,0,0.08);
	border-radius: 8px;
}
.pro-com strong,.pro-com strong span {
	font-weight: bold;
}
.pro-com ul {
    padding: 0.5em 1em 0.5em 1.5em;
    list-style: disc;
    list-style-position: outside;
}
.pro-com ul li {
    padding-bottom: 0.5em;
}
.pro-com ol {
    padding: 0.5em 1em 0.5em 1.5em;
    list-style: decimal;
    list-style-position: outside;
}
.pro-com ol li {
    padding-bottom: 0.5em;
}
.pro-btn-review {
	margin: 36px auto 18px auto;
}
.pro-btn-review a {
	width: calc(100% - 24px);
	max-width: 640px;
	margin: 0 auto;
	padding: 8px;
	background: #e40000;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	color: #ffffff;
    letter-spacing: 0.02em;
	border-radius: 6px;
}
.pro-btn-review a img {
	height: 1.2em;
    width: auto;
}
.wrap-pro-opt {
	width: 100%;
	padding: 2px;
	float: right;
}
.pro-opt {
	width: 100%;
	padding-bottom: 18px;
}
.pro-opt dt {
	width: 100%;
	margin: 0 0 8px 0;
	padding: 4px 0 0 8px;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
	font-size: 20px;
	color: #ff0000;
	font-weight: bold;
	white-space: nowrap;
    text-transform: capitalize;
	text-overflow: ellipsis;
	overflow: hidden;
}
.pro-opt dd ul {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(306px, 1fr));
	gap: 8px;
}
.pro-opt dd li {
	width: 100%;
	padding: 6px 5px;
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ff0000;
	font-size: 14px;
	letter-spacing: 0.03em;
	line-height: 1.4;
	text-transform: capitalize;
	border: 1px solid rgba(255,0,0,0.5);
	border-radius: 3px;
}
.pro-side-h {
	height: 30px;
	width: 100%;
	margin: 0 auto 4px auto;
	background: rgba(69,179,221,0.5);
	text-align: center;
	border-radius: 15px;
	clear: both;
}
.pro-side-h span {
	height: 30px;
	min-width: 75%;
	max-width: 90%;
	padding: 0 24px;
	margin: 0 auto;
	background: rgba(69,179,221,0.3);
	text-align: center;
	display: inline-block;
	font-size: 19px;
	color: #ffffff;
	line-height: 30px;
	font-weight: normal;
	border-radius: 15px;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
.pro-sch {
	width: 100%;
	padding: 8px 6px 10px 6px;
    font-weight: bold;
	display: flex;
	flex-wrap: wrap;
}
.pro-wait {
	width: calc(100% - 12px);
	margin: 12px auto 8px auto;
	padding: 3px 4px 2px 4px;
    display: flex;
    justify-content: center;
    align-items: center;
	text-align: center;
	color: #ff0000;
	font-size: 13px;
	letter-spacing: 0.05em;
    border: 1px solid #ff0000;
	text-overflow: ellipsis;
	white-space: nowrap;
	border-radius: 100vh;
	overflow: hidden;
}
.pro-sch .sun {
	color: #ff0000;
}
.pro-sch .sta {
	color: #306ae7;
}
.pro-sch .dotw {
	color: #2a2a2a;
}
.pro-sch dt {
	height: 48px;
	width: 108px;
	margin: 0 0 3px 0;
    padding-left: 9px;
    display: flex;
    align-items: center;
	font-size: 14px;
	letter-spacing: 0.02em;
	border-bottom: 1px solid rgba(255,0,0,0.08);
}
/*
.pro-sch dt:last-of-type,
.pro-sch dd:last-of-type {
    border-bottom: none;
}
*/
.pro-sch dt time {
    font-weight: inherit;
}
.pro-sch dt span {
	padding-left: 3px;
	font-size: 13px;
}
.pro-sch dd {
	height: 48px;
	width: calc(100% - 108px);
	margin: 0 0 3px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	font-size: 15px;
    line-height: 1.2;
	border-bottom: 1px solid rgba(255,0,0,0.08);
}
.pro-sch dd span {
	font-size: 13px;
    letter-spacing: 0.01em;
}
.schedule-alert {
	width: calc(100% - 4px);
	margin: 0 auto 2px auto;
	padding: 18px;
	background: rgba(255,255,255,0.92);
	border: 1px solid rgba(255,0,0,0.08);
	border-radius: 8px;
}
.schedule-alert h3 {
	margin-bottom: 18px;
	display: flex;
    align-items: center;
	justify-content: center;
	color: #ff0000;
    font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.schedule-alert h3 .bell {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 6px;
    background: url("../img/icon_bell.svgz") no-repeat;
    background-size: contain;
    vertical-align: middle;
}
.schedule-alert .exp {
    margin-bottom: 14px;
	font-size: 14px;
    line-height: 1.5;
	letter-spacing: 0.03em;
}
.schedule-alert-email {
    width: 100%;
	margin-bottom: 14px;
    padding: 12px 14px;
    font-size: 14px;
	border-radius: 2px;
    transition: border-color 0.25s ease;
}
/*
.schedule-alert-email:focus {
    border-color: #4a90e2;
    outline: none;
}
*/
.btns-schedule-alert {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}
.btns-schedule-alert button {
    flex: 1;
    padding: 12px 0;
    font-size: 15px;
	font-weight: bold;
    border: none;
	border-radius: 8px;
    cursor: pointer;
    transition: opacity .2s;
}
#btn-subscribe {
	background: #e40000;
    color: #ffffff;
}
#btn-unsubscribe {
    background: rgba(0,0,0,0.92);
    color: #bbbbbb;
}
.btns-schedule-alert button:hover {
    opacity: 0.85;
}
.schedule-alert-text {
    font-size: 12px;
    color: #555555;
    margin-bottom: 10px;
}
.result-success-schedule,
.result-error-schedule {
	margin-top: 8px;
	padding: 10px 12px;
	font-size: 13px;
	border-radius: 4px;
}
.result-success-schedule {
    background: #e8f7e8;
    color: #2d7a2d;
}
.result-error-schedule {
    background: #fdeaea;
    color: #b33a3a;
}
.wrap-pro-third {
	width: 50%;
	padding: 2px;
	float: left;
}
.pro-externallinks {
	width: 100%;
	margin: 10px 0 10px 0;
	display: flex;
	flex-wrap: wrap;
}
.pro-externallinks li {
	height: 54px;
	width: 50%;
}
.pro-externallinks li a {
	height: 42px;
	width: calc(100% - 20px);
	margin: 0 auto;
	background-color: #e40000;
    background-repeat: no-repeat;
    background-position: left 1px center;
    background-size: auto 100%;
	display: flex;
    align-items: center;
    justify-content: center;
	font-size: 17px;
	color: #ffffff;
	font-weight: bold;
	border-radius: 8px;
	text-indent: 18px;
	transition: all .3s;
    position: relative;
}
.pro-externallinks li a:hover {
    color: #ffffff;
}
.external-movie a {
	background: url("../img/icon_pr_btn_movie.svgz");
}
.external-pd a {
	background: url("../img/icon_pr_btn_pd.svgz");
}
.external-x a {
	background: url("../img/icon_pr_btn_x.svgz");
}
.external-bluesky a {
	background: url("../img/icon_pr_btn_bluesky.svgz");
}
.external-instagram a {
	background: url("../img/icon_pr_btn_instagram.svgz");
}
.external-blog a {
	background: url("../img/icon_pr_btn_blog.svgz");
}
.external-tiktok a {
	background: url("../img/icon_pr_btn_tiktok.svgz");
}
.external-line a {
	background: url("../img/icon_pr_btn_line_pr.svgz");
}
.external-myfans a {
	background: url("../img/icon_pr_btn_myfans.svgz");
}
.external-candfans a {
	background: url("../img/icon_pr_btn_candfans.svgz");
}
.external-fansly a {
	background: url("../img/icon_pr_btn_fansly.svgz");
}
.external-onlyfans a {
	background: url("../img/icon_pr_btn_onlyfans.svgz");
}
.external-fc2 a {
	background: url("../img/icon_pr_btn_fc2.svgz");
}
.prh {
	width: 100%;
	margin: 0 0 8px 0;
	padding: 4px 0 0 8px;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
	font-size: 20px;
	color: #ff0000;
	font-weight: bold;
}
.wrap-prvideo {
	width: 100%;
	padding: 0 0 8px 0;
}
.wrap-prvideo video {
	height: auto;
	max-width: 100%;
	background-color: #000000;
}
@media screen and (max-width: 1200px) {
    .pro-wrap {
        flex-direction: column;
        justify-content: center;
    }
    .wrap-pro-text {
        width: 100%;
        padding: 24px 10px;
        position: relative;
    }
	.pro-h {
		height: auto;
		width: 100%;
		float: none;
	}
	.pro-h h3 {
		padding-top: 8px;
	}
	.wrap-pro-img {
		width: 100%;
		float: none;
	}
	.pro-details {
		height: auto;
		width: 100%;
		margin-top: 18px;
		float: none;
	}
	.pro-com {
		height: auto;
		width: 100%;
		float: none;
	}
	.pro-btn-review {
		margin-bottom: 24px;
	}
	.wrap-pro-opt {
		width: 100%;
		float: none;
	}
	.aside_schedule_alert {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
	}
	.aside_schedule_alert section {
		width: calc(50% - 4px);
	}
	.aside_schedule_alert h2 {
		width: 100%;
	}
	.schedule-alert {
		width: calc(50% - 4px);
	}
	.wrap-pro-third {
		width: 100%;
		float: none;
	}
	.pro-side-h {
		display: none;
	}
}
@media screen and (max-width: 768px) {
    .pro-h h3 {
		font-size: 24px;
	}
	.wrap-pro-text {
        padding: 24px 4px;
    }
	.pro-externallinks li a {
		height: 40px;
		width: calc(100% - 10px);
		font-size: 16px;
		line-height: 40px;
	}
	.prh {
		padding: 2px 0 0 12px;
		font-size: 15px;
	}
	.pro-opt dt {
		padding: 2px 0 0 12px;
	}
    .pro-opt dd ul {
		grid-template-columns: repeat(2, 1fr);
	}
    .pro-com {
		padding: 18px 14px 18px 20px;
	}
	.pro-sch {
		width: auto;
	}
	.aside_schedule_alert {
		width: auto;
		display: block;
	}
	.aside_schedule_alert section {
		width: calc(100% - 4px);
	}
	.schedule-alert {
		width: auto;
	}
}
/* SYSTEM */
.sys-exp {
	width: 100%;
	margin-bottom: 36px;
	padding: 24px;
	background: rgba(252,212,212,0.5);
	text-align: left;
	color: #2a2a2a;
    line-height: 1.8;
	border-radius: 8px;
	clear: both;
}
.sys-play {
	padding: 0 0 48px 0;
}
.sys-play ul {
	width: 100%;
	padding-bottom: 36px;
	font-size: 17px;
	display: grid;
    grid-template-columns: repeat(auto-fill, minmax(345px, 1fr));
    gap: 18px;
    line-height: 1.4em;
}
.sys-play li {
	width: 100%;
	padding: 12px 8px;
	background: #ffffff;
	display: block;
	text-align: center;
	color: #2a2a2a;
    letter-spacing: 0.03em;
	border: 1px solid rgba(255,0,0,0.5);
	border-radius: 8px;
}
#tab2 .sys-play li {
	width: 100%;
	padding: 12px 8px;
	background: #ffffff;
	display: block;
	text-align: center;
	color: #2a2a2a;
    letter-spacing: 0.03em;
	border: 1px solid rgba(255,0,0,0.5);
	border-radius: 8px;
}
.sys-cou {
	padding-bottom: 36px;
	display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 18px;
}
.sys-cou dl {
    border: 1px solid rgba(255,0,0,0.5);
    background: #ffffff;
	font-size: 18px;
	letter-spacing: 0.03em;
	border-radius: 8px;
	overflow: hidden;
}
.sys-cou dt {
    background: #ff0000;
    color: #ffffff;
    text-align: center;
    padding: 14px 10px;
    line-height: 1.3;
}
.sys-cou dd {
    padding: 24px 10px;
    text-align: center;
}
.sys-card {
	padding: 0 0 48px 0;
	overflow: hidden;
}
.sppay-list {
	margin: 0 12px 12px auto;
	padding: 5px 8px;
	background: #ffffff;
	display: inline-flex;
	float: right;
	justify-content: flex-end;
	border-radius: 3px;
}
.sppay-list li {
	height: 32px;
	width: 86px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 85% auto;
	display: block;
	border-right: 1px solid #dddddd;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.sppay-list li:last-child {
	border-right: none;
}
.sppay01 {
	background-image: url("../img/icon_paypay.svgz");
}
.sppay02 {

}
.sppay03 {
	background-image: url("../img/icon_alipay.svgz");
}
.sppay04 {
	background-image: url(../img/icon_paypal.svgz);
}
.sc-list {
	height: 64px;
	width: 100%;
	display: flex;
	justify-content: flex-end;
}
.sc-list li {
	height: 48px;
	width: 56px;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 48px auto;
	display: block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.sc01 {
	background-image: url("../img/icon_credit_visa.svgz");
}
.sc02 {
	background-image: url("../img/icon_credit_jcb.svgz");
}
.sc03 {
	background-image: url("../img/icon_credit_master.svgz");
}
.sc04 {
	background-image: url("../img/icon_credit_diners.svgz");
}
.sc05 {
	background-image: url("../img/icon_credit_amex.svgz");
}
.payment {
	height: 60px;
	width: 100%;
	clear: both;
}
.payment a {
	height: 40px;
	margin-right: 22px;
	padding: 0 0 0 8px;
	background: #f29e3b;
	float: right;
	color: #ffffff;
	line-height: 40px;
	font-size: 14px;
	text-shadow: #d97601 0 0 1px;
	border-radius: 4px 0 0 4px;
	position: relative;
	z-index: 1;
	transition: background .4s;
	display: flex;
	align-items: center;
}
.payment a:hover {
	background: #1abcd4;
	text-shadow: #00a2ba 0 0 1px;
}
.payment a::after {
	height: 32px;
	width: 32px;
	margin-top: -16px;
	background: #f29e3b;
	border-radius: 6px;
	content: "";
	position: absolute;
	right: -15px;
	top: 50%;
	z-index: -1;
	transform: rotate(45deg);
	transition: background .4s;
}
.payment a:hover::after {
	background: #1abcd4;
}
.payment a span {
	height: 32px;
	width: 32px;
	margin: 0 2px;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100% auto;
	display: inline-block;
	white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
}
.scp01 {
	background-image: url("../img/icon_credit_visa.svgz");
}
.scp02 {
	background-image: url("../img/icon_credit_jcb.svgz");
}
.scp03 {
	background-image: url("../img/icon_credit_master.svgz");
}
.scp04 {
	background-image: url("../img/icon_credit_diners.svgz");
}
.scp05 {
	background-image: url("../img/icon_credit_amex.svgz");
}
.guide-payment a {
	margin-bottom: 24px;
	padding: 12px 24px;
    background: #e40000;
	display: flex;
    align-items: center;
    justify-content: center;
    float: right;
	color: #ffffff;
	font-size: 16px;
	border-radius: 8px;
	text-transform: capitalize;
	transition: background .3s;
}
/*
.guide-payment a:hover,.guide-payment a:focus,.guide-payment a:active {
	background: rgba(0,0,0,0.92);
}
*/
.sys-opt {
	padding-bottom: 36px;
	display: grid;
    grid-template-columns: repeat(auto-fill, minmax(345px, 1fr));
    gap: 18px;
}
.sys-opt dl {
    border: 1px solid rgba(255,0,0,0.5);
    background: #ffffff;
	font-size: 18px;
	letter-spacing: 0.03em;
	border-radius: 8px;
	overflow: hidden;
}
.sys-opt dt {
    background: #ff0000;
    color: #ffffff;
    text-align: center;
    padding: 14px 10px;
    line-height: 1.3;
}
.sys-opt dd {
    padding: 24px 10px;
    text-align: center;
}
.sys-tra {
	padding-bottom: 36px;
	display: flex;
    flex-direction: column;
    gap: 18px;
}
.sys-tra dl {
	width: 100%;
    color: #2a2a2a;
	font-size: 17px;
}
.sys-tra dt {
	width: 60%;
	margin: 0 0 0 2px;
    padding: 12px 8px;
	background: #ff0000;
	text-align: center;
	color: #ffffff;
	line-height: 1.4;
	border-radius: 8px 8px 0 0;
	clear: both;
}
#tab2 .sys-tra dt {
	width: 60%;
	margin: 0 0 0 2px;
    padding: 12px 8px;
	background: #ff0000;
	text-align: center;
	color: #ffffff;
	line-height: 1.4;
	border-radius: 8px 8px 0 0;
	clear: both;
}
.sys-tra dd {
	margin-left: 2px;
	padding: 18px;
	background: #ffffff;
	text-align: left;
	color: #2a2a2a;
	line-height: 1.7;
	border: 1px solid rgba(255,0,0,0.5);
	border-radius: 0 8px 8px 8px;
}
#tab2 .sys-tra dd {
	margin-left: 2px;
	padding: 18px;
	background: #ffffff;
	text-align: left;
	color: #2a2a2a;
	line-height: 1.7;
	border: 1px solid rgba(255,0,0,0.5);
	border-radius: 0 8px 8px 8px;
}
.sys-rules {
	width: 100%;
	margin-bottom: 28px;
	padding: 24px;
	background: #ffffff;
	text-align: left;
    line-height: 1.8;
	border: 1px solid rgba(255,0,0,0.5);
	border-radius: 8px;
}
.payment-exp {
	width: 100%;
	margin-bottom: 72px;
	padding: 24px;
	background: #ffffff;
	text-align: left;
    line-height: 1.8;
	border: 1px solid rgba(255,0,0,0.5);
	border-radius: 8px;
}
.payment-exp strong, .payment-exp strong span {
	font-weight: bold;
}
.payment-exp ul {
    padding: 0.5em 1em 0.5em 1.5em;
    list-style: disc;
    list-style-position: outside;
}
.payment-exp ul li {
    padding-bottom: 0.5em;
}
.payment-exp ol {
    padding: 0.5em 1em 0.5em 1.5em;
    list-style: decimal;
    list-style-position: outside;
}
.payment-exp ol li {
    padding-bottom: 0.5em;
}
@media screen and (max-width: 1200px) {
	.sys-play ul {
		font-size: 16px;
	}
	.sys-cou dl {
		font-size: 16px;
	}
	.sys-opt dl {
		font-size: 16px;
	}
	.sys-tra dl {
		font-size: 16px;
	}
}
@media screen and (max-width: 768px) {
	.sys-play ul {
		display: flex;
		flex-direction: column;
		gap: 12px;
		font-size: 15px;		
	}
	.sys-cou {
		gap: 12px;
	}
	.sys-cou dl {
		font-size: 15px;
	}
	.sys-cou dt {
		padding: 12px 8px;
	}
	.sys-cou dd {
		padding: 20px 8px;
	}
	.sys-opt {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
		gap: 12px;
	}
	.sys-opt dl {
		font-size: 15px;
	}
	.sys-opt dt {
		padding: 12px 8px;
	}
	.sys-opt dd {
		padding: 20px 8px;
	}
	.sys-tra dl {
		font-size: 15px;
	}
	.sys-tra dt {
		width: 80%;
	}
	.payment-exp {
		padding: 16px;
	}
	.sys-exp {
		width: 100%;
		margin: 0 0 20px 0;
		padding: 12px 10px;
		font-size: 15px;
        letter-spacing: 0.03em;
		line-height: 1.5;
	}
}
@media screen and (max-width: 600px) {
	.sys-cou {
		display: block;
	}
	.sys-cou dl {
		margin-bottom: 12px;
	}
	.sys-opt {
		display: block;
	}
	.sys-opt dl {
		margin-bottom: 12px;
	}
	/*
    .sys-play {
        padding-bottom: 18px;
    }
	.sys-play ul {
		font-size: 13px;
		letter-spacing: 0.005em;		
	}
	.sys-play li {
		width: 100%;
		padding: 0 1px;
	}
	.sys-cou {
		font-size: 13px;
		letter-spacing: 0.005em;
	}
    .sys-opt {
        padding-bottom: 18px;
    }
	.sys-opt ul {
		padding: 0 4px 8px 4px;
		font-size: 13px;
		letter-spacing: 0.005em;
	}
	.sc-list ul {
		height: 58px;
	}
	.sc-list li {
		width: 56px;
	}
	.sys-tra {
		padding-bottom: 8px;
	}
	.sys-tra dl {
		font-size: 13px;
		letter-spacing: 0.005em;
	}
	.sys-tra dt {
		width: 60%;
	}
	#tab2 .sys-tra dt {
		width: 60%;
	}
	.sys-tra dd {
		margin-bottom: 6px;
		padding: 8px;
		font-size: 13px;
		letter-spacing: 0.06em;
	}
	#tab2 .sys-tra dd {
		margin-bottom: 6px;
		padding: 8px;
		font-size: 13px;
		letter-spacing: 0.06em;
	}
	.sys-rules {
		width: 98%;
		margin: 0 auto 8px auto;
		padding: 12px 10px;
		font-size: 13px;
		letter-spacing: 0.02em;
		line-height: 1.5;
	}
    .sys-card {
        padding: 0 0 18px 0;
    }
	.payment {
		height: 54px;
	}
	.payment a {
		padding: 0 0 0 6px;
		font-size: 15px;
		letter-spacing: 0.005em;
	}
	.payment a span {
		height: 28px;
		width: 28px;
		margin: 0 1px;
	}
	.scp01 {
		background-position: 0 0;
	}
	.scp02 {
		background-position: 0 -28px;
	}
	.scp03 {
		background-position: 0 -56px;
	}
	.scp04 {
		background-position: 0 -84px;
	}
	.scp05 {
		background-position: 0 -112px;
	}
	*/
}
/* TAB MENU 01 */
.tabmenu01 {
	height: 58px;
	width: calc(100% - 40px);
	margin: 0 auto;
	display: flex;
	gap: 6px;
}
.tabmenu01 li {
	height: 58px;
	width: 50%;
}
.tabmenu01 li a {
	height: 58px;
    width: 100%;
	background: rgba(221,221,221,0.95);
	display: block;
	text-align: center;
	color: #777777;
	font-size: 19px;
	font-weight: bold;
    line-height: 58px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	border-radius: 10px 10px 0 0;
    transition: color 0.3s;
}
.tabmenu01 li a:hover {
	color: #2a2a2a;
}
.tab-content {
	width: 100%;
    padding: 48px 2% 12px 2%;
    background: rgba(255,255,255,0.95);
    color: #2a2a2a;
    border: 1px solid rgba(255,255,255,0.95);
    border-radius: 12px;
}
.tab-contents {
    border-radius: 0 0 12px 12px;
}
.sbox {
	clear: both;
	overflow: hidden;
}
.tabbox {
	display: none;
	clear: both;
    position: relative;
}
.tabmenu01 li.active a {
	background: #e40000;
	color: #ffffff;
    border: 2px solid #ffffff;
    border-bottom: none;
	box-shadow: 0 1px 0 0 rgba(255,255,255,0.2) inset;
}
@media screen and (max-width: 768px) {
	.tabmenu01 {
		width: calc(100% - 20px);
	}
	.tabmenu01 li a {
		font-size: 16px;
		letter-spacing: 0.005em;
	}
}
/* TAB MENU 02 */
.tabmenu02 {
	height: 48px;
	width: 100%;
	margin-bottom: 32px;
	border-bottom: 6px solid rgba(0,0,0,0.92);
	display: flex;
}
.tabmenu02 li {
	height: 42px;
	width: 50%;
}
.tabmenu02 li a {
	height: 42px;
    width: 100%;
	background: url("../img/bg_tab.svgz") repeat center top;
    background-size: 2px;
	display: block;
	text-align: center;
	color: #ffffff;
    font-weight: bold;
	font-size: 19px;
    line-height: 42px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-left: 2px solid #ff0000;
    border-right: 2px solid #ff0000;
    border-bottom: 1px solid #ff0000;
	border-radius: 10px 10px 0 0;
}
.tabmenu02 li.active a {
	background: rgba(0,0,0,0.92);
	color: #ffffff;
    font-weight: bold;
    border: 2px solid #ffffff;
    border-bottom: none;
	box-shadow: 0 1px 0 0 rgba(255,255,255,0.2) inset;
}
@media screen and (max-width: 600px) {
	.tabmenu02 li a {
		font-size: 16px;
		letter-spacing: 0.005em;
	}
}
/* TAB MENU 01 */
.tabmenu03 {
	height: 58px;
	width: calc(100% - 40px);
	margin: 0 auto;
	display: flex;
	gap: 6px;
}
.tabmenu03 li {
	height: 58px;
	width: 50%;
}
.tabmenu03 li a {
	height: 58px;
    width: 100%;
	background: rgba(221,221,221,0.95);
	display: block;
	text-align: center;
	color: #777777;
	font-size: 19px;
	font-weight: bold;
    line-height: 58px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	border-radius: 10px 10px 0 0;
    transition: color 0.3s;
}
.tabmenu03 li a:hover {
	color: #2a2a2a;
}
.tabmenu03 li.active a {
	background: #e40000;
	color: #ffffff;
    border: 2px solid #ffffff;
    border-bottom: none;
	box-shadow: 0 1px 0 0 rgba(255,255,255,0.2) inset;
}
@media screen and (max-width: 768px) {
	.tabmenu03 {
		width: calc(100% - 20px);
	}
	.tabmenu03 li a {
		font-size: 16px;
		letter-spacing: 0.005em;
	}
}
/* SCHEDULE */
.wrap-sch {
	width: 100%;
	padding: 0 0 36px 0;
	clear: both;
}
.md {
	width: 100%;
	padding: 0 2px 20px 2px;
	display: flex;
	justify-content: space-around;
	align-items: flex-end;
}
.wrap-mdh {
	width: 240px;
	padding: 0 18px;
}
.mdh {
	width: 100%;
	max-width: 240px;
	margin: 0 auto 18px auto;
	padding: 0 20px 0 24px;
	background: #ffffff;
	display: inline-block;
	font-size: 21px;
	color: #2a2a2a;
	border-radius: 100vh;
	line-height: normal;
	white-space: nowrap
}
.mdh time span {
	font-size: 17px;
}
/* - SCHEDULE-NAV - */
.schedule-nav {
	width: calc(100% - 240px);
	padding: 8px 10px;
	background: rgba(15,15,15,0.4);
	backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.06);
    box-shadow: 0 1px 0 rgba(255,255,255,0.04);
    display: flex;
    align-items: center;
    gap: 10px;
	border-radius: 12px;
}
.schedule-wrapper {
    flex: 1;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.schedule-list{
	width: max-content;
	padding-right: 1px;
    display: flex;
    gap: 10px;
}
.day-btn {
	height: 74px;
	width: 100px;
	background: #ffffff;
	display: flex;
	color: #2a2a2a;
	font-family: 'wf02';
    text-decoration: none;
    border-radius: 10px;
    user-select: none;
}
.day-btn.sun .week {
	color: #ff0000;
}
.day-btn.sta .week {
	color: #306ae7;
}
.day-btn time {
	height: 100%;
	display: flex;
    flex: 0 0 100px;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}
.day-btn.active,.day-btn.sun.active .week,.day-btn.sta.active .week{
    background: #ff0000;
	color: #ffffff;
}
.date{
    font-size: 32px;
	font-family: 'wf02';
    line-height: 1;
}
.week{
	padding-top: 4px;
    font-size: 18px;
    transform: scale(0.85, 1);
    letter-spacing: 0.15em;
	line-height: 1;
}
.schedule-arrow {
    width: 48px;
    height: 48px;
	background: #ffffff;
	flex-shrink: 0;
    color: #2a2a2a;
	font-weight: bold;
	border: none;
    border-radius: 100vw;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: 0.15s;
}
.schedule-arrow:hover:not(.disabled){
    transform: scale(1.05);
}
.schedule-arrow.ready{
    visibility: visible;
}
.schedule-arrow.disabled{
    opacity:.25;
    pointer-events:none;
    cursor:default;
}
.schedule-arrow.hide{
    display:none;
}
.wrap-cast-marquee {
    width: 100%;
    padding: 0.8em 6px 6px 6px;
    background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.85) 100%);
    display: flex;
    align-items: center;
    color: #ffffff;
    text-shadow: 0 0 8px #000000;
    position: absolute;
    bottom: 0;
    z-index: 5;
}
.cast-marquee {
    width: 100%;
    white-space: nowrap;
}
.cast-marquee.scroll {
    animation-name: marquee;
    animation-duration: 10s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
@keyframes marquee {
    0% { transform: translateX(100%); }
    100% { transform: translateX(-220%); }
}
.cast-time {
	width: 100%;
	margin-top: 14px;
	padding: 0 2px 4px 2px;
	text-align: center;
	color: #2a2a2a;
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 0.05em;
	overflow: hidden;
}
.cast-wait {
	width: calc(100% - 18px);
	margin: 4px auto 0 auto;
	padding: 4px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	text-align: center;
	color: #ff0000;
	font-size: 14px;
	letter-spacing: 0.05em;
    line-height: 1;
	text-overflow: ellipsis;
	white-space: nowrap;
    border: 1px solid #ff0000;
	border-radius: 100vh;
	overflow: hidden;
}
@media screen and (max-width: 1200px) {
	.wrap-mdh {
		width: 100%;
	}
	.md {
		padding-bottom: 20px;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		justify-content: center;
		align-items: flex-end;
		gap: 40px;
	}
	.md p {
		width: 100%;
		padding-bottom: 24px;
	}
	.btn-week {
		justify-content: center;
	}
	.schedule-nav{
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	.btn-week li {
		width: 74px;
	}
	.cast-time {
		height: 24px;
		line-height: 28px;
	}
	.cast-wait {
		font-size: 13px;
	}
}
 /* EVENT */
.ewrap {
	width: 100%;
	margin-bottom: 48px;
    padding: 24px 2% 24px 2%;
    background: rgba(255,255,255,0.95);
	display: flex;
	gap: 36px;
    color: #2a2a2a;
    border: 1px solid #ffffff;
    border-radius: 12px;
    box-shadow: -1px -1px 4px 1px rgba(255,25,25,0.9);
}
.event-img {
	width: 56%;
	max-width: 640px;
}
.event-img img {
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border-radius: 8px;
}
.event-body {
	width: 44%;
    text-align: left;
	letter-spacing: 0.05em;
}
.event-body strong,.event-body strong span {
	font-weight: bold;	
}
.event-body ul {
    padding: 0.5em 1em 0.5em 1.5em;
    list-style: disc;
    list-style-position: outside;
}
.event-body ul li {
    padding-bottom: 0.5em;
}
.event-body ol {
    padding: 0.5em 1em 0.5em 1.5em;
    list-style: decimal;
    list-style-position: outside;
}
.event-body ol li {
    padding-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
	.ewrap {
		display: flex;
		flex-direction: column;
		gap: 36px;
	}
	.event-img {
		width: 100%;
		margin: 0 auto;
	}
    .event-body {
        width: 100%
    }
}
/* RESERVE */
.rdiscount-list {
	display: flex;
	flex-wrap: wrap;
}
.rdiscount-list li {
	width: 100%;
    padding-bottom: 12px;
}
.rdiscount-list li .input-checkbox {
	padding-bottom: 8px;
}
.rdiscount-add {
	padding-top: 4px;
	display: inline;
	font-size: 13px;
	color: #555555;
    border-bottom: 1px solid #ff0000;
}
.roption-list {
	display: flex;
	flex-wrap: wrap;
}
.roption-list li {
	width: 208px;
	padding-bottom: 10px;
}
.roption-list li .input-checkbox {
	padding-bottom: 8px;
}
.r_spoption-list {
	display: flex;
	flex-wrap: wrap;
}
.r_spoption-list li {
	width: 100%;
    padding-bottom: 10px;
}
.r_spoption-list li .input-checkbox {
	padding-bottom: 8px;
}
/* LINKS */
.llh {
	width: 100%;
	padding: 4px 0 12px 4px;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
	color: #ff0000;
	font-size: 19px;
	font-weight: bold;
}
.links {
	width: 100%;
	padding: 0 12px 24px 12px;
	display: flex;
	flex-wrap: wrap;
}
.links li {
	padding: 7px;
}
.links li img {
    height: auto;
    max-width: 200px;
	margin: 0 auto;
}
/* DL01 */
.head01 {
	width: 100%;
	margin: 0 8px 24px 12px;
	padding-left: 12px;
	text-align: left;
	color: #ff0000;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.02em;
	border-left: 3px solid #ff0000;
}
.dl01 {
	width: 100%;
}
.dl01 dt {
	width: 100%;
	padding: 4px;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
	font-size: 18px;
	color: #ff0000;
	font-weight: bold;
	letter-spacing: 0.03em;
    text-transform: capitalize;
    position: relative;
}
.dl01 dd {
	width: 100%;
	padding: 4px 4px 24px 12px;
	text-align: left;
	letter-spacing: 0.1em;
	font-size: 15px;
}
.dl01 dd img {
	max-width: 100%;
	height: auto;
}
@media screen and (max-width: 1200px) {
    .dl01 dt {
        padding: 6px 0 6px 12px;
    }
}
@media screen and (max-width: 768px) {
	.llh {
		padding: 2px 0 0 12px;
		font-size: 17px;
	}
	.links {
		width: 98%;
		padding: 8px 0;
	}
	.dl01 dt {
		padding: 2px 0 2px 6px;
		font-size: 16px;
	}
	.dl01 dd {
		padding: 10px 2% 24px 2%;
		letter-spacing: 0.01em;
	}
}
/* HOTEL LIST */
.hlh {
	width: 100%;
	margin-bottom: 12px;
    padding: 6px 0 6px 18px;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
	color: #ffffff;
	font-size: 18px;
	font-weight: bold;
    text-transform: capitalize;
    position: relative;
}
.hlh::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 98%;
    height: 100%;
    margin: 0 auto;
    background: #ff0000;
    transform: skew(-20deg);
}
.hlh::after {
  content: '';
  position: absolute;
  border-left: 20px double #ffffff;
  height: 100%;
  top: 0;
  right: 50px;
  transform: skew(-20deg);
}
.hlh span {
    padding: 2px 0 2px 12px;
    font-weight: bold;
    position: relative;
    z-index: 1;
}
.hh-exp {
	width: 98%;
	margin: 0 auto 24px auto;
	padding: 8px 24px;
	text-align: left;
	color: #8d717d;
	line-height: 1.8;
}
.hh-exp span {
	color: #c55580;
}
.wrap-hotel-tab {
	margin: 8px auto 24px auto;
	padding: 24px 2% 28px 2%;
    background: rgba(0,0,0,0.92);
    border: 3px solid #ffffff;
    border-radius: 6px;
}
.hotel-tab {
	width: 100%;
    border-collapse: separate;
}
/*
.hotel-tab tr:first-child>*:first-child{
    border-top-left-radius: 10px;
}
.hotel-tab tr:first-child>*:last-child{
    border-top-right-radius: 10px;
}
.hotel-tab tr:last-child>*:first-child{
    border-bottom-left-radius: 10px;
}
.hotel-tab tr:last-child>*:last-child{
    border-bottom-right-radius: 10px;
}
*/
.hotel-tab td {
	padding: 12px 0 12px 16px;
	background: rgba(10,10,10,0.92);
	line-height: 1.5;
	vertical-align: middle;
	letter-spacing: normal;
	border-bottom: 1px solid #333333;
}
.hotel-tab tr:first-child td {
	padding-top: 16px;
}
.hotel-tab tr:last-child td {
	border-bottom: none;
}
.hotel-td01 {
	width: 36%;
	text-align: left;
}
.hotel-td01 a {
	color: #ffffff;
}
.hotel-td01 a::after {
	content: '';
	display: inline-block;
	height: 1em;
	width: calc(1em + 2px);
	background: url("../img/icon_link_blank.svgz") no-repeat center bottom;
	background-size: auto 90%;
	margin-left: 4px;
}
.hotel-td02 {
	text-align: left;
}
.hotel-td03 {
	width: 14%;
	text-align: left;
}
td.left {
	padding: 2px 0;
	text-align: left;
	text-indent: 10px;
}
.search-f {
	height: 68px;
	width: 70%;
	margin: 0 auto;
}
#inputsearch {
	height: 36px;
	width: calc(100% - 50px);
	padding: 0 12px 0 24px;
	float: left;
	letter-spacing: 1px;
	border-radius: 100vw 0 0 100vw;
}
.hsbtn {
	height: 36px;
	width: 50px;
	background: rgba(0,0,0,0.92) url("../img/icon_search.svgz") no-repeat 14px 10px;
	background-size: 17px auto;
	float: left;
	border-radius: 0 15px 15px 0;
	border: none;
	white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
	cursor: pointer;
	transition: border .3s;
}
.hsbtn:hover {

}
#nohit {
	margin: 100px auto;
	line-height: 1.6;
	font-size: 16px;
	clear: both;
}
@media screen and (max-width: 1200px) {
	.hotel-tab td {
		padding: 10px 0 10px 10px;
	}
    .hotel-tab td.hotel-td01 {
        padding-left: 6px;
    }
}
@media screen and (max-width: 600px) {
	.search-f {
		height: 48px;
		width: 90%;
		margin: 0 auto;
	}
	#inputsearch {
		border-right: none;
	}
	.hlh {
        padding: 2px 0 2px 6px;
        font-size: 16px;
	}
	.hotel-tab tr:first-child td {
        padding-top: 4px;
    }
	.hotel-tab td {
		padding: 3px;
	}
}
/* ENQUETE */
.enquete-exp {

}
/* RANKING */
.wrap-ranking {
    width: 100%;
	margin-bottom: 48px;
    padding: 12px;
    background: rgba(255,255,255,0.95);
    color: #2a2a2a;
    border: 1px solid #ffffff;
    border-radius: 12px;
    box-shadow: -1px -1px 4px 1px rgba(255,25,25,0.9);
    clear: both;
}
.ranking-list {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
.ranking-list .rank01 {
	width: 100%;
}
.ranking-list .rank02, .ranking-list .rank03 {
	width: 50%;
	
}



/*====================================================
RANKING
====================================================*/

.ranking {
    width: 100%;
}
.ranking-top {
    display: grid;
    grid-template-columns: 1fr 1.18fr 1fr;
    grid-template-areas:
        "rank2 rank1 rank3";
    gap: 24px;
    align-items: center;
    margin-bottom: 24px;
}
.ranking-bottom{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.rank1{
    grid-area: rank1;
}
.rank2{
    grid-area: rank2;
}
.rank3{
    grid-area: rank3;
}
#ranking .rank-card {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #cfcfcf;
    text-decoration: none;
    color: #2a2a2a;
}
#ranking .rank-icon {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 62px;
    height: auto;
    z-index: 10;
}
#ranking .rank-photo {
    background: #efefef;
	aspect-ratio: 1 / 1;
    overflow: hidden;
}
#ranking .rank-photo img {
	height: 100%;
    width: 100%;
    object-fit: cover;
	object-position: top;
    display: block;
}
#ranking .rank-name {
	min-height: 50px;
	display: flex;
    flex: 1;
    justify-content: center;
    align-items: center;
    margin-top: 1px;
    font-size: 23px;
    color: #ffffff;
    letter-spacing: 0.05em;
	border-top: 1px solid rgba(255,255,255,0.3);
	z-index: 10;
}
#ranking .rank1 .rank-name {
    background: rgba(217,164,0,0.85);
}
#ranking .rank2 .rank-name {
    background: rgba(141,141,141,0.85);
}
#ranking .rank3 .rank-name {
    background: rgba(182,107,57,0.85);
}
.rank-row {
	height: 120px;
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1px solid #cfcfcf;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: #222222;
}
.rank-row-no {
    width: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}
.rank-row-no img {
    width: 56px;
    display: block;
}
.rank-row-photo {
    width: 90px;
    aspect-ratio: 1/1;
    flex-shrink: 0;
}
.rank-row-photo img {
    width: 100%;
    height: 96px;
    object-fit: cover;
	object-position: top;
    display: block;
    border-radius: 8px;
}
.rank-row-name {
	padding: 0 22px;
	display: flex;
    align-items: center;
    flex: 1;
    font-size: 21px;
}
#ranking .rank-name,
.rank-row-name {
    line-height: 1.2;
}
@media screen and (max-width:768px) {
	.ranking-top {
		margin-bottom: 18px;
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"rank1 rank1"
			"rank2 rank3";
		gap: 18px;
	}
	.rank-card.rank1 {
		width: 100%;
		max-width: 420px;
		margin: 0 auto;
	}
	#ranking .rank-icon {
		width: 54px;
		top: 10px;
		left: 10px;
	}
	#ranking .rank-name {
		font-size: 20px;
	}
	.ranking-bottom {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.rank-row {
		height: 100px;
	}
	.rank-row-no {
		width: 82px;
	}
	.rank-row-no img {
		width: 48px;
	}
	.rank-row-photo img {
		height: 90px;
	}
	.rank-row-name {
		font-size: 19px;
		padding: 0 18px;
	}
}

@media screen and (max-width:480px) {
	#ranking .section-title-text h3 {
        font-size: 22px;
    }
	.ranking-top {
		margin-bottom: 12px;
		gap: 12px;
	}
	#ranking .rank-icon {
		width: 40px;
		top: 8px;
		left: 8px;
	}
	#ranking .rank-name {
		font-size: 17px;
	}
	.ranking-bottom {
		gap: 12px;
	}
	.rank-row-no {
		width: 56px;
	}
	.rank-row-no img {
		width: 38px;
	}
	.rank-row-name {
		font-size: 16px;
		padding: 0 12px;
	}
}
/* RECUIT */
.btn-apply {
	margin-bottom: 48px;
}
.btn-apply a {
	min-width: 280px;
	padding: 10px 36px 10px 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: #e40000;
	color: #ffffff;
	font-size: 16px;
	letter-spacing: 0.1em;
    text-transform: capitalize;
	border: none;
	border-radius: 100vw;
	position: relative;
	cursor: pointer;
}
.btn-apply a .arrow-icon {
  position: absolute;
  right: 24px;
  width: 18px;
}
.btn-apply:hover .arrow-icon {
  animation: arrow-move 0.45s ease-out;
}
.preview-container {
    width: 100px;
    height: 100px;
    margin-top: 4px;
    display: none;
    border-radius: 4px;
    overflow: hidden;
}
.preview-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	object-position: top;
}
.rec-conh {
    width: 100%;
	padding: 12px 0 48px 0;
}
.rec-conh span {
	display: inline-block;
	font-size: 28px;
	font-weight: bold;
	color: #2a2a2a;
	line-height: 1.6;
}
.rec-exp {
    width: 98%;
    margin: 18px auto 48px auto;
    padding: 8px 24px;
    background: #333333;
    text-align: left;
    line-height: 1.8;
    border-radius: 1px;
}
.rcontact {
	width: 95%;
	margin: 24px auto 10px auto;
	display: flex;
	flex-wrap: wrap;
}
.rcontact-2box .rcontact-tel {
	width: calc(100% / 3 * 2);
	display: flex;
}
.rcontact-2box .fct01 {
	padding-top: 12px;
}
.rcontact-2box .fct02 {
	margin: 0;
	padding-left: 24px;
}
.rcontact-tel {
	height: 180px;
	width: calc(100% / 3);
	padding: 48px 10px 0 24px;
	text-align: left;
	font-size: 15px;
	letter-spacing: 0.08em;
}
.fct01 {
	padding-bottom: 12px;
}
.rcontact-tel a {
	display: inline-block;
	font-size: 37px;
	color: #ffffff;
    letter-spacing: 0.03em;
}
.rcontact-tel .reception {
    padding-top: 4px;
	font-size: 15px;
}
.rcontact-mail {
	height: 180px;
	width: calc(100% / 3);
	background: #298fcc url("../img/icon_mail.svgz") no-repeat center 48px;
	background-size: 28px auto;
}
.rcontact-mail a {
	height: 100%;
	width: 100%;
	padding-top: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #ffffff;
	font-size: 20px;
    font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.rcontact-line {
	height: 180px;
	width: calc(100% / 3);
	background: #06c755 url("../img/icon_line.svgz") no-repeat center 48px;
	background-size: 30px auto;
}
.rcontact-line a {
	height: 100%;
	width: 100%;
	padding-top: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #ffffff;
	font-size: 20px;
    font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.rcontact .rcontact-box:nth-child(2) {
	border-top-left-radius: 2px;
	border-bottom-left-radius: 2px;
}
.rcontact .rcontact-box:last-child {
	border-top-right-radius: 2px;
	border-bottom-right-radius: 2px;
}
@media screen and (max-width: 1280px) {
	.rcontact-tel {
		letter-spacing: 0.04em;
	}
	.rcontact-tel a {
		margin: 12px 0;
		font-size: 2.6vw;
	}
}
@media screen and (min-width: 1200px) {
	.rcontact-tel a[href^="tel:"] {
		pointer-events: none;
	}
}
@media screen and (max-width: 1200px) {
    .rec-conh span {
		font-size: 2.8vw;
	}
    .rcontact-tel a {
		font-size: 2.9vw;
	}
}
@media screen and (max-width: 800px) {
	.rcontact {
		flex-wrap: wrap-reverse;
		flex-direction: row-reverse;
	}
	.rcontact-2box .rcontact-tel {
		width: 50%;
		display: block;
	}
	.rcontact-2box .fct01 {
		padding-top: 0;
	}
	.rcontact-2box .fct02 {
		padding-left: 0;
	}
	.rcontact-mail {
		width: 50%;
	}
	.rcontact-line {
		width: 50%;
	}
	.rcontact-tel {
		width: 100%;
		text-align: center;
	}
	.rcontact-tel a {
		margin: 6px 0;
		font-size: 34px;
	}
	.rcontact-tel .reception {
		font-size: 16px;
	}
}
@media screen and (max-width: 600px) {
	.rcontact-2box .rcontact-tel {
		width: 100%;
	}
	.rcontact-2box .rcontact-line {
		width: 100%;
	}
	.rcontact-2box .rcontact-mail {
		width: 100%;
	}
	.rec-conh span {
		font-size: max(4vw, 18px);
	}
	.rcontact-mail a {
		font-size: 17px;
	}
	.rcontact-line a {
		font-size: 17px;
	}
	.rcontact-tel a {
		font-size: 30px;
	}
}
@media screen and (min-width: 1200px) {
	.rcontact-tel a[href^="tel:"] {
		pointer-events: none;
	}
}
/* HOW TO */
.exp-option dt {
    padding: 0;
    font-size: 15px;
    font-weight: normal;
}
.exp-option dt::before,.exp-option dt::after {
    content: none;
}
.exp-option dd {
    padding: 0 0 6px 1em;
}

/* FORM-01 */
.form-h-exp {
	width: 98%;
	margin: 18px auto 24px auto;
	padding: 24px;
	background: rgba(252,212,212,0.5);
	text-align: left;
	line-height: 1.6;
	border-radius: 6px;
}
.form-h-exp02 {
	width: 98%;
	margin: 18px auto 24px auto;
	padding: 24px;
	background: #ff0000;
	text-align: left;
	color: #ffffff;
	line-height: 1.6;
	border-radius: 8px;
}
.form-h-exp .note {
	width: 100%;
    margin-top: 12px;
	padding: 2px 0 0 12px;
	text-align: left;
    border-left: 3px solid #ff0000;
}
.fparts-add {
	padding-top: 4px;
	display: inline-block;
	font-size: 13px;
	color: #555555;
}
.form02 {
	width: 100%;
	padding: 36px 2% 24px 2%;
    background: rgba(255,255,255,0.95);
	color: #2a2a2a;
	border: 1px solid #ffffff;
    border-radius: 12px;
	box-shadow: -1px -1px 4px 1px rgba(255,25,25,0.9);
	clear: both;
}
.form02 option {
	padding: 0 24px 0 0;
}
.form02 fieldset {
	width: 100%;
	padding: 0 0 48px 0;
}
.form02 dl {
	margin: 0 auto;
	padding: 30px 18px 36px 18px;
}
.form02 dt {
	width: 100%;
	padding: 3px 4px 3px 0;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
	color: #2a2a2a;
	font-size: 16px;
	font-weight: normal;
    text-transform: capitalize;
}
.form02 dd {
	width: 100%;
	padding: 12px 0 32px 12px;
	text-align: left;
}
.form02.contact, .form02.talk, .form02.reserve, .form02.review, .form02.enquete {
	display: flex;
}
.form02.contact fieldset, .form02.talk fieldset, .form02.reserve fieldset, .form02.review fieldset, .form02.enquete fieldset {
	width: 60%;
	border-right: 1px solid rgba(255,0,0,0.08);
}
.form-head {
	width: 100%;
	margin: 0 0 4px 12px;
	padding-left: 12px;
	text-align: left;
	color: #ff0000;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.02em;
	border-left: 3px solid #ff0000;
}
.form02-info {
	width: 40%;
	padding: 0 24px;
}
.form02-info h3 {
	padding-bottom: 24px;
	text-align: left;
	color: #ff0000;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.02em;
}
.form02-info-block {
	margin-bottom: 25px;
	text-align: left;
}
.form02-info-block.contact {
	margin-bottom: 25px;
	padding-left: 56px;
	background: url(../img/icon_form_tel.svgz) no-repeat left center;
	background-size: 44px;
	text-align: left;
}
.form02-info-title {
  font-size: 16px;
  margin-bottom: 12px;
}
.form02-info-tel {
	color: #ff0000;
	font-size: min(2.3vw, 30px);
	font-weight: bold;
	letter-spacing: 0.01em;
}
.form02-info-block.talk, .form02-info-block.reserve, .form02-info-block.review, .form02-info-block.enquete {
	margin-bottom: 25px;
	padding-left: 56px;
	background: url(../img/icon_form_info.svgz) no-repeat left center;
	background-size: 44px;
	text-align: left;
}
.form02-info-text {
	color: #ff0000;
	font-size: min(2.3vw, 30px);
	font-weight: bold;
	letter-spacing: 0.01em;
}
.form02-info-text02 {
	color: #ff0000;
	font-size: 16px;
	letter-spacing: 0.01em;
}
.ulcb li {
	padding: 0 0 8px 2px;
}
.question {
	font-size: 20px;
	font-weight: bold;
}
.mandatory {
	margin-right: 8px;
    padding: 2px 12px;
	background: #ff0000;
	display: inline-block;
	text-align: center;
	color: #ffffff;
	font-size: 13px;
    text-transform: capitalize;
	border-radius: 4px;
}
.optional {
	margin-right: 8px;
	padding: 2px 12px;
	background: #2a2a2a;
	display: inline-block;
	text-align: center;
	color: #ffffff;
	font-size: 13px;
    text-transform: capitalize;
	border-radius: 4px;
}
.form02 .designatd-list {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}
.designatd-list dt {
    display: inline;
}
.designatd-list dd {
    padding: 4px 0 12px 24px;
    text-align: left;
}
.designatd-list select {
    margin-bottom: 8px;
}
.f-line {
	background: rgba(255,255,255,0.85);
	border: 1px solid rgba(255,0,0,0.08);
	border-radius: 4px;
}
.f-line:focus {
	background: #ffffff;
	box-shadow: 0 0 0 2px rgba(255,0,0,0.08);
	outline: none;
}
.f-line-check {
	background: #ffffff;
	border: 1px solid #ff0000;
    border-radius: 2px;
}
.f-line-check:focus {
	outline: none;
}
.form-unit {
	margin-left: 6px;
}
#s-check {
	height: 80px;
	text-align: left;
}
#s-check img {
	margin-right: 12px;
	float: left;
}
#email-error-message {
    margin-top: 8px;
    padding: 12px;
    background: #111111;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 2px;
}
.notes-line {
    display: inline;
    font-size: 13px;
    border-bottom: 1px solid #ff0000;
}
.notes-line::before {
  content: "";
  display: block;
  height: 8px;
}
@media screen and (max-width: 768px) {
	.form-h-exp {
		width: 99%;
		margin: 12px auto;
		padding: 6px 12px;
	}
	.form-h-exp02 {
		width: calc(100% - 16px);
		margin: 12px auto;
		padding: 8px 12px;
	}
	.form02 fieldset {
		width: 100%;
	}
	.form02 dl {
		width: 100%;
		padding: 24px 8px 36px 8px;
	}
	.form02 dd {
		padding: 8px 10px 18px 10px;
	}
	.ulcb li {
		padding: 0 0 8px 6px;
	}
    .designatd-list dd {
        padding: 4px 0 10px 24px;
        text-align: left;
    }
	.f-line {
		border: 1px solid #cccccc;
	}
	.f-line-check {
		border: 1px solid #cccccc;
	}
	
	.form02.contact, .form02.talk, .form02.reserve, .form02.review, .form02.enquete {
		display: flex;
		flex-direction: column-reverse;
	}
	.form02.contact fieldset, .form02.talk fieldset, .form02.reserve fieldset, .form02.review fieldset, .form02.enquete fieldset {
		width: 100%;
		padding-top: 24px;
		border-right: none;
		border-top: 1px solid rgba(255,0,0,0.08);
	}
	.form02-info {
		width: 100%;
		padding: 0 8px 12px 8px;
	}
	.form02-info-tel {
		font-size: 19px;
	}
	.form02-info-block.talk, .form02-info-block.reserve, .form02-info-block.review, .form02-info-block.enquete {
		min-height: 54px;
		display: flex;
		align-items: center;
	}
	.form02-info-text02 {
		font-size: 15px;
	}
}
@media screen and (max-width: 600px) {
	.form02 {
		padding: 12px 2% 12px 2%;
	}
	.form02-info-block.talk, .form02-info-block.reserve, .form02-info-block.review, .form02-info-block.enquete {
		margin: 0;
		padding: 0;
		background: none;
	}
	.form02-info-text02 {
		width: 99%;
		margin: 12px auto;
		padding: 6px 12px;
		background: rgba(252,212,212,0.5);
		text-align: left;
		line-height: 1.6;
		border-radius: 6px;
	}
}
/* RESERVATION */
.discount-add {
	padding-top: 4px;
	display: inline-block;
	font-size: 13px;
	color: #e7e9ea;
    border-bottom: 1px solid #ff0000;
}
/* RECRUIT */
.re-navi {
	color: #555555;
}
.re-navi::after {
	content: '';
	display: inline-block;
	height: 1em;
	width: calc(1em + 2px);
	background: url("../img/icon_link_blank.svgz") no-repeat center bottom;
	background-size: auto 90%;
	margin-left: 4px;
}
.re-navi:hover {
	border-bottom: 2px dashed #555555;
}
/* QR-CODE HOME */
.qr-recruit-line img {
	height: auto;
	width: 180px;
	margin: 18px auto 0 auto;
}
.qr-recruit img {
	height: auto;
	width: 200px;
	margin: 12px 0;
}
.list-decimal {
	margin: 8px 0 12px 20px;
	list-style-type: decimal-leading-zero;
	list-style-position: inside;
}
.list-disc {
	margin: 8px 0 12px 20px;
	list-style-type: disc;
	list-style-position: inside;
}
/* ACCESS */
.ac-navi {
    margin-right: 6px;
    padding-left: 22px;
    background: url("../img/icon_googlemap.svgz") no-repeat left center;
	background-size: 1em auto;
    display: inline-block;
	color: #ffffff;
    border-bottom: 2px dashed rgba(0,0,0,0);
}
.ac-navi::after {
	content: '';
	display: inline-block;
	height: 1em;
	width: calc(1em + 2px);
	background: url("../img/icon_link_blank.svgz") no-repeat center bottom;
	background-size: auto 90%;
	margin: 0 4px;
}
.ac-navi:hover {
	border-bottom: 2px dashed #ffffff;
}
.acc-map {
	width: calc(100% - 8px);
	height: 500px;
    margin: 0 auto;
}
.acc-map iframe {
	height: 480px;
	width: 100%;
	border-radius: 3px;
}
/* FAQ */
.wrap-faq {
	margin-bottom: 48px;
	text-align: left;
}
.faq-h {
	width: 100%;
    padding: 24px 6px 12px 12px;
    display: inline-block;
    text-align: left;
    color: #ffffff;
    font-size: 21px;
    font-weight: bold;
}
.wrap-faq strong,.wrap-faq strong span {
	font-weight: bold;
}
.wrap-faq dt:first-child {
	margin-top: 0;
}
.wrap-faq dt {
	margin-top: 24px;
	padding: 9px 54px 10px 0;
	background: rgba(0,0,0,0.92);
	display: flex;
	color: #ffffff;
	font-size: 19px;
    letter-spacing: 0.12em;
	line-height: 1.4;
	position: relative;
	cursor: pointer;
	border-radius: 6px 6px 0 0;
}
.wrap-faq dt::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 25px;
    width: 15px;
    height: 2px;
    transform: rotate(90deg);
    background-color: #ffffff;
    transition: all 0.3s ease-in-out;
}
.wrap-faq dt.active::before {
    transform: rotate(180deg);
}
.wrap-faq dt::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 25px;
    width: 15px;
    height: 2px;
    background-color: #ffffff;
    transition: all 0.2s ease-in-out;
}
.wrap-faq dt.active::after {
    opacity: 0;
}
.faq-q {
    width: 54px;
	display: flex;
	justify-content: center;
	align-items: stretch;
    font-size: 24px;
    color: #ff0000;
}
.q-body {
	width: calc(100% - 54px);
	padding-top: 3px;
	display: flex;
	align-items: center;
	font-weight: bold;
}
.wrap-faq dd {
	padding: 18px 4px 24px 0;
	background: rgba(0,0,0,0.92);
	display: flex;
    line-height: 1.6;
    letter-spacing: 0.14em;
	border-top: 3px dashed #ff0000;
	border-radius: 0 0 6px 6px;
}
.faq-a {
    width: 54px;
	display: flex;
	justify-content: center;
	align-items: stretch;
    font-size: 24px;
    color: #306ae7;
	vertical-align: bottom;
}
.a-body {
	width: calc(100% - 54px);
	padding-top: 3px;
	display: flex;
}
@media screen and (max-width: 1000px) {
    .wrap-faq dt {

    }
    .wrap-faq dd {
        font-size: 16px;
        letter-spacing: 0.08em;
    }
}
@media screen and (max-width: 600px) {
    .wrap-faq dt {
        font-size: 16px;
    }
    .wrap-faq dd {
        font-size: 15px;
    }
    .wrap-faq dt::before {
        content: '';
        position: absolute;
        top: 50%;
        right: 20px;
    }
    .wrap-faq dt.active::before {
        transform: rotate(180deg);
    }
    .wrap-faq dt::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 20px;
    }
}
/* PAGE NAV */
.pagenav {
	width: 100%;
	margin: 28px 0 14px;
	padding: 10px 10px 5px 10px;
	display: flex;
	flex-wrap : wrap;
	justify-content: center;
    text-align: center;
    gap: 5px;
}
.pagenav li {
	display: inline;
	font-size: 15px;
}
.pagenav li a, .pagenav li span {
	height: 36px;
	padding: 0 16px;
	background: #ffffff;
	display: flex;
    justify-content: center;
    align-items: center;
	color: #2a2a2a;
	border: 1px solid #ffffff;
	border-radius: 5px;
	box-shadow: 0 1px 0 rgba(255,255,255,0.04);
}
.pagenav .current {
    background: rgba(228,0,0,0.8);
	color: #ffffff;
	border: 1px solid rgba(255,255,255,0.6);
    pointer-events: none;
}
.pagenav .disabled {
    background: #dddddd;
    color: #777777;
    pointer-events: none;
}
.pagenav .ellipsis {
    padding: 0;
    background: none;
	color: #ffffff;
    border: none;
    opacity: 0.85;
}
.pagenav-arrows {
	width: 100%;
    margin-bottom: 1em;
    display: flex;
    justify-content: center;
    gap: 6px;
}
.pagenav-arrows a,
.pagenav-arrows span {
    height: 38px;
    padding: 0 16px;
	background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
	color: #2a2a2a;
    font-size: 16px;
    border-radius: 5px;
}
.pagenav-arrows span.disabled {
    background: #dddddd;
	color: #777777;
	box-shadow: 0 1px 0 rgba(255,255,255,0.04);
    pointer-events: none;
}
.pagenav-info {
	width: 100%;
    color: #ffffff;
}
/* PAGE NAV TOP */
.pagenav-top {
	width: 100%;
	margin: 3px 0;
	padding: 4px 4px 3px 4px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 4px;
	text-align: center;
	font-size: 12px;
}
.pagenav-top li {
	display: inline;
}
.pagenav-top li a, .pagenav-top li span {
	margin-bottom: 3px;
	padding: 2px 8px;
	background: #ffffff;
	display: flex;
    align-items: center;
    justify-content: center;
	color: #2a2a2a;
	border: 1px solid #ffffff;
	border-radius: 3px;
	box-shadow: 0 1px 0 rgba(255,255,255,0.04);
}
.pagenav-top .current {
    background: rgba(228,0,0,0.8);
	color: #ffffff;
	border: 1px solid rgba(255,255,255,0.6);
	box-shadow: 0 1px 0 rgba(255,255,255,0.04);
    pointer-events: none;
}
.pagenav-top .disabled {
    background: #dddddd;
	color: #777777;
	border: 1px solid #dddddd;
	box-shadow: 0 1px 0 rgba(255,255,255,0.04);
    pointer-events: none;
}
.pagenav-top .ellipsis {
    padding: 2px 0;
    background: none;
	color: #ffffff;
    border: none;
    opacity: 0.85;
}
#pd-frame-page .pagenav li a, #review-frame-page .pagenav li a {

}
#pd-frame-page .pagenav li a:hover, #review-frame-page .pagenav li a:hover {

}
/* PAGE NAV02 */
.page-nav {
	width: 100%;
	margin: 40px 0;
	padding: 0 10px;
	text-transform: capitalize;
}

.page-nav ul {
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 24px;
}
.page-nav ul a, .page-nav ul span {
	padding: 12px 16px;
	display: block;
	text-align: center;
	font-size: 14px;
	border-radius: 6px;
	position: relative;
	transition: background 0.2s, border-color 0.2s;
}
.page-nav .back {
	padding: 12px 16px 12px 16px;
	background: #ffffff;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #2a2a2a;
	border: 1px solid #dddddd;
}
.page-nav .back:hover {
	border: 1px solid #bfbfbf;
}
.page-nav .back img {
  display: block;
  width: 16px;
  height: auto;
}
.page-nav .prev {
	padding: 12px 16px 12px 16px;
	background: #e40000;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: #ffffff;
}
.page-nav .prev img {
  display: block;
  width: auto;
  height: 14px;
}
.page-nav .next {
	padding: 12px 16px 12px 16px;
	background: #e40000;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: #ffffff;
}
.page-nav .next img {
  display: block;
  width: auto;
  height: 14px;
}
.page-nav ul .disabled {
    background: #dddddd;
	color: #777777;
}
/* ▼ スマホでのタップしやすさ */
@media (max-width: 600px) {
  .page-nav-list {
    flex-direction: column;
  }
  .page-nav-link {
    width: 100%;
  }
}


/* FOOTER */

footer {
	width: 100%;
	height: 550px;
	margin-top: 70px;
    background: #b10403 url("../img/bg_foot.png") no-repeat center bottom;
	background-size: cover;
	clear: both;
	overflow: hidden;
	position: relative;
}
.foot {
	height: 100%;
    width: 100%;
	max-width: 1440px;
	margin: auto;
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;	
}
footer nav {
	text-align: left;
	color: #ffffff;
	position: absolute;
	top: 35%;
	right: 3%;
}
footer nav ul {
	width: 500px;
	display: flex;
	flex-wrap: wrap;
}
footer nav ul li {
	height: 32px;
	width: 50%;
	padding: 0 0 0 4px;
}
footer nav ul a {
	height: 22px;
	padding: 0 2px;
	font-size: 13px;
	color: #ce7d92;
	line-height: 22px;
	position: relative;
	white-space: nowrap;
	text-overflow: ellipsis;
}
footer nav ul a::after {
	position: absolute;
	bottom: -3px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #ce7d92;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .25s;
}
footer nav ul a:hover::after {
	transform-origin: left top;
	transform: scale(1, 1);
}
.finfo {
	width: 400px;
	color: #ffffff;
	position: absolute;
	top: 38%;
	left: 4%;
}
.finfo dt {
	width: 100%;
    padding-bottom: 20px;
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.12em;
	line-height: 1.5;
}
.finfo dd {
	width: 100%;
	text-align: center;
	font-size: 21px;
	line-height: 1.3;
}
.finfo-h {
	width: 58px;
	margin: 0 8px 4px 0;
	padding: 2px 0;
	background: #ffffff;
	display: inline-block;
	text-align: center;
	color: #000000;
	font-size: 16px;
	line-height: 16px;
	vertical-align: middle;
	font-style: normal;
	letter-spacing: 0.15em;
	border-radius: 2px;
}
.finfo .tel {
	padding-top: 5px;
	display: inline-block;
	font-size: 25px;
	font-weight: bold;
	letter-spacing: 0.02em;
}
.fsns {
	width: 240px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
	position: absolute;
	top: 55%;
	right: 3%;
}
.fsns li {
    height: 64px;
	width: 64px;
}
.fsns li a {
    height: 44px;
	width: 44px;
    margin: 0 auto;
    display: block;
	white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
}
.fsns-x {
    background: url("../img/icon_fsns_x.svgz") no-repeat left bottom;
	background-size: auto 100%;
}
.fsns-blog {
    background: url("../img/icon_fsns_blog.svgz") no-repeat left bottom;
	background-size: auto 100%;
}
.ftmg {
	font-size: 12px;
	color: #e7e9ea;
	letter-spacing: 0.2em;
	position: absolute;
    right: 0;
    left: 0;
	bottom: 14px;
	clear: both;
}
.fad a {
	height: 18px;
	width: 98px;
	background: url("../img/clogo.svgz") no-repeat 0 0;
	background-size: contain;
	display: block;
	white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
	position: absolute;
	bottom: 40px;
	right: 174px;
}
.pagetop {
	width: 80px;
	height: 80px;
	background:
        url("../img/pagetop.svgz") no-repeat center center, /* ← 最前面 */
        linear-gradient(
            145deg,
            rgba(255,255,255,.16) 0%,
            rgba(255,255,255,.08) 45%,
            rgba(255,255,255,.06) 100%
        );
	background-size:
        44%,
        auto;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
	display: none;
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 1px 10px rgba(0,0,0,.10);
	border-radius: 100vw;
	white-space: nowrap;
	text-indent: 200%;
	overflow: hidden;
	position: fixed;
	bottom: 30px;
	right: 34px;
	transition: all .3s ease-out;
	z-index: 200;
}
.pagetop:hover {
	transform: translateY(-4px);
}
@media screen and (max-width: 1200px) {
    footer {
        height: 600px;
    }
	.foot {
		width: 100%;
	}
	footer nav {
		margin: 0 auto;
		position: static;
	}
	footer nav ul {
		width: 75%;
		margin: 0 auto;
	}
	footer nav ul li {
		padding: 0 0 0 14%;
	}
	.finfo {
		height: auto;
		width: 320px;
		margin: 70px auto 48px auto;
		padding: 80px 0 0 0;
		font-size: 18px;
		text-align: center;
		position: static;
	}
	.finfo dt {
		width: 100%;
		padding-bottom: 12px;
		font-size: 21px;
	}
	.finfo dd {
		width: 320px;
        font-size: 21px;
	}
	.finfo .tel {
		font-size: 24px;
	}
    .fsns {
        width: 240px;
        margin: 0 auto;
        position: static;
    }
	.ftmg {
		position: absolute;
		bottom: 14px;
		right: 0;
		left: 0;
	}
	.fad a {
		position: absolute;
		bottom: 40px;
		right: 4%;
	}
	.pagetop {
		display: none !important;
	}
}
@media screen and (max-width: 600px) {
	footer {
        height: 574px;
    }
	footer nav ul a {
		height: 24px;
		font-size: 12px;
		line-height: 26px;
	}
	footer nav ul a:hover {

	}
	footer nav ul li {
		padding: 0 0 0 10%;
	}
	footer nav ul li:nth-child(odd) {
		padding: 0 0 0 6%;
	}
	.finfo .tel {
		font-size: 22px;
	}
	.ftmg {
		font-size: 11px;
		letter-spacing: 0.2em;
	}
	.fad a {
		height: 16px;
		width: 87px;
		position: absolute;
		bottom: 20px;
		right: 0;
	}
}
/* ERROR */
.error-mes {
	padding: 72px 0;
	font-size: 16px;
}
.error-anc a {
	font-size: 15px;
	color: #FC6;
	font-weight: bold;
}
/* SIZE */
.marb01 {
	margin-bottom: 24px;
}
.padt01 {
	padding-top: 10px;
}
.padb01 {
	padding-bottom: 8px;
}
.hw01 {
	height: 180px;
	width: 640px;
}
.hw02 {
	height: 100px;
	width: 400px;
}
.hw03 {
	height: 240px;
	width: 640px;
}
.hw04 {
	height: 400px;
	width: 540px;
}
.hw05 {
	height: 300px;
	width: 340px;
}
.hw06 {
	height: 580px;
	width: 530px;
}
.hw07 {
	height: 200px;
	width: 100%;
	max-width: 600px;
}
.hw08 {
	height: 200px;
	width: 100%;
}
.w01 {
	width: 640px;
}
.w02 {
	width: 100%;
	max-width: 400px;
}
.w03 {
	width: 200px;
}
.w04 {
	width: 120px;
}
.w05 {
	width: 80px;
}
.w06 {
	width: 60px;
}
.w07 {
	width: 100%;
	max-width: 300px;
}
.w08 {
    min-width: 120px;
}
.w09 {
	width: 100%;
}
.h01 {
	height: 120px;
}
/* MESSAGE */
.mes01 {
	margin: 100px auto;
	font-size: 16px;
    font-weight: bold;
	line-height: 3;
	clear: both;
}
@media screen and (max-width: 600px) {
	.mes01 {
		margin: 20px auto 40px auto;
		line-height: 2;
	}
}

/* MODE */
.mode-sp {
	display: none;	
}
@media screen and (max-width: 600px) {
	.mode-pc {
		display: none;
	}
	.mode-sp {
		display: block;
	}
	.hidden-sp {
		display: none;
	}
}