@charset "utf-8";

/*! destyle.css v1.0.15 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model */
/* ============================================ */
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

::before,
::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}

/* Document */
/* ============================================ */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
* 3. Remove gray overlay on links for iOS.
*/
html {
line-height: 1.15;
/* 1 */
-webkit-text-size-adjust: 100%;
/* 2 */
-webkit-tap-highlight-color: transparent;
/* 3*/
}

/* Sections */
/* ============================================ */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}

/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: inherit;
line-height: inherit;
font-weight: inherit;
margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
margin: 0;
padding: 0;
list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
font-weight: bold;
font-weight: bold;

}

dd {
margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
/* 1 */
height: 0;
/* 1 */
overflow: visible;
/* 2 */
border: 0;
border-top: 1px solid;
margin: 0;
clear: both;
color: inherit;
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace;
/* 1 */
font-size: inherit;
/* 2 */
}

address {
font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
text-decoration: none;
color: inherit;
}

/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none;
/* 1 */
text-decoration: underline;
/* 2 */
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
/* 2 */
}

/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace;
/* 1 */
font-size: inherit;
/* 2 */
}

/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}

/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}

sub {
bottom: -0.25em;
}

sup {
top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
vertical-align: bottom;
}

embed,
object,
iframe {
border: 0;
vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
* Reset form fields to make them styleable
*/
button,
input,
optgroup,
select,
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
vertical-align: middle;
color: inherit;
font: inherit;
border: 0;
background: transparent;
padding: 0;
margin: 0;
outline: 0;
border-radius: 0;
text-align: inherit;
}

/**
* Reset radio and checkbox appearance to preserve their look in iOS.
*/
[type="checkbox"] {
-webkit-appearance: checkbox;
-moz-appearance: checkbox;
appearance: checkbox;
}

[type="radio"] {
-webkit-appearance: radio;
-moz-appearance: radio;
appearance: radio;
}

/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input {
/* 1 */
overflow: visible;
}

/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select {
/* 1 */
text-transform: none;
}

/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
cursor: default;
}

/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}

/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}

/**
* Remove arrow in IE10 & IE11
*/
select::-ms-expand {
display: none;
}

/**
* Remove padding
*/
option {
padding: 0;
}

/**
* Reset to invisible
*/
fieldset {
margin: 0;
padding: 0;
border: 0;
min-width: 0;
}

/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
*    `fieldset` elements in all browsers.
*/
legend {
color: inherit;
/* 2 */
display: table;
/* 1 */
max-width: 100%;
/* 1 */
padding: 0;
/* 3 */
white-space: normal;
/* 1 */
}

/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}

/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}

/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}

/**
* 1. Correct the outline style in Safari.
*/
[type="search"] {
outline-offset: -2px;
/* 1 */
}

/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}

/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button;
/* 1 */
font: inherit;
/* 2 */
}

/**
* Clickable labels
*/
label[for] {
cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}

/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}

/*
* Remove outline for editable content.
*/
[contenteditable] {
outline: none;
}

/* Table */
/* ============================================ */
table {
border-collapse: collapse;
border-spacing: 0;
}

caption {
text-align: left;
}

td,
th {
vertical-align: top;
padding: 0;
}

th {
text-align: left;
font-weight: bold;
}

@media screen and (max-width: 768px) {
table {
display: block;
overflow-x: scroll;
white-space: nowrap;
-webkit-overflow-scrolling: touch;
}
table dt {
font-weight: bold;
font-size:1rem!important;
width: 30%;
}
}

/* Misc */
/* ============================================ */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}

/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

/*****  reset  *****/

* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
margin: 0;
padding: 0;
border: 0;
font-style: inherit;
font-weight: inherit;
font-size: 100%;
vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
display: block;
}

body {
-webkit-text-size-adjust: 100%;
}

blockquote,
q {
quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
content: '';
content: none;
}

input,
textarea {
border-radius: 0;
margin: 0;
padding: 0;
}

button {
border: 0;
border-radius: 0;
cursor: pointer;
}

select {
border-radius: 0;
}

ol,
ul {
list-style: none;
}

table {
border-collapse: collapse;
border-spacing: 0;
}

caption,
th {
text-align: left;
}

a:focus {
outline: none;
}


/*============================================================================
PC  * Responsive Design *
============================================================================*/

html {
color: #000;
font: 500 62.5% "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", HiraKakuPro-W3, "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", verdana, sans-serif;
margin: 0 !important;
}

body {
min-width: 1200px;
overflow-x: scroll;
font-size: 1.6rem;
}

a {
color: inherit;
text-decoration: none;
}

a:hover,
a img:hover {
opacity: 0.8;
}

img {
max-height: 100%;
max-width: 100%;
vertical-align: middle;
}


/*****  keyframes  *****/

@-webkit-keyframes loadedTxtLarge {
59% {
opacity: 0;
-webkit-transform: translateY(30%);
transform: translateY(30%);
}

69% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}

100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}

@keyframes loadedTxtLarge {
59% {
opacity: 0;
-webkit-transform: translateY(30%);
transform: translateY(30%);
}

69% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}

100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}

@-webkit-keyframes loadedTxtSmall {
64% {
opacity: 0;
-webkit-transform: translateY(40%);
transform: translateY(40%);
}

74% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}

100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}

@keyframes loadedTxtSmall {
64% {
opacity: 0;
-webkit-transform: translateY(40%);
transform: translateY(40%);
}

74% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}

100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}


/*****  start animation  *****/

.top-overlay-logo-wrap {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
width: 100%;
max-width: 530px;
overflow: hidden;
}

.js-anime01 {
position: fixed;
z-index: 998;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #fff;
}

.js-anime01.end {
display: none;
}

.js-anime02 {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 997;
background: #fff;
}

.js-anime02.end {
-webkit-transform: translateX(100%);
transform: translateX(100%);
-webkit-transition: all 1s cubic-bezier(0.77, 0, 0.175, 1);
transition: all 1s cubic-bezier(0.77, 0, 0.175, 1);
}

.js-anime03 {
z-index: 999;
background: #948169;
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
-webkit-transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}

.js-anime03.start {
-webkit-transform: translateX(0);
transform: translateX(0);
-webkit-transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}

.js-anime03.end {
-webkit-transform: translateX(100%);
transform: translateX(100%);
-webkit-transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}


/*****  js  *****/

.js-inview-item,
.js-inview-item01,
.js-inview-item02 {
-webkit-transform: translate(0, 40px);
transform: translate(0, 40px);
opacity: 0;
will-change: opacity, transform;
}

.js-inview-item {
transition: all 0.5s ease-in-out;
}

.js-inview-item01 {
transition: all 1s ease-in-out;
}

.js-inview-item02 {
transition: all 1.5s ease-in-out;
}

.js-inview-item.js-scrollin,
.js-inview-item01.js-scrollin,
.js-inview-item02.js-scrollin {
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
opacity: 1;
}

