@charset "UTF-8";
/* -----------------------------
 | 初期化
 ------------------------------*/


*, ::after, ::before {
	box-sizing:border-box;
}

/*-- BC --*/
label {
    margin-bottom:0;
}
label {
    display:inline-block;
}
button, input, optgroup, select, textarea {
    margin:0;
    font-family:inherit;
    font-size:inherit;
    line-height:inherit;
}
input[type=radio],
input[type=checkbox] {
	display:inline-block;
    margin-right:10px;
	padding:0;
	width:auto;
}
input[type=radio] {
	-webkit-appearance:radio;
    -moz-appearance:radio;
    appearance:radio;
}
input[type=checkbox] {
	-webkit-appearance:checkbox;
    -moz-appearance:checkbox;
    appearance:checkbox;
}
input[type=radio] + label,
input[type=checkbox] + label {
	display:inline-block;
	width:auto;
}

.input-group {
    position:relative;
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    width:100%;
}
.input-group > .form-control,
.input-group > .form-select {
    position:relative;
    flex:1 1 auto;
    width:1%;
    min-width:0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-left: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu)
{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.input-group-text {
    display:flex;
    align-items:center;
    padding:.375rem .75rem;
    font-size:1rem;
    font-weight:400;
    line-height:1.5;
    color:#212529;
    text-align:center;
    white-space:nowrap;
    background-color:#e9ecef;
    border:1px solid #ced4da;
    border-radius:.25rem;
}

button {
    border-radius:0;
}
button, select {
    text-transform:none;
}
[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance:button;
}
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled),
button:not(:disabled) {
    cursor:pointer;
}
ol,
ul {
    padding-left:2rem;
}
dl,
ol,
ul {
    margin-top:0;
    margin-bottom:1rem;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-top:0;
    margin-bottom:.5rem;
    font-weight:500;
    line-height:1.2;
}
.h4, h4 {
    font-size:calc(1.275rem + .3vw);
}
h4 {
    font-size:1rem;
}
.small, small {
    font-size:.875em;
}

