* {
	box-sizing: border-box;
	border-collapse: collapse;
}

body {
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	font-size: 14px;
	color: #333;
	background-color: #fff;
	text-align: center;
	line-height: 1.75em;
	font-family: 'BIZ UDPGothic', sans-serif;
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

.flex {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.fixed {
	position: fixed;
	bottom: 0;
	left: 0;
}

.pull-left	{ float: left; }
.pull-right	{ float: right; }


h1 {
	width: 100%;
	background-image: url('../img/common/h1.png');
	background-size: cover;
	background-repeat: no-repeat;
	font-size: 22px;
	text-align: left;
	padding-left: 1.5em;
	font-weight: normal;
	line-height: 2.75em;
}

h2.arrow {
	font-size: 18px;
	text-align: left;
	padding-left: 1em;
	font-weight: normal;
	margin: 10px 0;
	background-image: url('../img/common/arrow_green.png');
	background-size: contain;
	background-repeat: no-repeat;
}

h2 {
	background:#fdce2c;
	text-align: center;
	color: #fff;
	padding: 2px 0;
	font-weight: normal;
	margin-bottom: 10px;
}

h3 {
	font-size: 1.66em;
	font-weight: normal;
	margin: 20px auto;
}

h4 {
	background:#4c4d53;
	text-align: center;
	color: #fff;
	padding: 5px 0;
	font-weight: normal;
	margin: 0 0 50px 0;
}

h5 {
	color: #08bcff;
	text-align: center;
	font-size: 1.333em;
	font-weight: normal;
	margin: 20px auto;
}

h6 {
	border-radius: 20px;
	text-align: center;
	font-size: 1.333em;
	font-weight: normal;
	padding: 10px;
	width: 90%;
	margin: 0 auto 20px;
}

footer {
	background: #f6f1f1;
	margin-top: 50px;
	padding-bottom: 10px;
}

.breadcrumb {
	background: #f6f1f1;
	color: #08bcff;
	padding: 5px 10px;
	text-align: left;
	margin: 10px 0 20px;
}

button {
	font-size: 18px;
	color: #fff;
	border: 0;
	padding: 10px 20px;
	border-radius: 2em;
}

button.green {
	background-color: #57b76f;
}

button.blue {
	background-color: #08bcff;
}

button.blue2 {
	background-color: #fff;
	color: #08bcff;
}

button.pink {
	background-color: #ff8cba;
}

button.pink2 {
	background-color: #fff;
	color: #ff8cba;
}

button.white {
	background-color: #f6efef;
	color: #1f1f1f;
}

.yellow_bar {
	width: 100%;
	background: #fdce2c;
	padding: 10px;
	color: #fff;
	line-height: 1.75em;
	font-size: 13px;
}

input[type="text"], input[type="tel"], input[type="email"], input[type="password"], select {
	border-radius: 5px;
	width: 90%;
	padding: 10px 5px;
	color: #1f1f1f;
	font-size: 1.33em;
}
textarea {
	border-radius: 5px;
	width: 100%;
	padding: 10px 5px;
	color: #1f1f1f;
	font-size: 1.33em;
}
::placeholder{
	color: #b6a3a3;
}

#main {
	width: 100%;
	background-image: url('../img/top/main2.jpg');
	background-size: cover;
	padding: 390px 0 10px;
	background-position: center top;
}

#menu {
	width: 100%;
	margin: 0 auto;
}
#menu::after {
	content: "";
	display: block;
	clear: both;
}
#menu li {
	width: 25%;
	float: left;
	text-align: center;
	padding: 10px 0;
}
#menu li img {
	width: 80%;
}
#menu a:link, #menu a:visited, #menu a:hover, #menu a:active { color: #333; text-decoration: none; }


#menu2 {
	width: 100%;
	margin: 0 auto;
}
#menu2::after {
	content: "";
	display: block;
	clear: both;
}
#menu2 li {
	width: 33.33%;
	float: left;
	text-align: center;
	padding: 10px 0;
}
#menu2 li img {
	width: 80%;
}
#menu2 a:link, #menu2 a:visited, #menu2 a:hover, #menu2 a:active { color: #333; text-decoration: none; }


#menu3 {
	width: 100%;
	margin: 0 auto;
}
#menu3::after {
	content: "";
	display: block;
	clear: both;
}
#menu3 li {
	width: 33.33%;
	float: left;
	text-align: center;
	padding: 10px 0;
}
#menu3 li img {
	width: 80%;
}

.circle_red {
	border-radius: 20px;
	background: red;
	color: white;
	font-weight: bold;
	position: absolute;
	line-height: 0;
	width: 15px;
	height: 15px;
}


