body {
	margin: 0;
	padding: 0;
	background: #3bbccf;
	color: #fff;
	-webkit-appearance: none;
	font-family: -apple-system, YuGothic, 'Yu Gothic', sans-serif;

	font-weight: 500;
}

a {
	color: #fff;
	text-decoration: underline;
	transition: all 0.15s ease-out;
}

a:hover {
	opacity: 0.7;
}

@media screen and (max-width: 768px) {
	a {
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
		color: #fff;
		text-decoration: none;
	}
}

a span.mark {
	position: relative;
	padding-left: 1.6rem;
	margin-left: 5px;
}

a span.mark:before {
	content: "";
	position: absolute;
	top: 5px;
	left: 8px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 6px;
	height: 6px;
	border-top: 2px solid #575347;
	border-right: 2px solid #575347;
}

a span.mark:after {
	content: "";
	position: absolute;
	top: 8px;
	left: 3px;
	width: 12px;
	height: 2px;
	background-color: #575347;
}

a.arrow-up:after {
	margin: 0 0 0 8px;
	font-family: "Font Awesome 5 Free";
	content: '\f08e';
	font-weight: 600;
	font-size: 16px;
}

@media screen and (min-width: 769px),
print {
	a[href^="tel:"] {
		text-decoration: none;
	}
}

@media screen and (max-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
		cursor: default;
	}
}

/* Header */
#nav-toggle {
	position: absolute;
	top: 10px;
	right: 10px;
	height: 60px;
	padding: 5px;
	cursor: pointer;
	background: #none;
}

#nav-toggle div {
	position: relative;
	width: 40px;
	height: 40px;
	cursor: pointer;
}

#nav-toggle div>span {
	width: 100%;
	height: 2px;
	left: 0;
	display: block;
	background: #3bbccf;
	position: absolute;
	transition: transform .6s ease-in-out, top .5s ease;
}

#nav-toggle div>span:nth-child(1) {
	top: 6px;
}

#nav-toggle div>span:nth-child(2) {
	top: 19px;
}

#nav-toggle div>span:nth-child(3) {
	bottom: 6px;
}

.is-open {
	overflow: hidden;
}

.is-open #nav-toggle div {
	background: #3bbccf;
	border-radius: 3px;
	padding: 5px;
	width: 30px;
	height: 30px;
}

.is-open #nav-toggle div>span {
	background: #fff;
}

.is-open #nav-toggle div>span:nth-child(1) {
	top: 50%;
	transform: rotate(45deg) translatey(-50%);
}

.is-open #nav-toggle div>span:nth-child(2) {
	width: 0;
}

.is-open #nav-toggle div>span:nth-child(3) {
	top: 50%;
	transform: rotate(-45deg) translatey(-50%);
}

.is-open #gloval-nav {
	z-index: 999;
	transform: translateX(0);
}

/* z-index */
#nav-toggle {
	z-index: 1000;
}

header h1 {
	margin: 0;
	padding: 0;
}

header .h1-title {
	position: relative;
	display: block;
	font-size: 24px;
}

header h1 a,
header .h1-title a {
	display: block;
}

header h1 img,
header .h1-title img {
	width: 100%;
}

.header_inner {
	width: 100%;
}

.header_line {
	position: relative;
	width: 100%;
	height: 10px;
	background: url("../images/common/header_bg.png") repeat-x;
}

.site-header {
	z-index: 999;
	padding: 0;
	position: fixed;
	top: 0;
	transition: .5s;
	width: 100%;
	background: #fff;
}

@media screen and (min-width: 769px),
print {
	.header_inner {
		margin: 0 auto;
	}

	.site-header {
		height: 80px;
	}

	.site-header.hide {
		top: -90px;
	}

	header .h1-title {
		left: 5px;
		top: 6px;
		max-width: 250px;
	}
}

@media screen and (max-width: 768px) {
	.site-header {
		height: 80px;
	}

	.site-header.hide {
		top: -90px;
	}

	header .h1-title {
		left: 5px;
		top: 5px;
		max-width: 250px;
	}
}

@media all and (-ms-high-contrast:none) {
	.site-header.hide {
		top: 0;
	}
}

#gloval-nav {
	color: #585448;
	font-family: YuGothic, 'Yu Gothic', sans-serif;
	font-weight: 700;
	z-index: 900;
	overflow: auto;
	width: 90%;
	height: 100%;
	position: fixed;
	top: 0;
	text-align: center;
	transform: translateX(100%);
	transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.gloval-nav_inner {
	margin: 8vh auto 20px auto;
	padding: 10% 5%;
	background: #fff;
	width: 80%;
}

.exclusive {
	display: block;
	border: 2px #db4719 solid;
	border-radius: 30px;
	color: #db4719;
	font-weight: 600;
	text-align: center;
}

@media screen and (min-width: 769px),
print {
	.exclusive {
		padding: 3px 5px;
		margin: 20px auto 40px auto;
		font-size: 22px;
		max-width: 160px;
	}
}

@media screen and (max-width: 768px) {
	.exclusive {
		padding: 3px 5px;
		margin: 10px auto 20px auto;
		font-size: 20px;
		max-width: 140px;
	}
}

.gloval-nav_inner .h2-title {
	color: #565246;
}

#gloval-nav nav {
	width: 100%;
	margin: 0 auto !important;
}

#gloval-nav ul {
	display: -webkit-flex;
	display: flex;
	padding: 0;
	width: 100%;
	margin: 0 0 30px 0;
	justify-content: space-around;
	align-items: flex-start;
	flex-direction: column;
}

#gloval-nav li {
	list-style-type: none !important;
	text-align: left;
	padding: 0;
	margin: 0 auto 15px auto;
	text-align: center;
	font-size: 18px;
	border: 1px #585448 solid;
	background: -moz-linear-gradient(top, #ffffff, #f0f0ee);
	background: -webkit-linear-gradient(top, #ffffff, #f0f0ee);
	background: linear-gradient(to bottom, #ffffff, #f0f0ee);
}

#gloval-nav li a {
	text-decoration: none;
	color: #585448;
}

#gloval-nav li br {
	display: none;
}

#gloval-nav li.crowdfunding br {
	display: block;
}

#gloval-nav li a span {
	vertical-align: top;
}

#gloval-nav .gloval-nav_inner nav a {
	display: block;
	color: #585448;
	text-decoration: none;
	padding: 10px 0;
	transition: opacity .6s ease;
}

#gloval-nav .gloval-nav_inner nav a:hover {
	opacity: 0.6;
}

#gloval-nav .gloval-nav_inner p.notice {
	line-height: 1.2;
}

@media screen and (min-width: 769px),
print {
	#gloval-nav {
		right: -15px;
	}

	#gloval-nav {
		width: 40%;
		max-width: 500px;
		background: rgba(59, 188, 207, 0.96);
		border-left: 1px #3db4c6 solid;
		box-shadow: 0 10px 15px 0 rgba(0, 0, 0, .3);
	}

	.gloval-nav_inner .h2-title {
		font-size: 26px;
		margin-bottom: 20px;
	}

	.gloval-nav_inner .h3-title {
		font-size: 22px;
		margin-bottom: 10px;
	}

	#gloval-nav .gloval-nav_inner p.notice span {
		font-size: 15px;
	}

	#gloval-nav li {
		width: 100%;
		max-width: 350px;
	}
}

@media screen and (max-width: 768px) {
	#gloval-nav {
		right: 0;
	}

	#gloval-nav {
		width: 100%;
		background: rgba(59, 188, 207, 0.96);
	}

	.gloval-nav_inner .h2-title {
		font-size: 24px;
		margin-bottom: 20px;
	}

	.gloval-nav_inner .h3-title {
		font-size: 20px;
		margin-bottom: 10px;
	}

	#gloval-nav .gloval-nav_inner p.notice span {
		font-size: 14px;
	}

	#gloval-nav li {
		width: 80%;
	}
}

.main-visual {
	position: relative;
	width: 100%;
	margin: 0 auto;
	background: #fff;
	color: #5b5547;
}

.main-visual__inner {
	position: relative;
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
}

h1.main_visual_logo {
	text-align: center;
}

h1.main_visual_logo img,
.main-visual_image img,
.sub_visual_logo img {
	width: 100%;
}

.main-visual__body p {
	line-height: 1.8;
}

.main-visual__body .center {
	text-align: center;
}

.main-visual__body ol {
	padding: 15px;
	background: #ebebeb;
}

.main-visual__body ol li {
	margin-left: 30px;
	padding: 5px 20px 0 0;
	font-weight: bold;
}

.main-visual__body .e-link {
	color: #3bbcce;
}

.main-visual__notice {
	background: #3bbcce;
	color: #fff;
	text-align: center;
}

.main-visual__notice p {
	text-align: left;
}