@media screen and(min-width:769px) {

.js-inview-item,
.js-inview-item01,
.js-inview-item02 {
-webkit-transform: translate(0, 50px);
transform: translate(0, 50px);
}

.js-inview-item.js-scrollin,
.js-inview-item01.js-scrollin,
.js-inview-item02.js-scrollin {
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
}


/*****  module  *****/

.m_ttl-en {
color: #000000;
font-family: 'Oswald', sans-serif;
font-size: 7.6rem;
font-weight: 500;
line-height: 1;
}

.m_ttl-ja {
color: #000000;
font-size: 1.6rem;
line-height: 1;
padding-top: 20px;
display: block;
font-weight: bold;
}

.m_ttl-sub {
font-size: 1.8rem;
font-weight: bold;
color: #948169;
}

.m_flex {
display: flex;
justify-content: space-between;
}

.m_section,
.m_section_pc {
max-width: 1200px;
margin: 0 auto;
}

.clearfix {
zoom: 1;
}

.clearfix:after {
clear: both;
content: "";
display: block;
}

.pc {
display: block !important;
}

.sp {
display: none !important;
}

.wrapper {
position: relative;
z-index: 1;
background: #fff;
}


/*****  Header  *****/

.h-container {
position: fixed;
top: 0;
right: 0;
z-index: 5;
width: 90px;
height: 100%;
background: #fff;
}

.h-menu {
margin: 0 0 0 auto;
height: 90px;
width: 90px;
background: #000;
display: flex;
align-items: center;
justify-content: center;
}

.h-menu-btn {
width: 30px;
height: 22px;
margin: 0 auto;
position: relative;
display: flex;
flex-direction: column;
justify-content: space-between;
}

.h-menu-btn span {
height: 2px;
position: relative;
display: inline-block;
width: 100%;
top: 0;
background: #fff;
transition: transform .6s cubic-bezier(.445, .05, .55, .95), top .6s cubic-bezier(.445, .05, .55, .95), -webkit-transform .6s cubic-bezier(.445, .05, .55, .95);
}

.h-menu-btn .t {
top: 0;
}

.h-menu-btn.active .t {
-webkit-transform: rotate(220deg);
transform: rotate(220deg);
}

.h-menu-btn.active .m {
display: none;
}

.h-menu-btn.active .b {
-webkit-transform: rotate(-220deg);
transform: rotate(-220deg);
margin-top: -2px;
}

.h-menu-btn.active {
height: auto;
margin: 0 auto;
}

.h-btn {
background: #948169;
}

.h-btn a {
display: inline-flex;
color: #fff;
line-height: 1.2;
letter-spacing: 3px;
width: 90px;
height: 90px;
justify-content: center;
align-items: center;
}

.h-sns {
padding-top: 190px;
}

.h-sns-txt {
text-orientation: mixed;
-webkit-text-orientation: mixed;
font-size: 2rem;
font-weight: 400;
font-family: 'Oswald', sans-serif;
line-height: 1;
margin: auto;
writing-mode: vertical-rl;
}

.h-sns-line {
margin: 10px auto 20px auto;
width: 2px;
display: block;
height: 40px;
background: #000;
}

.h-sns img {
width: 30px;
display: block;
margin: auto;
}

.h-gnav {
background: #fff;
height: 100%;
width: 600px;
overflow-y: auto;
position: fixed;
top: 0;
right: 90px;
transform: translateX(120%);
transition: .5s all;
z-index: 1;
padding-left: 185px;
}

.h-gnav.open {
transform: translateX(0);
}

.h-gnav-list {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
padding-top: 100px;
}

.h-gnav-list-item a {
font-family: 'Oswald', sans-serif;
font-size: 2.8rem;
line-height: 1;
display: block;
padding: 15px 0;
}

.jp a {
font-weight: bold;
font-size: 2rem;
}
.h-gnav-list-item:last-of-type a {
padding-bottom: 0;
}

.h-gnav-reserv {
margin: 40px 0 30px;
}

.h-gnav-reserv a {
display: block;
background: #948169;
color: #fff;
letter-spacing: 1px;
line-height: 1.6;
font-weight: normal;
width: 250px;
padding: 20px 0;
text-align: center;
}

.h-gnav-tel-txt {
font-size: 1.4rem;
line-height: 1;
}

.h-gnav-tel-num {
font-size: 3.6rem;
font-weight: bold;
font-family: 'Oswald', sans-serif;
letter-spacing: 3px;
display: block;
padding: 15px 0 15px 30px;
position: relative;
line-height: 1;
}

.h-gnav-tel-num::before {
content: "";
background: url(../img/icon_phone_b.png) no-repeat center center/cover;
position: absolute;
height: 30px;
width: 23px;
top: 50%;
margin-top: -15px;
left: 0;
}

.h-gnav-tel dl {
display: table;
font-size: 1.4rem;
}

.h-gnav-tel dl dt {
display: table-cell;
}

.h-gnav-tel dl dd:nth-child(4) {
display: block;
padding-left: 15px;
}


/*****  Top  *****/

.top-left {
position: fixed;
top: 0;
left: 0;
z-index: 5;
width: 90px;
height: 100%;
background: #fff;
}

.top-left-logo {
height: 150px;
width: 150px;
position: fixed;
top: 0;
left: 0;
}

.top-left-scroll {
writing-mode: vertical-rl;
font-size: 2rem;
font-weight: 400;
font-family: 'Oswald', sans-serif;
left: 50%;
margin-left: -10px;
line-height: 1;
letter-spacing: 2px;
bottom: 190px;
position: absolute;
}

.top-left-line {
width: 2px;
height: 40px;
display: block;
position: absolute;
left: 50%;
margin-left: -2px;
bottom: 130px;
background: #000;
}

.top-mainvisual {
height: 900px;
background: url(../img/img_mv.jpg) no-repeat center center/cover;
display: flex;
align-items: center;
justify-content: center;
}

.top-mainvisual-logo {
max-width: 530px;
animation: loadedTxtLarge 9s forwards;
opacity: 0;
-webkit-transform: translateY(30%);
-ms-transform: translateY(30%);
transform: translateY(30%)
}

.top-mainvisual-logo-catchcopy {
line-height: 1;
font-size: 2rem;
margin-top: 45px;
line-height: 2.4rem;
text-align: left;
display: block;
color: #fff;
font-weight: normal;
letter-spacing: 2px;
animation: loadedTxtSmall 9s forwards;
opacity: 0;
-webkit-transform: translateY(40%);
-ms-transform: translateY(40%);
transform: translateY(40%);
}


.kome {
margin-top: 10px;
color: #fff;
font-size: 1.4rem;
}
/*****  About  *****/

.about {
margin: 40px 0 65px;
position: relative;
padding-bottom: 100px;
}

.about::before,
.about::after {
content: "";
position: absolute;
z-index: -1;
}

.about::before {
background: url(../img/bg_img01.gif) no-repeat center center/cover;
width: 300px;
height: 330px;
top: 150px;
left: 0;
}

.about::after {
background: url(../img/bg_img02.gif) no-repeat center center/cover;
width: 635px;
height: 400px;
bottom: 0;
right: 0;
}

.about-content {
max-width: 1050px;
margin: 0 auto;
}

.about-content-txt {
display: block;
max-width: 460px;
height: 190px;
padding: 30px 30px 30px 40px;
margin-top: 85px;
background: #fff;
}

.about-content-img {
max-width: 560px;
}


/*****  Service  *****/

.service-ttlarea {
margin-bottom: -70px;
}

.service {
background: url(../img/bg_img03.png) no-repeat center center/ cover;
}

.service-content {
max-width: 1050px;
margin: 0 auto;
}

.service-content-left,
.service-content-right {
max-width: 600px;
padding: 200px 0 125px;
text-align: center;
}

.service-content-left-img {
max-width: 390px;
}

.service-content-right-img {
max-width: 475px;
}

.service-content-left dl dt,
.service-content-right dl dt {
font-size: 2.4rem;
line-height: 1;
padding: 40px 0 35px;
}

.service-content-left dl dd img,
.service-content-right dl dd img {
max-width: 380px;
display: block;
margin: 0 auto;
}

.service-content-left dl dd:nth-child(3),
.service-content-right dl dd:nth-child(3) {
font-size: 2.4rem;
font-weight: 400;
padding-top: 40px;
}


/*****  Feature  *****/

.feature-sec01-ttlarea,
.feature-sec02-ttlarea {
margin: 70px 0 40px;
}

.feature-sec01-ttlarea img,
.feature-sec02-ttlarea img {
width: 200px;
float: left;
margin-right: 40px;
}

.feature-sec01-content {
clear: both;
padding: 110px;
background: #000;
}

.feature-sec02-content {
clear: both;
padding: 110px;
background: #948169;
}

.feature-sec01-content-list-cont,
.feature-sec02-content-list-cont {
max-width: 300px;
}

.feature-sec01-content-list-cont-num,
.feature-sec02-content-list-cont-num {
font-size: 3.6rem;
color: #fff;
line-height: 1;
letter-spacing: 2px;
font-family: 'Oswald', sans-serif;
font-weight: 100;
}

.feature-sec01-content-list-cont-description dt,
.feature-sec02-content-list-cont-description dt {
font-size: 1.8rem;
color: #fff;
padding: 20px 0 30px;
}

.feature-sec01-content-list-cont-description dd,
.feature-sec02-content-list-cont-description dd {
color: #fff;
}

.feature-sec01-description {
color: #fff;
padding-bottom: 40px;
}

.feature-sec01-description h3 {
font-size: 24px;
border-left: 6px solid #948169;
padding-left: 14px;
margin-bottom: 20px;
}

/*****  Profile  *****/

.profile {
margin-top: 120px;
}

.profile-ttlarea {
margin-bottom: -70px;
}

.profile-content {
background: url(../img/bg_img03.png) no-repeat center center/cover;
}

.profile-content-wrap {
padding: 105px 0 70px;
max-width: 1050px;
margin: 0 auto;
}

.profile-content-img {
max-width: 400px;
}

.profile-content-txt {
max-width: 600px;
}

.profile-content-txt dt {
display: block;
padding-bottom: 40px;
font-size: 2.4rem;
}

.profile-content-txt dt span {
font-size: 1.4rem;
padding-left: 30px;
}


/*****  Menu  *****/

.menu-ttlarea {
padding: 80px 0 50px;
}

.menu-content-sec01,
.menu-content-sec02 {max-width: 1200px;margin: 0 auto;padding: 60px;border: 2px solid #a5a5a5;}

.menu-content-sec02 {
margin-top: 60px;
}

.menu-content-sec02:first-child {
margin-top: 0px;
}
.menu-content-sec01 {
margin-top: 60px;
}
.menu-content-sec01-img img:first-of-type {
max-width: 225px;
}

.menu-content-sec02-img img:first-of-type {
max-width: 270px;
}

.menu-content-sec01-img img:nth-child(2),
.menu-content-sec02-img img:nth-child(2) {
max-width: 340px;
padding-top: 55px;
display: block;
}

.menu-content-sec01-txt {
max-width: 550px;
width: 100%;
}

.menu-content-sec01-txt .m_flex,
.menu-content-sec02-txt .m_flex {
align-items: center;
padding-bottom: 10px;
}

.menu-content-sec01-txt .m_flex:nth-child(2),
.menu-content-sec02-txt .m_flex:nth-child(2) {
padding-top: 20px;
}

.menu-content-sec01-txt-border,
.menu-content-sec02-txt-border {
height: 2px;
width: 375px;
background: #948169;
}

.menu-content-sec01-txt-price,
.menu-content-sec02-txt-price {
display: flex;
justify-content: space-between;
align-items: center;
}

.menu-content-sec01-txt-price dd,
.menu-content-sec02-txt-price dd {
color: #948169;
font-size: 4rem;
font-family: 'Oswald', sans-serif;
font-weight: bold;
letter-spacing: 3px;
}

.menu-content-sec01-txt-price dd span,
.menu-content-sec02-txt-price dd span {
font-size: 1.6rem;
font-weight: normal;
color: #000;
font-family: "Noto Sans JP", sans-serif;
padding-left: 5px;
vertical-align: middle;
letter-spacing: 1px;
}

.menu-content-sec01-txt-cap {
font-size: 1.2rem;
text-align: right;
padding-top: 20px;
}


/*****  Info  *****/

.info {
padding: 80px 0 120px;
max-width: 540px;
width: 100%;
}

.info-content {
margin-left: 50px;
max-width: 490px;
margin-top: 60px;
}

.info-content-list-post {
border-top: 2px solid #a5a5a5;
padding: 20px 0 30px;
display: flex;
justify-content: space-between;
align-items: center;
}

.info-content-list-post:last-of-type {
border-bottom: 2px solid #a5a5a5;
}

.info-content-list-post-txt time {
color: #a5a5a5;
font-size: 1.4rem;
font-weight: 400;
letter-spacing: 1px;
padding-bottom: 20px;
display: block;
}

.info-content-list-post-btn a {
background: #948169;
width: 110px;
height: 50px;
text-align: center;
font-size: 1.2rem;
line-height: 4;
letter-spacing: 0.5px;
font-family: 'Oswald', sans-serif;
display: block;
color: #fff;
font-weight: normal;
}

.info-content-btn {
margin-top: 40px;
}

.info-content-btn a {
background: #948169;
max-width: 260px;
height: 70px;
color: #fff;
font-size: 1.8rem;
line-height: 4;
font-family: 'Oswald', sans-serif;
display: block;
text-align: center;
font-weight: 400;
letter-spacing: 2px;
}


/*****  Access  *****/

.access {
padding: 80px 0 120px;
max-width: 560px;
width: 100%;
margin-right: auto;
margin-left: 100px;
}

.access-content-add {
line-height: 1.6;
letter-spacing: 1px;
padding: 55px 0 35px
}

.access-content-map iframe {
height: 400px;
width: 100%;
}


/*****  Reservation  *****/

.reserv {
background: url(../img/bg_footer.jpg) no-repeat center center/cover;
padding: 75px 0 80px;
}

.reserv-ttl-en {
font-size: 4.6rem;
font-weight: 400;
letter-spacing: 3.5px;
font-family: 'Oswald', sans-serif;
color: #fff;
text-align: center;
}

.reserv-ttl-ja {
text-align: center;
color: #fff;
letter-spacing: 2px;
font-weight: 400;
}

.reserv-content {
padding-top: 60px;
}

.reserv-content .m_flex {max-width: 1040px;margin: 0 auto;}

.reserv-content-left a,
.reserv-content-right a {
width: 500px;
height: 120px;
border: 2px solid #fff;
color: #fff;
font-size: 1.8rem;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
line-height: 0.8;
font-weight: 400;
letter-spacing: 1px;
margin: 20px;
}

.reserv-content-center {
width: 500px;
margin: 0 auto;
}
.reserv-content-center a {
width: 500px;
height: 120px;
border: 2px solid #fff;
color: #fff;
font-size: 1.8rem;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
line-height: 0.8;
font-weight: 400;
letter-spacing: 1px;
margin: 20px;
}


.reserv-content-left a:hover,
.reserv-content-right a:hover {
background: #a99780;
border: 2px solid #a99780;
color: #fff;
transition: .5s all;
opacity: 1;
}

.reserv-content-left a {
position: relative;
}



.reserv-content-right-txt {
font-size: 1.6rem;
display: block;
}

.reserv-content-right-num {
font-size: 3.6rem;
font-family: 'Oswald', sans-serif;
font-weight: bold;
position: relative;
letter-spacing: 2px;
}

.reserv-content-left-num {
font-size: 3.6rem;
font-family: 'Oswald', sans-serif;
font-weight: bold;
position: relative;
letter-spacing: 2px;
}

.reserv-content-right-num::before {
content: "";
background: url(../img/icon_phone_w.png) no-repeat center center/cover;
height: 30px;
width: 23px;
position: absolute;
top: 50%;
left: -40px;
margin-top: -15px;
}

.reserv-content-caption {
padding-top: 40px;
text-align: right;
color: #fff;
font-size: 1.4rem;
max-width: 1040px;
margin: 0 auto;
line-height: 1.8;
}


/*****  Footer  *****/

.footer {
background: #fff;
color: #000;
text-align: center;
}

.ft-logo {
max-width: 220px;
margin: 40px auto;
}

.ft-copyright {
color: #000;
font-size: 1.4rem;
font-family: 'Oswald', sans-serif;
padding-bottom: 40px;
letter-spacing: 1px;
}


@media screen and (max-width: 1420px) {

/*****  module  *****/
.m_section,
.m_section_pc {
padding: 0 90px;
}
}

/*============================================================================
SmartPhone  * Responsive Design *
============================================================================*/

@media screen and (max-width: 767px) {

/*****  start animation  *****/
.top-overlay-logo-wrap {
width: 80%;
max-width: 265px;
}

html {
overflow-x: hidden;
}

body {
overflow-x: unset;
min-width: 320px;
font-size: 1.2rem;
}

/*****  module  *****/
.m_ttl-en {
font-size: 3.8rem;
font-weight: 500;
letter-spacing: 3px;
}

.m_ttl-ja {
font-size: 1.4rem;
font-weight: bold;
}

.m_section {
padding: 0 20px;
max-width: 100%;
margin: 0 auto;
}

.m_section_pc {
padding: 0;
max-width: 100%;
margin: 0 auto;
}

.m_ttl-sub {
font-size: 1.4rem;
}

.m_flex {
display: block;
}

.pc {
display: none !important;
}

.sp {
display: block !important;
}

/*****  Header  *****/
.h-container {
background: none;
height: auto;
}

.h-menu {
height: 60px;
width: 60px;
}

.h-menu-btn {
width: 25px;
height: 18px;
}

.h-btn {
top: 0;
right: 60px;
position: absolute;
}

.h-btn a {
height: 60px;
width: 95px;
letter-spacing: 1px;
}

.h-sns {
display: none;
}

.h-gnav {
width: 100%;
right: 0;
padding-left: 60px;
}

.h-gnav-list {
padding-top: 70px;
}

.h-gnav-list-item a {
padding: 10px 0;
}

.h-gnav-tel-num {
font-size: 3rem;
letter-spacing: 1px;
padding: 15px 0 15px 25px;
}

.h-gnav-tel-num::before {
height: 25px;
width: 19px;
margin-top: -11px;
}

/*****  Top  *****/
.top-left {
width: auto;
height: auto;
background: none;
}

.top-left-logo {
height: 60px;
width: 60px;
}

.top-left-scroll {
display: none;
}

.top-mainvisual {
height: 750px;
background: url(../img/img_mv_sp.jpg) no-repeat center center/cover;
}

.top-mainvisual-logo {
max-width: 265px;
}

.top-mainvisual-logo-catchcopy {
line-height: 1;
font-size: 1.5rem;
line-height: 2rem;
margin-top: 40px;
letter-spacing: 0;
text-align: left;
}
.kome {
margin-top: 10px;
color: #fff;
}

/*****  About  *****/
.about {
margin: 35px 0 50px;
padding-bottom: 50px;
}

.about::before {
display: none;
}

.about::after {
width: 237px;
height: 200px;
}

.about-content {
padding: 0 20px;
max-width: 100%;
margin: auto;
}

.about-content-txt {
max-width: 100%;
line-height: 1.6;
height: auto;
padding: 0;
background: none;
margin: 40px auto;
}

.about-content-img {
max-width: 100%;
}

/*****  Service  *****/
.service-ttlarea {
margin-bottom: -52px;
}

.service-content {
padding: 85px 20px 50px;
}

.service-content-left,
.service-content-right {
padding: 0;
max-width: 100%;
margin: 0 auto;
}

.service-content-right {
margin-top: 50px;
}

.service-content-left-img {
width: 52vw;
}

.service-content-right-img {
width: 62.667vw;
}

.service-content-left-img,
.service-content-right-img {
max-width: 335px;
margin: 0 auto;
}

.service-content-left dl dt,
.service-content-right dl dt {
padding: 20px 0 15px;
font-size: 3.2vw;
}

.service-content-left dl dd img,
.service-content-right dl dd img {
max-width: 335px;
font-size: 1.8rem;
}

.service-content-left dl dd img,
.service-content-right dl dd img {
max-width: 380px;
width: 50.667vw;
}

.service-content-left dl dd:nth-child(3),
.service-content-right dl dd:nth-child(3) {
font-size: 3.2vw;
font-weight: 500;
padding-top: 20px;
}

/*****  Feature  *****/
.feature-sec01-ttlarea img,
.feature-sec02-ttlarea img {
width: 125px;
margin-right: 20px;
}

.feature-sec01-ttlarea,
.feature-sec02-ttlarea {
margin: 40px 0 30px;
}

.feature-sec01-content,
.feature-sec02-content {
padding: 30px 40px 40px;
}

.feature-sec01-content-list-cont-num,
.feature-sec02-content-list-cont-num {
font-size: 2.7rem;
}

.feature-sec01-content-list-cont-description dt,
.feature-sec02-content-list-cont-description dt {
font-size: 1.4rem;
font-weight: 500;
padding: 10px 0 20px;
}

.feature-sec01-content-list-cont-description dd,
.feature-sec02-content-list-cont-description dd {
font-size: 1.2rem;
font-weight: 400;
}

.feature-sec01-content-list-cont,
.feature-sec02-content-list-cont {
margin-bottom: 45px;
}

.feature-sec01-content-list-cont:last-of-type,
.feature-sec02-content-list-cont:last-of-type {
margin-bottom: 0;
}

.feature-content-sec01,
.feature-content-sec02 {
max-width: 100%;
padding: 25px 20px 30px;
}

.feature-sec01-description h3 {
font-size: 2rem;
border-left: 6px solid #948169;
padding-left: 14px;
margin-bottom: 20px;
}

/*****  Profile  *****/
.profile {
margin-top: 60px;
}

.profile-ttlarea {
margin-bottom: -52px;
}

.profile-content-wrap {
padding: 75px 20px 40px;
}

.profile-content-txt dt {
font-size: 2rem;
padding: 30px 0 20px;
font-weight: bold;
}

.profile-content-txt dt span {
font-size: 1.2rem;
padding-left: 20px;
font-weight: normal;
}

/*****  Menu  *****/
.menu-ttlarea {
padding: 40px 0 30px;
}

.menu-content-sec01,
.menu-content-sec02 {
padding: 30px 20px 40px;
}

.menu-content-sec01 {
margin-top: 40px;
}
.menu-content-sec01-img {
text-align: center;
}

.menu-content-sec01-img img:nth-child(2),
.menu-content-sec02-img img:nth-child(2) {
max-width: 390px;
width: 100%;
padding-top: 15px;
}

.menu-content-sec01-txt .m_flex,
.menu-content-sec02-txt .m_flex {
display: flex;
justify-content: space-between;
margin-top: 30px;
}

.menu-content-sec01-img,
.menu-content-sec02-img {
text-align: center;
}

.menu-content-sec01-img img,
.menu-content-sec02-img img {
margin: 0 auto;
}

.menu-content-sec02-img img:first-of-type {
width: 100%;
}

.menu-content-sec01-txt,
.menu-content-sec02-txt {
margin-top: 55px;
}

.menu-content-sec01-txt-border,
.menu-content-sec02-txt-border {
width: 58%;
}

.menu-content-sec01-txt-price,
.menu-content-sec02-txt-price {
align-items: flex-end;
}

.menu-content-sec01-txt .m_flex:nth-child(3),
.menu-content-sec02-txt .m_flex:nth-child(5) {
margin-top: 20px;
}

.menu-content-sec01-txt-price dd,
.menu-content-sec02-txt-price dd {
font-size: 2.4rem;
letter-spacing: 1.5px;
}

.menu-content-sec01-txt-price dd span,
.menu-content-sec02-txt-price dd span {
font-size: 1.2rem;
}

.menu-content-sec01-txt-cap {
font-size: 1rem;
}

.menu-content-sec02 {
margin-top: 40px;
}

/*****  Info  *****/
.info {
padding-bottom: 0;
padding: 40px 0 0;
}

.info-content {
margin: 30px 0 0;
}

.info-content-list-post {
padding: 20px 0;
}

.info-content-list-post-txt time {
padding-bottom: 15px;
font-size: 1.2rem;
}

.info-content-list-post-txt p {
font-size: 1.2rem;
}

.info-content-list-post-btn a {
width: 80px;
height: 25px;
font-size: 1.2rem;
line-height: 2;
}

.info-content-btn a {
max-width: 170px;
height: 45px;
color: #fff;
font-size: 1.4rem;
line-height: 3.2;
margin: 0 auto;
}

/*****  Access  *****/
.access {
padding: 60px 0 50px;
max-width: 100%;
width: 100%;
margin-left: 0;
}

.access-content-add {
padding: 30px 0;
}

.access-content-map iframe {
height: 200px;
width: 100%;
}

/*****  Reservation  *****/
.reserv {
padding: 30px 0 40px;
}

.reserv-ttl-en {
font-size: 2.3rem;
font-weight: bold;
letter-spacing: 2px;
}

.reserv .m_ttl-ja {
padding-top: 15px;
font-size: 1.4rem;
font-weight: normal;
}

.reserv-content {
padding-top: 30px;
}

.reserv-content-left a,
.reserv-content-right a {
font-size: 2.667vw;
width: 66.667vw;
height: 16vw;
max-width: 500px;
max-height: 120px;
margin: 0 auto;
}

.reserv-content-center {
width: 100%;
margin-top: 20px;
}
.reserv-content-center a {
font-size: 2.667vw;
width: 66.667vw;
height: 16vw;
max-width: 500px;
max-height: 120px;
margin: 0 auto;
}

.reserv-content-left a::before {
left: 2.867vw;
top: 50%;
margin-top: -1.6vw;
width: 4vw;
height: 3.2vw;
}

.reserv-content-right {
margin-top: 20px;
}

.reserv-content-right-txt {
font-size: 2.667vw;
}

.reserv-content-right-num {
font-size: 4.8vw;
}

.reserv-content-left-num {
font-size: 4.8vw;
}

.reserv-content-right-num::before {
height: 4vw;
width: 3.067vw;
left: -5.333vw;
margin-top: -2vw;
}

.reserv-content-caption {
width: 66.667vw;
font-size: 2.667vw;
padding-top: 20px
}

/*****  Footer  *****/
.ft-logo {
max-width: 110px;
margin: 20px auto;
}

.ft-copyright {
padding-bottom: 15px;
font-size: 1rem;
}
}

/*============================================================================
Individual  * Responsive Design *
============================================================================*/

@media screen and (max-width: 359px) {

/*****  Header  *****/
.h-gnav {
padding-left: 15vw;
}

/*****  Feature  *****/
.feature-sec01-ttlarea img,
.feature-sec02-ttlarea img {
width: 110px;
}
}

/* WordPress Native */

b,
strong {
font-weight: bold;
}

em {
font-style: italic;
}

.aligncenter {
display: block;
margin: 0 auto;
text-align: center;
}

.alignright {
float: right;
text-align: right;
}

.alignleft {
float: left;
text-align: left;
}

img.alignright,
img.alignleft {
margin: 1em;
}

img[class*="wp-image-"],
img[class*="attachment-"] {
height: auto;
max-width: 100%;
}


.l-content {
max-width: 1000px;
width: 70%;
margin: auto;
}

.p-contents {
padding: 40px 0;
}

.p-contents.l-content {}

.p-contents .c-title {
text-align: center;
margin-top: 40px;
}

.p-contents .c-title__ja {
display: block;
margin-top: 20px;

}

.p-contents .c-title__en {
color: #000000;
font-family: 'Oswald', sans-serif;
font-size: 7rem;
font-weight: bold;
line-height: 1;
}

.p-contents .p-contact__content {
padding-top: 40px;
}

@media only screen and (max-width:768px) {
.l-content {
width: 100%;
margin: auto;
}

.p-contents .c-title__en {
color: #000000;
font-family: 'Oswald', sans-serif;
font-size: 4rem;
font-weight: bold;
line-height: 1;
}
}

footer .sns {
padding-bottom: 40px;
;
}

.footer-sns-txt {
color: #000;
font-size: 1.8rem;
font-family: 'Oswald', sans-serif;
letter-spacing: 1px;
padding-bottom: 20px;
}

.sns ul li {
display: inline-block;
padding: 5px
}

.sns ul li img {
width: 25px;
}

/*============================================================================
contact
============================================================================*/
.tx-C {
text-align: center;
}

.mb30 {
margin-bottom: 30px;
}

.contact-wrap {
padding: 80px 0px;

}

.contact-box {
background: #fff;
padding: 50px 60px 60px
}

.contact-wrap dl {
margin: 0 auto;
text-align: left
}

.contact-wrap dt {
width: 30%;
float: left;
margin: 6px 5% 30px 0;
clear: both;
letter-spacing: .2em
}

.contact-wrap dd {
width: 65%;
margin-bottom: 30px;
float: left
}

.contact-wrap .radioBox label {
width: 100%;
display: inline-block;
margin: 5px 0 0 !important;
padding: 0 !important;
}

.contact-wrap .required {
padding: 3px 8px;
border: 1px solid #eb2929;
color: #eb2929;
font-size: 12px;
line-height: 1.3;
float: right
}

.contact-wrap .inputBox,
.contact-wrap .textBox {
width: 500px;
padding: 15px 10px;
border: 1px solid #ddd;
background: #ededed !important;
}

.contact-wrap .inputBox {
font-size: 13px;
outline: 0;
}

.contact-wrap .textBox {
font-size: 14px
}

.contact-wrap .inputBox:focus,
.contact-wrap .textBox:focus {
outline: 0;
background: #f8f8f8;
border: 1px solid #eb2929
}

.contact-box select {
padding: 8px;
margin: 0 auto;
line-height: 1.6;
cursor: pointer
}

input[type=button],
input[type=submit] {
-webkit-appearance: none;
color: #fff;
}

.inquiryBtn {
margin: 30px auto 0;
overflow: hidden;
text-align: center
}

.inquiryBtn input {
cursor: pointer;
background-color: #222;
color: #fff;
border: none;
font-weight: 700;
font-size: 14px;
padding: 24px 0;
width: 300px;
margin: 0 5px 5px
}

.inquiryBtn input:hover {
background: #666
}

.mw_wp_form .horizontal-item + .horizontal-item {
margin-left: 0 !important
}


.mwform-radio-field-text {}

.inner {
max-width: 1300px;
padding: 0 20px;
margin: 0 auto;
position: relative
}

.mwform-radio-field input {
margin-right: 5px;
position: relative;
top: -8px !important;
}

@media only screen and (max-width:1024px) {
.inner {
margin: 0;
padding: 0 20px;
}

.contact-wrap .inputBox,
.contact-wrap .textBox {
width: 100%;
padding: 15px 10px;
border: 1px solid #ddd;
background: #ededed !important;
}

}

@media only screen and (max-width:768px) {

.inner {
width: 100%;
}

.mwform-radio-field input {
margin-right: 5px;
position: relative;
top: -4px !important;
}

}

@media only screen and (max-width:768px) {
.contact-wrap {
padding: 20px 0px;
}

.contact-box {
background: #fff;
padding: 20px;
overflow: hidden;
}

.contact-wrap dl {
width: 100%
}

.contact-wrap dt {
float: none;
width: 100%;
margin: 20px 0 5px;
margin-bottom: 20px;
}

.contact-wrap dd {
width: 100%;
margin-bottom: 20px
}

.contact-wrap .radioBox label {
float: none;
padding: 5px 0
}

.contact-wrap input.inputBox {
width: 100%;
padding: 10px;
-webkit-appearance: none;
}

.contact-wrap .textBox {
max-width: 100%;
font-size: 12px;
padding: 10px;
-webkit-appearance: none
}

.required {
font-size: 10px
}

}


/**
* error message
*/
.mw_wp_form .error {
font-size: 93%;
color: #B70000;
display: block;
}

/**
* error message of akismet
*/
.mw_wp_form .akismet_error {
display: block;
}

/**
* vertical style of radio and checkbox
*/
.mw_wp_form .vertical-item {
display: block;
}

.mw_wp_form .vertical-item + .vertical-item {
margin-top: 5px;
}

/**
* horizontal style of radio and checkbox
*/
.mw_wp_form .horizontal-item + .horizontal-item {
margin-left: 10px;
}

/**
* radio and checkbox
*/
.mwform-checkbox-field label,
.mwform-radio-field label {
font-weight: normal;
margin-bottom: 0;
}

/**
* datepicker
*/
.mw_wp_form .ui-datepicker .ui-datepicker-title select.ui-datepicker-month,
.mw_wp_form .ui-datepicker .ui-datepicker-title select.ui-datepicker-year {
width: 40%;
margin: 0 5px;
}

/**
* deprecated message
*/
.mw-wp-form-deprecated-message {
background: #fdeeee;
border: 1px solid #f7bdb8;
border-radius: 5px;
color: #af4040;
font-size: 13px;
line-height: 1.6;
margin: 0 0 10px;
padding: 1em;
}

/**
* file
*/
.mw_wp_form input[type="file"] {
display: inline-block;
}

/**
* file delete button
*/
.mwform-file-delete {
cursor: pointer;
visibility: hidden;
}

/**
* tel and zip
*/
.mwform-tel-field input[type="text"],
.mwform-zip-field input[type="text"] {
display: inline-block;
width: auto;
}


.mod_btn01 {
text-align: center;
margin-top: 40px;
}

.mod_btn01 input[type=submit] {
cursor: pointer;
background-color: #222;
color: #fff;
border: none;
font-weight: 700;
font-size: 14px;
padding: 24px 0;
width: 280px;
}

.mod_btn01:hover {
opacity: .8;
}

.l-content {
width: 1200px;
margin: auto; }
@media screen and (max-width: 1200px) {
.l-content {
width: 92%; } }


.c-button {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
width: 240px;
padding: 15px;
line-height: 1;
border-radius: 50px;
border: 2px solid #ffffff;
color: #ffffff;
margin-right: 10px;
-webkit-box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
}

.c-button:last-of-type {
margin-right: 0;
}

.c-button--brown {
background: #948169;
-webkit-transition: 0.2s;
transition: 0.2s;
}

.c-button--brown:hover {
opacity: 1;
background: #ce9e5a;
-webkit-transition: 0.2s;
transition: 0.2s;
}

.c-button--black {
background: #383129;
}

.c-button--black:hover {
opacity: 1;
background: #5e554b;
-webkit-transition: 0.2s;
transition: 0.2s;
}

.c-button--line {
position: relative;
padding-left: 32px;
width: 170px;
background: #00c900;
}

.c-button--line:hover {
opacity: 1;
background: #57da57;
-webkit-transition: 0.2s;
transition: 0.2s;
}

.c-button--line::before {
content: "";
position: absolute;
top: 50%;
left: 17px;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
width: 29px;
height: 29px;
background: url(../img/common/logo-line.svg) no-repeat;
}

.c-title {
position: relative;
margin-bottom: 64px;
}

@media screen and (max-width: 768px) {
.c-title {
margin-bottom: 30px;
}
}

.c-title__main {
display: block;
font-size: 4rem;
font-family: "Montserrat", sans-serif;
letter-spacing: 1rem;
margin-bottom: 20px;
text-align: center;
line-height: 1;
}

@media screen and (max-width: 768px) {
.c-title__main {
margin-bottom: 10px;
}
}

.c-title__sub {
display: block;
font-size: 2rem;
line-height: 1;
text-align: center;
}

.c-title__background {
position: absolute;
z-index: -1;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -45%);
-ms-transform: translate(-50%, -45%);
transform: translate(-50%, -45%);
width: 600px;
}

@media screen and (max-width: 768px) {
.c-title__background {
width: 300px;
}
}

.c-subtitle {
position: relative;
display: block;
text-align: center;
font-size: 3rem;
line-height: 1;
padding-bottom: 21px;
margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
.c-subtitle {
padding-bottom: 10px;
margin-bottom: 40px;
}
}

.c-subtitle::after {
content: "";
position: absolute;
left: 50%;
bottom: 0;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 130px;
height: 1px;
background: #948169;
}

.c-card {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
width: calc(100% / 3 - 19px);
min-width: 380px;
border: 2px solid #948169;
background: #ffffff;
-webkit-transition: 0.2s;
transition: 0.2s;
margin-top: 30px;
}

@media screen and (max-width: 1200px) {
.c-card {
min-width: auto;
width: calc(50% - 15px);
}
}

@media screen and (max-width: 768px) {
.c-card {
width: 100%;
}
}

.c-card:hover {
opacity: 1;
-webkit-transform: translate(10px, 10px);
-ms-transform: translate(10px, 10px);
transform: translate(10px, 10px);
}

.c-card:hover::after {
-webkit-transform: translate(-10px, -10px);
-ms-transform: translate(-10px, -10px);
transform: translate(-10px, -10px);
}

.c-card::after {
content: "";
display: block;
width: 100%;
height: 100%;
position: absolute;
z-index: -1;
top: 10px;
left: 10px;
background: #948169;
-webkit-transition: 0.2s;
transition: 0.2s;
}

.c-card__thumbnailWrap {
width: 34%;
min-height: 100%;
}

@media screen and (max-width: 768px) {
.c-card__thumbnailWrap {
width: 22.6%;
position: relative;
height: 0;
padding-top: calc(22.6% / 0.76);
}
}

.c-card__thumbnail {
min-height: 100%;
}

@media screen and (max-width: 768px) {
.c-card__thumbnail {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}

.c-card__body {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
width: 66%;
padding: 30px 26px 20px;
background: #ffffff;
}

@media screen and (max-width: 768px) {
.c-card__body {
width: 77.4%;
padding: 18px 14px 9px 15px;
}
}

.c-card__body__title {
font-size: 2rem;
font-weight: bold;
margin-bottom: 24px;
line-height: 1;
color: #948169;
}

@media screen and (max-width: 768px) {
.c-card__body__title {
margin-bottom: 10px;
}
}

.c-card__body__txt {
position: relative;
padding-bottom: 24px;
margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
.c-card__body__txt {
padding-bottom: 14px;
margin-bottom: 8px;
}
}

.c-card__body__txt::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 1px;
background: #948169;
}

.c-card__body__detail {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
text-align: right;
line-height: 1;
}

.c-card__body__arrow {
width: 9px;
margin-left: 23px;
vertical-align: text-bottom;
}

.c-anchor {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
background: #452c08;
margin-bottom: 80px;
}

@media screen and (max-width: 1025px) {
.c-anchor {
-ms-flex-wrap: wrap;
flex-wrap: wrap;
background: transparent;
}
}

.c-anchor__item {
position: relative;
width: 25%;
}

@media screen and (max-width: 1025px) {
.c-anchor__item {
width: calc(100% / 2 - 7px);
margin-bottom: 16px;
}
}

.c-anchor__item::after {
content: "";
position: absolute;
top: 50%;
right: 0;
display: block;
width: 2px;
height: 31px;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
background: url(../img/common/separate-white.svg) no-repeat;
}

@media screen and (max-width: 1025px) {
.c-anchor__item::after {
display: none;
}
}

.c-anchor__item:last-of-type::after {
display: none;
}

.c-anchor__link {
position: relative;
display: block;
padding: 22px 0 29px;
text-align: center;
color: #ffffff;
font-size: 2rem;
line-height: 1;
}

@media screen and (max-width: 1025px) {
.c-anchor__link {
border: 1px solid #948169;
border-radius: 50px;
text-align: left;
padding: 14px 20px;
color: #948169;
}
}

@media screen and (max-width: 520px) {
.c-anchor__link {
font-size: 13px;
}
}

.c-anchor__link::after {
content: "";
display: block;
width: 18px;
height: 9px;
position: absolute;
left: 50%;
bottom: 8px;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
background: url(../img/common/arrowBottom-white.svg) no-repeat;
}

@media screen and (max-width: 1025px) {
.c-anchor__link::after {
left: auto;
bottom: auto;
top: 50%;
right: 15px;
width: 13px;
height: 7px;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
background-image: url(../img/top/arrowBottom-brown.svg);
background-size: cover;
}
}

.u-font__bold {
font-weight: bold;
color: inherit;
line-height: inherit;
}

@media screen and (min-width: 1401px) {
.u-none__pc--xxl {
display: none;
}
}

@media screen and (min-width: 1201px) {
.u-none__pc--xl {
display: none;
}
}

@media screen and (min-width: 1026px) {
.u-none__pc--lg {
display: none;
}
}

@media screen and (min-width: 769px) {
.u-none__pc--md {
display: none;
}
}

@media screen and (min-width: 521px) {
.u-none__pc--sm {
display: none;
}
}

@media screen and (max-width: 1400px) {
.u-none__mobile--xxl {
display: none;
}
}

@media screen and (max-width: 1200px) {
.u-none__mobile--xl {
display: none;
}
}

@media screen and (max-width: 1025px) {
.u-none__mobile--lg {
display: none;
}
}

@media screen and (max-width: 768px) {
.u-none__mobile--md {
display: none;
}
}

@media screen and (max-width: 520px) {
.u-none__mobile--sm {
display: none;
}
}


.p-detail .p-bread {
margin-top: 80px;
margin-bottom: 20px;
}

.p-detail__banner {
position: relative;
height: 0;
padding-top: 34.37%;
margin-bottom: 13.8rem;
}

@media screen and (max-width: 1025px) {
.p-detail__banner {
padding-top: 86.6%;
}
}

.p-detail__banner img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.p-detail__firstView {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
.p-detail__firstView {
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
}

.p-detail__firstView__left {
padding-right: 100px;
}

@media screen and (max-width: 768px) {
.p-detail__firstView__left {
padding: 0;
width: 100%;
margin-bottom: 30px;
}
}

.p-detail__firstView__title {
font-size: 3rem;
font-weight: bold;
line-height: 1;
margin-bottom: 36px;
width: 400px;
}

@media screen and (max-width: 768px) {
.p-detail__firstView__title {
margin-bottom: 15px;
}
.p-detail__firstView__title {
width: 100%;
}
}

.p-detail__firstView__img {
position: relative;
width: 100%;
height: 0;
padding-top: calc(50% * 0.5);
}

@media screen and (max-width: 768px) {
.p-detail__firstView__img {
width: 100%;
padding-top: 50%;
}
}

.p-detail__firstView__img img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.p-detail__firstView__img::after {
content: "";
display: block;
height: 100%;
width: 50vw;
position: absolute;
z-index: -1;
left: 0;
bottom: -40px;
background: url(../img/detail/object01.svg) no-repeat;
background-size: cover;
background-position: left;
}

@media screen and (max-width: 768px) {
.p-detail__firstView__img::after {
width: 96vw;
}
}

.p-detail__index {
position: relative;
margin-bottom: 60px;
}

.p-detail__index::after {
content: "";
position: absolute;
z-index: -2;
left: calc(-50vw + 50%);
bottom: 0;
display: block;
width: 100vw;
height: 130%;
background: url(../img/detail/object02.svg) no-repeat;
background-size: cover;
background-position: top;
}

.p-detail__index--white {
margin-bottom: 80px;
}

.p-detail__index--white::after {
display: none;
}

.p-detail__index--white .p-detail__index__list {
padding-bottom: 0;
}

.p-detail__index .c-title__main {
margin-bottom: 0;
}

.p-detail__index .c-title__background {
-webkit-transform: translate(-53%, -58%);
-ms-transform: translate(-53%, -58%);
transform: translate(-53%, -58%);
width: 462px;
}

@media screen and (max-width: 768px) {
.p-detail__index .c-title__background {
width: 230px;
}
}

.p-detail__index__list {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin: -20px 0 0 -20px;
padding-bottom: 20px;
}

.p-detail__index__item {
position: relative;
margin: 20px 0 0 20px;
padding: 18px 62px 18px 40px;
line-height: 1;
border: 1px solid #948169;
color: #948169;
font-size: 1.6rem;
border-radius: 40px;
background: #ffffff;
}

@media screen and (max-width: 768px) {
.p-detail__index__item {
width: 100%;
}
}

.p-detail__index__item::after {
content: "";
position: absolute;
top: 50%;
right: 20px;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
display: block;
width: 10px;
height: 18px;
background: url(https://medical4men.com/wp/wp-content/themes/m4m/common/img/arrowRight-brown.svg) no-repeat;
background-size: cover;
}

.p-detail__about {
margin-bottom: 160px;
}

.p-detail__about__content {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
}

@media screen and (max-width: 1025px) {
.p-detail__about__content {
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
}

.p-detail__about__content::after {
content: "";
position: absolute;
z-index: -1;
left: calc(-50vw + 50%);
bottom: -70px;
display: block;
width: calc(50vw + 104px);
height: 100%;
background-size: cover;
background-position: right top;
}

@media screen and (max-width: 1025px) {
.p-detail__about__content::after {
left: calc(-50vw + 50%);
width: 100vw;
}
}

.p-detail__about__txtWrap {
width: 50%;
padding-right: 28px;
}

@media screen and (max-width: 1025px) {
.p-detail__about__txtWrap {
width: 100%;
padding: 0;
margin-bottom: 40px;
}
}

.p-detail__about__txtWrap p {
font-size: 1.8rem;
margin-bottom: 1.8rem;
font-weight: normal;
line-height: 1.8;
}

.p-detail__about__txtWrap p:last-of-type {
margin-bottom: 0;
}

.p-detail__about__img {
position: relative;
height: 0;
width: 50%;
padding-top: calc(50% * 0.63);
}

@media screen and (max-width: 1025px) {
.p-detail__about__img {
width: 100%;
padding-top: 63%;
}
}

.p-detail__about__img img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.p-detail__trouble {
position: relative;
border: 10px solid #f0f0f0;
margin-bottom: 80px;
}

.p-detail__trouble__title {
position: absolute;
top: 0;
left: 50%;
-webkit-transform: translate(-50%, -65%);
-ms-transform: translate(-50%, -65%);
transform: translate(-50%, -65%);
font-size: 3rem;
line-height: 1;
padding: 0 9px;
font-weight: bold;
background: #ffffff;
white-space: nowrap;
}

.p-detail__trouble__content {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
padding: 50px 30px;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}

.p-detail__trouble__img {
position: relative;
width: 41%;
height: 0;
padding-top: calc(41% * 0.71);
}

@media screen and (max-width: 1025px) {
.p-detail__trouble__img {
width: 100%;
padding-top: 71%;
margin-bottom: 20px;
}
}

.p-detail__trouble__img img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.p-detail__trouble__list {
width: 50%;
}

@media screen and (max-width: 1025px) {
.p-detail__trouble__list {
width: 100%;
}
}

.p-detail__trouble__item {
position: relative;
border-bottom: 2px solid #000;
padding: 10px 0 20px 14rem;
}

.p-detail__trouble__badge {
display: block;
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
background: #000;
font-weight: bold;
padding: 1rem 1.6rem;
border-radius: 30px;
color: #fff;
margin-right: 3rem;
line-height: 1;
}

.p-detail__trouble__txt {
font-size: 1.8rem;
font-weight: normal;
color: #000;
}

.p-detail__feature {
margin-bottom: 160px;
}

.p-detail__feature__content {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
position: relative;
}

@media screen and (max-width: 1025px) {
.p-detail__feature__content {
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
}

.p-detail__feature__content::after {
content: "";
position: absolute;
z-index: -1;
right: calc(-50vw + 50%);
bottom: -70px;
display: block;
width: calc(50vw + 104px);
height: 100%;

background-size: cover;
background-position: left top;
}

@media screen and (max-width: 1025px) {
.p-detail__feature__content::after {
right: calc(-50vw + 50%);
width: 100vw;
}
}

.p-detail__feature__txtWrap {
width: 50%;
padding-left: 28px;
}

@media screen and (max-width: 1025px) {
.p-detail__feature__txtWrap {
width: 100%;
padding: 0;
}
}

.p-detail__feature__txtWrap p {
font-size: 1.8rem;
margin-bottom: 1.8rem;
font-weight: normal;
}

.p-detail__feature__txtWrap p:last-of-type {
margin-bottom: 0;
}

.p-detail__feature__img {
position: relative;
height: 0;
width: 50%;
padding-top: calc(50% * 0.63);
}

@media screen and (max-width: 1025px) {
.p-detail__feature__img {
width: 100%;
padding-top: 63%;
margin-bottom: 40px;
}
}

.p-detail__feature__img img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.p-detail__section {
margin-bottom: 80px;
}

.p-detail__section__content {
padding: 5.6rem 14rem;
border: 10px solid #ebe1d5;
}

@media screen and (max-width: 1025px) {
.p-detail__section__content {
padding: 3rem;
}
}

.p-detail__section__content * {
font-size: 1.8rem;
font-weight: bold;
}

.p-detail__price {
margin-bottom: 134px;
}

.p-detail__price__list {
padding: 0.3rem 2.3rem;
background: #fff;
margin-bottom: 2rem;
}

.p-detail__price__row {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
padding: 3rem 2.2rem 3rem 1.3rem;
border-bottom: 1px solid #948169;
}

.p-detail__price__row:last-of-type {
border-bottom: none;
}

.p-detail__price__head,
.p-detail__price__data {
font-size: 1.6rem;
font-weight: bold;
}

@media screen and (max-width: 768px) {

.p-detail__price__head,
.p-detail__price__data {
width: 100%;
}
}

.p-detail__price__head {
max-width: 80%;
}

@media screen and (max-width: 768px) {
.p-detail__price__head {
max-width: none;
margin-bottom: 2rem;
}
}

.p-detail__price__data {
max-width: 18%;
}

@media screen and (max-width: 768px) {
.p-detail__price__data {
max-width: none;
text-align: right;
font-weight:normal;
}
}

.p-bread {
margin: 20px auto 120px;
}

@media screen and (max-width: 1200px) {
.p-bread {
margin-bottom: 80px;
}
}

.p-bread__link,
.p-bread__current {
line-height: 1;
}

.p-bread__link {
position: relative;
text-decoration: underline;
}

.p-treatment {
margin-bottom: 250px;
}

.p-treatment .c-title__background {
width: 500px;
-webkit-transform: translate(-50%, -60%);
-ms-transform: translate(-50%, -60%);
transform: translate(-50%, -60%);
}

@media screen and (max-width: 768px) {
.p-treatment .c-title__background {
width: 255px;
}
}

.p-treatment__txt {
text-align: center;
margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
.p-treatment__txt {
margin-bottom: 40px;
}
}

.p-treatment__section {
position: relative;
}

.p-treatment__background {
position: absolute;
z-index: -2;
top: 50%;
left: calc(-50vw + 50%);
height: calc(100% + 200px);
width: 100vw;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
background: -webkit-gradient(linear, left top, right top, from(#ebe1d5), to(#fdf8f2));
background: linear-gradient(to right, #ebe1d5, #fdf8f2);
overflow: hidden;
}

@media screen and (max-width: 1025px) {
.p-treatment__background {
display: none;
}
}

.p-treatment__background::before,
.p-treatment__background::after {
content: "";
position: absolute;
top: 0;
left: 50%;
width: 200vw;
height: 500px;
-webkit-transform: translate(-29%, -60%) rotate(7deg);
-ms-transform: translate(-29%, -60%) rotate(7deg);
transform: translate(-29%, -60%) rotate(7deg);
background: #ffffff;
}

@media screen and (min-width: 1700px) {

.p-treatment__background::before,
.p-treatment__background::after {
-webkit-transform: translate(-29%, -50%) rotate(7deg);
-ms-transform: translate(-29%, -50%) rotate(7deg);
transform: translate(-29%, -50%) rotate(7deg);
}
}

@media screen and (min-width: 2000px) {

.p-treatment__background::before,
.p-treatment__background::after {
-webkit-transform: translate(-29%, -40%) rotate(7deg);
-ms-transform: translate(-29%, -40%) rotate(7deg);
transform: translate(-29%, -40%) rotate(7deg);
}
}

.p-treatment__background::after {
top: auto;
bottom: 0;
-webkit-transform: translate(-29%, 90%) rotate(7deg);
-ms-transform: translate(-29%, 90%) rotate(7deg);
transform: translate(-29%, 90%) rotate(7deg);
}

.p-treatment__section:nth-of-type(4) .p-treatment__list {
margin-bottom: 0;
}

.p-treatment__section:nth-of-type(4) .p-treatment__background {
height: calc(100% + 200px);
}

.p-treatment__section:nth-of-type(4) .p-treatment__background::before,
.p-treatment__section:nth-of-type(4) .p-treatment__background::after {
-webkit-transform: translate(-29%, -90%) rotate(-7deg);
-ms-transform: translate(-29%, -90%) rotate(-7deg);
transform: translate(-29%, -90%) rotate(-7deg);
}

.p-treatment__section:nth-of-type(4) .p-treatment__background::after {
-webkit-transform: translate(-29%, 55%) rotate(-7deg);
-ms-transform: translate(-29%, 55%) rotate(-7deg);
transform: translate(-29%, 55%) rotate(-7deg);
}

.p-treatment__list {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin: -30px 0 106px;
}

.p-treatment__list::after {
content: "";
width: calc(100% / 3 - 19px);
height: 0;
}

.p-recommend {
margin-bottom: 180px;
}

.p-recommend__list {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: stretch;
-ms-flex-align: stretch;
align-items: stretch;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-top: -50px;
}

@media screen and (max-width: 768px) {
.p-recommend__list {
margin-top: -30px;
}
}

.p-recommend__list::after {
content: "";
height: 0;
width: calc(100% / 3 - 20px);
}

@media screen and (max-width: 768px) {
.p-recommend__list::after {
width: calc(100% / 2 - 30px);
}
}

.p-recommend__list__item {
margin-top: 50px;
width: calc(100% / 3 - 20px);
}

@media screen and (max-width: 768px) {
.p-recommend__list__item {
width: calc(100% / 2 - 15px);
margin-top: 30px;
}
}

@media screen and (max-width: 520px) {
.p-recommend__list__item {
width: 100%;
}
}

.p-recommend__list__item:hover {
opacity: 1;
}

.p-recommend__list__item:hover .p-recommend__list__img img {
opacity: 0.6;
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}

.p-recommend__list__img {
position: relative;
width: 100%;
height: 0;
padding-top: 68.4%;
margin-bottom: 14px;
overflow: hidden;
}

.p-recommend__list__img img {
-webkit-transition: 0.4s;
transition: 0.4s;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.p-recommend__list__title {
font-size: 1.8rem;
}

.p-price {
margin-bottom: 180px;
}

.p-price .c-title__background {
-webkit-transform: translate(-54%, -62%);
-ms-transform: translate(-54%, -62%);
transform: translate(-54%, -62%);
width: 314px;
}

@media screen and (max-width: 768px) {
.p-price .c-title__background {
width: 180px;
}
}

.p-price__section {
margin-bottom: 100px;
}

.p-price__section:last-of-type {
margin-bottom: 0;
}

.p-price__section__item {
margin-bottom: 60px;
}

.p-price__section__nameWrap {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-bottom: 40px;
}

.p-price__section__name {
font-size: 2.4rem;
padding: 10px 30px;
background: #faf5ef;
line-height: 1;
}

.p-price__section__list {
padding: 0.3rem 2.3rem;
background: #faf5ef;
margin-bottom: 2rem;
}

.p-price__section__row {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
padding: 3rem 2.2rem 3rem 1.3rem;
border-bottom: 1px solid #948169;
}

.p-price__section__row:last-of-type {
border-bottom: none;
}

.p-price__section__head,
.p-price__section__data {
font-size: 2rem;
font-weight: bold;
}

@media screen and (max-width: 768px) {

.p-price__section__head,
.p-price__section__data {
width: 100%;
}
}

.p-price__section__head {
max-width: 80%;
}

@media screen and (max-width: 768px) {
.p-price__section__head {
max-width: none;
margin-bottom: 2rem;
}
}

.p-price__section__data {
max-width: 18%;
}

@media screen and (max-width: 768px) {
.p-price__section__data {
max-width: none;
text-align: right;
}
}

.yellow {
background: #fff47e;
font-weight: bold;
line-height: 2;
}

.b_bold {
font-weight: bold;
border-left: 4px solid ;
padding-left: 6px;
line-height: 60px;
}

.t_bold {
color: #948169;
font-weight: bold;
}



.p-medical__treatment {
margin-bottom: 130px; }

.p-medical__treatment__mainTxt {
text-align: center;
font-weight: bold;
margin-bottom: 75px; }

.p-medical__treatment__img {
width: 50%; }

.p-medical__treatment__explanation {
max-width: 1200px;
margin-bottom: 40px;
display: -webkit-box;
display: -ms-flexbox;
display: flex; }

.p-medical__treatment__txtWrap {
width: 50%; }

.p-medical__treatment__txtttl {
background-color: #faf5ef;
height: 80px;
width: 100%;
margin-left: 20px;
font-size: 2.4rem;
font-weight: bold;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-bottom: 40px; }

.p-medical__treatment__txtttl span {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
margin: 0 20px;
height: 40px;
width: 40px;
border-radius: 20px;
background-color: #fff;
color: #9d6f2e;
font-size: 2.4rem;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center; }

.p-medical__treatment__txt {
width: 96.66666%;
margin-left: 20px; }

@media screen and (max-width: 1025px) {
.p-medical__concept__content {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column; }
.p-medical__concept__txtWrap {
width: 100%;
margin-bottom: 20px; }
.p-medical__concept__txtWrap:after {
right: -30px;
width: calc(50vw + 100%); }
.p-medical__concept__img {
width: 100%; }
.p-medical__treatment__explanation {
-webkit-box-orient: vertical;
-webkit-box-direction: reverse;
-ms-flex-direction: column-reverse;
flex-direction: column-reverse; }
.p-medical__treatment__img {
width: 100%; }
.p-medical__treatment__txtWrap {
width: 100%;
margin-bottom: 20px; }
.p-medical__treatment__txtttl {
margin-left: 0; }
.p-medical__treatment__txt {
margin-left: 0; } }

@media screen and (max-width: 768px) {
.p-medical__firstView {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start; }
.p-medical__firstView__left {
margin-bottom: 30px;
padding-left: 0; }
.p-medical__firstView__title {
margin-bottom: 15px; }
.p-medical__firstView__img {
width: 100%;
padding-top: 50%; }
.p-medical__firstView__img::after {
width: 96vw; }
.p-medical__treatment__txtttl {
width: 100%; }
.c-title__background {
width: 230px; } }

@media screen and (max-width: 520px) {
.p-medical__treatment__txtttl {
margin-bottom: 20px; }
.p-medical__treatment__mainTxt {
text-align: center;
font-weight: bold;
margin-bottom: 45px; }
.p-medical__concept__content {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
margin-bottom: 110px; }
.p-medical__index {
position: relative;
margin-bottom: 60px; } }


.bnr {
max-width:400px;
width: 100%;
margin: 0 auto;
padding: 0 10px;
}

@charset "utf-8";

/*! destyle.css v1.0.15 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model */
/* ============================================ */
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

::before,
::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}

/* Document */
/* ============================================ */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
* 3. Remove gray overlay on links for iOS.
*/
html {
line-height: 1.15;
/* 1 */
-webkit-text-size-adjust: 100%;
/* 2 */
-webkit-tap-highlight-color: transparent;
/* 3*/
}

/* Sections */
/* ============================================ */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}

/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: inherit;
line-height: inherit;
font-weight: inherit;
margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
margin: 0;
padding: 0;
list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
font-weight: bold;
font-weight: bold;
}

dd {
margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
/* 1 */
height: 0;
/* 1 */
overflow: visible;
/* 2 */
border: 0;
border-top: 1px solid;
margin: 0;
clear: both;
color: inherit;
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace;
/* 1 */
font-size: inherit;
/* 2 */
}

address {
font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
text-decoration: none;
color: inherit;
}

/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none;
/* 1 */
text-decoration: underline;
/* 2 */
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
/* 2 */
}

/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace;
/* 1 */
font-size: inherit;
/* 2 */
}

/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}

/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}

sub {
bottom: -0.25em;
}

sup {
top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
vertical-align: bottom;
}

embed,
object,
iframe {
border: 0;
vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
* Reset form fields to make them styleable
*/
button,
input,
optgroup,
select,
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
vertical-align: middle;
color: inherit;
font: inherit;
border: 0;
background: transparent;
padding: 0;
margin: 0;
outline: 0;
border-radius: 0;
text-align: inherit;
}

/**
* Reset radio and checkbox appearance to preserve their look in iOS.
*/
[type="checkbox"] {
-webkit-appearance: checkbox;
-moz-appearance: checkbox;
appearance: checkbox;
}

[type="radio"] {
-webkit-appearance: radio;
-moz-appearance: radio;
appearance: radio;
}

/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input {
/* 1 */
overflow: visible;
}

/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select {
/* 1 */
text-transform: none;
}

/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
cursor: default;
}

/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}