.btn {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    border-radius: .25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.btn-danger {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545;
}
.btn-group-lg > .btn,
.btn-lg {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: .3rem;
}
.shadow {
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
}

.form-control {
	display:block;
	width:100%;
	padding:.375rem .75rem;
	font-size:1rem;
	font-weight:400;
	line-height:1.5;
	color:#212529;
	background-color:#fff;
	background-clip:padding-box;
	border:1px solid #ced4da;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	border-radius:.25rem;
	transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
@media (prefers-reduced-motion:reduce) {
	.form-control {
		transition:none;
	}
}
.form-control[type=file] {
	overflow:hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
	cursor:pointer;
}
.form-control:focus {
	color:#212529;
	background-color:#fff;
	border-color:#86b7fe;
	outline:0;
	box-shadow:0 0 0 .25rem rgba(13,110,253,.25);
}
.form-control::-webkit-date-and-time-value {
	height:1.5em;
}
.form-control::-webkit-input-placeholder {
	color:#6c757d;
	opacity:1;
}
.form-control::-moz-placeholder {
	color:#6c757d;
	opacity:1;
}
.form-control::placeholder {
	color:#6c757d;
	opacity:1;
}
.form-control:disabled,
.form-control[readonly] {
	background-color:#e9ecef;
	opacity:1;
}
.form-control::file-selector-button {
	padding:.375rem .75rem;
	margin:-.375rem -.75rem;
	-webkit-margin-end:.75rem;
	margin-inline-end:.75rem;
	color:#212529;
	background-color:#e9ecef;
	pointer-events:none;
	border-color:inherit;
	border-style:solid;
	border-width:0;
	border-inline-end-width:1px;
	border-radius:0;
	transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
@media (prefers-reduced-motion:reduce) {
	.form-control::file-selector-button {
		transition:none;
	}
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
	background-color:#dde0e3;
}
.form-control::-webkit-file-upload-button {
	padding:.375rem .75rem;
	margin:-.375rem -.75rem;
	-webkit-margin-end:.75rem;
	margin-inline-end:.75rem;
	color:#212529;
	background-color:#e9ecef;
	pointer-events:none;
	border-color:inherit;
	border-style:solid;border-width:0;
	border-inline-end-width:1px;
	border-radius:0;
	-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
@media (prefers-reduced-motion:reduce) {
	.form-control::-webkit-file-upload-button{
		-webkit-transition:none;
		transition:none;
	}
}
.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
	background-color:#dde0e3;
}
.form-control-plaintext {
	display:block;
	width:100%;
	padding:.375rem 0;
	margin-bottom:0;
	line-height:1.5;
	color:#212529;
	background-color:transparent;
	border:solid transparent;
	border-width:1px 0;
}
.form-control-plaintext.form-control-lg,
.form-control-plaintext.form-control-sm {
	padding-right:0;
	padding-left:0;
}
.form-control-sm {
	min-height:calc(1.5em + .5rem + 2px);
	padding:.25rem .5rem;
	font-size:.875rem;border-radius:.2rem;
}
.form-control-sm::file-selector-button {
	padding:.25rem .5rem;
	margin:-.25rem -.5rem;
	-webkit-margin-end:.5rem;
	margin-inline-end:.5rem;
}
.form-control-sm::-webkit-file-upload-button {
	padding:.25rem .5rem;
	margin:-.25rem -.5rem;
	-webkit-margin-end:.5rem;
	margin-inline-end:.5rem;
}
.form-control-lg {
	min-height:calc(1.5em + 1rem + 2px);
	padding:.5rem 1rem;
	font-size:1.25rem;
	border-radius:.3rem;
}
.form-control-lg::file-selector-button {
	padding:.5rem 1rem;
	margin:-.5rem -1rem;
	-webkit-margin-end:1rem;
	margin-inline-end:1rem;
}
.form-control-lg::-webkit-file-upload-button {
	padding:.5rem 1rem;
	margin:-.5rem -1rem;
	-webkit-margin-end:1rem;
	margin-inline-end:1rem;
}
textarea.form-control {
	min-height:calc(1.5em + .75rem + 2px);
}
textarea.form-control-sm {
	min-height:calc(1.5em + .5rem + 2px);
}
textarea.form-control-lg {
	min-height:calc(1.5em + 1rem + 2px);
}
.form-control-color {
	max-width:3rem;
	height:auto;
	padding:.375rem;
}
.form-control-color:not(:disabled):not([readonly]) {
	cursor:pointer;
}
.form-control-color::-moz-color-swatch {
	height:1.5em;
	border-radius:.25rem;
}
.form-control-color::-webkit-color-swatch {
	height:1.5em;
	border-radius:.25rem;
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    width: 100%;
    padding-right: var(.75rem);
    padding-left: var(.75rem);
    margin-right:auto;
    margin-left:auto;
}

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(var(--bs-gutter-y) * -1);
    margin-right: calc(var(--bs-gutter-x)/ -2);
    margin-left: calc(var(--bs-gutter-x)/ -2);
}
.row > * {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x)/ 2);
    padding-left: calc(var(--bs-gutter-x)/ 2);
    margin-top: var(--bs-gutter-y);
}
.justify-content-between {
    justify-content:space-between;
}
.align-items-start {
    align-items:flex-start;
}

.text-danger {
    color:#dc3545;
}
.text-center {
    text-align:center;
}
.fw-bold {
    font-weight:700;
}

.d-block {
    display:block;
}

