@charset "utf-8";
/*
Theme Name: midori (STUDIO 3106)
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: #333;
	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 {
	/* 黒ベースのサイト（2026-09-05 児島指示）。461から複製した明るい配色を反転している */
	background-color: #ffffff;
	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: #ffffff;
	-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;
  /* サイトが黒ベースなので、スクロール追従時のヘッダーも黒地にする（2026-09-05 児島指示）。
     ロゴ・ナビが白文字のため、白地のままだと文字が読めなくなっていた */
  background-color: #ffffff;
  box-shadow: 0 3px 25px rgb(0 0 0 / 45%);
  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 3106 青山店 第2スタジオ」等が折り返す（2026-08-20 児島指摘）。
     折り返さない最小は約20.6em。矢印との間隔も確保して 23em にしている。 */
  width: 23em;
  background-color: #ffffff;
  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: #fff200;
  border-radius: 6px;
}
header.site .container nav ul li .child ul li:hover a,
header.site .container nav ul li .child ul li:hover a:hover {
  color: #1a1a1a;
}
header.site .container nav ul li .child ul li:hover::before {
  background-color: #ffffff;
}
header.site .container nav ul li .child ul li:hover::after {
  border-top-color: #1a1a1a;
  border-right-color: #1a1a1a;
}
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: #fff;
  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: #fff200;
}
header.site.fixed .container nav ul li.reserve a {
  border-radius: 0;
}
header.site .container nav ul li.line a {
  color: #1a1a1a;
  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: #ffffff;
    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: #262626;
    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: #fff200;
    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: #fff200;
    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: #ffffff;
  	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: #ffffff;
  }
  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: #ffffff;
	/* 白背景のため、本文との境目が消えないよう罫線で区切る */
	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: #fff;
}
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: #1a1a1a;
	background-color: #fff;
	border-radius: .1875em;
}
footer.site .container .list .support ul li a i {
	padding-right: 1em;
	color: #1a1a1a;
}
footer.site .container .list .support ul li:hover a {
	color: #1a1a1a;
	background-color: #fff200;
}
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;
}
/* 住所→Googleマップ。iOS Safari の住所自動検出だと店舗ごとに下線の有無がばらつくため、全店を明示的にリンクにする */
footer.site .container .company .wrap address .map-link {
  display: inline;
  text-decoration: none;
  color: inherit;
}
footer.site .container .company .wrap address .map-link:hover {
  text-decoration: none;
}
footer.site .container .company .wrap address .map-link:hover .map-link__text {
  text-decoration: underline;
  text-underline-offset: .1875em;
}
footer.site .container .company .wrap address .map-link__badge {
  display: inline-flex;
  align-items: center;
  gap: .25em;
  margin: 0 0 0 .5em;
  padding: .0625em .5em;
  font-size: .75em;
  font-weight: bold;
  line-height: 1.5;
  white-space: nowrap;
  vertical-align: .125em;
  border: .0625em solid rgba(255, 255, 255, .5);
  border-radius: 1em;
  transition: background-color .2s, color .2s, border-color .2s;
}
footer.site .container .company .wrap address .map-link__badge i {
  font-size: .875em;
}
footer.site .container .company .wrap address .map-link:hover .map-link__badge {
  color: #1a1a1a;
  background-color: #fff200;
  border-color: #fff200;
}
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: #fff;
  border: .0625em solid #1a1a1a;
  border-radius: 50%;
}
footer.site .container .company .wrap .sns li svg {
  width: 1em;
  fill: #1a1a1a;
}
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: #fff;
	z-index: 99;
}
#sp_reserve .btn {
	width: calc(100% / 5);
	text-align: center;
}
#sp_reserve .btn:nth-child(3) {
  position: relative;
  background-color: #fff200;
}
#sp_reserve .btn:nth-child(3):before {
  position: absolute;
  top: -9px;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 10px;
  background-color: #fff200;
  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: #1a1a1a;
}
#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: #1a1a1a;
}
}