/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}

/**
* Remove arrow in IE10 & IE11
*/
select::-ms-expand {
display: none;
}

/**
* Remove padding
*/
option {
padding: 0;
}

/**
* Reset to invisible
*/
fieldset {
margin: 0;
padding: 0;
border: 0;
min-width: 0;
}

/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
*    `fieldset` elements in all browsers.
*/
legend {
color: inherit;
/* 2 */
display: table;
/* 1 */
max-width: 100%;
/* 1 */
padding: 0;
/* 3 */
white-space: normal;
/* 1 */
}

/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}

/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}

/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}

/**
* 1. Correct the outline style in Safari.
*/
[type="search"] {
outline-offset: -2px;
/* 1 */
}

/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}

/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button;
/* 1 */
font: inherit;
/* 2 */
}

/**
* Clickable labels
*/
label[for] {
cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}

/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}

/*
* Remove outline for editable content.
*/
[contenteditable] {
outline: none;
}

/* Table */
/* ============================================ */
table {
border-collapse: collapse;
border-spacing: 0;
}

caption {
text-align: left;
}

td,
th {
vertical-align: top;
padding: 0;
}

th {
text-align: left;
font-weight: bold;
}

@media screen and (max-width: 768px) {
table {display: block;overflow-x: scroll;white-space: nowrap;-webkit-overflow-scrolling: touch;}

.table table {
white-space: normal;
}
table dt {
font-weight: bold;
font-size:1rem!important;
width: 30%;
}
}