.txt-line {
	background: linear-gradient(transparent 60%, #fcff00 60%);
}

@media screen and (min-width: 769px),
print {
	.main-visual {
		padding: 100px 0 30px 0;
	}

	h1.main_visual_logo {
		margin: 50px auto;
		max-width: 530px;
	}

	.sub_visual_logo {
		margin: 20px auto;
		max-width: 300px;
	}

	.main-visual__body p {
		font-size: 16px;
	}

	.main-visual_image {
		margin-bottom: 50px;
	}

	.main-visual__body ol {
		width: 90%;
		margin: 30px auto;
	}

	.main-visual__notice {
		padding: 30px;
		width: 750px;
	}

	.main-visual__notice strong {
		font-size: 18px;
	}

	.main-visual__notice p {
		font-size: 16px;
	}
}

@media screen and (max-width: 768px) {
	.main-visual {
		padding: 80px 0 10px 0;
	}

	h1.main_visual_logo {
		margin: 50px auto 30px auto;
		max-width: 80%;
	}

	.sub_visual_logo {
		margin: 10px auto;
		max-width: 60%;
	}

	.main-visual__body p {
		font-size: 16px;
	}

	.main-visual_image {
		margin-bottom: 30px;
	}

	.main-visual__body ol {
		width: 100%;
		margin: 30px auto;
	}

	.main-visual__body ol li {
		margin-left: 20px;
		padding: 5px 10px 0 0;
		font-size: 15px;
	}

	.main-visual__notice {
		padding: 5%;
		width: 90%;
	}

	.main-visual__notice strong {
		font-size: 18px;
	}

	.main-visual__notice p {
		font-size: 16px;
	}
}

.top-login {
	position: relative;
	width: 100%;
	padding: 50px 0;
	margin: 0 auto;
	background: #fff;
}

.top-login__inner {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.top-login__inner .top-login__heading {
	position: relative;
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

.top-login__inner .top-login__heading .h2-title_img {
	text-align: center;
	margin: 0 auto;
}

.top-login__inner .top-login__heading .h2-title_img img {
	width: 100%;
}

.top-login__inner section {
	color: #5b5547;
}

.top-login__inner section a {
	color: #5b5547;
	text-decoration: underline;
}

@media screen and (min-width: 769px),
print {
	.top-login__inner .top-login__heading .h2-title_img {
		max-width: 600px;
	}

	.top-login .top-login__inner .form-box,
	.login {
		max-width: 500px;
	}
}

@media screen and (max-width: 768px) {
	.top-login__inner .top-login__heading .h2-title_img {
		max-width: 90%;
	}

	.top-login .top-login__inner .form-box,
	.login {
		max-width: 90%;
	}
}

.top-step {
	position: relative;
	width: 100%;
	padding: 50px 0;
	margin: 0 auto;
	background-repeat: repeat-x, repeat-x;
	background-position: top, bottom;
	background:
		url("../images/common/header_bg_white.png") repeat-x top center,
		url("../images/common/header_bg_blue.png") repeat-x bottom center;
	background-color: #3bbccf;
}

.top-step__inner {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.top-step__inner .top-step__heading {
	position: relative;
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

.top-step__inner .top-step__heading .h2-title_img {
	text-align: center;
	margin: 0 auto;
}

.top-step__inner .top-step__heading .h2-title_img img {
	width: 100%;
}

.top-step__inner .step-box {
	display: flex;
	flex-flow: column;
	text-align: center;
}

.top-step__inner .step-box .block {
	position: relative;
	background: #fff;
	color: #595549;
	/* box-shadow: 0px 0px 5px 1px #ccc inset; */
}

.top-step__inner .step-box .block .step__heading {
	display: inline-block;
	color: #3bbccf;
	font-weight: 600;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	border-bottom: 3px #f7f502 solid;
}

.top-step__inner .step-box .block p {
	text-align: left;
}

.top-step__inner .step-box .block figure {
	border: 1px #595549 solid;
}

.top-step__inner .step-box .block figure img {
	width: auto;
	max-width: 95%;
}

.top-step__inner .step-box .dot img {
	width: 100%;
}

@media screen and (min-width: 769px),
print {
	.top-step__inner .top-step__heading {
		margin-bottom: 30px;
	}

	.top-step__inner .top-step__heading .h2-title_img {
		max-width: 400px;
	}

	.top-step__inner .step-box .block {
		width: 90%;
		max-width: 600px;
		margin: 0 auto 30px auto;
		padding: 30px;
	}

	.top-step__inner .step-box .block .step__heading {
		font-size: 34px;
		padding-bottom: 10px;
	}

	.top-step__inner .step-box .block h3 {
		font-size: 26px;
		margin-bottom: 15px;
	}

	.top-step__inner .step-box .block p {
		font-size: 16px;
		margin: 20px 0 30px 0;
	}

	.top-step__inner .step-box .dot {
		margin: 30px auto;
		width: 25px;
	}
}

@media screen and (max-width: 768px) {
	.top-step__inner .top-step__heading {
		margin-bottom: 30px;
	}

	.top-step__inner .top-step__heading .h2-title_img {
		max-width: 60%;
	}

	.top-step__inner .step-box .block {
		width: 80%;
		margin: 0 auto 30px auto;
		padding: 15px;
	}

	.top-step__inner .step-box .block .step__heading {
		font-size: 28px;
		padding-bottom: 10px;
	}

	.top-step__inner .step-box .block h3 {
		font-size: 20px;
		margin-bottom: 15px;
	}

	.top-step__inner .step-box .block p {
		font-size: 15px;
		margin: 10px 0 30px 0;
	}

	.top-step__inner .step-box .dot {
		margin: 20px auto;
		width: 20px;
	}
}

.top-about {
	position: relative;
	width: 100%;
	margin: 0 auto;
	background-repeat: repeat-x, repeat-x;
	background-position: top, bottom;
	background:
		url("../images/common/header_bg_blue.png") repeat-x top center,
		url("../images/common/header_bg_white.png") repeat-x bottom center;
	background-color: #fff;
	color: #585448;
}

.top-about__inner {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.top-about__inner .top-about__heading {
	position: relative;
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

.top-about__inner .top-about__heading .h2-title {
	text-align: center;
	margin: 0 auto;
}

.top-about__inner .top-about__body p {
	text-align: left;
}

@media screen and (min-width: 769px),
print {
	.top-about {
		padding: 80px 0;
	}

	.top-about__inner .top-about__heading .h2-title {
		margin-bottom: 50px;
		font-size: 26px;
	}

	.top-about__inner .top-about__body {
		width: 90%;
		max-width: 700px;
		margin: 0 auto;
		padding: 0;
	}

	.top-about__inner .top-about__body p {
		font-size: 16px;
		margin: 20px 0 0 0;
	}
}

@media screen and (max-width: 768px) {
	.top-about {
		padding: 50px 0;
	}

	.top-about__inner .top-about__heading .h2-title {
		margin-bottom: 30px;
		font-size: 20px;
	}

	.top-about__inner .top-about__body {
		width: 80%;
		margin: 0 auto;
		padding: 0;
	}

	.top-about__inner .top-about__body p {
		font-size: 15px;
		margin: 20px 0 0 0;
	}
}

.top-feature {
	position: relative;
	width: 100%;
	padding: 50px 0;
	margin: 0 auto;
	background-repeat: repeat-x, repeat-x;
	background-position: top, bottom;
	background: url("../images/common/header_bg_blue.png") repeat-x bottom center;
	background-color: #3bbccf;
}

.top-feature__inner {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.top-feature__inner .top-feature__heading {
	position: relative;
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

.top-feature__inner .top-feature__heading .h2-title {
	text-align: center;
	margin: 0 auto;
}

.top-feature__inner .feature-box {
	display: flex;
	flex-flow: column;
}

.top-feature__inner .feature-box p.notice {
	color: #f7f502;
}

.top-feature__inner .feature-box .feature-box__inner {
	background: #fff;
	margin: 0 auto;
}

.top-feature__inner .feature-box .block {
	position: relative;
	color: #595549;
}

.top-feature__inner .feature-box .block h3 {
	text-alitn: left !important;
}

.top-feature__inner .feature-box .block p {
	text-align: left;
}

.top-feature__inner .feature-box .block figure img {
	width: 100%;
}

.top-feature__inner .feature-box .dot img {
	width: 100%;
}

@media screen and (min-width: 769px),
print {
	.top-feature__inner .top-feature__heading .h2-title {
		margin-bottom: 50px;
		font-size: 26px;
	}

	.top-feature__inner .feature-box p.notice {
		width: 90%;
		max-width: 670px;
		margin: 20px auto 0 auto;
		font-size: 16px;
	}

	.top-feature__inner .feature-box .feature-box__inner {
		width: 90%;
		max-width: 600px;
		padding: 30px;
	}

	.top-feature__inner .feature-box .block {
		width: 100%;
		margin: 0 auto 30px auto;
		padding: 0;
	}

	.top-feature__inner .feature-box .block .step__heading {
		font-size: 34px;
		padding-bottom: 10px;
	}

	.top-feature__inner .feature-box .block h3 {
		font-size: 26px;
		margin-bottom: 15px;
	}

	.top-feature__inner .feature-box .block p {
		font-size: 16px;
		margin: 20px 0 30px 0;
	}

	.top-feature__inner .feature-box .dot {
		margin: 30px auto;
		width: 25px;
	}
}

@media screen and (max-width: 768px) {
	.top-feature__inner .top-feature__heading .h2-title {
		margin-bottom: 30px;
		font-size: 20px;
	}

	.top-feature__inner .feature-box p.notice {
		width: 90%;
		margin: 20px auto 0 auto;
		font-size: 15px;
	}

	.top-feature__inner .feature-box .feature-box__inner {
		width: 80%;
		padding: 15px;
	}

	.top-feature__inner .feature-box .block {
		width: 100%;
		margin: 0 auto;
		padding: 0;
	}

	.top-feature__inner .feature-box .block .step__heading {
		font-size: 28px;
		padding-bottom: 10px;
	}

	.top-feature__inner .feature-box .block h3 {
		font-size: 20px;
		margin-bottom: 15px;
	}

	.top-feature__inner .feature-box .block p {
		font-size: 15px;
		margin: 10px 0 30px 0;
	}

	.top-feature__inner .feature-box .dot {
		margin: 20px auto;
		width: 20px;
	}
}

.f-temp {
	position: relative;
	width: 100%;
	padding: 80px 0;
	margin: 0 auto;
}

.f-temp__inner {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.f-temp__inner .f-temp__heading {
	position: relative;
	width: 100%;
	text-align: center;
	margin: 30px 0;
}

.f-temp__inner .f-temp__heading h1 {
	text-align: center;
}

.f-temp__inner .f-temp__heading h2 {
	text-align: center;
	margin: 30px 0 0 0;
}

.f-temp__inner .f-temp__heading p {
	margin: 0 auto;
}

.error-page .f-temp__inner .f-temp__heading h1 {
	text-align: center;
	margin: 100px 0 50px 0;
}

@media screen and (min-width: 769px),
print {
	.f-temp__inner .f-temp__heading h1 {
		font-size: 28px;
	}

	.f-temp__inner .f-temp__heading h2 {
		font-size: 28px;
	}

	.f-temp__inner .f-temp__heading p {
		font-size: 18px;
		text-align: center;
	}

	.error-page .f-temp__inner .f-temp__heading h1 {
		font-size: 35px;
	}
}

@media screen and (max-width: 768px) {
	.f-temp__inner .f-temp__heading h1 {
		font-size: 24px;
	}

	.f-temp__inner .f-temp__heading h2 {
		font-size: 24px;
	}

	.f-temp__inner .f-temp__heading p {
		font-size: 16px;
		margin: 0 5%;
		text-align: left;
	}

	.error-page .f-temp__inner .f-temp__heading h1 {
		font-size: 26px;
	}
}

/* Form */
.container .form-box {
	margin: 20px auto;
	font-size: 15px;
}

.form-box div label {
	display: block;
	font-weight: 600;
}

.form-box div label.gender {
	display: inline;
	margin-left: 5px;
	margin-right: 10px;
	font-weight: 500;
}

.form-box div select::-ms-expand {
	display: none;
}

.form-box div select {
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 15px 35px 15px 3%;
	font-size: 15px;
	border: 1px #595549 solid;
	background: url("../images/common/icon_arrow.png") no-repeat #fff;
	background-size: 18px 12px;
	background-position: right 15px center;
	color: #000;
	box-shadow: 0px 0px 5px 1px #ccc inset;
}

.form-box div select.custom-select-birth {
	width: 26%;
}

input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}

.form-box div input[type="text"],
.form-box div input[type="email"],
.form-box div input[type="tel"],
.form-box div input[type="password"],
.form-box div input[type="url"],
.form-box div input[type="number"],
.form-box div input[type="time"],
.form-box div input[type="date"] {
	width: 100%;
	padding: 15px 2% 15px 2%;
	margin-top: 8px;
	font-size: 15px;
	border: 1px #595549 solid;
	background: #fff;
	box-shadow: 0px 0px 5px 1px #ccc inset;
}

.form-box div input[type="time"],
.form-box div input[type="date"] {
	padding: 11px 2%;
	/*font-family: Meiryo;*/
}

.form-box div textarea {
	background: #fff;
	color: #000;
	border: 1px #595549 solid;
	box-shadow: 0px 0px 5px 1px #ccc inset;
	/*font-family: Meiryo;*/
}

.form-box div input[type="radio"] {
	width: 20px;
	height: 20px;
	border-radius: 100px;
	position: relative;
	vertical-align: sub;
	margin-right: 5px;
}

.form-box div input[type="radio"]::before,
.form-box div input[type="radio"]::after {
	content: "";
	display: block;
	border-radius: 50%;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}

.form-box div input[type="radio"]::before {
	background-color: #fff;
	border: 1px solid #595549;
	height: 20px;
	width: 20px;
	left: 0px;
}

.form-box div input[type="radio"]::after {
	background-color: #3bbccf;
	opacity: 0;
	height: 14px;
	width: 14px;
	left: 4px;
}

.form-box div input[type="radio"]:checked::after {
	opacity: 1;
}

.form-box div.url input {
	width: 40%;
}

.form-box div.capacity .site-url {
	font-weight: 600;
	margin-right: 5px;
}

.admin-mypage .form-box {
	position: relative;
}

.form-box .search-title {
	position: absolute;
	background: #fff;
	margin: 0;
	padding: 0 10px;
	top: -12px;
	left: 25px;
	font-weight: 600;
}

.form-box .search-box {
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #b7b7b7;
	padding: 20px 30px;
	justify-content: space-between;
}

.form-box .search-box dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 48%;
	margin: 5px 0;
}

.form-box .search-box dt {
	display: flex;
	width: 80px;
	align-items: center;
}

.form-box .search-box dd {
	display: flex;
	width: calc(100% - 80px);
	margin: 0;
	align-items: center;
}

.form-box .search-box dd input,
.form-box .search-box dd select {
	margin-top: 0;
	padding: 7px 2%;
	font-size: 14px;
	font-family: YuGothic, 'Yu Gothic', sans-serif;
}

.form-box .search-box dd select {
	padding: 9px 2%;
}

.form-box .search-box dl dt label {
	padding-top: 0 !important;
	font-size: 14px;
}

.btn {
	margin: 20px auto 0 auto;
	text-align: center;
}

.btn+.btn {
	margin: 0 auto;
}

.btn input,
.btn .btn-user {
	border: none;
	background: #595549;
	color: #fff;
	margin: 20px auto 0 auto;
	padding: 15px 0;
	text-align: center;
	font-weight: 600;
	cursor: pointer;
	font-family: YuGothic, 'Yu Gothic', sans-serif;
}

.btn input[type="button"],
.gray-btn {
	border: none;
	background: #a4a4a4;
	color: #fff;
	margin: 20px auto 0 auto;
	padding: 15px 10px;
	text-align: center;
	font-weight: 600;
	cursor: pointer;
	font-family: YuGothic, 'Yu Gothic', sans-serif;
}

.btn .none {
	border: none;
	background: #eaeaea;
	color: #d7d6d2;
	margin: 20px auto 0 auto;
	padding: 15px 0;
	text-align: center;
	font-weight: 600;
	cursor: auto;
	font-family: YuGothic, 'Yu Gothic', sans-serif;
}

.btn .btn-user a {
	text-decoration: none !important;
	color: #fff;
}

.admin-mypage .form-box .btn {
	margin-top: 0;
}

.admin-mypage .form-box .btn input {
	max-width: 200px;
	font-size: 16px;
	padding: 10px 0;
}

.google_calendar {
	/* border: 1px #565246 solid; */
}

.form-box div.identification {
	text-align: center;
	margin: 20px auto;
}

.form-box div.identification input#code {
	width: auto;
	font-weight: bold;
	text-align: center;
}

.form-box div .toggle {
	visibility: hidden;
	height: 0;
}

/* .form-box div input.check {
	display: block;
} */
.form-box div input.check:checked~.toggle {
	visibility: visible;
	height: auto;
	margin-bottom: 15px;
}

.form-box div input.check:checked~.text {
	display: none;
}

/* .form-box div input:not(input.check ~ input):not(input.check) {
	pointer-events : none;
} */
.form-box div input.cancel_check~label,
.form-box div input.check~label,
.form-box div input.form-input-checkbox~label,
.form-box div input.calendar_checkbox~label {
	display: inline-block;
}

.form-box div input.cancel_check:checked~.toggle {
	visibility: visible;
	height: auto;
}

.form-box div input.check~label {
	padding-top: 10px !important;
}

@media screen and (min-width: 1023px),
print {
	.container .form-box {
		max-width: 600px;
		margin: 50px auto;
	}

	.form-box div label {
		font-size: 18px;
	}

	.form-box div textarea {
		min-height: 140px !important;
		font-size: 15px;
		line-height: 1.5;
		margin-top: 15px;
		/*width: 96%!important;*/
		width: 100%;
		padding: 10px 2% 15px 2%;
	}

	.form-box div textarea#price {
		height: 80px;
	}

	.form-box div textarea#maintext {
		height: 400px;
	}

	.form-box div input#post_code,
	.form-box div input#capacity,
	.form-box div input#reservation_begin_on,
	.form-box div input#cancel_on {
		width: 30%;
		margin-right: 10px;
	}

	.form-box div input#capacity,
	.form-box div input#reservation_begin_on,
	.form-box div input#cancel_on {
		max-width: 60px;
	}

	.form-box div input#reservation_begin_on {
		margin-bottom: 15px;
	}

	.form-box div input#reservation_begin_at {
		width: 15%;
		margin-top: 0;
	}

	.form-box div input#selected_reservation_dates {
		width: 25%;
	}

	.form-box p {
		font-size: 16px;
	}

	.btn input,
	.btn .btn-user,
	.btn .none {
		width: 100%;
		max-width: 350px;
		font-size: 20px;
	}

	.btn .btn-user a {
		display: block;
	}

	.google_calendar {
		width: 100%;
		/* height: 500px; */
		height: 565px;
	}

	.form-box div select {
		margin-top: 5px;
	}

	.form-box div select#headcount {
		width: 30%;
	}

	.form-box div select.prefectures {
		width: 50%;
	}

	.form-title,
	label {
		display: block;
		padding-top: 25px !important;
	}

	.form-box div.identification input#code {
		font-size: 28px;
	}
}