.my-4 {
    margin-top:1.5rem;
    margin-bottom:1.5rem;
}
.mt-5 {
    margin-top:0rem;
}
.mt-4 {
    margin-top:1.5rem;
}
.mt-3 {
    margin-top:1rem;
}
.mb-2 {
    margin-bottom:.5rem;
}
.mb-3 {
    margin-bottom:1rem;
}
.col {
    flex: 1 0 0%;
}
.p-0 {
    padding:0;
}
.m-0 {
    margin:0;
}
.gap-2 {
    gap:.5rem;
}
.d-grid {
    display:grid;
}
.mw-100 {
    max-width:100%;
}
.form-label {
    margin-bottom:.5rem;
}
.col {
    flex: 1 0 0%;
}
.shadow {
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}
.card {
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    word-wrap:break-word;
    background-color:#fff;
    background-clip:border-box;
    border:1px solid rgba(0,0,0,.125);
    border-radius:.25rem;
}
.card-header {
    padding:.5rem 1rem;
    margin-bottom:0;
    background-color:rgba(0,0,0,.03);
    border-bottom:1px solid rgba(0,0,0,.125);
}
.card-header:first-child {
    border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0;
}
.card-body {
    flex:1 1 auto;
    padding:1rem 1rem;
}
.bg-primary {
    background-color:#0d6efd;
}
.text-white {
    color:#fff;
}
.alert {
	position:relative;
	padding:1rem 1rem;
	margin-bottom:1rem;
	border:1px solid transparent;
	border-radius:.25rem;
}
.alert-heading {
	color:inherit;
}
.alert-link {
	font-weight:700;
}
.alert-dismissible {
	padding-right:3rem;
}
.alert-dismissible .btn-close {
	position:absolute;
	top:0;
	right:0;
	z-index:2;
	padding:1.25rem 1rem;
}
.alert-primary{
	color:#084298;
	background-color:#cfe2ff;
	border-color:#b6d4fe;
}
.alert-primary .alert-link {
	color:#06357a;
}
.alert-secondary {
	color:#41464b;
	background-color:#e2e3e5;
	border-color:#d3d6d8;
}
.alert-secondary .alert-link {
	color:#34383c;
}
.alert-success{
	color:#0f5132;
	background-color:#d1e7dd;
	border-color:#badbcc;
}
.alert-success .alert-link {
	color:#0c4128;
}
.alert-info {
	color:#055160;
	background-color:#cff4fc;
	border-color:#b6effb;
}
.alert-info .alert-link {
	color:#04414d;
}
.alert-warning {
	color:#664d03;
	background-color:#fff3cd;
	border-color:#ffecb5;
}
.alert-warning .alert-link {
	color:#523e02;
}
.alert-danger {
	color:#842029;
	background-color:#f8d7da;
	border-color:#f5c2c7;
}
.alert-danger .alert-link {
	color:#6a1a21;
}
.alert-light {
	color:#636464;
	background-color:#fefefe;
	border-color:#fdfdfe;
}
.alert-light .alert-link {
	color:#4f5050;
}
.alert-dark {
	color:#141619;
	background-color:#d3d3d4;
	border-color:#bcbebf;
}
.alert-dark .alert-link {
	color:#101214;
}
/*-- BC end --*/

.form-control[err] {
    background:#f8d7da;
}

html {
  font-size: 14px;
}

body {
    font-size:1rem;
    font-weight:400;
    line-height:1.5;
    -webkit-text-size-adjust:100%;
    -webkit-tap-highlight-color:transparent;
	font-family:"NotoSansCJKjp", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Meiryo, メイリオ", sans-serif;
	color:#000;
	background:#fff;
	margin:0;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.5rem;
}

h3 {
  font-size: 1.125rem;
}

h4 {
  font-size: 1rem;
}

h5 {
  font-size: 0.75rem;
}

h6 {
  font-size: 0.625rem;
}

.h1 {
  font-size: 2rem;
}

.h2 {
  font-size: 1.5rem;
}

.h3 {
  font-size: 1.125rem;
}

.h4 {
  font-size: 1rem;
}

.h5 {
  font-size: 0.75rem;
}

.h6 {
  font-size: 0.625rem;
}

.row:not(:last-child) {
	margin-bottom:14px;
}

input[name="payment_code[]"] {
	width:calc(100% - 70px);
	max-width:calc(640px - 70px);
	display:inline-block;
	padding:8px 6px;
	font-size:16px;
	border:none;
	margin-bottom:1px;
}

.top_notice {
	color:#666666;
}

