@charset "UTF-8";

/* ----------------------------- リセット */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, var, b, i, dl dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ""; content: none; }
a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
ins { background-color: #ff9; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
input, select { vertical-align: middle; }
img { vertical-align: bottom; font-size: 0; line-height: 0; }
sup { font-size: 8px; }
em { font-style: normal; }
/*div:before, div:after, ul:before, ul:after, ol:before, ol:after, dl:before, dl:after { content: ""; display: block; }*/
div:after, ul:after, ol:after, dl:after { clear: both; }
div, ul, ol, dl { zoom: 1; }

ul#wp-admin-bar-root-default:after { clear: none; }
div,section,article,span,nav,header,footer,p,h1,h2,h3,h4 { box-sizing: border-box; color: #000; }

/* ----------------------------- 全体 */
body { font-size: 14px; color: #000; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "Noto Serif JP", "MS P明朝", "MS PMincho", serif; background: #fff; position: relative; width: 100; line-height: 1.4;}

a:link, a:visited { color: #5a4a42; text-decoration: none; }
a:hover, a:active { text-decoration: none; }
a, a img { -webkit-transition: 0.2s ease all; -moz-transition: 0.2s ease all; -ms-transition: 0.2s ease all; transition: 0.2s ease all; }
a:hover img { opacity: 0.9; -ms-filter: "alpha(opacity=9)"; filter: alpha(opacity=9); }

.pc{ display: block; }
.sp{ display: none; }

img, .bx-wrapper img { width: 100%; height: auto; }

.wrap{
	width: 1000px;
	margin: 0 auto;
}
.clearfix::after {
	clear: both;
	content: ".";
	display: block;
	font-size: 0;
	height: 0;
	visibility: hidden;
}
.cf::after {
	clear: both;
	content: ".";
	display: block;
	font-size: 0;
	height: 0;
	visibility: hidden;
}
.clearfix,.cf {
	min-height: 1px;
}
.clear {
	clear: both;
}
.pc {
	display: block;
}
.sp {
	display: none;
}
a.hover img,button:hover {
	opacity: 1;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
	backface-visibility: hidden;
}
a.hover:hover img {
	opacity: .9;
}
a,button {
	opacity: 1;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}
a:hover,button:hover {
	opacity: .9;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.fl-clear {
	width: 100%;
	clear: both;
	overflow: hidden;
}
@media (min-width: 751px) {
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	color: #5a4a42;
	}
}
/* ----------------------------- フォント */
.m-txt {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "Noto Serif JP", "MS P明朝", "MS PMincho", serif;
}
.g-txt {
	font-family: "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ　Ｐゴシック", "MS PGothic", sans-serif;
}

.r-mode {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
h2 {
	font-size: 40px;
	font-weight: bold;
	margin: 0 1%;
	position: relative;
}
h2 span.white {
	color: #fff;
}
.h2_title {
	font-size: 1vw;
	font-weight: bold;
	text-align: center;
	margin: 2vw auto;
	display: flex;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	-js-display: flex;
	align-items: center;
	text-align: center;
	width: 100%;
}
.h2_title:before,
.h2_title:after {
	border-left: 1px solid #111;
	content: "";
	display: inline;
	flex-grow: 1;
}
.h2_title span {
	padding: 0 2vw;
}
.line {
	width: 2px;
	height: 70px;
	background: #fff;
	display: inline-block;
	vertical-align: -webkit-baseline-middle;
	margin: 26px 0;
}
.adove {
	width: 100%;
	margin: 0 auto;
}
	/* ボタンの共通CSS */
.Adobe .btn {
  margin-top: 30px;
  text-align: center;
}
.Adobe .btn a {
	background-color: #2d96ff;
	border: 1px solid #2d96ff;
	border-radius: 50px;
	color: #fff;
	display: inline-block;
	font-size: 15px;
	padding: 20px;
	position: relative;
	text-decoration: none;
	width: 300px;
}
/* 矢印が画像(hoverで反転:画像2枚必要) */
.Adobe .btn a {
  transition: color .5s, background-color .5s;
}
.Adobe .btn a::before,
.Adobe .btn a::after {
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	content: "";
	height: 25px;
	margin: auto;
	position: absolute;
	right: 30px;
	top: 0;
	transition: opacity .5s;
	width: 25px;
}
.Adobe .btn a::before {
  background-image: url(https://junpei-sugiyama.com/wp-content/uploads/2022/03/btn-arrow-before.png);
}
.Adobe .btn a::after {
  background-image: url(https://junpei-sugiyama.com/wp-content/uploads/2022/03/btn-arrow-after.png);
  opacity: 0;
}
.Adobe .btn a:hover {
  background-color: #fff;
  color: #2d96ff;
}
.Adobe .btn a:hover::before {
  opacity: 0;
}
.Adobe .btn a:hover::after {
  opacity: 1;
}
.slide-block {
	width: 100%;
}
.visual {
	width: 500px;
	height: 360px;
	margin: 0 auto;
	background: red;
}
ul{
  background-color: #35924A;
  width: 150px;
  padding: 0;
  color: #fff;
  float: left;
  margin-left:30px;
}

li{
  list-style: none;
}

ul ul{
  height: 0;
  padding: 0;
  overflow: hidden;
  transition: .5s;
  border-top: 1px solid #67a863;
  background-color: #5EAA6C;
  margin:0;
}

ul li li{
  border-bottom: 1px dotted #7FBF8B;
  padding: 10px 0 10px 10px;
  margin-left:15px;
}

ul:nth-of-type(1) li.active li:last-child{
  border-bottom:1px solid #67a863; 
}
/*
button{
	position: relative;
	border: none;
	width: 100%;
	background-color: inherit;
	color: #fff;
	cursor: pointer;
	text-align: left;
	padding: 15px 0 15px 20px;
	font-size:1em;
}
button:hover{
  background-color: #1A5B27;
}

button::before,
button::after{
	content:"";
	position: absolute;
	top: 20px;
	width: 1.5px;
	height: 8px;
	background-color: #fff;
	transition: .5s;
}

button::before{
	transform: rotate(-45deg);
	right: 35px;
}

button::after{
  transform: rotate(45deg);
  right: 30px;
}

li.active button::before{
  transform: rotate(-135deg);
  transition:.5s;
}

li.active button::after{
  transform: rotate(135deg);
  transition:.5s;
}

ul:nth-of-type(2){ background-color: #357D87; }
ul:nth-of-type(2) ul{ background-color: #519FA5; border-top: 1px solid #5D9FA8; }
ul:nth-of-type(2) button:hover{ background-color: #1C4B56; }
ul:nth-of-type(2) li li{ border-bottom: 1px dotted #73BEBF; }
ul:nth-of-type(2) li.active li:last-child{ border-bottom:1px solid #5D9FA8; }

ul.active{ overflow-y: auto; }

.content_area {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 30px 20px;
}*/
.pc {
	display: block;
}
.sp {
	display: none;
}



header {
	width: 100%;
	height: 100%;
	position: relative;

}
.header-inner {
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 85%;
}
.header-text {
	width: 44%;
	position: relative;
}
.logo {
	width: 46%;
}
.header-text-inner {
	position: absolute;
	top: 13%;
	left: 5%;
}
.text_01 {
	display: inline-block;
	width: 42%;
	margin-left: 37%;
	margin-top: 0;
}
.text_02 {
	display: inline-block;
	width: 88%;
	margin-bottom: 0;
}
.text_03 {
	display: inline-block;
	width: 88%;
	margin-bottom: 0;
	padding-left: 1%;
}
.text_04 {
	display: inline-block;
	width: 86%;
	margin-bottom: 0;
	padding-left: 1%;
}
h1.text-05 {
	font-size: 27px;
	font-weight: bold;
	padding-left: 2%;
}
h2.text-06 {
	font-size: 20px;
	font-weight: bold;
	border: solid 1px #000;
	padding: 1.5% 3% 1.8%;
	margin: 1% 0 0 1%;
	width: 92%;
	line-height: 1.5;
}
.header-photo {
	width: 56%;
}
.header-photo-inner {
	width: 100%;
	height: 100%;
	position: relative;

}
.header-photo-inner span {
	display: inline-block;
	width: 73%;
	position: absolute;
	right: 0;
	bottom: 3%;

}
.mv-btn {
	width: 100%;
	height: auto;
	position: absolute;
	bottom: 5%;
	margin: 0 auto;
}
.mv-btn-inner {
	width: 75%;
	margin: 0 auto;
}
.mv-btn span {
	display: inline-block;
}
.mv-btn p {
	font-size: 19px;
	font-weight: bold;
	text-align: center;
	margin: .5% auto;
}
main {
	width: 100%;
	background-image: url(images/lp/pattern_01.jpg);
	background-size: 100%;
	background-repeat: repeat-y;
}
footer {
	background: #542e39;
	color: #fff;
	text-align: center;
	font-size: 18px;
	padding: 16px 0;
}
#equipment {
	width: 100%;
	padding: 7vw 0;
}
.equipment-inner {
	width: 100%;
	padding: 260px 0 100px;

}
.Interior {
	width: 100%;
	display: flex;
	margin-top: -130px;
	position: relative;
}
.Interior h2 {
	position: absolute;
	left: 5%;
	top: -12%;
}
.Interior p,.exterior p {
	font-size: 19px;
	margin: 1vw 0 4vw;
	padding: 0 2vw;
}
.exterior {
	width: 100%;
	display: flex;
}
.exterior-inner {
	width: 33.33%;
}
#chosen {
	width: 100%;
	position: relative;
	margin: 0 0 11vw;
}
#chosen h2 {
	position: absolute;
	left: 5%;
	top: -14%;
}
#chosen .line {
	width: 2px;
	height: 70px;
	background: #000;
	display: inline-block;
	vertical-align: -webkit-baseline-middle;
	margin: 26px 0;
}
.chosen-inner {
	width: 100%;
	display: flex;
	margin: 0 0 30px 0;
	padding-left: 16%;
}
.chosen-main {
	width: 78%;
	height: 100%;
	position: relative;
}
.chosen-main.bt {
	width: 18%;
}
.chosen-photo {
	width: 49%;
	position: absolute;
	top: 0;
	left: -4%;
}
.chosen-text {
	width: 100%;
}
.chosen-inner h3 {
	width: 100%;
	height: 4vw;
	padding-left: 50%;
	padding-right: 5%;
	font-size: 26px;
	margin: 1vw 0 1vw;
}
.chosen-inner p {
	width: 100%;
	min-height: 13vw;
	padding-left: 50%;
	padding-top: 1vw;
	padding-right: 5%;
	background: #fff;
	font-size: 17px;
	margin: 10px 0 20px;
	line-height: 1.8;
}
.chosen-inner p.bk {
	background: #444;
	color: #fff;
}
.chosen-inner p.wt {
	background: #fff;
	color: #000;
}
#qa {
	width: 100%;
	min-height: 500px;
	margin: 7vw auto;
	position: relative;
}
#qa h2 {
	position: absolute;
	left: 5%;
	top: -14%;
}
  .qa-inner {
	width: 70%;
	margin: auto;
	padding: 2vw 0;
  }
  .cp_qa01 {
  border-top: 1px solid #1b2538;
}
.cp_qa01 .cp_actab input {
  display: none;
}
#qa .line {
	background: #000;
}
#reservation-form .cform {
    width: 90%;
    margin: auto;
}
#reservation-form {
	width: 100%;
	position: relative;
	min-height: 600px;
}
#reservation-form h2 {
	position: absolute;
	left: 5%;
	top: 1%;
}
#reservation-form .line {
	background: #000;
}
#reservation-form #contact {
	padding: 100px 0 200px;
}
#reservation-form #contact .form-block1 {
	width: 68vw;
	background: #fff;
	padding: 4% 3%;
	margin: 0 auto;
	position: relative;
	z-index: 1;
	min-height: 620px;
}
#reservation-form .cform th {
	font-size: .85vw;
	width: 30vw;
	border-bottom: solid 1px #c9bc9c;
	padding: 0 0 0 1.3vw;
	font-weight: bolder;
	text-align: left;
	vertical-align: middle;
	border-left: solid 1px #c9bc9c;
	border-right: solid 1px #c9bc9c;
	border-top: solid 1px #c9bc9c;
	background: #f2ede4;
}
#reservation-form .cform td {
	font-size: .85vw;
	width: 70%;
	line-height: 200%;
	border-bottom: solid 1px #c9bc9c;
	border-right: solid 1px #c9bc9c;
	border-top: solid 1px #c9bc9c;
	padding: .4rem;
	background: #fff;
}
#reservation-form #contact {
	width: 100%;
	position: relative;
	padding: 10px 0 200px;
	background-image: none;
	background-position: right top;
	background-repeat: repeat-y;
	background-size: 70%;
}
#reservation-form #contact .bg-pt1 {
	width: 8vw;
	height: 440px;
	background: none;
	background-size: 70px;
	position: absolute;
	top: 160px;
	left: 6vw;
	z-index: 1;
}
#reservation-form .mw_wp_form_complete {
	text-align: center;
	line-height: 1.7;
}
#reservation-form .form_completion_text1 {
	font-size: 24px;
	margin-bottom: 15px;
	margin-top: 20px;
}
#reservation-form .form_completion_text2 {
	font-size: 18px;
}
#reservation-form .cform-text {
    font-size: 22px;
    text-align: center;
    width: 94%;
    margin: 0 auto 32px;
}
#reservation-form .required-srt {
    background: #da8888;
    font-size: 16px;
}
/*質問テキスト*/
.cp_qa01 .cp_actab {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-bottom: 1px;
  color: #1b2538;
}
.cp_qa01 .cp_actab label {
  font-size: 22px;
  font-weight: bold;
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 0 0 0;
  padding: 0 6px;
  cursor: pointer;
  border-bottom: 1px solid #1b2538;
  background: #f9f6ef;
}
.cp_qa01 .cp_actab .cp_actab-content p {
  margin: 24px 6px;
}
.cp_qa01 .cp_actab label:hover {
  color: #00838F;
}
.cp_qa01 .cp_actab input:checked ~ label {
  color: #00838F;
}
/*答えテキスト*/
.cp_qa01 .cp_actab .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	color: #ffffff;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.6;
	background: #fff;
	transition: max-height 0.5s ease;
	display: flex;
	  padding: 0 6px;
}
.cp_qa01 .cp_actab input:checked ~ .cp_actab-content {
	max-height: 40em;

}
/*▼アイコン*/
.cp_qa01 .cp_actab label::after {
	position: absolute;
	content: '';
	right: 20px;
	width: 30px;
	height: 20px;
	background: #1b2538;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	transition: all 0.5s ease;

}
.cp_qa01 .cp_actab label:hover::after {
  background: #00838F;
}
.cp_qa01 .cp_actab input[type=checkbox]:checked + label::after {
  transform: rotateX(180deg);
  background: #00838F;
}
.cp_qa01 .cp_actab span {
  display: inline-block; width: 46px;
  margin: 24px 1.1vw;
}