@media screen and (max-width: 1024px) {
	.container .form-box {
		width: 100%;
		margin: 30px auto;
	}

	.reserve-form .form-box {
		width: 90%;
	}

	.form-box div label {
		font-size: 16px;
	}

	.form-box div textarea {
		min-height: 100px !important;
		margin-top: 10px;
		/*width: 96%!important;*/
		width: 100%;
		padding: 10px 2% 15px 2%;
		font-size: 15px;
		line-height: 1.5;
	}

	.form-box div textarea#price {
		height: 50px;
	}

	.form-box div textarea#maintext {
		height: 200px;
	}

	.form-box div input#post_code,
	.form-box div input#capacity,
	.form-box div input#reservation_begin_on,
	.form-box div input#reservation_begin_at,
	.form-box div input#selected_reservation_dates,
	.form-box div input#cancel_on {
		width: 30%;
		margin-right: 10px;
	}

	.form-box div input#reservation_begin_on {
		margin-bottom: 15px;
	}

	.form-box div input#reservation_begin_at {
		margin-top: 0;
	}

	.form-box p {
		font-size: 16px;
	}

	.btn input,
	.btn .btn-user,
	.btn .none {
		width: 90%;
		font-size: 18px;
		margin: 10px auto 0 auto;
	}

	.taikai .block .btn .btn-user {
		width: 78%;
	}

	.google_calendar {
		width: 99%;
		/* height: 400px; */
		/* height: 500px; */
	}

	.google_calendar a {
		text-decoration: underline;
		color: #565246 !important;
	}

	.form-box div select {
		margin-top: 5px;
	}

	.form-box div select#headcount {
		width: 50%;
	}

	.form-box div select.prefectures {
		width: 100%;
	}

	.form-title,
	label {
		display: block;
		padding-top: 25px !important;
	}

	.form-box div.identification input#code {
		font-size: 28px;
		width: 80% !important;
	}
}