#status {
	border: 1px solid #08bcff;
	border-radius: 10px;
	background: #08bcff;
	width: 95%;
	margin: 10px auto;
}
#status .header {
	margin: 10px auto;
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: 14px;
}
#status .body {
	background: #fff;
	padding: 20px 0;
	width: 100%;
	border-radius: 0 0 10px 10px;
}
#status .body_l {
	width: 60%;
	float: left;
	color: #333;
}
#status .body_r {
	width: 40%;
	float: left;
	color: #fff;
}
#status .body_r .circle {
	background: #08bcff;
	border-radius: 100%;
	width: 80%;
	margin: 0 auto;
	font-size: 16px;
	padding: 20px 0 10px;
	text-align: center;
}
#status .body_r .circle strong {
	font-size: 30px;
	line-height: 40px;
}


.user_list {
	display: flex;
	flex-wrap: wrap;
}

.user_list li {
	width: 46%;
	margin: 10px 2%;
	padding: 0 0 2% 0;
	background: #fff;
	box-shadow: 2px 2px 3px rgba(0,0,0,0.3);
	border-radius: 5px;
}

.user_list li .picture {
	width: 100%;
	height: 200px;
	border-radius: 5px 5px 0 0;
	overflow: hidden;
	line-height: 0;
}

.user_list li .picture img {
	width: 100%;
	height: 200px;
	object-fit: cover;
}


#user_list2 li {
	float: left;
	width: 44%;
	margin: 10px 3%;
	border: 1px solid #6b6b6b;
}

#user_list2 li .picture {
	width: 100%;
	line-height: 0;
}

#user_list2 li .picture img {
	width: 100%;
}

#type {
	
}
#type div {
	float: left;
	width: 46%;
	margin: 3px 2%;
}
#type2 div {
	float: left;
	width: 23%;
	margin: 3px 2%;
}

#sort button {
	font-size: 0.8em;
	padding: 12px 0;
	border-radius: 3px;
	width: 100%;
}

#sort li {
	float: left;
	width: 18%;
	margin: 0 1%;
}

#pager {
	font-size: 1.75em;
	margin-top: 25px;
}

#pager li {
	width: 15%;
}


#info tr {
	border: 1px solid #ddd;
	text-align: left;
}
#info th {
	width: 30%;
	padding: 10px;
	border: 1px solid #ddd;
	background: #fdce2c;
	color: #fff;
	vertical-align: middle;
}
#info td {
	width: 70%;
	padding: 10px;
	vertical-align: middle;
}


#schedule tr {
	border: 1px solid #555;
}
#schedule th {
	width: 100%;
	padding: 10px;
	background: #08bcff;
}
#schedule td {
	color: #1f1f1f;
	width: 100%;
	display: flex;
}
#schedule td div {
	width: 4.166%;
	font-size: 10px;
	padding-bottom: 10px;
	text-align: left;
	border-left: 1px dotted #aaa;
}
#schedule td div.ac {
	background: #ffb47c;
}


#search tr {
	border: 1px solid #dadada;
}
#search th {
	width: 25%;
	padding: 10px 1px;
	background: #eee;
	vertical-align: middle;
}
#search td {
	color: #1f1f1f;
	width: 75%;
	padding: 10px 5px;
	background: #fff;
	vertical-align: middle;
}

#search select {
	border: 1px solid #ccc;
	border-radius: 5px;
	padding: 5px;
}

ul.half li {
	float: left;
	width: 50%;
	margin: 5px 0;
	text-align: left;
}


#round_list {
	width: 96%;
	margin: 0 2%;
}
#round_list li {
	background: #fff;
	border-radius: 5px;
	padding: 10px;
	width: 100%;
	margin: 5px auto;
	color: #333;
	border: 1px solid #aaa;
	box-shadow: 2px 2px 3px rgba(0,0,0,0.3);
}
#round_list li::after {
	content: "";
	display: block;
	clear: both;
}
#round_list li .b1 {
	width: 28%;
	height: auto;
	margin-right: 2%;
	float: left;
	border: 1px solid #08bcff;
	overflow: hidden;
	line-height: 0;
}
#round_list li .b2 {
	width: 65%;
	float: left;
	text-align: left;
}
#round_list li .b2 h5 {
	font-weight: bold;
	font-size: 13px;
	margin-bottom: 5px;
}
#round_list li .b2 div {
	font-size: 11px;
	margin-bottom: 5px;
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	width: 100%;
}
#round_list li .b2 div span {
	background: #08bcff;
	color: #fff;
	text-align: center;
	border-radius: 2px;
	padding: 2px;
}
#round_list li .b3 {
	width: 5%;
	float: left;
	text-align: center;
	height: 100px;
	line-height: 100px;
	font-size: 20px;
	font-weight: bold;
	color: #08bcff;
}


