@charset "utf-8";

::selection {
	background-color: #51221a;
	color: #fff;
}

a {
	transition: all .3s;
}

a:hover {
	opacity: 0.7;
}

body {
  color: #333;
}

input,
button,
textarea {
	outline: none;
}

input:focus,
textarea:focus {
  background: #f7f7f7;
}

.sp {
	display: none;
}

img {
  max-width: 100%;
}

.inner {
  max-width: 1200px;
  margin: 0 auto;
}

.fv {
  padding: 350px 0;
}

.parallax {
  background-size: contain;
}

section {
  padding: 300px 0;
  text-align: center;
  color:#fff;
}

section h2 {
  font-size: 42px;
  line-height: 1.5em;
  text-shadow: 0px 0px 4px #000000;
}

section p {
  font-size: 24px;
  line-height: 2em;
  font-weight: bold;
}

.box-title {
  font-size: 40px;
  line-height: 1.5em;
  color: #333;
  text-shadow: none;
  font-family: 'Noto Serif JP', serif;
}

.box02-title {
  font-size: 54px;
  line-height: 1.35;
  letter-spacing: 0.08em;
  color: #333;
  text-shadow: none;
  font-family: 'Noto Serif JP', serif;
}

.box02-title span {
  font-size: inherit;
  line-height: inherit;
}

.box-text {
  line-height: 2em;
  font-weight: bold;
  text-shadow: none;
  color: #333;
  margin-top: 50px;
  font-family: 'Noto Serif JP', serif;
}

.service-detail {
  padding: 110px 20px;
  background: #fff;
  color: #333;
  text-align: left;
}

.service-detail_inner {
  max-width: 980px;
  margin: 0 auto;
  padding-left: 60px;
  box-sizing: border-box;
}

.service-detail ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 28px;
  line-height: 1.8;
  font-weight: bold;
  font-family: 'Noto Serif JP', serif;
}

.service-detail li {
  padding-left: 1.2em;
  text-indent: -1.2em;
}

.service-detail li + li {
  margin-top: 12px;
}

.service-detail li::before {
  content: "□";
  margin-right: 0.35em;
}

#box00, #box03, #box08 {
  padding: 350px 0;
}

#box02, #box04 {
  padding: 270px 0;
}

#box07 {
  padding: 100px 20px;
  color: #333;
}

.box07_inner {
  max-width: 860px;
  margin: 0 auto;
  width: 100%;
}

#box07 h2 {
  text-align: center;
  font-size: 36px;
  margin: 0 0 50px;
  color: #333;
  text-shadow: 0px 0px 0px #000000;
}

#box07 dl {
  display: flex;
  text-align: left;
  font-size: 18px;
  line-height: 2em;
  font-weight: bold;
  margin-bottom: 3%;
}

#box07 dt {
  flex: 0 0 25%;
  margin-right: 5%;
}

#box07 dd {
  flex: 0 0 70%;
}

.company-profile-wide dd {
  line-height: 1.7;
}

.company-profile_note {
  display: block;
  margin-top: 10px;
  text-align: left;
}

.company-profile_note-heading {
  margin-top: 24px;
}

#box09, #box10 {
  padding: 100px 20px;
  color: #333;
}

.box09_inner, .box10_inner {
  max-width: 800px;
  margin: 0 auto;
  width: 100%;
}

#box09 h2 {
  text-align: center;
  font-size: 36px;
  margin: 0 0 50px;
  color: #333;
  text-shadow: 0px 0px 0px #000000;
}

#box09 p {
  text-align: left;
  font-size: 16px;
  margin-top: 20px;
}

.box09_text {
  text-align: left;
  font-size: 14px !important;  
  font-weight: normal;
  margin-top: 20px;
}

.access-photo {
  margin-top: 40px;
}

.access-photo img {
  display: block;
  width: 100%;
}