/* Misc */
/* ============================================ */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}

/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

/*****  reset  *****/

* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
margin: 0;
padding: 0;
border: 0;
font-style: inherit;
font-weight: inherit;
font-size: 100%;
vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
display: block;
}

body {
-webkit-text-size-adjust: 100%;
}

blockquote,
q {
quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
content: '';
content: none;
}

input,
textarea {
border-radius: 0;
margin: 0;
padding: 0;
}

button {
border: 0;
border-radius: 0;
cursor: pointer;
}

select {
border-radius: 0;
}

ol,
ul {
list-style: none;
}

table {border-collapse: collapse;border-spacing: 0;}

caption,
th {
text-align: left;
}

a:focus {
outline: none;
}


/*============================================================================
PC  * Responsive Design *
============================================================================*/

html {
color: #000;
font: 500 62.5% "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", HiraKakuPro-W3, "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", verdana, sans-serif;
margin: 0 !important;
}

body {
min-width: 1200px;
overflow-x: scroll;
font-size: 1.6rem;
}

a {
color: inherit;
text-decoration: none;
}

a:hover,
a img:hover {
opacity: 0.8;
}

img {
max-height: 100%;
max-width: 100%;
vertical-align: middle;
}


/*****  keyframes  *****/

@-webkit-keyframes loadedTxtLarge {
59% {
opacity: 0;
-webkit-transform: translateY(30%);
transform: translateY(30%);
}

69% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}

