@charset "utf-8";
/*
Theme Name: 461
Theme URI: https://296.co.jp/
Author: Dai Kojima
Author URI: https://296.co.jp/
Description:
Version: 1.0
License:
License URI:
Tags:
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 normalize
2.0 default
3.0 header
4.0 footer
5.0 front.php
--------------------------------------------------------------*/

/*--------------------------------------------------------------
1.0 normalize
Styles based on Normalize v5..0 @link https://github.com/necolas/normalize.css
--------------------------------------------------------------*/
html {
	font-family: sans-serif;
	line-height: 1.15;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
}
article,
aside,
footer,
header,
nav,
section {
	display: block;
}
h1 {
	font-size: 2em;
	margin: .67em 0;
}
figcaption,
figure,
main {
	display: block;
}
figure {
	margin: 1em 0;
}
hr {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}
a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
}
a:active,
a:hover {
	outline-width: 0;
}
abbr[title] {
	border-bottom: 1px #767676 dotted;
	text-decoration: none;
}
b,
strong {
	font-weight: inherit;
}
b,
strong {
	font-weight: 700;
}
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}
dfn {
	font-style: italic;
}
mark {
	background-color: #eee;
	color: #1a1a1a;
}
small {
	font-size: 80%;
}
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -.25em;
}
sup {
	top: -.5em;
}
audio,
video {
	display: inline-block;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
img {
	height: auto;
	border-style: none;
}
svg:not(:root) {
	overflow: hidden;
}
button,
input,
optgroup,
select,
textarea {
	font-family: sans-serif;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}
button,
input {
	overflow: visible;
}
button,
select {
	text-transform: none;
}
button,
html [type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}
fieldset {
	border: 1px solid #bbb;
	margin: 0 2px;
	padding: .35em .625em .75em;
}
legend {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}
progress {
	display: inline-block;
	vertical-align: baseline;
}
textarea {
	overflow: auto;
}
[type="checkbox"],
[type="radio"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}
details,
menu {
	display: block;
}
summary {
	display: list-item;
}
canvas {
	display: inline-block;
}
template {
	display: none;
}
[hidden] {
	display: none;
}

/*--------------------------------------------------------------
default
--------------------------------------------------------------*/
html {
  -webkit-text-size-adjust: 100%;
}
html.noscroll {
  position: relative;
  overflow: hidden;
}
html.noscroll::after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.75);
  z-index: 998;
}
body {
	font-size: clamp(0px,(100vw / 80), 16px);
	font-family: 'Google Sans','Noto Sans JP',sans-serif;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .025em;
	color: #1a1a1a;
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5,h6,th {
  
}
* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	outline: none !important;
}
@media (max-width: 769px) {
  body {
    font-size: clamp(0px,(100vw / 25), 16px);
  }
}
/*--------------------------------------------------------------
common
--------------------------------------------------------------*/
/*レンポンシブ*/
.pc {
	
}
.sp {
	display: none !important;	
}
@media (max-width: 769px) {
  .pc {
  	display: none !important;
  }
  .sp {
  	display: block !important;
  }	
}
/*--------------------------------------------------------------
header.site
--------------------------------------------------------------*/
header.site {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3.75em;
  z-index: 999;
}
header.site.fixed {
  position: fixed;
  color: #1a1a1a;
  background-color: rgba(255,255,255,1);
  box-shadow: 0 3px 25px rgb(77 77 99 / 10%);
  z-index: 999;
}
header.site .container {
  display: flex;
  justify-content: space-between;
  height: 100%;
}
header.site .container .logo {
  margin: 0 0 0 1em;
  padding: .75em 0;
  height: 100%;
  font-size: 1em;
}
header.site .container .logo a {
  display: block;
  height: 100%;
  font-weight: bold;
  text-decoration: none;
  color: #1a1a1a;
}
header.site .container .logo a img {
  display: inline-block;
  width: auto;
  height: 100%;
  vertical-align: middle;
}
header.site .container .logo a span {
  display: inline-block;
  padding: 0 0 0 .5em;
  font-size: .875em;
}
header.site .container nav {
  display: flex;
  height: 100%;
}
header.site .container nav ul {
  display: flex;
  margin: 0;
  padding: 0;
  height: 100%;
  list-style-type: none;
}
header.site .container nav ul li {
  position: relative;
  height: 100%;
}
header.site .container nav ul li span,
header.site .container nav ul li a {
  display: inline-block;
  padding: 1.6427em 1em 1.6427em 0;
  height: 100%;
  font-size: .875em;
  font-weight: bold;
  line-height: 1;
  text-decoration: none;
  color: #1a1a1a;
  cursor: pointer;
}
header.site .container nav ul li span:hover,
header.site .container nav ul li a:hover {
  color: #1a1a1a;
}
header.site .container nav ul li .child {
  position: absolute;
  left: -1em;
  display: block;
  transform: translateY(10px);
  padding: .625em 0 0 0;
  transition: opacity 0.5s ease, transform 0.5s ease;
  pointer-events: none;
  opacity: 0;
}
header.site .container nav ul li:hover > .child,
header.site .container nav ul li span:hover + .child {
  margin: -.5em 0 1em;
  height: auto;
  opacity: 1;
  z-index: 999;
  transform: translateY(0);
  pointer-events: auto;
}
header.site .container nav ul li .child ul {
  display: block;
  margin: 0;
  padding: 1em 1.5em;
  /* 20em だと「STUDIO 461 青山店 第2スタジオ」等が折り返す（2026-08-20 児島指摘）。
     折り返さない最小は約20.6em。矢印との間隔も確保して 23em にしている。 */
  width: 23em;
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 0 5px 10px 0 rgba(0,0,0,.125);
}
header.site .container nav ul li .child ul li {
  position: relative;
  display: block;
  margin: 0;
  padding: .75em 2em .75em 1em;
  transition: .3s;
}
header.site .container nav ul li .child ul li:hover {
  background-color: #22FFFF;
  border-radius: 6px;
}
header.site .container nav ul li .child ul li::before,
header.site .container nav ul li .child ul li::after {
  content: "";
  position: absolute;
  transition: right 0.3s ease;
}
header.site .container nav ul li .child ul li::before {
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  width: 0.875em;
  height: 2px;
  background-color: #1a1a1a;
  border-radius: 1px;
}
header.site .container nav ul li .child ul li::after {
  top: calc(50% - 2px);
  right: 28px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #1a1a1a;
  border-right: 2px solid #1a1a1a;
  -webkit-transform: rotate(45deg)translateY(-50%);
  transform: rotate(45deg) translateY(-50%);
  border-radius: 1px;
}
header.site .container nav ul li .child ul li:hover::before {
  right: 15px;
}
header.site .container nav ul li .child ul li:hover::after {
  right: 20px;
}
header.site .container nav ul li .child ul li a {
  padding: 0;
  height: auto;
  color: #1a1a1a;
}
header.site .container nav ul li .child ul li a:hover {
  opacity: 1;
}
header.site .container nav ul li.reserve a,
header.site .container nav ul li.line a {
  display: flex;
  align-items: center;
  padding: 0 1.25em;
  height: 100%;
  font-size: .875em;
  text-decoration: none;
  color: inherit;
}
header.site .container nav ul li.reserve a {
  margin: 0 0 0 10px;
  padding: 0 1.25em 0 1.375em;
  border-radius: 0 0 0 .875em;
  background-color: #22FFFF;
}
header.site.fixed .container nav ul li.reserve a {
  border-radius: 0;
}
header.site .container nav ul li.line a {
  color: #fff;
  background-color: #00B900;
}
header.site .container nav.mobile,
header.site a.toggle {
	display: none;
}
@media (max-width: 769px) {
  header.site.fixed {
    position: absolute;
  }
  header.site .container .logo {
    padding: 1.25em 0;
  }
  header.site .container .logo a span {
    font-size: .75em;
  }
  header.site .container nav.desktop {
    display: none;
  }
  header.site .container nav.mobile {
    position: fixed;
    overflow-y: scroll;
    display: block;
    top: 0;
    right: -100%;
    padding: 5em 2em 2em;
    width: 22em;
    height: 100%;
    background-color: #fff;
    z-index: 99999;
    transition: right .2s;
  }
  header.site .container nav.mobile nav {
    display: block;
    height: auto;
  }
  header.site .container nav.mobile nav:not(:first-child) {
    margin: 1em 0 0;
  }
  header.site .container nav.mobile nav h6 {
    margin: 0;
    font-size: .9375em;
  }
  header.site .container nav.mobile nav h6::after {
    display: inline-block;
    margin: 0 0 0 1em;
    font-size: .75em;
    font-weight: normal;
    font-family: 'Google Sans', sans-serif;
    letter-spacing: .05em;
  }
  header.site .container nav.mobile nav:nth-child(1) h6::after { content: "STUDIO"; }
  header.site .container nav.mobile nav:nth-child(2) h6::after { content: "OPTION"; }
  header.site .container nav.mobile nav:nth-child(3) h6::after { content: "OTHERS"; }
  header.site .container nav.mobile nav ul {
    display: block;
    height: auto;
  }
  header.site .container nav.mobile nav ul li {
    
  }
  header.site .container nav.mobile nav ul li a {
    position: relative;
    display: flex;
    padding: 0.625em 1.75em;
    height: auto;
    font-size: .75em;
  }
  header.site .container nav.mobile nav ul li a::before {
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    content: "";
    width: 1em;
    height: 1em;
    background-color: #f5f5f5;
    border-radius: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  header.site .container nav.mobile nav ul li a::after {
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    content: "";
    width: 1em;
    height: 1em;
    background-color: #22FFFF;
    border-radius: 50%;
    -webkit-transform: translateY(-50%) scale(0.25);
    transform: translateY(-50%) scale(0.25);
  }
  header.site a.toggle {
  	position: fixed;
  	top: 8px;
  	right: 8px;
  	margin: 24px 24px 24px 24px;
  	width: 16px;
  	height: 14px;
  	z-index: 999999;
  	cursor: pointer;
  }
  header.site a.toggle::before {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    position: absolute;
    top: -18px;
    left: -17px;
    background-color: #22FFFF;
    border-radius: 50%;
    box-shadow: 0 .625em 1.25em -.3125em rgb(0 0 0 / 20%);
  }
  header.site a.toggle.active {
  
  }
  header.site a.toggle,
  header.site a.toggle span {
  	display: inline-block;
  	transition: all .5s;
  	box-sizing: border-box;
  }
  header.site a.toggle span {
  	position: absolute;
  	left: 0;
  	width: 100%;
  	height: 1.5px;
  	background-color: #1a1a1a;
  	border-radius: 4px;
  }
  header.site a.toggle span:nth-of-type(1) {
  	top: 0;
  }
  header.site a.toggle span:nth-of-type(2) {
  	top: 6px;
  	width: 80%;
  }
  header.site a.toggle span:nth-of-type(3) {
  	bottom: 0;
  	width: 60%;
  }
  header.site a.toggle.active {
  	color: #1a1a1a;
  }
  header.site a.toggle.active span {
  	background-color: #1a1a1a;
  }
  header.site a.toggle.active span:nth-of-type(1) {
    top: -1.5px;
  	-webkit-transform: translateY(7px) rotate(-45deg);
  	transform: translateY(7px) rotate(-45deg);
  }
  header.site a.toggle.active span:nth-of-type(2) {
  	opacity: 0;
  }
  header.site a.toggle.active span:nth-of-type(3) {
    width: 100%;
  	-webkit-transform: translateY(-7px) rotate(45deg);
  	transform: translateY(-7px) rotate(45deg);
  }
}
/*--------------------------------------------------------------
footer.site
--------------------------------------------------------------*/
footer.site {
  margin: 5em 0 0;
  color: #1a1a1a;
	background-color: #fff;
	/* 白背景のため、本文との境目が消えないよう罫線で区切る */
	border-top: .0625em solid rgba(26,26,26,.125);
}
footer.site .container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
	margin: 0 auto;
	padding: 4em 0 2em;
	width: 92%;
}
footer.site .container .list {
  display: flex;
  flex-wrap: wrap;
}
footer.site .container .list nav {
	margin: 0 1.5em 0 0;
}
footer.site .container .list nav h6 {
	margin: 0 0 .5em;
	font-size: .875em;
}
footer.site .container .list nav h6:not(:first-child) {
  margin: 1.5em 0 .5em;
}
footer.site .container .list nav h6::after {
  display: block;
  content: "";
  margin: .75em 0 .875em;
  width: 2.5em;
  height: .125em;
  background-color: #1a1a1a;
}
footer.site .container .list nav ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
footer.site .container .list nav ul li {
	padding: 0 0 .25em;
}
footer.site .container .list nav ul li a {
	display: inline-block;
	font-size: .875em;
	text-decoration: none;
	color: #1a1a1a;
}
footer.site .container .list nav ul li a:hover {
	text-decoration: underline;
}
footer.site .container .list .support {
	float: left;
}
footer.site .container .list .support ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
footer.site .container .list .support ul li {
	
}
footer.site .container .list .support ul li a {
	display: inline-block;
	margin: 0 0 .5em;
	padding: .8em 1.6em .8em 1em;
	width: 100%;
	font-size: .75em;
	line-height: 1;
	text-decoration: none;
	color: #fff;
	background-color: #1a1a1a;
	border-radius: .1875em;
}
footer.site .container .list .support ul li a i {
	padding-right: 1em;
	color: #fff;
}
footer.site .container .list .support ul li:hover a {
	color: #1a1a1a;
	background-color: #22FFFF;
}
footer.site .container .list .support ul li:hover a i {
	color: #1a1a1a;
}
footer.site .container .company {
	font-size: .8125em;
	color: #1a1a1a;
}
footer.site .container .company figure {
  margin: 0 0 .5em;
}
footer.site .container .company figure img {
  display: inline-block;
	width: 8em;
	height: auto;
}
footer.site .container .company figure span {
  display: inline-block;
  padding: 0 0 0 .75em;
  font-weight: bold;
  vertical-align: super;
}
footer.site .container .company .wrap {
  
}
footer.site .container .company .wrap .name {
	margin: 0 0 .25em;
	font-size: 1.125em;
	font-weight: bold;
}
footer.site .container .company .wrap address {
	font-style: normal;
}
footer.site .container .company .wrap address dl {
  margin: 0;
}
footer.site .container .company .wrap address dl dt {
  margin: 0;
}
footer.site .container .company .wrap address dl dd {
  margin: 0 0 .5em;
}
footer.site .container .company .wrap a {
	display: block;
	text-decoration: none;
	color: #1a1a1a;
}
footer.site .container .company .wrap a:hover {
	text-decoration: underline;
}
footer.site .container .company .wrap .sns {
  display: flex;
  align-items: center;
  margin: 1em 0 0;
  padding: 0;
  list-style-type: none:  
}
footer.site .container .company .wrap .sns li:not(:first-child) {
  margin: 0 0 0 .375em;
}
footer.site .container .company .wrap .sns li {
  display: block;
}
footer.site .container .company .wrap .sns li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2em;
  height: 2em;
  background-color: #1a1a1a;
  border: .0625em solid #1a1a1a;
  border-radius: 50%;
}
footer.site .container .company .wrap .sns li svg {
  width: 1em;
  fill: #fff;
}
footer.site .copyright {
	padding: 2em 0;
	text-align: center;
}
footer.site .copyright .license {
  margin: 0;
  font-size: .75em;
}
footer.site .copyright span {
	display: block;
	font-size: .625em;
}
@media (max-width: 769px) {
  footer.site {
    padding: 3em 0;
  }
  footer.site .container {
    display: block;
  	padding: 1.25em 5%;
  	width: 100%;
  }
  footer.site .container .list nav {
    margin: 0 0 1.25em;
  	padding: 0 2% 1.25em 0;
  	width: 100%;
  	border-bottom: .0625em solid rgba(26,26,26,.125);
  }
  footer.site .container .list nav:nth-child(2) {
    margin: 0;
    width: 50%;
    border: none;
  }
  footer.site .container .list nav ul:nth-child(4) {
    display: flex;
    flex-wrap: wrap;
  }
  footer.site .container .list nav ul:nth-child(4) li {
    width: 50%;
  }
  footer.site .container .support {
  	width: 50%;
  }
  footer.site .container .company {
    padding: 2em 0 0;
    font-size: .75em;
  	text-align: center;
  	border-top: .0625em solid rgba(26,26,26,.125);
  }
  footer.site .container .company .wrap {
    display: inline-block;
    text-align: left;   
  }
}
/*--------------------------------------------------------------
#sp_reserve
--------------------------------------------------------------*/
#sp_reserve {
	display: none;
}
@media (max-width: 769px) {
#sp_reserve {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	background-color: #1a1a1a;
	z-index: 99;
}
#sp_reserve .btn {
	width: calc(100% / 5);
	text-align: center;
}
#sp_reserve .btn:nth-child(3) {
  position: relative;
  background-color: #22FFFF;
}
#sp_reserve .btn:nth-child(3):before {
  position: absolute;
  top: -9px;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 10px;
  background-color: #22FFFF;
  border-radius: 10px 10px 0 0;
  z-index: -1;
}
#sp_reserve .btn:nth-child(3) a {
	padding: .5em 0 .375em;
	color: #1a1a1a;
}
#sp_reserve .btn a {
	display: block;
	padding: 1.125em 0 .75em;
	font-size: 9px;
	font-weight: bold;
	font-family: 'Google Sans', 'Noto Sans JP', sans-serif;
	text-decoration: none;
	color: #fff;
}
#sp_reserve .btn a i {
	display: block;
	padding: 0 0 .25em;
	font-size: 1.5em;
}
#sp_reserve .btn a svg {
  width: auto;
  height: 1.5em;
  color: #fff;
}
}