#box10 h2 {
  text-align: center;
  font-size: 36px;
  margin: 0 0 50px;
  color: #333;
  text-shadow: 0px 0px 0px #000000;
}

#box10 p {
  text-align: left;
  font-size: 16px;
  margin-top: 20px;
}

#box10 a {
  color: #333;
  display: block;
  font-style: italic;
  text-decoration: underline;
  text-align: left;
  font-size: 16px;
  margin-top: 20px;
}

.map iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.map {
  position: relative;
  padding-top: 50%;
}

#overview {
  padding: 100px 20px;
  color: #333;
}

.overview_inner {
  max-width: 650px;
  margin: 0 auto;
  width: 100%;
}

#overview h2 {
  text-align: center;
  font-size: 36px;
  margin: 0 0 50px;
  color: #333;
  text-shadow: 0px 0px 0px #000000;
}

#overview p {
  text-align: left;
  text-shadow: none;
  font-size: 18px;
}

.overview_text {
  display: flex;
  justify-content: space-between;
}

#footer {
  background: #72C3D7;
  text-align: center;
  padding: 80px 0 60px;
}

#footer a {
  color: #fff;
}

#footer img {
  width: 42px;
}

#footer p {
  color: #fff;
  font-size: 12px;
  margin: 75px 0 0;
}

.close-btn {
  position: fixed;
  right: 40px;
  top: 40px;
  z-index: 999;
  color: #ffffff;
}

.close-btn i {
  font-size: 40px;
}

.modal_content{
  background: #fff;
  left: 50%;
  padding: 40px;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 60%;
  max-height: 50vh;
  overflow: auto;
  z-index: 999;
}

.portrait02_outa {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

iframe.portrait02 {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.modal_content p {
  color: #000000;
  font-weight: normal !important;
  text-shadow: none !important;
  margin: 20px 0;
  line-height: 1.5;
}

.modal_content h3 {
    font-size: 30px;
    margin: 0 0 30px;
    border-left: 9px solid #51221a;
    padding: 0 0 0 15px;
    line-height: 1.5;
  }

.modal_content h4 {
    margin: 30px 0 20px;
    font-size: 20px;
    line-height: 1.5;
  }

.modal_bg{
  background: rgba(0,0,0,0.8);
  height: 100vh;
  position: absolute;
  width: 100%;
  z-index: 99;
}

@media screen and (max-width: 1599px) {
  #header .inner .h_logo {
    width: 20%;
  }
  #header .inner nav {
    width: 80%;
  }
  #header .inner nav ul li {
    margin: 0 0 0 5%;
  }
  #header .inner {
    padding-left: 3%;
    padding-right: 3%;
  }
}

/* page.php */

#page .inner {
  padding: 60px 0;
  line-height: 1.5;
}

#page .inner h2 {
  padding: 0 0 50px;
  text-align: center;
  font-size: 36px;
}


/* contact */

.contactbox {
  max-width: 650px;
  margin: auto;
}

dl.contactbox_form {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #ccc;
}

dl.contactbox_form dt {
  width: 30%;
  font-weight: bold;
  color: #fff;
  text-align: center;
  padding: 22px 0;
  border-bottom: 1px solid #fff;
  background: #9E2624;
}

dl.contactbox_form dd {
  width: 70%;
  padding: 15px 20px 15px;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  box-sizing: border-box;
  font-size: 14px;
}

dl.contactbox_form dd input,
dl.contactbox_form dd textarea {
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
  border: 1px solid #ccc;
  padding: 10px;
  font-size: 14px;
}

dl.contactbox_form dd textarea {
  width: 100% !important;
  resize: none;
}

ul.contactbox_form_submit input {
  border: none;
  background: #a02328;
  color: #ffffff;
  padding: 10px;
  cursor: pointer;
  width: 200px;
  display: block;
  margin: auto;
  font-size: 20px;
}

ul.contactbox_form_submit {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 30px 0 0;
  justify-content: center;
}

