/*!
Theme Name: esther_theme
Theme URI: http://underscores.me/
Author: ARIMA DESIGN PROJECT
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: esther_theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

esther_theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  min-height: 0;
  min-width: 0;
}
*:focus {
  outline: none;
}
html {
  font-size: 13.5px;
  box-sizing: border-box;
}
body {
  width: 100%;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.8;
  color: #000;
  background-color: #f8f8f7;
  margin: 0 auto;
  padding: 0;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;
  word-wrap: break-word;
  overflow-wrap: break-word;
  display: block;
  overflow: auto;
  font-feature-settings: "palt";
  line-break: strict;
  animation: fadein 2s forwards;
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
input:-webkit-autofill {
  transition: background-color 5000s ease-in-out 0s !important;
}
a:link {
  color: #000;
  text-decoration: none;
  transition: all 0.5s;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
}
a:visited {
  color: #000;
  text-decoration: none;
}
a:hover {
  color: #000;
  text-decoration: none;
}
a:active {
  color: #000;
  text-decoration: none;
}
p {
  margin: 4px 0 0 0;
  padding: 0;
  display: block;
  text-align: justify;
  background: transparent;
}
h1,
h2,
h3,
h4,
h5 {
  font-weight: 700;
  text-align: left;
  letter-spacing: 0.03em;
  line-height: 1.5;
}
h1 {
  font-size: 2.4rem;
  margin: 0 0 40px 0;
  padding: 16px 0 0 0;
}
h1.title-404 {
  font-family: "Roboto Condensed", "Noto Sans JP", sans-serif;
  padding: 0;
  font-size: 4.8rem;
  line-height: 1.3;
  font-weight: 300;
}
h2 {
  font-size: 2.1rem;
  margin: 0 0 12px 0;
}
.h2-section {
  margin: 0 0 32px 0;
  text-align: center;
}
.h3-section {
  margin: 0 0 32px 0;
}
h3 {
  font-size: 1.8rem;
  margin: 0 0 12px 0;
}
h3 + p {
  margin: 16px 0 0 0;
}
.h2-section + h3 {
  margin: 64px 0 16px 0;
}
h4 {
  font-size: 1.5rem;
  margin: 0 0 12px 0;
}
h3 + h4 {
  margin: 32px 0 12px 0;
}
p + h4 {
  margin: 56px 0 12px 0;
}
p + h5 {
  margin: 40px 0 12px 0;
}
h5 {
  font-size: 1.3rem;
  margin: 0 0 8px 0;
}
hr {
  width: 88%;
  max-width: 960px;
  margin: 80px auto;
  border-top: 1px solid #e0e0e0;
}
ul {
  list-style: disc;
  margin: 24px 0;
  padding: 0 0 0 16px;
  display: block;
}
ol {
  list-style: decimal;
  margin: 24px 0;
  padding: 0 0 0 16px;
  display: block;
}
li {
  margin: 8px 0 0 0;
  padding: 0;
  display: list-item;
  text-align: justify;
  background: transparent;
}
li:first-child {
  margin: 0 0 0 0;
}
dl {
  margin: 24px 0;
  padding: 0;
}
dt {
  float: left;
  width: 112px;
  padding: 0 0 16px 0;
  font-weight: 700;
}
dd {
  margin: 0 0 16px 0;
}
dd a {
  border-bottom: 2px solid #424242;
  padding: 0 0 2px 0;
}
small {
  font-size: 0.85rem;
  display: block;
  margin: 8px 0 0 0;
  color: #616161;
}
sub {
  font-size: 0.6em;
  vertical-align: sub;
}
sup {
  vertical-align: middle;
  color: #d50000;
}
time {
  font-size: 0.9rem;
  font-family: "Roboto Condensed", "Noto Sans JP", sans-serif;
  margin: 0 0 4px 0;
  padding: 0;
  color: #757575;
  display: block;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}
p + time {
  margin: 32px 0 4px 0;
}
span {
  font-size: 0.8em;
}
h2 span,
h3 span {
  font-family: "Roboto Condensed", "Noto Sans JP", sans-serif;
  font-size: 0.6em;
  font-weight: 400;
  display: block;
}
figure {
  width: 100%;
  margin: 0;
  padding: 0;
  display: block;
}
figcaption {
  font-size: 0.8rem;
  margin: 12px 0 0 0;
  padding: 0;
  display: block;
  color: #757575;
  font-weight: 400;
  clear: both;
}
p + figure {
  margin: 32px auto;
}
figure + h4 {
  margin: 56px auto 12px auto;
}
.figure-2 {
  margin: 48px 0 0 0;
}
.video {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%; /* 高さを指定(16:9) */
}
.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
img {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  /* line-height: 1; */
  display: block;
  border-radius: 8px;
}
.alignleft {
  width: 48%;
  float: left;
  margin: 0 0 12px 0;
}
.alignright {
  width: 48%;
  float: right;
  margin: 0 0px 12px 0;
}
.aligncenter {
  clear: both;
  display: block;
  margin: 0 auto 0 auto;
}
.icon-right {
  margin: 0 0 0 4px;
}
div {
  width: 100%;
  margin: 0;
  padding: 0;
  display: block;
}
table,
td,
th {
  border-collapse: collapse;
  width: 100%;
  /* border: 1px solid #9E9E9E; */
  border-bottom: 1px solid #9e9e9e;
  border-top: 1px solid #9e9e9e;
}
h5 + table {
  margin: 12px 0 0 0;
}
td,
th {
  padding: 12px 16px;
}
td ul,
td ol {
  margin: 0 0 0 0;
}
th {
  width: 23%;
  background-color: #e0e0e0;
  display: table-cell;
  vertical-align: inherit;
  font-weight: 500;
  text-align: center;
  border-right: 1px dotted #9e9e9e;
}
td {
  width: auto;
  display: table-cell;
  vertical-align: inherit;
  text-align: center;
  border-left: 1px dotted #9e9e9e;
}
.hakkoh-item_title {
  width: 23%;
}
.hakkoh-item_contents {
  width: 24%;
}
tr {
  display: table-row;
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left !important;
}
.p-note {
  color: #d50000;
  font-size: 0.85rem;
  margin: 8px 0 0 0;
}
.p-note:before {
  content: "*";
  margin: 0 8px 0 0;
  padding: 0;
  display: inline-block;
  color: #d50000;
}
header {
  width: 100%;
  height: 64px;
  margin: 0 auto;
  padding: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 998;
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  background-color: rgba(255, 255, 255, 0.9);
}
.site-branding {
  width: 120px;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 50%;
  left: 64px;
  transform: translate(0%, -50%);
}
.site-title {
  margin: 0;
  padding: 0;
}
.site-title img {
  border-radius: 0px;
}
.site-description {
  display: none;
}
nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav ul li a:link {
  text-decoration: none !important;
}
.main-navigation {
  margin: 0 auto;
  padding: 0;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translate(0%, -50%);
}
.main-navigation li {
  font-size: 0.8rem;
  margin: 0 0 0 24px;
  display: inline-block;
}
#primary-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  flex-wrap: nowrap;
}
main {
  margin: 64px auto 0 auto;
  width: 100%;
}
.bg-top {
  height: 56vh;
  margin: 0;
  padding: 0;
  display: block;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: initial;
  background-image: url("images/bg-top.jpg");
}
.container {
  width: 88%;
  max-width: 960px;
  margin: 120px auto;
  padding: 0;
  display: block;
}
.container-640 {
  width: 88%;
  max-width: 640px;
}
.item-text {
  width: 88%;
  max-width: 640px;
  margin: 0 auto;
}