section {
	margin: 0 auto 5vh auto;
}

section.white {
	background-repeat: repeat-x, repeat-x;
	background-position: top, bottom;
	background:
		url("../images/common/header_bg_blue.png") repeat-x top center,
		url("../images/common/header_bg_white.png") repeat-x bottom center;
	background-color: #fff;
}

section:last-child {
	margin: 0 auto;
}

@media screen and (min-width: 769px),
print {
	section.white {
		margin-top: 80px !important;
	}
}

@media screen and (max-width: 768px) {
	section.white {
		margin-top: 50px !important;
	}
}

.mypage {
	background: #fff;
	color: #545044;
	margin: 0 auto 30px auto;
}

.mypage:last-of-type {
	margin: 0 auto;
}

.mypage .block:last-of-type {
	margin: 0;
}

.mypage-name,
.entry-remain {
	font-weight: 600;
}

.mypage-step {
	border-bottom: 1px #333333 solid;
}

.mypage-step h2 {
	text-align: center !important;
}

.mypage-step .mypage-step-list ul {
	list-style-type: none;
}

.mypage-step .mypage-step-list ul li a {
	text-decoration: none;
	color: #3bbccf;
	font-weight: 600;
}

.mypage-step .mypage-step-list ul li.done {
	color: #b9b9b9;
}

.mypage-step .mypage-step-list ul li.done a {
	color: #b9b9b9;
	pointer-events: none;
}

.mypage-step .mypage-step-list ul li.done:before {
	font-family: "Font Awesome 5 Free";
	content: '\f00c';
	font-weight: 600;
}

.mypage a {
	color: #575347;
}

.mypage h2 {
	text-align: left;
}

.mypage .explain {
	margin: 0 0 15px 0;
	padding: 0;
}

.mypage .explain p {
	padding: 0;
	text-align: left;
}

.entry .information {
	border-top: 1px #3bbccf solid;
}

.entry .entry-remain {
	text-align: center;
}

.reserve-form {
	padding: 60px 0;
}

.reserve-form,
.register {
	color: #575347;
}

.reserve-form a,
.register {
	color: #575347;
}

.form-title {
	font-weight: 700;
	margin: 0 0 5px 0 !important;
	padding: 0;
}

.error-page .error {
	color: #fff;
	margin: 0 auto 30px auto;
}

.error-page .error .block {
	text-align: center;
}

@media screen and (min-width: 769px),
print {
	.mypage {
		padding: 50px;
		width: 90%;
		max-width: 700px;
	}

	.mypage .block {
		margin: 0 0 30px 0;
	}

	.mypage-name {
		margin-bottom: 30px;
	}

	.mypage-name,
	.entry-remain {
		font-size: 24px;
		line-height: 1.3;
	}

	.mypage-step {
		margin: 50px auto;
		padding-bottom: 30px;
	}

	.mypage-step h2 {
		font-size: 18px;
		margin: 30px auto;
	}

	.mypage-step h2 br {
		display: none;
	}

	.mypage-step .mypage-step-list ul {
		margin: 0 auto;
		padding: 0;
	}

	.mypage-step .mypage-step-list ul li {
		margin: 0 0 15px 0;
		padding: 0;
		font-size: 16px;
	}

	.mypage-step .mypage-step-list ul li strong {
		padding-right: 10px;
	}

	.mypage-step .mypage-step-list ul li.done:before {
		padding-right: 10px;
	}

	.mypage .block-head h2 {
		font-size: 24px;
		margin: 0 0 10px 0;
	}

	.mypage .explain p {
		margin: 0 0 10px 0;
	}

	.mypage .explain p:last-child {
		margin: 0;
	}

	.mypage.admin-mypage {
		max-width: 1090px;
	}

	.entry-remain {
		margin: 30px 0;
	}

	.entry-remain span {
		font-size: 18px;
	}

	.entry-remain strong {
		font-size: 26px;
	}

	.entry .information {
		padding-top: 15px;
	}

	.entry .information p,
	.entry .notice p {
		font-size: 16px;
	}

	.entry h2.plan {
		font-size: 25px;
		margin: 20px 0 0 0;
	}

	.entry .date {
		margin: 0 0 30px 0;
		font-size: 17px;
	}

	.form-title {
		font-size: 18px;
	}

	.error-page .error {
		padding: 50px 0;
		width: 100%;
		max-width: 800px;
	}

	.error-page .error .block {
		margin: 0 auto 80px auto;
	}

	.error-page .error .block p {
		font-size: 18px;
	}
}

@media screen and (max-width: 768px) {
	.mypage {
		width: 80%;
		padding: 30px 5%;
	}

	.mypage a {
		/* color: #3bbccf; */
	}

	.mypage .block {
		margin: 0 0 40px 0;
	}

	.mypage-name {
		margin-bottom: 20px;
	}

	.mypage-name,
	.entry-remain {
		font-size: 20px;
		line-height: 1.4;
	}

	.mypage-step {
		margin: 50px auto;
		padding-bottom: 30px;
	}

	.mypage-step h2 {
		font-size: 18px;
		margin: 30px auto;
	}

	.mypage-step .mypage-step-list ul {
		margin: 0 auto;
		padding: 0;
	}

	.mypage-step .mypage-step-list ul li {
		margin: 0 0 10px 0;
		padding: 0;
		font-size: 15px;
	}

	.mypage-step .mypage-step-list ul li strong {
		padding-right: 5px;
	}

	.mypage-step .mypage-step-list ul li.done:before {
		padding-right: 5px;
	}

	.mypage .block-head h2 {
		font-size: 20px;
		margin: 0 0 5px 0;
	}

	.mypage .explain p {
		margin: 0 0 20px 0;
	}

	.entry-remain {
		margin: 30px 0;
	}

	.entry-remain span {
		font-size: 15px;
	}

	.entry .information {
		padding-top: 15px;
	}

	.entry .information p,
	.entry .notice p {
		font-size: 15px;
	}

	.entry h2.plan {
		font-size: 22px;
		margin: 20px 0 0 0;
	}

	.entry .date {
		margin: 0 0 30px 0;
		font-size: 15px;
	}

	.form-title {
		font-size: 18px;
	}

	.error-page .error {
		width: 80%;
		padding: 30px 5%;
	}

	.error-page .error .block {
		margin: 0 0 40px 0;
	}

	.error-page .error .block p {
		font-size: 16px;
	}
}

