@charset "UTF-8";


/* common
-------------------------------------------------*/
:root {
  font-size: 100px;
}
@media screen and (max-width: 1440px) and (min-width: 751px) {
:root {
    font-size: 6.94444444444vw;
}
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
th,
td,
form,
figure {
	font-size: inherit;
	margin: 0;
	padding: 0;
}
a {
	color: inherit;
	text-decoration: none;
}
summary {
	display: block;
}
table {
	border-collapse: collapse;
	empty-cells: show;
}
th,
td {
	text-align: left;
	vertical-align: top;
}
li {
	list-style: none;
}
img {
	vertical-align: top;
    width: 100%;
    max-width: 100%;
	height: auto;
}
input,
textarea,
select {
	color: inherit;
	font-family: inherit;
	-webkit-appearance: none;
	appearance: none;
}
textarea {
	form-sizing: content;
}
button {
	color: inherit;
	font-family: inherit;
}


/* module
------------------------------------------------- */
.pcon { display: block; }
.spon { display: none; }
@media screen and (max-width: 750px) {
.pcon { display: none; }
.spon { display: block; }
}


/* a
------------------------------------------------- */
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
	text-decoration: none;
	outline: none;
    color: #202020;
}
@media screen and (min-width:751px){
a {
    transition: 0.4s;
}
a.al:hover {
    color: #202020;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
}


/* html, body
------------------------------------------------- */
html {
    font-size: 0.16rem;
    overflow-x: hidden;
    scroll-behavior: smooth;
    scrollbar-gutter: stable;
}
body {
    min-height: 100vh;
    background: url("../imgs/lp/background.jpg") center top repeat-y;
    background-size: 100% auto;
    color: #202020;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 2.25;
	font-size: 0.16rem;
    overflow-x: hidden;
    position: relative;
}
.eng {
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings:
        "wdth" 100;
}
@media screen and (max-width: 750px) {
html {
    font-size: 3.733vw;
}
body {
    font-size: 3.733vw;
    background-image: url("../imgs/lp/background_sp.jpg");
    line-height: 1.785;
}
}


/* layout
------------------------------------------------- */
.d-flex {
    display: flex;
}
.f-wrap {
    flex-wrap: wrap;
}
.f-rev {
    flex-direction: row-reverse;
}
.just-start {
    justify-content: flex-start;
}
.just-center {
    justify-content: center;
}
.just-between {
    justify-content: space-between;
}
.just-end {
    justify-content: flex-end;
}
.align-start {
    align-items: flex-start;
}
.align-center {
    align-items: center;
}
.align-end {
    align-items: flex-end;
}
@media screen and (max-width: 750px) {
.d-flex {
    display: block;
}
}


/* header
------------------------------------------------- */
#header {
    width: 100%;
    height: 0.9rem;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 90;
    transition: 0.4s;
}
#header .logo {
    width: 1.35rem;
    position: absolute;
    left: 0.7rem;
    top: 0.16rem;
}
#header .logo svg path {
    fill: #453A32;
    stroke-width: 0px;
}
#header .logo svg path.cls-2 {
    fill: #8B9B78;
}
#header .logo svg path.cls-3 {
    fill: #F0B891;
}
body.header-bg #header {
    background-color: rgba(234,234,234,0.8);
}
@media screen and (max-width: 750px) {
#header {
    height: 18.66vw;
}
#header .logo {
    width: 29.33vw;
    left: 5.33vw;
    top: 3.2vw;
}
}


/* navtoggle
------------------------------------------------- */
#navtoggle {
    display: none;
}
@media screen and (max-width: 750px) {
#navtoggle {
    width: 8vw;
    height: 4.266vw;
    position: fixed;
    right: 5.33vw;
    top: 7.2vw;
    cursor: pointer;
    z-index: 99;
    display: block;
}
#navtoggle div {
    width: 100%;
    position: relative;
}
#navtoggle span {
    display: block;
    width: 100%;
    height: 1px;
    background: #202020;
    position: absolute;
    left: 0;
    transition: 0.3s ease-in-out;
}
#navtoggle span:nth-child(2) {
    top: 2.133vw;
}
#navtoggle span:nth-child(3) {
    top: 4.266vw;
}
body.nav-active #navtoggle span:nth-child(1) {
    top: 2.133vw;
	transform: rotate(210deg);
}
body.nav-active #navtoggle span:nth-child(2) {
    width: 0;
}
body.nav-active #navtoggle span:nth-child(3) {
    top: 2.133vw;
	transform: rotate(-210deg);
}
}


/* gnav
------------------------------------------------- */
@media screen and (min-width:751px){
#gnav {
    position: fixed;
    right: 0.7rem;
    top: 0.3rem;
    z-index: 96;
}
#gnav ul {
    font-size: 0.13rem;
}
#gnav ul li {
    margin-left: 0.5rem;
}
#gnav ul li:first-child {
    display: none;
}
#gnav ul li a {
    display: block;
    font-weight: 700;
    line-height: 2.6;
    letter-spacing: 0.1em;
    color: #202020;
    position: relative;
    box-sizing: border-box;
}
#gnav ul li a::after {
    content: '';
    width: 0;
    height: 0.01rem;
    background-color: #202020;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: 0.4s;
}
#gnav ul li a:hover::after {
    width: 100%;
}
#gnav ul li:last-child a {
    border: 0.01rem solid #202020;
    border-radius: 0.03rem;
    padding: 0 0.15rem;
}
#gnav ul li:last-child a::after {
    display: none;
}
#gnav ul li:last-child a:hover {
    background-color: #4A5649;
    border-color: #4A5649 !important;
}
body.header-bg #gnav ul li:last-child a:hover {
    color: #fff;
}
#gnav .photo {
    display: none;
}
}
@media screen and (max-width: 750px) {
#gnav {
    width: 100%;
    height: 0;
    background: url("../imgs/lp/background.jpg") center top repeat-y;
    background-size: 100% auto;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 96;
    opacity: 0;
    transition: 0.4s;
    box-sizing: border-box;
    overflow-y: auto;
}
#gnav .inner {
    min-height: 178.66vw;
    padding-top: 22vw;
    box-sizing: border-box;
}
#gnav ul {
    width: 86.66vw;
    margin: 0 auto;
    padding-bottom: 16vw;
}
#gnav ul li {
    font-size: 4vw;
    margin-bottom: 6vw;
}
#gnav ul li:first-child {
    font-size: 3.2vw;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-bottom: 8vw;
}
#gnav ul li a {
    font-weight: 700;
    letter-spacing: 0.1em;
}
body.nav-active #gnav {
    height: 100%;
    opacity: 1;
}
}