/*--------------------------------------------------------------
*.0 #pc_calendar
*.0 #sp_calendar
--------------------------------------------------------------*/
#pc_calendar {
	position: fixed;
	bottom: 2em;
	right: 2em;
	z-index: 9999;
}
#pc_calendar .btn {
	display: block;
	margin: 0 0 .25em;
	padding: .75em 1.5em;
	font-size: 1.125em;
	font-weight: bold;
	text-decoration: none;
	color: #fff;
    background: -webkit-linear-gradient(135deg,#f77062 0%,#fe5196 100%);
	border-radius: 30px;
	box-shadow: 2px 2px 6px 0 rgba(0,0,0,.5);
	cursor: pointer;
	transition: .3s;
}
#pc_calendar .btn i {
	padding-left: .25em;
}
#sp_calendar {
	display: none;
}
@media (max-width: 769px) {
#pc_calendar {
	display: none;
}
#sp_calendar {
	position: fixed;
	left: 0;
	bottom: .5em;
	margin: 0 2%;
	width: 96%;
	display: flex;
	flex-wrap: wrap;
	z-index: 999999999;
}
#sp_calendar .btn {
	margin: 0 .5%;
	width: 32%;
	text-align: center;
	background-color: #fff;
	border: 2px solid #1a1a1a;
	border-radius: 4px;
	box-shadow: 2px 2px 6px 0 rgba(0,0,0,.5);
}
#sp_calendar .btn.reserve {
	background: -webkit-linear-gradient(135deg,#f77062 0%,#fe5196 100%);
	border-color: #ff5a5f;
}
#sp_calendar .btn a {
	display: block;
	padding: .75em 0;
	font-size: .75em;
	font-weight: bold;
	text-decoration: none;
	color: #1a1a1a;
}
#sp_calendar .btn.reserve a {
	color: #fff;
}
#sp_calendar .btn.reserve a i {
	padding-left: .25em;
}
}


