@charset "utf-8";
/*
Theme Name: TYPE-A
Theme URI: http://
Description: 専用テーマです。ご不明な点は作成者までご連絡ください。
Author: EMALICA
Author URI: http://www.emalica.com/
Version: 1.0
*/
article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section{display:block}a,hr{padding:0}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0;font-weight:400}ins,mark{background-color:#ff9;color:#000}body{line-height:1}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;font-size:100%;vertical-align:baseline;background:0 0}ins{text-decoration:none}mark{font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0}input,select{vertical-align:middle}img.bgmaximage{position:fixed!important}
.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 200,
  'GRAD' 0,
  'opsz' 48
}
/* 共通
*************************************************/
html {
	width: 100%;
	min-height: 100%;
	margin: 0;
	padding: 0;
	-webkit-overflow-scrolling: touch;
	font-size: 62.5%;
  font-display: swap;
	height: -webkit-fill-available;
  font-family: 'M PLUS 1', sans-serif;
  font-weight: 100;
}
body {
	width: 100%;
	font-size: 1.4rem;
	line-height: 2;
	margin: 0;
	padding: 0;
	background-color: #ffffff;
  color: #182E3D;
  -webkit-text-size-adjust: 100%;
	min-height: 100vh;
	min-height: -webkit-fill-available;
}
h1, h2, h3, h4, h5, p, ul, ol {
	line-height: 1.5;
  margin: 1em 0 .5em 0;
}
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, p:first-child, ul:first-child, ol:first-child {
  margin-top: 0;
}
h1,h2,h3,h4,h5 {
  font-weight: bold;
  clear: both;
}
h1 { font-size: 2.6rem; }
h2 { font-size: 2.2rem; }
h3 { font-size: 1.8rem; }  
@media(min-width: 768px) {
  h1 { font-size: 3.2rem; }
  h2 { font-size: 2.4rem; }
  h3 { font-size: 2rem; }  
}
p { margin: 0 0 1em 0; }
strong {
  color: #bd4a53;
  font-size: 1.6rem;
  font-weight: bold;
}
del {
  color: #333333;
  text-decoration: line-through 2px solid #E0465A;
}
img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  line-height: 0;
  object-fit: contain;
}
table {
  width: 100%;
  margin-bottom: 1em;
  text-align: left;
  border-collapse: collapse;
  background-color: #fff;
}
th,td {
  padding: .5em;
  border: 1px solid #ccc;
  width: auto !important;
}
table th {
  background-color: #f1f1f1;
}
ul,
ol {
  margin: 0 0 1em 1.5em;
}
ul li,
ol li {
  margin: 0;
}
table ul,
table ol {}
a:link, a:visited {
  color: #498dbc;
  transition: .2s;
}
a:hover {
  color: #498dbc;
}
.wrapper {
  background-color: #fff;
  margin: 0;
  padding: 0;
  min-height: 100%;
}
.row {
	box-sizing: border-box;
  display: flex;
  flex-direction: column;
	overflow: hidden;
  margin: 0;
  padding: 16px 0;
  width: 100%;
}
.col {
  box-sizing: border-box;
  overflow: hidden;
  margin: 0;
  padding: 16px 16px calc(16px - 1em) 16px;
  width: 100%;
}
@media(min-width: 768px) {
  .row {
    padding: 32px;
  }
}
@media(min-width: 1024px) {
}
img.alignleft,
img.alignright {
  margin: 0 0 1em 0;
}
@media(min-width: 768px) {
  img.alignleft {
    clear: both;
    width: calc(50% - 32px);
    float: left;
    margin: 0 32px 16px 0;
  }
  img.alignright {
    clear: both;
    width: calc(50% - 32px);
    float: right;
    margin: 0 0 16px 32px;
  }
}
.link {
  text-align: center;
}
.link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 3px double #a4752d;
  text-decoration: none;
  padding: 0 1em;
  width: 50%;
  max-width: 414px;
  transition: .2s;
}
.link a:hover {
  background-color: #a4752d;
  color: #fff;
}
.title-border {
	display: flex;
	align-items: center;
	color: #498dbc;
}
.title-border:before,
.title-border:after {
	border-top: 1px dashed #666;
	content: "";
	flex-grow: 1;
}
.title-border:before {
	margin-right: 1rem;
}
.title-border:after {
	margin-left: 1rem;
}
/* デザイン設定
***************************************************/
.container {
  padding-top: 0;
  min-height: 100%;
  margin: 0 auto;
}
main,
aside {
	box-sizing: border-box;
  position: relative;
}
@media(min-width: 1024px) {
	.container {
		display: flex;
    padding-top: 0;
	}
	main {
		width: 100%;
    order: 2;
	}
	aside {
		width: 256px;
    order: 1;
    position: relative;
	}
}
@media(min-width: 1024px) {
	.container {
    width: 1024px;
	}
}
/* エラーページ
***************************************************/
#error404 {
  text-align: center;
  min-height: calc( 100vh - 48px );
}
@media(min-width: 768px) {
  #eroor-404 {
    min-height: calc( 100vh - 72px );
  }
}
/* YouTube
***************************************************/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
/* Googleマップ
***************************************************/
#global-access {
  margin: 128px 0 0 0;
  padding: 1px 0 0 0;
  background-color: #a4752d;
  color: #fff;
}
#global-access .col {
  padding: 32px;
}
#global-access ul {
  margin: 0;
  list-style: none;
  font-size: 1.4rem;
  text-align: center;
}
#global-access ul li {
  line-height: 1.5;
}
#global-access ul li a {
  text-decoration: none;
  color: #fff;
}
.google-map {
	box-sizing: border-box;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 100vw;
  overflow: hidden;
  border: 1px solid #ccc;
	margin: 1em 0;
}
.google-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
@media(min-width: 768px) {
  .google-map {
    padding-bottom: calc( 100vmin * .58 );
  }
}
/* グローバルヘッダー
***************************************************/
#global-header {
  display: flex;
  justify-content: flex-end;
  background-color: rgba(255,255,255,1);
  width: 100%;
  z-index: 999;
  height: 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  border: 0;
  margin: auto;
}
#global-header.fixed {
	background-color: rgba(255,255,255,1);
}
#global-header #logo {
  margin-right: auto;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: 60px;
  width: auto;
  padding: 0 16px;
  justify-content: center;
}
#global-header #logo img {
  object-fit: contain;
  height: 40px;
}
#btn-list {
  list-style: none;
  display: flex;
  margin: 0;
	width: auto;
	height: 100%;
}
#btn-list li {
  margin: 0;
	padding: 0;
  color: #fff;
  display: flex;
  flex-direction: column;
}
#btn-list li a {
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  height: 60px;
  width: 60px;
  color: #fff;
  padding: 0;
  white-space: nowrap;
}
#btn-list li span.material-symbols-outlined {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  cursor: pointer;
	padding: 0;
	margin: 0;
	height: 42px;
	width: 60px;
	font-size: 32px;
}
#btn-list li span.txt {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  height: 18px;
}
#btn-list li.tel {
  background-color: #498dbc;
}
#btn-list li.estimate {
  background-color: #F07A46;
  position: relative;
}
#btn-list li.hamburger {
  background-color: #fff;
  color: #498dbc;
}
#link-list {
  list-style: none;
  display: none;
  margin: 0;
}
@media(min-width: 768px) {}
@media(min-width: 1024px) {
  #global-header {
    height: 0;
  }
  #global-header #logo {
    flex-grow: 0;
    height: 72px;
    width: 256px;
  }
  #global-header #logo img {
    height: 60px;
  }
  #btn-list .hamburger {
    display: none;
  }
  #btn-list li span {
    height: 80px;
  }
  #btn-list {
    margin: 0;
    display: none;
  }
  #link-list {
    display: flex;
    width: 400px;
  }
  #link-list li {
    margin: 0;
  }
  #link-list li.tel {
    background-color: #498dbc;
  }
  #link-list li.estimate {
    background-color: #F07A46;
  }
  #link-list li a {
    box-sizing: border-box;
    text-decoration: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    height: 80px;
    width: 200px;
    color: #fff;
    padding: 0;
    white-space: nowrap;
  }
  #link-list li.tel a .material-symbols-outlined {
    align-self: flex-start;
    font-size: 3rem;
    margin: 0 8px 0 0;
  }
  #link-list li.tel a .number {
    align-self: flex-start;
    font-size: 1.8rem;
  }
  #link-list li.tel a .reception-time {
    font-size: 1.2rem;
    display: block;
    width: 100%;
    text-align: center;
  }
  #link-list li.estimate a .material-symbols-outlined {
    font-size: 3rem;
    margin: 0 8px 0 0;
  }
}
@media(min-width: 1024px) {
  #global-header {
    width: 1024px;
  }
}
/* グローバルナビ
***************************************************/
#global-nav {
  display: none;
}
@media(min-width: 1024px) {
  #global-nav {
    box-sizing: border-box;
    display: block;
    margin: 0;
    padding: 0;
    flex-grow: 1;
  }
  #global-nav ul {
    display: flex;
    margin: 0;
    padding: 0 16px;
  }
  #global-nav ul li {
    margin: 0;
    padding: 0;
  }
  #global-nav ul li a {
    display: flex;
    height: 80px;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    padding: 0 16px;
    position: relative;
    color: #000;
  }
  #global-nav ul li:nth-of-type(5) a {
    width: 6em;
  }
  #global-nav ul li a::after {
    position: absolute;
    left: 0;
    bottom: 16px;
    display: block;
    content: "";
    height: 1px;
    background-color: #498dbc;
    transition: .5s;
    width: 0;
  }
  #global-nav ul li.current-menu-item a,
  #global-nav ul li.current-post-ancestor a {}
  #global-nav ul li a:hover::after {
    width: 100%;
  }
  #global-nav ul.sub-menu {
    position: absolute;
    background-color: rgba(255,255,255,.5);
    transition: all .5s ease;
    top: 72px;
    width: auto;
    display: block;
    visibility: hidden;
    opacity: 0;
  }
  #global-nav ul li:hover ul.sub-menu {
    visibility: visible;
    opacity: 1;
  }
  #global-nav ul li:hover ul.sub-menu li a {}
}
/* グローバルフッター
***************************************************/
#global-footer {
	position: relative;
  background-color: #498dbc;
  color: #fff;
	z-index: 1;
}
#global-footer #copyright {
  font-size: 1.2rem;
  text-align: center;
  margin: 32px 0 0 0;
}
/* フッターナビ
***************************************************/
#footer-nav {
  font-size: 1.2rem;
}
#footer-nav ul {
  margin: 0;
  border-bottom: 1px solid rgba(255,255,255,.3);
}
#footer-nav ul li {
  margin: 0;
}
#footer-nav ul li a {
  position: relative;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  display: flex;
  align-items: center;
  min-height: 40px;
  padding: 0 8px 0 32px;
  background-color: rgba(0,0,0,0);
  border-top: 1px solid rgba(255,255,255,.3);
}
#footer-nav .sub-menu {
  display: flex;
  flex-wrap: wrap;
}
#footer-nav .sub-menu li {
  width: 50%;
  flex-grow: 1;
}
#footer-nav .sub-menu a {
  color: #ddd;
  background-color: rgba(0,0,0,0);
}
#footer-nav a::before {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Material Symbols Outlined";
  content: "double_arrow";
  width: 32px;
}
#footer-nav .sub-menu a::before {
  content: "remove";
}
#footer-nav a::before {
  height: 100%;
}
@media( min-width: 1024px ) {
  #footer-nav ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
    margin: 0;
    border: none;
  }
  #footer-nav ul li:first-child {
    width: 100%;
  }
  #footer-nav ul li a {
    min-height: 32px;
    background-color: rgba(0,0,0,0);
    border-top: 1px solid rgba(0,0,0,.0);
  }
  #footer-nav ul li ul {
    flex-direction: column;
    margin: 0;
  }
  #footer-nav ul li ul li {
    float: none;
  }
  #footer-nav .sub-menu li {
    width: 100%;
  }
}
/* バナー
***************************************************/
.banner ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}
.banner ul li {
  margin: 16px;
  width: calc( 50% - 32px );
}
.banner ul li a {}
.banner ul li a img {
  width: 100%;
  object-fit: contain;
}
@media(min-width: 1024px) {
  .banner ul li {
    width: calc( 100% - 32px );
  }
}
/* スライダー
***************************************************/
#slider.row {
  box-sizing: border-box;
  padding: 0;
}
#slider .col {
  padding: 0;
}
#slider ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#slider ul li a:hover {
  opacity: .5;
}
#slider .slider-nav li img {
	opacity: 0.4;
}
#slider .slider-nav li.slick-current img{
	opacity: 1;
}
#slider .slider-nav .slick-track {
}
@media(min-width: 768px) {
  #slider.row {
    padding: 0;
  }  
}
/* イントロ
***************************************************/
#intro {
  width: 100%;
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
}
#intro ul.bg-images {
	box-sizing: border-box;
	position: absolute;
  top: 0;
  left: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
  z-index: 98;
}
#intro ul.bg-images li {}
#intro ul.bg-images li img {
	object-fit: cover;
	height: 50vh;
	width: 100%;
}
#intro .col {
  z-index: 99;
  background-color: rgba(255,255,255,.9);
  margin: 32px 0;
}
#intro h1 {}
#intro h1#txt-title {}
#intro h1#txt-title span {
  display: block;
  font-size: 1.2rem;
}
#intro h1#txt-title span.subtitle {
  font-size: 1.4rem;
	color: #e85f87;
}
#intro h1#img-title {
	display: flex;
	justify-content: center;
}
#home #intro {
  min-height: auto;
  padding-bottom: 0;
  color: #F07A46;
}
#home #intro .col {
  padding: 0 16px;
  margin: 0;
}
#home #intro h1 {
  font-size: 1.4rem;
  font-weight: normal;
}
@media(min-width: 768px) {
  #intro {
  }
  #intro.row {
    padding: 0;
  }
  #intro .col {
    padding: 32px 48px;
    position: relative;
  }
}
@media(min-width: 1024px) {
  #intro {
  }
  #intro.row {
    padding: 0;
  }
  #intro .col {
    padding: 32px 48px 32px 80px;
    position: relative;
  }
  #intro ul.bg-images {
    padding: 0;
  }
  #intro ul.bg-images {
    left: 48px;
  }
  #intro ul.bg-images li img {
    object-fit: cover;
    height: 100%;
  }
  #intro .col::before {
    display: block;
    content: "";
    position: absolute;
    left: 48px;
    top: 0;
    height: 100%;
    width: 1px;
    background-color: #00408a;
    z-index: 97;
  }
}
/* コンテンツ
***************************************************/
.contents {
	position: relative;
  padding: 0;
	z-index: 99;
	background-color: #fff;
}
.contents h2 {
	position: relative;
  display: flex;
	padding-left: 1.5em;
}
.contents h2::before {
	position: absolute;
	top: 0;
	left: 0;
  font-size: 2.6rem;
  font-family: "Material Symbols Outlined";
  content: 'album';
  font-variation-settings:
  'FILL' 1,
  'wght' 200,
  'GRAD' 0,
  'opsz' 48;
  color: #00408A;
  background: #3b81c4; /* Old browsers */
  background: -moz-linear-gradient(left,  #3b81c4 0%, #00408a 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(left,  #3b81c4 0%,#00408a 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right,  #3b81c4 0%,#00408a 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3b81c4', endColorstr='#00408a',GradientType=1 ); /* IE6-9 */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.contents h3 {
  margin-top: 2em;
  color: #00408a;
}
.contents h3:first-child {
  margin-top: 0;
}
.contents h4 {
  border-bottom: 1px dashed #00408a;
}
.contents img {
  box-sizing: border-box;
}
.contents header,
.contents footer {
  box-sizing: border-box;
  width: 100%;
}
.contents .cols-2,
.contents .cols-3 {
  padding: 16px;
}
.contents .cols-2 .col,
.contents .cols-3 .col {
  background-color: rgba(0,0,0,.025);
  border: 1px solid rgba(0,0,0,.05);
  border-radius: 5px;
  margin: 16px 0;
  padding: 16px;
}
.contents .opinion .cont-1 h2::before {
  content: 'thumb_up';
}
.contents .opinion .cont-2 h2::before {
  content: 'wb_incandescent';
}
@media( min-width: 768px ) {
  .contents .cols-2,
  .contents .cols-3,
  .contents .cols-4 {
    display: flex;
    flex-wrap: wrap;
    padding: 8px;
  }
  .contents .cols-2 .col {
    justify-content: space-between;
  }
  .contents .cols-3 .col {
  }
  .contents .cols-2 .col {
    width: calc( 100% / 2 - 16px );
    margin: 8px;
  }
  .contents .cols-3 .col {
    width: calc( 100% / 3 - 16px );
    margin: 8px;
  }
  .contents .cols-4 .col {
    width: calc( 100% / 4 - 16px );
  }
}
/* ボタンリンク
***************************************************/
.btn-link a {
  cursor: pointer;
  transition: .2s;
  margin: 0;
  padding: 0 16px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  background-color: #498dbc;
  color: #fff;
  border-radius: 4px;
  border: 3px double #fff;
  text-decoration: none;
}
.btn-link a:hover {
  opacity: .5;
}

/* ニュース（一覧ページ）
***************************************************/
#news h2 {
  width: 100%;
  margin: 0;
  padding: 0 0 8px 0;
  border-bottom: 1px solid #498dbc;
}