/* cnav
------------------------------------------------- */
.cnav {
    width: 1.2rem;
    height: 1.2rem;
    position: fixed;
    right: 0.5rem;
    bottom: 0.5rem;
    z-index: 96;
}
.cnav a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #657C63;
    border-radius: 50%;
}
.cnav a span {
    font-size: 0.13rem;
    display: block;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2212%22%20height%3D%227%22%20viewBox%3D%220%200%2012%207%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.9497%200.949747L6%205.89949L1.05025%200.949747%22%20stroke%3D%22white%22%2F%3E%3C%2Fsvg%3E') center bottom no-repeat;
    background-size: 0.15rem auto;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.03em;
    text-align: center;
    color: #fff;
    padding: 0.05rem 0 0.2rem;
}
@media screen and (max-width: 750px) {
.cnav {
    width: 100%;
    height: 18.66vw;
    padding-top: 3.33vw;
    right: auto;
    left: 0;
    bottom: -30vw;
    box-sizing: border-box;
    z-index: 90;
}
.cnav::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(51,51,51,0.7);
    mix-blend-mode: multiply;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
}
.cnav a {
    width: 72vw;
    height: 12vw;
    margin: 0 auto;
    border-radius: 0.8vw;
    position: relative;
    z-index: 2;
}
.cnav a span {
    font-size: 3.733vw;
    background-position: right center;
    background-size: 3.5vw auto;
    padding: 0 6vw 0 0;
}
body.header-bg .cnav {
    animation: slideIn 0.7s ease 0.1s 1 forwards;
}
}

    
/* headline
------------------------------------------------- */
.headline1 {
    text-align: center;
    padding-bottom: 0.3rem;
}
.headline1 span {
    width: 1.4rem;
    display: inline-block;
    font-weight: 700;
    color: #657C63;
    letter-spacing: 0.03em;
    padding: 0.05rem 0;
    margin: 0 auto;
    position: relative;
}
.headline1 span::before,
.headline1 span::after {
    content: '';
    width: 100%;
    height: 0.01rem;
    background-color: #657C63;
    position: absolute;
    left: 0;
    top: 0;
}
.headline1 span::after {
    top: auto;
    bottom: 0;
}
.headline2 {
    font-size: 0.24rem;
    font-weight: 700;
    line-height: 1.583;
    letter-spacing: 0.1em;
}
.headline2 span {
    color: #657C63;
}
.headline3 {
    font-size: 0.14rem;
    font-weight: 500;
    line-height: 1.785;
    text-align: center;
    padding-bottom: 0.55rem;
}
@media screen and (max-width: 750px) {
.headline1 {
    font-size: 4.266vw;
    padding-bottom: 7.5vw;
}
.headline1 span {
    width: 37.33vw;
    padding: 1.75vw 0;
}
.headline1 span::before,
.headline1 span::after {
    height: 0.266vw;
}
.headline1 span::after {
    top: auto;
    bottom: 0;
}
.headline2 {
    font-size: 6.4vw;
    line-height: 1.416;
}
.headline3 {
    width: 86.66vw;
    font-size: 3.733vw;
    text-align: left;
    margin: 0 auto;
    padding: 1.5vw 0 13vw;
}
}


/* btnst
------------------------------------------------- */
.btnst a {
    width: 2.8rem;
    height: 0.6rem;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2212%22%20height%3D%227%22%20viewBox%3D%220%200%2012%207%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.9497%200.949747L6%205.89949L1.05025%200.949747%22%20stroke%3D%22%23202020%22%2F%3E%3C%2Fsvg%3E') 96% center no-repeat #FFCC34;
    background-size: 0.1rem auto;
    border-radius: 0.05rem;
    box-shadow: 0.03rem 0.03rem 0.1rem 0 rgba(0,0,0,0.25);
    font-size: 0.18rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
}
.btnst a span {
    font-size: 0.14rem;
    font-weight: 700;
}
@media screen and (min-width:751px){
.btnst a:hover {
    transform: translateY(0.15rem);
}
}
@media screen and (max-width: 750px) {
.btnst a {
    width: 74.66vw;
    height: 16vw;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2212%22%20height%3D%227%22%20viewBox%3D%220%200%2012%207%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.9497%200.949747L6%205.89949L1.05025%200.949747%22%20stroke%3D%22%23202020%22%2F%3E%3C%2Fsvg%3E') 96% center no-repeat #FFCC34;
    background-size: 0.1rem auto;
    border-radius: 1.5vw;
    font-size: 4.8vw;
}
.btnst a span {
    font-size: 4vw;
}
}


