
body {
	margin: 0;
	padding: 0;
	background: #3bbccf;
	color: #fff;
	font-family: 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: 96%;
	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"] {
	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;
		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;
		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; }
.red  { color: red; }

.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; }
}