/*--------------------------------------------------------------
*.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: #1a1a1a;
    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: #ffffff;
	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: #1a1a1a;
}
#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: #fff;
  transition: all .3s;
}
.btn.btn-arrow a::after{
  content: '';
  position: absolute;
  bottom: -.3125em;
  right: 0;
  width: .9375em;
  height: .125em;
  background-color: #fff;
  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: #9a9a9a;
}
.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: #262626;
}
#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: #1a1a1a;
	background-color: #fff;
	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%, #fff 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: #1a1a1a;
  background-color: #fff;
  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 #2e2e2e;
  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 #2e2e2e;
  }
  .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 #1a1a1a;
}
.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%, #fff 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: #ffffff;
  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: #1a1a1a;
}
.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;
  /* サイト全体が黒ベースのため、写真に重なる帯も黒＋白文字（2026-09-05 児島指示） */
  color: #1a1a1a;
  background-color: #ffffff;
  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;
  color: #1a1a1a;
  background-color: #ffffff;
  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;
    /* スマホは写真の下に文字が回り込むため、PCの白抜き（黒背景）を元に戻す（2026-09-05 児島指示） */
    color: #1a1a1a;
    background-color: transparent;
  }
  .mv .container .body p {
    margin: 0 auto;
    padding: 0;
    width: 92%;
    font-size: .9375em;
    font-weight: normal;
    color: #1a1a1a;
    background-color: transparent;
  }
}
/*.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;
  }
}
/* オープン前の注記（2026-10-03 児島指示・オープン後に page-kameari.php の p.preopen-note ごと削除） */
.concept .container .preopen-note {
  margin: 1em 0 0;
  font-size: .875em;
  line-height: 1.6;
  text-align: center;
  opacity: .75;
}
/* 拡散感謝キャンペーン（2026-10-03・inc/campaign.php。受付終了後は page-kameari.php の呼び出しごと外す） */
.campaign {
  position: relative;
  overflow: hidden;
  margin: 0 0 4em;
  padding: 0;
  background-color: #1a1a1a;
  color: #ffffff;
}
.campaign .container {
  position: relative;
  z-index: 1;
  padding: 4em 0;
}
/* グランドオープン感の飾り（2026-10-03 児島指示）: 流れる帯・OPEN記念バッジ（紙吹雪は不要との指示で削除） */
/* 背景のふわふわ変形まる（2026-10-03 児島指示）。形が変わりながらゆっくり漂う */
.campaign__blobs {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.campaign__blobs span {
  position: absolute;
  display: block;
  border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%;
  animation: campaign-blob-morph 14s ease-in-out infinite, campaign-blob-float 22s ease-in-out infinite;
  will-change: transform, border-radius;
}
.campaign__blobs span:nth-child(1) {
  top: 6%;
  left: -6%;
  width: 26em;
  height: 26em;
  background-color: rgba(255, 255, 255, 0.45);
}
.campaign__blobs span:nth-child(2) {
  right: -8%;
  bottom: 4%;
  width: 32em;
  height: 32em;
  background-color: rgba(255, 255, 255, 0.35);
  animation-duration: 18s, 26s;
  animation-delay: -4s, -8s;
}
.campaign__blobs span:nth-child(3) {
  top: 38%;
  left: 40%;
  width: 14em;
  height: 14em;
  background-color: rgba(255, 214, 0, 0.55);
  animation-duration: 12s, 20s;
  animation-delay: -6s, -3s;
}
.campaign__blobs span:nth-child(4) {
  top: -6%;
  right: 18%;
  width: 18em;
  height: 18em;
  background-color: rgba(255, 228, 0, 0.6);
  animation-duration: 16s, 24s;
  animation-delay: -2s, -12s;
}
@keyframes campaign-blob-morph {
  0%, 100% { border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%; }
  25%      { border-radius: 63% 37% 46% 54% / 55% 62% 38% 45%; }
  50%      { border-radius: 38% 62% 35% 65% / 62% 38% 62% 38%; }
  75%      { border-radius: 55% 45% 68% 32% / 37% 58% 42% 63%; }
}
@keyframes campaign-blob-float {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  33%      { transform: translate(4%, -6%) rotate(40deg); }
  66%      { transform: translate(-5%, 5%) rotate(-30deg); }
}
@media (prefers-reduced-motion: reduce) {
  .campaign__blobs span { animation: none; }
}
.campaign__marquee {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding: 0.625em 0;
  background-color: #ffffff;
  color: #1a1a1a;
  font-size: 0.875em;
  font-weight: bold;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.campaign__marquee-track {
  display: inline-flex;
  animation: campaign-marquee 40s linear infinite;
}
.campaign__marquee--bottom .campaign__marquee-track {
  animation-direction: reverse;
}
.campaign__marquee-track span {
  padding-right: 0.5em;
}
@keyframes campaign-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .campaign__marquee-track { animation: none; }
}
.campaign__eyebrow {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0.5em;
  margin: 0 0 0.75em;
  font-weight: bold;
  line-height: 1;
}
.campaign__eyebrow-date {
  font-size: 1.25em;
  letter-spacing: 0.08em;
}
.campaign__eyebrow-text {
  font-size: 3em;
  letter-spacing: 0.04em;
  color: transparent;
  -webkit-text-stroke: 0.04em #1a1a1a;
}
.campaign__price {
  position: relative;
}
.campaign__badge {
  position: absolute;
  top: -1.25em;
  left: calc(50% + 5.5em);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4.75em;
  height: 4.75em;
  background-color: #ffffff;
  color: #1a1a1a;
  font-size: 0.875em;
  line-height: 1.2;
  text-align: center;
  transform: rotate(12deg);
  clip-path: polygon(50% 0%, 61% 11%, 75% 6%, 79% 21%, 94% 25%, 89% 39%, 100% 50%, 89% 61%, 94% 75%, 79% 79%, 75% 94%, 61% 89%, 50% 100%, 39% 89%, 25% 94%, 21% 79%, 6% 75%, 11% 61%, 0% 50%, 11% 39%, 6% 25%, 21% 21%, 25% 6%, 39% 11%);
}
.campaign .container {
  margin: 0 auto;
  width: 92%;
  max-width: 1080px;
}
.campaign__box {
  text-align: center;
}
.campaign__label {
  display: inline-block;
  margin: 0 0 1em;
  padding: 0.25em 1em;
  background-color: #ffffff;
  border-radius: 2em;
  color: #1a1a1a;
  font-size: 0.875em;
  font-weight: bold;
}
.campaign__title {
  margin: 0 0 0.75em;
  font-size: 2em;
  line-height: 1.4;
}
.campaign__lead {
  margin: 0 0 1.5em;
  line-height: 1.8;
}
.campaign__price {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0.25em;
  color: #1a1a1a;
  font-weight: bold;
}
.campaign__price-pre,
.campaign__price-unit {
  font-size: 1.5em;
}
.campaign__price-num {
  font-size: 5em;
  line-height: 1;
}
.campaign__price {
  margin-bottom: 1.5em;
}
.campaign__price-sub {
  margin: 0.5em 0 2em;
  font-size: 0.875em;
  opacity: 0.8;
}
.campaign__terms {
  margin: 0 0 2em;
  padding: 0;
  text-align: left;
}
.campaign__terms div {
  display: flex;
  gap: 1em;
  padding: 0.375em 0;
}
.campaign__terms dt {
  flex: 0 0 8em;
  font-weight: bold;
}
.campaign__terms dd {
  margin: 0;
}
.campaign__steps {
  margin: 0 0 2em;
  padding: 0;
  list-style: none;
  text-align: left;
}
.campaign__steps li {
  display: flex;
  align-items: flex-start;
  gap: 0.75em;
  padding: 0.5em 0;
  line-height: 1.7;
}
.campaign__steps li span {
  flex: 0 0 1.75em;
  height: 1.75em;
  background-color: #ffffff;
  border-radius: 50%;
  color: #1a1a1a;
  font-weight: bold;
  line-height: 1.75em;
  text-align: center;
}
.campaign__form {
  margin: 0 0 1.5em;
  text-align: left;
}
.campaign__field {
  display: block;
  margin: 0 0 1.25em;
}
.campaign__field > span {
  display: block;
  margin: 0 0 0.375em;
  font-size: 0.875em;
  font-weight: bold;
}
.campaign__field em {
  margin-left: 0.5em;
  padding: 0.125em 0.5em;
  background-color: #ffffff;
  border-radius: 0.25em;
  color: #1a1a1a;
  font-size: 0.75em;
  font-style: normal;
}
.campaign__field input[type="email"],
.campaign__field input[type="text"],
.campaign__field input[type="url"] {
  box-sizing: border-box;
  width: 100%;
  padding: 0.75em 1em;
  background-color: #fff;
  border: 0;
  border-radius: 0.375em;
  color: #1a1a1a;
  font-family: inherit;
  font-size: 1em;
}
.campaign__upload {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75em;
  cursor: pointer;
}
.campaign__upload input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.campaign__upload-btn {
  padding: 0.625em 1.25em;
  background-color: #fff;
  border: 0;
  border-radius: 0.375em;
  font-size: 0.875em;
  font-weight: bold;
}
.campaign__upload:focus-within .campaign__upload-btn {
  outline: 0.125em solid #1a1a1a;
  outline-offset: 0.125em;
}
.campaign__upload-name {
  font-size: 0.8125em;
  opacity: 0.8;
  word-break: break-all;
}
.campaign__preview {
  display: block;
  margin: 1em 0 0;
  max-width: 12em;
  max-height: 20em;
  border-radius: 0.375em;
}
.campaign__preview[hidden] {
  display: none;
}
.campaign__hp {
  position: absolute;
  left: -9999px;
}
.campaign__agree {
  margin: 0 0 1em;
  font-size: 0.8125em;
  opacity: 0.8;
}
.campaign__submit {
  display: block;
  width: 100%;
  padding: 1em;
  background-color: #ffffff;
  border: 0;
  border-radius: 0.5em;
  color: #1a1a1a;
  font-family: inherit;
  font-size: 1em;
  font-weight: bold;
  cursor: pointer;
}
.campaign__submit:disabled {
  opacity: 0.5;
  cursor: wait;
}
.campaign__message {
  margin: 1em 0 0;
  font-weight: bold;
  line-height: 1.7;
}
.campaign__message.is-error {
  color: #c4001d;
}
.campaign__closed {
  margin: 0 0 1.5em;
  font-weight: bold;
}
.campaign__notes {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.6875em;
  line-height: 1.8;
  text-align: left;
  opacity: 0.8;
}
.campaign__entry-title {
  margin: 0 0 1em;
  font-size: 1.125em;
  font-weight: bold;
  text-align: left;
}
/* PCは横長: 説明（左）と応募フォーム（右）の2段組み（2026-10-03 児島指示） */
@media (min-width: 770px) {
  .campaign__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3em;
    align-items: start;
    margin-top: 1em;
  }
  .campaign__info .campaign__steps {
    margin-bottom: 0;
  }
  .campaign__entry {
    padding: 0;
  }
}
@media (max-width: 769px) {
  .campaign .container {
    padding: 3em 0;
    font-size: 0.875em; /* スマホは欄全体の文字をひと回り小さく（2026-10-03 児島指示） */
  }
  .campaign__marquee {
    font-size: 0.75em;
  }
  .campaign__blobs span {
    font-size: 0.6em;
  }
  /* iPhoneは16px未満の入力欄にフォーカスすると画面を拡大するので、入力欄だけは16pxを保つ */
  .campaign__field input[type="email"],
  .campaign__field input[type="text"] {
    font-size: 16px;
  }
  .campaign__eyebrow {
    flex-direction: column;
    align-items: center;
    gap: 0.25em;
  }
  .campaign__eyebrow-text {
    font-size: 2.25em;
  }
  .campaign__badge {
    top: -1.75em;
    left: calc(50% + 4.75em);
    width: 4.25em;
    height: 4.25em;
    font-size: 0.75em;
  }
  .campaign__title {
    font-size: 1.5em;
  }
  .campaign__price-num {
    font-size: 4em;
  }
  .campaign__terms div {
    flex-direction: column;
    gap: 0;
  }
  .campaign__terms dt {
    flex: none;
  }
}
/*.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: #fff;
	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: #ffffff;
}
@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: #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 4px 2px rgba(#1a1a1a, 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: 80em; /* 平面図は全店共通の縮尺・1280px幅（2026-10-18） */
}
.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; }
/* 縦長の平面図（横浜馬車道店 第2スタジオ）は横幅いっぱいに広げると縦に長すぎるため中央に寄せて幅を抑える */
.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%;
	border-radius: 0.75em;
}
.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: #ffffff;
	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%;
  table-layout: fixed; /* キャンセル料の表の列幅をそろえる（2026-10-17 児島指示） */
  text-align: center;
  border: 1px solid #444;
  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 #444;
	border-bottom: 1px solid #444;
}
.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 #444;
	border-bottom: 1px solid #444;
}
@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: #ffffff;
  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: #1a1a1a;
	background-color: #fff;
	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: #1a1a1a;
	background-color: #fff;
	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: #1a1a1a;
	background-color: #fff;
}
.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 #1a1a1a;
}
.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: #1a1a1a;
}
.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: #ffffff;
	border-radius: 30px;
	cursor: pointer;
	transition: .3s;
}
.cta .container .btn a:hover {
	color: #1a1a1a;
	background-color: #fff200;
}
@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 #1a1a1a;
  }
}
/*.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: #1a1a1a;
	background-color: #fff;
}
.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: #1a1a1a;
	background-color: #fff;
}
.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 Awesome 5 のファミリー名。'FontAwesome'（FA4の名前）のままだと
	   読み込んでいる5.3.1で解決できず、豆腐（□）になる（2026-09-18 児島指摘） */
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	line-height: 24px;
	text-align: center;
	color: #1a1a1a;
	background-color: #fff;
	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: #1a1a1a;
	background-color: #fff;
	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: #1a1a1a;
	background-color: #fff;
	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: #1a1a1a;
}
.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: #ffffff;
	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: #1a1a1a;
  background-color: #fff;
  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: #9a9a9a;
}
.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: #9a9a9a;
}
.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: #262626;
  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: #262626;
  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: #ffffff;
  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: #1a1a1a;
  background-color: #fff;
  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: #1a1a1a;
  background-color: #fff;
  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: #1a1a1a;
  background-color: #fff;
  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