/* fv
------------------------------------------------- */
.fv {
    width: 100%;
    color: #fff;
    position: relative;
}
.fv h1 {
    font-size: 2.777vw;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.15em;
    position: absolute;
    left: 4.8611vw;
    top: 40.6vw;
    text-shadow: 0 0 1.0416vw rgba(117,91,48,1);
}
.fv h1 span {
    display: block;
    font-size: 1.25vw;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding-top: 0.115rem;
}
.fv .cta {
    width: 10.4rem;
    border-radius: 0.1rem;
    box-shadow: 0.03rem 0.03rem 0.06rem 0 rgba(0,0,0,0.35);
    position: absolute;
    left: 50%;
    margin-left: -5.2rem;
    bottom: -0.7rem;
    overflow: hidden;
    transition: 0.4s;
}
@media screen and (min-width:751px){
.fv .cta:hover {
    bottom: -0.85rem;
}
}
@media screen and (max-width: 750px) {
.fv {
    margin-bottom: 40vw;
}
.fv h1 {
    font-size: 6.4vw;
    line-height: 1.5833;
    left: 6.66vw;
    top: 115vw;
}
.fv h1 span {
    font-size: 3.466vw;
    line-height: 1.846;
    padding-top: 3.5vw;
}
.fv .cta {
    width: 94.66vw;
    margin-left: -47.33vw;
    bottom: -49.66vw;
}
}


/* concept
------------------------------------------------- */
.concept {
    padding: 1.45rem 0 0.75rem;
}
.concept .headline2 {
    text-align: center;
}
.concept .headline2 b {
    font-weight: 700;
    position: relative;
}
.concept .headline2 b::before,
.concept .headline2 b::after {
    content: '';
    width: 0.2rem;
    height: 0.45rem;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2218%22%20height%3D%2243%22%20viewBox%3D%220%200%2018%2043%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cline%20x1%3D%220.466181%22%20y1%3D%220.819236%22%20x2%3D%2216.7349%22%20y2%3D%2242.7755%22%20stroke%3D%22black%22%20stroke-dasharray%3D%223%204%22%2F%3E%3C%2Fsvg%3E') left top no-repeat;
    background-size: 100% auto;
    position: absolute;
    left: -0.4rem;
    top: 50%;
    margin-top: -0.225rem;
}
.concept .headline2 b::after {
    transform: scale(-1, 1);
    left: auto;
    right: -0.4rem;
}
.concept ul {
    padding-top: 0.35rem;
}
.concept ul li {
    width: 2.66rem;
    height: 2rem;
    background: url("../imgs/lp/new/fuki1.png") center center no-repeat;
    background-size: cover;
    margin-top: 0.15rem;
    padding-top: 0.45rem;
    text-align: center;
    box-sizing: border-box;
}
.concept ul li:nth-child(2) {
    height: 2.12rem;
    background-image: url("../imgs/lp/new/fuki2.png");
    margin-top: 0;
}
.concept ul li:nth-child(3) {
    background-image: url("../imgs/lp/new/fuki3.png");
}
.concept ul li h3 {
    display: inline-block;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0, rgba(0,0,0,0) 80%, #FFCC34 80%, #FFCC34 100%);
    font-size: 0.22rem;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: 0.14em;
    color: #365B30;
    margin-bottom: 0.15rem;
    padding-left: 0.14em;
}
.concept ul li p {
    font-size: 0.14rem;
    line-height: 1.714;
}
@media screen and (max-width: 750px) {
.concept {
    padding: 28vw 0 11vw;
}
.concept .headline2 b::before,
.concept .headline2 b::after {
    width: 8vw;
    height: 18vw;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2226%22%20height%3D%2266%22%20viewBox%3D%220%200%2026%2066%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cline%20x1%3D%220.466181%22%20y1%3D%220.819236%22%20x2%3D%2225.4941%22%20y2%3D%2265.3649%22%20stroke%3D%22black%22%20stroke-dasharray%3D%224%205%22%2F%3E%3C%2Fsvg%3E') ;
    left: -14vw;
    top: 50%;
    margin-top: -5vw;
}
.concept .headline2 b::after {
    left: auto;
    right: -12vw;
}
.concept ul {
    padding-top: 0.25rem;
    display: flex;
    position: relative;
}
.concept ul li {
    width: 48.7vw;
    height: 41.6vw;
    background-image: url("../imgs/lp/new/fuki1_sp.png");
    margin-top: 30vw;
    padding-top: 9vw;
    text-align: center;
    box-sizing: border-box;
}
.concept ul li:nth-child(2) {
    width: 49.7vw;
    height: 44.6vw;
    background-image: url("../imgs/lp/new/fuki2_sp.png");
    position: absolute;
    top: 1vw;
}
.concept ul li:nth-child(3) {
    background-image: url("../imgs/lp/new/fuki3_sp.png");
}
.concept ul li h3 {
    display: inline-block;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0, rgba(0,0,0,0) 80%, #FFCC34 80%, #FFCC34 100%);
    font-size: 5.33vw;
    margin-bottom: 0.15rem;
    padding-left: 0.14em;
}
.concept ul li p {
    font-size: 3.733vw;
    line-height: 1.7;
}
}


/* points
------------------------------------------------- */
.points {
    padding: 0.95rem 0 0.9rem;
    position: relative;
}
.points::before {
    content: '';
    height: 0.34rem;
    aspect-ratio: 5.3;
    clip-path: polygon(50% 100%,100% 0,0 0);
    background: url("../imgs/lp/background.jpg") center center no-repeat;
    position: absolute;
    left: 50%;
    top: 0;
    margin-left: -0.901rem;
    z-index: 2;
}
.points::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(183,201,172,0.8);
    mix-blend-mode: multiply;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}