.Switch {
	display:inline-block;
	width:70px;
	height:30px;
	border-radius:16px;
	overflow:hidden;
	padding:0 28px 0 0;
	white-space:nowrap;
	vertical-align:bottom;
	cursor:pointer;
}
.Switch[readonly] {
	pointer-events:none;
}
.Switch input { display:none; }
.Switch div {
	position:relative;
	display:inline-block;
	vertical-align:top;
	margin-right:1px;
	transition-property:margin;
	transition-duration:0.1s;
	transition-timing-function:ease-in;
}
.Switch div:after {
	content:'';
	position:absolute;
	display:block;
	width:26px;
	height:26px;
	border-radius:13px;
	margin:2px;
}
.Switch input:checked + div {
	margin-left:40px;
}
.Switch div > * {
	position:absolute;
	box-sizing:border-box;
	display:block;
	vertical-align:top;
	text-align:center;
	width:72px;
	height:30px;
	padding:0;
	font-size:11px;
	line-height:30px;
	font-style:normal;
	font-weight:normal;
}
.Switch div > *:nth-child(1) {
	right:-31px;
	padding-right:20px;
}
.Switch div > b:empty:after {
	content:'火';
}
.Switch div > *:nth-child(2) {
	left:0;
	padding-left:20px;
}
.Switch input:checked + div > *:nth-child(2) {
	left:31px;
}
.Switch div > i:empty:after {
	content:'安';
}
@media screen and (min-width:540px) {
	.Switch {
		width:50px;
		height:22px;
		border-radius:16px;
		padding:0 20px 0 0;
	}
	.Switch div:after {
		width:18px;
		height:18px;
		border-radius:10px;
		margin:2px;
	}
	.Switch input:checked + div {
		margin-left:28px;
	}
	.Switch div > * {
		width:52px;
		height:22px;
		padding:0;
		font-size:9px;
		line-height:22px;
	}
	.Switch div > *:nth-child(1) {
		right:-23px;
		padding-right:16px;
	}
	.Switch div > *:nth-child(2) {
		left:0;
		padding-left:16px;
	}
	.Switch input:checked + div > *:nth-child(2) {
		left:31px;
	}
}



.Switch {
	background:#607090;
	border-color:#607090;
}
.Switch div:after {
	background-color:#ffffff;
}
.Switch[readonly] div:after {
	background-color:rgba(255,255,255,.4);
}
.Switch input:disabled + div:after {
	background-color:rgba(255,255,255,.3);
}
.Switch div > * {
	color:#ffffff;
}
.Switch input:disabled + div > * {
	color:rgba(255,255,255,.3);
}
.Switch div > b {
	background-color:#198964;
}
.Switch div > i {
	background-color:#666666;
}

#address-box:not([disp]) {
	display:none;
}

.check_point div:first-child {
	max-height:30vh;
	overflow:auto;
	padding:10px;
	border:1px solid #aaaaaa;
	color:#666666;
	border-radius:5px;
}
.check_point h3 {
	text-align:center;
}
.check_point p {
	padding:1em 0.5em;
}

.toast_shadow {
	position:fixed;
	background-color:rgba(0,0,0,0.0);
	top:0;
	left:0;
	right:0;
	bottom:0;
	transition-property:background;
    transition-timing-function:ease;
    transition-duration:.4s;
    transform-origin:center;
	z-index:2;
}
.toast_shadow[disp] {
	background-color:rgba(0,0,0,0.5);
}
.toast_popup {
	position:fixed;
    display:flex;
	top:0;
	left:0;
	right:0;
	bottom:0;
    justify-content:center;
    align-items:center;
	z-index:2;
}
.toast_outer {
	position:relative;
	#display:inline-block;
	max-width:280px;
	transition-property:opacity, transform;
    transition-timing-function:ease;
    transition-delay:.1s;
    transition-duration:.3s;
    transform-origin:center;
	opacity:0;
    transform:scale(0.2) translateY(20px);
}
.toast_popup[disp] > .toast_outer {
	opacity:1;
    transform:scale(1) translateY(0px);
}
.toast_inner {
	#position:absolute;
	background-color:rgba(0,0,0,0.8);
	color:#ffffff;
	padding:20px;
	border-radius:5px;
    box-shadow: 0 10px 20px rgb(0,0,0,.5);
}