100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}

@keyframes loadedTxtLarge {
59% {
opacity: 0;
-webkit-transform: translateY(30%);
transform: translateY(30%);
}

69% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}

100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}

@-webkit-keyframes loadedTxtSmall {
64% {
opacity: 0;
-webkit-transform: translateY(40%);
transform: translateY(40%);
}

74% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}

100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}

@keyframes loadedTxtSmall {
64% {
opacity: 0;
-webkit-transform: translateY(40%);
transform: translateY(40%);
}

74% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}

100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}


/*****  start animation  *****/

.top-overlay-logo-wrap {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
width: 80%;
max-width: 400px;
overflow: hidden;
}

.js-anime01 {
position: fixed;
z-index: 998;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #fff;
}

.js-anime01.end {
display: none;
}

.js-anime02 {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 997;
background: #fff;
}

.js-anime02.end {
-webkit-transform: translateX(100%);
transform: translateX(100%);
-webkit-transition: all 1s cubic-bezier(0.77, 0, 0.175, 1);
transition: all 1s cubic-bezier(0.77, 0, 0.175, 1);
}

.js-anime03 {
z-index: 999;
background: #948169;
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
-webkit-transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}

.js-anime03.start {
-webkit-transform: translateX(0);
transform: translateX(0);
-webkit-transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}

.js-anime03.end {
-webkit-transform: translateX(100%);
transform: translateX(100%);
-webkit-transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}


/*****  js  *****/

.js-inview-item,
.js-inview-item01,
.js-inview-item02 {
-webkit-transform: translate(0, 40px);
transform: translate(0, 40px);
opacity: 0;
will-change: opacity, transform;
}

.js-inview-item {
transition: all 0.5s ease-in-out;
}

.js-inview-item01 {
transition: all 1s ease-in-out;
}

.js-inview-item02 {
transition: all 1.5s ease-in-out;
}

.js-inview-item.js-scrollin,
.js-inview-item01.js-scrollin,
.js-inview-item02.js-scrollin {
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
opacity: 1;
}