.points .sec {
    position: relative;
    z-index: 2;
}
.points .headline2 {
    text-align: center;
    margin-bottom: 1.5rem;
}
.points ul li {
    width: 3.4rem;
    height: 2.1rem;
    background-color: #F0F0F0;
    padding: 1.2rem 0.2rem 0;
    margin: 0 0.15rem;
    text-align: center;
    box-sizing: border-box;
    position: relative;
}
.points ul li .photo {
    width: 3rem;
    position: absolute;
    left: 0.2rem;
    top: -1rem;
}
.points ul li .photo h3 {
    width: 0.7rem;
    height: 0.7rem;
    background-color: #FFCC34;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.14rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.75;
    position: absolute;
    left: -0.2rem;
    top: -0.2rem;
    z-index: 2;
}
.points ul li h4 {
    font-size: 0.18rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.1em;
    color: #365B30;
    position: relative;
}
.points ul li p {
    font-size: 0.14rem;
}
@media screen and (max-width: 750px) {
.points {
    padding: 22vw 0 22vw;
}
.points::before {
    height: 9.6vw;
    aspect-ratio: 5.3;
    margin-left: -25.44vw;
}
.points .headline2 {
    margin-bottom: 42vw;
}
.points ul li {
    width: 90.66vw;
    height: 56vw;
    padding: 30vw 0 0;
    margin: 0 auto 40vw;
}
.points ul li:last-child {
    margin-bottom: 0;
}
.points ul li .photo {
    width: 80vw;
    left: 5.33vw;
    top: -26.66vw;
}
.points ul li .photo h3 {
    width: 18.66vw;
    height: 18.66vw;
    font-size: 3.733vw;
    line-height: 1.75;
    left: -5.33vw;
    top: -5.33vw;
}
.points ul li h4 {
    font-size: 4.8vw;
    padding-bottom: 2vw;
}
.points ul li p {
    font-size: 3.733vw;
}
}


/* property
------------------------------------------------- */
.property .bgbox {
    width: 100%;
    height: 6rem;
    background: url("../imgs/lp/points_bg.jpg") center center no-repeat;
    background-size: cover;
    position: relative;
}
.property .bgbox::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(129,124,105,0.85);
    position: absolute;
    left: 0;
    top: 0;
    mix-blend-mode: multiply;
    z-index: 1;
}
.property .bgbox .box {
    width: 10.4rem;
    color: #fff;
    position: relative;
    z-index: 2;
}
.property .bgbox .box .con {
    width: 43%;
}
.property .bgbox .box .con h3 {
    font-size: 0.22rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
    padding-bottom: 0.5rem;
    position: relative;
}
.property .bgbox .box .con h3::after {
    content: '';
    width: 0.4rem;
    height: 0.01rem;
    background-color: #fff;
    position: absolute;
    left: 0;
    bottom: 0.25rem;
}
.property .bgbox .box .con p {
    font-size: 0.14rem;
    line-height: 1.785;
}
@media screen and (max-width: 750px) {
.property .bgbox {
    height: 104vw;
    background-image: url("../imgs/lp/points_bg_sp.jpg");
    padding-top: 19vw;
}
.property .bgbox .box {
    width: 86.66vw;
    margin: 0 auto;
}
.property .bgbox .box .con {
    width: 100%
}
.property .bgbox .box .con h3 {
    font-size: 5.866vw;
    padding-bottom: 18vw;
}
.property .bgbox .box .con h3::after {
    width: 10.66vw;
    height: 0.266vw;
    bottom: 7vw;
}
.property .bgbox .box .con h4 {
    font-size: 4.266vw;
    padding-bottom: 3vw;
}
.property .bgbox .box .con p {
    font-size: 3.733vw;
}
}


/* cta_bnr
------------------------------------------------- */
.cta_bnr {
    width: 10.4rem;
    border-radius: 0.1rem;
    box-shadow: 0.03rem 0.03rem 0.06rem 0 rgba(0,0,0,0.35);
    margin: 0.8rem auto 0;
    overflow: hidden;
    transition: 0.4s;
}
@media screen and (min-width:751px){
.cta_bnr:hover {
    transform: translateY(0.15rem);
}
}
@media screen and (max-width: 750px) {
.cta_bnr {
    width: 94.66vw;
    margin: 11vw auto 0;
}
}


/* case
------------------------------------------------- */
.case {
    padding-top: 1.3rem;
}
.case .headline2 {
    text-align: center;
}
.case .swiper .swiper-slide {
    width: 7.2rem;
    margin-right: 0.1rem;
}
.case .sec {
    width: 7.2rem;
    margin: 0.5rem auto 1.3rem;
    position: relative;
}
.case .sec.last {
    margin-bottom: 0;
}
.case .sec .swiper-pagination-bullets.swiper-pagination-horizontal {
    width: auto;
    text-align: right;
    bottom: auto;
    left: 0;
    top: 0.05rem;
    right: -0.2rem;
    line-height: 1
}
.case .sec .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
    width: 0.04rem;
    height: 0.04rem;
    background-color: #B0B0B0;
    margin: 0 0 0 0.1rem;
}
.case .sec .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active {
    background-color: #657C63; 
}
.case .sec h4 {
    font-size: 0.18rem;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0.05em;
    padding-bottom: 0.25rem;
}
.case .sec p {
    font-size: 0.14rem;
    font-weight: 500;
    line-height: 1.785;
}
@media screen and (max-width: 750px) {
.case {
    padding-top: 18.5vw;
}
.case .headline1 span {
    width: 26.66vw;
}
.case .swiper .swiper-slide {
    width: 86.66vw;
    margin-right: 2.5vw;
}
.case .sec {
    width: 86.66vw;
    margin: 13vw auto 17vw;
}
.case .sec.last {
    margin-bottom: 0;
}
.case .sec .swiper-pagination-bullets.swiper-pagination-horizontal {
    width: 100%;
    text-align: center;
    top: -9vw;
    right: 0;
}
.case .sec .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
    width: 1.066vw;
    height: 1.066vw;
    margin: 0 1.33vw;
}
.case .sec .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active {
    background-color: #657C63; 
}
.case .sec h4 {
    font-size: 4.8vw;
    padding-bottom: 3.5vw;
}
.case .sec p {
    font-size: 3.733vw;
}
}