.container-outer {
  width: 100%;
  background-color: #fff;
  margin: 0 auto;
  overflow: auto;
}
.container-trivia {
  width: 100%;
  max-width: 100%;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  padding: 32px 0;
  margin: 80px auto;
}
.container-pp {
  width: 100%;
  margin: 0 auto 48px auto;
}
.bg-material {
  height: 32vh;
  margin: 120px auto;
  padding: 0;
  display: block;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: initial;
}
.bg1-material {
  display: none;
  background-image: url("images/bg-material.jpg");
}
.bg2-material {
  background-image: url("images/bg2-material.jpg");
}

.wrap {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  display: flex;
  align-items: stretch;
  justify-content: space-between;

  flex-wrap: wrap;
  @media (max-width: 1024px) {
    display: block !important;
  }
}

.wrap-flex-stretch {
  align-items: stretch;
}
.wrap-flex-start {
  align-items: flex-start;
}
.wrap:after {
  width: 31%;
  display: block;
  content: "";
}
.column {
  width: 47%;
}
.column-3 {
  width: 31%;
}
.column-left-img {
  width: 31%;
  margin: 0 0 48px 0;
}
.column-right-txt {
  width: 64%;
}
.column-right-txt h4 {
  font-size: 1.4rem;
  margin: 0 0 8px 0;
}
.card-1 {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  box-shadow: none;
}
.card-2 {
  width: 48%;
  @media (max-width: 1024px) {
    width: 100%;
  }
}