#round_list2 {
	width: 96%;
	margin: 0 2%;
}
#round_list2 li {
	background: #fff;
	border-radius: 5px;
	box-shadow: 2px 2px 2px rgba(0,0,0,0.3);
	padding: 10px;
	width: 100%;
	margin: 5px auto;
	color: #333;
}
#round_list2 li::after {
	content: "";
	display: block;
	clear: both;
}
#round_list2 li .b1 {
	width: 23%;
	margin-right: 3%;
	float: left;
	font-size: 12px;
	line-height: 1.25em;
	word-wrap: break-word;
}
#round_list2 li .b1 .picture {
	border-radius: 100%;
	overflow: hidden;
	line-height: 0;
	aspect-ratio: 1/1;
	margin-bottom: 5px;
}
#round_list2 li .b1 .picture img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}
#round_list2 li .b2 {
	width: 74%;
	float: left;
	text-align: left;
	font-size: 12px;
}
#round_list2 li .b2 div {
	margin-bottom: 5px;
	display: block;
	line-height: 1.5em;
	width: 100%;
}
#round_list2 li .b2::after {
	content: "";
	display: block;
	clear: both;
}
#round_list2 li .b3 {
	width: 100%;
	text-align: left;
	border-top: 2px dotted #333;
	display: inline-block;
	margin-top: 10px;
	padding-top: 5px;
}
#round_list2 a:link, 
#round_list2 a:visited,
#round_list2 a:hover,
#round_list2 a:active
 { color: #333; }



/* ----- bxslider ----- */
.bx-wrapper {
	border: 0 !important;
}
.bx-wrapper .bx-prev {
	background: url('/img/top/controls_g.png') no-repeat 0 -32px !important;
}
.bx-wrapper .bx-next {
	background: url('/img/top/controls_g.png') no-repeat -43px -32px !important;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active, .bx-wrapper .bx-pager.bx-default-pager a:focus {
	background: #51b870 !important;
}
/* ----- /bxslider ----- */



/* ----- LINE ----- */
.line-bc {
  padding: 0 10px;
  max-width: 450px;
  margin: 15px auto;
  text-align: right;
  color: #1f1f1f;
}


/*以下、②左側のコメント*/
.balloon6 {
  width: 100%;
  margin: 10px 0;
  overflow: hidden;
}
.balloon6 .chatting {
  width: 100%;
  text-align: left;
}
.says {
  display: inline-block;
  position: relative; 
  margin: 0 0 0 10px;
  padding: 15px;
  max-width: 350px;
  border-radius: 5px;
  background: #08bcff;
}

.says:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 3px; 
  left: -19px;
  border: 8px solid transparent;
  border-right: 18px solid #08bcff;
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
}
.says.rev {
  background: #ff8cba;
}
.says.rev:after {
  border-right: 18px solid #ff8cba;
}
.says p {
  margin: 0;
  padding: 0;
  word-wrap: break-word;
}

/*以下、③右側の緑コメント*/
.mycomment {
  display: inline-block;
  position: relative; 
  margin: 0 10px 0 0;
  padding: 15px;
  max-width: 350px;
  border-radius: 5px;
  background: #ff8cba;
}

.mycomment:after {
  content: "";
  position: absolute;
  top: 3px; 
  right: -19px;
  border: 8px solid transparent;
  border-left: 18px solid #ff8cba;
  -webkit-transform: rotate(-35deg);
  transform: rotate(-35deg);
}
.mycomment.rev {
  background: #08bcff;
}
.mycomment.rev:after {
  border-left: 18px solid #08bcff;
}
.mycomment p {
  margin: 0;
  padding: 0;
  word-wrap: break-word;
}
/* ----- /LINE ----- */


/* ----- 欲張りセット ----- */
.mg00 { margin: 0 auto; }
.mg05 { margin: 5px auto; }
.mg10 { margin: 10px auto; }
.mg10a { margin: 10px; }
.mg15 { margin: 15px auto; }
.mg20 { margin: 20px auto; }
.mg30 { margin: 30px auto; }
.mg40 { margin: 40px auto; }
.mg50 { margin: 50px auto; }
.mg60 { margin: 60px auto; }
.mg70 { margin: 70px auto; }
.mg80 { margin: 80px auto; }
.mg90 { margin: 90px auto; }
.mg100 { margin: 100px auto; }

.mg05l { margin-left: 5%; }

.pd10 { padding: 10px 0; }
.pd20 { padding: 20px 0; }
.pd30 { padding: 30px 0; }
.pd40 { padding: 40px 0; }
.pd50 { padding: 50px 0; }
.pd60 { padding: 60px 0; }
.pd70 { padding: 70px 0; }
.pd80 { padding: 80px 0; }
.pd90 { padding: 90px 0; }
.pd100 { padding: 100px 0; }

.w10 { width: 10%; }
.w15 { width: 15%; }
.w20 { width: 20%; }
.w25 { width: 25%; }
.w30 { width: 30%; }
.w40 { width: 40%; }
.w50 { width: 50%; }
.w60 { width: 60%; }
.w70 { width: 70%; }
.w80 { width: 80%; }
.w90 { width: 90%; }
.w95 { width: 95%; }
.w100 { width: 100%; }

.f05 { font-size: 0.5em; }
.f06 { font-size: 0.6em; }
.f07 { font-size: 0.7em; }
.f08 { font-size: 0.8em; }
.f09 { font-size: 0.9em; }
.f10 { font-size: 1em; }
.f12 { font-size: 1.2em; }
.f15 { font-size: 1.5em; }
.f20 { font-size: 2em; }
.f25 { font-size: 2.5em; }
.f30 { font-size: 3em; }

.lh0 { line-height: 0; }

.text-center { text-align: center; }
.text-right { text-align: right; }
/* ----- /欲張りセット ----- */


/* ----- テーマ定義 ----- */
a:link { color: #00b5df; }
a:visited { color: #00b5df; }
a:hover { color: #00b5df; }
a:active { color: #00b5df; }

.bold { font-weight: bold; }

.color_black { color: #1b1b1b; }
.color_red { color: #f00; }
.color_dark  { color: #6f786d; }
.color_yellow  { color: #fffc20; }
.color_pink  { color: #fbc3d9; }
.color_blue  { color: #08bcff; }
.color_green { color: #08bcff; }

.box_green  { border-radius: 3px; background: #08bcff; color: #fff; padding: 2px 0; font-size: 1.2em; }
.box_pink   { border-radius: 3px; background: #ff8cba; color: #fff; padding: 1px 3px; font-size: 0.9em; }
.box_blue   { border-radius: 3px; background: #00baff; color: #fff; padding: 1px 3px; font-size: 0.9em; }
.box_orange { border-radius: 3px; background: #ff9600; color: #fff; padding: 4px 4px 2px;	font-size: 0.85em; }
.box_yellow { border-radius: 3px; background: #ffb300; color: #fff; padding: 0;	font-size: 0.85em; }
.box_purple { border-radius: 3px; background: #ba00ff; color: #fff; padding: 1px 3px; font-size: 0.9em; }

.box_g_blue   { border-radius: 3px; background: linear-gradient(to bottom, #1093d9, #0976b2); color: #fff; font-size: 0.8em; }
.box_g_pink   { border-radius: 3px; background: linear-gradient(to bottom, #ef149f, #a6106a); color: #fff; font-size: 0.8em; }
.box_g_orange { border-radius: 3px; background: linear-gradient(to bottom, #f05e01, #b65003); color: #fff; font-size: 0.66em; }
.box_g_red    { border-radius: 3px; background: linear-gradient(to bottom, #b91216, #8a0603); color: #fff; font-size: 0.8em; }
.box_g_purple { border-radius: 3px; background: linear-gradient(to bottom, #b515a8, #7410a5); color: #fff; font-size: 0.8em; }
.box_g { border-radius: 7px; background: #fcfbea; color: #ff8300;	border: 1px solid #ffbf00; font-size: 0.8em; }

.bg_w { background: #fff; }
.bg_p { background: #ff8cba; }
.bg_b { background: #08bcff; }
.bg_bk { background: #000; }
.bg_gray { background: #ccc !important; }
.bg_ow { background:#f6f1f1;}
.bg_y { background:#fdce2c;}
.bg_tr { background: transparent; }
/* ----- /テーマ定義 ----- */




.animated {
  animation-duration: 500ms;
  animation-fill-mode: both;
}
@-webkit-keyframes slideDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes slideDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.slide-down {
  -webkit-animation-name: slideDown;
  animation-name: slideDown;
}
@-webkit-keyframes slideUp {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}
@keyframes slideUp {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}
.slide-up {
  -webkit-animation-name: slideUp;
  animation-name: slideUp;
}
.content-wrap {
  height: 150px;
  overflow: hidden;
  position: relative;
  margin: 0;
}
.close-btn, .more-btn {
  display: block;
  width: 100%;
  padding: 80px 0 0;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  background: linear-gradient(
    to bottom,
    rgba(190, 241, 140, 0) 0%,
    rgba(8, 188, 255, 1) 60%
  );
}
.close-btn {
  background: none;
}
.slide-up {
  height: 150px;
  padding-bottom: 0;
  overflow: hidden;
}
.slide-down {
  height: auto;
  overflow: visible;
  padding-bottom: 50px;
}
.more-btn p {
  display: inline-block;
  color: #fff;
  cursor: pointer;
  background: #555;
  padding: 5px 20px;
  width: 80%;
  border-radius: 20px;
}
.close-btn {
  padding:0;
}
.close-btn p {
  background: #aaa;
}