/* faq
------------------------------------------------- */
.faq {
    padding: 1.4rem 0;
}
.faq .headline2 {
    text-align: center;
    padding-bottom: 0.5rem;
}
.faq .sec {
    width: 9rem;
    background-color: #D5CCBA;
    border-radius: 0.08rem;
    margin: 0 auto 0.2rem;
}
.faq .sec .con {
    display: none;
    background-color: #F9F9F7;
    border-radius: 0 0 0.08rem 0.08rem;
}
.faq .sec dl {
    display: flex;
    justify-content: space-between;
    padding: 0.2rem;
    position: relative;
}
.faq .sec dl.qa {
    cursor: pointer;
}
.faq .sec dl.qa::before {
    content: '';
    width: 0.16rem;
    height: 0.08rem;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2212%22%20height%3D%228%22%20viewBox%3D%220%200%2012%208%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11%201L6%206L1%201%22%20stroke%3D%22%23657C63%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E') center bottom no-repeat;
    background-size: auto 100%;
    position: absolute;
    right: 0.25rem;
    top: 50%;
    margin-top: -0.025rem;
    transition: 0.4s;
}
.faq .sec dl.qa.is-open::before {
    transform: rotate(540deg);
}
.faq .sec dl dt {
    width: 3%;
}
.faq .sec dl dt span {
    font-size: 0.2rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #657C63;
}
.faq .sec dl dd {
    width: 96%;
}
.faq .sec dl dd h4 {
    font-weight: 700;
    line-height: 1.75;
    padding-top: 0.05rem;
}
.faq .sec dl dd p {
    font-size: 0.14rem;
    font-weight: 500;
    line-height: 1.785;
    padding: 0.05rem 0.05rem 0 0;
}
@media screen and (max-width: 750px) {
.faq {
    padding: 21vw 0 36vw;
}
.faq .headline1 span {
    width: 26.66vw;
}
.faq .sec {
    width: 86.66vw;
    border-radius: 2.133vw;
    margin: 0 auto 5vw;
}
.faq .sec .con {
    border-radius: 0 0 2.133vw 2.133vw;
}
.faq .sec dl {
    padding: 5vw;
}
.faq .sec dl.qa::before {
    width: 5.32vw;
    height: 2.66vw;
    right: 5vw;
    margin-top: -1.33vw;
}
.faq .sec dl dt {
    width: 6%;
}
.faq .sec dl dt span {
    display: block;
    font-size: 5.33vw;
    padding-top: 1vw;
}
.faq .sec dl dd {
    width: 90%;
}
.faq .sec dl dd h4 {
    font-size: 4.266vw;
    padding: 0 10vw 0 0;
}
.faq .sec dl dd p {
    font-size: 3.733vw;
    padding-top: 0.5vw;
}
}