#news ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#news ul li {
  margin: 1em 0;
}
#news ul li a {
  color: #182E3D;
  text-decoration: none;
}
#news ul li a:hover {
  text-decoration: underline;
}
#news ul li .date {
  font-size: 1.2rem;
  display: block;
  margin: 0;
  padding: 0;
  color: #999;
}
#news #important {
  background-color: #F07A46;
  border: 3px double #fff;
  border-radius: 8px;
}
#news #important h2 {
  border-bottom: 3px double #fff;
  color: #fff;
}
#news #important ul li a {
  color: #fff;
}
#news #important ul li .date {
  color: #000;
}
@media(min-width: 1024px) {
  #news .cols-2 {
    display: flex;
  }
  #news #topics {
    width: 60%;
  }
  #news #notice {
    width: 40%;
  }
}
/* ニュース（個別ページ）
***************************************************/
#news article {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#news article h1 {
  order: 3;
  width: 100%;
  margin: .5em 0;
}
#news article dl.date {
  order: 2;
  margin: 0;
  padding: 0;
  line-height: 1;
}
#news article dl.date dt {
  clear: both;
  float: left;
  width: 3em;
}
#news article dl.date dd {
  padding-left: 4em;
}
#news article .post-categories {
  order: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: 1;
}
#news article .post-categories li a {
  text-decoration: none;
  padding: 4px 8px;
  border: 1px solid #498dbc;
}
#news article .content {
  order: 4;
  width: 100%;
}
/* お支払いについて
***************************************************/
#payment dl dt {
  clear: both;
  float: left;
  width: 5em;
}
#payment dl dd {
  padding-left: 6em;
}
/* ブログ
***************************************************/
#blog .item-list .item {
  background-color: #f9f9f9;
  padding: 16px;
  margin: 16px 0;
}
#blog .item-list .item h2 a {
  color: #182E3D;
  text-decoration: none;
}
#blog .item-list .item .date {
  display: flex;
  flex-wrap: wrap;
  width: 135em;
  margin: 0 0 0 auto;
  font-size: 1.2rem;
}
#blog .item-list .item .date dt {
  padding-right: .5em;
}
#blog .item-list .item .date dd {
  padding-right: 1em;
}
/* 特殊・豪華パッケージ
***************************************************/
#special-luxury-package #flow .cols-1 {
  counter-reset: count 0;
}
#special-luxury-package #flow .cols-1 .col h3::before {
  content: counter(count) ". ";
  counter-increment: count 1;
}
/* 特定商取引法
***************************************************/
#law table tr th {
  width: 5em!important;
}
@media(min-width: 768px) {
  #law table tr th {
    white-space: nowrap;
  }
}
/* SNSキャンペーン
***************************************************/
#sns-campaign .contents h4 {
  margin-bottom: 1em;
  color: #F07A46;
}
#sns-campaign .contents strong {
  color: #F07A46;
}
/* 個人情報保護方針
***************************************************/
#terms .contents h2,
#privacy-policy .contents h2 {
  margin: 0;
  padding: 0;
  font-size: 1.8rem;
}
#terms .contents h2::before,
#privacy-policy .contents h2::before {
  display: none;
}
/* テンプレート
***************************************************/
#template-list .col {
  padding: 8px;
}
#template .items {
  display: flex;
  flex-wrap: wrap;
}
#template .items .item {
  box-sizing: border-box;
  width: calc( 100% / 4 - 16px );
  background-color: #f9f9f9;
  padding: 8px;
  margin: 8px;
}
#template .items .item h2 {
  font-size: 1.4rem;
  font-weight: normal;
}
#template .items .item img {
  height: 24px;
  width: 24px;
  object-fit: contain;
}
/* カラオケ実績
***************************************************/
#karaoke-results section {
  display: grid;
  grid-template-rows: 24px 50px 50px;
  grid-template-columns: 100px auto;
  grid-gap: 0 16px;
  margin: 16px 0;
}
#karaoke-results section h2 {
  font-size: 1.6rem;
  grid-row: 2 / 3;
  grid-column: 2 / 3;
  margin: 0;
  padding: 0;
  line-height: 1.5;
}
#karaoke-results section h2 span {
  margin: 0;
  padding: 0;
  display: block;
}
#karaoke-results section h2 span.artist {
  font-size: 1.4rem;
}
#karaoke-results section dl {
  grid-row: 3 / 4;
  grid-column: 2 / 3;
  margin: 0;
  padding: 0;
  line-height: 1.5;
}
#karaoke-results section dl dt,
#karaoke-results section dl dd {
  margin: 0;
  padding: 0;
}
#karaoke-results section dl dt {
  clear: both;
  float: left;
  width: 9em;
  color: #498dbc;
}
#karaoke-results section img {
  grid-row: 2 / 4;
  grid-column: 1 / 2;
  height: 100%;
  width: 100%;
  object-fit: contain;
}
#karaoke-results section ul.terms {
  grid-row: 1 / 2;
  grid-column: 1 / 3;
  list-style: none;
  display: flex;
  margin: 0;
  padding: 0;
}
#karaoke-results section ul.terms li {
  margin: 0;
  color: #ff63be;
}
@media(min-width: 768px) {
  #karaoke-results .col {
    display: flex;
    flex-wrap: wrap;
  }
  #karaoke-results section {
    width: calc( 100% / 2 );
  } 
}
/* アーカイブリスト
***************************************************/
.archive-lists ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.archive-lists li {
  box-sizing: border-box;
  margin: 1px;
  padding-left: 32px;
  position: relative;
}
.archive-lists li::before {
  position: absolute;
  top: 0;
  left: 0;
  height: 48px;
  width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Material Symbols Outlined";
  font-variation-settings:
  'FILL' 1,
  'wght' 200,
  'GRAD' 0,
  'opsz' 48;
  color: #00408A;
}
.archive-lists li > a {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 0 16px;
}
.archive-lists li > a:hover {
  text-decoration: none;
  color: #182E3D;
}
.archive-lists > .col > ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}
.archive-lists > .col > ul > li {
  border-left: 1px solid #498dbc;
  margin: 16px 0;
}
.archive-lists > .col > ul > li > ul {
  display: flex;
  flex-wrap: wrap;
}
.archive-lists > .col > ul > li > ul > li {
  padding-left: 32px;
}
.archive-lists > .col > ul > li > ul > li > ul {
}
.archive-lists > .col > ul > li > ul > li > ul > li {
}
.archive-lists > .col > ul > li::before {
  content: 'album';
}
.archive-lists > .col > ul > li > ul > li::before {
  content: 'subdirectory_arrow_right';
}
.archive-lists > .col > ul > li > ul > li > ul > li::before {
  content: 'subdirectory_arrow_right';
}
/* ベストリンク
***************************************************/
.best-link header.col {
  padding: 0 16px;
}
.best-link header h2 {
  width: 100%;
  margin: 0;
  padding: 0 0 8px 0;
  border-bottom: 1px solid #498dbc;
}
.best-link .col {
  padding: 0 16px;
}
.best-link section {
  box-sizing: border-box;
  padding: 8px;
  margin: 8px 0;
  background-color: #f9f9f9;
  position: relative;
}
.best-link section a {
  text-decoration: none;
}
.best-link section a:hover {
  opacity: .5;
}
.best-link h3,
.best-link p {
  z-index: 1;
  position: relative;
  color: #182E3D;
}
.best-link h3 {
  margin: 0;
  line-height: 1.2;
  min-height: 96px;
}
.best-link h3 .title {
  display: block;
  font-weight: bold;
  font-size: 1.8rem;
  padding: 8px 0;
}
.best-link h3 .parent-title {
  display: inline-block;
  border: 1px solid #333;
  font-size: 1.2rem;
  padding: 4px 12px;
  background-color: #fff;
}
.best-link .price {
  color: #498dbc;
  font-size: 3.2rem;
  margin: 0;
  padding: 0;
  line-height: 1;
}
.best-link .price span {
  font-size: 1.2rem;
}
.best-link .delivery-time {
  line-height: 0;
  margin-top: 16px;
}
.best-link .delivery-time span {
  color: #F07A46;
  font-size: 1.6rem;
  margin: 0 .2em;
}
.best-link img {
  position: absolute;
  bottom: 8px;
  right: 8px;
  width: 120px;
  height: 120px;
  object-fit: contain;
  z-index: 0;
}
@media(min-width: 768px) {
  .best-link header.col {
  }
  .best-link header h2 {
    margin: 0 8px;
  }
  .best-link .col {
    display: flex;
    flex-wrap: wrap;
    padding: 16px 8px;
  }
  .best-link header.col {
    padding: 16px 8px 0 8px;
  }
  .best-link h2 {
    width: 100%;
    margin: 0 8px 0 8px;
  }
  .best-link section {
    width: calc( 100% / 3 - 16px );
    margin: 8px;
  }
}
/* バナーリンク
***************************************************/
.banner-link header.col {
  padding: 0 16px;
}
.banner-link header h2 {
  padding: 0 0 8px 0;
  margin: 0;
  border-bottom: 1px solid #498dbc;
}
.banner-link .col {
  padding: 8px;
}
.banner-link h2::before {
  display: none;
}
.banner-link ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.banner-link ul li {
  margin: 8px;
}
.banner-link ul li a:hover {
  opacity: .5;
}
@media(min-width: 768px) {
  .banner-link header {
    margin: 0 0 8px 0;
  }
  .banner-link .col {
    padding: 0 8px;
  }
  .banner-link h2 {
    margin: 0 0 16px 0;
    margin: 0 8px;
  }
  .banner-link ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }
  .banner-link ul li {
    margin: 8px;
    width: calc( 50% - 16px );
  }
}
/* ページリンク
***************************************************/
.page-link {}
.page-link ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 -8px;
  width: calc( 100% + 16px );
}
.page-link ul li {
  width: calc( 100% / 2 - 16px );
  margin: 8px;
  position: relative;
}
.page-link ul li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80px;
  width: 100%;
  box-sizing: border-box;
  padding: 8px;
  text-decoration: none;
  border: 1px solid #498dbc;
  border-radius: 4px;
  white-space: pre-line;
  text-align: center;
  line-height: 1.5;
}
.page-link a:hover {
  background-color: #498dbc;
  color: #fff;
}
.page-link a .title {
  z-index: 2;
}
.page-link a .subtitle {
	font-size: 1.4rem;
	display: block;
	color: #e85f87;
}
.page-link a img {
  height: 100%;
  object-fit: contain;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  opacity: .5;
}
@media (min-width: 768px) {
  .page-link ul li {
    width: calc( 100% / 4 - 16px );
  }
}
/* 初めてCDを制作する方へ
***************************************************/
#making-cds .page-link ul:first-child {
  counter-reset: count 0;
}
#making-cds .page-link ul:first-child li::before {
  display: block;
  content: "Point.";
  font-family: 'Audiowide', cursive;
  font-size: 1.8rem;
  color: #498dbc;
  margin-bottom: -7px;
  margin-left: -1.2px;
}
#making-cds .page-link ul:first-child li::after {
  display: block;
  position: absolute;
  left: 60px;
  top: -6px;
  font-family: 'Audiowide', cursive;
  font-size: 2.4rem;
  color: #F07A46;
  content: counter(count);
  counter-increment: count 1;
}
#making-cds .page-link ul:first-child li a {
  border-radius: 0 4px 4px 4px;
}
/* メニュー
***************************************************/
/**
#item-list section {
	clear: both;
	margin: 32px 0;
	overflow: hidden;
}
#item-list section:first-child {
	margin-top: 0;
}
#item-list section h2 {
	border-bottom: 1px dashed #333333;
	margin-bottom: 1em;
}
#item-list dl {
	margin: 0;
	overflow: hidden;
}
#item-list dl dt {
	clear: both;
	float: left;
}
#item-list dl:nth-of-type(2n+2) {
	background-color: #ffffff;
}
#item-list dl dd {
	float: right;
	text-align: right;
}
#item-list dl dd + dd {
	width: 100%;
}
#item-list dl dd .size {
	margin-right: 1em;
}
/* 配送料
***************************************************/
.delivary-charge th,
.delivary-charge td:last-child {
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
}
/* 配信形態
***************************************************/
.delivery-form table {
  text-align: center;
}
.delivery-form table tbody th {
  background-color: #fff;
}
.delivery-form table tbody th img {
  height: 24px;
}
.delivery-form table tbody td {
  font-weight: 700;
}
/* テーブルスクロール
***************************************************/
.scroll-table {
  overflow: scroll;
  max-height: 75vh;
}
.scroll-table table {
  white-space: nowrap;
}
.scroll-table table th:first-child {
  width: 100px;
}
.scroll-table table thead th,
.scroll-table table tbody th,
.scroll-table table tfoot th {
  position: -webkit-sticky;
  position: sticky;
  z-index: 1;
  left: 0;
}
.scroll-table table thead th {
  top: 0;
}
.scroll-table table tfoot th {
  bottom: 0;
}
.scroll-table table thead th:first-child,
.scroll-table table tfoot th:first-child {
  background-color: #fff;
  color: #333;
  z-index: 2;
}