.guide {
	background: #fff;
	color: #545044;
	margin: 0 auto 30px auto;
}

.guide .block ol {
	padding: 0 0 0 15px;
	margin: 15px 0;
}

.guide .block ol li::marker {
	font-weight: bold;
}

.guide .block ol li {
	padding: 0;
	margin: 0 0 20px 0;
}

.guide .block ul {
	padding: 0 15px;
	margin: 15px 0;
}

.guide .block ul li {
	padding: 0;
	margin: 0 0 15px 15px;
}

.terms .block ol {
	list-style-type: none;
	padding: 0;
}

.terms .block ol li ol {
	list-style-type: number;
	padding: 0 0 0 15px;
	margin: 15px 0 15px 15px;
}

.guide .block ol li li {
	margin-bottom: 5px;
}

.guide table {
	border-collapse: collapse;
	border: 1px #222 solid;
	margin: 30px 0;
}

.guide table th {
	max-width: 200px;
	padding: 5px 10px;
	text-align: center;
	font-weight: 500;
	background: #3bbccf;
	color: #fff;
	border: 1px #222 solid;
}

.guide table td {
	padding: 5px 10px;
	border: 1px #222 solid;
}

@media screen and (min-width: 769px),
print {
	.guide {
		padding: 50px;
		width: 90%;
		max-width: 700px;
	}

	.guide .block {
		margin: 0 0 30px 0;
	}

	.guide .block h2 {
		font-size: 18px;
	}

	.guide .block h3 {
		font-size: 16px;
	}

	.guide .block ul li,
	.guide .block ol li {
		font-size: 16px;
	}
}

@media screen and (max-width: 768px) {
	.guide {
		width: 80%;
		padding: 30px 5%;
	}

	.guide .block {
		margin: 0 0 40px 0;
	}

	.guide .block h2 {
		font-size: 16px;
	}

	.guide .block h3 {
		font-size: 15px;
	}

	.guide .block ul li,
	.guide .block ol li {
		font-size: 15px;
	}
}

.taikai {
	color: #545044;
	margin: 0 auto;
}

.taikai h2 {
	text-align: center;
}

.taikai .explain {
	margin: 0 auto;
	padding: 0;
}

.taikai .explain p {
	padding: 0;
}

@media screen and (min-width: 769px),
print {
	.taikai {
		margin: 80px 0 0 0;
		width: 100%;
	}

	.taikai .block {
		padding: 40px 0 60px 0;
	}

	.taikai h2 {
		font-size: 24px;
		margin: 30px 0;
	}

	.taikai .explain p {
		margin: 50px 0;
		font-size: 16px;
		text-align: center;
	}
}

@media screen and (max-width: 768px) {
	.taikai {
		width: 100%;
		padding: 0;
		margin: 50px 0 0 0;
	}

	.taikai .block {
		padding: 40px 0 60px 0;
	}

	.taikai h2 {
		font-size: 20px;
		margin: 20px 0 5px 0;
	}

	.taikai .explain {
		width: 90%;
	}

	.taikai .explain p {
		margin: 20px 0;
		font-size: 15px;
		text-align: left;
	}
}

.schedule {
	background: #fff;
	color: #545044;
	margin: 0 auto 30px auto;
}

.schedule:last-of-type {
	margin: 0 auto;
}

.schedule a {
	color: #575347;
}

.schedule h2 {
	text-align: center;
}

.schedule .explain {
	margin: 0;
	padding: 0;
}

.schedule .explain p {
	text-align: left;
}

.schedule-year .schedule-year__inner {
	display: flex;
	justify-content: center;
	align-items: stretch;
}

.schedule-year .schedule-year__inner .block {
	width: 100%;
	display: flex;
	align-items: center;
	background: #4b4b4b;
	border-right: 1px #fff solid;
	margin: 0 !important;
}

.schedule-year .schedule-year__inner .block:last-child {
	border-right: 0;
}

.schedule-year .schedule-year__inner .block a {
	display: block !important;
	width: 100%;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	text-align: center;
}

.schedule-year .schedule-year__inner .block.current {
	background: #3bbccf;
}

.schedule-calendar .schedule-month::-webkit-scrollbar-track {
	background: #fff;
	border: none;
	border-radius: 30px;
	box-shadow: none;
}

.schedule-calendar .schedule-month::-webkit-scrollbar-thumb {
	background: #deddd9;
	border-radius: 30px;
	box-shadow: none;
}

.schedule-day__head {
	margin: 40px 0 10px 0;
}

.selected-month__head-title {
	font-weight: 600;
}

.schedule-month__body {
	display: flex;
	flex-flow: column;
}

.schedule-month__body .block {
	position: relative;
	border: 1px #595549 solid;
	box-shadow: 0px 0px 5px 1px #ccc inset;
}

.schedule-past .schedule-month__body .block {
	background: #f2f2f2;
}

/* .schedule-month__body .block:last-of-type {
	margin-bottom: 0;
} */
.schedule-month__body .block a {
	display: block;
	text-decoration: none;
}

.schedule-month__body .block .service {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 600;
}

.schedule-month__body .block .reserve {
	position: absolute;
	display: block;
	background: #575347;
	color: #fff;
	font-weight: 600;
}

.schedule-month__body .block a.done .reserve {
	background: #deddd9;
	color: #a6a297;
}

.schedule-month__body .block a.done {
	pointer-events: none;
}

.fc-day-past {
	background: #f2f2f2;
}

.fc-day-past .fc-daygrid-day-top {
	opacity: .3;
}

@media screen and (min-width: 769px),
print {
	.schedule {
		padding: 50px;
		max-width: 700px;
	}

	.schedule h2 {
		font-size: 22px;
		line-height: 1.2;
		margin: 0 0 15px 0;
	}

	.schedule h2 span {
		font-size: 16px;
	}

	.schedule p.explain {
		padding-top: 40px;
	}

	.selected-month__head-title {
		font-size: 18px;
	}

	.schedule-year .schedule-year__inner .block a {
		padding: 15px 0;
		font-size: 25px;
		line-height: 1.2;
	}

	.schedule-year .schedule-year__inner .block .month span {
		font-size: 15px;
	}

	.schedule-calendar .schedule-month {
		overflow: auto;
		height: 600px;
		margin: 20px 0 0 0;
	}

	.schedule-calendar .schedule-month::-webkit-scrollbar {
		width: 12px;
	}

	.schedule-calendar .schedule-month::-webkit-scrollbar-track {
		margin: 0;
	}

	.schedule-calendar .schedule-month .schedule-month_inner {
		margin: 0 20px 0 0;
	}

	.schedule-calendar .schedule-reserve .schedule-month_inner,
	.schedule-calendar .schedule-past .schedule-month_inner {
		margin: 30px 0 0 0;
	}

	.schedule-month__body .block {
		margin-bottom: 20px;
		padding: 10px 20px;
	}

	.schedule-month__body .block:last-of-type {
		/* margin-bottom: 0; */
	}

	.schedule-month__body .block .service {
		margin: 5px 0;
		max-width: 580px;
		font-size: 18px;
	}

	.schedule-reserve .schedule-month__body .block h3,
	.schedule-past .schedule-month__body .block h3 {
		max-width: 100%;
	}

	.schedule-month__body .block .reserve {
		right: 20px;
		top: 41%;
		padding: 4px 15px;
		font-size: 16px;
	}

	.schedule-month__body .block .capacity,
	.schedule-month__body .block .time,
	.schedule-month__body .block .number-of-people {
		font-size: 15px;
	}

	.schedule-month__body .block .number-of-people {
		margin-bottom: 5px;
	}

	.schedule-year .schedule-year__inner .block .future,
	.schedule-year .schedule-year__inner .block .past {
		padding: 10px 0;
		font-size: 22px;
	}

	.schedule-month__body .block .boat-name {
		margin: 10px 0 0 0;
		font-size: 16px;
	}

	.schedule-month__body .block .target-name {
		font-size: 16px;
	}

	.admin-mypage .schedule-year .schedule-year__inner .block .future,
	.admin-mypage .schedule-year .schedule-year__inner .block .past {
		font-size: 18px;
	}
}