ul.contactbox_form_submit li {
  text-align: center;
  width: 100%;
  margin: 0 0 20px;
}

.contactbox_buy {
  margin: 0 0 50px;
}

dl.contactbox_buy_dl {
  display: flex;
  justify-content: space-between;
}

.contactbox_buy_dl + p {
  border-bottom: 1px dotted #ccc;
  padding: 0 0 16px;
}

dl.contactbox_buy_dl dt {
  font-weight: bold;
}

.mw_wp_form select,
.mw_wp_form input,
.mw_wp_form textarea {
  border-radius: 8px;
  border: 1px solid #ccc !important;
}

.contactbox_buy p {
  margin: 3px 0 20px;
  font-size: 12px;
}

dl.contactbox_buy_dl select {
  margin: 0 0 0 20px;
  font-size: 18px;
}

dl.contactbox_buy_dl span {
  font-size: 20px;
  margin: 0 0 0 10px;
  color: #a02328;
  font-weight: bold;
}

dl.contactbox_buy_dl select {
  border: 1px solid #ccc;
}

@media screen and (max-width: 640px) {
  #overview p {
    font-size: 3vw;
  }
  #box07 dl {
    font-size: 3vw;
  }
  #box07 dt {
    margin-right: 5%;
  }
  #box07 p {
    font-size: 3vw;
  }
  #box09 p {
    font-size: 3vw;
    margin-top: 5%;
  }
  .box09_text {
    font-size: 2.8vw !important;
  }
  #box09 img {
    margin-top: 5%;
  }
  #box10 p {
    font-size: 3vw;
    margin-top: 5%;
  }
  #box10 a {
    font-size: 3vw;
    margin-top: 5%;
  }
  dl.contactbox_buy_dl {
    display: block;
  }
  dl.contactbox_form {
    display: block;
  }
  dl.contactbox_form dt {
    width: 100%;
    padding: 15px;
    text-align: left;
    box-sizing: border-box;
  }
  dl.contactbox_form dd {
    width: 100%;
  }
  dl.contactbox_form dd {
    padding: 15px 0 15px;
  }
  dl.contactbox_form dd {
    border-right: none !important;
  }
}

.mwform-tel-field input[type="text"], .mwform-zip-field input[type="text"] {
  width: 80px !important;
}

#adressinput {
  width: -webkit-calc(100% - 3em);
  width: calc(100% - 3em);
  margin: 16px 0 0;
}

#contact_bnr {
  background: url('../img/contact_bnr.jpg') no-repeat 50% 50%;
  background-size: cover;
  padding: 150px 0 120px;
  text-align: center;
}

#contact_bnr p {
  font-size: 28px;
  font-weight: bold;
  margin: 0 0 45px;
}

#contact_bnr .contact_btn a {
  display: inline-block;
  font-size: 22px;
  padding: 25px 65px;
  background: #5D2F1A;
  color: #fff;
  font-weight: bold;
  border-radius: 40px;
}

.explain {
  text-align: center;
}
.store01 {
  max-width: 520px;
  margin: 75px auto;
}
.store01 li {
  margin: 60px 0;
}
.store01 li h3 {
  font-size: 24px;
  border-bottom: 1px solid #9e2624;
  padding: 0 0 8px;
}
.store01 li p {
  margin: 10px 0;
  font-size: 20px;
}
.store01 li dl {
  overflow: hidden;
  margin: 3px 0;
}
.store01 li dl dt {
  float: left;
  width: 100px;
  background: #9e2624;
  color: #fff;
  text-align: center;
  font-size: 16px;
  padding: 2px 0;
}
.store01 li dl dd {
  font-size: 16px;
  float: left;
  margin: 0 0 0 10px;
  padding: 2px 0;
}


.movie li{
	margin:0 auto 30px;
	max-width:480px;
}
.movie li img{
	width:100%;
	margin-bottom:10px;
}