/* catalog
------------------------------------------------- */
.catalog {
    background-color: #4A5649;
    padding: 1.25rem 0 0.9rem;
    color: #fff;
}
.catalog .sec {
    width: 9.3rem;
    margin: 0 auto 0.35rem;
}
.catalog .sec .con {
    width: 4.5rem;
}
.catalog .sec .con h3 {
    font-size: 0.24rem;
    font-weight: 700;
    line-height: 1.4166;
    letter-spacing: 0.1em;
    padding-bottom: 0.25rem;
}
.catalog .sec .con ul li {
    font-size: 0.14rem;
    line-height: 1.785;
}
.catalog .sec .con ul li::before {
    content: '・';
}
.catalog .sec .con ul li:first-child::before {
    display: none;
}
.catalog .sec .con p {
    font-size: 0.18rem;
    font-weight: 700;
    line-height: 1.785;
    letter-spacing: 0.1em;
    padding-left: 0.7rem;
    margin-top: 0.25rem;
    position: relative;
}
.catalog .sec .con p span {
    width: 0.6rem;
    height: 0.6rem;
    background-color: #FFCC34;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -0.3rem;
}
.catalog .sec .con p span::before {
    content: '';
    width: 0.34rem;
    height: 0.34rem;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2234%22%20height%3D%2234%22%20viewBox%3D%220%200%2034%2034%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_231_909)%22%3E%3Cpath%20d%3D%22M21.9052%2010.0763C21.8917%2010.0672%2021.8785%2010.0569%2021.8646%2010.0478C21.6525%209.9064%2021.4343%209.77777%2021.2117%209.65612C21.1702%209.63327%2021.1293%209.61023%2021.0875%209.58818C20.8709%209.47403%2020.6504%209.36997%2020.4252%209.27481C20.3793%209.25535%2020.3332%209.23723%2020.287%209.21857C20.0555%209.12546%2019.8219%209.04007%2019.5829%208.96689C19.5562%208.95885%2019.5289%208.95241%2019.5025%208.94437C18.5526%208.66394%2017.5511%208.54408%2016.5257%208.59727C16.4429%208.60165%2016.3607%208.60796%2016.278%208.61467C16.1358%208.62582%2015.9947%208.62602%2015.852%208.64395C14.2996%208.83959%2012.8184%209.45929%2011.5896%2010.4281C9.41507%2012.1422%208.19824%2014.6633%208.19824%2017.3733C8.19824%2020.2551%209.38758%2022.6655%2011.834%2024.737C12.125%2024.9829%2012.3709%2025.9311%2012.5494%2026.6239C12.8062%2027.6189%2013.1258%2028.8482%2013.8829%2029.6005C14.0305%2029.7473%2014.2342%2029.8238%2014.4425%2029.8238H19.5571C19.7651%2029.8238%2019.969%2029.7473%2020.1166%2029.6002C20.8715%2028.8492%2021.1913%2027.6187%2021.4502%2026.6239C21.6308%2025.931%2021.8767%2024.9829%2022.1657%2024.737C24.6118%2022.6655%2025.8011%2020.2551%2025.8011%2017.3733C25.8011%2015.0218%2024.8873%2012.8122%2023.224%2011.149C22.8175%2010.7425%2022.3715%2010.3912%2021.9052%2010.0763ZM20.7075%2023.0152C19.8704%2023.7239%2019.5633%2024.9086%2019.2655%2026.0551C19.0624%2026.845%2018.7532%2028.0366%2018.3854%2028.0366H15.6163C15.2485%2028.0366%2014.9393%2026.845%2014.7338%2026.0551C14.438%2024.9086%2014.1291%2023.7239%2013.2941%2023.0152C11.3577%2021.3745%2010.455%2019.5826%2010.455%2017.3733C10.455%2015.6241%2011.1365%2013.9811%2012.3732%2012.7445C13.61%2011.51%2015.2528%2010.8286%2016.9996%2010.8286C18.7487%2010.8286%2020.3918%2011.51%2021.6283%2012.7445C22.8651%2013.9811%2023.5442%2015.6241%2023.5442%2017.3733C23.5443%2019.5826%2022.6439%2021.3745%2020.7075%2023.0152Z%22%20fill%3D%22%234B4B4B%22%2F%3E%3Cpath%20d%3D%22M14.0664%2030.8237C14.0664%2032.4439%2015.3801%2033.7576%2017.0002%2033.7576C18.5919%2033.7576%2019.8845%2032.4891%2019.9299%2030.9083C19.9307%2030.8834%2019.9338%2030.8593%2019.9341%2030.8342H19.9335C19.9335%2030.8308%2019.9341%2030.8271%2019.9341%2030.8237H14.0664Z%22%20fill%3D%22%234B4B4B%22%2F%3E%3Cpath%20d%3D%22M17.0004%204.87449C17.2842%204.87449%2017.5142%204.64439%2017.5142%204.36064L17.8006%201.04218C17.8006%200.600383%2017.4421%200.242188%2017.0004%200.242188C16.5584%200.242188%2016.2002%200.600383%2016.2002%201.04218L16.4865%204.36064C16.4865%204.64439%2016.7166%204.87449%2017.0004%204.87449Z%22%20fill%3D%22%234B4B4B%22%2F%3E%3Cpath%20d%3D%22M8.25477%207.77021L6.11078%205.22134C6.08541%205.19591%206.05247%205.18528%206.02465%205.16396C5.99483%205.14119%205.96422%205.12093%205.93208%205.10247C5.87006%205.06774%205.80836%205.04231%205.74116%205.02518C5.71261%205.01787%205.68412%205.01249%205.65477%205.00831C5.58086%204.99788%205.50954%204.99788%205.43536%205.00831C5.40601%205.01242%205.37752%205.01787%205.34897%205.02518C5.28176%205.04231%205.22%205.06774%205.15831%205.10247C5.12584%205.12093%205.09523%205.14112%205.06574%205.16396C5.03772%205.18528%205.00478%205.19591%204.97935%205.22134C4.66704%205.53385%204.66704%206.04053%204.97935%206.35303L7.52815%208.49676C7.7287%208.69751%208.05422%208.69751%208.25477%208.49676C8.45552%208.29601%208.45552%207.97076%208.25477%207.77021Z%22%20fill%3D%22%234B4B4B%22%2F%3E%3Cpath%20d%3D%22M4.11825%2016.728L0.800195%2016.4419C0.358195%2016.4419%200%2016.8002%200%2017.2419C0%2017.6839%200.358195%2018.0421%200.800195%2018.0421L4.11825%2017.7557C4.40227%2017.7557%204.63237%2017.5256%204.63237%2017.2419C4.63237%2016.9581%204.40227%2016.728%204.11825%2016.728Z%22%20fill%3D%22%234B4B4B%22%2F%3E%3Cpath%20d%3D%22M28.9343%205.16396C28.9048%205.14119%2028.8741%205.12093%2028.842%205.10274C28.78%205.06774%2028.7183%205.04231%2028.6509%205.02518C28.6226%205.01787%2028.5938%205.01249%2028.5647%205.00831C28.4905%204.99788%2028.4192%204.99788%2028.3453%205.00831C28.3159%205.01242%2028.2872%205.01787%2028.2589%205.02518C28.192%205.04231%2028.1302%205.06748%2028.0685%205.10221C28.036%205.12067%2028.0049%205.14112%2027.9749%205.1645C27.9474%205.18555%2027.9144%205.19617%2027.8893%205.22134L25.7453%207.77014C25.5445%207.97069%2025.5445%208.29595%2025.7453%208.49676C25.9458%208.69751%2026.2714%208.69751%2026.4722%208.49676L29.0207%206.35303C29.3333%206.04053%2029.3333%205.53385%2029.0207%205.22134C28.9953%205.19591%2028.9621%205.18528%2028.9343%205.16396Z%22%20fill%3D%22%234B4B4B%22%2F%3E%3Cpath%20d%3D%22M33.1994%2016.4419L29.8813%2016.728C29.5973%2016.728%2029.3672%2016.9581%2029.3672%2017.2419C29.3672%2017.5257%2029.5973%2017.7557%2029.8813%2017.7557L33.1994%2018.0421C33.6414%2018.0421%2033.9996%2017.6839%2033.9996%2017.2419C33.9996%2016.8002%2033.6414%2016.4419%2033.1994%2016.4419Z%22%20fill%3D%22%234B4B4B%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_231_909%22%3E%3Crect%20width%3D%2234%22%20height%3D%2234%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E') center center no-repeat;
    background-size: 100% auto;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -0.17rem 0 0 -0.17rem;
}
.catalog .sec .photo {
    width: 4.2rem;
}
.catalog .list {
    margin: 1rem 0 0.8rem;
}
.catalog .list li {
    width: 3rem;
    margin: 0 0.15rem;
}
.catalog .list li .photo {
    position: relative;
}
.catalog .list li .photo .no {
    width: 0.4rem;
    height: 0.4rem;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.15rem;
    font-weight: 700;
    color: #4A5649;
    position: absolute;
    left: -0.15rem;
    top: -0.2rem;
}
.catalog .list li h4 {
    font-size: 0.18rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 0.2rem 0;
}
.catalog .list li p {
    font-size: 0.14rem;
    line-height: 1.714;
}
.catalog .box {
    width: 5rem;
    margin: 0 auto;
    border: 0.01rem solid #fff;
    border-radius: 0.03rem;
    padding: 0.35rem 0;
    text-align: center;
    box-sizing: border-box;
}
.catalog .box h4 {
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0.1em;
    padding-bottom: 0.15rem;
}
.catalog .box p {
    font-size: 0.14rem;
    font-weight: 500;
    line-height: 1.785;
}
.catalog .box p.note {
    font-size: 0.11rem;
    padding-top: 0.1rem;
}
@media only screen and (max-width:750px){
.catalog {
    padding: 44vw 0 24vw;
}
.catalog .sec {
    width: 81.33vw;
    margin: 0 auto 5vw;
}
.catalog .sec .con {
    width: 100%;
}
.catalog .sec .con h3 {
    font-size: 5.866vw;
    line-height: 1.55;
    text-align: center;
    padding-bottom: 7vw;
}
.catalog .sec .con ul li {
    font-size: 3.733vw;
    line-height: 1.785;
}
.catalog .sec .con p {
    font-size: 4.266vw;
    line-height: 1.65;
    padding-left: 20vw;
    margin-top: 0.25rem;
}
.catalog .sec .con p span {
    width: 16vw;
    height: 16vw;
    margin-top: -8vw;
}
.catalog .sec .con p span::before {
    width: 9.066vw;
    height: 9.066vw;
    margin: -4.533vw 0 0 -4.533vw;
}
.catalog .sec .photo {
    width: 80vw;
    margin: -63vw auto 6vw;
}
.catalog .list {
    margin: 0.75rem 0 0.8rem;
}
.catalog .list li {
    width: 80vw;
    margin: 0 auto 13vw;
}
.catalog .list li .photo .no {
    width: 10.6vw;
    height: 10.6vw;
    font-size: 4vw;
    left: -4vw;
    top: -4vw;
}
.catalog .list li h4 {
    font-size: 4.8vw;
    line-height: 1.6;
    padding: 6vw 0 4vw;
}
.catalog .list li p {
    font-size: 3.733vw;
}
.catalog .box {
    width: 81.33vw;
    border: 0.266vw solid #fff;
    border-radius: 0.8vw;
    padding: 6.5vw 5vw;
}
.catalog .box h4 {
    font-size: 4.8vw;
    letter-spacing: 0.1em;
    padding-bottom: 0.15rem;
}
.catalog .box p {
    font-size: 3.733vw;
    text-align: left;
}
.catalog .box p.note {
    font-size: 2.933vw;
    padding-top: 4vw;
}

}