@media screen and (max-width: 768px) {
	.schedule {
		width: 90%;
		padding: 30px 0;
	}

	.schedule .block {
		padding: 0;
	}

	.schedule h2 {
		font-size: 20px;
		line-height: 1.2;
		margin: 0 0 10px 0;
	}

	.schedule h2 span {
		font-size: 16px;
	}

	.schedule p.explain {
		padding-top: 20px;
	}

	.selected-month__head-title {
		font-size: 18px;
	}

	.schedule-year .schedule-year__inner .block a {
		padding: 8px 0;
		font-size: 25px;
		line-height: 1.1;
	}

	.schedule-year .schedule-year__inner .block .month span {
		font-size: 14px;
	}

	.schedule-calendar a {
		color: #585448;
	}

	.schedule-calendar .schedule-month {
		overflow: auto;
		height: 500px;
		margin: 20px 0 0 0;
	}

	.schedule-calendar .schedule-month::-webkit-scrollbar {
		width: 6px;
	}

	.schedule-calendar .schedule-month::-webkit-scrollbar-track {
		margin: 0;
	}

	.schedule-calendar .schedule-month .schedule-month_inner {
		margin: 0 15px 0 0;
	}

	.schedule-calendar .schedule-reserve .schedule-month_inner,
	.schedule-calendar .schedule-past .schedule-month_inner {
		margin: 30px 0 0 0;
	}

	.schedule-month__body .block {
		margin-bottom: 15px;
		padding: 8px;
	}

	.schedule-month__body .block:last-of-type {
		/* margin-bottom: 0; */
	}

	.schedule-month__body .block .service {
		margin: 5px 0;
		max-width: 100%;
		font-size: 16px;
		letter-spacing: -0.05em;
	}

	.schedule-month__body .block .reserve {
		right: 10px;
		bottom: 10%;
		padding: 4px 15px;
		font-size: 15px;
	}

	.schedule-month__body .block .capacity,
	.schedule-month__body .block .time,
	.schedule-month__body .block .number-of-people {
		font-size: 15px;
	}

	.schedule-month__body .block .number-of-people {
		margin-bottom: 5px;
	}

	.schedule-year .schedule-year__inner .block .future,
	.schedule-year .schedule-year__inner .block .past {
		padding: 15px 0;
		font-size: 16px;
	}

	.schedule-month__body .block .boat-name,
	.schedule-month__body .block .target-name {
		font-size: 15px;
	}

	.admin-mypage .schedule-year .schedule-year__inner .block .future,
	.admin-mypage .schedule-year .schedule-year__inner .block .past {
		font-size: 16px;
	}
}

.boat-information {
	background: #fff;
	color: #545044;
	margin: 0 auto 30px auto;
}

.boat-information:last-of-type {
	margin: 0 auto;
}

.boat-information a {
	color: #575347;
}

.boat-information h2 {
	text-align: center;
}

.boat-information h3 {
	margin: 30px 0 0 0;
	padding: 0;
}

.boat-information p {
	padding: 0;
	text-align: left;
}

.boat-information .notice {
	border-top: 1px #575347 solid;
}

@media screen and (min-width: 769px),
print {
	.boat-information {
		padding: 50px;
		width: 90%;
		max-width: 700px;
	}

	.boat-information .explain {
		width: 95%;
		margin: 0 auto;
	}

	.boat-information h2 {
		font-size: 24px;
		margin: 0 0 10px 0;
	}

	.boat-information h3 {
		font-size: 18px;
	}

	.boat-information p {
		margin: 0 0 10px 0;
	}

	.boat-information .notice {
		margin: 30px 0 0 0;
		padding: 30px 0 0 0;
	}

	.boat-information .notice p {
		font-size: 15px;
	}
}

@media screen and (max-width: 768px) {
	.boat-information {
		width: 80%;
		padding: 30px 5%;
	}

	.boat-information h2 {
		font-size: 20px;
		margin: 20px 0 5px 0;
	}

	.boat-information h3 {
		font-size: 18px;
	}

	.boat-information p {
		margin: 0 0 20px 0;
	}

	.boat-information .notice {
		margin: 30px 0 0 0;
		padding: 30px 0 0 0;
	}

	.boat-information .notice p {
		font-size: 15px;
	}
}

.cancel {}

.cancel .cancel__inner {}

.cancel__inner-block {
	display: flex;
	padding: 0;
	align-items: center;
}

.cancel__inner-block .cancel-icon {
	text-align: center;
}

@media screen and (min-width: 769px),
print {
	.cancel__inner-block .cancel-icon {
		flex-basis: 100px;
		padding: 10px;
		font-size: 40px;
	}

	.cancel__inner-block .cancel-text {
		font-size: 28px;
		line-height: 1;
		font-weight: 600;
	}

	.cancel__inner-block .cancel-text {
		padding: 10px;
	}

	.cancel__inner-block .cancel-text span {
		font-size: 16px;
	}
}

@media screen and (max-width: 768px) {
	.cancel__inner-block .cancel-icon {
		flex-basis: 15%;
		padding: 0;
		font-size: 30px;
	}

	.cancel__inner-block .cancel-text {
		flex-basis: 85%;
		font-size: 24px;
		line-height: 1;
		font-weight: 600;
	}

	.cancel__inner-block .cancel-text {
		padding: 10px 0 10px 10px;
	}

	.cancel__inner-block .cancel-text span {
		font-size: 15px;
	}
}

.breadcrumb {
	margin: 0 auto;
}

.breadcrumb ul li strong {
	font-weight: 600;
}

.breadcrumb ul li:after {
	display: inline-block;
	width: 6px;
	height: 9px;
	content: "";
	margin-bottom: -4px;
	margin-left: 15px;
	background: url(../images/common/icon_arrow_white.png) no-repeat 0 0;
	background-size: 6px auto;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.breadcrumb ul li:last-child:after {
	display: none;
}

@media screen and (min-width: 769px),
print {
	.breadcrumb {
		margin-top: 100px;
	}

	.breadcrumb ul {
		width: 90%;
		max-width: 1090px;
		margin: 0 auto;
		padding: 0;
	}

	.breadcrumb ul li {
		font-size: 14px;
		position: relative;
		display: inline;
		line-height: 1.6;
		margin-right: 10px;
	}
}

@media screen and (max-width: 768px) {
	.breadcrumb {
		width: 90%;
		overflow-x: auto;
		word-wrap: normal;
		white-space: nowrap;
		padding: 5px 0;
		margin-bottom: 5px;
	}

	.breadcrumb ul {
		width: 100%;
		margin: 0 auto;
		padding: 10px 0;
	}

	.breadcrumb ul li {
		font-size: 13px;
		position: relative;
		display: inline;
		line-height: 1.6;
		padding-right: 10px;
	}

	.breadcrumb ul li a {
		text-decoration: none;
	}
}


.schedule-body {
	background: #fff;
}

.schedule-body .f-temp {
	padding: 0;
}

.schedule-body .schedule-year .schedule-year__inner .block a {
	padding: 3px 0;
}

.schedule-body .schedule-day__head {
	margin: 20px 0 10px 0;
}

.schedule-body .schedule-month__body .block {
	position: relative;
	border: none;
	border-bottom: 1px #000 solid;
	box-shadow: none;
}

@media screen and (min-width: 769px),
print {
	.schedule-body .schedule {
		padding: 20px 0;
		max-width: 95%;
	}

	.schedule-body .schedule-month__body .block {
		padding: 10px;
	}

	.schedule-body .schedule-month__body .block .time br {
		display: none !important;
	}

	.schedule-year .schedule-year__inner .block a {
		font-size: 22px;
	}
}

@media screen and (max-width: 768px) {
	.schedule-body .schedule {
		width: 98%;
		padding: 15px 0;
	}

	.schedule-body .schedule-month__body .block:last-of-type {
		margin-bottom: 0;
		padding-bottom: 10px;
	}

	.schedule-year .schedule-year__inner .block a {
		font-size: 20px;
	}
}

/* Contact */
.contact {
	margin: 0 auto 30px auto;
}

.top_contact {
	background: #ebebeb;
}

@media screen and (min-width: 769px),
print {
	.contact {
		padding: 10px 30px;
		width: 90%;
		max-width: 500px;
	}

	.contact .block {
		margin: 0 0 30px 0;
	}

	.contact .block h2 {
		font-size: 22px;
		text-align: center;
	}
}

@media screen and (max-width: 768px) {
	.contact {
		width: 80%;
		padding: 10px 3%;
	}

	.contact .block {
		margin: 0 0 40px 0;
	}

	.contact .block h2 {
		font-size: 20px;
		text-align: center;
	}
}

/* Footer */
.footer {
	clear: both;
	text-align: left;
	margin: 0 auto;
}

.footer__copyright {
	margin: 0;
	padding: 20px 0;
	border-top: 1px #fff solid;
}

.footer__copyright p {
	margin: 0;
	padding: 0;
	font-weight: 300;
}

.footer__navi ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.footer__navi a {
	text-decoration: none;
}

.footer__navi a.arrow-up:after {
	font-size: 12px;
}

@media screen and (min-width: 769px),
print {
	.footer {
		padding: 0;
		width: 90%;
		max-width: 800px;
	}

	.footer__copyright p {
		font-size: 15px;
	}

	.footer__navi ul {
		display: flex;
		flex-direction: row;
	}

	.footer__navi ul li {
		margin: 15px 20px 15px 0;
		padding-right: 20px;
		font-size: 15px;
	}

	.footer__navi ul li {
		border-right: 1px solid;
	}

	.footer__navi ul li:last-of-type {
		border-right: none;
	}
}

@media screen and (max-width: 768px) {
	.footer {
		padding: 0;
		width: 90%;
	}

	.footer__copyright p {
		font-size: 14px;
	}

	.footer__navi {
		border-top: 1px #fff solid;
	}

	.footer__navi ul {
		display: flex;
		flex-direction: column;
		margin: 15px 0;
	}

	.footer__navi ul li {
		margin: 0 0 3px 0;
		padding: 0;
		font-size: 14px;
	}
}

/* ページトップボタン */
#page-top {
	position: fixed;
}