/*--------------------------------------------------------------
#breadcrumb
--------------------------------------------------------------*/
ul.breadcrumb {
	overflow: auto;
	margin: 60px 0 0;
	padding: 1em;
	font-size: .875em;
	font-weight: bold;
	list-style-type: none;
}
ul.breadcrumb li {
	float: left;
	margin: 0 0 0 .375em;
}
ul.breadcrumb li:first-child {
	margin-left: 0;
}
ul.breadcrumb li:after {
	content: '>';
	padding: 0 0 0 .375em;
}
ul.breadcrumb li:last-child:after {
	display: none;
}
ul.breadcrumb li a {
	text-decoration: none;
	color: #ff5a5f;
	background: -webkit-linear-gradient(135deg,#f77062 0%,#fe5196 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
@media (min-width: 992px) and (max-width: 1199px) {
ul.breadcrumb {
	margin: 120px 0 0;
}
}
@media (min-width: 768px) and (max-width: 991px) {

}
@media (max-width: 767px) {
ul.breadcrumb {
	margin: 60px 0 0;
}
}
/*--------------------------------------------------------------
.btn
--------------------------------------------------------------*/
/* .btn.btn-arrow */
.btn.btn-arrow {
  margin: .5em 0 0;
  text-align: right;
}  
.btn.btn-arrow a {
  position: relative;
  display: inline-block;
  padding: 0 1.25em 0 .5em;
  font-weight: bold;
  color: inherit;
  text-decoration: none;
}
.btn.btn-arrow a::before{
  content: '';
  position: absolute;
  bottom: -.625em;
  left: 0;
  width: 100%;
  height: .125em;
  background-color: #1a1a1a;
  transition: all .3s;
}
.btn.btn-arrow a::after{
  content: '';
  position: absolute;
  bottom: -.3125em;
  right: 0;
  width: .9375em;
  height: .125em;
  background-color: #1a1a1a;
  transform: rotate(35deg);
  transition: all .3s;
}
.btn.btn-arrow a:hover::before{
  left: .5em;
}
.btn.btn-arrow a:hover::after{
  right: -.5em;
}
@media (min-width: 960px) and (max-width: 1279px) {
	
}
@media (min-width: 640px) and (max-width: 959px) {
  .btn.btn-arrow a {
    font-size: .9375em;
  }
}
@media (max-width: 769px) {
  .btn.btn-arrow a {
    font-size: .9375em;
  }
}
/*--------------------------------------------------------------
.breadcrumb
--------------------------------------------------------------*/
.breadcrumb {
	margin: 0 auto;
	width: 92%;
	font-size: .875em;
}
.breadcrumb ul {
	margin: 0;
	padding: 1em 0;
	list-style-type: none;
}
.breadcrumb ul li {
	display: inline-block;
}
.breadcrumb ul li a {
	color: #1a1a1a;
	text-decoration: none;
}
.breadcrumb ul li a:hover {
	text-decoration: underline;
}
.breadcrumb ul li a i {
	padding: 0 .2em 0 0;
}
.breadcrumb ul li:after {
	display: inline-block;
	content: ">";
	padding: 0 .125em 0 .375em;
	color: #888;
}
.breadcrumb ul li:last-child:after {
	display: none;
}
@media (min-width: 960px) and (max-width: 1279px) {
	
}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {
.breadcrumb {
	font-size: .75em;
}
}
/*--------------------------------------------------------------
#toc_container
--------------------------------------------------------------*/
#toc_container {
	margin: 2em 0;
	padding: 1em 2em;
	font-size: .875em;
	background-color: #f8f8f8;
}
#toc_container p.toc_title {
	
}
#toc_container p.toc_title span.toc_toggle {
	
}
#toc_container p.toc_title span.toc_toggle a {
	text-decoration: none;
}
#toc_container ul.toc_list {
	padding: 0;
	list-style-type: none;
}
#toc_container ul.toc_list li {
	
}
#toc_container ul.toc_list li a {
	text-decoration: none;
	color: #080808;
}
#toc_container ul.toc_list li a:hover {
	color: #c1272d;
}
#toc_container ul.toc_list li ul {
	margin: .5em 0;
	padding: 0 0 0 .5em;
	font-size: .875em;
	list-style-type: none;
}
#toc_container ul.toc_list li ul li {
	
}
#toc_container ul.toc_list li ul li a {
	
}
/*--------------------------------------------------------------
aside.sidebar
--------------------------------------------------------------*/
#ranking {
	margin: 1em 0;
}
#ranking header {
	margin: 0 0 1em;
}
#ranking header h4 {
	display: inline-block;
	margin: 0;
	font-size: 1.25em;
}
#ranking header .en {
	display: inline-block;
	margin: 0 0 0 1em;
	font-size: .75em;
	font-family: 'Google Sans', sans-serif;
	letter-spacing: .05em;
}
#ranking ol {
	padding: 0;
	list-style-type: none;
	counter-reset: archive-mark;
}
#ranking ol li {
	display: table;
	margin: 0 0 1em;
}
#ranking ol li:before {
	display: table-cell;
	width: 2em;
	font-family: 'PT Sans', sans-serif;
	font-weight: 700;
	text-align: center;
	color: #fff;
	background-color: #1a1a1a;
	vertical-align: middle;
	content: counter(archive-mark, decimal);
	counter-increment: archive-mark;
}
#ranking ol li a {
	display: block;
	text-decoration: none;
	color: #1a1a1a;
}
#ranking ol li a:hover {
	color: #1a1a1a;
	background: -webkit-linear-gradient(135deg, #9a9a9a 0%, #1a1a1a 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#ranking ol li a figure {
	display: inline-block;
	margin: 0;
	width: 30%;
	vertical-align: top;
}
#ranking ol li a figure img {
	width: 100%;
	height: auto;
}
#ranking ol li a .ttl {
	display: inline-block;
	margin: 0 0 0 1em;
	padding: .5em 0;
	font-size: .875em;
	font-weight: bold;
}
#ranking ol li:nth-child(2):before {
	background-color: rgba(193,39,45,.8);
}
#ranking ol li:nth-child(3):before {
	background-color: rgba(193,39,45,.6);	
}
#ranking ol li:nth-child(4):before,
#ranking ol li:nth-child(5):before,
#ranking ol li:nth-child(6):before,
#ranking ol li:nth-child(7):before,
#ranking ol li:nth-child(8):before,
#ranking ol li:nth-child(9):before,
#ranking ol li:nth-child(10):before,
#ranking ol li:nth-child(11):before,
#ranking ol li:nth-child(12):before,
#ranking ol li:nth-child(13):before,
#ranking ol li:nth-child(14):before,
#ranking ol li:nth-child(15):before,
#ranking ol li:nth-child(16):before,
#ranking ol li:nth-child(17):before,
#ranking ol li:nth-child(18):before,
#ranking ol li:nth-child(19):before,
#ranking ol li:nth-child(20):before {
	color: rgba(193,39,45,1);
	background-color: transparent;
}
#ranking ol li:nth-child(1) a .ttl,
#ranking ol li:nth-child(2) a .ttl,
#ranking ol li:nth-child(3) a .ttl {
	font-size: 1em;	
}
/*--------------------------------------------------------------
front-page.php
--------------------------------------------------------------*/
.wrapper {
  margin-top: 3.75em;
}
.wrapper main {
	
}
.wrapper main article {

}
@media (max-width: 769px) {

}
/*.studio-option*/
.home .wrapper main article .studio-option {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
	width: 92%;
	max-width: 1440px;
}
@media (max-width: 769px) {

}
/*.studio*/
.home .wrapper main article .studio-option .studio {
  width: 72.5%;
}
.home .wrapper main article .studio-option .studio header.section {
	margin: 0 0 1em;
}
.home .wrapper main article .studio-option .studio header.section h2 {
	display: inline-block;
	margin: 0;
	font-size: 1.25em;
}
.home .wrapper main article .studio-option .studio header.section .en {
	display: inline-block;
	margin: 0 0 0 1em;
	font-size: .75em;
	font-family: 'Google Sans', sans-serif;
	letter-spacing: .05em;
}
.home .wrapper main article .studio-option .studio .row {
  display: flex;
  flex-wrap: wrap;
}
.home .wrapper main article .studio-option .studio .row .column {
  margin: 0 1em 1em 0;
  width: calc((100% - 2em) / 3);
}
.home .wrapper main article .studio-option .studio .row .column:nth-child(3n) {
  margin: 0 0 2em 0;
}
.home .wrapper main article .studio-option .studio .row .column a {
  position: relative;
  display: block;
  text-decoration: none;
  color: inherit;
}
.home .wrapper main article .studio-option .studio .row .column a .group {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  padding: .25em .75em;
  font-size: .75em;
  font-weight: bold;
  color: #fff;
  background-color: #1a1a1a;
  border-radius: 20px;
}
.home .wrapper main article .studio-option .studio .row .column a figure {
  overflow: hidden;
  margin: 0 0 .5em;
  border-radius: .5em;
}
.home .wrapper main article .studio-option .studio .row .column a figure img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
/* オープン前スタジオのプレースホルダ（写真未用意のためCSSで作る） */
.home .wrapper main article .studio-option .studio .row .column.is-comingsoon a {
  cursor: default;
}
.home .wrapper main article .studio-option .studio .row .column a figure.comingsoon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .4em;
  aspect-ratio: 16 / 9;
  background: #f2f2f2;
}
.home .wrapper main article .studio-option .studio .row .column a figure.comingsoon .cs-label {
  font-family: 'Google Sans', sans-serif;
  font-size: 1em;
  font-weight: 700;
  letter-spacing: .06em;
  color: #9a9a9a;
}
.home .wrapper main article .studio-option .studio .row .column a figure.comingsoon .cs-date {
  font-family: 'Google Sans', sans-serif;
  font-size: 2em;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  color: #cfcfcf;
}
.home .wrapper main article .studio-option .studio .row .column a .body {

}
.home .wrapper main article .studio-option .studio .row .column a .body .name {
  margin: 0 0 .25em;
  font-size: 1em;
  font-weight: bold;
}
.home .wrapper main article .studio-option .studio .row .column a .body .name img {
  display: inline-block;
  padding-right: .375em;
  height: 1em;
  vertical-align: baseline;
}
.home .wrapper main article .studio-option .studio .row .column a .body .desc {
  margin: 0;
  font-size: .875em;
}
.home .wrapper main article .studio-option .studio .row .column a .body .btn {
  margin: 0;
  font-size: .75em;
  font-weight: bold;
  text-align: right;
  color: inherit;
}
.home .wrapper main article .studio-option .studio .row .column a .body .btn i {
  padding-left: .25em;
}
.home .wrapper main article .studio-option .studio .row .column:hover a .body .btn i {
  transform: translateX(5px);
}
@media (max-width: 769px) {
  .home .wrapper main article .studio-option .studio {
    width: 100%;
  }
  .home .wrapper main article .studio-option .studio .row .column {
    margin: 0 0 1em;
    width: 100%;
  }
  .home .wrapper main article .studio-option .studio .row .column a {
    display: flex;
    justify-content: space-between;
  }
  .home .wrapper main article .studio-option .studio .row .column a figure {
    margin: 0;
    width: 40%;
    height: 10em;
  }
  .home .wrapper main article .studio-option .studio .row .column a figure img {
    height: 100%;
  }
  .home .wrapper main article .studio-option .studio .row .column a .body {
    width: 55%;
  }
}
/*.option*/
.home .wrapper main article .studio-option .option {
  width: 23.5%;
}
.home .wrapper main article .studio-option .option header.section {
	margin: 0 0 1em;
}
.home .wrapper main article .studio-option .option header.section h2 {
	display: inline-block;
	margin: 0;
	font-size: 1.25em;
}
.home .wrapper main article .studio-option .option header.section .en {
	display: inline-block;
	margin: 0 0 0 1em;
	font-size: .75em;
	font-family: 'Google Sans', sans-serif;
	letter-spacing: .05em;
}
.home .wrapper main article .studio-option .option ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.home .wrapper main article .studio-option .option ul li {
  padding: 1em 0;
  border-bottom: 1px solid #efefef;
  transition: .3s;
}
.home .wrapper main article .studio-option .option ul li:last-child {
  border: none;
}
.home .wrapper main article .studio-option .option ul li:hover {
  opacity: .75;
}
.home .wrapper main article .studio-option .option ul li a {
  text-decoration: none;
  color: inherit;
}
.home .wrapper main article .studio-option .option ul li a h3 {
  margin: 0;
  font-size: 1em;
}
.home .wrapper main article .studio-option .option ul li a h3 i {
  padding: 0 0 0 .25em;
  font-size: 1.125em;
  vertical-align: baseline;
}
.home .wrapper main article .studio-option .option ul li a:hover h3 i {
  transform: translateX(5px);
}
.home .wrapper main article .studio-option .option ul li a p.fee {
  margin: 0 0 .25em;
}
.home .wrapper main article .studio-option .option ul li a p.fee small {
  padding-left: .25em;
}
.home .wrapper main article .studio-option .option ul li a p.desc {
  margin: 0;
  font-size: .875em;
}
.home .wrapper main article .studio-option .option ul li a p.desc small {
  display: block;
}
@media (max-width: 769px) {
  .home .wrapper main article .studio-option .option {
    margin: 1em 0 0;
    padding: 2em 0 0;
    width: 100%;
    border-top: 1px solid #efefef;
  }
  .home .wrapper main article .studio-option .option header.section {
    margin: 0 0 .5em;
  }
  .home .wrapper main article .studio-option .option ul li {
    padding: .5em 0;
    border: none;
  }
}
/*.post*/
.home .wrapper main article .post {
  margin: 3em 0;
}
.home .wrapper main article .post .container {
	margin: 0 auto;
	width: 92%;
	max-width: 1440px;
}
.home .wrapper main article .post .container header.section {
	margin: 0 0 1em;
}
.home .wrapper main article .post .container header.section h2 {
	display: inline-block;
	margin: 0;
	font-size: 1.25em;
}
.home .wrapper main article .post .container header.section .en {
	display: inline-block;
	margin: 0 0 0 1em;
	font-size: .75em;
	font-family: 'Google Sans', sans-serif;
	letter-spacing: .05em;
}
.home .wrapper main article .post .container header.section {

}
.home .wrapper main article .post .container header.section .desc {
	margin: 0 0 1em;
	font-size: .875em;
	color: #717171;
}
.home .post .container .row {
	display: flex;
	flex-wrap: wrap;
}
.home .post .container .row .column {
	margin: 0 1em 1em 0;
	width: calc((100% - 3em) / 4);
}
.home .post .container .row .column:nth-child(4n) {
	margin: 0 0 1em 0;
}
.home .post .container .row .column a {
	display: block;
	width: 100%;
	text-decoration: none;
	color: inherit;
}
.home .post .container .row .column a figure {
	overflow: hidden;
	position: relative;
	margin: 0 0 .5em;
	border-radius: 12px;
	border: 3px solid #fff;
}
.home .post .container .row .column a:hover figure {
	overflow: hidden;
	margin: 0 0 .5em;
	border-radius: 12px;
	border-color: #1a1a1a;
}
.home .post .container .row .column a figure:before {
    content:"";
    display: block;
    padding-top: 56.25%;
}
.home .post .container .row .column a figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition-duration: 0.5s;
}
.home .post .container .row .column a:hover figure img {
	transform: scale(1.125);
}
.home .post .container .row .column a .title {
	overflow: hidden;
	margin: 0;
	max-height: 2.8em;
	font-size: .875em;
	line-height: 1.4;
}
.home .post .container .row .column a:hover .title {
	color: #1a1a1a;
	background: -webkit-linear-gradient(135deg, #9a9a9a 0%, #1a1a1a 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
@media (max-width: 769px) {
  .home .post .container h2 {
    font-size: 2em;
  }
  .home .post .container .row .column {
  	margin: 0 .5em 1em 0;
  	width: calc(100% / 2 - .25em);
  }
  .home .post .container .row .column:nth-child(2n) {
  	margin: 0 0 1em 0;
  }
  .home .post .container .row .column a .title {
  	font-size: .75em;
  }
}
/*.image*/
.image {
  padding: 20px;
	height: 80vh;
}
.image .content {
  width: 360px;
  /* ヘッダー（z-index 999）より大きいとドロップダウンにロゴが被る（2026-08-20 児島指摘）。
     スライダー（.main_img は 10）より上、ヒーロー内ナビ（99）より下に置く。
     z-index は position 指定が無いと効かないため relative を明示する。 */
  position: relative;
  z-index: 20;
}
.image .content img {
  display: block;
  width: 100%;
}
.image .container nav {
  position: absolute;
  right: 0;
  bottom: 2em;
  left: 0;
  margin: 0 auto;
  width: 92%;
  z-index: 99;
}
.image .container nav ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.image .container nav ul li {
  overflow: auto;
  margin: 0 .375em;
  width: calc(100% / 6 - .75em);
  background-color: #fff;
  border-radius: .1875em;
  transition: .25s;
}
.image .container nav ul li:hover {
  box-shadow: 0 0 20px 0 rgba(0,0,0,.125);
  transform: scale(1.025);
}
.image .container nav ul li a {
  position: relative;
  display: block;
  padding: 1em 2em;
  font-size: .875em;
  font-weight: bold;
  text-decoration: none;
  color: inherit;
}
.image .container nav ul li:hover a {
	color: #1a1a1a;
	background: -webkit-linear-gradient(135deg, #9a9a9a 0%, #1a1a1a 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.image .container nav ul li a::before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  width: 3em;
  height: 100%;
  background-color: #1a1a1a;
}
.image .container nav ul li a::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 3em;
  height: 100%;
  content: "";
  display: block;
  background-image: url(assets/images/common/arrow-down-solid.svg);
  background-size: 25% auto;
  background-repeat: no-repeat;
  background-position: center;
}
.image .container {
	position: relative;
	overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
	height: 100%;
  border-radius: 12px;
}
.image .container .main_imgBox {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main_img {
  z-index:10;
  opacity: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-animation: anime 36s 0s infinite;
  animation: anime 36s 0s infinite; 
}
.main_img:nth-of-type(2) {
-webkit-animation-delay: 6s;
animation-delay: 6s; }

.main_img:nth-of-type(3) {
-webkit-animation-delay: 12s;
animation-delay: 12s; }

.main_img:nth-of-type(4) {
-webkit-animation-delay: 18s;
animation-delay: 18s; }

.main_img:nth-of-type(5) {
-webkit-animation-delay: 24s;
animation-delay: 24s; }

.main_img:nth-of-type(6) {
-webkit-animation-delay: 30s;
animation-delay: 30s; }
  @keyframes anime {
  0% {
        opacity: 0;
    }
    8% {
        opacity: 1;
    }
    17% {
        opacity: 1;
    }
    25% {
        opacity: 0;
        transform: scale(1.1) ;
         z-index:9;
    }
    100% { opacity: 0 }
}
@media (max-width: 769px) {
  .image {
    padding: 0;
  	height: 50vh;
  }
  .image .container {
  	border-radius: 0;
  }
  .image .container .content {
    display: none;
  }
  .image .container nav {
    bottom: .5em;
  }
  .image .container nav ul li {
    margin: 0 .125em .25em;
    width: calc(100% / 3 - .25em);
  }
  .image .container nav ul li a {
    padding: .75em 1.25em;
    font-size: .75em;
  }
}
/*.mv*/
.mv {
	margin: 0 0 3em;
}
.mv .container {
  position: relative;
}
.mv .container figure {
  margin: 0;
  width: 60%;
}
.mv .container figure img {
  display: block;
  width: 100%;
}
.mv .container .body {
  position: absolute;
  right: 50px;
  bottom: 50px;
  width: 65%;
}
.mv .container .body h2 {
  margin: 0 0 0.5em;
  font-size: 2em;
  line-height: 1.6;
}
.mv .container .body h2 span {
  display: inline-block;
  margin: 0 0 .25em;
  padding: .125em .375em 0;
  background-color: #fff;
  border-radius: 2px;
}
.mv .container .body h2 span small {
  padding: 0 .375em 0 .25em;
  font-size: .6125em;
  vertical-align: middle;
}
.mv .container .body p {
  margin: 0 auto;
  padding: 1em 1.5em;
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1.8;
  background-color: #fff;
  border-radius: 2px;
}
@media (max-width: 769px) {
  .mv .container figure {
    margin: 0 0 1em;
    width: 100%;
  }
  .mv .container .body {
    position: relative;
    right: inherit;
    bottom: inherit;
    width: 100%;
  }
  .mv .container .body h2 {
    font-size: 1.25em;
    text-align: center;
  }
  .mv .container .body h2 span {
    margin: 0;
    padding: 0;
  }
  .mv .container .body p {
    margin: 0 auto;
    padding: 0;
    width: 92%;
    font-size: .9375em;
    font-weight: normal;
  }
}
/*.concept*/
.concept {
	margin: 1em 0 3em;
}
.concept .container {
	margin: 0 auto;
	width: 92%;
	max-width: 1280px;
}
.concept .container h1,
.concept .container h2 {
  margin: 0 0 .5em;
  font-size: 2em;
  line-height: 1.4;
  text-align: center;
}
.concept .container figure {
	margin: 0;
}
.concept .container figure img {
  display: block;
  width: 100%;
}
@media (max-width: 769px) {
  .concept .container h1,
.concept .container h2 {
    font-size: 1.25em;
  }
}
/*.feature*/
.wrapper.studio main article .feature {
	margin: 3em 0;
}
.wrapper.studio main article .feature .container {
	margin: 0 auto;
	width: 92%;
	max-width: 1080px;
}
.wrapper.studio main article .feature .container .row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.wrapper.studio main article .feature .container .row .column {
	overflow: auto;
	margin: 0 0 2em;
	width: 31%;
}
.wrapper.studio main article .feature .container .row .column figure {
	margin: 0;
}
.wrapper.studio main article .feature .container .row .column figure img {
	display: block;
	width: 100%;
	border-radius: 12px;
}
.wrapper.studio main article .feature .container .row .column .content {
	
}
.wrapper.studio main article .feature .container .row .column .content h3 {
	margin: 0 0 .25em;
	font-size: 1.25em;
	text-align: center;
}
.wrapper.studio main article .feature .container .row .column .content p {
	margin: 0;
}
.wrapper.studio main article .feature .container .row .column .content p small {
	display: block;
	padding-top: .25em;
	font-size: .75em;
}
.wrapper.studio main article .feature .container .row .column .content p span.note {
	font-size: .75em;
}
.wrapper.studio main article .feature .container .row .column .content p span.note a {
	padding: 0 .125em;
	color: #ff5a5f;
}
.wrapper.studio main article .feature .container .row .column .content p span.note a.menu-trigger{
	text-decoration: underline;
	cursor: pointer;
}
@media (max-width: 769px) {
  .wrapper.studio main article .feature .container .row .column {
  	margin: 0 0 1em;
  	width: 100%;
  }
  .wrapper.studio main article .feature .container .row .column .content h3 {
    font-size: 1.125em;
  }
  .wrapper.studio main article .feature .container .row .column .content p {
    font-size: .9375em;
  }
}
/*.plan*/
.plan {
	margin: 3em 0;
}
.plan .container {
	margin: 0 auto;
	width: 92%;
	max-width: 720px;
}
.plan .container h2 {
  margin: 0 0 .5em;
  font-size: 2em;
  text-align: center;
}
.plan .container .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.plan .container .row .column {
  width: 49%;
}
.plan .container .price {
	text-align: center;
	font-weight: bold;
	letter-spacing: .01em;
}
.plan .container .price .hour {
  margin: 0 0 1em;
  text-align: center;
}
.plan .container .price .hour span {
	display: inline-block;
	padding: .5em 1em;
	line-height: 1;
	vertical-align: middle;
	border: 2px solid #1a1a1a;
	border-radius: 50px;
}
.plan .container .price .num {
	font-size: 4em;
	line-height: 1;
	vertical-align: bottom;
}
.plan .container .price .unit {
	display: inline-block;
	padding-left: .25em;
}
.plan .container .price .tax {
	margin: .25em 0 0;
	font-size: 1.25em;
}
.plan .container .price .tax span {
	padding: 0 .125em;
	font-size: .75em;
}
.plan .container .note {
  margin: 0 0 1em;
	text-align: center;
}
.plan .container .note ul {
	display: inline-block;
	margin: 1em 0 0;
	padding: 0;
	font-size: .75em;
	list-style-type: none;
}
.plan .container .note ul li {
	text-align: left;
}
.plan .container .insurance {
	text-align: center;
}
.plan .container .insurance h4 {
	margin: 0 0 .5em;
	font-size: 1.125em;
}
.plan .container .insurance p {
	font-size: .875em;
}
.plan .container .insurance .price .num {
	font-size: 2em;
}
@media (max-width: 769px) {
  .plan .container h2 {
    font-size: 1.75em;
  }
  .plan .container .row .column {
    width: 100%;
  }
  .plan .container .row .column:first-child {
    margin: 0 0 2em;
  }
}
/*.pack*/
.wrapper.studio main article .pack {
	margin: 5em 0;
}
.wrapper.studio main article .pack .container {
	margin: 0 auto;
	padding: 2em 2em 2.5em;
	width: 88%;
	max-width: 540px;
	background-color: #1a1a1a;
	border-radius: 12px;
}
.wrapper.studio main article .pack .container h3 {
  margin: 0;
  font-size: 2em;
  text-align: center;
  text-shadow: 
    0 0 1px #8080ed, 0 0 3px #8080ed, 
    0 0 6px #8080ed, 0 0 10px #8080ed, 
    0 0 30px #8080ed, 0 0 50px #8080ed;
  color: #fff;
}
.wrapper.studio main article .pack .container p {
  margin: 0 0 1em;
  font-weight: bold;
  text-shadow: 
    0 0 1px #8080ed, 0 0 3px #8080ed, 
    0 0 6px #8080ed, 0 0 10px #8080ed, 
    0 0 30px #8080ed, 0 0 50px #8080ed;
  color: #fff;
}
.wrapper.studio main article .pack .container .price {
	text-align: center;
	font-weight: bold;
	letter-spacing: .01em;
  text-shadow: 
    0 0 1px #8080ed, 0 0 3px #8080ed, 
    0 0 6px #8080ed, 0 0 10px #8080ed, 
    0 0 30px #8080ed, 0 0 50px #8080ed;
  color: #fff;
}
.wrapper.studio main article .pack .container .price .hour {
  text-align: center;
}
.wrapper.studio main article .pack .container .price .hour span {
	display: inline-block;
  font-size: 1.125em;
  font-weight: bold;
  text-align: center;
  text-shadow: 
    0 0 1px #8080ed, 0 0 3px #8080ed, 
    0 0 6px #8080ed, 0 0 10px #8080ed, 
    0 0 30px #8080ed, 0 0 50px #8080ed;
  color: #fff;
}
.wrapper.studio main article .pack .container .price .num {
	font-size: 3em;
	line-height: 1;
	vertical-align: bottom;
}
.wrapper.studio main article .pack .container .price .unit {
	display: inline-block;
	padding-left: .25em;
}
.wrapper.studio main article .pack .container .price .tax {
	margin: .25em 0 0;
	font-size: 1.25em;
}
.wrapper.studio main article .pack .container .price .tax span {
	padding: 0 .125em;
	font-size: .75em;
}
.wrapper.studio main article .pack .container .btn {
  position: relative;
  margin: 1em 0 0;
  text-align: center;
  z-index: 99;
}
.wrapper.studio main article .pack .container .btn a {
  display: inline-block;
  padding: .75em 2em;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
  background-color: #1b2d50;
	border: 2px solid #1b2d50;
	border-radius: 50px;
	z-index: 99999;
	transition: .3s;
}
.wrapper.studio main article .pack .container .btn a:hover {
  color: #1b2d50;
  background-color: #fff;
}
@media (max-width: 769px) {
  .wrapper.studio main article .pack .container h3 {
    font-size: 2em;
  }
}
.stars {
  position: relative;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(0deg, #00dedc, #115d89, #080f1c);
  overflow: hidden;
}
.star {
  position: absolute;
  display: block;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 0 4px 2px rgba(#fff, 0.2);
  opacity: 0;
  animation: twinkle 5s infinite;
}
@keyframes twinkle {
  0% {
    opacity: 0;
  }
  50% {
    transform: scale(1.1);
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(1);
  }
}
/*.drawing*/
.wrapper.studio main article .drawing {
	margin: 3em 0;
}
.wrapper.studio main article .drawing .container {
	margin: 0 auto;
	width: 92%;
	max-width: 960px;
}
.wrapper.studio main article .drawing .container h2 {
  margin: 0 0 .5em;
  font-size: 2em;
  text-align: center;
}
.wrapper.studio main article .drawing .container p.desc {
	font-size: 1.125em;
	font-weight: bold;
	text-align: center;
}
.wrapper.studio main article .drawing .container .btn {
	margin: 1em 0;
	text-align: center;
}
.wrapper.studio main article .drawing .container .btn div {
	display: inline-block;
	margin: 0 .5em;
	cursor: pointer;
}
.wrapper.studio main article .drawing .container .btn div span {
	padding: 0 0 0 25px;
	background-image: url(assets/images/check_blank.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: auto 16px;
}
.wrapper.studio main article .drawing .container .btn div.active span {
	background-image: url(assets/images/check.svg);
}
.wrapper.studio main article .drawing .container .content {
	position: relative;
}
.wrapper.studio main article .drawing .container .content img {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.wrapper.studio main article .drawing .container .content img.on {
	display: block;
}
.wrapper.studio main article .drawing .container .content img.drawing1 { position: relative; display: block; z-index: 95; }
.wrapper.studio main article .drawing .container .content img.drawing2 { z-index: 96; }
.wrapper.studio main article .drawing .container .content img.drawing3 { z-index: 97; }
.wrapper.studio main article .drawing .container .content img.drawing4 { z-index: 98; }
.wrapper.studio main article .drawing .container .content img.drawing5 { z-index: 99; }
.wrapper.studio main article .drawing .container .pdf {
	text-align: center;
}
@media (max-width: 769px) {
  .wrapper.studio main article .drawing .container h2 {
    font-size: 1.75em;
  }
}
/*.wrapper.studio main article .gallery*/
.wrapper.studio main article .gallery {
	margin: 5em 0;
}
.wrapper.studio main article .gallery .container {
  margin: 0 auto;
  max-width: 1280px;
}
.wrapper.studio main article .gallery .container h2 {
  margin: 0 0 .5em;
  font-size: 2em;
  text-align: center;
}
.wrapper.studio main article .gallery .container .row {
	display: flex;
	flex-wrap: wrap;
}
.wrapper.studio main article .gallery .container .row a {
	position: relative;
	width: 25%;
}
.wrapper.studio main article .gallery .container .row a img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #fff;
}
.wrapper.studio main article .gallery .container .row a img.icon {
	position: absolute;
	top: .75em;
	left: .75em;
	width: 40px;
	height: auto;
	border: none;
}
@media (max-width: 769px) {
  .wrapper.studio main article .gallery .container h2 {
    font-size: 1.75em;
  }
  .wrapper.studio main article .gallery .container .row a {
  	width: 50%;
  }
  .wrapper.studio main article .gallery .container .row a img.icon {
  	width: 30px;
  }
}
/*.equipment*/
.wrapper.studio main article .equipment {
  margin: 3em 0;
}
.wrapper.studio main article .equipment .container {
	margin: 0 auto;
	width: 92%;
	max-width: 1140px;
}
.wrapper.studio main article .equipment .container h2 {
  margin: 0 0 .5em;
  font-size: 2em;
  text-align: center;
}
.wrapper.studio main article .equipment .container h3 {
  font-size: 1.75em;
  text-align: center;
}
.wrapper.studio main article .equipment .container ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.wrapper.studio main article .equipment .container ul li {
	position: relative;
    margin: 0 1% 1.5em;
    width: 23%;
    text-align: center;
    color: #1a1a1a;
}
.wrapper.studio main article .equipment .container ul li figure {
	margin: 0 0 .5em;
}
.wrapper.studio main article .equipment .container ul li figure img {
	display: block;
	width: 100%;
}
.wrapper.studio main article .equipment .container ul li .name {
	display: block;
  font-weight: bold;
}
.wrapper.studio main article .equipment .container ul li .name a {
	padding: 0 0 0 .5em;
	font-size: .875em;
	vertical-align: top;
	text-decoration: none;
	color: #ff5a5f;
}
.wrapper.studio main article .equipment .container ul li .item {
	display: block;
	font-size: .875em;
	line-height: 1.4;
}
.wrapper.studio main article .equipment .container ul li .num {
	position: absolute;
	top: 1em;
	right: 1em;
	display: inline-block;
	width: 42px;
	height: 42px;
	font-size: .75em;
  font-weight: bold;
	line-height: 42px;
	text-align: center;
	color: #fff;
	background-color: #1a1a1a;
	border-radius: 50%;
}
.wrapper.studio main article .equipment .container ul li .pay {
	margin: .25em 0 0;
}
.wrapper.studio main article .equipment .container ul li .pay span.frame {
	display: inline-block;
	padding: .5em 1em;
	font-size: .875em;
  font-weight: bold;
	line-height: 1;
	border: 1px solid #1a1a1a;
	border-radius: 20px;
}
.wrapper.studio main article .equipment .container ul li .pay span.frame span.small {
	padding-left: .25em;
	font-size: .875em;
}
.wrapper.studio main article .equipment .container .attention {
	font-size: .875em;
	text-align: center;
}
.wrapper.studio main article .equipment .container .attention ul {
	display: inline-block;
	margin: 2em 0;
	padding: 0;
	list-style-type: none;
}
.wrapper.studio main article .equipment .container .attention ul li {
    margin: 0;
    width: 100%;
    text-align: left;
}
.wrapper.studio main article .equipment .container .attention ul li span {
	padding: 0 .5em 0 0;
	font-size: 1.125em;
  font-weight: bold;
	color: #ff5a5f;
}
.wrapper.studio main article .equipment .container .attention ul li .colors {
	display: flex;
	flex-wrap: wrap;
	margin: .5em 0 0;
}
.wrapper.studio main article .equipment .container .attention ul li .colors div {
	display: inline-block;
	margin: 0 2px 4px;
	padding: 25px 0;
	width: 100px;
	font-size: .75em;
  font-weight: bold;
	line-height: 1.4;
	text-align: center;
	border-radius: 3px;
}
.wrapper.studio main article .equipment .container .attention ul li .colors div span {
	display: block;
	font-size: 1.5em;
	letter-spacing: .025em;
	color: inherit;
}
@media (max-width: 769px) {
  .wrapper.studio main article .equipment .container h2 {
    font-size: 1.75em;
  }
  .wrapper.studio main article .equipment .container ul li {
      width: 48%;
  }
  .wrapper.studio main article .equipment .container ul li .num {
  	width: 30px;
  	height: 30px;
  	line-height: 30px;
  }
  .wrapper.studio main article .equipment .container .attention ul li .colors div {
  	margin: 0 .5% 1%;
  	width: 24%;
  }
}
/*.guide*/
.wrapper.studio main article .guide {
	margin: 3em 0;
}
.wrapper.studio main article .guide .container {
	margin: 0 auto;
	width: 92%;
	max-width: 1080px;
}
.wrapper.studio main article .guide .container h2 {
  margin: 0 0 .5em;
  font-size: 2em;
  text-align: center;
}
.wrapper.studio main article .guide .container .row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.wrapper.studio main article .guide .container .row .column {
	width: 48%;
}
.wrapper.studio main article .guide .container .row .column h3 {
	margin: 0;
	font-size: 1.25em;
}
.wrapper.studio main article .guide .container .row .column ol {
	margin: 1em 0 1em 20px;
	padding: 20px 0 0 20px;
	list-style-type: none;
	border-left: 1px solid #040404;
}
.wrapper.studio main article .guide .container .row .column ol li {
	margin: 0 0 1em -32px;
	padding: 0 0 0 50px;
	background-image: url(assets/images/circle.svg);
	background-position: left top 4px;
	background-repeat: no-repeat;
	background-size: 22px auto;
}
.wrapper.studio main article .guide .container .row .column ol li h4 {
	margin: 0;
	font-size: 1.125em;
}
.wrapper.studio main article .guide .container .row .column ol li p {
	margin: .25em 0;
}
.wrapper.studio main article .guide .container .row .column ol li p small {
  display: block;
}
.wrapper.studio main article .guide .container .row .column ol li p a {
	color: #0693e3;
}
.wrapper.studio main article .guide .container .row .column p {
	margin: .5em 0;
}
.wrapper.studio main article .guide .container .row .column p.note {
	margin: .5em 0 0;
	font-size: .75em;
}
.wrapper.studio main article .guide .container .row .column figure {
	text-align: center;
}
.wrapper.studio main article .guide .container .row .column figure img {
	width: 70%;
}
.wrapper.studio main article .guide .container .row .column table {
  margin: 1em 0;
  width: 100%;
  text-align: center;
  border: 1px solid #ddd;
  border-collapse: collapse;
}
.wrapper.studio main article .guide .container .row .column table tbody {
	
}
.wrapper.studio main article .guide .container .row .column table tbody tr {
	
}
.wrapper.studio main article .guide .container .row .column table tbody tr th {
	padding: .75em;
	background-color: rgba(255,255,255,.25);
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
.wrapper.studio main article .guide .container .row .column table tbody tr td {
	padding: .75em;
	background-color: rgba(255,255,255,.75);
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
@media (max-width: 769px) {
  .wrapper.studio main article .guide .container h2 {
    font-size: 1.5em;
  }
  .wrapper.studio main article .guide .container .row .column {
  	width: 100%;
  }
  .wrapper.studio main article .guide .container .row .column h3 {
    font-size: 1.25em;
  }
  .wrapper.studio main article .guide .container .row .column ol li h4 {
  	font-size: 1em;
  }
  .wrapper.studio main article .guide .container .row .column ol li p {
	  font-size: .875em;
  }

}

/*.calendar*/
.calendar_cover {

}
.calendar_cover .container {
	margin: 10em auto 0;
  width: 92%;
  max-width: 360px;
}
.calendar_cover .container .content {

}
.calendar_cover .container .content .btn {
  margin: .5em 0;
  padding: .75em 1em;
  text-align: center;
  background-color: #fff;
  border: 2px solid #1a1a1a;
  border-radius: 4px;
  box-shadow: 2px 2px 6px 0 rgb(0 0 0 / 50%);
}
.calendar_cover .container .content .btn a {
  display: block;
	font-weight: bold;
  text-decoration: none;
  color: #1a1a1a;
}
/*.calendar*/
.calendar {
  margin: 3em 0;
	font-weight: bold;
}
.calendar .container {
	margin: 0 auto;
	width: 92%;
	max-width: 1080px;
}
.calendar .container h2 {
  margin: 0;
  font-size: 2em;
  text-align: center;
}
.calendar .container .tab {
  margin: 1em 0;
  text-align: center;
}
.calendar .container .tab ul {
  display: inline-flex;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.calendar .container .tab ul li {
  margin: 0 .25em;
}
.calendar .container .tab ul li a {
  display: block;
  padding: .25em 1em;
  font-size: .875em;
  text-decoration: none;
  color: inherit;
  border: 2px solid #1a1a1a;
  border-radius: 20px;
}
.calendar .container h3 {
  margin: 0 0 .5em;
  font-size: 1.75em;
  text-align: center;  
}
.calendar .container .wrap {
	margin: 0 auto;
	max-width: 840px;
}
.calendar .container .wrap p {
	text-align: center;
}
.calendar .container .wrap p a {
	padding: 0 .125em;
	color: #ff5a5f;
}
.calendar .container .wrap .how {
	margin: 0 0 1em;
	text-align: center;
}
.calendar .container .wrap .how dl {
	margin: 0;
}
.calendar .container .wrap .how dl dt {
	display: inline-block;
	padding: 0 .5em 0 0;
	font-weight: bold;
}
.calendar .container .wrap .how dl dd {
	display: inline-block;
	margin: 0 1em 0 0;
}
.calendar .container .wrap .arrows,
.calendar .container .wrap .arrows_2nd {
	position: relative;
	overflow: auto;
	margin: 0 0 1em;
	z-index: 99;
}
.calendar .container .wrap .arrows .slick-arrow,
.calendar .container .wrap .arrows_2nd .slick-arrow {
	padding: .5em 1em;
	font-size: .875em;
	color: #fff;
	background-color: #1a1a1a;
	border-radius: 3px;
	cursor: pointer;
}
.calendar .container .wrap .arrows .prev,
.calendar .container .wrap .arrows_2nd .prev {
	float: left;
}
.calendar .container .wrap .arrows .prev i,
.calendar .container .wrap .arrows_2nd .prev i {
	padding-right: .25em;
}
.calendar .container .wrap .arrows .next,
.calendar .container .wrap .arrows_2nd .next {
	float: right;
}
.calendar .container .wrap .arrows .next i,
.calendar .container .wrap .arrows_2nd .next i {
	padding-left: .25em;
}
.calendar .container .wrap ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.calendar .container .wrap ul li {
	display: inline-block;
}
.calendar .container .wrap table {
	width: 100%;
	font-size: .875em;
	border: 3px solid #1a1a1a;
	border-collapse: collapse;
}
.calendar .container .wrap table thead {

}
.calendar .container .wrap table thead tr {
	
}
.calendar .container .wrap table thead tr th {
	padding: .375em;
	width: 13%;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background-color: #1a1a1a;
	border: 1px solid #1a1a1a;
}
.calendar .container .wrap table thead tr th.week {
	width: 9%;
}
.calendar .container .wrap table thead tr th span {
	display: block;
	font-size: .875em;
}
.calendar .container .wrap table tbody {

}
.calendar .container .wrap table tbody tr {
	
}
.calendar .container .wrap table tbody tr th {
	padding: .375em;
	text-align: center;
	border: 1px solid #717171;
}
.calendar .container .wrap table tbody tr:nth-child(odd) th {
	border-top: 2px solid #1a1a1a;
}
.calendar .container .wrap table tbody tr:nth-child(even) th {
	font-size: .875em;
}
.calendar .container .wrap table tbody tr th .pc {

}
.calendar .container .wrap table tbody tr th .sp {

}
.calendar .container .wrap table tbody tr td {
	padding: .375em;
	text-align: center;
	border: 1px solid #717171;
}
.calendar .container .wrap table tbody tr:nth-child(odd) td {
	border-top: 2px solid #1a1a1a;
}
.slick-disabled {
  visibility: hidden;
}
.sticky_table thead th {
  /* 縦スクロール時に固定する */
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  /* tbody内のセルより手前に表示する */
  z-index: 1;
}
@media (max-width: 769px) {
  .calendar .container h2 {
    font-size: 1.75em;
  }
  .calendar .container .wrap ul {
  	margin-top: -30px;
  }
  .calendar .container .wrap table {
    font-size: .75em;
  }
}
/*.cta*/
.cta {
  margin: 5em 0;
	color: #fff;
	background-color: #1a1a1a;
}
.cta .container {
	margin: 0 auto;
	padding: 5em 0;
	width: 92%;
	max-width: 1080px;
}
.cta .container .row {
	display: flex;
	flex-wrap: wrap;
}
.cta .container .row .column {
	margin: 0 1%;
	width: 48%;
	text-align: center;
}
.cta .container .row .column:first-child {
	border-right: 1px solid #fff;
}
.cta .container .row .column h3 {
	margin: 0 0 .5em;
}
.cta .container .row .column .tel {
	
}
.cta .container .row .column .tel a {
	font-size: 2em;
	letter-spacing: .025em;
	text-decoration: none;
	color: #fff;
}
.cta .container .row .column .open {
	font-size: .875em;
}
.cta .container .btn {
	margin: .5em 0;
	text-align: center;
}
.cta .container .btn a {
	display: inline-block;
	padding: .75em 2em;
	font-weight: bold;
	text-decoration: none;
	color: #1a1a1a;
    background-color: #fff;
	border-radius: 30px;
	cursor: pointer;
	transition: .3s;
}
.cta .container .btn a:hover {
	color: #1a1a1a;
	background-color: #22FFFF;
}
@media (max-width: 769px) {
  .cta .container .row .column {
  	margin: 0;
  	padding: 2em 0;
  	width: 100%;
  }
  .cta .container .row .column:first-child {
  	border: none;
  	border-bottom: 1px solid #fff;
  }
}
/*.news*/
.home .wrapper main article .news {
	
}
.home .wrapper main article .news .container {
	margin: 0 auto;
	padding: 2em 0;
	width: 92%;
	max-width: 1440px;
}
.home .wrapper main article .news .container header.section h2 {
	display: inline-block;
	margin: 0 0 .5em;
	font-size: 1.25em;
}
.home .wrapper main article .news .container header.section .en {
	display: inline-block;
	margin: 0 0 0 1em;
	font-size: .75em;
	font-family: 'Google Sans', sans-serif;
	letter-spacing: .05em;
}
.home .wrapper main article .news .container header.section {

}
.home .wrapper main article .news .container .row {
	display: flex;
	justify-content: space-between;
}
.home .wrapper main article .news .container .row .column {
	position: relative;
	width: calc((100% - 5em) / 3);
}
.home .wrapper main article .news .container .row .column::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  width: calc(100% - 5em);
  height: 100%;
  background: #f5f5f5;
  border-radius: .3125em 0 0 .3125em;
  z-index: -1;
}
.home .wrapper main article .news .container .row .column .header {
	padding: 1em 0;
}
.home .wrapper main article .news .container .row .column .header a {
	text-decoration: none;
	color: inherit;
}
.home .wrapper main article .news .container .row .column .header a h3 {
	margin: 0;
	font-size: 1em;
}
.home .wrapper main article .news .container .row .column .header a h3 span {
	
}
.home .wrapper main article .news .container .row .column .body {
	border-top: .0625em solid #1a1a1a;
}
.home .wrapper main article .news .container .row .column .body article {

}
.home .wrapper main article .news .container .row .column .body article a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1em;
	text-decoration: none;
	color: inherit;
	border-bottom: .0625em solid rgba(0,0,0,.1);
	transition: .2s;
}
.home .wrapper main article .news .container .row .column .body article:last-child a {
	border-bottom: none;
} 
.home .wrapper main article .news .container .row .column .body article:hover a {
	box-shadow: 0 .1875em .625em rgb(0 0 0 / 10%);
}
.home .wrapper main article .news .container .row .column .body article a time {
	width: 3.125em;
	font-family: 'Google Sans', sans-serif;
	font-weight: 300;
	text-align: center;
}
.home .wrapper main article .news .container .row .column .body article a time .year {
	display: block;
	font-size: .75em;
}
.home .wrapper main article .news .container .row .column .body article a time .day {
	display: block;
	border-top: 1px solid currentColor;
}
.home .wrapper main article .news .container .row .column .body article a .ttl {
	margin: 0;
	width: calc(100% - 6em);
	font-size: .875em;
}
@media (max-width: 769px) {
  .home .wrapper main article .news .container .row {
  	display: block;
  }
  .home .wrapper main article .news .container .row .column {
  	margin: 0 0 1em;
  	width: 100%;
  }
}
/*.faq*/
.faq {
	margin: 3em 0;
}
.faq .container {
	margin: 0 auto;
	width: 92%;
	max-width: 1140px;
}
.faq .container h2 {
  margin: 0 0 .5em;
  font-size: 2em;
  text-align: center;
}
.faq .container .tabs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.faq .container .tabs .tab_item {
	margin: 0 .25% .5em;
	padding: .5em;
	width: 12%;
	font-size: .875em;
	text-align: center;
	color: #1a1a1a;
	text-align: center;
	font-weight: bold;
	border: 1px solid #1a1a1a;
	border-radius: 20px;
	transition: .3s;
	cursor: pointer;
}
.faq .container .tabs .tab_item:hover {
	color: #fff;
	background-color: #1a1a1a;
}
.faq .container .tabs .tab_item span {
	padding-left: .25em;
	font-size: .75em;
}
.faq .container .tabs input[name="tab_item"] {
	display: none;
}
.faq .container .tabs .tab_content {
	display: none;
	clear: both;
	margin: 0 auto;
	padding: 3em 0 0;
	width: 100%;
	max-width: 720px;
}
.faq .container .tabs #reservation:checked ~ #reservation_content,
.faq .container .tabs #price:checked ~ #price_content,
.faq .container .tabs #studio:checked ~ #studio_content,
.faq .container .tabs #equipments:checked ~ #equipment_content,
.faq .container .tabs #content:checked ~ #content_content,
.faq .container .tabs #night:checked ~ #night_content,
.faq .container .tabs #cancel:checked ~ #cancel_content,
.faq .container .tabs #member:checked ~ #member_content,
.faq .container .tabs #others:checked ~ #others_content {
	display: block;
}
.faq .container .tabs input:checked + .tab_item {
	color: #fff;
	background-color: #1a1a1a;
}
.faq .container dl {
	margin: 0;
	padding: 0 0 1em;
}
.faq .container dl dt {
	padding-right: 30px;
	font-weight: bold;
}
.faq .container dl dd {
	margin: 0;
}
.faq .container dl dd a {
	padding: 0 .25em;
	font-weight: bold;
	color: #ff5a5f;
}
.faq .container dl dt span.icon,
.faq .container dl dd span.icon {
	padding: 0 .5em 0 0;
	font-size: 1.5em;
}
.menu__item {
	display: block;
	cursor: pointer;
}
.menu__item__link {
	display: block;
	position: relative;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}
.menu__item__link:after {
	position: absolute;
	top: 3px;
	right: 0;
	width: 24px;
	height: 24px;
	font-size: 14px;
	font-family: 'FontAwesome';
	line-height: 24px;
	text-align: center;
	color: #fff;
	background-color: #1a1a1a;
	border-radius: 50%;
	content: '\f078';
}
.menu__item__link.on:after {
	content: '\f077';
}
.submenu {
	display: none;
	margin: 0;
	padding: 0;
}
.submenu__item {

}
@media (min-width: 960px) and (max-width: 1279px) {
.faq .container .tabs .tab_item {
	margin: 0 1% .5em;
	width: 18%;
}
}
@media (min-width: 640px) and (max-width: 959px) {
.faq .container .tabs .tab_item {
	margin: 0 1% .5em;
	width: 31%;
}
}
@media (max-width: 769px) {
.faq .container h2 {
  font-size: 1.75em;
}
.faq .container .tabs .tab_item {
	margin: 0 1% .5em;
	padding: .75em .5em;
	width: 48%;
	font-size: 1em;
}
}
/*.access*/
.wrapper.studio main article .access {
	margin: 3em 0;
}
.wrapper.studio main article .access .container {
	margin: 0 auto;
	width: 92%;
	max-width: 1140px;
}
.wrapper.studio main article .access .container h2 {
  margin: 0 0 .5em;
  font-size: 2em;
  text-align: center;
}
.wrapper.studio main article .access .container .row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.wrapper.studio main article .access .container .row .info {
	width: 45%;
}
.wrapper.studio main article .access .container .row .info table {
	width: 100%;
}
.wrapper.studio main article .access .container .row .info table tbody {
	
}
.wrapper.studio main article .access .container .row .info table tbody tr {
	
}
.wrapper.studio main article .access .container .row .info table tbody tr th {
	padding: 0 2em 1em 0;
	width: 25%;
	font-weight: bold;
	vertical-align: top;
}
.wrapper.studio main article .access .container .row .info table tbody tr td {
	padding: 0 0 1em 0;
	width: 75%;
	vertical-align: top;
}
.wrapper.studio main article .access .container .row .info table tbody tr td .attention {
	display: block;
	font-size: .75em;
	color: #ba1525;
}
.wrapper.studio main article .access .container .row .info table tbody tr td h3 {
	margin: 0 0 .5em;
	padding: 0 0 0 1em;
	font-size: .875em;
	border-left: 2px solid #1a1a1a;
}
.wrapper.studio main article .access .container .row .info table tbody tr td ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.wrapper.studio main article .access .container .row .info table tbody tr td ul li {
	
}
.wrapper.studio main article .access .container .row .info table tbody tr td a {
	display: block;
	font-size: .875em;
	font-weight: bold;
	text-decoration: none;
	color: #0693e3;
}
.wrapper.studio main article .access .container .row .info .exterior {
  display: block;
  margin: 1em 0 0;
  width: 100%;
  border-radius: .5em;
}
.wrapper.studio main article .access .container .row .map {
  overflow: hidden;
	width: 50%;
	border-radius: .5em;
}
.wrapper.studio main article .access .container .row .map iframe {
	display: block;
	width: 100%;
}
@media (max-width: 769px) {
  .wrapper.studio main article .access .container h2 {
    font-size: 1.75em;
  }
  .wrapper.studio main article .access .container .row .info {
  	width: 100%;
  }
  .wrapper.studio main article .access .container .row .info table tbody tr th {
  	padding: 0 0 1em 0;
  	width: 100%;
  }
  .wrapper.studio main article .access .container .row .info table tbody tr td {
  	width: 100%;
  }
  .wrapper.studio main article .access .container .row .map {
    margin: 1em 0 0;
  	width: 100%;
  }
}
/*.street_view*/
.street_view {
	margin: 0 0 3em;
}
.street_view .container {
	margin: 0 auto;
	width: 92%;
	max-width: 640px;
}
.street_view .container h3 {
	margin: 0 0 1em;
	font-size: 1.375em;
	text-align: center;
}
.street_view .container h4 {
	padding: 0 0 0 1em;
	font-size: 1.25em;
	border-left: 2px solid #1a1a1a;
}
.street_view .container .tag {
	margin: 1em 0;
}
.street_view .container .tag span {
	margin: 0 .5em 0 0;
	padding: .625em 1em;
	font-size: .75em;
	font-weight: bold;
	color: #fff;
	background-color: #1a1a1a;
	border-radius: 30px;
}
.street_view .container ul.slider_view {
	position: relative;
	margin: 0 auto 2em;
	padding: 0;
	list-style-type: none;
}
.street_view .container ul.slider_view li {
	display: inline-block;
	padding: .5em;
	vertical-align: top;
}
.street_view .container ul.slider_view li figure {
	margin: 0;
}
.street_view .container ul.slider_view li figure img {
	display: block;
	width: 100%;
	border-radius: 12px 12px 0 0;
}
.street_view .container ul.slider_view li .content {
	padding: 1.25em 1.5em 1.5em;
	font-weight: bold;
	color: #fff;
	background-color: #1a1a1a;
	border-radius: 0 0 12px 12px;
}
.street_view .container ul.slider_view li .content p {
	margin: 0;
}
.street_view .container ul.slider_view li .content p a {
  padding: 0 .25em;
	color: #fff;
}
.street_view .container ul.slider_view li .content p .num {
	padding-right: .5em;
	font-size: 2em;
}
.street_view .container ul.slider_view li .content p .note {
	display: block;
	margin: 0;
	font-size: .875em;
	color: #ba1525;
}
.street_view .container ul.slider_view li .content p .permit {
	display: block;
	margin: .25em 0 0;
	font-size: .75em;
}
.slide-arrow {
	position: absolute;
	top: 40%;
	font-size: 3em;
	z-index: 999;
	cursor: pointer;
}
.prev-arrow {
	left: -1em;
}
.next-arrow {
	right: -1em;
}
@media (min-width: 960px) and (max-width: 1279px) {

}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {
.access .container .row .info table tbody tr th {
	display: block;
	width: 100%;
	text-align: left;
}
.access .container .row .info table tbody tr td {
	display: block;
	width: 100%;
}
.street_view .container ul.slider_view li figure img {
	border-radius: 8px 8px 0 0;
}
.street_view .container ul.slider_view li .content {
	border-radius: 0 0 8px 8px;
}
.street_view .container .prev-arrow {
	left: 0px;
}
.street_view .container .next-arrow {
	right: 0px;
}
}


/*--------------------------------------------------------------
archive-gallery.php
--------------------------------------------------------------*/
.post-type-archive-gallery .c_eyecatch h1 {
  background-image: url(assets/images/gallery.svg)
}
.gallerys {
	
}
.gallerys .container {
  margin: 0 auto;
  width: 92%;
  max-width: 1140px;
}
.gallerys .container h2 {
  margin: 0 0 1.5em;
  padding: 60px 0 0;
  font-size: 1.5em;
  text-align: center;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 50px 50px;
	background-image: url(assets/images/gallery.svg)
}
.gallerys .container h2:after {
	display: block;
	font-size: .625em;
	font-weight: bold;
	font-family: 'PT Sans', sans-serif;
	line-height: 1;
	letter-spacing: .1em;
	background-color: #fff;
	content: "GALLERY";
}
.gallerys .container .row {
  display: flex;
  flex-wrap: wrap;
}
.gallerys .container .row .column {
  margin: 0 .5em 1em;
  width: calc(100% / 4 - 1em);
}
.gallerys .container .row .column a {
  display: block;
  position: relative;
  transition: .5s;
}
.gallerys .container .row .column a:hover {
  opacity: .5;
}
.gallerys .container .row .column a:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.gallerys .container .row .column a img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallerys .container .btn {
  text-align: center;
}
.gallerys .container .btn a {
  display: inline-block;
  padding: .5em .5em .375em;
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1;
  text-decoration: none;
  color: #fff;
  background-color: #1a1a1a;
  transition: .5s;
}
.gallerys .container .btn a:hover {
  opacity: .5;
}
@media (min-width: 960px) and (max-width: 1279px) {

}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {

}
/*--------------------------------------------------------------
single-gallery.php
--------------------------------------------------------------*/
.single-gallery .gallery {
	
}
.single-gallery .gallery .container {
  margin: 0 auto;
  width: 92%;
  max-width: 1140px;
}
.single-gallery .gallery .container .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.single-gallery .gallery .container .row .detail {
  width: 35%;
}
.single-gallery .gallery .container .row .detail .body {
  position: sticky;
  top: 150px;
}
.single-gallery .gallery .container .row .detail .body .plan {
  
}
.single-gallery .gallery .container .row .detail .body .plan table {
  width: 100%;
  border-collapse: collapse;
}
.single-gallery .gallery .container .row .detail .body .plan table tbody {
  
}
.single-gallery .gallery .container .row .detail .body .plan table tbody tr {
  
}
.single-gallery .gallery .container .row .detail .body .plan table tbody tr th {
  font-weight: normal;
	font-family: "TazuganeGothicStdN-Regular",Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;
  text-align: left;
}
.single-gallery .gallery .container .row .detail .body .plan table tbody tr td {
  font-family: 'PT Sans', sans-serif;
}
.single-gallery .gallery .container .row .detail .body .link {
  
}
.single-gallery .gallery .container .row .detail .body .link a {
  display: block;
  padding: 0 0 0 1.375em;
  font-family: 'PT Sans', sans-serif;
  text-decoration: none;
  color: inherit;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: auto 1em;
  transition: .5s;
}
.single-gallery .gallery .container .row .detail .body .link a:hover {
  opacity: .5;
}
.single-gallery .gallery .container .row .detail .body .link a.twitter { background-image: url(assets/images/twitter.svg); }
.single-gallery .gallery .container .row .detail .body .link a.instagram { background-image: url(assets/images/instagram.svg); }
.single-gallery .gallery .container .row .detail .body .link a.website { background-image: url(assets/images/website.svg); }
.single-gallery .gallery .container .row .photo {
  width: 60%;
}
.single-gallery .gallery .container .row .photo img {
  display: block;
  margin: 0 0 .5em;
  width: 100%;
}
@media (min-width: 960px) and (max-width: 1279px) {

}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {

}


/*--------------------------------------------------------------
single.php
--------------------------------------------------------------*/
.post {
	
}
.post .container {
  margin: 0 auto;
  padding: 3em 0;
  width: 92%;
  max-width: 720px;
}
.post .container h1 {
  margin: 0 0 .5em;
  font-size: 1.75em;
  text-align: center;
}
.post .container article {
  margin: 0;
}
.post .container article .content {
  
}
.post .container article .content p {
  
}
.post .container article .content p a {
  color: inherit;
}
@media (min-width: 960px) and (max-width: 1279px) {

}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {

}


/*--------------------------------------------------------------
single-magazine.php
--------------------------------------------------------------*/
.single-magazine .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 6em auto 0;
  width: 92%;
  max-width: 1140px;
}
.single-magazine .wrapper main {
	width: 65%;
}
.single-magazine .wrapper main article {
	
}
.single-magazine .wrapper main article .single {
	
}
.single-magazine .wrapper main article .single .container {
	padding: 0;
}
.single-magazine .wrapper main article .single .container figure.eyecatch {

}
.single-magazine .wrapper main article .single .container figure.eyecatch img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: .3125em;
}
.single-magazine .wrapper main article .single .container h1 {
	font-size: 1.75em;
	line-height: 1.4;
}
.single-magazine .wrapper main article .single .container .author-list {
  display: flex;
  flex-wrap: wrap;
  margin: 1em 0 2em;
  text-decoration: none;
  color: inherit;
}
.single-magazine .wrapper main article .single .container .author-list .row {
  display: flex;
}
.single-magazine .wrapper main article .single .container .author-list .row:not(:first-child) { 
  margin: 0 0 0 1.5em;
}
.single-magazine .wrapper main article .single .container .author-list .row .image {
  margin: 0 .625em 0 0;
  width: 3.75em;
}
.single-magazine .wrapper main article .single .container .author-list .row .image figure {
  margin: .25em 0 0;
}
.single-magazine .wrapper main article .single .container .author-list .row .image figure img {
  display: block;
  width: 100%;
  border: .125em solid #c1272d;
  border-radius: 50%;
}
.single-magazine .wrapper main article .single .container .author-list .row .content {

}
.single-magazine .wrapper main article .single .container .author-list .row .content .name {
  font-size: .9375em;
  font-weight: bold;
}
.single-magazine .wrapper main article .single .container .author-list .row .content .name span {
  display: block;
  font-size: .75em;
  color: #888;
}
.single-magazine .wrapper main article .single .container .author-list .row .content p {
  margin: 0;
  font-size: .875em;
}
.single-magazine .wrapper main article .single .container time {

}
.single-magazine .wrapper main article .single .container .author {
  margin: 3em 0 0;
}
.single-magazine .wrapper main article .single .container .author .label {
  margin: 0 0 .5em;
  font-size: .9375em;
  font-weight: bold;
}
.single-magazine .wrapper main article .single .container .author .row {
  display: flex;
  justify-content: space-between;
}
.single-magazine .wrapper main article .single .container .author .row:not(:first-child) { 
  margin: .75em 0 0;
}
.single-magazine .wrapper main article .single .container .author .row .image {
  width: 5em;
}
.single-magazine .wrapper main article .single .container .author .row .image figure {
  margin: .25em 0 0;
}
.single-magazine .wrapper main article .single .container .author .row .image figure img {
  display: block;
  width: 100%;
  border: .125em solid #c1272d;
  border-radius: 50%;
}
.single-magazine .wrapper main article .single .container .author .row .content {
  width: calc(100% - 6.25em);
}
.single-magazine .wrapper main article .single .container .author .row .content .name {
  font-size: .9375em;
  font-weight: bold;
}
.single-magazine .wrapper main article .single .container .author .row .content .name span {
  display: block;
  font-size: .75em;
  color: #888;
}
.single-magazine .wrapper main article .single .container .author .row .content p {
  margin: 0;
  font-size: .875em;
}
.single-magazine .wrapper aside {
  width: 29%;
}
.single-magazine .wrapper aside .toc_widget {
  position: sticky;
  top: 6.25em;
  padding: 1.875em;
  background-color: #f8f8f8;
  border-radius: .375em;
}
.single-magazine .wrapper aside .toc_widget h4 {
  margin: 0 0 .25em;
  font-size: 1em;
}
.single-magazine .wrapper aside .toc_widget ul {
  margin: 0;
  padding: 0 0 0 .5em;
  font-size: .9375em;
  list-style-type: none;
  max-height: 28.75em;
  overflow: scroll;
  position: relative;
}
.single-magazine .wrapper aside .toc_widget ul li {
  margin: 0 0 .25em;
}
.single-magazine .wrapper aside .toc_widget ul li a {
  text-decoration: none;
  color: inherit;
  transition: .3s;
}
.single-magazine .wrapper aside .toc_widget ul li a:hover,
.single-magazine .wrapper aside .toc_widget ul li a.current {
  color: rgba(193,39,45,1);
}
.single-magazine .wrapper aside .toc_widget ul li a span {

}
@media (max-width: 769px) {
  .single-magazine .wrapper {
    margin: 3.75em auto 0;
  }
  .single-magazine .wrapper main {
  	margin: 0;
  	width: 100%;
  }
  .single-magazine .wrapper main article .single .container .author-list {
    display: block;
  }
  .single-magazine .wrapper main article .single .container .author-list .row:not(:first-child) { 
    margin: .75em 0 0;
  }
  .single-magazine .wrapper main article .single .container .author-list .row .image {
    height: auto;
  }
  .single-magazine .wrapper main article .single .container .meta .author figure img {
  	width: 3em;
  }
  .single-magazine .wrapper aside {
  	margin: 0;
  	width: 100%;
  }
}


/*--------------------------------------------------------------
archive-faq.php
search.php
single-faq.php
--------------------------------------------------------------*/
.faq-prev {
  margin: 0 0 2em;
}
.faq-prev a {
  padding-left: 2em;
  font-weight: bold;
  text-decoration: none;
  color: inherit;
  background-image: url(assets/images/faq/arrow.svg);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto 1.25em;
}
.faq-prev a:hover {
  opacity: .5;
}
/*.faq-search*/
.faq-search {
  margin: 2em 0;
  padding: 2em;
  background-color: #f5f5f5;
  border-radius: .1875em;
}
.faq-search h4 {
  margin: 0 0 .5em;
  font-size: 1em;
}
.faq-search form {
  display: flex;
}
.faq-search .keyword {
  padding: .75em .75em;
  width: calc(100% - 6.25em);
  font-size: 16px;
  font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
  line-height: 1.5;
  color: #1a1a1a;
  background-color: #fff;
  border: none;
  border-radius: .1875em 0 0 .1875em;
  -webkit-appearance: none;
  outline: none;
  cursor: pointer;
  resize: none;
}
.faq-search .submit {
  padding: .75em .75em;
  width: 6.25em;
  font-size: 16px;
  font-weight: bold;
  font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
  line-height: 1.5;
  color: #fff;
  background-color: #1a1a1a;
  border: none;
  border-radius: 0 .1875em .1875em 0;
  -webkit-appearance: none;
  outline: none;
  cursor: pointer;
  resize: none;
  transition: .3s;
}
.faq-search .submit:disabled {
  opacity: .25;
}
.faq-search .submit:hover {
  opacity: .25;
}
@media (max-width: 769px) {
  .faq-search {
    margin: 1em 0 1em -4vw;
    padding: 1.5em;
    width: 100vw;
  }
  .faq-search .keyword {
    width: calc(100% - 4em);
  }
  .faq-search .submit {
    width: 4em;
  }
}
/*aside.faq*/
aside.faq {
  width: 320px;
}
aside.faq .wrap {
  position: sticky;
  top: 100px;
  margin: 0 0 1em;
  text-align: center;
  border-radius: 12px;
  box-shadow: 0 3px 15px 0 rgba(0,0,0,.15);
}
aside.faq .wrap h3 {
  margin: 0;
  padding: 1em .5em;
  font-size: .875em;
  color: #fff;
  background-color: #1a1a1a;
  border-radius: 12px 12px 0 0;
}
aside.faq .wrap .body {
  padding: .5em 2em 2em;
}
aside.faq .wrap .body h4 {
  margin: 1em 0 .25em;
}
aside.faq .wrap .body .tel {
  font-size: 1.5em;
}
aside.faq .wrap .body .tel a {
  text-decoration: none;
  color: inherit;
}
aside.faq .wrap .body .open {
  font-size: .75em;
}
aside.faq .wrap .body .btn {
  margin: .5em 0 0;
}
aside.faq .wrap .body .btn a {
  display: block;
  margin: 0 auto;
  padding: 1em 1.25em;
  width: 80%;
  font-size: .875em;
  font-weight: bold;
  line-height: 1;
  text-decoration: none;
  color: #fff;
  background-color: #1a1a1a;
  border: 1px solid #1a1a1a;
  border-radius: 30px;
  transition: .3s;
}
aside.faq .wrap .btn a:hover {
  opacity: .5;
}
@media (min-width: 960px) and (max-width: 1279px) {

}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {
aside.faq {
  margin: 0 auto;
  width: 92%;
}
aside.faq .wrap h3 {
  font-size: 1em;
}
aside.faq .wrap .body .tel {
  font-size: 1.75em;
}
aside.faq .wrap .body .open {
  font-size: .875em;
}
}
/*--------------------------------------------------------------
archive-faq.php
search.php
--------------------------------------------------------------*/
.post-type-archive-faq {
  
}
.post-type-archive-faq .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 100px auto 0;
  width: 92%;
  max-width: 1140px;
}
.post-type-archive-faq .wrapper main {
  width: calc(100% - 360px);
}
.post-type-archive-faq .wrapper main article {
  margin: 0;
}
.post-type-archive-faq .wrapper main article .archive_faq {
	
}
.post-type-archive-faq .wrapper main article .archive_faq .container {

}
.post-type-archive-faq .wrapper main article .archive_faq .container h1 {
  margin: 0 0 .5em;
  text-align: center;
}
.post-type-archive-faq .wrapper main article .archive_faq .container h2 {
  margin: 1.5em 0 .75em;
  padding: 0 0 0 .5em;
  font-size: 1.25em;
  line-height: 1.4;
  border-left: 2px solid #1a1a1a;
}
.post-type-archive-faq .wrapper main article .archive_faq .container ul {
  margin: 0;
  padding: 0;
  list-style-type: none; 
}
.post-type-archive-faq .wrapper main article .archive_faq .container ul li {
  margin: 0 0 .5em;
}
.post-type-archive-faq .wrapper main article .archive_faq .container ul li a {
  text-decoration: none;
  color: inherit;
  transition: .3s;
}
.post-type-archive-faq .wrapper main article .archive_faq .container ul li a:hover {
  opacity: .5;
}
.post-type-archive-faq .wrapper main article .archive_faq .container ul li a span {
  padding-right: .25em;
  font-size: 1.25em;
}
@media (min-width: 960px) and (max-width: 1279px) {

}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {
.post-type-archive-faq .wrapper main {
  margin: 0 0 2em;
  width: 100%;
}
}
/*--------------------------------------------------------------
single-faq.php
--------------------------------------------------------------*/
.single-faq {
  
}
.single-faq .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 100px auto 0;
  width: 92%;
  max-width: 1140px;
}
.single-faq .wrapper main {
  width: calc(100% - 360px);
}
.single-faq .wrapper main article {
  margin: 0;
}

.single-faq .wrapper main article .single_faq {
	
}
.single-faq .wrapper main article .single_faq .container {
  margin: 0 auto;
  width: 92%;
  max-width: 720px;
}
.single-faq .wrapper main article .single_faq .container h1 {
  margin: 0 0 .5em;
  font-size: 1.5em;
}
.single-faq .wrapper main article .single_faq .container h1 span {
  padding-right: .25em;
}
.single-faq .wrapper main article .single_faq .container .answer {
  
}
.single-faq .wrapper main article .single_faq .container .answer p {
  
}
.single-faq .wrapper main article .single_faq .container .answer p a {
  color: #0693e3;
}
.single-faq .wrapper main article .single_faq .container .note {
  margin: 2em 0;
  padding: 1em;
  border-radius: 6px;
  background: rgba(19, 164, 210, .2);
}
.single-faq .wrapper main article .single_faq .container .note h4 {
  margin-block-start: 0;
  margin-block-end: 0;
  padding: .5em 0 0 .5em;
  font-size: .75em;
}
.single-faq .wrapper main article .single_faq .container .note p {
  margin-block-start: 0;
  margin-block-end: 0;
  padding: .5em 1em;
  font-size: .875em;
}
.single-faq .wrapper main article .single_faq .container .connection {
  margin: 4em 0 0;
  padding: 2em 0 0;
  border-top: 1px solid #3a3a3a;
  font-size: .875em;
}
.single-faq .wrapper main article .single_faq .container .connection h4 {
  margin: 0 0 .5em;
}
.single-faq .wrapper main article .single_faq .container .connection ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.single-faq .wrapper main article .single_faq .container .connection ul li {
  margin: 0 0 .5em;
}
.single-faq .wrapper main article .single_faq .container .connection ul li a {
  text-decoration: none;
  color: inherit;
}
.single-faq .wrapper main article .single_faq .container .connection ul li a:hover {
  opacity: .5;
}
.single-faq .wrapper main article .single_faq .container .connection ul li a span {
  padding-right: .25em;
  font-size: 1.25em;
}
@media (min-width: 960px) and (max-width: 1279px) {

}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {
.single-faq .wrapper main {
  margin: 0 0 1em;
  width: 100%;
}
}

/*--------------------------------------------------------------
page-option-child.php
--------------------------------------------------------------*/
.parent-pageid-3572 {

}
.parent-pageid-3572 .wrapper {
   margin-top: 3.75em;
}
.parent-pageid-3572 .wrapper main {

}
.parent-pageid-3572 .wrapper main article {
  margin: 0;
}
/*.slideshow*/
.parent-pageid-3572 .wrapper main article .slideshow {
  
}
.parent-pageid-3572 .wrapper main article .slideshow .container {
  
}
.parent-pageid-3572 .wrapper main article .slideshow .container .photo {
  overflow: hidden;
}
.parent-pageid-3572 .wrapper main article .slideshow .container .photo .slick-img {
  
}
.parent-pageid-3572 .wrapper main article .slideshow .container .photo .slick-img:before {
    content:"";
    display: block;
    padding-top: 25%;
}
.parent-pageid-3572 .wrapper main article .slideshow .container .photo .slick-img img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition-duration: 0.5s;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}
@media (max-width: 769px) {
  .parent-pageid-3572 .wrapper main article .slideshow .container .photo .slick-img:before {
      padding-top: 37.5%;
  }
}
/*.summary*/
.parent-pageid-3572 .wrapper main article .summary {
  margin: 1em 0;
}
.parent-pageid-3572 .wrapper main article .summary .container {
  margin: 0 auto;
  width: 92%;
  max-width:  45em;
}
.parent-pageid-3572 .wrapper main article .summary .container h1 {
  margin: 0;
  font-size: 1.375em;
  text-align: center;
}
.parent-pageid-3572 .wrapper main article .summary .container .english-title {
  font-size: 1em;
  font-weight: 500;
  font-family: 'Google Sans', sans-serif;
  line-height: 1.2;
  letter-spacing: .05em;
  text-align: center;
}
.parent-pageid-3572 .wrapper main article .summary .container p {
  margin: 1em 0 0;
}
@media (max-width: 769px) {
  .parent-pageid-3572 .wrapper main article .summary {
    margin: 0;
  }
}
/*.feature*/
.parent-pageid-3572 .wrapper main article .feature {
	margin: 3em 0;
}
.parent-pageid-3572 .wrapper main article .feature .container {
	margin: 0 auto;
	width: 92%;
	max-width: 67.5em;
}
.parent-pageid-3572 .wrapper main article .feature .container .row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.parent-pageid-3572 .wrapper main article .feature .container .row .column {
	overflow: auto;
	margin: 0 1%;
	width: calc(100% / 3 - 2%);
}
.parent-pageid-3572 .wrapper main article .feature .container .row .column .image {
  padding: 0;
  height: auto; 
}
.parent-pageid-3572 .wrapper main article .feature .container .row .column .image figure {
	margin: 0 0 .75em;
}
.parent-pageid-3572 .wrapper main article .feature .container .row .column .image figure img {
	display: block;
	width: 100%;
	border-radius: .75em;
}
.parent-pageid-3572 .wrapper main article .feature .container .row .column .body {
	
}
.parent-pageid-3572 .wrapper main article .feature .container .row .column .body h3 {
	margin: 0 0 .25em;
	font-size: 1.125em;
	text-align: center;
}
.parent-pageid-3572 .wrapper main article .feature .container .row .column .body p {
	margin: 0;
	font-size: .9375em;
}
@media (max-width: 769px) {
  .parent-pageid-3572 .wrapper main article .feature {
	  margin: 2em 0;
  }
  .parent-pageid-3572 .wrapper main article .feature .container {
  	width: 100%;
  }
  .parent-pageid-3572 .wrapper main article .feature .container .row .column {
    display: flex;
  	margin: 0 0 1em;
  	width: 100%;
  }
  .parent-pageid-3572 .wrapper main article .feature .container .row .column .image {
    width: 50%;
  }
  .parent-pageid-3572 .wrapper main article .feature .container .row .column:nth-child(even) .image {
    order: 2;
  }
  .parent-pageid-3572 .wrapper main article .feature .container .row .column .image figure {
    overflow: hidden;
  	margin: 0;
  	height: 100%;
  	border-radius: 0 .5em 0 0;
  }
  .parent-pageid-3572 .wrapper main article .feature .container .row .column:nth-child(even) .image figure {
    border-radius: .5em 0 0 0;
  }
  .parent-pageid-3572 .wrapper main article .feature .container .row .column .image figure img {
    height: 100%;
    object-fit: cover;
  	border-radius: 0;
  }
  .parent-pageid-3572 .wrapper main article .feature .container .row .column .body {
    margin: 2em 0 0 -2em;
    padding: 1.5em 1.5em 1em;
    width: calc(70% + 2em);
    font-size: .875em;
    background-color: rgba(255,255,255,.875);
    border-radius: .5em 0 0 0;
    z-index: 2;
  }
  .parent-pageid-3572 .wrapper main article .feature .container .row .column:nth-child(even) .body {
    margin: 0 -2em 0 0;
    border-radius: 0 .5em 0 0;
  }
  .parent-pageid-3572 .wrapper main article .feature .container .row .column .body h3 {
    text-align: left;
  }
}
/*.plan*/
.parent-pageid-3572 .wrapper main article .plan {
	margin: 3em 0;
}
.parent-pageid-3572 .wrapper main article .plan .container {
	margin: 0 auto;
	width: 100%;
	max-width: 55em;
}
.parent-pageid-3572 .wrapper main article .plan .container header.section {
	margin: 0 0 1em;
	text-align: center;
}
.parent-pageid-3572 .wrapper main article .plan .container header.section h2 {
	display: inline-block;
	margin: 0;
	font-size: 1.375em;
}
.parent-pageid-3572 .wrapper main article .plan .container header.section .en {
	display: inline-block;
	margin: 0 0 0 1em;
	font-size: .75em;
	font-family: 'Google Sans', sans-serif;
	letter-spacing: .05em;
}
.parent-pageid-3572 .wrapper main article .plan .container header.section .desc {
	margin: 0 0 1em;
	font-size: .9375em;
	color: #717171;
}
.parent-pageid-3572 .wrapper main article .plan .container .thumbnail {
  margin: 0 0 2em;  
}
.parent-pageid-3572 .wrapper main article .plan .container .thumbnail .item {
  margin: 0 .25em;
  padding: .75em 1em;
  font-size: .75em;
  font-weight: bold;
  text-align: center;
  background-color: #efefef;
  border-radius: 1.5em;
}
.parent-pageid-3572 .wrapper main article .plan .container .thumbnail .item.slick-current {
  color: #fff;
  background-color: #1a1a1a;
}
.parent-pageid-3572 .wrapper main article .plan .container .thumbnail .slick-track {
  transform:unset!important;
}
.parent-pageid-3572 .wrapper main article .plan .container .row {
  display: flex;
  justify-content: center;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column {
  margin: 0 .5em 0;
  width: calc(100% / 3 - 1em);
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .name {
  margin: 0 0 .5em;
  text-align: center;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .name h3 {
  margin: 0;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .price {
	text-align: center;
	font-family: 'Google Sans', 'Noto Sans JP', sans-serif;
	letter-spacing: .01em;
	text-align: center;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .price .no_tax {
  display: inline-block;
  font-size: 2em;
  line-height: 1;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .price .no_tax .unit {
	display: inline-block;
	padding-right: .125em;
	font-size: .75em;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .price .no_tax .num {
  
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .price .include_tax {
  margin: .5em 0 0;
  font-size: .75em;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .price .include_tax .unit {
	display: inline-block;
	padding-right: .125em;
	font-size: .75em;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .price .include_tax .num {
  font-size: 1em;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .description {
  margin: .75em 0;
  font-size: .875em;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .table {
  font-size: .9375em;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .table .common {
  margin: .75em 0;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .table .common dl {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .table .common dl dt {
  padding-right: 1.25em;
  font-size: .875em;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .table .common dl dd {
  margin: 0;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .table .common dl dd big {
  padding: 0 .05em;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .table .common dl dd small {
  padding-left: .5em;
  color: #3a3a3a;
}
.parent-pageid-3572 .wrapper main article .plan .container .row .column .table .common dl dd small.tax {
  display: block;
  font-size: .75em;
}
.parent-pageid-3572 .wrapper main article .plan .container .note {
  margin: 0 0 1em;
	text-align: center;
}
.parent-pageid-3572 .wrapper main article .plan .container .note ul {
	display: inline-block;
	margin: 1em 0 0;
	padding: 0;
	font-size: .75em;
	list-style-type: none;
}
.parent-pageid-3572 .wrapper main article .plan .container .note ul li {
	text-align: left;
}
.parent-pageid-3572 .wrapper main article .plan .container .btn {
  margin: 2em 0 0;
  text-align: center;
}
.parent-pageid-3572 .wrapper main article .plan .container .btn a {
  display: inline-block;
  padding: .5em .5em .375em;
  font-size: 1.125em;
  font-family: 'Google Sans', 'Noto Sans JP', sans-serif;
  line-height: 1;
  text-decoration: none;
  color: #fff;
  background-color: #1a1a1a;
  transition: .5s;
}
.parent-pageid-3572 .wrapper main article .plan .container .btn a:hover {
  opacity: .5;
}
@media (max-width: 769px) {

}
/*.faq*/
.parent-pageid-3572 .wrapper main article .faq {
	margin: 3em 0;
}
.parent-pageid-3572 .wrapper main article .faq .container {
	margin: 0 auto;
	width: 92%;
	max-width: 720px;
}
.parent-pageid-3572 .wrapper main article .faq .container header.section {
	margin: 0 0 1em;
	text-align: center;
}
.parent-pageid-3572 .wrapper main article .faq .container header.section h2 {
	display: inline-block;
	margin: 0;
	font-size: 1.375em;
}
.parent-pageid-3572 .wrapper main article .faq .container header.section .en {
	display: inline-block;
	margin: 0 0 0 1em;
	font-size: .75em;
	font-family: 'Google Sans', sans-serif;
	letter-spacing: .05em;
}
.parent-pageid-3572 .wrapper main article .faq .container header.section .desc {
	margin: 0 0 1em;
	font-size: .9375em;
	color: #717171;
}
.parent-pageid-3572 .wrapper main article .faq .container dl {
	margin: 0;
	padding: 0 0 1em;
}
.parent-pageid-3572 .wrapper main article .faq .container dl dt {
	padding-right: 30px;
}
.parent-pageid-3572 .wrapper main article .faq .container dl dd {
	margin: 0;
}
.parent-pageid-3572 .wrapper main article .faq .container dl dd a {
	padding: 0 .25em;
	color: #ff5a5f;
}
.parent-pageid-3572 .wrapper main article .faq .container dl dt span.icon,
.parent-pageid-3572 .wrapper main article .faq .container dl dd span.icon {
	padding: 0 .5em 0 0;
	font-size: 1.5em;
}
.menu__item {
	display: block;
	cursor: pointer;
}
.menu__item__link {
	display: block;
	position: relative;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}
.menu__item__link:after {
	position: absolute;
	top: 3px;
	right: 0;
	width: 24px;
	height: 24px;
	font-size: 14px;
	font-family: 'FontAwesome';
	line-height: 24px;
	text-align: center;
	color: #fff;
	background-color: #1a1a1a;
	border-radius: 50%;
	content: '\f078';
}
.menu__item__link.on:after {
	content: '\f077';
}
.submenu {
	display: none;
	margin: 0;
	padding: 0;
}
.submenu__item {

}
@media (max-width: 769px) {

}


/*--------------------------------------------------------------
page-terms.php
--------------------------------------------------------------*/
.terms {
	
}
.terms .container {

}
.terms .container .content {
	font-size: .875em;
}
.terms .container .content h2 {
	font-size: 1.25em;
}
.terms .container .content ol,
.terms .container .content ul {
	padding-left: 1.5em;	
}
@media (min-width: 960px) and (max-width: 1279px) {
	
}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {

}
/*--------------------------------------------------------------
page-privacy.php
--------------------------------------------------------------*/
.privacy {
  font-size: .875em;
}
.privacy .container {
  margin: 0 auto;
  width: 92%;
  max-width: 720px;
}
.privacy .container h1 {
  margin: 0 0 .5em;
  font-size: 2em;
  text-align: center;
}
.privacy .container .content {

}
.privacy .container .content h2 {
	font-size: 1.25em;
}
.privacy .container .content ol,
.privacy .container .content ul {
	padding-left: 1.5em;	
}
.privacy .container .content a {
  color: inherit;
  text-decoration: underline;
  transition: .3s;
}
.privacy .container .content a:hover {
  opacity: .5;
}
@media (min-width: 960px) and (max-width: 1279px) {
	
}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {

}
/*--------------------------------------------------------------
page-maintenance.php
--------------------------------------------------------------*/
.maintenance {

}
.maintenance .container {
  margin: 0 auto;
  width: 92%;
  max-width: 720px;
}
.maintenance .container h1 {
  text-align: center;
}



/*--------------------------------------------------------------
page-legal.php
--------------------------------------------------------------*/
.legal {
  font-size: .875em;
}
.legal .container {
  margin: 0 auto;
  width: 92%;
  max-width: 720px;
}
.legal .container h1 {
  margin: 0 0 .5em;
  font-size: 2em;
  text-align: center;
}
.legal .container table {
	width: 100%;
}
.legal .container table tbody {
	width: 100%;
}
.legal .container table tbody tr {
	width: 100%;
}
.legal .container table tbody tr th {
	padding: .5em 0;
	width: 25%;
}
.legal .container table tbody tr td{
	padding: .5em 0;
	width: 75%;
}
@media (min-width: 960px) and (max-width: 1279px) {
	
}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {

}





/*--------------------------------------------------------------
.0 page-sitemap.php
--------------------------------------------------------------*/
.sitemap {

}
.sitemap .container {
	margin: 0 auto;
	padding: 3em 0;
	width: 92%;
	max-width: 720px;
	font-size: .875em;
}
.sitemap .container ul {
	padding: 0 0 0 1em;
}
.sitemap .container ul li {
	
}
.sitemap .container ul li a {
	text-decoration: none;
	color: inherit;
}
.sitemap .container ul li a:hover {
	text-decoration: underline;
	color: #ff5a5f;
}




/*--------------------------------------------------------------
.error_404
--------------------------------------------------------------*/
.error_404 {
	
}
.error_404 .container {

}
@media (min-width: 960px) and (max-width: 1279px) {

}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {

}



/***********
page-term.php
***********/
.term {

}
.term .container {
	margin: 0 auto;
	padding: 3em 0;
	width: 92%;
	max-width: 720px;
}
.term .container .content a {
	color: #ff5a5f;
}

@media (min-width: 960px) and (max-width: 1279px) {

}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {
.term {

}
}
/***********
page-contact.php
***********/
.form {
	
}
.form .container {

}
@media (min-width: 960px) and (max-width: 1279px) {

}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {

}

/***********
page-complete.php
***********/
.complete {

}
.complete .container {
	margin: 0 auto;
	padding: 3em 0;
	width: 92%;
	max-width: 720px;
}
.complete .container h1 {
  margin: 0 0 .5em;
  font-size: 2em;
  text-align: center;
}
@media (min-width: 960px) and (max-width: 1279px) {

}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {

}

/***********
page.php
***********/
.page-template-default {
  
}
.page-template-default .wrapper {
  
}
.page-template-default .wrapper main {
  
}
.page-template-default .wrapper main article {
  
}
.page-template-default .wrapper main article .page {
  
}
.page-template-default .wrapper main article .page .container {
  margin: 0 auto;
  width: 92%;
  max-width: 720px;
}
.page-template-default .wrapper main article .page .container h1 {
  margin: 0 0 1em;
  text-align: center;
}











/*--------------------------------------------------------------
*.0 .mwwp
--------------------------------------------------------------*/
.mwwp {
	
}
.mwwp hr {
	margin: 2em 0 3em;
	border: none;
	border-top: 1px solid #1a1a1a;
}
.mwwp .field p {
	display: none;
}
.mwwp .field {
	margin: 0 0 1.5em;
}
.mwwp .field label,
.mwwp .field .label {
	display: block;
	margin: 0 0 .75em;
	font-weight: bold;
}
.mwwp .field .label.child {
	font-size: .875em;
}
.mwwp .field label .num,
.mwwp .field .label .num {
	padding: 0 .25em 0 0;
	font-size: 1.5em;
}
.mwwp .field label .essential,
.mwwp .field .label .essential {
	margin: 0 0 0 .75em;
	padding: .5em 1em;
	font-size: .6375em;
	line-height: 1;
	color: #fff;
	background-color: #ba1525;
	border-radius: 3px;
}
.mwwp .field .input {
	display: block;
}
.mwwp .field .input input,
.mwwp .field .input textarea,
.mwwp .field .input select  {
	padding: .8em 1em;
	width: 100%;
	font-size: 16px;
	line-height: 1.5;
	font-family: "TazuganeGothicStdN-Regular",Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;
	background-color: #efefef;
	border: none;
	border-radius: 3px;
	resize: none;
	-webkit-appearance: none;
}
.mwwp .field .input select {
	margin: 0 0 .5em;
	width: auto;
}
.mwwp .field .input .unit {
	display: inline-block;
	padding: 0 .5em;
}
.mwwp .field .input input.essential,
.mwwp .field .input textarea.essential,
.mwwp .field .input select.essential {
	background-color: #efefef;	
}
.mwwp .field .radio-button {

}
.mwwp .field .radio-button .mwform-radio-field {
	display: inline-block;
	clear: both;
	margin: 0 1em 0 0;
}
.mwwp .field .radio-button .mwform-radio-field label {
	display: block;
	margin: 0 0 .5em;
	width: auto;
	font-weight: normal;
}
.mwwp .field .radio-button .mwform-radio-field label input {
	display: inline-block;
	margin: 0 .5em 0 0;
	width: auto;
}
.mwwp .field .radio-button .mwform-radio-field label input span {

}
.mwwp .submit {
	text-align: center;
}
.mwwp .submit input[type=submit] {
	display: block;
	margin: 0 auto;
	padding: 1em 1.5em;
	width: 260px;
	height: auto;
	font-size: 1.125em;
  font-weight: bold;
  line-height: inherit;
  text-decoration: none;
  text-align: center;
  color: #1a1a1a;
  background: #22FFFF;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  transition: .3s;
}
.mwwp .submit input[type=submit]:hover {
	opacity: .8;
}
.mwwp .field .attention {
	margin: 0 0 1.5em;
	font-size: .875em;
}
.mwwp .field .attention a {
	padding: 0 .25em;
	color: #ff5a5f;
}

.mwwp .stripe {
	font-size: .875em;
	text-align: center;
	color: #3a3a3a;
}
.mwwp #hour {
	margin: 2em 0;
}
.mwwp #hour label {
	display: inline-block;
	margin: 0 1em .5em 0;
}
.mwwp #hour input {
	width: 2em;
    background-color: transparent;
    border: none;
    font-size: 1.5em;
    font-weight: bold;
    display: inline-block;
    padding: 0;
    color: #1a1a1a;
    text-align: center;
}

.mwwp .equipment {
	margin: 2em 0;
}
.mwwp .equipment .label {
	display: inline-block;
}
.mwwp .equipment .input {
	display: inline-block;
}
.mwwp .equipment label {
	display: inline-block;
	margin: 0 1em .5em 0;
}
.mwwp .equipment input {
	width: 2em;
    background-color: transparent;
    border: none;
    font-size: 1.5em;
    font-weight: bold;
    display: inline-block;
    padding: 0;
    color: #1a1a1a;
    text-align: center;
}


.mwwp .field .inline-radio {
	display: flex;
	border-radius: 3px;
	overflow: hidden;
}

.mwwp .field .inline-radio div {
	position: relative;
	flex: 1;
}

.mwwp .field .inline-radio input {
	width: 100%;
	height: 60px;
	opacity: 0;
}

.mwwp .field .inline-radio.five input {
	height: 40px;
}
.mwwp .field .inline-radio label {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	margin: 0;
	width: 100%;
	height: 100%;
	font-size: .9375em;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	color: #b6b6b6;
	background-color: #f5f5f5;
	border-right: 1px solid #b6b6b6;
}
.mwwp .field .inline-radio div:last-child label {
	border-right: 0;
}

.mwwp .field .inline-radio input:checked + label {
	background: #ff5a5f;
	color: #fff;
}
.mwwp .field .arrow {
	overflow: auto;
	margin: .5em 0 0;
	font-size: .75em;
}
.mwwp .field .arrow .prev {
	float: left;
}
.mwwp .field .arrow .next {
	float: right;
}




@media (min-width: 960px) and (max-width: 1279px) {
	
}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {
.mwwp .field label,
.mwwp .field .label {
	margin: 0 0 .5em;
	width: 100%;
}
.mwwp .equipment .label {
	width: auto;
}
.mwwp .field .input,
.mwwp .field .input {
	width: 100%;
}
.mwwp .equipment .input {
	width: auto;
}
}


/*--------------------------------------------------------------
予約/仮予約/ロケハン
--------------------------------------------------------------*/
.attention_popup {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	justify-content: center;
	align-items: center;
	width: 100vw;
	height: 100vh;
	z-index: 9999999999;
}
#attention_1.show,
#attention_2.show,
#attention_3.show,
#attention_4.show,
#attention_5.show,
#attention_checkout1.active,
#attention_checkout2.active,
#attention_checkout3.active,
#attention_checkout4.active,
#attention_checkout5.active {
	display: flex;
}
.attention_popup .wrap {
	position: relative;
	padding: 2em 2em 2.5em;
	max-width: 480px;
	text-align: center;
	color: #fff;
	background-color: #ba1525;
	border-radius: 12px;
	box-shadow: 0 2px 20px rgba(0,0,0,.25);
}
.attention_popup .wrap .rec {
  margin: 0 0 1.5em;
  text-align: center;
  color: #ba1525;
}
.attention_popup .wrap .rec span {
  padding: 0 0 0 35px;
  font-size: 1.25em;
  font-weight: bold;
  background-image: url(assets/images/rec.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: auto 20px;
}
.attention_popup .wrap h4 {
	margin: 0 0 1.5em;
	font-size: 1.125em;
}
.attention_popup .wrap h4 span {
  display: inline-block;
	padding: .5em 1em;
	color: #fff;
	border-bottom: 2px solid #fff;
}
.attention_popup .wrap p {
	margin: .25em 0;
	font-size: .9375em;
	font-weight: bold;
	text-align: left;
}
.attention_popup .wrap p a {
  color: #fff;
}
.attention_popup .wrap p small {
  display: block;
}
.attention_popup .wrap p.link {
	margin: 0.5em 0 0;
	font-size: .875em;	
}
.attention_popup .wrap p.link a {
	text-decoration: none;
	color: #ff5a5f;
}
.attention_popup .wrap input[type=button] {
	margin: 1.5em 0 0;
	padding: .75em 1em;
	font-weight: bold;
	color: #ba1525;
	background-color: #fff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	-webkit-appearance: none;
}
.attention_popup .wrap input[type=button]:hover {
	opacity: .5;
}
@media (min-width: 960px) and (max-width: 1279px) {

}
@media (min-width: 640px) and (max-width: 959px) {

}
@media (max-width: 769px) {
.attention_popup {
	right: 0;
	margin: 0 auto;
	width: 88%;
}
}

.reservation {
	
}
.reservation .container {
	margin: 0 auto 3em;
	padding: 2em 0 0;
	width: 92%;
	max-width: 760px;
}
.reservation .container h1 {
  margin: 0 0 1em;
  font-size: 1.5em;
  text-align: center;
}
.reservation .container table.info {
  margin: 2em auto;
}
.reservation .container table.info tr {
  
}
.reservation .container table.info tr th,
.reservation .container table.info tr td {
  padding: .25em .5em;
}
.reservation .container table.info tr th {

}
.reservation .container table.info tr td {
  
}
.reservation .container .tabs {

}
.reservation .container .tabs .tab-area {
	margin: 0 0 2em;
	border-bottom: 2px solid #1a1a1a;
}
.reservation .container .tabs .tab-area .tab {
	display: inline-block;
	padding: .375em 1em .25em;
	font-size: .875em;
  font-weight: bold;
	text-decoration: none;
	color: inherit;
	border: 2px solid #1a1a1a;
	border-bottom: none;
	border-radius: 6px 6px 0 0;
	cursor: pointer;
}
.reservation .container .tabs .tab-area .tab:hover,
.reservation .container .tabs .tab-area .tab.active {
	color: #fff;
	background-color: #1a1a1a;
}
.mw_wp_form_296 {
	
}
.mw_wp_form_296 form {
	
}
.mw_wp_form_296 form a {
	font-weight: bold;
	color: #ff5a5f;
}
.mw_wp_form_296 form table {
	width: 100%;
	border-collapse: collapse;
}
.mw_wp_form_296 form table tbody {
	width: 100%;
}

.mw_wp_form_296 form table tbody tr {
	
}
.mw_wp_form_296 form table tbody tr th {
	padding: 1em;
	width: 30%;
	font-weight: bold;
	text-align: left;
	border-bottom: 1px solid #e1e1e1;
}
.mw_wp_form_296 form table tbody tr:last-child th {
  border: none;
}
.mw_wp_form_296 form table tbody tr th .required,
.mw_wp_form_296 form table tbody tr th .optional {
	display: inline-block;
	margin: 0 0 0 .75em;
	padding: .5em 1em;
	font-size: .75em;
	line-height: 1;
	color: #fff;
	background-color: #ba1525;
	border-radius: 20px;
	vertical-align: top;
}
.mw_wp_form_296 form table tbody tr th .optional {
	color: #1a1a1a;
	background-color: #ddd;
}
.mw_wp_form_296 form table tbody tr th .num {
	padding: 0 .25em 0 0;
	font-size: 1.5em;
}
.mw_wp_form_296 form table tbody tr td {
	padding: 1em;
	width: 70%;
	border-bottom: 1px solid #e1e1e1;
}
.mw_wp_form_296 form table tbody tr:last-child td {
  border: none;
}
.mw_wp_form_296 form table tbody tr td .label {
	margin-right: .5em;
}
.mw_wp_form_296 form table tbody tr td input[type=text],
.mw_wp_form_296 form table tbody tr td input[type=email],
.mw_wp_form_296 form table tbody tr td textarea,
.mw_wp_form_296 form table tbody tr td select {
	margin: .5em 0;
	padding: .75em .75em;
	font-size: 16px;
  font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
	line-height: 1.5;
	color: #1a1a1a;
	background-color: #f5f5f5;
	border: none;
	border-radius: 2px;
	-webkit-appearance: none;
	outline: none;
	cursor: pointer;
	resize: none;
}
.mw_wp_form_296 form table tbody tr td input.w50,
.mw_wp_form_296 form table tbody tr td textarea.w50 {
	width: 50%;
}
.mw_wp_form_296 form table tbody tr td input.w100,
.mw_wp_form_296 form table tbody tr td textarea.w100 {
	width: 100%;
}
.mw_wp_form_296 form table tbody tr td input.essential,
.mw_wp_form_296 form table tbody tr td textarea.essential {
	background-color: #FDEDED;
}
.mw_wp_form_296 form table tbody tr .parsley-success input.essential,
.mw_wp_form_296 form table tbody tr .parsley-success textarea.essential {
	background-color: #f5f5f5 !important;
}
.mw_wp_form_296 form table tbody tr td .successmark {
    display: none;
    width: 10%;
    font-size: 2em;
    color: #52D375;
    text-align: center;
    vertical-align: middle;
}
.mw_wp_form_296 form table tbody tr .parsley-error .successmark {
    display: none;
}
.mw_wp_form_296 form table tbody tr td ul.parsley-errors-list {
	margin: 0;
    padding: 0;
    font-size: .875em;
    list-style-type: none;
}
.mw_wp_form_296 form table tbody tr td ul.parsley-errors-list li {
	color: red;
}

/*テーブル内テーブル*/
.mw_wp_form_296 form table tbody tr td table {
	width: 100%;
	border-collapse: collapse;
}
.mw_wp_form_296 form table tbody tr td table tbody {
	width: 100%;
}

.mw_wp_form_296 form table tbody tr td table tbody tr {
	
}
.mw_wp_form_296 form table tbody tr td table tbody tr th {
	padding: 0;
	width: auto;
	font-weight: normal;
	text-align: left;
	border-bottom: none;
}
.mw_wp_form_296 form table tbody tr td table tbody tr td {
	padding: 0;
	width: auto;
	border-bottom: none;
}
/*チェックボックス*/
.checkbox input[type=checkbox] {
  display: none;
}
.checkbox label {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: .375em 0 .375em 2.25em;
    position: relative;
    width: auto;
}
.checkbox label::before {
    background: #eee;
    border: .125em solid #eee;
    content: '';
    display: block;
    height: 1em;
    left: .3125em;
    margin-top: -.625em;
    position: absolute;
    top: 50%;
    width: 1em;
    border-radius: .125em;
}
.checkbox label::after {
    border-right: .1875em solid #1a1a1a;
    border-bottom: .1875em solid #1a1a1a;
    content: '';
    display: block;
    height: .75em;
    left: .6875em;
    margin-top: -.4375em;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: .3125em;
}
.checkbox input[type=checkbox]:checked + label::after {
    opacity: 1;
}
/*ラジオボタン*/
.radio label {
  display: block;
  float: none;
  padding: 0;
  width: 100%;
  cursor: pointer;
}
.vertical-item {
  display: block;
}
.vertical-item + .vertical-item {
  margin-top: 5px;
}
.radio label input {
  display: none;
}
.radio label input:disabled + .mwform-radio-field-text {
  opacity: .25;
}

.radio label .mwform-radio-field-text {
  position: relative;
}
.radio label .mwform-radio-field-text::before {
  content: "";
  display: inline-block;
  margin: 0 1em 0 0;
  width: 20px;
  height: 20px;
  vertical-align: text-top;
  background-color: #F4F4F4;
  border: 2px solid #F4F4F4;
  border-radius: 50%;
}
.radio label input:checked + .mwform-radio-field-text::before {
  border: 2px solid #5a5a5a;
}
.radio label input:checked + .mwform-radio-field-text::after {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
  width: 14px;
  height: 14px;
  background-color: #5a5a5a;
  border-radius: 50%;
}




.mw_wp_form_296 form table tbody tr td .list {
	
}
.mw_wp_form_296 form table tbody tr td .list div {
	font-size: .9375em;
}
.mw_wp_form_296 form table tbody tr td .list div select {
	margin: .5em 1em .5em 0;
	padding: .375em .75em;
}
.mw_wp_form_296 form table tbody tr td .box {
	display: block;
	margin-top: 1em;
	padding: 1.25em 1.5em;
	font-size: .875em;
	line-height: 1.5;
	background-color: #f9f9f9;
}
.mw_wp_form_296 form table tbody tr td .box .ttl {
	display: block;
	margin-bottom: .125em;
	font-weight: bold;
}
.mw_wp_form_296 form table tbody tr td .box .ttl i {
	padding-right: .375em;
}
.mw_wp_form_296 form table tbody tr td .note {
	display: block;
	margin-top: 1em;
	font-size: .875em;
	line-height: 1.5;
}
.mw_wp_form_296 form table tbody tr td .checkin {
	display: inline-block;
	padding: .5em 1em;
	font-size: .875em;
}
.mw_wp_form_296 form table tbody tr td .checkin .ttl {
	padding-right: 1em;
}
.mw_wp_form_296 form table tbody tr td .checkin #CheckInTime {

}
.mw_wp_form_296 form #estimate_box {
	position: fixed;
	right: 1em;
	bottom: 1em;
	padding: 1em 1.5em;
	font-family: "TazuganeGothicStdN-Regular",Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;
	color: #fff;
	background-color: rgba(0,0,0,.9375);
	border-radius: 6px;
	z-index: 99999;
}
.mw_wp_form_296 form #estimate_box .ttl {
	text-align: center;
}
.mw_wp_form_296 form #estimate_box .estimate {
	text-align: center;
}
.mw_wp_form_296 form #estimate_box .estimate #estimate_price {
	display: inline-block;
	padding: 0 .125em 0 0;
	font-size: 1.5em;
  font-family: "TazuganeGothicStdN-Regular",Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;
	letter-spacing: .025em;
}
.mw_wp_form_296 form #estimate_box .estimate .unit {
	display: inline-block;
	font-size: .9375em;
}
.mw_wp_form_296 form #estimate_box .estimate_tax {
	font-size: .75em;
	line-height: 1;
	text-align: center;
}
.mw_wp_form_296 form #estimate_box .estimate_tax #estimate_price_tax {
	display: inline-block;
	padding: 0 .125em;
	font-size: 1.5em;
	letter-spacing: .025em;
}
.mw_wp_form_296 form #estimate_box .estimate_tax .unit {
	display: inline-block;
	font-size: .9375em;
}
.mw_wp_form_296 form .agree {
	margin: 2em 0 0;
	font-size: 1.125em;
	text-align: center;
}
.mw_wp_form_296 form .agree label {
	padding-left: .75em;
}
.mw_wp_form_296 form .not_entered {
	margin: 1em 0 0;
	font-weight: bold;
	text-align: center;
	color: red;
}
.mw_wp_form_296 form .not_entered.go {
	display: none;
}
.mw_wp_form_296 form .no_close {
  display: none;
	margin: 1em 0 0;
	font-weight: bold;
	text-align: center;
	color: red;
}
.mw_wp_form_296 form .no_close.go {
  display: block;
}
.mw_wp_form_296 form .submit {
	margin: 1em 0 0;
	text-align: center;
}
.mw_wp_form_296 form .submit input[type=submit] {
	display: inline-block;
	margin: 0 auto;
	padding: 1em 2em;
	font-size: 1.125em;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    color: #1a1a1a;
    background-color: #fff;
    border: 2px solid #1a1a1a;
    border-radius: 30px;
    box-shadow: 1px 1px 5px 0 rgba(0,0,0,.4);
    cursor: pointer;
    transition: .3s;	
}
.mw_wp_form_296 form .submit input[type=submit]:hover {
	color: #fff;
	background-color: #1a1a1a;
}
.mw_wp_form_296 form .submit input[type=submit][disabled] {
	opacity: .375;
}
.mw_wp_form_296 .mw_wp_form .error {
    display: block;
    padding: .5em .75em;
	font-size: 1em;
    font-weight: bold;
    color: #fff;
    background-color: #B70000;
    border-radius: 3px;
}
@media (max-width: 769px) {
  .mw_wp_form_296 form table tbody tr th {
  	display: block;
  	padding: 1em 0 .5em;
  	width: 100%;
  	border-bottom: none;
  }
  .mw_wp_form_296 form table tbody tr td {
  	display: block;
  	padding: 0 0 1em;
  	width: 100%;
  	border-bottom: 1px solid #e1e1e1;
  }
  .mw_wp_form_296 form table tbody tr td table tbody tr th {
    display: table-cell;
  	padding: 0;
  	width: auto;
  	text-align: left;
  	border-bottom: none;
  }
  .mw_wp_form_296 form table tbody tr td table tbody tr td {
    display: table-cell;
  	padding: 0;
  	width: auto;
  	border-bottom: none;
  }

}


/*--------------------------------------------------------------
.switchbot
--------------------------------------------------------------*/
/*.switchbot*/
.switchbot {

}
.switchbot .container {
  margin: 0 auto;
  padding: 1em 0 0;
  width: 92%;
  max-width: 480px;
}
.switchbot .container h1 {
  margin: 0 0 .5em;
  font-size: 1.375em;
  text-align: center;
}
.switchbot .container p {
  
}
.switchbot .container p strong {
  font-weight: normal;
  color: #c1272d;
}
.switchbot .container ol {
	padding: 0;
	list-style-type: none;
	counter-reset: number;
}
.switchbot .container ol li {
	margin: 1em 0;
	line-height: 30px;
}
.switchbot .container ol li:before {
	display: inline-block;
	margin-right: 10px;
	width: 30px;
	height: 30px;
	font-weight: bold;
	line-height: 30px;
	text-align: center;
	color: #fff;
	background-color: #1a1a1a;
	border-radius: 50%;
	counter-increment: number;
	content: counter(number);
}
.switchbot .container ol li small,
.switchbot .container .prev small {
  display: block;
  margin: .5em 0;
  font-size: .875em;
  line-height: 1.5;
}
.switchbot .container ol li small.attention {
  color: #c1272d;
}
.switchbot .container ol li form,
.switchbot .container .prev {
  text-align: center;
}
.switchbot .container .prev p {
  text-align: left;
}
.switchbot .container .prev p a {
  display: block;
  text-align: center;
}
.switchbot .container ol li input {
  padding: .75em .75em;
  width: 100%;
  font-size: 16px;
  font-family: 'Google Sans', 'Noto Sans JP', sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #1a1a1a;
  background-color: #f5f5f5;
  border: none;
  border-radius: 2px;
  -webkit-appearance: none;
  outline: none;
  cursor: pointer;
  resize: none;
}
.switchbot .container ol li button,
.switchbot .container .prev a span {
  display: inline-block;
  margin: 1em auto 0;
  padding: 1em 2em;
  font-size: .875em;
  font-weight: bold;
  line-height: 1.6;
  text-decoration: none;
  text-align: center;
  color: #1a1a1a;
  background-color: #fff;
  border: 2px solid #1a1a1a;
  border-radius: 3em;
  cursor: pointer;
  transition: .3s;
}
.switchbot .container ol li button:disabled {
  opacity: .25;
}


/* ------------------------------------------------------------------
   他ブランドのスタジオサイトへ出るリンクに新規タブアイコンを付ける
   ------------------------------------------------------------------
   対象は 4696.studio / 1616.studio のページのみ。
   予約システム・LINE・自サイト内リンクには付けない（付けるとヘッダーや
   ボタンUIが記号だらけになるため）。reserve.* / guide.* のサブドメインは
   「//ドメイン」で始まる指定なのでこの条件に当たらず、自動的に対象外。
   ドメインを直に列挙しているのは、home_url() 由来のURLが本番と staging で
   変わる（staging.4696.studio）ため、自ドメインの除外指定が環境依存に
   なるのを避ける狙い。
   画像・SVGだけのリンク（トップのグループ店舗バナー等）も対象外。
   アイコンは data URI ＋ mask で追加リクエストなし。currentColor で文字色に追従。 */
a[href*="//4696.studio"]:not(:has(img)):not(:has(svg))::after,
a[href*="//1616.studio"]:not(:has(img)):not(:has(svg))::after {
  content: "";
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  margin-left: 0.25em;
  vertical-align: super;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* 店舗ページのメインビジュアル直下に出す注意書き（写真・機材の変更可能性） */
.c-notice-change {
    margin: 1.5em auto 0;
    width: min(92%, 80em);
    font-size: .8125em;
    font-weight: bold;
    text-align: center;
    color: #d7263d;
}

/* メインビジュアル中央：ロゴの代わりに出す注意書き */
.image .content.content--notice {
    width: min(92%, 34em);
}
.c-notice-change--mv {
    margin: 0;
    width: auto;
    font-size: 1em;
}
@media (max-width: 769px) {
    /* 通常はSPでロゴを隠しているが、注意書きは出す */
    .image .container .content.content--notice {
        display: block;
    }
    .c-notice-change--mv {
        font-size: .875em;
    }
}

/*=====================================
お知らせ一覧（page-news.php）
=====================================*/
/* テンプレート専用のスタイルが無く素のHTMLで出ていたため追加（2026-08-05） */
.news-page {
    display: flex;
    gap: 3em;
    margin: 3em auto 5em;
    width: min(92%, 80em);
}
.news-page aside {
    flex-shrink: 0;
    width: 12em;
}
.news-page aside .ttl {
    margin: 0 0 1em;
    padding: 0 0 .75em;
    border-bottom: .0625em solid #1a1a1a;
}
.news-page aside .ttl .ja {
    display: block;
    font-size: 1.125em;
    font-weight: bold;
}
.news-page aside .ttl .en {
    display: block;
    font-size: .75em;
    letter-spacing: .1em;
    color: #888;
}
.news-page aside ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.news-page aside ul li a {
    display: flex;
    align-items: center;
    gap: .5em;
    padding: .625em 0;
    font-size: .875em;
    color: #1a1a1a;
    text-decoration: none;
}
.news-page aside ul li a:hover {
    opacity: .6;
}
.news-page main {
    flex: 1;
    min-width: 0;
}
.news-page .news h1 {
    margin: 0 0 1em;
    font-size: 1.5em;
}
.news-page .news .row article.column {
    border-bottom: .0625em solid #eee;
}
.news-page .news .row article.column a {
    display: flex;
    align-items: center;
    gap: 1em;
    padding: 1.125em .25em;
    color: inherit;
    text-decoration: none;
}
.news-page .news .row article.column a:hover {
    background: #fafafa;
}
.news-page .news .row article.column time {
    flex-shrink: 0;
    font-size: .875em;
    color: #888;
    white-space: nowrap;
}
.news-page .news .row article.column .cat {
    flex-shrink: 0;
    margin: 0;
}
.news-page .news .row article.column .cat span {
    display: inline-block;
    padding: .1875em .75em;
    font-size: .75em;
    white-space: nowrap;
    border: .0625em solid #ddd;
    border-radius: 1em;
}
.news-page .news .row article.column .ttl {
    margin: 0;
    font-size: .9375em;
}
@media (max-width: 769px) {
    .news-page {
        display: block;
        margin: 2em auto 3em;
    }
    .news-page aside {
        width: 100%;
        margin: 0 0 2em;
    }
    .news-page .news .row article.column a {
        flex-wrap: wrap;
        gap: .5em;
    }
    .news-page .news .row article.column .ttl {
        width: 100%;
    }
}

/* お知らせ一覧・カテゴリ一覧: 現在地とページ送り */
.news-page aside ul li.is-current a {
    font-weight: bold;
}
.news-page .news .empty {
    padding: 2em 0;
    color: #888;
}
.news-page .news .pagination {
    margin: 2em 0 0;
    text-align: center;
}
.news-page .news .pagination .nav-links {
    display: inline-flex;
    gap: .375em;
    flex-wrap: wrap;
    align-items: center;
}
.news-page .news .pagination .page-numbers {
    display: inline-block;
    padding: .375em .75em;
    font-size: .875em;
    color: #1a1a1a;
    text-decoration: none;
    border: .0625em solid #ddd;
    border-radius: .25em;
}
.news-page .news .pagination .page-numbers.current {
    color: #fff;
    background: #1a1a1a;
    border-color: #1a1a1a;
}

/*--------------------------------------------------------------
404ページ（2026-08-15 4696.studio から横展開）
    数字はストロボが光ってから像が出るように見せる。
    ⚠️ 4696版は .p-lp__btn を流用しているが、このサイトには存在しないため
       ボタンも .p-404__btn として自己完結させている
--------------------------------------------------------------*/
.p-404__stage {
	padding: 4em 0 5em;
	text-align: center;
}
.p-404__stage .container {
	width: min(92%, 46em);
	margin: 0 auto;
}
.p-404__code {
	margin: 0;
	font-family: 'Google Sans', sans-serif;
	font-size: 9em;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .04em;
	color: #1a1a1a;
	animation: p-404-flash 2s ease-out both;
}
/* 露出オーバーで真っ白 → 像が落ち着く、というストロボの見立て */
@keyframes p-404-flash {
	0%   { color: #fff; text-shadow: 0 0 1.5em rgba(0, 0, 0, .18); }
	10%  { color: #fff; text-shadow: 0 0 .4em rgba(0, 0, 0, .3); }
	28%  { color: #d5d5d5; text-shadow: none; }
	100% { color: #1a1a1a; text-shadow: none; }
}
.p-404__title {
	margin: .5em 0 0;
	font-size: 1.375em;
	font-weight: bold;
}
.p-404__joke {
	margin: .75em 0 0;
	font-size: 1em;
	color: #555;
}
.p-404__lead {
	margin: 1.5em 0 0;
	line-height: 1.9;
}
.p-404__cta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .75em;
	margin: 2em 0 0;
}
.p-404__btn {
	display: inline-block;
	padding: .875em 2em;
	border: .0625em solid #1a1a1a;
	background: #1a1a1a;
	color: #fff;
	font-size: .9375em;
	text-decoration: none;
	transition: opacity .2s;
}
.p-404__btn:hover {
	opacity: .7;
}
.p-404__btn--ghost {
	background: transparent;
	color: #1a1a1a;
}
.p-404__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5em 2em;
	margin: 2.5em 0 0;
}
.p-404__links a {
	color: #1a1a1a;
	font-size: .9375em;
	text-decoration: underline;
	text-underline-offset: .25em;
}
.p-404__links a:hover {
	opacity: .6;
}
/* 明滅を避けたい利用者には演出を出さない */
@media (prefers-reduced-motion: reduce) {
	.p-404__code {
		animation: none;
	}
}
@media (max-width: 769px) {
	.p-404__stage {
		padding: 3em 0 4em;
	}
	.p-404__code {
		font-size: 5.5em;
	}
	.p-404__title {
		font-size: 1.25em;
	}
	.p-404__links {
		gap: .5em 1.25em;
	}
}

/* メインビジュアルが1枚のとき（2026-08-16）
   .main_img は6枚のクロスフェード前提で 36秒アニメ・opacity:0 起点のため、
   1枚だけ置くと大半の時間が非表示（黒）になる。写真が増えたらこの修飾子を外す。 */
.main_imgBox--single .main_img {
	opacity: 1;
	animation: none;
}

/* メインビジュアルが4枚のとき（2026-08-22）
   既定の anime は6枚前提（周期36s・1枚が25%＝9秒だけ表示）。4枚で流用すると
   24秒以降が誰の担当でもなくなり、12秒間まっ暗になる。
   1枚29%表示＋4%フェードで前後を重ね、常にどれかが見えている状態にする。 */
.main_imgBox--4 .main_img {
	animation-name: anime4;
	animation-duration: 24s;
}
.main_imgBox--4 .main_img:nth-of-type(1) { animation-delay: 0s; }
.main_imgBox--4 .main_img:nth-of-type(2) { animation-delay: 6s; }
.main_imgBox--4 .main_img:nth-of-type(3) { animation-delay: 12s; }
.main_imgBox--4 .main_img:nth-of-type(4) { animation-delay: 18s; }
@keyframes anime4 {
	0%   { opacity: 0; }
	4%   { opacity: 1; }
	29%  { opacity: 1; }
	33%  { opacity: 0; }
	100% { opacity: 0; }
}

/* メインビジュアル直下の注記（2026-08-25 児島指示）。本文より2段小さく（1em → 0.875em） */
.p-mv-notice {
  margin: 1em auto 0;
  width: min(92%, 80em);
  font-size: 0.875em;
}

/* 店舗ページの料金は太字をやめて標準の太さにする（2026-08-25 児島指示）。
   ⚠️ `.plan` はオプション子ページ（/option/*）でも使っていて、そちらは太字のままにする。
      店舗ページだけ section に id="plan" が付いているので、それを手がかりに限定している */
#plan .container .price {
  font-weight: normal;
}