/* contact
------------------------------------------------- */
.contact {
    padding: 0.9rem 0 1rem;
}
.contact .headline2 {
    font-size: 0.22rem;
    text-align: center;
    padding-bottom: 0.3rem;
}
.contact .copy {
    font-size: 0.14rem;
    line-height: 1.785;
    text-align: center;
    margin-bottom: 0.4rem;
}
.contact dl {
    width: 7.5rem;
    margin: 0 auto 0.25rem;
}
.contact dl dt {
    margin-bottom: 0.05rem;
}
.contact dl dt span {
    font-size: 0.14rem;
    letter-spacing: 0.05em;
}
.contact dl dt.required span::after {
    content: '必須';
    display: inline-block;
    width: 0.35rem;
    background-color: #4A5649;
    border-radius: 0.03rem;
    font-size: 0.11rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    line-height: 0.16rem;
    color: #fff;
    text-align: center;
    margin-left: 0.05rem;
    padding-left: 0.02rem;
    box-sizing: border-box;
}
.contact dl dd input[type=text],
.contact dl dd input[type=tel],
.contact dl dd input[type=email],
.contact dl dd textarea {
    width: 100%;
    height: 0.5rem;
    font-size: 0.14rem;
    background-color: #F9F9F7;
    border: none;
    border-radius: 0.03rem;
    padding: 0 0.15rem;
    box-sizing: border-box;
}
.contact dl dd textarea {
    width: 100%;
    height: 1.5rem;
    padding: 0.15rem;
}
.contact dl dd.d-flex .wpcf7-form-control-wrap {
    width: calc(50% - 0.1rem);
}
.contact dl dd .box {
    width: 100%;
    height: 0.9rem;
    overflow-y: auto;
    background-color: #F9F9F7;
    border-radius: 0.03rem;
    padding: 0.1rem 0.1rem 0.15rem;
    box-sizing: border-box;
}
.contact dl dd .box p {
    font-size: 0.11rem;
    padding-bottom: 1em;
    font-weight: 500;
}
.contact .agree {
    font-size: 0.14rem;
    font-weight: 500;
    margin-top: 0.05rem;
}
.contact .agree input[type=checkbox] {
    display: none;
}
.contact .agree input[type=checkbox] + span {
    width: auto;
    display: inline-block;
    font-weight: 500;
    padding: 0.05rem 0 0.05rem 0.2rem;
    position: relative;
    box-sizing: border-box;
    cursor: pointer;
}
.contact .agree input[type=checkbox] + span::before {
    content: '';
    display: block;
    width: 0.15rem;
    height: 0.15rem;
    background: #fff;
    border: 0.005rem solid #222;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -0.075rem;
    box-sizing: border-box;
    transition: 0.4s;
}
.contact .agree input[type=checkbox] + span::after {
    content: '';
    display: block;
    width: 0.04rem;
    height: 0.08rem;
    border-right: 0.075em solid #fff;
    border-bottom: 0.075em solid #fff;
    position: absolute;
    left: 0.05rem;
    top: 50%;
    margin-top: -0.055rem;
    opacity: 0;
    transform: rotate(45deg) translate3d(0,2px,0) scale3d(.7,.7,1);
    transition: transform .2s ease-in-out, opacity .2s ease-in-out;
}
.contact .agree input[type=checkbox]:checked + span::before {
    background-color: #4A5649;
}
.contact .agree input[type=checkbox]:checked + span::after {
    opacity: 1;
    transform: rotate(45deg) scale3d(1,1,1);
}
.contact .agree .wpcf7-list-item {
    margin: 0;
}
.contact .wpcf7-spinner {
    display: flex;
    justify-content: center;
    margin: 0 auto;
}
.contact input[type=submit] {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3rem;
    height: 0.6rem;
    background-color: #FFF;
    border: 0.01rem solid #4A5649;
    border-radius: 0.03rem;
    font-size: 0.14rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: center;
    margin: 0.2rem auto 0.1rem;
    transition: 0.4s;
    cursor: pointer;
}
.contact .policy {
    font-size: 0.11rem;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.05em;
}
.contact .policy a {
    text-decoration: underline;
}