@media screen and (min-width: 1032px) and (max-width: 1900px) {

	.Interior h2, #chosen h2, #qa h2, #reservation-form h2 {
		font-size: 2vw;
		top: -14.1%;
	}
	h1.text-05 {
		font-size: 1.2vw;
		font-weight: bold;
		padding-left: 2%;
	}
	h2.text-06 {
		font-size: 1vw;
		font-weight: bold;
		border: solid 1px #000;
		padding: 1.5% 3% 1.8%;
		margin: 1% 0 0 1%;
		width: 92%;
		line-height: 1.5;
	}
}

@media screen and (min-width: 1500px) and (max-width: 1919px) {
	.mv-btn p {
		font-size: 16px;
	}
	.chosen-inner h3 {
		width: 100%;
		height: 4vw;
		padding-left: 50%;
		padding-right: 5%;
		font-size: 24px;
		margin: 1vw 0 1vw;
	}
	.chosen-inner p {
		width: 100%;
		min-height: 13vw;
		padding-left: 50%;
		padding-top: 1vw;
		padding-right: 5%;
		background: #fff;
		font-size: 14px;
		margin: 6px 0 12px;
		line-height: 1.6;
	}
	.Interior p, .exterior p {
		font-size: 15px;
		margin: 1vw 0 4vw;
		padding: 0 2vw;
	}
	.cp_qa01 .cp_actab label {
		font-size: 18px;
		padding: 0 5px;
	}
	.cp_qa01 .cp_actab .cp_actab-content p {
    margin: 24px 6px;
    	font-size: 18px;
	}
	#reservation-form h2 {
	    position: absolute;
	    left: 5%;
	    top: -5%;
	}
}