.hide_year {
	position:relative;
	display:inline-block;
	overflow:hidden;
}
.hide_year input {
	position:absolute;
}
.success_icon {
	width:500px;
	max-width:60%;
	height:auto;
}
.success_icon circle {
	fill:#198964;
	transition-property:transform;
    transition-timing-function:ease;
    transition-duration:.2s;
    transform:scale(0);
    transform-origin:center;
}
.success_icon[loaded] circle {
	transform:scale(1);
}
.success_icon path {
	fill:none;
	stroke:#ffffff;
	stroke-width:80;
    stroke-linecap:round;
    stroke-linejoin:round;
	stroke-dasharray:440,440;
	stroke-dashoffset:480;
	transition-property:stroke-dashoffset;
    transition-timing-function:ease;
    transition-delay:.2s;
    transition-duration:.4s;
    transform-origin:center;
}
.success_icon[loaded] path {
	stroke-dashoffset:0;
}
.code_copy {
	cursor:pointer;
	width:64px;
	height:auto;
	filter:drop-shadow(0 5px 5px rgba(0,0,0,.5));
	float:right;
}
.code_copy rect {
	fill:#ffffff;
	stroke:#000000;
	stroke-width:3;
}
.loading_icon {
	width:100px;
	height:auto;
}
.loading_icon circle {
	animation-name:roundrun;
    animation-iteration-count:infinite;
	transform-origin:50% 50%;
    transform:rotate(-90deg);
    fill:none;
    stroke:rgba(255,255,255,.4);
    stroke-width:20px;
    stroke-linecap:round;
	stroke-dasharray:0,502.655;
    animation-duration:3s;
	animation-timing-function:cubic-bezier(0.12, 0.6, 0.88, 0.4);
}
.loading_icon text {
	fill:#ffffff;
	font-size:34px;
	text-anchor:middle;
}
@keyframes roundrun {
	0%   {stroke-dashoffset:0;			opacity:0;}
	11%  {stroke-dashoffset:0;			opacity:0;}
	12%  {stroke-dashoffset:10;			opacity:1;}
	88%  {stroke-dashoffset:492.655;	opacity:1;}
	89%  {stroke-dashoffset:502.655;	opacity:0;}
	100% {stroke-dashoffset:502.655;	opacity:0;}
}
body > .loading_icon {
	display:none;
}

.mailGhost {
	position:relative;
}
.mailGhost div {
	position:absolute;
	min-width:100px;
	max-width:100%;
	word-break:break-all;
	text-align:right;
	bottom:-10px;
	right:-30px;
	background-color:#198964;
	color:#ffffff;
	font-weight:bold;
	font-family:monospace;
	font-size:16px;
	padding:1px 10px;
	border-radius:10px;
	opacity:0;
	transition-property:opacity, bottom;
    transition-timing-function:ease;
    transition-duration:.4s;
    transform-origin:center;
}
.mailGhost[disp] div {
	bottom:-3px;
	opacity:1;
}
.mailGhost b {
	color:rgba(255,255,255,.5);
	font-weight:bolder;
}
.mailGhost span {
	display:inline-block;
	position:relative;
	z-index:0;
}
.mailGhost span:after {
	content:'';
	display:block;
	position:absolute;
	right:30px;
	bottom:-30px;
	border-style:solid;
	border-width:13px;
	border-color:#198964 transparent transparent;
}