.wpcf7-not-valid-tip {
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.5em;
    position: absolute;
    right: 0;
    top: -4em;
    background: #fff;
    border-radius: 0.04rem;
    font-size: 0.8em !important;
    line-height: 1;
    box-shadow: inset 0 0 0 1px currentColor;
    white-space: nowrap;
}
.contact dl dd.d-flex .wpcf7-not-valid-tip {
    top: -2.5em;
}
.contact dl dd.txta .wpcf7-not-valid-tip {
    top: -13.2em;
}

.contact .wpcf7 form .wpcf7-response-output {
    width: 7.5rem;
    font-size: 0.14rem;
    text-align: center;
    margin: 1em auto 0;
    box-sizing: border-box;
}
@media screen and (min-width:751px){
.contact input[type=submit]:hover {
    background-color: #4A5649;
    color: #fff;
}
.contact .policy a:hover {
    text-decoration: none;
}
}
@media only screen and (max-width:750px){
.contact {
    padding: 23vw 0 14vw;
}
.contact .headline2 {
    font-size: 5.866vw;
    text-align: center;
    padding-bottom: 0.3rem;
}
.contact .copy {
    font-size: 3.733vw;
    margin-bottom: 12vw;
}
.contact dl {
    width: 85.33vw;
    margin: 0 auto 8.5vw;
}
.contact dl dt {
    margin-bottom: 2vw;
}
.contact dl dt span {
    display: block;
    width: 100%;
    font-size: 3.733vw;
    position: relative;
}
.contact dl dt.required span::after {
    width: 9.33vw;
    border-radius: 0.8vw;
    font-size: 2.933vw;
    line-height: 4.266vw;
    position: absolute;
    right: 0;
    top: 1vw;
}
.contact dl dd input[type=text],
.contact dl dd input[type=tel],
.contact dl dd input[type=email],
.contact dl dd textarea {
    height: 13vw;
    font-size: 3.733vw;
    border-radius: 0.8vw;
    padding: 0 4vw;
    margin-bottom: 1.5vw;
}
.contact dl dd textarea {
    height: 40vw;
    padding: 2vw 4vw;
}
.contact dl dd.d-flex .wpcf7-form-control-wrap {
    width: 100%;
    margin-bottom: 0;
}
.contact dl dd .box {
    border-radius: 0.8vw;
    padding: 3vw 3vw 0;
}
.contact dl dd .box p {
    font-size: 2.933vw;
    line-height: 1.45;
    padding-bottom: 1em;
}
.contact .agree {
    font-size: 3.733vw;
    font-weight: 500;
    margin-top: 2vw;
}
.contact .agree input[type=checkbox] + span {
    padding: 0.05rem 0 0.05rem 5.5vw;
}
.contact .agree input[type=checkbox] + span::before {
    width: 4vw;
    height: 4vw;
    border: 0.133vw solid #222;
    margin-top: -2vw;
}
.contact .agree input[type=checkbox] + span::after {
    width: 1vw;
    height: 3vw;
    border-right: 0.266vw solid #fff;
    border-bottom: 0.266vw solid #fff;
    left: 1.5vw;
    margin-top: -2vw;
}
.contact input[type=submit] {
    width: 74.66vw;
    height: 16vw;
    border-radius: 0.8vw;
    font-size: 3.733vw;
    margin: 5vw auto 6vw;
    background-color: #4A5649;
    color: #fff;
}
.contact .policy {
    width: 86.66vw;
    font-size: 2.933vw;
    line-height: 1.45;
    text-align: left;
    margin: 0 auto;
}
.wpcf7-not-valid-tip {
    right: 4em;
    top: -4.4em;
}
.contact dl dd.d-flex .wpcf7-not-valid-tip {
    top: -4.4em;
}
.contact dl dd.d-flex .wpcf7-form-control-wrap:last-of-type .wpcf7-not-valid-tip {
    top: -9.26em;
}
.contact dl dd.txta .wpcf7-not-valid-tip {
    top: -15.4em;
}
.contact .wpcf7 form .wpcf7-response-output {
    width: 86.66vw;
    font-size: 3.2vw;
    margin-top: 2em;
}
}


/* footer
------------------------------------------------- */
#footer small {
    display: block;
    width: 12rem;
    border-top: 0.005rem solid #202020;
    font-size: 0.1rem;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 0.1rem 0 0.3rem;
    margin: 0 auto;
}
@media only screen and (max-width:750px){
#footer small {
    width: 86.66vw;
    border-top: 0.266vw solid #202020;
    font-size: 2.66vw;
    padding: 2.5vw 0 6vw;
}
}


/* animation
------------------------------------------------- */
@keyframes slideIn {
    0% {
        bottom: -30vw;
    }
    100% {
        bottom: 0;
    }
}

.grecaptcha-badge {
    visibility: hidden;
  }