.card-3 {
  width: 31%;
  @media (max-width: 1024px) {
    width: 100%;
  }
}

.card-2,
.card-3 {
  margin: 0 0 0 0;
  position: relative;
  display: block;
  transition: 0.3s ease-out;
  background-color: #f8f8f7;
}

.page_mastiha_items {
  margin-bottom: 40px;
  width: 31%;
  @media (max-width: 1024px) {
    width: 100%;
  }
}
.card-3:nth-child(n + 4) {
  margin: 4% 0 0 0;
}
.card-3 img {
  border-radius: 8px;
}
.card-title {
  padding: 16px;
}
.card-title h3 {
  font-size: 1.1rem;
  margin: 0;
}
.new-inline {
  font-size: 0.8rem;
  color: #fff;
  background-color: #ff1744;
  text-decoration: none;
  position: absolute;
  top: 0px;
  left: 0px;
  line-height: 1;
  padding: 2px 4px;
}
.card-img {
  margin: 0;
  padding: 0;
  display: block;
  border-radius: 8px;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: initial;
  filter: brightness(100%);
}
.card-3-img {
  /* height: 280px; */
  height: 15vw;
  max-height: 280px;
  @media (max-width: 1024px) {
    height: 60vw;
    max-height: 480px;
  }
  @media (max-width: 811px) {
    max-height: 400px;
  }
}
.card-2-img {
  height: 460px;
}

.page_mastiha_items_img {
  height: 15vw;
  @media (max-width: 1024px) {
    height: 60vw;
  }
}

.card-img-1 {
  background-image: url("images/sample-1.jpg");
}
.card-img-2 {
  background-image: url("images/_OM42386ok_1.jpg");
}
.card-img-3 {
  background-image: url("images/_OM42371ok_1.jpg");
}
/* .card-img-4 {
  background-image: url("images/fugen-1.jpg");
} */
/* .card-img-5 {
  background-image: url("images/spa_real-c.jpg");
}
.card-img-6 {
  background-image: url("images/spa_exo.jpg");
} */
/* .card-img-7 {
  background-image: url("images/ashiya-koso.jpg");
} */

.card-img img {
  border-radius: 8px;
}
.card-info {
  padding: 16px 16px 0 16px;
  margin: 0 auto;
}
.card-1 .card-info {
  max-width: 640px;
  padding: 40px 0;
}
.card-2 .card-info,
.card-3 .card-info {
  width: 88%;
  padding: 24px 0 0 0;
}
.card-info h3 {
  margin: 0 0 12px 0;
}
.card-info h4 span {
  font-size: 0.7em;
  display: block;
}
.card-info p {
  font-size: 1em;
}
.card a:hover,
.card-1 a:hover {
  text-decoration: none;
}
.date {
  margin: 0;
  padding: 0;
}
.date li {
  margin: 0;
  padding: 20px 0 15px 0;
  display: block;
  border-bottom: 1px dotted #bdbdbd;
}
.date li span {
  font-size: 0.9rem;
  margin: 0 0 4px 0;
  padding: 0;
  color: #757575;
  display: block;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}

