/*メニューボタン*/

/*--------------------------------
*/
.menu-btns {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.menu-btns li {
  width: calc(33% - 15px);
  margin-right: 20px;
}
.menu-btns li:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 480px) {
  .menu-btns {
    width: 90%;
    margin: 0 auto;
  }
}

.menu-btns .btn a {
  padding: 20px;
  border-radius: 6px;
  font-weight: bold;
  border: 1px solid #b3b3b3;
  display: block;
  text-align: left;
  line-height: 1;
  font-size: 20px;
  background: #ddd;
  background: linear-gradient(to bottom, #fff 0%, #f6f6f6 100%);
}
.menu-btns .btn a:hover {
  opacity: 0.6;
}

.menu-btns .btn.btn_main a,
.overlay ul.menu li.btn_main a {
  background: linear-gradient(to bottom, #ffd6d6 0%, #f7bcbc 100%);
}
.menu-btns .btn.btn_sub01 a,
.overlay ul.menu li.btn_sub01 a {
  background: linear-gradient(to bottom, #d6e8ff 0%, #b9d3f3 100%);
}
.menu-btns .btn.btn_sub02 a,
.overlay ul.menu li.btn_sub02 a {
  background: linear-gradient(to bottom, #cff7ec 0%, #b5edc9 100%);
}

.menu-btns .btn.btn_sub03 a,
.overlay ul.menu li.btn_sub03 a {
  background: linear-gradient(to bottom, #ffffe4 0%, #edecb5 100%);
}

.menu-btns .btn {
  margin-bottom: 1rem;
}

.config-btn {
  background-color: #ccc;
  xpadding: 5px 0;
  margin: 50px 0 0;
}
.config-btn.head {
  margin: 0;
  text-align: left;
  background-color: initial;
}

.config-btn a,
.config-btn button {
  cursor: pointer;
  border: none;
  background: none;
  display: inline-block;
  margin: 0 auto;
  color: #fff;
  background: #666;
  font-size: 16px;
  padding: 0.8rem;
  border-radius: 6px;
}
.config-btn a:hover,
.config-btn button:hover {
  opacity: 0.8;
}
.config-btn.head a,
.config-btn.head button {
  font-size: 18px;
  padding: 0.75rem 1.25rem;
  margin-top: 1rem;
  border-radius: 0 50px 50px 0;
  font-weight: 700;
  cursor: pointer;
}

.submit-btn {
  cursor: pointer;
  margin: 0;
  margin-top: 2rem;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
  padding: 1rem;
  border-radius: 6px;
  font-weight: bold;
  max-width: 200px;
  border: 1px solid #0046bc;
  box-shadow: 0 0 3px 3px #ccc;
  display: block;
  text-align: left;
  line-height: 1;
  text-align: center;
  font-size: 20px;
  color: #fff;
  background: linear-gradient(to top, #1c57a5 0%, #4b8ce1 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0046bc', endColorstr='#008cea', GradientType=0);
  /* IE6-9 */
}

.back-btn {
  border: none;
  display: block;
  font-size: 16px;
  display: inline-block;
  margin: 30px auto 0;
  color: #fff;
  background: linear-gradient(to bottom, #a0a0a0 0%, #666666 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a0a0a0', endColorstr='#666666', GradientType=0);
  /* IE6-9 */
  font-size: 16px;
  padding: 0.8rem;
  border-radius: 6px;
}

.btn_add {
  border: none;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,f6f6f6+47,ededed+100;White+3D+%231 */
  background: white;
  /* Old browsers */
  background: -moz-linear-gradient(top, white 0%, #f6f6f6 47%, #ededed 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, white 0%, #f6f6f6 47%, #ededed 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, white 0%, #f6f6f6 47%, #ededed 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed', GradientType=0);
  /* IE6-9 */
  display: block;
  width: 100%;
  margin-top: 1rem;
  font-size: 16px;
  padding: 0.5rem 0;
  border: 1px solid #ccc;
  background-color: #fff;
}
.tab_area {
  font-size: 0;
  margin-bottom: 1rem;
  text-align: left;
}

.tab_area label {
  width: 150px;
  margin-right: 1rem;
  display: inline-block;
  padding: 20px 0;
  background: #666;
  color: #fff;
  text-align: center;
  font-size: 16px;
  cursor: pointer;
  transition: ease 0.2s opacity;
}
.tab_area a {
  color: #fff;
}

.tab_area label:hover {
  opacity: 0.7;
}

.panel_area {
  background: #fff;
}

.tab_panel {
  width: 100%;
  padding: 30px 0;
  display: none;
}

.tab_panel p {
  font-size: 14px;
  letter-spacing: 1px;
  text-align: center;
}

#tab1:checked ~ .tab_area .tab1_label {
  background: #fff;
  color: #000;
}

#tab1:checked ~ .panel_area #panel1 {
  display: block;
}

#tab2:checked ~ .tab_area .tab2_label {
  background: #fff;
  color: #000;
}

#tab2:checked ~ .panel_area #panel2 {
  display: block;
}

#tab3:checked ~ .tab_area .tab3_label {
  background: #fff;
  color: #000;
}

#tab3:checked ~ .panel_area #panel3 {
  display: block;
}

/*横並びボタン*/

.flex-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.flex-btn li {
  margin: 0 1rem 1rem;
}
.flex-btn li a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 240px;
  min-height: 240px;
  text-align: center;
  padding: 20px;
  border-radius: 6px;
  font-weight: bold;
  border: 1px solid #333;
  box-shadow: 0 0 3px 3px #ccc;
  text-align: center;
  line-height: 1;
  font-size: 20px;
  color: #fff;
  background: linear-gradient(to top, #666 0%, #999 100%);
}

ul.formbtn {
  display: flex;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  xmargin-bottom: 50px;
}
ul.formbtn li:not(:last-child) {
  margin-right: 20px;
}
ul.formbtn li a {
}
/* motion,btn
---------------------------------------- */
*:selection {
  background: #f27649;
  color: #fff;
}
a,
img,
.photo,
.over,
aside#sns li span,
.nav-child,
.ico-area dd ul {
  -webkit-transition: All 0.5s ease;
  -moz-transition: All 0.5s ease;
  -o-transition: All 0.5s ease;
  transition: All 0.5s ease;
}
.btn {
  text-align: center;
  margin-bottom: 10px;
}
.btn a,
.btn input,
.btn button {
  display: flex;
  align-items: center;
  margin: auto;
  border-radius: 40px;
  color: #fff;
  justify-content: center;
  position: relative;
  line-height: 1.2em;
  padding: 20px;
}
.btn a.blank {
  pointer-events: none;
}

/*ボタンサイズ*/
.btn_ss a,
.btn_ss input,
.btn_ss button {
  min-width: 80px;
  height: 30px;
  padding-left: 1rem;
  padding-right: 1rem;
}
.btn_s a,
.btn_s input,
.btn_s button {
  width: 200px;
  height: 40px;
}
.btn_l a,
.btn_l input,
.btn_l button {
  width: 300px;
  height: 60px;
}
.btn_full a,
.btn_full input,
.btn_full button {
  width: 100%;
  height: 60px;
}
/*ボタンカラー*/
.btn.app a,
.btn.app input {
  background-color: var(--app);
}
.btn.app a:hover,
.btn.app input:hover {
  opacity: 0.8;
}

.btn.cancel a,
.btn.cancel input,
.btn.cancel button {
  background-color: #8b6014;
  border: 0;
}
.btn.cancel a:hover,
.btn.cancel input:hover,
.btn.cancel button:hover {
  opacity: 0.8;
}
.btn.white a,
.btn.white input {
  background-color: #fff;
  border: 1px solid #ddd;
  color: #333;
}
.btn.white a:hover,
.btn.white input:hover {
  opacity: 0.8;
}

.gray a,
.gray input,
.gray button {
  background-color: var(--dark);
}
.btn.gray a:hover,
.btn.gray input:hover,
.btn.gray button:hover {
  opacity: 0.8;
}
.btn.accent a,
.btn.accent input {
  background-color: var(--accent);
}
.btn.accent a:hover,
.btn.accent input:hover {
  opacity: 0.8;
}
.btn.accent_thin a,
.btn.accent_thin input {
  background-color: var(--accent_thin);
}
.btn.accent_thin a:hover,
.btn.accent_thin input:hover {
  opacity: 0.8;
}

.btn.return a,
.btn.return input {
  position: relative;
}
.btn.return a:after,
.btn.return input:after {
  content: "\f432";
  font: lighter 20px Genericons;

  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.btn.key a,
.btn.key input {
  background-color: var(--key);
}
.btn.key a:hover,
.btn.key input:hover {
}
.btn.key a:after,
.btn.key input:after {
  font-family: "FontAwesome";
  content: "\f105";
  position: absolute;
  right: 20px;
  margin: auto;
}
.btn.auth a,
.btn.auth input {
  background-color: var(--auth);
}
.btn.auth a:hover,
.btn.auth input:hover {
}
.btn.auth a:after,
.btn.auth input:after {
  font-family: "FontAwesome";
  content: "\f105";
  position: absolute;
  right: 20px;
  margin: auto;
}
.btn.accent a,
.btn.accent input {
  background-color: var(--accent);
}
.btn.accent a:hover,
.btn.accent input:hover {
}
.btn.accent a:after,
.btn.accent input:after {
  font-family: "FontAwesome";
  content: "\f105";
  position: absolute;
  right: 20px;
  margin: auto;
}

.btn.next a,
.btn.next input {
}
.btn.next a:hover,
.btn.next input:hover {
}
.btn.next a:after,
.btn.next input:after {
  font-family: "FontAwesome";
  content: "\f105";
  position: absolute;
  right: 20px;
  margin: auto;
}
.btn.back a,
.btn.back input {
}
.btn.back a:hover,
.btn.back input:hover {
}
.btn.back a:after,
.btn.back input:after {
  font-family: "FontAwesome";
  content: "\f104";
  position: absolute;
  left: 20px;
  margin: auto;
}

.square a,
.square input {
  border-radius: 0;
}

.btn.kodate_btn {
  background: var(--main_a);
  position: relative;
}
.btn.kodate_btn a:hover,
.btn.kodate_btn input:hover {
  opacity: 0.8;
}
.btn.kodate_btn a:after,
.btn.kodate_btn input:after {
  content: "";
  display: block;
  left: 50%;
  width: 60px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  bottom: 14px;
  transform: translate(-50%, 0);
  transition: all 0.5s ease;
}
.btn.kodate_btn a:hover:after,
.btn.kodate_btn input:hover:after {
  width: 20px;
}
.btn.btn_full a,
.btn.btn_full input {
  width: 100%;
  height: 60px;
}
.contact_items.contact_tel .btn.footer_contact_btn a {
  background-color: #fff;
  border-color: var(--black);
  border-width: 1px;
  border-style: solid;
  color: var(--black);
  font-size: 1.5rem;
}
.contact_items.contact_tel .btn.footer_contact_btn a:hover {
  opacity: 0.8;
}
.contact_items.contact_mail .btn.footer_contact_btn a {
  background-color: var(--main_b);
  border-color: #fff;
  border-width: 1px;
  border-style: solid;
  color: #fff;
  font-size: 1.25rem;
}
.contact_items.contact_mail .btn.footer_contact_btn a:hover {
  opacity: 0.8;
}

.no_btn.tel a {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  display: block;
}

.btn.btn_request a {
  background-color: var(--main_b);
}
.btn.btn_request a:hover {
  opacity: 0.8;
}
.btn.btn_reserve a {
  background-color: var(--main_a);
}
.btn.btn_reserve a:hover {
  opacity: 0.8;
}
.btn.btn_detail a {
  background-color: #fff;
  color: var(--black);
  border: 1px solid var(--black);
}
.btn.btn_detail a:hover {
  opacity: 0.8;
}

/*====================
ボタンエフェクト用
 ====================*/

.button01 {
  text-align: center;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  xheight: 20px;
  line-height: 20px;
  font-family: Arial;
  xwidth: 60%;
  font-size: 16px;
  font-weight: bold;
  padding: 10px 50px;
  color: #fff;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
  color: #000;
  background: #ddd;
  margin: 0;
}
.button01:hover {
  opacity: 0.9;
}

.button02:hover {
  opacity: 0.9;
}

.join-color {
  background-color: var(--sub);
  color: #fff;
}
.contact-color {
  background-color: var(--accent);
  color: #fff;
}