@media screen and (min-width: 1024px) and (max-width: 1499px) {
	.mv-btn p {
		font-size: 13px;
	}
	.chosen-inner h3 {
		width: 100%;
		height: 4vw;
		padding-left: 50%;
		padding-right: 3%;
		font-size: 18px;
		margin: 1vw 0 1vw;
	}
	.chosen-inner p {
		width: 100%;
		min-height: 13vw;
		padding-left: 50%;
		padding-top: 1vw;
		padding-right: 8%;
		padding-bottom: 2%;
		background: #fff;
		font-size: 14px;
		margin: 2px 0 6px;
		line-height: 1.5;
		min-height: 14vw;
	}
	.chosen-inner p br {
		display: none;
	}
	.Interior p, .exterior p {
		font-size: 14px;
		margin: 1vw 0 4vw;
		padding: 0 2vw;
	}
	.cp_qa01 .cp_actab label {
		font-size: 15px;
		padding: 0 4px;
	}
	.cp_qa01 .cp_actab .cp_actab-content p {
	    margin: 24px 6px;
	    		font-size: 15px;
	}
	#reservation-form .cform-text {
	    font-size: 15px;
	    text-align: center;
	    width: 94%;
	    margin: 0 auto 32px;
	}
	#reservation-form .cform th {
	    font-size: 12px;
	    width: 30vw;
	    border-bottom: solid 1px #c9bc9c;
	    padding: 0 0 0 1.3vw;
	}
	#reservation-form .required-srt {
	    font-size: 12px;
	    display: inline-block;
	}
	.mw_wp_form select {
	    font-size: 12px;
	}
	.cform option, .cform textarea, .cform input[type=text], .cform input[type=email], .cform input[type=search], .cform input[type=url] {
	    font-size: 12px;
	}
	#reservation-form #contact .form-block1 {
		width: 68vw;
		padding: 4% 1%;
	}
	#reservation-form .cform th {
        font-size: 12px;
        width: 30vw;
        padding: 0 0 0 1vw;
    }
    #reservation-form #contact {
	    padding: 0 0 200px;
	}
	#reservation-form h2 {
	    position: absolute;
	    left: 5%;
	    top: -5%;
	}
}