#page-top a {
	display: block;
}

#page-top a img {
	width: 100%;
}

@media screen and (min-width: 769px),
print {
	#page-top {
		right: 80px;
	}

	#page-top a {
		width: 60px;
		height: auto;
	}
}

@media screen and (max-width: 768px) {
	#page-top {
		right: 20px;
	}

	#page-top a {
		width: 50px;
		height: auto;
	}
}

.overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: .7;
	display: none;
	z-index: 9997;
	top: 0;
	left: 0;
	right: 0;
}

.modal {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #3bbccf;
	display: none;
	z-index: 9998;
}

.modal .popup {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 9998;
}

.modal .popup a {
	text-decoration: underline;
}

.popup .h2-title {
	text-align: center;
	margin: 30px auto;
	font-weight: bold;
}

.modal-close__wrap {
	position: absolute;
	right: 20px;
	top: 20px;
	z-index: 9999;
}

.modal-close {
	background: transparent;
	border-color: transparent;
	padding: 0;
	margin: 0;
	cursor: pointer;
	width: 35px;
	display: block;
	height: 35px;
}

.modal-close span {
	position: relative;
	width: 100%;
	height: 2px;
	background: #fff;
	display: block;
}

.modal-close span:nth-child(1) {
	top: 1px;
	transform: rotate(45deg);
}

.modal-close span:nth-child(2) {
	transform: rotate(-45deg);
}

.modal-open {
	cursor: pointer;
	background: orange;
	border: orange;
	color: #fff;
	padding: 10px 12px;
}

.overlay.open {
	display: block;
}

.modal.open {
	display: block;
}

@media screen and (min-width: 769px),
print {
	.modal {
		width: 65%;
		min-height: 60%;
	}

	.popup .h2-title {
		font-size: 28px;
	}
}

@media screen and (max-width: 768px) {
	.modal {
		width: 90%;
		height: 80%;
	}

	.popup {
		width: 95%;
		margin: 0 auto;
	}

	.popup .h2-title {
		font-size: 24px;
	}
}

.pagination {
	text-align: center;
	margin: 30px 0 0 0;
}

.pagination__item a,
.pagination__item--current,
.pagination__btn--prev,
.pagination__btn--next,
.pagination__btn--first,
.pagination__btn--last {
	box-sizing: border-box;
	display: block;
	/* color: #575347; */
	text-decoration: none;
	text-align: center;
	min-width: 3em;
	transition: all .2s;
	margin: 0;
	padding: 1em;
}

.pagination__item a:hover,
.pagination__item--current:hover,
.pagination__btn--prev:hover,
.pagination__btn--next:hover,
.pagination__btn--first:hover,
.pagination__btn--last:hover {
	color: #3bbccf;
}

span.dots {
	display: block;
	line-height: 3;
	height: 100%;
}

.pagination__inner {
	display: inline-flex;
	justify-content: center;
	line-height: 1;
	margin: 0;
	/*padding: 0 1em;*/
}

.pagination__list {
	/* display: none; */
}

.pagination__pos {
	order: 2;
	color: #3bbccf;
	margin: 0;
	padding: 1em;
}

.pagination__btn--prev {
	order: 1;
}

.pagination__btn--next {
	order: 3;
	border: none;
}

.pagination__btn--first {
	display: none;
}

.pagination__btn--last {
	display: none;
}

@media (min-width: 520px) {
	.pagination__list {
		order: 3;
		display: flex;
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.pagination__item {
		margin: 0;
	}

	.pagination__item--current {
		background: #3bbccf;
		color: #fff;
		font-weight: bold;
		border-radius: 30px;
	}

	.pagination__pos {
		display: none;
	}
}

@media (min-width: 960px) {
	.pagination__list {
		order: 3;
	}

	.pagination__btn--prev {
		order: 2;
	}

	.pagination__btn--next {
		order: 4;
	}

	.pagination__btn--first {
		order: 1;
		display: block;
	}

	.pagination__btn--last {
		order: 5;
		display: block;
		border: none;
	}
}

@media screen and (min-width: 769px),
print {
	.none {
		background: #f2f2f2;
	}
}

@media screen and (max-width: 768px) {
	.none {
		background: #f2f2f2;
	}
}

.scroll_tabs_container {
	position: relative;
	margin: 0 auto;
}

.scroll_tabs_container .scroll_tab_inner {
	width: 100%;
	margin: 0;
}

.scroll_tabs_container div.scroll_tab_inner div {
	cursor: pointer;
}

.scroll_tabs_theme_light {
	display: flex;
	justify-content: center;
	align-items: center;
}

.scroll_tabs_theme_light div.scroll_tab_inner div {
	background: #4b4b4b;
	border-right: 1px solid #fff;
	color: #fff;
	cursor: pointer;
	text-align: center;
}

.scroll_tabs_theme_light div.scroll_tab_inner div a {
	text-decoration: none;
	color: #fff;
}

.scroll_tabs_theme_light div.scroll_tab_inner div.current {
	background: #3bbccf;
}

.scroll_tabs_theme_light .scroll_tab_left_button {
	background-color: #ccc;
	-webkit-border-top-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-radius-topleft: 5px;
	-moz-border-radius-bottomleft: 5px;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	border: 1px solid #999;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.scroll_tabs_theme_light .scroll_tab_left_button::before {
	font-size: 18px;
	content: "\f104";
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
	padding-left: 8px;
}

.scroll_tabs_theme_light .scroll_tab_left_button_over {
	background: #999999;
}

.scroll_tabs_theme_light .scroll_tab_left_button_disabled {
	color: #aaa;
	background: #ccc;
}

.scroll_tabs_theme_light .scroll_tab_right_button {
	-webkit-border-top-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-radius-topright: 5px;
	-moz-border-radius-bottomright: 5px;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
	background-color: #ccc;
	border: 1px solid #999;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.scroll_tabs_theme_light .scroll_tab_right_button::before {
	font-size: 18px;
	content: "\f105";
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
	padding-left: 8px;
}

.scroll_tabs_theme_light .scroll_tab_right_button_over {
	background: #999;
}

.scroll_tabs_theme_light .scroll_tab_right_button_disabled {
	color: #aaa;
	background: #ccc;
}

.scroll_tabs_theme_light div.scroll_tab_inner div.tab_selected {
	background: #3bbccf;
}

.scroll_tabs_theme_light .scroll_tab_left_button,
.scroll_tabs_theme_light .scroll_tab_right_button {
	position: absolute;
	width: 26px !important;
	font-size: 18px;
	padding: 9px 0;
}

.scroll_tabs_theme_light .scroll_tab_left_button {
	left: -26px !important;
}

.scroll_tabs_theme_light .scroll_tab_right_button {
	right: -26px !important;
}

@media screen and (min-width: 769px),
print {
	.scroll_tabs_container {
		height: 60px;
		width: 95%;
	}

	.scroll_tabs_container div.scroll_tab_inner div {
		font-size: 18px;
		width: 140px;
	}

	.scroll_tabs_theme_light div.scroll_tab_inner div {
		padding: 10px;
		font-size: 20px;
		font-weight: 600;
	}

	.scroll_tabs_theme_light div.scroll_tab_inner div span {
		font-size: 14px;
		margin-right: 5px;
	}

	.scroll_tabs_theme_light .scroll_tab_left_button,
	.scroll_tabs_theme_light .scroll_tab_right_button {
		font-size: 20px;
		padding: 9px 0;
	}
}

@media screen and (max-width: 768px) {
	.scroll_tabs_container {
		height: 50px;
		width: 90%;
	}

	.scroll_tabs_container div.scroll_tab_inner div {
		font-size: 16px;
		width: 25.8%;
	}

	.scroll_tabs_theme_light div.scroll_tab_inner div {
		padding: 10px;
		font-size: 16px;
		font-weight: 600;
	}

	.scroll_tabs_theme_light div.scroll_tab_inner div span {
		font-size: 12px;
		margin-right: 3px;
	}

	.scroll_tabs_theme_light .scroll_tab_left_button,
	.scroll_tabs_theme_light .scroll_tab_right_button {
		font-size: 18px;
		padding: 8px 0;
	}
}


.swiper {
	margin: 0 auto 30px;
}

.tab-menu .swiper-slide {
	display: block;
	width: auto;
}

.scroll-tab .swiper-slide {
	cursor: pointer;
	background: #4b4b4b;
}

.scroll-tab .swiper-slide .block {
	cursor: pointer;
	color: #fff;
}

.tab-contents {
	margin: 30px auto;
}

.tab-contents .swiper-slide {
	background: #fff;
}

.swiper-slide-thumb-active {
	background: #3bbccf !important;
}

.schedule-year .scroll-tab {
	justify-content: start !important;
	margin: 0 auto;
}

.scroll-tab .swiper-slide .block {
	background: none !important;
}

.scroll-tab .swiper-slide .block .month {
	background: none !important;
	width: 100%;
	text-align: center;
}

.swiper-button-next,
.swiper-button-prev {
	position: absolute;
	margin-top: 0 !important;
	top: 0 !important;
	right: 0 !important;
	background-color: #ccc;
}

.swiper-button-prev {
	left: 0 !important;
}

.swiper-button-next::after,
.swiper-rtl .swiper-button-prev::after,
.swiper-button-prev::after,
.swiper-rtl .swiper-button-next::after {
	font-size: 18px !important;
	content: "\f105" !important;
	font-weight: 900 !important;
	font-family: "Font Awesome 5 Free" !important;
	color: #fff !important;
}

.swiper-button-prev::after,
.swiper-rtl .swiper-button-next::after {
	content: "\f104" !important;
}

@media screen and (min-width: 769px),
print {
	.schedule-year .scroll-tab {
		width: 100%;
	}

	.scroll-tab .swiper-slide .block {
		width: 160px;
		height: 75px;
	}

	.scroll-tab .swiper-slide .block .month {
		padding: 15px 0;
		font-size: 22px;
		line-height: 1.2;
		font-weight: 600;
	}

	.scroll-tab .swiper-slide .block .month span {
		font-size: 15px;
	}

	.schedule-calendar .swiper .schedule-month {
		margin: 0 !important;
	}

	.swiper-button-next,
	.swiper-button-prev {
		height: 75px !important;
	}
}

@media screen and (max-width: 768px) {
	.scroll-tab .swiper-slide {
		width: 50%;
		border-right: 1px #fff solid !important;
		border-left: 0 !important;
	}

	.scroll-tab .swiper-slide .block {
		height: 56px;
	}

	.scroll-tab .swiper-slide .block .month {
		padding: 8px 0;
		font-size: 18px;
		line-height: 1.1;
		font-weight: 600;
	}

	.scroll-tab .swiper-slide .block .month span {
		font-size: 12px;
	}

	.schedule-month__body .block {
		/*width: 94%;*/
	}

	.schedule-calendar .swiper .schedule-month {
		margin: 0 !important;
	}

	body.author .schedule-calendar .swiper .schedule-month {
		margin: 10px 0 0 15px !important;
	}

	.swiper-button-next,
	.swiper-button-prev {
		height: 56px !important;
		background: none;
	}
}

.js-modal-open {
	cursor: pointer;
}

.modal2 {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0, 0, 0, 50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	box-sizing: border-box;
	z-index: 100;
}

.modal2:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
	margin-left: -0.2em;
}