a.btn-1 {
  color: #000;
  display: block;
  margin: 40px auto 0 auto;
  white-space: nowrap;
  border: 2px solid #000;
  padding: 10px 32px;
  /* border-radius: 9999px; */
  outline: none;
  width: fit-content;
  /* box-shadow: 6px 6px 0 rgba(0,0,0,1); */
  font-size: 0.9rem;
}
a.btn-2 {
  color: #fff;
  display: block;
  margin: 0 auto;
  white-space: nowrap;
  border: 2px solid #fff;
  padding: 10px 32px;
  outline: none;
  width: fit-content;
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
a.btn-1:hover,
a.btn-2:hover {
  text-decoration: none;
}
.profile {
  max-width: 640px;
}
.profile h4 {
  text-align: center;
  margin: 0 0 8px 0;
}
.profile p {
  text-align: center;
  letter-spacing: 0.02em;
  margin: 0;
  padding: 0;
  border-left: none;
}
.profile img {
  width: 160px;
  height: 160px;
  object-fit: cover;
  border-radius: 50%;
  object-position: 0px;
  margin: 0 auto 24px auto;
}

footer {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  overflow: auto;
  position: relative;
}
.bg-video {
  position: absolute;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -100;
  background: url("images/footer-bg.jpg") no-repeat;
  background-size: cover;
}
.footer-inner {
  width: 88%;
  max-width: 960px;
  margin: 120px auto 272px auto;
  display: block;
}
footer h4 {
  width: fit-content;
  margin: 0;
  display: block;
}
footer h4 a img {
  filter: none;
  width: 184px;
  margin: 0 0 8px 0;
  border-radius: 0px;
}
footer h5 {
  margin: 0 0 24px 0;
  /* text-align: center; */
  color: #000;
  font-size: 1rem;
}
footer h5 span {
  margin: 0 4px 0 0;
}
footer p {
  margin: 8px 0 0 0;
  /* text-align: center; */
  /* color: #FFF; */
  font-weight: 500;
}
.footer-navigation {
  margin: 64px 0 0 0;
}
#Secondary-menu {
  margin: 0 auto;
  display: block;
}
.menu-menu-2-container ul li {
  margin: 0 0 12px 0;
  padding: 0;
  font-size: 0.9rem;
}
.menu-menu-3-container ul li {
  margin: 0;
  padding: 0;
  font-size: 0.8rem;
}
.menu-menu-2-container ul li a:link {
  color: #000;
  padding: 0;
  transition: 0.2s;
}
.menu-menu-2-container ul li a:hover {
  color: #000;
  text-decoration: underline !important;
}
.menu-menu-2-container .current-menu-item a:link {
  text-decoration: underline;
}
.menu-menu-3-container ul li a:hover {
  color: #616161;
  text-decoration: underline !important;
}
.menu-menu-2-container ul li a:visited {
  color: #000;
  text-decoration: none;
}
.menu-menu-3-container ul li a:visited {
  color: #616161;
  text-decoration: none;
}
.copyright-outer {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.4);
}
.copyright {
  width: 88%;
  max-width: 960px;
  padding: 24px 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.copyright-inner {
  width: 50%;
}
.copyright-inner p {
  margin: 0;
  font-size: 0.85rem;
  color: #616161;
  line-height: 1;
  text-align: left;
}
.copyright-navigation {
  width: 50%;
}
.menu-menu-3-container {
  text-align: right;
}
.menu-menu-3-container ul {
  font-weight: 500;
}
.menu-menu-3-container ul li {
  display: inline-block;
  padding: 0;
  margin: 0 0 0 16px;
}
.menu-menu-3-container ul li:first-child {
  margin: 0;
}
.menu-menu-3-container ul li a:link {
  color: #616161;
  padding: 0;
}
.menu-menu-3-container ul li a:hover {
  text-decoration: underline;
}
#breadcrumb {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  display: block;
}
.home #breadcrumb {
  display: none;
}
#breadcrumb ul {
  list-style: none;
  margin: 0 auto;
  padding: 8px 0;
  text-align: left;
  height: auto;
  width: 88%;
  font-size: 0.9rem;
  line-height: 1.7;
  max-width: 960px;
}
#breadcrumb ul li {
  color: #424242;
  text-align: left;
  margin: 0;
  /* font-size: 11px; */
  display: inline-block;
  padding: 0;
}
#breadcrumb ul li:after {
  content: "/";
  margin: 0 10px;
  font-weight: 100;
  font-size: 20px;
  vertical-align: -3px;
  color: #757575;
}
#breadcrumb ul li:last-child::after {
  content: none;
}
#breadcrumb ul li span {
  /* font-size: 0.8rem; */
  margin: 0;
  font-size: 11px;
}
#breadcrumb ul li a {
  padding-bottom: 2px;
  color: #757575 !important;
}
#breadcrumb ul li.current-menu-item a {
  color: #424242 !important;
  pointer-events: none;
}
#breadcrumb ul li a:hover {
  color: #424242 !important;
  text-decoration: underline;
}
#breadcrumb ul li.icon-home a:hover {
  text-decoration: none;
}
.side-navigation {
  width: 280px;
  height: 100vh;
  padding: 80px 24px 24px 24px;
  margin: 0;
  display: block;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: -280px;
  right: 0;
  overflow-y: scroll;
  -webkit-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
  transform: none;
}
#quaternary-menu {
  font-family: "Roboto Condensed", "Noto Sans JP", sans-serif;
  font-size: 0.95rem;
}
#quaternary-menu li {
  margin: 0 0 16px 0;
}
.open .side-navigation {
  transform: translate3d(280px, 0, 0);
}
/* nav-toggle */
#nav-toggle {
  width: 24px;
  height: 19px;
  position: absolute;
  top: 50%;
  left: 24px;
  transform: translate(0%, -50%);
  cursor: pointer;
  display: block;
}
#nav-toggle > div {
  position: relative;
  width: 24px;
}
#nav-toggle span {
  width: 100%;
  height: 2px;
  left: 0;
  display: block;
  background: #000;
  position: absolute;
  -webkit-transition: 0.35s ease-in-out;
  -moz-transition: 0.35s ease-in-out;
  transition: 0.2s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 8px;
}
#nav-toggle span:nth-child(3) {
  top: 16px;
}
#overlay {
  display: none;
  position: fixed;
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
/* nav open */
.open {
  overflow: hidden;
}
.open #overlay {
  display: block;
  z-index: 99;
}
/* #nav-toggle close */
.open #nav-toggle span:nth-child(1) {
  top: 8px;
  transform: rotate(45deg);
}
.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3) {
  top: 8px;
  transform: rotate(-45deg);
}