@media screen and (min-width: 1890px) {
	.Interior h2 {
	    position: absolute;
	    left: 5%;
	    top: -14%;
	}
}

@media screen and (min-width: 1081px) {
	.pc {
		display: block;
	}
	.sp {
		display: none;
	}
	.dt-block {
		display: block;
	}
	.mb-block {
		display: none;
	}
}

@media screen and (max-width: 1080px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	.dt-block {
		display: none;
	}
	.mb-block {
		display: block;
	}
	.r-mode {
		writing-mode: horizontal-tb;
	}
	.logo {
		width: 50%;
		max-width: 390px;
	}
	.header-inner {
		width: 100%;
		height: auto;
		display: block;
		padding: 0 0 10vw 0;
	}
	.header-text {
		width: 100%;
		margin: 0 auto;
	}
	.header-text-inner {
		position: relative;
		margin: 19% auto 10%;
		padding: 0;
		left: 0;
		right: 0;
	}
	h1.text-05 {
		font-size: 12px;
		font-weight: bold;
		padding-left: 0;
		padding-top: 2%;
		padding-bottom: 2%;
		text-align: center;
		border-top: solid 2px #000;
		width: 91%;
		margin: 2% auto 1%;
	}
	h2.text-06 {
		font-size: 12px;
		font-weight: bold;
		border: solid 1px #000;
		padding: 1.5% 8% 1.8%;
		margin: 1% auto 2%;
		width: auto;
		line-height: 1.5;
		text-align: center;
		display: inline-block;
	}
	.text-block {
		width: 100%;
		max-width: 640px;
		margin: 0 auto;
		text-align: center;
		padding: 0;
	}
	.text_01 {
		display: inline-block;
		width: 43%;
		margin-left: 0;
		margin-right: 0;
		margin-top: 2vw;
	}
	.text_02 {
		display: inline-block;
		width: 82%;
		margin-top: 3%;
		margin-bottom: 2%;
	}
	.text_03 {
		display: inline-block;
		width: 84%;
		margin-top: 1%;
		margin-bottom: 1%;
	}
	.text_04 {
		display: inline-block;
		width: 84%;
		margin-top: 2%;
		margin-bottom: 2%;
	}
	.text_05 {
		display: inline-block;
		width: 93%;
		margin-top: 3%;
		margin-bottom:0;
	}
	.text_06 {
		display: inline-block;
		width: 88%;
		margin-top: 1%;
		margin-bottom: 1%;
	}
	.mv-btn-inner {
		width: 93%;
		margin: 6px auto 3px;
	}

	.header-photo {
		position: relative;
		width: 100%;
		margin-bottom: 70px;
	}
	.header-photo-inner span {
		display: inline-block;
		width: 100%;
		position: relative;
		right: 0;
		bottom: 1%;
	}
	.mv-btn {
		width: 100%;
		max-width: 680px;
		position: relative;
		bottom: 1.5%;
		margin: 0 auto;
	}
	.mv-btn p {
		font-size: 12px;
		font-weight: normal;
		margin: 8px auto 24px;
	}
	main {
		background-image: none;
		background-color: #f9f6ef;
		padding-top: 10vw;
	}
	.Interior p, .exterior p {
		font-size: 11px;
		margin: 5px 0 10px;
		padding: 0 2vw;
		min-height: 110px;
		line-height: 1.6;
	}
	h2 span.white {
		color: #000;
	}
	.line {
		width: 50px;
		height: 2px;
		background: #000;
		display: inline-block;
		vertical-align: middle;
		margin: 0 14px 5px 14px;
	}
	.mb-block .mv {
		display: none;
	}
	.mb-block .mv-tb {
		display: block;
	}
	#chosen h2 {
		position: relative;
		left: 0;
		top: 0;
	}
	#chosen .line {
		width: 50px;
		height: 2px;
		background: #000;
		display: inline-block;
		vertical-align: middle;
		margin: 0 14px 5px 14px;
	}
	h2 {
		font-size: 19px;
		font-weight: bold;
		margin: 0;
		position: relative;
		padding: 15px 18px;
	}
	#equipment {
		width: 100%;
		padding: 40px 0;
	}
	.equipment-inner {
		width: 100%;
		padding: 1vw 0 50px;
	}
	.Interior {
		width: 100%;
		display: flex;
		margin-top: 0;
		position: relative;
	}
	.Interior h2 {
		position: relative;
		left: 0;
		top: 0;
	}
	.chosen-inner {
		width: 100%;
		display: block;
		margin: 0 0 30px 0;
		padding-left: 0;
	}
	.chosen-main {
		width: 100%;
		margin: 2vw 0 6vw 0;
	}
	.chosen-main.bt {
		display: none;
	}
	.chosen-photo {
		width: 42%;
		position: absolute;
		top: 0;
		left: -1%;
		max-width: 290px;
	}
	.chosen-inner h3 {
		width: 100%;
		height: 12vw;
		padding-left: 44%;
		padding-right: 2%;
		padding-top: 8px;
		padding-bottom: 12px;
		font-size: 16px;
		margin: 5px 0 15px;
	}
	.chosen-inner p {
		width: 100%;
		min-height: 124px;
		padding-left: 44%;
		padding-right: 2%;
		padding-top: 8px;
		padding-bottom: 15px;
		background: #fff;
		font-size: 11px;
		margin: 6px 0 10px;
		line-height: 1.6;
	}
	#qa {
	    width: 100%;
	    min-height: 300px;
	    margin: 30px auto;
	}
	#qa h2 {
		position: relative;
		left: 0;
		top: 0;
	}
	.qa-inner {
		width: 94%;
		margin: auto;
		padding: 20px 0 30px;
	}
	.cp_qa01 .cp_actab label {
		font-size: 14px;
		margin: 0 0 0 0;
		padding: 0 6px;
		border-bottom: 1px solid #1b2538;
	}
	.cp_qa01 .cp_actab span {
		display: inline-block;
		width: 38px;
		margin: 20px 12px 20px 4px;
	}
	.cp_qa01 .cp_actab label::after {
		position: absolute;
		content: '';
		right: 12px;
		width: 22px;
		height: 11px;
		background: #1b2538;
		clip-path: polygon(0 0, 50% 100%, 100% 0);
		transition: all 0.5s ease;
	}
	.cp_qa01 .cp_actab .cp_actab-content {
		overflow: hidden;
		font-size: 15px;
		line-height: 1.6;
		transition: max-height 0.5s ease;
		padding: 0 6px;
	}
	#reservation-form h2 {
	    position: relative;
	    left: 0;
	    top: 0;
	    padding: 15px 10px 0 18px;
	}
	#reservation-form #contact {
	    padding: 0 0 60px;
	    background-image: none;
	}
	#reservation-form #contact .form-block1 {
	    width: 100vw;
	    background: #fff;
	    padding: 6% 5%;
	    margin: 0 auto;
	    position: relative;
	    z-index: 1;
	    min-height: 200px;
	}
	#reservation-form .cform tr {
	    margin-bottom: 25px;
	}
	#reservation-form .cform th {
			width: 100%;
	        border: none;
	        padding: 10px 14px;
	        display: block;
	        border-top: none;
	        margin-top: 10px;
	        font-size: 15px;
	        outline: solid 1px #f2ede4;
	}
	#reservation-form .cform option, .cform textarea, .cform input[type=text], .cform input[type=email], .cform input[type=search], .cform input[type=url] {
	        border: none;
	        outline: solid 1px #aaa;
	        font-size: 16px;
	}
	#reservation-form .required-srt {
	        font-size: 14px;
	        padding: 4px 7px 3px;
	        border-radius: 1px;
	        margin-left: 10px;
	    }
	#reservation-form .required-srt {
	    background: #da8888;
	}
	#reservation-form .cform td {
	    font-size: 15px;
	    width: 100%;
	    line-height: 200%;
	    border-bottom: none;
	    border-right: none;
	    border-top: none;
	    padding: 0;
	    background: #fff;
	    margin: 8px 0 19px 0;
	}
	#reservation-form table {
	    width: 100%;
	    margin-bottom: 10px;
	    border-top: none;
	    border-left: none;
	}
	.mw_wp_form select {
	    display: block;
	    position: relative;
	    width: 100%;
	    height: 38px;
	    font-size: 14px;
	    font-size: 0.9rem;
	    border: 1px solid #ccc;
	    -webkit-border-radius: 2px;
	    -moz-border-radius: 2px;
	    -ms-border-radius: 2px;
	    border-radius: 2px;
	    overflow: hidden;
	    padding: 12px 0;
	}
	footer {
	    font-size: 14px;
	    padding: 12px 0 14px;
	}
	footer p, footer a {
	    font-size: 14px;
	}
	#reservation-form .cform {
	    width: 100%;
	}
	#reservation-form .mw_wp_form input[type="email"], #reservation-form .mw_wp_form input[type="tel"], #reservation-form .mw_wp_form input[type="text"], .mw_wp_form textarea {
	    padding: 10px 6px;
	    width: 100%;
	    -moz-box-sizing: border-box;
	    -webkit-box-sizing: border-box;
	    box-sizing: border-box;
	    font-size: 15px;
	}
	#reservation-form .mw_wp_form select {
        display: block;
        position: relative;
        width: 100%;
        height: 42px;
        font-size: 14px;
        border: 1px solid #ccc;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -ms-border-radius: 2px;
        border-radius: 2px;
        overflow: hidden;
        padding: 12px 5px;
    }
	#reservation-form .cform-text {
	    font-size: 13px;
	    text-align: center;
	    width: 100%;
	    margin: 0 auto 22px;
	}
	.cp_qa01 .cp_actab .cp_actab-content p {
	    font-size: 12px;
	    margin: 22px 1px;
	}
	#reservation-form .form_completion_text1 {
		font-size: 16px;
		margin-bottom: 12px;
	}
	#reservation-form .form_completion_text2 {
		font-size: 13px;
	}
}