.modal2.is-active {
	opacity: 1;
	visibility: visible;
}

.modal2 .modal-container {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 600px;
	width: 90%;
}

.modal2 .modal-close {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0px;
	right: 0px;
	width: 50px;
	height: 50px;
	color: #575347;
	cursor: pointer;
	font-size: 30px;
}

.modal2 .modal-content {
	background: #fff;
	text-align: left;
	line-height: 1.8;
	padding: 30px;
}

/* .modal2 .modal-content p {
	margin: 1em 0;
} */

.modal2 .modal-content .modal-title {
	font-weight: 600;
}

.modal2 .modal-content .modal-body {
	font-weight: 600;
	font-size: 18px;
	margin-top: 10px;
}

.modal2 .modal-content .reserve_btn {
	position: absolute;
	display: block;
	background: #575347;
	color: #fff;
	font-weight: 600;
	right: 30px;
	top: 41%;
	padding: 4px 15px;
	font-size: 16px;
}

.modal2 .modal-content .reserve_link a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.modal2 .modal-content .reserve_btn-user a {
	color: #fff;
	text-decoration: none;
}

.modal2 .modal-content .reserve_btn-user a.done {
	pointer-events: none;
	color: #a6a297;
}

.modal2 .modal-content .reserve_btn-user:has(a.done) {
	background: #deddd9;
}

.fc .fc-daygrid-day-events .fc-daygrid-event-harness-abs {
	position: relative;
	visibility: visible !important;
}

.fc .fc-daygrid-day-bottom {
	display: none;
}

.fc .fc-daygrid-body-balanced .fc-daygrid-day-frame .fc-daygrid-day-events {
	position: relative;
	min-height: 2em;
}

div[class*="child"] {
	color: #5ACDC8;
}

.fc-event-title {
	white-space: normal;
}

p.breakword {
	overflow-wrap: break-word;
}

@media screen and (max-width: 768px) {
	.modal2 .modal-content .modal-body {
		font-size: 16px;
	}

	.modal2 .modal-content .reserve_btn {
		position: relative;
		display: inline-block;
		margin-top: 15px;
		right: 0;
	}

	/* .fc .fc-daygrid-day-frame {
		height: 100px;
	} */

	/* .fc .fc-daygrid-body-balanced .fc-daygrid-day-events {
		position: initial;
	} */
}

hr {
	margin: 40px auto;
}

form hr {
	margin: 20px auto 0 auto;
}

figure {
	margin: 0;
}

.center {
	text-align: center !important;
}

.right {
	text-align: right !important;
}

.left {
	text-align: left !important;
}

.none {
	background: #f2f2f2;
}

.mt0 {
	margin-top: 0;
}

.mt10 {
	margin-top: 10px;
}

.mt20 {
	margin-top: 20px;
}

.mt30 {
	margin-top: 30px;
}

.mt40 {
	margin-top: 40px;
}

.mt50 {
	margin-top: 50px;
}

.mt60 {
	margin-top: 60px;
}

.mt70 {
	margin-top: 70px;
}

.mt80 {
	margin-top: 80px;
}

.mt90 {
	margin-top: 90px;
}

.mt100 {
	margin-top: 100px;
}

.mb0 {
	margin-bottom: 0;
}

.mb10 {
	margin-bottom: 10px;
}

.mb20 {
	margin-bottom: 20px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb40 {
	margin-bottom: 40px;
}

.mb50 {
	margin-bottom: 50px;
}

.mb60 {
	margin-bottom: 60px;
}

.mb70 {
	margin-bottom: 70px;
}

.mb80 {
	margin-bottom: 80px;
}

.mb90 {
	margin-bottom: 90px;
}

.mb100 {
	margin-bottom: 100px;
}

.pt0 {
	padding-top: 0;
}

.pt10 {
	padding-top: 10px;
}

.pt20 {
	padding-top: 20px;
}

.pt30 {
	padding-top: 30px;
}

.pt40 {
	padding-top: 40px;
}

.pt50 {
	padding-top: 50px;
}

.pt60 {
	padding-top: 60px;
}

.pt70 {
	padding-top: 70px;
}

.pt80 {
	padding-top: 80px;
}

.pt90 {
	padding-top: 90px;
}

.pt100 {
	padding-top: 100px;
}

.mb10 {
	margin-bottom: 10px;
}

.mb20 {
	margin-bottom: 20px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb40 {
	margin-bottom: 40px;
}

.mb50 {
	margin-bottom: 50px;
}

.mb60 {
	margin-bottom: 60px;
}

.mb70 {
	margin-bottom: 70px;
}

.mb80 {
	margin-bottom: 80px;
}

.mb90 {
	margin-bottom: 90px;
}

.mb100 {
	margin-bottom: 100px;
}

.pb0 {
	padding-bottom: 0;
}

.pb10 {
	padding-bottom: 10px;
}

.pb20 {
	padding-bottom: 20px;
}

.pb30 {
	padding-bottom: 30px;
}

.pb40 {
	padding-bottom: 40px;
}

.pb50 {
	padding-bottom: 50px;
}

.pb60 {
	padding-bottom: 60px;
}

.pb70 {
	padding-bottom: 70px;
}

.pb80 {
	padding-bottom: 80px;
}

.pb90 {
	padding-bottom: 90px;
}

.pb100 {
	padding-bottom: 100px;
}

.caution {
	color: #db4719;
}

.fc-r {
	color: #db4719;
}

.fc-y {
	color: #f9f402;
}

.w600 {
	font-weight: 600;
}

@media screen and (min-width: 769px),
print {
	.sp-only {
		display: none;
	}

	.medium {
		font-size: 15px !important;
	}

	.small {
		font-size: 14px !important;
	}

	.x-small {
		font-size: 12px !important;
	}

	.xx-small {
		font-size: 10px !important;
	}

	.large {
		font-size: 18px !important;
	}

	.x-large {
		font-size: 22px !important;
	}

	.xx-large {
		font-size: 28px !important;
	}
}

@media screen and (max-width: 768px) {
	.pc-only {
		display: none;
	}

	.medium {
		font-size: 16px !important;
	}

	.small {
		font-size: 15px !important;
	}

	.x-small {
		font-size: 13px !important;
	}

	.xx-small {
		font-size: 12px !important;
	}

	.large {
		font-size: 20px !important;
	}

	.x-large {
		font-size: 24px !important;
	}

	.xx-large {
		font-size: 30px !important;
	}
}

.errorlist {
	color: red;
}