--------------------------------------------------------------*/
.page-template-page-option-child {

}
.page-template-page-option-child .wrapper {
   margin-top: 3.75em;
}
.page-template-page-option-child .wrapper main {

}
.page-template-page-option-child .wrapper main article {
  margin: 0;
}
/*.slideshow*/
.page-template-page-option-child .wrapper main article .slideshow {
  
}
.page-template-page-option-child .wrapper main article .slideshow .container {
  
}
.page-template-page-option-child .wrapper main article .slideshow .container .photo {
  overflow: hidden;
}
.page-template-page-option-child .wrapper main article .slideshow .container .photo .slick-img {
  
}
.page-template-page-option-child .wrapper main article .slideshow .container .photo .slick-img:before {
    content:"";
    display: block;
    padding-top: 25%;
}
.page-template-page-option-child .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) {
  .page-template-page-option-child .wrapper main article .slideshow .container .photo .slick-img:before {
      padding-top: 37.5%;
  }
}
/*.summary*/
.page-template-page-option-child .wrapper main article .summary {
  margin: 1em 0;
}
.page-template-page-option-child .wrapper main article .summary .container {
  margin: 0 auto;
  width: 92%;
  max-width:  45em;
}
.page-template-page-option-child .wrapper main article .summary .container h1 {
  margin: 0;
  font-size: 1.375em;
  text-align: center;
}
.page-template-page-option-child .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;
}
.page-template-page-option-child .wrapper main article .summary .container p {
  margin: 1em 0 0;
}
@media (max-width: 769px) {
  .page-template-page-option-child .wrapper main article .summary {
    margin: 0;
  }
}
/*.feature*/
.page-template-page-option-child .wrapper main article .feature {
	margin: 3em 0;
}
.page-template-page-option-child .wrapper main article .feature .container {
	margin: 0 auto;
	width: 92%;
	max-width: 67.5em;
}
.page-template-page-option-child .wrapper main article .feature .container .row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.page-template-page-option-child .wrapper main article .feature .container .row .column {
	overflow: auto;
	margin: 0 1%;
	width: calc(100% / 3 - 2%);
}
.page-template-page-option-child .wrapper main article .feature .container .row .column .image {
  padding: 0;
  height: auto; 
}
.page-template-page-option-child .wrapper main article .feature .container .row .column .image figure {
	margin: 0 0 .75em;
}
.page-template-page-option-child .wrapper main article .feature .container .row .column .image figure img {
	display: block;
	width: 100%;
	border-radius: .75em;
}
.page-template-page-option-child .wrapper main article .feature .container .row .column .body {
	
}
.page-template-page-option-child .wrapper main article .feature .container .row .column .body h3 {
	margin: 0 0 .25em;
	font-size: 1.125em;
	text-align: center;
}
.page-template-page-option-child .wrapper main article .feature .container .row .column .body p {
	margin: 0;
	font-size: .9375em;
}
@media (max-width: 769px) {
  .page-template-page-option-child .wrapper main article .feature {
	  margin: 2em 0;
  }
  .page-template-page-option-child .wrapper main article .feature .container {
  	width: 100%;
  }
  .page-template-page-option-child .wrapper main article .feature .container .row .column {
    display: flex;
  	margin: 0 0 1em;
  	width: 100%;
  }
  .page-template-page-option-child .wrapper main article .feature .container .row .column .image {
    width: 50%;
  }
  .page-template-page-option-child .wrapper main article .feature .container .row .column:nth-child(even) .image {
    order: 2;
  }
  .page-template-page-option-child .wrapper main article .feature .container .row .column .image figure {
    overflow: hidden;
  	margin: 0;
  	height: 100%;
  	border-radius: 0 .5em 0 0;
  }
  .page-template-page-option-child .wrapper main article .feature .container .row .column:nth-child(even) .image figure {
    border-radius: .5em 0 0 0;
  }
  .page-template-page-option-child .wrapper main article .feature .container .row .column .image figure img {
    height: 100%;
    object-fit: cover;
  	border-radius: 0;
  }
  .page-template-page-option-child .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;
  }
  .page-template-page-option-child .wrapper main article .feature .container .row .column:nth-child(even) .body {
    margin: 0 -2em 0 0;
    border-radius: 0 .5em 0 0;
  }
  .page-template-page-option-child .wrapper main article .feature .container .row .column .body h3 {
    text-align: left;
  }
}
/*.plan*/
.page-template-page-option-child .wrapper main article .plan {
	margin: 3em 0;
}
.page-template-page-option-child .wrapper main article .plan .container {
	margin: 0 auto;
	width: 100%;
	max-width: 55em;
}
.page-template-page-option-child .wrapper main article .plan .container header.section {
	margin: 0 0 1em;
	text-align: center;
}
.page-template-page-option-child .wrapper main article .plan .container header.section h2 {
	display: inline-block;
	margin: 0;
	font-size: 1.375em;
}
.page-template-page-option-child .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;
}
.page-template-page-option-child .wrapper main article .plan .container header.section .desc {
	margin: 0 0 1em;
	font-size: .9375em;
	color: #717171;
}
.page-template-page-option-child .wrapper main article .plan .container .thumbnail {
  margin: 0 0 2em;  
}
.page-template-page-option-child .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;
}
.page-template-page-option-child .wrapper main article .plan .container .thumbnail .item.slick-current {
  color: #fff;
  background-color: #1a1a1a;
}
.page-template-page-option-child .wrapper main article .plan .container .thumbnail .slick-track {
  transform:unset!important;
}
.page-template-page-option-child .wrapper main article .plan .container .row {
  display: flex;
  justify-content: center;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column {
  margin: 0 .5em 0;
  width: calc(100% / 3 - 1em);
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .name {
  margin: 0 0 .5em;
  text-align: center;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .name h3 {
  margin: 0;
}
.page-template-page-option-child .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;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .price .no_tax {
  display: inline-block;
  font-size: 2em;
  line-height: 1;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .price .no_tax .unit {
	display: inline-block;
	padding-right: .125em;
	font-size: .75em;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .price .no_tax .num {
  
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .price .include_tax {
  margin: .5em 0 0;
  font-size: .75em;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .price .include_tax .unit {
	display: inline-block;
	padding-right: .125em;
	font-size: .75em;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .price .include_tax .num {
  font-size: 1em;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .description {
  margin: .75em 0;
  font-size: .875em;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .table {
  font-size: .9375em;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .table .common {
  margin: .75em 0;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .table .common dl {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .table .common dl dt {
  padding-right: 1.25em;
  font-size: .875em;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .table .common dl dd {
  margin: 0;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .table .common dl dd big {
  padding: 0 .05em;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .table .common dl dd small {
  padding-left: .5em;
  color: #3a3a3a;
}
.page-template-page-option-child .wrapper main article .plan .container .row .column .table .common dl dd small.tax {
  display: block;
  font-size: .75em;
}
.page-template-page-option-child .wrapper main article .plan .container .note {
  margin: 0 0 1em;
	text-align: center;
}
.page-template-page-option-child .wrapper main article .plan .container .note ul {
	display: inline-block;
	margin: 1em 0 0;
	padding: 0;
	font-size: .75em;
	list-style-type: none;
}
.page-template-page-option-child .wrapper main article .plan .container .note ul li {
	text-align: left;
}
.page-template-page-option-child .wrapper main article .plan .container .btn {
  margin: 2em 0 0;
  text-align: center;
}
.page-template-page-option-child .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;
}
.page-template-page-option-child .wrapper main article .plan .container .btn a:hover {
  opacity: .5;
}
@media (max-width: 769px) {

}
/*.faq*/
.page-template-page-option-child .wrapper main article .faq {
	margin: 3em 0;
}
.page-template-page-option-child .wrapper main article .faq .container {
	margin: 0 auto;
	width: 92%;
	max-width: 720px;
}
.page-template-page-option-child .wrapper main article .faq .container header.section {
	margin: 0 0 1em;
	text-align: center;
}
.page-template-page-option-child .wrapper main article .faq .container header.section h2 {
	display: inline-block;
	margin: 0;
	font-size: 1.375em;
}
.page-template-page-option-child .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;
}
.page-template-page-option-child .wrapper main article .faq .container header.section .desc {
	margin: 0 0 1em;
	font-size: .9375em;
	color: #717171;
}
.page-template-page-option-child .wrapper main article .faq .container dl {
	margin: 0;
	padding: 0 0 1em;
}
.page-template-page-option-child .wrapper main article .faq .container dl dt {
	padding-right: 30px;
}
.page-template-page-option-child .wrapper main article .faq .container dl dd {
	margin: 0;
}
.page-template-page-option-child .wrapper main article .faq .container dl dd a {
	padding: 0 .25em;
	color: #ff5a5f;
}
.page-template-page-option-child .wrapper main article .faq .container dl dt span.icon,
.page-template-page-option-child .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 Awesome 5 のファミリー名。'FontAwesome'（FA4の名前）のままだと
	   読み込んでいる5.3.1で解決できず、豆腐（□）になる（2026-09-18 児島指摘） */
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	line-height: 24px;
	text-align: center;
	color: #1a1a1a;
	background-color: #fff;
	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: #1a1a1a;
	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: #2e2e2e;
	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: #2e2e2e;	
}
.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: #fff200;
  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: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	color: #b6b6b6;
	background-color: #262626;
	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: #1a1a1a;
}
.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: #1a1a1a;
	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: #1a1a1a;
	border-bottom: 2px solid #1a1a1a;
}
.attention_popup .wrap p {
	margin: .25em 0;
	font-size: .9375em;
	font-weight: bold;
	text-align: left;
}
.attention_popup .wrap p a {
  color: #1a1a1a;
}
.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: #ffffff;
	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: #1a1a1a;
	background-color: #fff;
}
.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: #1a1a1a;
	background-color: #ba1525;
	border-radius: 20px;
	vertical-align: top;
}
.mw_wp_form_296 form table tbody tr th .optional {
	color: #1a1a1a;
	background-color: #444;
}
.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: #262626;
	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: #262626 !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: #333;
    border: .125em solid #333;
    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: #1a1a1a;
	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: #ffffff;
    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: #1a1a1a;
	background-color: #fff;
}
.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: #1a1a1a;
    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: #1a1a1a;
	background-color: #fff;
	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: #262626;
  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: #ffffff;
  border: 2px solid #1a1a1a;
  border-radius: 3em;
  cursor: pointer;
  transition: .3s;
}
.switchbot .container ol li button:disabled {
  opacity: .25;
}


/* ------------------------------------------------------------------
   他ブランドのスタジオサイトへ出るリンクに新規タブアイコンを付ける
   ------------------------------------------------------------------
   対象は 4696.studio / 461.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*="//961.studio"]:not(:has(img)):not(:has(svg))::after,
a[href*="//461.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: #9a9a9a;
}
.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 #333;
}
.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: #f5f5f5;
}
.news-page .news .row article.column time {
    flex-shrink: 0;
    font-size: .875em;
    color: #9a9a9a;
    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 #444;
    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: #9a9a9a;
}
.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 #444;
    border-radius: .25em;
}
.news-page .news .pagination .page-numbers.current {
    color: #1a1a1a;
    background: #fff;
    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: #1a1a1a; text-shadow: 0 0 1.5em rgba(0, 0, 0, .18); }
	10%  { color: #1a1a1a; 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: #fff;
	color: #1a1a1a;
	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; }
}

/* メインビジュアルが3枚のとき（2026-09-30 白い背景紙の写真を外して3枚に）
   4枚版と同じ考え方で、1枚6秒・前後4%を重ねてまっ暗な時間を作らない（周期18s）。 */
.main_imgBox--3 .main_img {
	animation-name: anime3;
	animation-duration: 18s;
}
.main_imgBox--3 .main_img:nth-of-type(1) { animation-delay: 0s; }
.main_imgBox--3 .main_img:nth-of-type(2) { animation-delay: 6s; }
.main_imgBox--3 .main_img:nth-of-type(3) { animation-delay: 12s; }
@keyframes anime3 {
	0%     { opacity: 0; }
	4%     { opacity: 1; }
	37.33% { opacity: 1; }
	41.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;
}

/* 同一ビルに3スタジオ完備（2026-08-29 新設）。
   ⚠️ 見た目は平面図セクションに合わせているが、.drawing は図を重ねるために
      `.content img { position: absolute }` を持つので流用しない。独立したクラスにしている */
.wrapper.studio main article .building {
  margin: 3em 0;
}
.wrapper.studio main article .building .container {
  margin: 0 auto;
  width: 92%;
  max-width: 960px;
}
/* 左＝見出し＋本文／右＝断面図 の2カラム（2026-08-29 児島指示）。スマホは縦積み */
.wrapper.studio main article .building .container .row {
  display: flex;
  align-items: center;
  gap: 2.5em;
}
.wrapper.studio main article .building .container .body {
  flex: 1 1 0;
}
.wrapper.studio main article .building .container h2 {
  margin: 0 0 .75em;
  font-size: 1.5em;
  text-align: left;
}
.wrapper.studio main article .building .container figure {
  flex: 0 1 45%;
  margin: 0;
}
.wrapper.studio main article .building .container figure img {
  display: block;
  width: 100%;
  height: auto;
}
.wrapper.studio main article .building .container p {
  margin: 0 0 1em;
}
@media (max-width: 769px) {
  .wrapper.studio main article .building .container .row { display: block; }
  .wrapper.studio main article .building .container h2 { text-align: center; }
  .wrapper.studio main article .building .container figure { margin: 1.5em auto 0; }
}

/* 店舗スペック表（平面図セクション・inc/store-specs.php が単一ソース）。
   以前は「面積｜天井高｜電力」の1行だけで、ホリゾント寸法は本文の散文にしか
   なかった。比較検討する人にも検索エンジンにも読める形に置き換えている。 */
.c-spec {
	margin: 0 auto 1.5em;
	width: min(100%, 40em);
	border-collapse: collapse;
	font-size: .9375em;
	line-height: 1.5;
	text-align: left;
}
.c-spec th,
.c-spec td {
	padding: .625em .875em;
	border-bottom: 1px solid #d9d9d9;
	text-align: left;
	vertical-align: top;
}
.c-spec th {
	width: 9em;
	font-weight: bold;
	white-space: nowrap;
	color: #ffffff;
	background-color: #1a1a1a;
}
@media (max-width: 769px) {
	.c-spec {
		font-size: .875em;
	}
	.c-spec th {
		width: 7em;
		padding: .5em .625em;
	}
	.c-spec td {
		padding: .5em .625em;
	}
}

/* スタジオ概要（アクセスの下・2026-09-06 児島指示で平面図セクションから移設）。
   中身のスペック表は inc/store-specs.php（4696は inc/studios-data.php）が単一ソース。 */
.wrapper.studio main article .spec {
	margin: 3em 0;
}
.wrapper.studio main article .spec .container {
	margin: 0 auto;
	width: 92%;
	max-width: 960px;
}
.wrapper.studio main article .spec .container h2 {
	margin: 0 0 1em;
	font-size: 2em;
	text-align: center;
}

/* 3106: 緑の背景では青いリンクが読みにくいので差し色にする（2026-10-05） */
.wrapper.studio main article .access .container .row .info table tbody tr td a {
  color: #1a1a1a;
}

/* 3106: 料金プランのクロマキー（3面／床面の2段・2026-10-05） */
.plan .container .insurance.chromakey {
  margin: 2em 0 0;
}
.plan .container .insurance.chromakey .price + .price {
  margin: 0.75em 0 0;
}
.plan .container .insurance.chromakey .label {
  display: inline-block;
  margin: 0 0.75em 0 0;
  padding: 0.25em 0.75em;
  border: 0.125em solid #1a1a1a;
  border-radius: 3em;
  font-size: 0.875em;
  line-height: 1;
  vertical-align: middle;
}
.plan .container .insurance.chromakey .tax {
  font-size: 0.875em;
}

/* 3106: フッターの背景を緑にする（2026-10-05 児島指示）。文字・リンク・枠線・ロゴは白 */
footer.site {
  background-color: #28aa42;
  color: #ffffff;
}
footer.site a,
footer.site h6,
footer.site p,
footer.site dd,
footer.site address,
footer.site .company .wrap .name,
footer.site .company figure span {
  color: #ffffff;
}
footer.site .container .list nav h6::after {
  background-color: #ffffff;
}
footer.site .container .list .support ul li a {
  color: #28aa42;
  background-color: #ffffff;
  border-color: #ffffff;
}
footer.site .container .list .support ul li a i {
  color: #28aa42;
}

/* 3106: 既存のフッターの文字色指定（黒）を同じ強さで白に上書き */
footer.site .container .list nav ul li a,
footer.site .container .company .wrap a {
  color: #ffffff;
}
footer.site .container .company .wrap address .map-link {
  color: #ffffff;
}
/* 「地図」バッジのホバーは、緑の背景に溶けないよう白地に緑文字 */
footer.site .container .company .wrap address .map-link:hover .map-link__badge {
  color: #28aa42;
  background-color: #ffffff;
  border-color: #ffffff;
}

/* 3106: CTA（予約・電話）の背景を緑に（2026-10-05 児島指示）。ボタンは白地に緑文字 */
.cta {
  color: #ffffff;
  background-color: #28aa42;
}
.cta .container .row .column:first-child {
  border-right-color: #ffffff;
}
.cta .container .row .column .tel a {
  color: #ffffff;
}
.cta .container .btn a {
  color: #28aa42;
  background-color: #ffffff;
}
.cta .container .btn a:hover {
	color: #1a1a1a;
	background-color: #fff200;
}
@media (max-width: 769px) {
  .cta .container .row .column:first-child {
    border-bottom-color: #ffffff;
  }
}

/* 横長の平面図（2026-10-18・4696/461/1616と同じ）。スマホでは2倍幅で表示し横スクロールさせる */
.wrapper.studio main article .drawing .container .drawing-scroll-note {
  display: none;
}
@media (max-width: 769px) {
  /* スマホは図面のコンテナを画面いっぱいにして左右の余白をなくす */
  .wrapper.studio main article .drawing .container {
    width: 100%;
  }
  .wrapper.studio main article .drawing .container .content.content--wide {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .wrapper.studio main article .drawing .container .content.content--wide img {
    width: 250%;
    max-width: none;
  }
  .wrapper.studio main article .drawing .container .drawing-scroll-note {
    display: block;
    margin: 1.5em 0 0;
    font-size: .75em;
    text-align: center;
    color: #1a1a1a;
  }
  /* 先頭の左右矢印。mask で文字色に合わせる */
  .wrapper.studio main article .drawing .container .drawing-scroll-note::before {
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    margin-right: .375em;
    vertical-align: -.4375em;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h18M7 8l-4 4 4 4M17 8l4 4-4 4'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h18M7 8l-4 4 4 4M17 8l4 4-4 4'/%3E%3C/svg%3E") center / contain no-repeat;
  }
}

/* 3106: 「オンライン予約」ボタンは緑地に白文字（2026-10-19 児島指示）。ヘッダーとスマホ下部の予約ボタン */
header.site .container nav ul li.reserve a {
  color: #ffffff;
  background-color: #28aa42;
}
#sp_reserve .btn:nth-child(3),
#sp_reserve .btn:nth-child(3):before {
  background-color: #28aa42;
}
#sp_reserve .btn:nth-child(3) a {
  color: #ffffff;
}

/* 3106: ヘッダーの店舗一覧（ドロップダウン）のホバーも緑地に白文字・白矢印（2026-10-19 児島指示） */
header.site .container nav ul li .child ul li:hover {
  background-color: #28aa42;
}
header.site .container nav ul li .child ul li:hover a,
header.site .container nav ul li .child ul li:hover a:hover {
  color: #ffffff;
}
header.site .container nav ul li .child ul li:hover::before {
  background-color: #ffffff;
}
header.site .container nav ul li .child ul li:hover::after {
  border-top-color: #ffffff;
  border-right-color: #ffffff;
}
header.site .container nav ul li .child ul li:hover a[target="_blank"]::after {
  background-color: #ffffff;
}

/* 3106: 緑地（CTA・フッター）の白いボタンは、ホバーで黄色にせず白を少し透かす（2026-10-19 児島指示） */
.cta .container .btn a:hover,
footer.site .container .list .support ul li:hover a {
  color: #28aa42;
  background-color: rgba(255, 255, 255, .85);
}
footer.site .container .company .wrap address .map-link:hover .map-link__badge {
  color: #28aa42;
  background-color: rgba(255, 255, 255, .85);
  border-color: rgba(255, 255, 255, .85);
}

/* マガジン一覧の見出しを h1 にした（2026-10-19 ページに h1 が無かったため）。見た目は従来の h2 と同じ */
#magazine header.section h1 {
  font-size: 1.5em;
  margin: .83em 0;
}

/* 3106: スマホのハンバーガーメニュー（丸いボタン）と、開いたメニューの印も緑に（2026-10-20 児島指示） */
header.site a.toggle::before {
  background-color: #28aa42;
}
header.site .container nav.mobile nav ul li a::after {
  background-color: #28aa42;
}

/* 3106: 店舗ページ上部の案内ボタン（料金プラン・平面図…）の矢印の地も緑に（2026-10-20 児島指示） */
.image .container nav ul li a::before {
  background-color: #28aa42;
}