@media (min-width: 768px) {
  .scroll-table {
    max-height: 50vh;
  }
}
/* 価格
***************************************************/
.price-list ul#note {}
.price-list ul#note li {
  margin: 0;
}
.price-list table {
  text-align: center;
  white-space: nowrap;
  height: 100%;
}
.price-list table th,
.price-list table td {
  min-height: 32px;
  vertical-align: middle;
}
.price-list table thead th:first-child {
  border-top: none;
  border-left: none;
}
.price-list table th:first-child {
  width: 80px !important;
}
.price-list table thead tr th span {
  display: block;
  line-height: 1.5;
}
.price-list table thead tr th img {
  object-fit: contain;
  width: 64px;
}
.price-list table tfoot tr td {
  background-color: #fff;
  text-align: center;
  min-width: 160px;
}
.price-list table tfoot tr td a {
  box-sizing: border-box;
  background-color: #bdb995;
  color: #fff;
  text-decoration: none;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  width: 100%;
  max-width: 160px;
  margin: 0 auto;
  padding: 0 16px;
  border-radius: 3px;
}
.price-list table tfoot tr td a span {
  margin: 0;
  padding: 0;
  line-height: 0;
}
.price-list table tfoot tr td a:nth-of-type(n+2) {
  margin-top: 4px;
}
.price-list table tfoot tr td a:hover {
  background-color: #bdb237;
}
.price-list table thead th,
.price-list table tbody th,
.price-list table tfoot th,
.price-list table tfoot td {
  position: -webkit-sticky;
  position: sticky;
  z-index: 1;
  left: 0;
}
.price-list table thead th {
  top: 0;
  background-color: #8ea9bd;
  color: #fff;
}
.price-list table tfoot th,
.price-list table tfoot td {
  bottom: 0;
}
.price-list table thead th:first-child,
.price-list table tfoot th {
  background-color: #fff;
  z-index: 2;
  font-size: 1.2rem;
}
.price-list table tbody tr td a {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}
.price-list table tbody tr td:hover {
  background-color: #498dbc;
}
.price-list table tbody tr td:hover a {
  color: #fff;
  text-decoration: none;
}
.price-list table tbody tr td.price-outtax {
  display: none;
}
.price-list header {
  position: relative;
}
.price-list .tax-change {
  margin: 0;
  text-align: right;
  position: absolute;
  top: 16px;
  right: 8px;
}
.price-list .tax-change {
  cursor: pointer;
  transition: .2s;
  margin: 0;
  padding: 0 16px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 32px;
  background-color: #498dbc;
  color: #fff;
  border-radius: 4px;
  border: 3px double #fff;
}
.price-list .tax-change:hover {
  opacity: .5;
}
/**
.price-list table tbody tr:hover {
  background-color: #498dbc;
  background-color: #f2faff;
}
.price-list table tbody tr th,
.price-list table tbody tr td {
  position: relative;
  padding: 0 1em;
}
.price-list table tbody tr td:hover {
  background-color: #498dbc;
}
.price-list table tbody tr td:hover::after {
  content: "";
  background-color: #f2faff;
  width: 100%;
  height: 200vh;
  position: absolute;
  top: -100vh;
  left: 0;
  z-index: -1;
}
.price-list table tbody tr td:hover a {
  color: #fff;
}
.price-list table tbody tr th {}
.price-list table tbody tr:nth-of-type(even) th,
.price-list table tbody tr:nth-of-type(even) td {
}
.price-list table tbody tr td a {
  text-decoration: none;
  display: block;
  height: 100%;
  width: 100%;
  padding: .5em;
  box-sizing: border-box;
}
.price-list talbe tbody tr td a span {
    font-size: 1.2rem;
}
.price-list footer ul li {
    margin: 0;
}
**/
/* 価格その他
***************************************************/
.price-list-other table {
  text-align: center;
}
.price-list-other table thead th {
  background-color: #8ea9bd;
  color: #fff;
}
.price-list-other table tbody td {
  vertical-align: middle;
}
.price-list-other table tfoot tr td a {
  background-color: #bdb995;
  color: #fff;
  text-decoration: none;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  max-width: 160px;
  margin: 0 auto;
  border-radius: 3px;
}
.price-list-other table tfoot tr td a span {
  margin: 0;
  padding: 0;
  line-height: 0;
}
.price-list-other table tfoot tr td a:hover {
  background-color: #bdb237;
}
/* ダウンロードボタン
***************************************************/
.dlbtn a {
  background-color: #bdb995;
  color: #fff;
  text-decoration: none;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  width: 160px;
  margin: 0 auto;
  border-radius: 3px;
}
.dlbtn a:hover {
  background-color: #bdb237;
}
/* ASIDE
***************************************************/
aside .row {
  padding: 16px;
}
aside .row .col {
  padding: 0;
}
/* SNS
***************************************************/
.sns ul {
  display: flex;
  list-style: none;
  justify-content: center;
  margin: 16px 0;
  padding: 0;
}
.sns ul li {
  margin: 8px;
}
.sns ul li a:hover {
  opacity: .5;
}
.sns ul li a img {
  height: 48px;
  width: 48px;
  object-fit: contain;
}
/* 企画リスト
***************************************************/
#item-nav {
  display: none;
}
@media(min-width: 1024px) {
  #item-nav {
    display: block;
    width: 256px;
    box-sizing: border-box;
    padding: 0 16px;
    overflow: auto;
  }
}
/* 商品リスト
***************************************************/
@media(min-width: 1024px) {
  ul#project-nav {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  ul#project-nav li {
    margin: 8px 0;
    box-sizing: border-box;
    border: 1px solid #ccc;
  }
  ul#project-nav li a {
    display: flex;
    align-items: center;
    padding: 0 16px;
    margin: 0;
    text-decoration: none;
    min-height: 40px;
    transition: .2s;
    box-sizing: border-box;
    background-color: #f9f9f9;
  }
  ul#project-nav li.img-link a {
    padding: 0;
  }
  ul#project-nav li.img-link a:hover {
    opacity: .5;
  }
}
/* 商品リスト
***************************************************/
h2.mm-listitem {
  font-size: 1.4rem;
  font-weight: normal;
  align-items: center;
  min-height: 44px;
  padding-left: 20px;
}
@media(min-width: 1024px) {
  ul#product-nav {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  ul#product-nav h2 {
    font-size: 1.4rem!important;
    text-align: center;
  }
  ul#product-nav li {
    margin: 1px 0;
    padding: 1px 0;
    position: relative;
  }
  ul#product-nav > li:first-child {
    margin-top: 0;
  }
  ul#product-nav li a {
    display: flex;
    align-items: center;
    padding: 0 16px;
    margin: 0;
    text-decoration: none;
    min-height: 40px;
    transition: .2s;
    box-sizing: border-box;
  }
  ul#product-nav > li > a {
    background-color: #3B81C4;
    background: #09348b; /* Old browsers */
    background: -moz-linear-gradient(top,  #09348b 0%, #3b81c4 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #09348b 0%,#3b81c4 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #09348b 0%,#3b81c4 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#09348b', endColorstr='#3b81c4',GradientType=0 ); /* IE6-9 */
    color: #fff;
    border-radius: 0 16px 0 0;
    border: 3px double #fff;
    transition: background 2s;
  }
  ul#product-nav > li > a:hover {
    background: #09348b; /* Old browsers */
    background: -moz-linear-gradient(top,  #09348b 0%, #09348b 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #09348b 0%,#09348b 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #09348b 0%,#09348b 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#09348b', endColorstr='#09348b',GradientType=0 ); /* IE6-9 */
  }
  ul#product-nav > li.img-link > a {
    padding: 0;
    border-radius: 0;
  }
  ul#product-nav > li > ul {
    margin: 0;
  }
  ul#product-nav > li > ul > li {}
  ul#product-nav > li > ul > li > a {
    background-color: #f9f9f9;
    color: #3A7AB7;
  }
  ul#product-nav > li > ul > li:last-child > a {
    border-radius: 0 0 16px 0;
  }
  ul#product-nav > li > ul > li > a:hover {
    color: #09348b;
    border-left: 8px solid #3B81C4;
  }
  ul#product-nav > li > ul > li > a::before {
    content: "";
    display: block;
    height: 16px;
    width: 1px;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: -1px;
  }
  /**
  ul#product-nav > li > ul > li::after {
    font-family: "Material Symbols Outlined";
    content: 'navigate_next';
    font-variation-settings:
    'FILL' 1,
    'wght' 200,
    'GRAD' 0,
    'opsz' 48;
    color: #333;
    position: absolute;
    top: 0;
    right: 0;
    height: 40px;
    width: 48px;
    border-left: 1px solid #ccc;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  **/
  ul#product-nav > li > ul > li > ul {
    display: none;
  }
  ul#product-nav > li > ul > li > ul > li::after {
  }
}
/* mmenu
***************************************************/
.mm-listitem a.mm-listitem__text {
    color: #fff;
}
li.mm-listitem_selected a.mm-listitem__text {
    background-color: rgba(255,255,255,.2);
}
/* 見積から納品まで
***************************************************/
.flow strong {}
.flow.row,
.flow .col {
  overflow: visible;
}
.flow .cols-1 {
  position: relative;
}
.flow .cols-1::before,
.flow .cols-1::after {
  position: absolute;
  top: -48px;
  content: "";
  display: block;
  width: auto;
  z-index: 99;
  font-size: 2rem;
}
.flow .cols-1::before {
  content: "↓ お客様";
  color: #bdb34a;
  left: 8px;
}
.flow .cols-1::after {
  content: "弊社 ↓";
  color: #498dbc;
  right: 8px;
}
.flow .col {
  position: relative;
  padding: 48px;
  display: flex;
  flex-direction: column;
}
.flow .col p {
  max-width: 30em;
}
.flow .col::before,
.flow .col::after {
  position: absolute;
  top: 0;
  content: "";
  display: block;
  height: 100%;
  width: 32px;
  border: 1px solid #fff;
}
.flow .col::before {
  left: 0;
  background-color: #bdb34a;
}
.flow .col::after {
  right: 0;
  background-color: #498dbc;  
}
.flow h2 {
  display: block;
  padding: 0;
}
.flow h2::before {
  display: none;
}
.flow .cont-2,
.flow .cont-5,
.flow .cont-6,
.flow .cont-8 {
  align-items: flex-end;
}
.flow .cont-2::before,
.flow .cont-5::before,
.flow .cont-6::before,
.flow .cont-8::before {
  opacity: .1;
}
.flow .cont-1::after,
.flow .cont-3::after,
.flow .cont-4::after,
.flow .cont-7::after {
  opacity: .1;
}
.flow .cont-9 {
  align-items: center;
}
.flow h3 {}
@media(min-width: 768px) {
  .flow .cols-1::before {
    left: 24px;
  }
  .flow .cols-1::after {
    right: 24px;
  }
  .flow .col {
    padding: 64px;
  }
  .flow .col::before {
    left: 16px;
  }
  .flow .col::after {
    right: 16px;
  }
}
/* クラウドFan
***************************************************/
#crowdfan .contents a {
  height: 44px;
  width: 240px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #3B81C4;
  background: #09348b; /* Old browsers */
  background: -moz-linear-gradient(top,  #09348b 0%, #3b81c4 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top,  #09348b 0%,#3b81c4 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom,  #09348b 0%,#3b81c4 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#09348b', endColorstr='#3b81c4',GradientType=0 ); /* IE6-9 */
  color: #fff;
  border-radius: 4px;
  box-shadow: 2px 2px 4px rgba(0,0,0,.5);
  text-decoration: none;
}
/* アクセス
***************************************************/
#access #detail dl dt {
	border-bottom: 1px dashed #ccc;
	margin: 1em 0 0 0;
	color: #498dbc;
}
#access #detail dl dd a {
	text-decoration: none;
  color: #182E3D;
}
#access #detail dl dd .open_close {
	margin-left: 1em;
}
#access #route .cols-2 {
  flex-direction: row;
}
#access #route .col {
  background-color: #fff;
  border: none;
}
#access #route .col:nth-of-type(even) {
  width: 30%;
}
@media(min-width: 768px) {
	#access #detail dl dt {
		clear: both;
		float: left;
		width: 7em;
		margin: 0;
		border: none;
	}
	#access #detail dl dd {
		padding-left: 7em;
	}
}
/* フォーム
***************************************************/
form {
	width: 100%;
  background-color: #fff;
}
.contents form h2 {
  box-sizing: border-box;
  border-bottom: 1px solid #498dbc;
	margin: 32px 0 16px 0;
  padding: 0 0 8px 1.5em;
  color: #498dbc;
  width: 100%;
}
.contents form h2::before {
  content: 'edit';
}
.contents form h2.required::after {
  content: "※";
  color: #F07A46;
  font-weight: normal;
  margin-left: .5em;
}
form dl {}
form dl dt,
form dl dd {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 16px 0;
}
form dl dt {
  font-weight: bold;
  line-height: 1.2;
  padding-bottom: 0;
}
form dl dd {
  border-bottom: 1px dashed #ccc;
}
form dl dd span {
  margin-top: 8px;
}
form dl dt.required::after {
  content: "※";
  color: #F07A46;
  font-weight: normal;
  margin-left: .5em;
}
form dd .note {
  color: #F07A46;
  font-size: 1.2rem;
}
form dd span {
  margin: 0;
  padding: 0;
}
form dl dd dl {
  margin-top: 16px;
}
form dl dd dl dt {
  border-top: 1px dashed #ccc;
}
form dl dd dl dd {
  border-bottom: none;
}
input[type=radio],
input[type=checkbox] {
  appearance: none;
  display: none;
  float: none;
}
input[type=radio] + span:before,
input[type=checkbox] + span:before {
  font-family: "Material Symbols Outlined";
  display: inline-flex;
  margin: 0;
  padding: 0;
  margin-right: .25em;
  font-size: 2.4rem;
  color: #999;
}
input[type=radio]:checked + span:before,
input[type=checkbox]:checked + span:before {
  color: #F07A46;
}
input[type=radio] + span:before {
  content: 'radio_button_unchecked';
}
input[type=radio]:checked + span:before {
  content: "radio_button_checked";
}
input[type=checkbox] + span:before {
  content: 'check_box_outline_blank';
}
input[type=checkbox]:checked + span:before {
  content: "select_check_box";
}
.mw_wp_form .mwform-radio-field,
.mw_wp_form .mwform-checkbox-field {
  margin-top: 0;
  margin-right: 16px;
}
.mw_wp_form .mwform-radio-field-text,
.mw_wp_form .mwform-checkbox-field-text {
  display: flex;
  align-items: center;
}
.mw_wp_form .horizontal-item {
  display: block;
  margin-left: 0 !important;
  margin-bottom: 0.5em;
}
.mw_wp_form .vertical-item {
  display: block;
  margin-left: 0 !important;
  margin-bottom: 0.5em;
}
input[type=text],
input[type=number],
input[type=email],
input[type=url],
input[type=submit],
select,
button,
textarea,
submit {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  font-size: 1.4rem;
}
input[type=text],
input[type=number],
input[type=email],
input[type=url],
textarea,
select {
  background-color: #f7f7f7;
  border: 1px solid #fff;
  border-bottom: 1px solid #999;
  padding: 1em;
  width: 100%;
}
select {
  width: auto;
  -moz-appearance: menulist;
  -webkit-appearance: menulist;
  appearance: menulist;
}
input[type=number] {
  width: 10em;
}
select.pref {
  width: 8em;
}
input.name {
  width: 50%;
}
input[type=text].date {
  width: 12em;
}
textarea {
  height: 10em;
}
input[type=text]:focus,
input[type=number]:focus,
input[type=email]:focus,
input[type=url]:focus,
select:focus,
textarea:focus {
  background-color: #fff;
  border: 1px solid #F07A46;
}
form input[type=submit] {
	font-size: 1.6rem;
	padding: 1em 2em;
	display: block;
	margin: 32px auto;
	cursor: pointer;
	border-radius: 4px;
	border: none;
	transition: .2s;
	background-color: #E06D46;
	color: #fff;
	box-shadow: 2px 2px 4px rgba(0,0,0,.5);
	white-space: normal;
	line-height: 1.5;
}
form input[type=submit]:hover {
	background-color: #cf1126;
}
form input[name=submitBack] {
	background-color: #ccc;
  margin-right: 16px;
}
form input[name=submitBack]:hover {
	background-color: #999;
}
form input[type=number]#age {
    width: 6em;
}
form label {
	cursor: pointer;
}
.ui-datepicker-week-end:first-child {
    color: #f00;
}
.ui-datepicker-week-end:last-child {
    color: #00f;
}
form ::placeholder {
    color: #bbb;
}
form .name input {
	width: 49%;
}
form .zip input:nth-of-type(1) {
	width: 3em;
	margin: 0 .2em;
	display: inline;
}
form .zip input:nth-of-type(2) {
	width: 4em;
	margin: 0 0 0 .2em;
}
form .tel input:nth-of-type(1) {
	width: 5em;
	margin: 0 .2em 0 0;
	display: inline;
}
form .tel input:nth-of-type(2) {
	width: 5em;
	margin: 0 .2em;
	display: inline;
}
form .tel input:nth-of-type(3) {
	width: 5em;
	margin: 0 0 0 .2em;
}
form .date input {
	width: 16em;
}
::-webkit-input-placeholder {
	color: #ccc;
}
p.toggle {
	text-align: center;
	cursor: pointer;
	line-height: 44px;
	border: 1px solid #ccc;
	display: block;
	width: auto;
	padding: 0 16px;
	box-sizing: border-box;
}
form .error {
  display: block;
  width: 100%;
	color: #bd4a53!important;
}
form .inquiry-type {
  box-sizing: border-box;
  padding: 1em;
  border: 3px double #F07A46;
  width: 100%;
}
form .inquiry-type div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: auto;
  min-height: 48px;
}
form .inquiry-type div span.error {
	color: #bd4a53;
  text-align: center;
}
form .inquiry-type h2 {
  margin: 0;
  color: #F07A46;
  width: 100%;
}
#agree {
  box-sizing: border-box;
  margin: 2em 0;
  padding: 1em;
  border: 1px solid #F07A46;
  width: 100%;
}
#agree > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#agree h2 {
  color: #F07A46;
  margin: 0 0 1em 0;
}
#agree p {
  margin: 0 0 1em 0;
  text-align: center;
}
#agree span {
    color: #333;
}
#agree span.error {
	color: #bd4a53;
  text-align: center;
}
#agree ul {
  width: 100%;
}
.date {
    padding-bottom: 1em;
}
.time {
    padding-top: 0;
}
.mastering-songs,
.barcode {
  display: block;
}
#submit {
  text-align: center;
  margin: 0 auto;
  display: flex;
}
/* Datepicker */
select.ui-datepicker-year{
  height: 2em!important;
  margin-right:5px!important;
  width:80px!important;
  padding: 0;
}
select.ui-datepicker-month{
  height: 2em!important;
  margin-left:5px!important;
  width:70px!important;
  padding: 0;
}
/* Datepicker */
dd.media select {
  width: 12em;
}
dd.media input {
  width: 100%;
  margin-bottom: 16px;
}
input.taxExcluded {
  text-align: right;
}
.custom-calendar-saturday a.ui-state-default {
    background-color: #c1e0ff!important;
}
.custom-calendar-wednesday a.ui-state-default {
    background-color: #ffc1c1!important;
}
.taxExcluded::-webkit-inner-spin-button,
.automaticCalculation::-webkit-inner-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input.automaticCalculation,
input.automaticCalculation:focus {
  background-color: #fff;
  border: none;
  text-align: right;
  width: 5em;
  padding: 1em 0;
}
@media(max-width: 600px) {
  .time {
    display: flex;
  }
  .time .time-title {
    padding-top: 1em;
  }
  .time-area {
    display: flex;
    align-items: center;
    flex-direction: column;
  }
  .time-area span:nth-of-type(2) {
    transform: rotate(-90deg);
    align-self: center;
    padding: .5em 0;
  }
}
@media (min-width: 768px) {
  form {
    width: 100%;
  }
  form dl {
    display: flex;
    flex-wrap: wrap;
  }
  form dl dt,
  form dl dd {
    min-height: 44px;
  }
  form dl dt {
    width: 18em;
    border-bottom: 1px dashed #ccc;
    padding-right: 16px;
    padding-bottom: 16px;
  }
  form dl dd {
    width: calc( 100% - 18em );
  }
  form dl dd dl dt {
    border-top: 1px dashed #ccc;
    border-bottom: none;
  }
  form dl dd dl dd {
    border-top: 1px dashed #ccc;
  }
  input[type=text],
  input[type=email] {
    width: 50%;
  }
  form dl dd.address {
    display: block;
  }
  form dl dd.address input {
    width: 100%;
  }
  form .name input {
    width: 10em;
  }
  dd.media select {
    margin-bottom: 16px;
  }
  dd.media input {
    width: calc( 100% - 12em );
  }
  dl#st > div {
    display: flex;
    width: 100%;
  }
}