.pop_baloon {
	position:relative;
}
.pop_baloon > svg {
	position:absolute;
	width:100px;
	height:auto;
	bottom:-10px;
	right:-30px;
	filter:drop-shadow(0 5px 5px rgba(0,0,0,.5));
}
.pop_baloon > svg circle {
	transform-origin:center;
	transform:scaleY(0.8);
	fill:#198964;
	#stroke:#198964;
}
.pop_baloon > svg #tale {
	fill:#cdcdcd;
	stroke:#198964;
}
.pop_baloon > svg #shadow {
	fill:rgba(0,0,0,.15);
}
.pop_baloon > svg #card {
	fill:#cdcdcd;
}
.pop_baloon > svg #magnet {
	fill:#000000;
}
.pop_baloon > svg #name {
	fill:#ffffff;
}
.pop_baloon > svg #nm {
	fill:#000000;
	font-size:13px;
}
.pop_baloon > svg #cvv {
	fill:#000000;
	font-size:11px;
}
.pop_baloon > svg #red {
	fill:none;
	stroke:rgba(255,0,0,.7);
	stroke-width:3;
}

p {
  font-size: 1rem;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  line-height: 1.5rem;
  letter-spacing: 0.1rem;
}

span {
  font-size: 0.8rem;
  letter-spacing: 0.1rem;
}

/*ul {*/
/*  margin-bottom: 0;*/
/*  -webkit-padding-start: 0;*/
/*  padding-inline-start: 0;*/
/*}*/

ul li {
  list-style: none;
}

ol {
  margin-bottom: 0;
}

dl {
  margin-bottom: 0;
}

dt, th {
  font-weight: normal;
}

dd {
  text-indent: 1em;
}

caption {
  caption-side: top;
  text-align: center;
}

th, td {
  /* padding: 15px; */
  text-align: left;
}

tfoot td {
  text-align: left;
  font-size: 0.8rem;
}

hr {
  width: 90%;
  background-color: #575757;
}

label {
  margin-bottom: 0;
}

input[type=checkbox] {
  margin-right: 10px;
}

input[type=radio] {
  margin: 3px 5px 0px 20px;
}

input[type=radio]:first-child {
  margin-left: 0px;
}

button:focus {
  outline: none;
}

button:disabled {
  opacity: 0.6;
}

footer {
  width: 100%;
}

/* -----------------------------
 | アンカーリンク
 ------------------------------*/
a {
  position: relative;
  display: inline-block;
  transition: 0.3s;
  color: #fff;
  word-break: break-all;
}

a::after {
  position: absolute;
  bottom: 0px;
  left: 50%;
  content: "";
  width: 0;
  height: 1px;
  transition: 0.3s;
  transform: translateX(-50%);
}

a.a_header::after {
  bottom: 10px;
}

/* 色と線の適用 */
a.a_red::after {
  background-color: red;
}

a.a_gray::after {
  background-color: #6b6b6b;
}

a.a_white::after {
  background-color: white;
}

a:hover {
  text-decoration: none;
  color: #435d7c;
}

a:hover::after {
  width: 80%;
}

a:hover img,
a:hover div {
  opacity: 0.7;
  filter: alpha(opacity=70);
  transition: 0.5s;
}

.a_div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* -----------------------------
 | FLEX BOX
 ------------------------------*/
.flex {
  display: flex;
  justify-content: center;
}

.flex-fix {
  display: flex;
  justify-content: center;
}

.jc-s {
  justify-content: start;
}

.jc-sb {
  justify-content: space-between;
}

.jc-sa {
  justify-content: space-around;
}

.ai-c {
  align-items: center;
}

@media screen and (max-width: 767px) {
  .flex {
    display: block;
  }
}
/* -----------------------------
 | GENERAL
 ------------------------------*/
.inner {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding:0px calc(20px + env(safe-area-inset-left)) 20px;
}

.hidden {
  display: none;
}

.spbr {
  display: none;
}

@media screen and (max-width: 767px) {
  .spbr {
    display: block;
  }
}
.w100 {
  width: 100%;
}

.w50 {
  width: 50%;
}

.h100 {
  height: 100%;
}

.h50 {
  height: 50%;
}

.fwb {
  font-weight: bold;
}

.tac {
  text-align: center;
}

.tal {
  text-align: left;
}

.tar {
  text-align: right;
}

/* font-color */
.fc-green {
  color: #0A941B;
}