@media screen and (min-width: 320px) and (max-width: 900px) {

	.mb-block .mv {
		display: block;
	}
	.mb-block .mv-tb {
		display: none;
	}
	.Interior p br, .exterior p br {
		display: none;
	}
}

@media screen and (min-width: 641px) and (max-width: 1080px) {

	main {
        padding-top: 2vw;
    }
    .mv-spc {
    	width: 100%;
    	height: 10vw;
    	display: block;
    	overflow: hidden;
    }
    h1.text-05 {
        font-size: 17px;
        padding-top: 2%;
        padding-bottom: 2%;
        width: 91%;
        margin: 2% auto 1%;
    }
        h2.text-06 {
        font-size: 15px;
        padding: 1.5% 8% 1.8%;
        margin: 1% auto 2%;
        line-height: 1.5;
    }
}

@media screen and (min-width: 320px) and (max-width: 640px) {

	main {
        padding-top: 2vw;
    }
    .mv-spc {
    	width: 100%;
    	height: 30vw;
    	display: block;
    	overflow: hidden;
    }
}

@media screen and (max-width: 374px) {

    h1.text-05 {
        font-size: 10px;
        padding-top: 2%;
        padding-bottom: 2%;
        text-align: center;
        border-top: solid 2px #000;
        width: 91%;
        margin: 2% auto 1%;
    }
	h2.text-06 {
        font-size: 10px;
        font-weight: bold;
        border: solid 1px #000;
        padding: 1.5% 8% 1.8%;
        margin: 1% auto 2%;
        width: auto;
        line-height: 1.5;
        text-align: center;
        display: inline-block;
    }
}