@media screen and(min-width:769px) {

.js-inview-item,
.js-inview-item01,
.js-inview-item02 {
-webkit-transform: translate(0, 50px);
transform: translate(0, 50px);
}

.js-inview-item.js-scrollin,
.js-inview-item01.js-scrollin,
.js-inview-item02.js-scrollin {
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
}


/*****  module  *****/

.m_ttl-en {
color: #000000;
font-family: 'Oswald', sans-serif;
font-size: 7.6rem;
font-weight: 500;
line-height: 1;
}

.m_ttl-ja {
color: #000000;
font-size: 1.6rem;
line-height: 1;
padding-top: 20px;
display: block;
font-weight: bold;
}

.m_ttl-sub {
font-size: 1.8rem;
font-weight: bold;
color: #948169;
}

.m_flex {
display: flex;
justify-content: space-between;
}

.m_section,
.m_section_pc {
max-width: 1200px;
margin: 0 auto;
}

.clearfix {
zoom: 1;
}

.clearfix:after {
clear: both;
content: "";
display: block;
}

.pc {
display: block !important;
}

.sp {
display: none !important;
}

.wrapper {
position: relative;
z-index: 1;
background: #fff;
}


/*****  Header  *****/

.h-container {
position: fixed;
top: 0;
right: 0;
z-index: 5;
width: 90px;
height: 100%;
background: #fff;
}

.h-menu {
margin: 0 0 0 auto;
height: 90px;
width: 90px;
background: #000;
display: flex;
align-items: center;
justify-content: center;
}

.h-menu-btn {
width: 30px;
height: 22px;
margin: 0 auto;
position: relative;
display: flex;
flex-direction: column;
justify-content: space-between;
}

.h-menu-btn span {
height: 2px;
position: relative;
display: inline-block;
width: 100%;
top: 0;
background: #fff;
transition: transform .6s cubic-bezier(.445, .05, .55, .95), top .6s cubic-bezier(.445, .05, .55, .95), -webkit-transform .6s cubic-bezier(.445, .05, .55, .95);
}

.h-menu-btn .t {
top: 0;
}

.h-menu-btn.active .t {
-webkit-transform: rotate(220deg);
transform: rotate(220deg);
}

.h-menu-btn.active .m {
display: none;
}

.h-menu-btn.active .b {
-webkit-transform: rotate(-220deg);
transform: rotate(-220deg);
margin-top: -2px;
}

.h-menu-btn.active {
height: auto;
margin: 0 auto;
}

.h-btn {
background: #948169;
}

.h-btn a {
display: inline-flex;
color: #fff;
line-height: 1.2;
letter-spacing: 3px;
width: 90px;
height: 90px;
justify-content: center;
align-items: center;

}

.o-btn {
background: #4b4b4b;
}

.o-btn a {
display: inline-flex;
color: #fff;
line-height: 1.2;
letter-spacing: 3px;
width: 90px;
height: 90px;
justify-content: center;
align-items: center;
text-align: center;
}

.h-sns {
padding-top: 190px;
}

.h-sns-txt {
text-orientation: mixed;
-webkit-text-orientation: mixed;
font-size: 2rem;
font-weight: 400;
font-family: 'Oswald', sans-serif;
line-height: 1;
margin: auto;
writing-mode: vertical-rl;
}

.h-sns-line {
margin: 10px auto 20px auto;
width: 2px;
display: block;
height: 40px;
background: #000;
}

.h-sns img {
width: 30px;
display: block;
margin: auto;
}

.h-gnav {
background: #fff;
height: 100%;
width: 600px;
overflow-y: auto;
position: fixed;
top: 0;
right: 90px;
transform: translateX(120%);
transition: .5s all;
z-index: 1;
padding-left: 185px;
}

.h-gnav.open {
transform: translateX(0);
}

.h-gnav-list {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
padding-top: 100px;
}

.h-gnav-list-item a {
font-family: 'Oswald', sans-serif;
font-size: 2.8rem;
line-height: 1;
display: block;
padding: 15px 0;
}

.jp a {
font-weight: bold;
font-size: 2rem;
}
.h-gnav-list-item:last-of-type a {
padding-bottom: 0;
}

.h-gnav-reserv {
margin: 40px 0 30px;
}

.h-gnav-reserv a {
display: block;
background: #948169;
color: #fff;
letter-spacing: 1px;
line-height: 1.6;
font-weight: normal;
width: 250px;
padding: 20px 0;
text-align: center;
}

.h-gnav-tel-txt {
font-size: 1.4rem;
line-height: 1;
}

.h-gnav-tel-num {
font-size: 3.6rem;
font-weight: bold;
font-family: 'Oswald', sans-serif;
letter-spacing: 3px;
display: block;
padding: 15px 0 15px 30px;
position: relative;
line-height: 1;
}

.h-gnav-tel-num::before {
content: "";
background: url(../img/icon_phone_b.png) no-repeat center center/cover;
position: absolute;
height: 30px;
width: 23px;
top: 50%;
margin-top: -15px;
left: 0;
}

.h-gnav-tel dl {
display: table;
font-size: 1.4rem;
}

.h-gnav-tel dl dt {
display: table-cell;
}

.h-gnav-tel dl dd:nth-child(4) {
display: block;
padding-left: 15px;
}


/*****  Top  *****/

.top-left {
position: fixed;
top: 0;
left: 0;
z-index: 5;
width: 90px;
height: 100%;
background: #fff;
}

.top-left-logo {
height: 150px;
width: 150px;
position: fixed;
top: 0;
left: 0;
}

.top-left-scroll {
writing-mode: vertical-rl;
font-size: 2rem;
font-weight: 400;
font-family: 'Oswald', sans-serif;
left: 50%;
margin-left: -10px;
line-height: 1;
letter-spacing: 2px;
bottom: 190px;
position: absolute;
}

.top-left-line {
width: 2px;
height: 40px;
display: block;
position: absolute;
left: 50%;
margin-left: -2px;
bottom: 130px;
background: #000;
}

.top-mainvisual {height: 900px;background: url(../img/img_mv.jpg) no-repeat center center/cover;display: flex;align-items: center;justify-content: left;
                padding-left:200px;}

.top-mainvisual-logo {
max-width: 530px;
animation: loadedTxtLarge 9s forwards;
opacity: 0;
-webkit-transform: translateY(30%);
-ms-transform: translateY(30%);
transform: translateY(30%)
}

.top-mainvisual-logo-catchcopy {
line-height: 1;
font-size: 2rem;
margin-top: 45px;
line-height: 2.4rem;
text-align: left;
display: block;
color: #fff;
font-weight: normal;
letter-spacing: 2px;
animation: loadedTxtSmall 9s forwards;
opacity: 0;
-webkit-transform: translateY(40%);
-ms-transform: translateY(40%);
transform: translateY(40%);
}


.kome {
margin-top: 10px;
color: #fff;
font-size: 1.4rem;
}
/*****  About  *****/

.about {
margin: 40px 0 65px;
position: relative;
padding-bottom: 100px;
}

.about::before,
.about::after {
content: "";
position: absolute;
z-index: -1;
}

.about::before {
background: url(../img/bg_img01.gif) no-repeat center center/cover;
width: 300px;
height: 330px;
top: 150px;
left: 0;
}

.about::after {
background: url(../img/bg_img02.gif) no-repeat center center/cover;
width: 635px;
height: 400px;
bottom: 0;
right: 0;
}

.about-content {
max-width: 1050px;
margin: 0 auto;
}

.about-content-txt {
display: block;
max-width: 460px;
height: 190px;
padding: 30px 30px 30px 40px;
margin-top: 85px;
background: #fff;
}

.about-content-img {
max-width: 560px;
}


/*****  Service  *****/

.service-ttlarea {
margin-bottom: -70px;
}

.service {
background: url(../img/bg_img03.png) no-repeat center center/ cover;
}

.service-content {
max-width: 1050px;
margin: 0 auto;
}

.service-content-left,
.service-content-right {
max-width: 600px;
padding: 200px 0 125px;
text-align: center;
}

.service-content-left-img {
max-width: 390px;
}

.service-content-right-img {
max-width: 475px;
}

.service-content-left dl dt,
.service-content-right dl dt {
font-size: 2.4rem;
line-height: 1;
padding: 40px 0 35px;
}

.service-content-left dl dd img,
.service-content-right dl dd img {
max-width: 380px;
display: block;
margin: 0 auto;
}

.service-content-left dl dd:nth-child(3),
.service-content-right dl dd:nth-child(3) {
font-size: 2.4rem;
font-weight: 400;
padding-top: 40px;
}


/*****  Feature  *****/

.feature-sec01-ttlarea,
.feature-sec02-ttlarea {
margin: 70px 0 40px;
}

.feature-sec01-ttlarea img,
.feature-sec02-ttlarea img {
width: 200px;
float: left;
margin-right: 40px;
}

.feature-sec01-content {
clear: both;
padding: 110px;
background: #000;
}

.feature-sec02-content {
clear: both;
padding: 110px;
background: #948169;
}

.feature-sec01-content-list-cont,
.feature-sec02-content-list-cont {
max-width: 300px;
}

.feature-sec01-content-list-cont-num,
.feature-sec02-content-list-cont-num {
font-size: 3.6rem;
color: #fff;
line-height: 1;
letter-spacing: 2px;
font-family: 'Oswald', sans-serif;
font-weight: 100;
}

.feature-sec01-content-list-cont-description dt,
.feature-sec02-content-list-cont-description dt {
font-size: 1.8rem;
color: #fff;
padding: 20px 0 30px;
}

.feature-sec01-content-list-cont-description dd,
.feature-sec02-content-list-cont-description dd {
color: #fff;
}

.feature-sec01-description {
color: #fff;
padding-bottom: 40px;
}

.feature-sec01-description h3 {
font-size: 24px;
border-left: 6px solid #948169;
padding-left: 14px;
margin-bottom: 20px;
}

/*****  Profile  *****/

.profile {
margin-top: 120px;
}

.profile-ttlarea {
margin-bottom: -70px;
}

.profile-content {
background: url(../img/bg_img03.png) no-repeat center center/cover;
}

.profile-content-wrap {
padding: 105px 0 70px;
max-width: 1050px;
margin: 0 auto;
}

.profile-content-img {
max-width: 400px;
}

.profile-content-txt {
max-width: 600px;
}

.profile-content-txt dt {
display: block;
padding-bottom: 40px;
font-size: 2.4rem;
}

.profile-content-txt dt span {
font-size: 1.4rem;
padding-left: 30px;
}


/*****  Menu  *****/

.menu-ttlarea {
padding: 80px 0 50px;
}

.menu-content-sec01,
.menu-content-sec02 {max-width: 1200px;margin: 0 auto;padding: 60px;border: 2px solid #a5a5a5;}

.menu-content-sec02 {
margin-top: 60px;
}

.menu-content-sec02:first-child {
margin-top: 0px;
}
.menu-content-sec01 {
margin-top: 60px;
}
.menu-content-sec01-img img:first-of-type {max-width: 250px;}

.menu-content-sec02-img img:first-of-type {
max-width: 270px;
}

.menu-content-sec01-img img:nth-child(2),
.menu-content-sec02-img img:nth-child(2) {
max-width: 340px;
padding-top: 55px;
display: block;
}

.menu-content-sec01-txt {
max-width: 550px;
width: 100%;
}

.menu-content-sec01-txt .m_flex,
.menu-content-sec02-txt .m_flex {
align-items: center;
padding-bottom: 10px;
}

.menu-content-sec01-txt .m_flex:nth-child(2),
.menu-content-sec02-txt .m_flex:nth-child(2) {
padding-top: 20px;
}

.menu-content-sec01-txt-border,
.menu-content-sec02-txt-border {
height: 2px;
width: 375px;
background: #948169;
}

.menu-content-sec01-txt-price,
.menu-content-sec02-txt-price {
display: flex;
justify-content: space-between;
align-items: center;
}

.menu-content-sec01-txt-price dd,
.menu-content-sec02-txt-price dd {
color: #948169;
font-size: 4rem;
font-family: 'Oswald', sans-serif;
font-weight: bold;
letter-spacing: 3px;
}

.menu-content-sec01-txt-price dd span,
.menu-content-sec02-txt-price dd span {
font-size: 1.6rem;
font-weight: normal;
color: #000;
font-family: "Noto Sans JP", sans-serif;
padding-left: 5px;
vertical-align: middle;
letter-spacing: 1px;
}

.menu-content-sec01-txt-cap {
font-size: 1.2rem;
text-align: right;
padding-top: 20px;
}


/*****  Info  *****/

.info {
padding: 80px 0 120px;
max-width: 540px;
width: 100%;
}

.info-content {
margin-left: 50px;
max-width: 490px;
margin-top: 60px;
}

.info-content-list-post {
border-top: 2px solid #a5a5a5;
padding: 20px 0 30px;
display: flex;
justify-content: space-between;
align-items: center;
}

.info-content-list-post:last-of-type {
border-bottom: 2px solid #a5a5a5;
}

.info-content-list-post-txt time {
color: #a5a5a5;
font-size: 1.4rem;
font-weight: 400;
letter-spacing: 1px;
padding-bottom: 20px;
display: block;
}

.info-content-list-post-btn a {
background: #948169;
width: 110px;
height: 50px;
text-align: center;
font-size: 1.2rem;
line-height: 4;
letter-spacing: 0.5px;
font-family: 'Oswald', sans-serif;
display: block;
color: #fff;
font-weight: normal;
}

.info-content-btn {
margin-top: 40px;
}

.info-content-btn a {
background: #948169;
max-width: 260px;
height: 70px;
color: #fff;
font-size: 1.8rem;
line-height: 4;
font-family: 'Oswald', sans-serif;
display: block;
text-align: center;
font-weight: 400;
letter-spacing: 2px;
}


/*****  Access  *****/

.access {
padding: 80px 0 120px;
max-width: 560px;
width: 100%;
margin-right: auto;
margin-left: 100px;
}

.access-content-add {
line-height: 1.6;
letter-spacing: 1px;
padding: 55px 0 35px
}

.access-content-map iframe {
height: 400px;
width: 100%;
}


/*****  Reservation  *****/

.reserv {
background: url(../img/bg_footer.jpg) no-repeat center center/cover;
padding: 75px 0 80px;
}

.reserv-ttl-en {
font-size: 4.6rem;
font-weight: 400;
letter-spacing: 3.5px;
font-family: 'Oswald', sans-serif;
color: #fff;
text-align: center;
}

.reserv-ttl-ja {
text-align: center;
color: #fff;
letter-spacing: 2px;
font-weight: 400;
}

.reserv-content {padding-top: 60px;width:540px;margin: 0 auto;}

.reserv-content .m_flex {max-width: 1040px;margin: 0 auto;}

.reserv-content-left a,
.reserv-content-right a {
width: 500px;
height: 120px;
border: 2px solid #fff;
color: #fff;
font-size: 1.8rem;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
line-height: 0.8;
font-weight: 400;
letter-spacing: 1px;
margin: 20px;
}

.reserv-content-center {
width: 500px;
margin: 0 auto;
}
.reserv-content-center a {
width: 500px;
height: 120px;
border: 2px solid #fff;
color: #fff;
font-size: 1.8rem;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
line-height: 0.8;
font-weight: 400;
letter-spacing: 1px;
margin: 20px;
}


.reserv-content-left a:hover,
.reserv-content-right a:hover {
background: #a99780;
border: 2px solid #a99780;
color: #fff;
transition: .5s all;
opacity: 1;
}

.reserv-content-left a {
position: relative;
}



.reserv-content-right-txt {
font-size: 1.6rem;
display: block;
}

.reserv-content-right-num {
font-size: 3.6rem;
font-family: 'Oswald', sans-serif;
font-weight: bold;
position: relative;
letter-spacing: 2px;
}

.reserv-content-right-num::before {
content: "";
background: url(../img/icon_phone_w.png) no-repeat center center/cover;
height: 30px;
width: 23px;
position: absolute;
top: 50%;
left: -40px;
margin-top: -15px;
}

.reserv-content-caption {
padding-top: 40px;
text-align: right;
color: #fff;
font-size: 1.4rem;
max-width: 1040px;
margin: 0 auto;
line-height: 1.8;
}


/*****  Footer  *****/

.footer {
background: #fff;
color: #000;
text-align: center;
}

.ft-logo {
max-width: 220px;
margin: 40px auto;
}

.ft-copyright {
color: #000;
font-size: 1.4rem;
font-family: 'Oswald', sans-serif;
padding-bottom: 40px;
letter-spacing: 1px;
}


@media screen and (max-width: 1420px) {

/*****  module  *****/
.m_section,
.m_section_pc {
padding: 0 90px;
}
}

/*============================================================================
SmartPhone  * Responsive Design *
============================================================================*/

@media screen and (max-width: 767px) {

/*****  start animation  *****/
.top-overlay-logo-wrap {
width: 80%;
max-width: 200px;
}

html {
overflow-x: hidden;
}

body {
overflow-x: unset;
min-width: 320px;
font-size: 1.2rem;
}

/*****  module  *****/
.m_ttl-en {
font-size: 3.8rem;
font-weight: 500;
letter-spacing: 3px;
}

.m_ttl-ja {
font-size: 1.4rem;
font-weight: bold;
}

.m_section {
padding: 0 20px;
max-width: 100%;
margin: 0 auto;
}

.m_section_pc {
padding: 0;
max-width: 100%;
margin: 0 auto;
}

.m_ttl-sub {
font-size: 1.4rem;
}

.m_flex {
display: block;
}

.pc {
display: none !important;
}

.sp {
display: block !important;
}

/*****  Header  *****/
.h-container {
background: none;
height: auto;
}

.h-menu {
height: 60px;
width: 60px;
}

.h-menu-btn {
width: 25px;
height: 18px;
}

.h-btn {
top: 0;
right: 60px;
position: absolute;
}

.h-btn a {
height: 60px;
width: 95px;
letter-spacing: 1px;
}

.o-btn {top: 0;right: 60px;position: absolute;}

.o-btn a {
height: 60px;
width: 120px;
letter-spacing: 1px;
}

.h-sns {
display: none;
}

.h-gnav {
width: 100%;
right: 0;
padding-left: 60px;
}

.h-gnav-list {
padding-top: 70px;
}

.h-gnav-list-item a {
padding: 10px 0;
}

.h-gnav-tel-num {
font-size: 3rem;
letter-spacing: 1px;
padding: 15px 0 15px 25px;
}

.h-gnav-tel-num::before {
height: 25px;
width: 19px;
margin-top: -11px;
}

/*****  Top  *****/
.top-left {
width: auto;
height: auto;
background: none;
}

.top-left-logo {
height: 60px;
width: 60px;
}

.top-left-scroll {
display: none;
}

.top-mainvisual {
height: 600px;
background: url(../img/img_mv_sp.jpg) no-repeat center center/cover;
    padding-left: 0;
    justify-content: center;
    padding-top: 100px
}

.top-mainvisual-logo {
max-width: 265px;
}

.top-mainvisual-logo-catchcopy {
line-height: 1;
font-size: 1.5rem;
line-height: 2rem;
margin-top: 40px;
letter-spacing: 0;
text-align: left;
}
.kome {
margin-top: 10px;
color: #fff;
}

/*****  About  *****/
.about {
margin: 35px 0 50px;
padding-bottom: 50px;
}

.about::before {
display: none;
}

.about::after {
width: 237px;
height: 200px;
}

.about-content {
padding: 0 20px;
max-width: 100%;
margin: auto;
}

.about-content-txt {
max-width: 100%;
line-height: 1.6;
height: auto;
padding: 0;
background: none;
margin: 40px auto;
}

.about-content-img {
max-width: 100%;
}

/*****  Service  *****/
.service-ttlarea {
margin-bottom: -52px;
}

.service-content {
padding: 85px 20px 50px;
}

.service-content-left,
.service-content-right {
padding: 0;
max-width: 100%;
margin: 0 auto;
}

.service-content-right {
margin-top: 50px;
}

.service-content-left-img {
width: 52vw;
}

.service-content-right-img {
width: 62.667vw;
}

.service-content-left-img,
.service-content-right-img {
max-width: 335px;
margin: 0 auto;
}

.service-content-left dl dt,
.service-content-right dl dt {
padding: 20px 0 15px;
font-size: 3.2vw;
}

.service-content-left dl dd img,
.service-content-right dl dd img {
max-width: 335px;
font-size: 1.8rem;
}

.service-content-left dl dd img,
.service-content-right dl dd img {
max-width: 380px;
width: 50.667vw;
}

.service-content-left dl dd:nth-child(3),
.service-content-right dl dd:nth-child(3) {
font-size: 3.2vw;
font-weight: 500;
padding-top: 20px;
}

/*****  Feature  *****/
.feature-sec01-ttlarea img,
.feature-sec02-ttlarea img {
width: 125px;
margin-right: 20px;
}

.feature-sec01-ttlarea,
.feature-sec02-ttlarea {
margin: 40px 0 30px;
}

.feature-sec01-content,
.feature-sec02-content {
padding: 30px 40px 40px;
}

.feature-sec01-content-list-cont-num,
.feature-sec02-content-list-cont-num {
font-size: 2.7rem;
}

.feature-sec01-content-list-cont-description dt,
.feature-sec02-content-list-cont-description dt {
font-size: 1.4rem;
font-weight: 500;
padding: 10px 0 20px;
}

.feature-sec01-content-list-cont-description dd,
.feature-sec02-content-list-cont-description dd {
font-size: 1.2rem;
font-weight: 400;
}

.feature-sec01-content-list-cont,
.feature-sec02-content-list-cont {
margin-bottom: 45px;
}

.feature-sec01-content-list-cont:last-of-type,
.feature-sec02-content-list-cont:last-of-type {
margin-bottom: 0;
}

.feature-content-sec01,
.feature-content-sec02 {
max-width: 100%;
padding: 25px 20px 30px;
}

.feature-sec01-description h3 {
font-size: 2rem;
border-left: 6px solid #948169;
padding-left: 14px;
margin-bottom: 20px;
}

/*****  Profile  *****/
.profile {
margin-top: 60px;
}

.profile-ttlarea {
margin-bottom: -52px;
}

.profile-content-wrap {
padding: 75px 20px 40px;
}

.profile-content-txt dt {
font-size: 2rem;
padding: 30px 0 20px;
font-weight: bold;
}

.profile-content-txt dt span {
font-size: 1.2rem;
padding-left: 20px;
font-weight: normal;
}

/*****  Menu  *****/
.menu-ttlarea {
padding: 40px 0 30px;
}

.menu-content-sec01,
.menu-content-sec02 {
padding: 30px 20px 40px;
}

.menu-content-sec01 {
margin-top: 40px;
}
.menu-content-sec01-img {
text-align: center;
}

.menu-content-sec01-img img:nth-child(2),
.menu-content-sec02-img img:nth-child(2) {
max-width: 390px;
width: 100%;
padding-top: 15px;
}

.menu-content-sec01-txt .m_flex,
.menu-content-sec02-txt .m_flex {
display: flex;
justify-content: space-between;
margin-top: 30px;
}

.menu-content-sec01-img,
.menu-content-sec02-img {
text-align: center;
}

.menu-content-sec01-img img,
.menu-content-sec02-img img {
margin: 0 auto;
}

.menu-content-sec02-img img:first-of-type {
width: 100%;
}

.menu-content-sec01-txt,
.menu-content-sec02-txt {
margin-top: 55px;
}

.menu-content-sec01-txt-border,
.menu-content-sec02-txt-border {
width: 58%;
}

.menu-content-sec01-txt-price,
.menu-content-sec02-txt-price {
align-items: flex-end;
}

.menu-content-sec01-txt .m_flex:nth-child(3),
.menu-content-sec02-txt .m_flex:nth-child(5) {
margin-top: 20px;
}

.menu-content-sec01-txt-price dd,
.menu-content-sec02-txt-price dd {
font-size: 2.4rem;
letter-spacing: 1.5px;
}

.menu-content-sec01-txt-price dd span,
.menu-content-sec02-txt-price dd span {
font-size: 1.2rem;
}

.menu-content-sec01-txt-cap {
font-size: 1rem;
}

.menu-content-sec02 {
margin-top: 40px;
}

/*****  Info  *****/
.info {
padding-bottom: 0;
padding: 40px 0 0;
}

.info-content {
margin: 30px 0 0;
}

.info-content-list-post {
padding: 20px 0;
}

.info-content-list-post-txt time {
padding-bottom: 15px;
font-size: 1.2rem;
}

.info-content-list-post-txt p {
font-size: 1.2rem;
}

.info-content-list-post-btn a {
width: 80px;
height: 25px;
font-size: 1.2rem;
line-height: 2;
}

.info-content-btn a {
max-width: 170px;
height: 45px;
color: #fff;
font-size: 1.4rem;
line-height: 3.2;
margin: 0 auto;
}

/*****  Access  *****/
.access {
padding: 60px 0 50px;
max-width: 100%;
width: 100%;
margin-left: 0;
}

.access-content-add {
padding: 30px 0;
}

.access-content-map iframe {
height: 200px;
width: 100%;
}

/*****  Reservation  *****/
.reserv {
padding: 30px 0 40px;
}

.reserv-ttl-en {
font-size: 2.3rem;
font-weight: bold;
letter-spacing: 2px;
}

.reserv .m_ttl-ja {
padding-top: 15px;
font-size: 1.4rem;
font-weight: normal;
}

.reserv-content {
padding-top: 30px;
    width: 100%;
}

.reserv-content-left a,
.reserv-content-right a {
font-size: 2.667vw;
width: 66.667vw;
height: 16vw;
max-width: 500px;
max-height: 120px;
margin: 0 auto;
}

.reserv-content-center {
width: 100%;
margin-top: 20px;
}
.reserv-content-center a {
font-size: 2.667vw;
width: 66.667vw;
height: 16vw;
max-width: 500px;
max-height: 120px;
margin: 0 auto;
}

.reserv-content-left a::before {
left: 2.867vw;
top: 50%;
margin-top: -1.6vw;
width: 4vw;
height: 3.2vw;
}

.reserv-content-right {
margin-top: 20px;
}

.reserv-content-right-txt {
font-size: 2.667vw;
}

.reserv-content-right-num {
font-size: 4.8vw;
}

.reserv-content-right-num::before {
height: 4vw;
width: 3.067vw;
left: -5.333vw;
margin-top: -2vw;
}

.reserv-content-caption {
width: 66.667vw;
font-size: 2.667vw;
padding-top: 20px
}

/*****  Footer  *****/
.ft-logo {
max-width: 110px;
margin: 20px auto;
}

.ft-copyright {
padding-bottom: 15px;
font-size: 1rem;
}
}

/*============================================================================
Individual  * Responsive Design *
============================================================================*/

@media screen and (max-width: 359px) {

/*****  Header  *****/
.h-gnav {
padding-left: 15vw;
}

/*****  Feature  *****/
.feature-sec01-ttlarea img,
.feature-sec02-ttlarea img {
width: 110px;
}
}

/* WordPress Native */

b,
strong {
font-weight: bold;
}

em {
font-style: italic;
}

.aligncenter {
display: block;
margin: 0 auto;
text-align: center;
}

.alignright {
float: right;
text-align: right;
}

.alignleft {
float: left;
text-align: left;
}

img.alignright,
img.alignleft {
margin: 1em;
}

img[class*="wp-image-"],
img[class*="attachment-"] {
height: auto;
max-width: 100%;
}


.l-content {
max-width: 1000px;
width: 70%;
margin: auto;
}

.p-contents {
padding: 40px 0;
}

.p-contents.l-content {}

.p-contents .c-title {
text-align: center;
margin-top: 40px;
}

.p-contents .c-title__ja {
display: block;
margin-top: 20px;

}

.p-contents .c-title__en {
color: #000000;
font-family: 'Oswald', sans-serif;
font-size: 7rem;
font-weight: bold;
line-height: 1;
}

.p-contents .p-contact__content {
padding-top: 40px;
}

@media only screen and (max-width:768px) {
.l-content {
width: 100%;
margin: auto;
}

.p-contents .c-title__en {
color: #000000;
font-family: 'Oswald', sans-serif;
font-size: 4rem;
font-weight: bold;
line-height: 1;
}
}

footer .sns {
padding-bottom: 40px;
;
}

.footer-sns-txt {
color: #000;
font-size: 1.8rem;
font-family: 'Oswald', sans-serif;
letter-spacing: 1px;
padding-bottom: 20px;
}

.sns ul li {
display: inline-block;
padding: 5px
}

.sns ul li img {
width: 25px;
}

/*============================================================================
contact
============================================================================*/
.tx-C {
text-align: center;
}

.mb30 {
margin-bottom: 30px;
}

.contact-wrap {
padding: 80px 0px;

}

.contact-box {
background: #fff;
padding: 50px 60px 60px
}

.contact-wrap dl {
margin: 0 auto;
text-align: left
}

.contact-wrap dt {
width: 30%;
float: left;
margin: 6px 5% 30px 0;
clear: both;
letter-spacing: .2em
}

.contact-wrap dd {
width: 65%;
margin-bottom: 30px;
float: left
}

.contact-wrap .radioBox label {
width: 100%;
display: inline-block;
margin: 5px 0 0 !important;
padding: 0 !important;
}

.contact-wrap .required {
padding: 3px 8px;
border: 1px solid #eb2929;
color: #eb2929;
font-size: 12px;
line-height: 1.3;
float: right
}

.contact-wrap .inputBox,
.contact-wrap .textBox {
width: 500px;
padding: 15px 10px;
border: 1px solid #ddd;
background: #ededed !important;
}

.contact-wrap .inputBox {
font-size: 13px;
outline: 0;
}

.contact-wrap .textBox {
font-size: 14px
}

.contact-wrap .inputBox:focus,
.contact-wrap .textBox:focus {
outline: 0;
background: #f8f8f8;
border: 1px solid #eb2929
}

.contact-box select {
padding: 8px;
margin: 0 auto;
line-height: 1.6;
cursor: pointer
}

input[type=button],
input[type=submit] {
-webkit-appearance: none;
color: #fff;
}

.inquiryBtn {
margin: 30px auto 0;
overflow: hidden;
text-align: center
}

.inquiryBtn input {
cursor: pointer;
background-color: #222;
color: #fff;
border: none;
font-weight: 700;
font-size: 14px;
padding: 24px 0;
width: 300px;
margin: 0 5px 5px
}

.inquiryBtn input:hover {
background: #666
}

.mw_wp_form .horizontal-item + .horizontal-item {
margin-left: 0 !important
}


.mwform-radio-field-text {}

.inner {
max-width: 1300px;
padding: 0 20px;
margin: 0 auto;
position: relative
}

.mwform-radio-field input {
margin-right: 5px;
position: relative;
top: -8px !important;
}

@media only screen and (max-width:1024px) {
.inner {
margin: 0;
padding: 0 20px;
}

.contact-wrap .inputBox,
.contact-wrap .textBox {
width: 100%;
padding: 15px 10px;
border: 1px solid #ddd;
background: #ededed !important;
}

}

@media only screen and (max-width:768px) {

.inner {
width: 100%;
}

.mwform-radio-field input {
margin-right: 5px;
position: relative;
top: -4px !important;
}

}

@media only screen and (max-width:768px) {
.contact-wrap {
padding: 20px 0px;
}

.contact-box {
background: #fff;
padding: 20px;
overflow: hidden;
}

.contact-wrap dl {
width: 100%
}

.contact-wrap dt {
float: none;
width: 100%;
margin: 20px 0 5px;
margin-bottom: 20px;
}

.contact-wrap dd {
width: 100%;
margin-bottom: 20px
}

.contact-wrap .radioBox label {
float: none;
padding: 5px 0
}

.contact-wrap input.inputBox {
width: 100%;
padding: 10px;
-webkit-appearance: none;
}

.contact-wrap .textBox {
max-width: 100%;
font-size: 12px;
padding: 10px;
-webkit-appearance: none
}

.required {
font-size: 10px
}

}


/**
* error message
*/
.mw_wp_form .error {
font-size: 93%;
color: #B70000;
display: block;
}

/**
* error message of akismet
*/
.mw_wp_form .akismet_error {
display: block;
}

/**
* vertical style of radio and checkbox
*/
.mw_wp_form .vertical-item {
display: block;
}

.mw_wp_form .vertical-item + .vertical-item {
margin-top: 5px;
}

/**
* horizontal style of radio and checkbox
*/
.mw_wp_form .horizontal-item + .horizontal-item {
margin-left: 10px;
}

/**
* radio and checkbox
*/
.mwform-checkbox-field label,
.mwform-radio-field label {
font-weight: normal;
margin-bottom: 0;
}

/**
* datepicker
*/
.mw_wp_form .ui-datepicker .ui-datepicker-title select.ui-datepicker-month,
.mw_wp_form .ui-datepicker .ui-datepicker-title select.ui-datepicker-year {
width: 40%;
margin: 0 5px;
}

/**
* deprecated message
*/
.mw-wp-form-deprecated-message {
background: #fdeeee;
border: 1px solid #f7bdb8;
border-radius: 5px;
color: #af4040;
font-size: 13px;
line-height: 1.6;
margin: 0 0 10px;
padding: 1em;
}

/**
* file
*/
.mw_wp_form input[type="file"] {
display: inline-block;
}

/**
* file delete button
*/
.mwform-file-delete {
cursor: pointer;
visibility: hidden;
}

/**
* tel and zip
*/
.mwform-tel-field input[type="text"],
.mwform-zip-field input[type="text"] {
display: inline-block;
width: auto;
}


.mod_btn01 {
text-align: center;
margin-top: 40px;
}

.mod_btn01 input[type=submit] {
cursor: pointer;
background-color: #222;
color: #fff;
border: none;
font-weight: 700;
font-size: 14px;
padding: 24px 0;
width: 280px;
}

.mod_btn01:hover {
opacity: .8;
}

.l-content {
width: 1200px;
margin: auto; }
@media screen and (max-width: 1200px) {
.l-content {
width: 92%; } }


.c-button {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
width: 240px;
padding: 15px;
line-height: 1;
border-radius: 50px;
border: 2px solid #ffffff;
color: #ffffff;
margin-right: 10px;
-webkit-box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
}

.c-button:last-of-type {
margin-right: 0;
}

.c-button--brown {
background: #948169;
-webkit-transition: 0.2s;
transition: 0.2s;
}

.c-button--brown:hover {
opacity: 1;
background: #ce9e5a;
-webkit-transition: 0.2s;
transition: 0.2s;
}

.c-button--black {
background: #383129;
}

.c-button--black:hover {
opacity: 1;
background: #5e554b;
-webkit-transition: 0.2s;
transition: 0.2s;
}

.c-button--line {
position: relative;
padding-left: 32px;
width: 170px;
background: #00c900;
}

.c-button--line:hover {
opacity: 1;
background: #57da57;
-webkit-transition: 0.2s;
transition: 0.2s;
}

.c-button--line::before {
content: "";
position: absolute;
top: 50%;
left: 17px;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
width: 29px;
height: 29px;
background: url(../img/common/logo-line.svg) no-repeat;
}

.c-title {
position: relative;
margin-bottom: 64px;
}

@media screen and (max-width: 768px) {
.c-title {
margin-bottom: 30px;
}
}

.c-title__main {
display: block;
font-size: 4rem;
font-family: "Montserrat", sans-serif;
letter-spacing: 1rem;
margin-bottom: 20px;
text-align: center;
line-height: 1;
}

@media screen and (max-width: 768px) {
.c-title__main {
margin-bottom: 10px;
}
}

.c-title__sub {
display: block;
font-size: 2rem;
line-height: 1;
text-align: center;
}

.c-title__background {
position: absolute;
z-index: -1;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -45%);
-ms-transform: translate(-50%, -45%);
transform: translate(-50%, -45%);
width: 600px;
}

@media screen and (max-width: 768px) {
.c-title__background {
width: 300px;
}
}

.c-subtitle {
position: relative;
display: block;
text-align: center;
font-size: 2.6rem;
line-height: 1;
padding-bottom: 21px;
margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
.c-subtitle {
padding-bottom: 10px;
margin-bottom: 40px;
}
}

.c-subtitle::after {
content: "";
position: absolute;
left: 50%;
bottom: 0;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 130px;
height: 1px;
background: #948169;
}

.c-card {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
width: calc(100% / 3 - 19px);
min-width: 380px;
border: 2px solid #948169;
background: #ffffff;
-webkit-transition: 0.2s;
transition: 0.2s;
margin-top: 30px;
}

@media screen and (max-width: 1200px) {
.c-card {
min-width: auto;
width: calc(50% - 15px);
}
}

@media screen and (max-width: 768px) {
.c-card {
width: 100%;
}
}

.c-card:hover {
opacity: 1;
-webkit-transform: translate(10px, 10px);
-ms-transform: translate(10px, 10px);
transform: translate(10px, 10px);
}

.c-card:hover::after {
-webkit-transform: translate(-10px, -10px);
-ms-transform: translate(-10px, -10px);
transform: translate(-10px, -10px);
}

.c-card::after {
content: "";
display: block;
width: 100%;
height: 100%;
position: absolute;
z-index: -1;
top: 10px;
left: 10px;
background: #948169;
-webkit-transition: 0.2s;
transition: 0.2s;
}

.c-card__thumbnailWrap {
width: 34%;
min-height: 100%;
}

@media screen and (max-width: 768px) {
.c-card__thumbnailWrap {
width: 22.6%;
position: relative;
height: 0;
padding-top: calc(22.6% / 0.76);
}
}

.c-card__thumbnail {
min-height: 100%;
}

@media screen and (max-width: 768px) {
.c-card__thumbnail {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}

.c-card__body {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
width: 66%;
padding: 30px 26px 20px;
background: #ffffff;
}

@media screen and (max-width: 768px) {
.c-card__body {
width: 77.4%;
padding: 18px 14px 9px 15px;
}
}

.c-card__body__title {
font-size: 2rem;
font-weight: bold;
margin-bottom: 24px;
line-height: 1;
color: #948169;
}

@media screen and (max-width: 768px) {
.c-card__body__title {
margin-bottom: 10px;
}
}

.c-card__body__txt {
position: relative;
padding-bottom: 24px;
margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
.c-card__body__txt {
padding-bottom: 14px;
margin-bottom: 8px;
}
}

.c-card__body__txt::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 1px;
background: #948169;
}

.c-card__body__detail {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
text-align: right;
line-height: 1;
}

.c-card__body__arrow {
width: 9px;
margin-left: 23px;
vertical-align: text-bottom;
}

.c-anchor {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
background: #452c08;
margin-bottom: 80px;
}

@media screen and (max-width: 1025px) {
.c-anchor {
-ms-flex-wrap: wrap;
flex-wrap: wrap;
background: transparent;
}
}

.c-anchor__item {
position: relative;
width: 25%;
}

@media screen and (max-width: 1025px) {
.c-anchor__item {
width: calc(100% / 2 - 7px);
margin-bottom: 16px;
}
}

.c-anchor__item::after {
content: "";
position: absolute;
top: 50%;
right: 0;
display: block;
width: 2px;
height: 31px;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
background: url(../img/common/separate-white.svg) no-repeat;
}

@media screen and (max-width: 1025px) {
.c-anchor__item::after {
display: none;
}
}

.c-anchor__item:last-of-type::after {
display: none;
}

.c-anchor__link {
position: relative;
display: block;
padding: 22px 0 29px;
text-align: center;
color: #ffffff;
font-size: 2rem;
line-height: 1;
}

@media screen and (max-width: 1025px) {
.c-anchor__link {
border: 1px solid #948169;
border-radius: 50px;
text-align: left;
padding: 14px 20px;
color: #948169;
}
}

@media screen and (max-width: 520px) {
.c-anchor__link {
font-size: 13px;
}
}

.c-anchor__link::after {
content: "";
display: block;
width: 18px;
height: 9px;
position: absolute;
left: 50%;
bottom: 8px;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
background: url(../img/common/arrowBottom-white.svg) no-repeat;
}

@media screen and (max-width: 1025px) {
.c-anchor__link::after {
left: auto;
bottom: auto;
top: 50%;
right: 15px;
width: 13px;
height: 7px;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
background-image: url(../img/top/arrowBottom-brown.svg);
background-size: cover;
}
}

.u-font__bold {
font-weight: bold;
color: inherit;
line-height: inherit;
}

@media screen and (min-width: 1401px) {
.u-none__pc--xxl {
display: none;
}
}

@media screen and (min-width: 1201px) {
.u-none__pc--xl {
display: none;
}
}

@media screen and (min-width: 1026px) {
.u-none__pc--lg {
display: none;
}
}

@media screen and (min-width: 769px) {
.u-none__pc--md {
display: none;
}
}

@media screen and (min-width: 521px) {
.u-none__pc--sm {
display: none;
}
}

@media screen and (max-width: 1400px) {
.u-none__mobile--xxl {
display: none;
}
}

@media screen and (max-width: 1200px) {
.u-none__mobile--xl {
display: none;
}
}

@media screen and (max-width: 1025px) {
.u-none__mobile--lg {
display: none;
}
}

@media screen and (max-width: 768px) {
.u-none__mobile--md {
display: none;
}
}

@media screen and (max-width: 520px) {
.u-none__mobile--sm {
display: none;
}
}


.p-detail .p-bread {
margin-top: 80px;
margin-bottom: 20px;
}

.p-detail__banner {
position: relative;
height: 0;
padding-top: 34.37%;
margin-bottom: 13.8rem;
}

@media screen and (max-width: 1025px) {
.p-detail__banner {
padding-top: 86.6%;
}
}

.p-detail__banner img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.p-detail__firstView {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
.p-detail__firstView {
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
}

.p-detail__firstView__left {
padding-right: 100px;
}

@media screen and (max-width: 768px) {
.p-detail__firstView__left {
padding: 0;
width: 100%;
margin-bottom: 30px;
}
}

.p-detail__firstView__title {
font-size: 2.6rem;
font-weight: bold;
line-height: 1;
margin-bottom: 36px;
width: 400px;
}

@media screen and (max-width: 768px) {
.p-detail__firstView__title {
margin-bottom: 15px;
}
.p-detail__firstView__title {
width: 100%;
}
}

.p-detail__firstView__img {
position: relative;
width: 100%;
height: 0;
padding-top: calc(50% * 0.5);
}

@media screen and (max-width: 768px) {
.p-detail__firstView__img {
width: 100%;
padding-top: 50%;
}
}

.p-detail__firstView__img img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.p-detail__firstView__img::after {
content: "";
display: block;
height: 100%;
width: 50vw;
position: absolute;
z-index: -1;
left: 0;
bottom: -40px;
background: url(../img/detail/object01.svg) no-repeat;
background-size: cover;
background-position: left;
}

@media screen and (max-width: 768px) {
.p-detail__firstView__img::after {
width: 96vw;
}
}

.p-detail__index {
position: relative;
margin-bottom: 60px;
}

.p-detail__index::after {
content: "";
position: absolute;
z-index: -2;
left: calc(-50vw + 50%);
bottom: 0;
display: block;
width: 100vw;
height: 130%;
background: url(../img/detail/object02.svg) no-repeat;
background-size: cover;
background-position: top;
}

.p-detail__index--white {
margin-bottom: 80px;
}

.p-detail__index--white::after {
display: none;
}

.p-detail__index--white .p-detail__index__list {
padding-bottom: 0;
}

.p-detail__index .c-title__main {
margin-bottom: 0;
}

.p-detail__index .c-title__background {
-webkit-transform: translate(-53%, -58%);
-ms-transform: translate(-53%, -58%);
transform: translate(-53%, -58%);
width: 462px;
}

@media screen and (max-width: 768px) {
.p-detail__index .c-title__background {
width: 230px;
}
}

.p-detail__index__list {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin: -20px 0 0 -20px;
padding-bottom: 20px;
}

.p-detail__index__item {
position: relative;
margin: 20px 0 0 20px;
padding: 18px 62px 18px 40px;
line-height: 1;
border: 1px solid #948169;
color: #948169;
font-size: 1.6rem;
border-radius: 40px;
background: #ffffff;
}

@media screen and (max-width: 768px) {
.p-detail__index__item {
width: 100%;
}
}

.p-detail__index__item::after {
content: "";
position: absolute;
top: 50%;
right: 20px;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
display: block;
width: 10px;
height: 18px;
background: url(https://medical4men.com/wp/wp-content/themes/m4m/common/img/arrowRight-brown.svg) no-repeat;
background-size: cover;
}

.p-detail__about {
margin-bottom: 160px;
}

.p-detail__about__content {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
}

@media screen and (max-width: 1025px) {
.p-detail__about__content {
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
}

.p-detail__about__content::after {
content: "";
position: absolute;
z-index: -1;
left: calc(-50vw + 50%);
bottom: -70px;
display: block;
width: calc(50vw + 104px);
height: 100%;
background-size: cover;
background-position: right top;
}

@media screen and (max-width: 1025px) {
.p-detail__about__content::after {
left: calc(-50vw + 50%);
width: 100vw;
}
}

.p-detail__about__txtWrap {
width: 50%;
padding-right: 28px;
}

@media screen and (max-width: 1025px) {
.p-detail__about__txtWrap {
width: 100%;
padding: 0;
margin-bottom: 40px;
}
}

.p-detail__about__txtWrap p {
font-size: 1.8rem;
margin-bottom: 1.8rem;
font-weight: normal;
line-height: 1.8;
}

.p-detail__about__txtWrap p:last-of-type {
margin-bottom: 0;
}

.p-detail__about__img {
position: relative;
height: 0;
width: 50%;
padding-top: calc(50% * 0.63);
}

@media screen and (max-width: 1025px) {
.p-detail__about__img {
width: 100%;
padding-top: 63%;
}
}

.p-detail__about__img img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.p-detail__trouble {
position: relative;
border: 10px solid #f0f0f0;
margin-bottom: 80px;
}

.p-detail__trouble__title {
position: absolute;
top: 0;
left: 50%;
-webkit-transform: translate(-50%, -65%);
-ms-transform: translate(-50%, -65%);
transform: translate(-50%, -65%);
font-size: 3rem;
line-height: 1;
padding: 0 9px;
font-weight: bold;
background: #ffffff;
white-space: nowrap;
}

.p-detail__trouble__content {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
padding: 50px 30px;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}

.p-detail__trouble__img {
position: relative;
width: 41%;
height: 0;
padding-top: calc(41% * 0.71);
}

@media screen and (max-width: 1025px) {
.p-detail__trouble__img {
width: 100%;
padding-top: 71%;
margin-bottom: 20px;
}
}

.p-detail__trouble__img img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.p-detail__trouble__list {
width: 50%;
}

@media screen and (max-width: 1025px) {
.p-detail__trouble__list {
width: 100%;
}
}

.p-detail__trouble__item {
position: relative;
border-bottom: 2px solid #000;
padding: 10px 0 20px 14rem;
}

.p-detail__trouble__badge {
display: block;
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
background: #000;
font-weight: bold;
padding: 1rem 1.6rem;
border-radius: 30px;
color: #fff;
margin-right: 3rem;
line-height: 1;
}

.p-detail__trouble__txt {
font-size: 1.8rem;
font-weight: normal;
color: #000;
}

.p-detail__feature {
margin-bottom: 160px;
}

.p-detail__feature__content {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
position: relative;
}

@media screen and (max-width: 1025px) {
.p-detail__feature__content {
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
}

.p-detail__feature__content::after {
content: "";
position: absolute;
z-index: -1;
right: calc(-50vw + 50%);
bottom: -70px;
display: block;
width: calc(50vw + 104px);
height: 100%;

background-size: cover;
background-position: left top;
}

@media screen and (max-width: 1025px) {
.p-detail__feature__content::after {
right: calc(-50vw + 50%);
width: 100vw;
}
}

.p-detail__feature__txtWrap {
width: 50%;
padding-left: 28px;
}

@media screen and (max-width: 1025px) {
.p-detail__feature__txtWrap {
width: 100%;
padding: 0;
}
}

.p-detail__feature__txtWrap p {
font-size: 1.8rem;
margin-bottom: 1.8rem;
font-weight: normal;
}

.p-detail__feature__txtWrap p:last-of-type {
margin-bottom: 0;
}

.p-detail__feature__img {
position: relative;
height: 0;
width: 50%;
padding-top: calc(50% * 0.63);
}

@media screen and (max-width: 1025px) {
.p-detail__feature__img {
width: 100%;
padding-top: 63%;
margin-bottom: 40px;
}
}

.p-detail__feature__img img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.p-detail__section {
margin-bottom: 80px;
}

.p-detail__section__content {
padding: 5.6rem 14rem;
border: 10px solid #ebe1d5;
}

@media screen and (max-width: 1025px) {
.p-detail__section__content {
padding: 3rem;
}
}

.p-detail__section__content * {
font-size: 1.8rem;
font-weight: bold;
}

.p-detail__price {
margin-bottom: 134px;
}

.p-detail__price__list {
padding: 0.3rem 2.3rem;
background: #fff;
margin-bottom: 2rem;
}

.p-detail__price__row {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
padding: 3rem 2.2rem 3rem 1.3rem;
border-bottom: 1px solid #948169;
}

.p-detail__price__row:last-of-type {
border-bottom: none;
}

.p-detail__price__head,
.p-detail__price__data {
font-size: 1.6rem;
font-weight: bold;
}

@media screen and (max-width: 768px) {

.p-detail__price__head,
.p-detail__price__data {
width: 100%;
}
}

.p-detail__price__head {
max-width: 80%;
}

@media screen and (max-width: 768px) {
.p-detail__price__head {
max-width: none;
margin-bottom: 2rem;
}
}

.p-detail__price__data {
max-width: 18%;
}

@media screen and (max-width: 768px) {
.p-detail__price__data {
max-width: none;
text-align: right;
font-weight:normal;
}
}

.p-bread {
margin: 20px auto 120px;
}

@media screen and (max-width: 1200px) {
.p-bread {
margin-bottom: 80px;
}
}

.p-bread__link,
.p-bread__current {
line-height: 1;
}

.p-bread__link {
position: relative;
text-decoration: underline;
}

.p-treatment {
margin-bottom: 250px;
}

.p-treatment .c-title__background {
width: 500px;
-webkit-transform: translate(-50%, -60%);
-ms-transform: translate(-50%, -60%);
transform: translate(-50%, -60%);
}

@media screen and (max-width: 768px) {
.p-treatment .c-title__background {
width: 255px;
}
}

.p-treatment__txt {
text-align: center;
margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
.p-treatment__txt {
margin-bottom: 40px;
}
}

.p-treatment__section {
position: relative;
}

.p-treatment__background {
position: absolute;
z-index: -2;
top: 50%;
left: calc(-50vw + 50%);
height: calc(100% + 200px);
width: 100vw;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
background: -webkit-gradient(linear, left top, right top, from(#ebe1d5), to(#fdf8f2));
background: linear-gradient(to right, #ebe1d5, #fdf8f2);
overflow: hidden;
}

@media screen and (max-width: 1025px) {
.p-treatment__background {
display: none;
}
}

.p-treatment__background::before,
.p-treatment__background::after {
content: "";
position: absolute;
top: 0;
left: 50%;
width: 200vw;
height: 500px;
-webkit-transform: translate(-29%, -60%) rotate(7deg);
-ms-transform: translate(-29%, -60%) rotate(7deg);
transform: translate(-29%, -60%) rotate(7deg);
background: #ffffff;
}

@media screen and (min-width: 1700px) {

.p-treatment__background::before,
.p-treatment__background::after {
-webkit-transform: translate(-29%, -50%) rotate(7deg);
-ms-transform: translate(-29%, -50%) rotate(7deg);
transform: translate(-29%, -50%) rotate(7deg);
}
}

@media screen and (min-width: 2000px) {

.p-treatment__background::before,
.p-treatment__background::after {
-webkit-transform: translate(-29%, -40%) rotate(7deg);
-ms-transform: translate(-29%, -40%) rotate(7deg);
transform: translate(-29%, -40%) rotate(7deg);
}
}

.p-treatment__background::after {
top: auto;
bottom: 0;
-webkit-transform: translate(-29%, 90%) rotate(7deg);
-ms-transform: translate(-29%, 90%) rotate(7deg);
transform: translate(-29%, 90%) rotate(7deg);
}

.p-treatment__section:nth-of-type(4) .p-treatment__list {
margin-bottom: 0;
}

.p-treatment__section:nth-of-type(4) .p-treatment__background {
height: calc(100% + 200px);
}

.p-treatment__section:nth-of-type(4) .p-treatment__background::before,
.p-treatment__section:nth-of-type(4) .p-treatment__background::after {
-webkit-transform: translate(-29%, -90%) rotate(-7deg);
-ms-transform: translate(-29%, -90%) rotate(-7deg);
transform: translate(-29%, -90%) rotate(-7deg);
}

.p-treatment__section:nth-of-type(4) .p-treatment__background::after {
-webkit-transform: translate(-29%, 55%) rotate(-7deg);
-ms-transform: translate(-29%, 55%) rotate(-7deg);
transform: translate(-29%, 55%) rotate(-7deg);
}

.p-treatment__list {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin: -30px 0 106px;
}

.p-treatment__list::after {
content: "";
width: calc(100% / 3 - 19px);
height: 0;
}

.p-recommend {
margin-bottom: 180px;
}

.p-recommend__list {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: stretch;
-ms-flex-align: stretch;
align-items: stretch;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-top: -50px;
}

@media screen and (max-width: 768px) {
.p-recommend__list {
margin-top: -30px;
}
}

.p-recommend__list::after {
content: "";
height: 0;
width: calc(100% / 3 - 20px);
}

@media screen and (max-width: 768px) {
.p-recommend__list::after {
width: calc(100% / 2 - 30px);
}
}

.p-recommend__list__item {
margin-top: 50px;
width: calc(100% / 3 - 20px);
}

@media screen and (max-width: 768px) {
.p-recommend__list__item {
width: calc(100% / 2 - 15px);
margin-top: 30px;
}
}

@media screen and (max-width: 520px) {
.p-recommend__list__item {
width: 100%;
}
}

.p-recommend__list__item:hover {
opacity: 1;
}

.p-recommend__list__item:hover .p-recommend__list__img img {
opacity: 0.6;
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}

.p-recommend__list__img {
position: relative;
width: 100%;
height: 0;
padding-top: 68.4%;
margin-bottom: 14px;
overflow: hidden;
}

.p-recommend__list__img img {
-webkit-transition: 0.4s;
transition: 0.4s;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.p-recommend__list__title {
font-size: 1.8rem;
}

.p-price {
margin-bottom: 180px;
}

.p-price .c-title__background {
-webkit-transform: translate(-54%, -62%);
-ms-transform: translate(-54%, -62%);
transform: translate(-54%, -62%);
width: 314px;
}

@media screen and (max-width: 768px) {
.p-price .c-title__background {
width: 180px;
}
}

.p-price__section {
margin-bottom: 100px;
}

.p-price__section:last-of-type {
margin-bottom: 0;
}

.p-price__section__item {
margin-bottom: 60px;
}

.p-price__section__nameWrap {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-bottom: 40px;
}

.p-price__section__name {
font-size: 2.4rem;
padding: 10px 30px;
background: #faf5ef;
line-height: 1;
}

.p-price__section__list {
padding: 0.3rem 2.3rem;
background: #faf5ef;
margin-bottom: 2rem;
}

.p-price__section__row {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
padding: 3rem 2.2rem 3rem 1.3rem;
border-bottom: 1px solid #948169;
}

.p-price__section__row:last-of-type {
border-bottom: none;
}

.p-price__section__head,
.p-price__section__data {
font-size: 2rem;
font-weight: bold;
}

@media screen and (max-width: 768px) {

.p-price__section__head,
.p-price__section__data {
width: 100%;
}
}

.p-price__section__head {
max-width: 80%;
}

@media screen and (max-width: 768px) {
.p-price__section__head {
max-width: none;
margin-bottom: 2rem;
}
}

.p-price__section__data {
max-width: 18%;
}

@media screen and (max-width: 768px) {
.p-price__section__data {
max-width: none;
text-align: right;
}
}

.yellow {
background: #fff47e;
font-weight: bold;
line-height: 2;
}

.b_bold {
font-weight: bold;
border-left: 4px solid ;
padding-left: 6px;
line-height: 60px;
}

.t_bold {
color: #948169;
font-weight: bold;
}



.p-medical__treatment {
margin-bottom: 130px; }

.p-medical__treatment__mainTxt {
text-align: center;
font-weight: bold;
margin-bottom: 75px; }

.p-medical__treatment__img {
width: 50%; }

.p-medical__treatment__explanation {
max-width: 1200px;
margin-bottom: 40px;
display: -webkit-box;
display: -ms-flexbox;
display: flex; }

.p-medical__treatment__txtWrap {
width: 50%; }

.p-medical__treatment__txtttl {
background-color: #faf5ef;
height: 80px;
width: 100%;
margin-left: 20px;
font-size: 2.4rem;
font-weight: bold;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-bottom: 40px; }

.p-medical__treatment__txtttl span {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
margin: 0 20px;
height: 40px;
width: 40px;
border-radius: 20px;
background-color: #fff;
color: #9d6f2e;
font-size: 2.4rem;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center; }

.p-medical__treatment__txt {
width: 96.66666%;
margin-left: 20px; }

@media screen and (max-width: 1025px) {
.p-medical__concept__content {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column; }
.p-medical__concept__txtWrap {
width: 100%;
margin-bottom: 20px; }
.p-medical__concept__txtWrap:after {
right: -30px;
width: calc(50vw + 100%); }
.p-medical__concept__img {
width: 100%; }
.p-medical__treatment__explanation {
-webkit-box-orient: vertical;
-webkit-box-direction: reverse;
-ms-flex-direction: column-reverse;
flex-direction: column-reverse; }
.p-medical__treatment__img {
width: 100%; }
.p-medical__treatment__txtWrap {
width: 100%;
margin-bottom: 20px; }
.p-medical__treatment__txtttl {
margin-left: 0; }
.p-medical__treatment__txt {
margin-left: 0; } }

@media screen and (max-width: 768px) {
.p-medical__firstView {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start; }
.p-medical__firstView__left {
margin-bottom: 30px;
padding-left: 0; }
.p-medical__firstView__title {
margin-bottom: 15px; }
.p-medical__firstView__img {
width: 100%;
padding-top: 50%; }
.p-medical__firstView__img::after {
width: 96vw; }
.p-medical__treatment__txtttl {
width: 100%; }
.c-title__background {
width: 230px; } }

@media screen and (max-width: 520px) {
.p-medical__treatment__txtttl {
margin-bottom: 20px; }
.p-medical__treatment__mainTxt {
text-align: center;
font-weight: bold;
margin-bottom: 45px; }
.p-medical__concept__content {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
margin-bottom: 110px; }
.p-medical__index {
position: relative;
margin-bottom: 60px; } }


.bnr {
max-width:400px;
width: 100%;
margin: 0 auto;
padding: 0 10px;
}

.table {
max-width: 800px;
margin: 0 auto;
width:100%;
}

.table th {
width: 35%;
padding: 20px;
border-bottom: 1px solid #9d6f2e;;
background-color: #faf5ef;
}
.table td {
width: 60%;
padding: 20px;
border-bottom: 1px solid #a8a8a8;
}

.law {
padding-bottom: 30px
}

.law a {
text-decoration: underline;
}

.law a:hover{
text-decoration: none;
}
@media screen and (max-width: 520px) {
.table {
max-width: 800px;
margin: 0 auto;
width:100%;
}


.table th {
width: 100%;
display: block;
padding: 20px;
border-bottom: 1px solid #9d6f2e;;
background-color: #faf5ef;
}
.table td {
width: 100%!important;
display: block;
padding: 20px;
border-bottom: 1px solid #a8a8a8;
}
}

@media screen and (max-width: 1450px) {
.feature-sec01-content-list li{
width: 30%;
}

}

@media screen and (max-width: 768px) {
.feature-sec01-content-list li{
width: 100%;
}

}