.fc-red {
  color: red;
}

.fc-brack {
  color: black;
}

.fc-blue {
  color: #187FC4;
}

.fc-pink {
    color: #d04de0;
}

/* background-color */
.bg-gray {
  background: #f0f0f0;
}

.mon {
  font-family: "Montserrat", sans-serif;
}

.row.select_center.mt-1 .theme--light.v-select .v-select__selection--comma {
  color: #fff;
  font-weight: bold;
}

.row.select_center.mt-1 .theme--light.v-text-field > .v-input__control > .v-input__slot:before {
  border-color: rgba(255, 255, 255, 0.5);
}

.row.select_center.mt-1 .theme--light.v-text-field:not(.v-input--has-state):hover > .v-input__control > .v-input__slot:before {
  border-color: #fff;
}

.row.select_center.mt-1 .theme--light.v-label:first-child {
  color: #fff;
}

.row.select_center.mt-1 .theme--light.v-icon {
  color: #fff;
}

.reserved_btn {
  position: relative;
  padding: 10px 50px;
  background: #E65050;
  border-radius: 30px;
  margin-top: 10px;
}

.fix_reserve_btn {
  margin: 30px auto;
}

.fix_reserve_btn .reserved_btn {
  padding: 20px 80px;
  border-radius: 35px;
}

.fix_reserve_btn .reserved_btn::after {
  top: 19px;
  left: 220px;
}

.reserved_btn.sp {
  position: fixed;
  bottom: 50px;
  right: 20px;
  padding: 10px 30px;
  border-radius: 10px;
  margin-top: 0;
  z-index: 1000;
}

.reserved_btn:after {
  position: absolute;
  content: ">";
  top: 9px;
  left: 160px;
}

.nagoya_link .reserved_btn:after {
  position: absolute;
  content: ">";
  top: 9px;
  left: 310px;
}

.section_ttl {
  text-align: center;
}

.section_ttl h2 {
  font-weight: bold;
}

.mv_reserved_form {
  position: fixed;
  right: 5%;
  bottom: 50px;
  padding: 30px 50px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 5px 5px 0px #187FC4;
  z-index: 1000;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }
}
section {
	display: block;
}
header {
	position:sticky;
	position:-webkit-sticky;
	display:block;
	top:0;
	width:100%;
	background:rgba(255,255,255,.85);
	padding:20px env(safe-area-inset-left) 10px;
	z-index:2;
}

header .header img {
  width: 320px;
}

header > img {
	display:block;
	margin:0 auto;
	width:80%;
	max-width:400px;
}
.mt-5 {
    margin-top:0rem!important;
}

#complete {
  padding: 100px 0;
}

#complete .icon {
  font-size: 7rem;
  margin-bottom: 10px;
  color: #4caf50;
}

#complete .ttl {
  font-size: 1.6rem;
  color: #4caf50;
  margin-bottom: 50px;
}

#complete .note {
  border: 1px solid #E65050;
  padding: 10px;
  width: 65%;
  margin: 0 auto;
  margin-top: 80px;
}

#complete .note p {
  color: #E65050;
  font-size: 0.8rem;
}

@media screen and (max-width: 768px) {
  #complete .note {
    width: 95%;
  }
}
footer {
  padding:30px env(safe-area-inset-left);
}

footer .footer_logo {
  width: 200px;
  margin: 50px auto;
}

footer ul li {
  font-size: 0.7rem;
  padding-left: 0px;
  text-indent: -10px;
  letter-spacing: 0.1rem;
}

.note2 ul li {
  text-indent: -1.2rem;
  /* color: red; */
  color: black;
}
.note2 ul li.bullet:before {
  content: "◉";
}

footer ul li:before {
  content: "●";
}

.required:after {
    content: ' *';
    color: rgba(138,24,17,1);
}

.notice {
    border: red solid 2px;
    padding: 1em 2em;
    color: red;
    margin-bottom: 1em;
    text-align: center;
}

.d-disabled {
    /*display: none;*/
    pointer-events: none;
    opacity: .4;
}