/* template03 */
.form__wrap {
  width: 100%;
  /* max-width: 900px; */ /*ãƒ•ã‚©ãƒ¼ãƒ ã®æœ€å¤§å¹…*/
  margin: 0 auto;
}
.wpcf7 .template03 {
  color: #000;
  margin: 40px auto 0 auto;
}
.wpcf7 .template03 a {
  margin: 0;
  padding: 0;
  text-decoration: underline;
  color: inherit;
  transition: opacity 0.25s;
}
.wpcf7 .template03 a:hover {
  opacity: 0.5;
  transition: opacity 0.25s;
}
.wpcf7-list-item {
  display: block;
}
.wpcf7 .template03 div.form__row {
  display: block;
  align-items: center;
  margin: 0;
  border-bottom: 1px dotted #757575;
  padding: 16px 0;
}
.wpcf7 .template03 div.form__row.row-privacy,
.wpcf7 .template03 div.form__row.row-submit {
  display: block;
  margin-top: 1em;
  text-align: center;
  border-bottom: none;
}
.wpcf7 .template03 div.form__row.row-privacy .form__body,
.wpcf7 .template03 div.form__row.row-submit .form__body {
  width: 100%;
}
.wpcf7 .template03 div.form__row.row-message {
  align-items: center;
}
.wpcf7 p.form__label,
.wpcf7 p.form__body {
  margin: 0;
  box-sizing: border-box;
}
.wpcf7 .template03 p.form__label {
  width: 100%;
  padding: 32px 0 8px 0;
}
.wpcf7 .template03 p.form__body {
  width: 100%;
  padding: 8px 0 32px 0;
}
.wpcf7 .template03 p.form__label label {
  position: relative;
  padding-left: 44px;
}
.wpcf7 .template03 p.form__label label::after {
  content: "\4EFB\610F";
  display: block;
  position: absolute;
  top: -3px;
  left: 0;
  width: 36px;
  margin: 0;
  padding: 0 5px;
  border-radius: 0;
  background-color: #9e9e9e;
  color: #fff;
  font-size: 11px;
  text-align: center;
  box-sizing: border-box;
  border: 1px solid #9e9e9e;
}
.wpcf7 .template03 p.form__label.is-required label {
  position: relative;
}
.wpcf7 .template03 p.form__label.is-required label::after {
  content: "\5FC5\9808";
  display: block;
  position: absolute;
  width: 36px;
  margin: 0;
  padding: 0 5px;
  border: 1px solid #d50000;
  background-color: #d50000;
  color: #fff;
  font-size: 10px;
  text-align: center;
  box-sizing: border-box;
}
.wpcf7 .template03 input[type="text"],
.wpcf7 .template03 input[type="tel"],
.wpcf7 .template03 input[type="email"],
.wpcf7 .template03 textarea {
  width: 100%;
  margin: 0;
  padding: 16px;
  border: 1px solid #333;
  /*border-left: 4px solid #333;*/
  border-radius: 0;
  box-shadow: none;
  background-color: #fff;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-size: 1rem;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.zip2 input {
  margin: 0 0 8px 0 !important;
}
.wpcf7 .template03 input[type="text"]::placeholder,
.wpcf7 .template03 input[type="tel"]::placeholder,
.wpcf7 .template03 input[type="email"]::placeholder,
.wpcf7 .template03 input[type="url"]::placeholder,
.wpcf7 .template03 input[type="date"]::placeholder,
.wpcf7 .template03 input[type="number"]::placeholder,
.wpcf7 .template03 textarea::placeholder {
  color: #ccc;
}
.wpcf7 .template03 input[type="text"]:-ms-input-placeholder,
.wpcf7 .template03 input[type="tel"]:-ms-input-placeholder,
.wpcf7 .template03 input[type="email"]:-ms-input-placeholder,
.wpcf7 .template03 input[type="url"]:-ms-input-placeholder,
.wpcf7 .template03 input[type="date"]:-ms-input-placeholder,
.wpcf7 .template03 input[type="number"]:-ms-input-placeholder,
.wpcf7 .template03 textarea:-ms-input-placeholder {
  color: #ccc;
}
.wpcf7 .template03 input[type="text"]::-ms-input-placeholder,
.wpcf7 .template03 input[type="tel"]::-ms-input-placeholder,
.wpcf7 .template03 input[type="email"]::-ms-input-placeholder,
.wpcf7 .template03 input[type="url"]::-ms-input-placeholder,
.wpcf7 .template03 input[type="date"]::-ms-input-placeholder,
.wpcf7 .template03 input[type="number"]::-ms-input-placeholder,
.wpcf7 .template03 textarea::-ms-input-placeholder {
  color: #ccc;
}
.wpcf7 .template03 input[type="text"]:focus,
.wpcf7 .template03 input[type="tel"]:focus,
.wpcf7 .template03 input[type="email"]:focus,
.wpcf7 .template03 input[type="url"]:focus,
.wpcf7 .template03 input[type="date"]:focus,
.wpcf7 .template03 input[type="number"]:focus,
.wpcf7 .template03 textarea:focus {
  outline: 0;
  box-shadow: 5px 5px 0px 0px rgba(205, 205, 205, 0.7);
}
.wpcf7 .template03 input[type="checkbox"] {
  display: none;
}
.wpcf7 .template03 input[type="checkbox"] + span {
  cursor: pointer;
  position: relative;
  margin: 0;
  padding: 0 1em 0 1.8em;
  font-size: 1rem;
  box-sizing: border-box;
  transition: opacity 0.25s ease;
}
.wpcf7 .template03 input[type="checkbox"] + span::before {
  content: "";
  opacity: 1;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.24em;
  height: 1.24em;
  border: 1px solid #333;
  border-radius: 0;
  background-color: #fff;
  box-sizing: border-box;
  transition: opacity 0.25s ease;
}
.wpcf7 .template03 input[type="checkbox"] + span::after {
  content: "";
  opacity: 0;
  display: block;
  position: absolute;
  top: 0.15em;
  left: 0.44em;
  width: 0.4em;
  height: 0.8em;
  border-bottom: 3px solid #000;
  border-right: 3px solid #000;
  box-sizing: border-box;
  transform: rotate(40deg);
  transition: all 0.25s;
}
.wpcf7 .template03 input[type="checkbox"]:checked + span {
  color: #333;
  transition: all 0.25s ease;
}
.wpcf7 .template03 input[type="checkbox"]:checked + span::before {
  opacity: 0;
}
.wpcf7 .template03 input[type="checkbox"]:checked + span::after {
  opacity: 1;
  border-bottom: 2px solid #333;
  border-right: 2px solid #333;
  transform: rotate(400deg);
  transition: all 0.25s;
}
/* ãƒ©ã‚¸ã‚ªãƒœã‚¿ãƒ³ */
.wpcf7 .template03 input[type="radio"] {
  display: none;
}
.wpcf7 .template03 input[type="radio"] + span {
  cursor: pointer;
  position: relative;
  padding: 0 1em 0 1.8em;
  font-size: 1rem;
  box-sizing: border-box;
  transition: opacity 0.25s ease;
}
.wpcf7 .template03 input[type="radio"] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  border: 1px solid #ccc;
  border-radius: 50%;
  background-color: #fff;
  box-sizing: border-box;
  transition: opacity 0.25s ease;
}
.wpcf7 .template03 input[type="radio"] + span::after {
  content: "";
  display: block;
  opacity: 0;
  position: absolute;
  border: 1px solid #ccc;
  box-sizing: border-box;
  transition: opacity 0.25s ease;
}
.wpcf7 .template03 input[type="radio"]:checked + span {
  font-weight: 500;
  text-decoration: underline;
  color: #333;
  transition: all 0.25s ease;
}
.wpcf7 .template03 input[type="radio"]:checked + span::before {
  background-color: transparent;
}
.wpcf7 .template03 input[type="radio"]:checked + span::after {
  opacity: 1;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  border: 3px solid #333;
  border-radius: 50%;
  background-color: transparent;
  animation-name: border-circle;
  animation-duration: 0.25s;
  transition: opacity 0.25s ease;
}
.wpcf7 .template03 span.select-wrap {
  position: relative;
  width: 250px;
  margin: 0;
}
.wpcf7 .template03 select {
  cursor: pointer;
  width: 250px;
  max-width: 100%;
  margin: 0;
  padding: 1em 1.8em 1em 1em;
  border: 1px solid #333;
  border-left: 4px solid #333;
  border-radius: 0;
  box-shadow: none;
  background-color: #fff;
  color: inherit;
  font-size: 1rem;
  line-height: 1;
  box-sizing: border-box;
  transition: border-color 0.2s ease, outline 0.2s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
}
.wpcf7 .template03 select::-ms-expand {
  display: none;
}
.pref1 select {
  margin: 24px 0 !important;
}
.wpcf7 .template03 span.select-wrap::after {
  content: "";
  pointer-events: none;
  position: absolute;
  display: block;
  width: 0.6em;
  height: 0.6em;
  top: calc(50% + 0.1em);
  right: 1em;
  margin-top: -4px;
  border-bottom: 1px solid #b3b3b3;
  border-right: 1px solid #b3b3b3;
  transform: rotate(45deg) translateY(-50%);
  transform-origin: 50% 0;
  box-sizing: border-box;
}
.wpcf7 .template03 span.pref1::after {
  content: "";
  pointer-events: none;
  position: absolute;
  display: block;
  width: 0.6em;
  height: 0.6em;
  top: calc(50% + 0.1em);
  right: 1em;
  margin-top: -4px;
  border-bottom: 1px solid #b3b3b3;
  border-right: 1px solid #b3b3b3;
  transform: rotate(45deg) translateY(-50%);
  transform-origin: 50% 0;
  box-sizing: border-box;
}
.wpcf7 .template03 select:focus {
  outline: 0;
  box-shadow: 2px 3px 2px 1px rgba(205, 205, 205, 0.7);
}
.wpcf7 .template03 span.select-wrap:focus-within::after {
  border-bottom: 1px solid #080808;
  border-right: 1px solid #080808;
}
.wpcf7 .template03 .submit-btn {
  overflow: hidden;
  position: relative;
  width: 320px;
  height: 65px;
  max-width: 100%;
  margin: 0;
  padding: 0;
  margin-left: auto;
  margin-right: auto;
}
.wpcf7 .template03 input[type="submit"] {
  cursor: pointer;
  position: relative;
  width: 320px;
  height: 65px;
  max-width: 100%;
  padding: 18px;
  border-radius: 0;
  box-shadow: none;
  border: 1px solid #000;
  background-color: #000;
  color: #fff;
  font-size: 18px;
  text-align: center;
  box-sizing: border-box;
  transition: opacity 0.25s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  z-index: 10;
}
.wpcf7 .template03 input[type="submit"] ~ div.submit-bg {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  width: 200%;
  height: 65px;
  background-color: #fff;
  background-image: linear-gradient(90deg, #000, #000);
  background-position: 100% 0;
  background-size: 50% 100%;
  background-repeat: no-repeat;
  box-sizing: border-box;
  transform: translateX(-50%);
  transition: transform 0.25s;
  z-index: 1;
}
.wpcf7 .template03 input[type="submit"]:hover {
  color: #fff;
}
.wpcf7 .template03 input[type="submit"]:hover ~ div.submit-bg {
  transform: translateX(-4px);
  transition: transform 0.25s;
}
.wpcf7 .template03 input[type="submit"]:focus {
  outline: 0;
}
.wpcf7 .template03 input[type="submit"]:disabled {
  cursor: not-allowed;
  box-shadow: none !important;
  border: 1px solid #9e9e9e !important;
  background-color: #9e9e9e !important;
  color: #fff !important;
}
.wpcf7 .template03 span.wpcf7-list-item {
  margin: 0 0 16px 0;
}
span.wpcf7-list-item.last {
  margin: 0 !important;
}
.wpcf7 .template03 .ajax-loader {
  display: block;
}
.wpcf7 form .wpcf7-response-output {
  width: 88%;
  max-width: 960px;
  margin: 24px auto 16px auto;
  padding: 16px;
  border: 2px solid #00a0d2; /* Blue */
}
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
  display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
  border-color: #46b450; /* Green */
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  border-color: #d50000; /* Red */
}
.wpcf7 form.spam .wpcf7-response-output {
  border-color: #f56e28; /* Orange */
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  border-color: #d50000; /* Yellow */
  color: #d50000;
}
.wpcf7-form-control-wrap {
  position: relative;
}
.wpcf7-not-valid-tip {
  color: #d50000; /* Red */
  font-size: 1rem;
  font-weight: 400;
  display: block;
  margin: 8px 0 0 0;
}
select[name="pref1"] {
  margin: 16px 0 24px 0 !important;
}
@keyframes border-circle {
  0% {
    width: 0;
    height: 0;
    transform: translate(0.5em, 0.5em);
  }
  100% {
    width: 1em;
    height: 1em;
    transform: translate(0, 0);
  }
}
.grecaptcha-badge {
  /* 表示を消す */
  visibility: hidden !important;
}
@media screen and (max-width: 1320px) {
  .main-navigation {
    display: none;
  }
}
@media screen and (max-width: 840px) {
  .card-2-img {
    height: 340px;
  }
}
@media screen and (max-width: 640px) {
  .card-2-img {
    height: 340px;
  }
}
@media screen and (max-width: 600px) {
  .card-2 {
    width: 100%;
    margin: 0 0 56px 0;
  }
}

.item-contents-text {
  text-align: justify;
}

.banjaku-item-spec {
  margin: 0 auto 35px auto;
}

.banjaku_title-section_text {
  text-align: center;
}

.small-text_item {
  font-size: 10px;
}

.mastiha-display_item {
  display: none;
}

.spa-text_info {
  font-size: 0.8rem;
}

.page_mastiha_items_outline {
  width: 29%;
}

.page_mastiha_items_text {
  height: 140px;
}

.page_mastiha_items_price {
  margin: 0 auto 120px auto;
}

.masfit-all-in-onegel_main-img {
  max-height: 639px;
  width: auto;
  margin: 0 auto;
}

.masfit-all-in-onegel_info-text {
  text-align: start;
}
