@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Charm:wght@400;700&display=swap");
/*==========================================================================
# reset - ブラウザの差異や不要なスタイルを無くすためのスタイル
========================================================================== */
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, small, button, time, figure {
border: 0;
font: inherit;
font-size: 100%;
margin: 0;
padding: 0;
vertical-align: baseline;
}

html {
line-height: 1;
}

ol, ul {
list-style: none;
}

li, dd {
list-style-type: none;
}

header, footer, nav, section, article, aside, figure, figcaption {
display: block;
}

img {
border: none;
vertical-align: bottom;
}

a {
cursor: pointer;
text-decoration: none;
}

input,
textarea {
-webkit-appearance: none;
border-radius: 0;
}

html {
font-size: 16px;
}

@media (max-width: 375px) {
html {
font-size: 16px;
}
}

@media screen and (min-width: 520px) {
html {
font-size: 16px;
}
}

@media screen and (min-width: 520px) {
html {
font-size: 16px;
}
}

body {
color: #415555;
font-size: 16px;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
background-color: #FFF;
-webkit-text-size-adjust: 100%;
}

img {
width: 100%;
max-width: 100%;
height: auto;
image-rendering: -webkit-optimize-contrast;
}

a {
text-decoration: none;
color: #323232;
-webkit-transition: all 0.2s ease 0.1s;
transition: all 0.2s ease 0.1s;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@media screen and (min-width: 520px) {
a:hover {
opacity: 0.6;
cursor: pointer;
}
}

#logo-wrap.is-animated path {
-webkit-animation: svg 5s ease-in forwards;
animation: svg 5s ease-in forwards;
}

#logo-wrap path {
opacity: 0;
fill: #B29464;
stroke: #B29464;
stroke-width: 1px;
}

@-webkit-keyframes svg {
0% {
opacity: 1;
fill: transparent;
stroke-dasharray: 2000px;
stroke-dashoffset: 2000px;
}
20% {
opacity: 1;
stroke-dashoffset: 0;
}
25% {
opacity: 1;
fill: transparent;
}
35% {
opacity: 1;
fill: #B29464;
}
}

@keyframes svg {
0% {
opacity: 1;
fill: transparent;
stroke-dasharray: 2000px;
stroke-dashoffset: 2000px;
}
20% {
opacity: 1;
stroke-dashoffset: 0;
}
25% {
opacity: 1;
fill: transparent;
}
35% {
opacity: 1;
fill: #B29464;
}
}

.slowflashing.is-animated {
-webkit-animation: blink 2.2s ease-in-out infinite alternate;
animation: blink 2.2s ease-in-out infinite alternate;
}

.slowflashing {
opacity: 0;
}

@-webkit-keyframes blink {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

@keyframes blink {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

/* ローディング背景を下から上に消す */
.slide-bottomtotop.is-animated {
-webkit-animation: slideBottomToTop 0.7s ease-in-out forwards;
animation: slideBottomToTop 0.7s ease-in-out forwards;
}

.slide-bottomtotop {
-webkit-transform: scaleY(1);
transform: scaleY(1);
}

@-webkit-keyframes slideBottomToTop {
0% {
-webkit-transform-origin: top;
transform-origin: top;
-webkit-transform: scaleY(1);
transform: scaleY(1);
}
100% {
-webkit-transform-origin: top;
transform-origin: top;
-webkit-transform: scaleY(0);
transform: scaleY(0);
}
}

@keyframes slideBottomToTop {
0% {
-webkit-transform-origin: top;
transform-origin: top;
-webkit-transform: scaleY(1);
transform: scaleY(1);
}
100% {
-webkit-transform-origin: top;
transform-origin: top;
-webkit-transform: scaleY(0);
transform: scaleY(0);
}
}

/* ゆっくりズームアウト */
.zoomout.is-animated {
-webkit-animation: zoomOut 15s linear forwards;
animation: zoomOut 15s linear forwards;
}

.zoomout {
-webkit-transform-origin: center 30%;
transform-origin: center 30%;
-webkit-transform: scale(1.45);
transform: scale(1.45);
}

@-webkit-keyframes zoomOut {
0% {
-webkit-transform: scale(1.45);
transform: scale(1.45);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
}
}

@keyframes zoomOut {
0% {
-webkit-transform: scale(1.45);
transform: scale(1.45);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
}
}

/* 枠線を太くする */
.borderthick.is-animated {
-webkit-animation: borderThick 0.5s ease-in-out forwards;
animation: borderThick 0.5s ease-in-out forwards;
}

.borderthick {
border-width: 0;
}

@-webkit-keyframes borderThick {
0% {
border-width: 0;
}
100% {
border-width: 30px;
}
}

@keyframes borderThick {
0% {
border-width: 0;
}
100% {
border-width: 30px;
}
}

@media screen and (max-width: 520px) {
@-webkit-keyframes borderThick {
0% {
border-width: 0;
}
100% {
border-width: 10px;
}
}
@keyframes borderThick {
0% {
border-width: 0;
}
100% {
border-width: 10px;
}
}
}

/* フェードイン */
.fadein.is-animated {
-webkit-animation: fadeIn 3s cubic-bezier(0.33, 1, 0.68, 1) 0.5s 1 forwards;
animation: fadeIn 3s cubic-bezier(0.33, 1, 0.68, 1) 0.5s 1 forwards;
}

.fadein {
opacity: 0;
}

@media screen and (max-width: 520px) {
.fadein-only-mobile.is-animated {
-webkit-animation: fadeIn 1s cubic-bezier(0.33, 1, 0.68, 1) 0s 1 forwards;
animation: fadeIn 1s cubic-bezier(0.33, 1, 0.68, 1) 0s 1 forwards;
}
.fadein-only-mobile {
opacity: 0;
}
}

@-webkit-keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

/* スライドイン（左⇒右） */
.slidein-left-to-right.is-animated {
-webkit-animation: slideInLeftToRight 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
animation: slideInLeftToRight 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

.slidein-left-to-right {
opacity: 0;
}

@-webkit-keyframes slideInLeftToRight {
0% {
-webkit-transform: translateX(-50px);
transform: translateX(-50px);
opacity: 0;
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
100% {
opacity: 1;
}
}

@keyframes slideInLeftToRight {
0% {
-webkit-transform: translateX(-50px);
transform: translateX(-50px);
opacity: 0;
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
100% {
opacity: 1;
}
}

/* スライドイン（右⇒左） */
.slidein-right-to-left.is-animated {
-webkit-animation: slideInRightToLeft 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
animation: slideInRightToLeft 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

.slidein-right-to-left {
opacity: 0;
}

@-webkit-keyframes slideInRightToLeft {
0% {
-webkit-transform: translateX(50px);
transform: translateX(50px);
opacity: 0;
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
100% {
opacity: 1;
}
}

@keyframes slideInRightToLeft {
0% {
-webkit-transform: translateX(50px);
transform: translateX(50px);
opacity: 0;
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
100% {
opacity: 1;
}
}

/* スライドダウン（上⇒下） */
.slidedown.is-animated {
-webkit-animation: slideDown 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
animation: slideDown 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

.slidedown {
opacity: 0;
}

@-webkit-keyframes slideDown {
0% {
-webkit-transform: translateY(-120px);
transform: translateY(-120px);
opacity: 0;
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
opacity: 1;
}
}

@keyframes slideDown {
0% {
-webkit-transform: translateY(-120px);
transform: translateY(-120px);
opacity: 0;
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
opacity: 1;
}
}

/* ズームイン */
.anim-box.zoomin.is-animated {
-webkit-animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@-webkit-keyframes zoomIn {
0% {
-webkit-transform: scale(0.8);
transform: scale(0.8);
opacity: 0;
}
100% {
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1);
}
}

@keyframes zoomIn {
0% {
-webkit-transform: scale(0.8);
transform: scale(0.8);
opacity: 0;
}
100% {
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1);
}
}

/* ぽよよん */
.anim-box.poyoyon.is-animated {
-webkit-animation: poyoyon 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
animation: poyoyon 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}

@-webkit-keyframes poyoyon {
0% {
-webkit-transform: translateX(140px);
transform: translateX(140px);
opacity: 0;
}
50% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
65% {
-webkit-transform: translateX(30px);
transform: translateX(30px);
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
20%,
100% {
opacity: 1;
}
}

@keyframes poyoyon {
0% {
-webkit-transform: translateX(140px);
transform: translateX(140px);
opacity: 0;
}
50% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
65% {
-webkit-transform: translateX(30px);
transform: translateX(30px);
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
20%,
100% {
opacity: 1;
}
}

/* ぽよよん2 */
.anim-box.poyoyon2.is-animated {
-webkit-animation: poyoyon2 1s ease-in-out 1 forwards;
animation: poyoyon2 1s ease-in-out 1 forwards;
}

@-webkit-keyframes poyoyon2 {
0% {
-webkit-transform: scale(1, 1) translate(0, 0);
transform: scale(1, 1) translate(0, 0);
}
15% {
-webkit-transform: scale(0.98, 0.9) translate(0, 5px);
transform: scale(0.98, 0.9) translate(0, 5px);
}
30% {
-webkit-transform: scale(1.02, 1) translate(0, 8px);
transform: scale(1.02, 1) translate(0, 8px);
}
50% {
-webkit-transform: scale(0.98, 1.05) translate(0, -8px);
transform: scale(0.98, 1.05) translate(0, -8px);
}
70% {
-webkit-transform: scale(1, 0.9) translate(0, 5px);
transform: scale(1, 0.9) translate(0, 5px);
}
100% {
-webkit-transform: scale(1, 1) translate(0, 0);
transform: scale(1, 1) translate(0, 0);
}
0%,
100% {
opacity: 1;
}
}

@keyframes poyoyon2 {
0% {
-webkit-transform: scale(1, 1) translate(0, 0);
transform: scale(1, 1) translate(0, 0);
}
15% {
-webkit-transform: scale(0.98, 0.9) translate(0, 5px);
transform: scale(0.98, 0.9) translate(0, 5px);
}
30% {
-webkit-transform: scale(1.02, 1) translate(0, 8px);
transform: scale(1.02, 1) translate(0, 8px);
}
50% {
-webkit-transform: scale(0.98, 1.05) translate(0, -8px);
transform: scale(0.98, 1.05) translate(0, -8px);
}
70% {
-webkit-transform: scale(1, 0.9) translate(0, 5px);
transform: scale(1, 0.9) translate(0, 5px);
}
100% {
-webkit-transform: scale(1, 1) translate(0, 0);
transform: scale(1, 1) translate(0, 0);
}
0%,
100% {
opacity: 1;
}
}

/* ぽよよん3 */
.anim-box.poyoyon3 {
-webkit-animation: poyoyon3 2.5s infinite;
animation: poyoyon3 2.5s infinite;
opacity: 1;
}

@-webkit-keyframes poyoyon3 {
0%,
40% {
-webkit-transform: skew(0deg, 0deg);
transform: skew(0deg, 0deg);
}
5% {
-webkit-transform: skew(5deg, 5deg);
transform: skew(5deg, 5deg);
}
10% {
-webkit-transform: skew(-4deg, -4deg);
transform: skew(-4deg, -4deg);
}
15% {
-webkit-transform: skew(3deg, 3deg);
transform: skew(3deg, 3deg);
}
20% {
-webkit-transform: skew(-2deg, -2deg);
transform: skew(-2deg, -2deg);
}
25% {
-webkit-transform: skew(1deg, 1deg);
transform: skew(1deg, 1deg);
}
30% {
-webkit-transform: skew(-0.6deg, -0.6deg);
transform: skew(-0.6deg, -0.6deg);
}
35% {
-webkit-transform: skew(0.3deg, 0.3deg);
transform: skew(0.3deg, 0.3deg);
}
}

@keyframes poyoyon3 {
0%,
40% {
-webkit-transform: skew(0deg, 0deg);
transform: skew(0deg, 0deg);
}
5% {
-webkit-transform: skew(5deg, 5deg);
transform: skew(5deg, 5deg);
}
10% {
-webkit-transform: skew(-4deg, -4deg);
transform: skew(-4deg, -4deg);
}
15% {
-webkit-transform: skew(3deg, 3deg);
transform: skew(3deg, 3deg);
}
20% {
-webkit-transform: skew(-2deg, -2deg);
transform: skew(-2deg, -2deg);
}
25% {
-webkit-transform: skew(1deg, 1deg);
transform: skew(1deg, 1deg);
}
30% {
-webkit-transform: skew(-0.6deg, -0.6deg);
transform: skew(-0.6deg, -0.6deg);
}
35% {
-webkit-transform: skew(0.3deg, 0.3deg);
transform: skew(0.3deg, 0.3deg);
}
}

/* ポップアップ */
.anim-box.popup.is-animated {
-webkit-animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) 1 forwards;
animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) 1 forwards;
}

@-webkit-keyframes popup {
0% {
-webkit-transform: translateY(40px) scale(0.8);
transform: translateY(40px) scale(0.8);
opacity: 0;
}
100% {
-webkit-transform: translateY(0) scale(1);
transform: translateY(0) scale(1);
}
80%,
100% {
opacity: 1;
}
}

@keyframes popup {
0% {
-webkit-transform: translateY(40px) scale(0.8);
transform: translateY(40px) scale(0.8);
opacity: 0;
}
100% {
-webkit-transform: translateY(0) scale(1);
transform: translateY(0) scale(1);
}
80%,
100% {
opacity: 1;
}
}

/* どくどく */
.anim-box.poyopoyo {
-webkit-animation: poyopoyo 2s ease-out infinite;
animation: poyopoyo 2s ease-out infinite;
opacity: 1;
}

@-webkit-keyframes poyopoyo {
0%,
40%,
60%,
80% {
-webkit-transform: scale(1);
transform: scale(1);
}
50%,
70% {
-webkit-transform: scale(0.95);
transform: scale(0.95);
}
}

@keyframes poyopoyo {
0%,
40%,
60%,
80% {
-webkit-transform: scale(1);
transform: scale(1);
}
50%,
70% {
-webkit-transform: scale(0.95);
transform: scale(0.95);
}
}

/* ななめから出てくる */
.anim-box.slide-skew.is-animated {
-webkit-animation: slide-skew 0.4s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
animation: slide-skew 0.4s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@-webkit-keyframes slide-skew {
0% {
-webkit-transform: translate(180px, 30px);
transform: translate(180px, 30px);
opacity: 0;
}
100% {
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
20%,
100% {
opacity: 1;
}
}

@keyframes slide-skew {
0% {
-webkit-transform: translate(180px, 30px);
transform: translate(180px, 30px);
opacity: 0;
}
100% {
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
20%,
100% {
opacity: 1;
}
}

/* きらん */
.anim-box.kiran {
opacity: 1;
overflow: hidden;
position: relative;
cursor: pointer;
}

.anim-box.kiran::before {
background-color: #fff;
content: '';
display: block;
position: absolute;
top: -100px;
left: 0;
width: 30px;
height: 100%;
opacity: 0;
-webkit-transition: cubic-bezier(0.32, 0, 0.67, 0);
transition: cubic-bezier(0.32, 0, 0.67, 0);
}

.anim-box.kiran:hover::before {
-webkit-animation: kiran 0.5s linear 1;
animation: kiran 0.5s linear 1;
}

@-webkit-keyframes kiran {
0% {
-webkit-transform: scale(2) rotate(45deg);
transform: scale(2) rotate(45deg);
opacity: 0;
}
20% {
-webkit-transform: scale(20) rotate(45deg);
transform: scale(20) rotate(45deg);
opacity: 0.6;
}
40% {
-webkit-transform: scale(30) rotate(45deg);
transform: scale(30) rotate(45deg);
opacity: 0.4;
}
80% {
-webkit-transform: scale(45) rotate(45deg);
transform: scale(45) rotate(45deg);
opacity: 0.2;
}
100% {
-webkit-transform: scale(50) rotate(45deg);
transform: scale(50) rotate(45deg);
opacity: 0;
}
}

@keyframes kiran {
0% {
-webkit-transform: scale(2) rotate(45deg);
transform: scale(2) rotate(45deg);
opacity: 0;
}
20% {
-webkit-transform: scale(20) rotate(45deg);
transform: scale(20) rotate(45deg);
opacity: 0.6;
}
40% {
-webkit-transform: scale(30) rotate(45deg);
transform: scale(30) rotate(45deg);
opacity: 0.4;
}
80% {
-webkit-transform: scale(45) rotate(45deg);
transform: scale(45) rotate(45deg);
opacity: 0.2;
}
100% {
-webkit-transform: scale(50) rotate(45deg);
transform: scale(50) rotate(45deg);
opacity: 0;
}
}

/* 背景色が流れてくる */
.bg .bg-wrap {
position: relative;
display: inline-block;
margin-top: 5px;
}

.bg.is-animated .bg-wrap::before {
-webkit-animation: bg 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
animation: bg 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
background: -webkit-gradient(linear, left top, right top, from(#362ae0), color-stop(50%, #3b79cc), to(#42d3ed));
background: linear-gradient(to right, #362ae0 0%, #3b79cc 50%, #42d3ed 100%);
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
-webkit-transform-origin: left center;
transform-origin: left center;
}

.bg .bg-wrap .inn {
color: #fff;
display: inline-block;
font-size: 36px;
font-weight: bold;
padding: 5px 15px;
position: relative;
z-index: 1;
}

@-webkit-keyframes bg {
0% {
opacity: 0;
-webkit-transform: scaleX(0) translateX(-5%);
transform: scaleX(0) translateX(-5%);
}
30% {
-webkit-transform: scaleX(1) translateX(0);
transform: scaleX(1) translateX(0);
}
100% {
-webkit-transform: scaleX(1) translateX(0);
transform: scaleX(1) translateX(0);
}
30%,
100% {
opacity: 1;
}
}

@keyframes bg {
0% {
opacity: 0;
-webkit-transform: scaleX(0) translateX(-5%);
transform: scaleX(0) translateX(-5%);
}
30% {
-webkit-transform: scaleX(1) translateX(0);
transform: scaleX(1) translateX(0);
}
100% {
-webkit-transform: scaleX(1) translateX(0);
transform: scaleX(1) translateX(0);
}
30%,
100% {
opacity: 1;
}
}

/* 文字がぬるりと現れる */
.matrix .bg-wrap,
.matrix .bg-wrap .inn {
display: block;
}

.matrix .bg-wrap {
overflow: hidden;
opacity: 0;
}

.matrix .bg-wrap + .bg-wrap {
margin-top: 10px;
}

.matrix .bg-wrap .inn.large {
font-size: 36px;
font-weight: bold;
}

.matrix .bg-wrap .inn.small {
font-size: 15px;
}

.matrix .bg-wrap .inn {
opacity: 0;
-webkit-transform: matrix(1, 0, 0, 1, 0, 100);
transform: matrix(1, 0, 0, 1, 0, 100);
-webkit-transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.matrix.is-animated .bg-wrap {
opacity: 1;
}

.matrix.is-animated .bg-wrap .inn {
opacity: 1;
-webkit-transform: matrix(1, 0, 0, 1, 0, 0);
transform: matrix(1, 0, 0, 1, 0, 0);
}

/* 背景色が消えてから表示されるテキスト */
.mask-bg {
position: relative;
display: inline-block;
overflow: hidden;
}

.mask-bg::after {
background: #B29464;
bottom: 0;
content: '';
display: block;
left: 0;
position: absolute;
right: 0;
top: 0;
-webkit-transform: translate(101%, 0);
transform: translate(101%, 0);
}

.mask-bg.is-animated::after {
-webkit-animation: mask-bg 1.8s cubic-bezier(0.8, 0, 0.17, 1) 0.5s;
animation: mask-bg 1.8s cubic-bezier(0.8, 0, 0.17, 1) 0.5s;
}

@-webkit-keyframes mask-bg {
0% {
-webkit-transform: translate(-101%, 0);
transform: translate(-101%, 0);
}
40%,
60% {
-webkit-transform: translate(0, 0%);
transform: translate(0, 0%);
}
100% {
-webkit-transform: translate(100%, 0);
transform: translate(100%, 0);
}
}

@keyframes mask-bg {
0% {
-webkit-transform: translate(-101%, 0);
transform: translate(-101%, 0);
}
40%,
60% {
-webkit-transform: translate(0, 0%);
transform: translate(0, 0%);
}
100% {
-webkit-transform: translate(100%, 0);
transform: translate(100%, 0);
}
}

/* 線が伸びる */
.line {
display: block;
position: relative;
margin-top: 20px;
}

.line::after {
background: -webkit-gradient(linear, left top, right top, from(#362ae0), color-stop(50%, #3b79cc), to(#42d3ed));
background: linear-gradient(to right, #362ae0 0%, #3b79cc 50%, #42d3ed 100%);
content: '';
display: block;
height: 1px;
width: 0;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
-webkit-transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
position: absolute;
bottom: 0;
left: 50%;
}

.line.is-animated::after {
width: 100%;
}

/* フェードアップ */
.fadeup.is-animated {
-webkit-animation: fadeup 1.5s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
animation: fadeup 1.5s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

.fadeup {
opacity: 0;
}

@-webkit-keyframes fadeup {
0% {
-webkit-transform: translateY(30px);
transform: translateY(30px);
opacity: 0;
}
80% {
opacity: 1;
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}

@keyframes fadeup {
0% {
-webkit-transform: translateY(30px);
transform: translateY(30px);
opacity: 0;
}
80% {
opacity: 1;
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}

/* フェードダウン */
.fadedown.is-animated {
-webkit-animation: fadedown 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
animation: fadedown 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

.fadedown {
opacity: 0;
}

@media screen and (max-width: 520px) {
.fadedown-only-sp.is-animated {
-webkit-animation: fadedown 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
animation: fadedown 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
.fadedown-only-sp {
opacity: 0;
}
}

@-webkit-keyframes fadedown {
0% {
-webkit-transform: translateY(-50px);
transform: translateY(-50px);
opacity: 0;
}
80% {
opacity: 1;
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}

@keyframes fadedown {
0% {
-webkit-transform: translateY(-50px);
transform: translateY(-50px);
opacity: 0;
}
80% {
opacity: 1;
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}

/* ボーダーが緩やかにつく */
.stroke {
background: #f0f0f0;
max-width: 400px;
height: 250px;
position: relative;
}

.stroke .border {
content: '';
position: absolute;
opacity: 0;
}

.stroke .border.top,
.stroke .border.bottom {
width: calc(100% - 20px);
}

.stroke .border.top {
border-top: 3px solid #362ae0;
right: 0;
top: 0;
}

.stroke .border.bottom {
border-bottom: 3px solid #362ae0;
left: 0;
bottom: 0;
}

.stroke .border.right,
.stroke .border.left {
height: calc(100% - 20px);
}

.stroke .border.right {
border-right: 3px solid #362ae0;
right: 0;
top: 0;
}

.stroke .border.left {
border-left: 3px solid #362ae0;
left: 0;
bottom: 0;
}

.stroke.is-animated .border {
opacity: 1;
}

.stroke.is-animated .border.top,
.stroke.is-animated .border.bottom {
-webkit-animation: stroke-width 1.8s cubic-bezier(0.22, 1, 0.36, 1);
animation: stroke-width 1.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.stroke.is-animated .border.right,
.stroke.is-animated .border.left {
-webkit-animation: stroke-height 1.8s cubic-bezier(0.22, 1, 0.36, 1);
animation: stroke-height 1.8s cubic-bezier(0.22, 1, 0.36, 1);
}

@-webkit-keyframes stroke-width {
0% {
width: 0;
opacity: 1;
}
100% {
width: calc(100% - 20px);
opacity: 1;
}
}

@keyframes stroke-width {
0% {
width: 0;
opacity: 1;
}
100% {
width: calc(100% - 20px);
opacity: 1;
}
}

@-webkit-keyframes stroke-height {
0% {
height: 0;
opacity: 1;
}
100% {
height: calc(100% - 20px);
opacity: 1;
}
}

@keyframes stroke-height {
0% {
height: 0;
opacity: 1;
}
100% {
height: calc(100% - 20px);
opacity: 1;
}
}

/* 文字が滑らかに表示される */
.smooth {
-webkit-clip-path: inset(0 100% 0 0);
clip-path: inset(0 100% 0 0);
display: inline-block;
-webkit-transition: 1s cubic-bezier(0.37, 0, 0.63, 1);
transition: 1s cubic-bezier(0.37, 0, 0.63, 1);
-webkit-transition-property: -webkit-clip-path;
transition-property: -webkit-clip-path;
transition-property: clip-path;
transition-property: clip-path, -webkit-clip-path;
}

.smooth.is-animated {
-webkit-clip-path: inset(0);
clip-path: inset(0);
}

/* ふわふわ */
.fuwafuwa.is-animated {
-webkit-animation: fuwafuwa 2.5s infinite ease-in-out 0.8s alternate;
animation: fuwafuwa 2.5s infinite ease-in-out 0.8s alternate;
display: inline-block;
-webkit-transition: 1.5s ease-in-out;
transition: 1.5s ease-in-out;
}

@-webkit-keyframes fuwafuwa {
0% {
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
50% {
-webkit-transform: translate(0, -20px);
transform: translate(0, -20px);
}
100% {
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
}

@keyframes fuwafuwa {
0% {
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
50% {
-webkit-transform: translate(0, -20px);
transform: translate(0, -20px);
}
100% {
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
}

/* ゆったりスクロールボタン */
.scroll {
display: inline-block;
padding-top: 70px;
position: relative;
}

.scroll::before {
-webkit-animation: scroll 3.5s infinite;
animation: scroll 3.5s infinite;
border: solid #000;
border-width: 0 0 1px 1px;
content: '';
display: inline-block;
margin: auto;
position: absolute;
top: 0;
right: 0;
left: 0;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
width: 20px;
height: 20px;
}

@-webkit-keyframes scroll {
0% {
-webkit-transform: rotate(-45deg) translate(0, 0);
transform: rotate(-45deg) translate(0, 0);
}
80% {
-webkit-transform: rotate(-45deg) translate(-30px, 30px);
transform: rotate(-45deg) translate(-30px, 30px);
}
0%,
80%,
100% {
opacity: 0;
}
40% {
opacity: 1;
}
}

@keyframes scroll {
0% {
-webkit-transform: rotate(-45deg) translate(0, 0);
transform: rotate(-45deg) translate(0, 0);
}
80% {
-webkit-transform: rotate(-45deg) translate(-30px, 30px);
transform: rotate(-45deg) translate(-30px, 30px);
}
0%,
80%,
100% {
opacity: 0;
}
40% {
opacity: 1;
}
}

/* くるくる回りながら出現 */
.kurukuru {
background: -webkit-gradient(linear, left top, right top, from(#362ae0), color-stop(50%, #3b79cc), to(#42d3ed));
background: linear-gradient(to right, #362ae0 0%, #3b79cc 50%, #42d3ed 100%);
width: 50px;
height: 50px;
opacity: 0;
padding-bottom: 40px;
}

.kurukuru.is-animated {
-webkit-animation: kurukuru 1.4s ease-out;
animation: kurukuru 1.4s ease-out;
opacity: 1;
}

@-webkit-keyframes kurukuru {
0% {
-webkit-transform: rotateY(0) translateY(40px);
transform: rotateY(0) translateY(40px);
opacity: 0;
}
100% {
-webkit-transform: rotateY(360deg) translateY(0);
transform: rotateY(360deg) translateY(0);
opacity: 1;
}
}

@keyframes kurukuru {
0% {
-webkit-transform: rotateY(0) translateY(40px);
transform: rotateY(0) translateY(40px);
opacity: 0;
}
100% {
-webkit-transform: rotateY(360deg) translateY(0);
transform: rotateY(360deg) translateY(0);
opacity: 1;
}
}

.blur.is-animated {
-webkit-animation-name: blurAnime;
animation-name: blurAnime;
-webkit-animation-duration: 4s;
animation-duration: 4s;
-webkit-animation-fill-mode: forwards;
animation-fill-mode: forwards;
}

.blur {
opacity: 0;
}

@-webkit-keyframes blurAnime {
0% {
-webkit-filter: blur(10px);
filter: blur(10px);
-webkit-transform: scale(1.02);
transform: scale(1.02);
opacity: 0;
}
50% {
-webkit-filter: blur(0);
filter: blur(0);
-webkit-transform: scale(1);
transform: scale(1);
opacity: 1;
}
70% {
opacity: 1;
}
100% {
opacity: 0;
}
}

@keyframes blurAnime {
0% {
-webkit-filter: blur(10px);
filter: blur(10px);
-webkit-transform: scale(1.02);
transform: scale(1.02);
opacity: 0;
}
50% {
-webkit-filter: blur(0);
filter: blur(0);
-webkit-transform: scale(1);
transform: scale(1);
opacity: 1;
}
70% {
opacity: 1;
}
100% {
opacity: 0;
}
}

.bottom-cta {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
position: fixed;
bottom: -1px;
left: 0;
width: 100vw;
height: 61px;
background-color: #323232;
padding: 14px 0;
z-index: 39;
}

@media screen and (min-width: 520px) {
.bottom-cta {
display: none;
}
}

.bottom-cta__left-link,
.bottom-cta__right-link {
display: block;
width: 50%;
height: 100%;
text-align: center;
}

.bottom-cta__left-link {
border-right: 1px solid #FFF;
}

.bottom-cta__left,
.bottom-cta__right {
display: inline-block;
position: relative;
height: 100%;
font-size: 12px;
font-weight: 400;
color: #FFF;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 2.5;
letter-spacing: 1px;
font-family: "Noto Sans JP", serif;
padding-right: 30px;
}

.bottom-cta__left::after,
.bottom-cta__right::after {
content: '';
position: absolute;
top: 50%;
right: -4px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 25px;
height: 25px;
background-size: contain;
background-repeat: no-repeat;
-webkit-transition: all 0.5s ease 0.1s;
transition: all 0.5s ease 0.1s;
}

.bottom-cta__left::after {
background-image: url("../img/00_common/icon-tel-sp.svg");
}

.bottom-cta__right::after {
background-image: url("../img/00_common/icon-line-sp.svg");
}

.breadcrumbs {
-webkit-box-shadow: 0px 2px 6px #86868629;
box-shadow: 0px 2px 6px #86868629;
padding: 5px 0 10px 5px;
}

@media screen and (min-width: 520px) {
.breadcrumbs {
padding: 10px 0 13px 0;
}
}

@media screen and (min-width: 768px) and (max-width: 520px) {
.breadcrumbs .breadcrumbs__container {
margin: 0;
}
}

.btn {
font-size: 16px;
font-weight: 400;
color: #FFF;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
font-family: "Noto Serif JP", sans-serif;
display: inline-block;
-webkit-box-sizing: border-box;
box-sizing: border-box;
background-color: #B29464;
-webkit-box-shadow: none;
box-shadow: none;
padding: 24px 90px;
border: 1px solid #B29464;
border-radius: 0;
-webkit-transition: all 0.5s ease 0.1s;
transition: all 0.5s ease 0.1s;
}

.btn--arrow {
position: relative;
}

@media screen and (max-width: 520px) {
.btn--arrow {
padding: 16px 55px;
}
}
@media screen and (max-width: 960px) {
.btn--arrow {
padding: 16px 55px;
}
}

.btn--arrow::after {
content: url("../img/00_common/icon-arrow-right.svg");
position: absolute;
top: 50%;
right: 30px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 15px;
height: auto;
color: #B29464;
-webkit-transition: all 0.5s ease 0.1s;
transition: all 0.5s ease 0.1s;
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}

.btn--circle {
position: relative;
padding: 24px 18px 24px 90px;
font-size: 18px;
}

@media screen and (max-width: 520px) {
.btn--circle::after {
content: '';
display: inline-block;
position: absolute;
top: 50%;
right: 14px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
background-image: url("../img/00_common/icon-arrow-next.svg");
background-size: contain;
width: 8px;
height: 15px;
color: #B29464;
}
}

.btn__icon-circle {
display: inline-block;
position: absolute;
top: 50%;
left: 17px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 32px;
height: 32px;
color: #B29464;
background-color: #FFF;
line-height: 32px;
text-align: center;
border-radius: 50%;
vertical-align: middle;
padding-left: 2px;
-webkit-transition: all 0.5s ease 0.1s;
transition: all 0.5s ease 0.1s;
}

@media screen and (max-width: 520px) {
.btn__icon-circle {
top: -15px;
left: 20px;
-webkit-transform: initial;
transform: initial;
font-size: 20px;
font-weight: 600;
}
}

.btn__icon-circle + .btn__icon-circle {
left: 46px;
}

@media screen and (min-width: 520px) {
.btn:hover {
cursor: pointer;
color: #B29464;
background-color: #FFF;
opacity: 1;
}
.btn--arrow:hover::after {
-webkit-filter: none;
filter: none;
right: 20px;
}
.btn:hover .btn__icon-circle {
color: #FFF;
background-color: #B29464;
}
}

.container {
width: 100%;
height: 100%;
max-width: 1320px;
min-width: 320px;
margin: auto;
padding: 0 20px;
}

.container--width-l {
max-width: 1520px;
}

.container--width-m {
max-width: 1320px;
}

.container--width-s {
max-width: 1120px;
max-width: 1000px;
}

.container--width-xs {
max-width: 700px;
}

@media screen and (min-width: 520px) {
.container {
padding: 0 20px;
}
#sub-news-single .container,
#sub-blog-single .container,
#sub-case-single .container {
padding: 0;
}
}
@media screen and (min-width: 960px) {
.container {
padding: 0 60px;
}
#sub-news-single .container,
#sub-blog-single .container,
#sub-case-single .container {
padding: 0;
}
}



/* @media screen and (min-width: 768px) and (max-width: 520px) {
.container {
max-width: 640px;
}
} */

.flexbox {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
-ms-flex-wrap: wrap;
flex-wrap: nowrap;
width: 100%;
height: 100%;
}

.flexbox-sb {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
width: 100%;
height: 100%;
}

.flexbox--nowrap {
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}

.flexbox--row-reverse {
-webkit-box-orient: horizontal;
-webkit-box-direction: reverse;
-ms-flex-direction: row-reverse;
flex-direction: row-reverse;
}

.loading {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: 9999;
}

.loading__wrapper {
position: relative;
width: 100%;
height: 100%;
background-color: #B4B4B4;
}

.loading__anime {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
display: inline-block;
font-size: 16px;
font-weight: 400;
color: #415555;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.2;
letter-spacing: 2.7px;
border-bottom: 1px solid #415555;
}

@media screen and (max-width: 520px) {
.loading__anime {
top: 45%;
-webkit-transform: translate(-50%, -45%);
transform: translate(-50%, -45%);
font-size: 30px;
}
}

.modal__overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.9);
z-index: 100;
}

.modal__close-wrapper {
position: fixed;
top: 20px;
right: 20px;
display: inline-block;
width: 50px;
height: 50px;
}

.modal__close-wrapper:hover .modal__close,
.modal__close-wrapper:hover .modal__close::after {
-webkit-box-shadow: 0px 0px 5px 0.5px #FFF;
box-shadow: 0px 0px 5px 0.5px #FFF;
}

.modal__close {
position: absolute;
top: 50%;
left: 50%;
width: 40px;
height: 0.5px;
background-color: #FFF;
-webkit-transform: translate(-50%, -50%) rotate(45deg);
transform: translate(-50%, -50%) rotate(45deg);
-webkit-transition: all 0.5s ease 0.2s;
transition: all 0.5s ease 0.2s;
}

.modal__close::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 40px;
height: 0.5px;
background-color: #FFF;
-webkit-transform: translate(-50%, -50%) rotate(-90deg);
transform: translate(-50%, -50%) rotate(-90deg);
-webkit-transition: all 0.5s ease 0.2s;
transition: all 0.5s ease 0.2s;
}

.modal__prev-wrapper {
position: fixed;
top: 50%;
left: 3%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
display: inline-block;
width: 50px;
height: 50px;
}

.modal__prev-wrapper:hover .modal__prev {
-webkit-box-shadow: -1px 1px 1px 0px #FFF;
box-shadow: -1px 1px 1px 0px #FFF;
}

.modal__prev {
position: absolute;
top: 50%;
left: 50%;
width: 30px;
height: 30px;
border-left: 1px solid #FFF;
border-bottom: 1px solid #FFF;
background-color: transparent;
-webkit-transform: translate(-50%, -50%) rotate(45deg);
transform: translate(-50%, -50%) rotate(45deg);
-webkit-transition: all 0.5s ease 0.2s;
transition: all 0.5s ease 0.2s;
}

.modal__next-wrapper {
position: fixed;
top: 50%;
right: 3%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
display: inline-block;
width: 50px;
height: 50px;
}

.modal__next-wrapper:hover .modal__next {
-webkit-box-shadow: 1px 1px 1px 0px #FFF;
box-shadow: 1px 1px 1px 0px #FFF;
}

.modal__next {
position: absolute;
top: 50%;
left: 50%;
width: 30px;
height: 30px;
border-right: 1px solid #FFF;
border-bottom: 1px solid #FFF;
background-color: transparent;
-webkit-transform: translate(-50%, -50%) rotate(-45deg);
transform: translate(-50%, -50%) rotate(-45deg);
-webkit-transition: all 0.5s ease 0.2s;
transition: all 0.5s ease 0.2s;
}

.modal__content {
position: fixed;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
background-color: #FFF;
opacity: 1;
z-index: 101;
}

.modal__image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #FFF;
-webkit-box-shadow: 0px 5px 12px rgba(62, 62, 62, 0.2);
box-shadow: 0px 5px 12px rgba(62, 62, 62, 0.2);
}

.pagenavi-archive {
text-align: center;
}

.pagenavi-single {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}

.pagenavi-single__prev-wrapper {
-ms-flex-item-align: start;
align-self: flex-start;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
padding-right: 15px;
}

.pagenavi-single__next-wrapper {
-webkit-box-align: end;
-ms-flex-align: end;
align-items: flex-end;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
padding-left: 15px;
}

.pagenavi-single__prev-icon {
display: inline-block;
font-size: 12px;
margin: 0 14px 0 2px;
padding-left: 1rem;
}

@media screen and (min-width: 520px) {
.pagenavi-single__prev-icon {
font-size: 16px;
}
}

.pagenavi-single__next-icon {
display: inline-block;
font-size: 12px;
margin: 0 2px 0 14px;
}

@media screen and (min-width: 520px) {
.pagenavi-single__next-icon {
font-size: 16px;
}
}

.pagenavi-single__prev-text-wrapper {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
text-align: left;
}

.pagenavi-single__next-text-wrapper {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
text-align: right;
}

.pagenavi-single__text {
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
text-align: inherit;
}

@media screen and (min-width: 520px) {
.pagenavi-single__text {
font-size: 16px;
}
}

.pagetop {
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;
position: fixed;
right: 15px;
bottom: 80px;
width: 50px;
height: 50px;
border-radius: 50%;
background-color: #000;
opacity: 0;
visibility: hidden;
-webkit-transform: translateY(-10px);
transform: translateY(-10px);
-webkit-transition: all 0.5s ease 0.1s;
transition: all 0.5s ease 0.1s;
z-index: 130;
}

@media screen and (min-width: 520px) {
.pagetop {
width: 70px;
height: 70px;
bottom: 25px;
right: 25px;
}
}

.pagetop--fadeinup {
visibility: visible;
opacity: 0.7;
-webkit-transform: translateY(0);
transform: translateY(0);
}

.pagetop__arrow-icon {
width: 19px;
height: 10px;
}

@media screen and (min-width: 520px) {
.pagetop__arrow-icon {
width: 30px;
height: 17px;
margin-bottom: 2px;
}
}

@media screen and (min-width: 520px) {
.pagetop:hover {
opacity: 0.9;
}
}

.section__title-wrapper {
position: relative;
text-align: center;
padding-top: 27px;
}

.section__title-ja {
position: relative;
font-size: 20px;
font-weight: 600;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
font-style: normal;
z-index: 1;
}

@media screen and (min-width: 520px) {
.section__title-ja {
font-size: 30px;
line-height: 1px;
}
}

.section__title-en {
position: relative;
font-size: 12px;
font-weight: 600;
color: #B29464;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0.3px;
font-family: "Charm", "Noto Serif JP", sans-serif;
font-style: italic;
margin-top: 16px;
z-index: 1;
}

@media screen and (min-width: 520px) {
.section__title-en {
font-size: 16px;
letter-spacing: 2px;
margin-top: 34px;
}
}

.section__title-back {
position: absolute;
top: 30px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
width: 100%;
height: 100%;
font-size: 80px;
font-weight: 500;
color: #FAFAF8;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 0.8;
letter-spacing: 3px;
font-family: "Charm", "Noto Serif JP", sans-serif;
font-style: italic;
white-space: nowrap;
z-index: 0;
}

@media screen and (min-width: 520px) {
.section__title-back {
top: -10px;
font-size: 100px;
letter-spacing: 5px;
}
}
@media screen and (min-width: 960px) {
.section__title-back {
top: -30px;
font-size: 180px;
letter-spacing: 5px;
}
}

.section__button {
text-align: center;
}

.section--bg-green {
background-color: #f3f5f5;
}

@media screen and (min-width: 520px) {
.utils-hidden-sp {
display: block !important;
}
}

@media screen and (max-width: 520px) {
.utils-hidden-sp {
display: none !important;
}
}

@media screen and (min-width: 520px) {
.utils-hidden-mobile {
display: block !important;
}
}

@media screen and (max-width: 520px) {
.utils-hidden-mobile {
display: none !important;
}
}

@media screen and (min-width: 520px) {
.utils-hidden-over-sp {
display: none !important;
}
}

@media screen and (max-width: 520px) {
.utils-hidden-over-sp {
display: block !important;
}
}

@media screen and (min-width: 520px) {
.utils-hidden-pc {
display: none !important;
}
}

@media screen and (max-width: 520px) {
.utils-hidden-pc {
display: block !important;
}
}

.utils-hidden {
display: none;
}

.utils-blinking {
-webkit-animation: blink 2.2s ease-in-out infinite alternate;
animation: blink 2.2s ease-in-out infinite alternate;
}

@keyframes blink {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

.utils-delayed-image {
-webkit-animation: fadeIn 1s ease 0s 1 normal;
animation: fadeIn 1s ease 0s 1 normal;
}

@keyframes fadeIn {
/*上のbody内で呼び出しているアニメーションと名前をそろえる*/
0% {
opacity: 0;
}
/* 始め */
100% {
opacity: 1;
}
/* 終わり */
}

.utils-modal-open {
cursor: pointer;
}

.utils-hover-not-opacity:hover {
opacity: 1;
}

.wpcf7 form.sent .wpcf7-response-output {
display: none !important;
}

.drawer-hamburger {
width: 30px;
padding-top: 20px;
padding-left: 0px;
padding-right: 15px;
padding-bottom: 20px;
z-index: 99;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
}

@media screen and (min-width: 520px) {
.drawer-hamburger {
display: none;
}
}

@media screen and (min-width: 768px) and (max-width: 520px) {
.drawer-hamburger {
display: none;
}
}

@media screen and (max-width: 520px) {
.drawer-hamburger {
display: block;
}
}

.drawer-hamburger-icon,
.drawer-hamburger-icon::before,
.drawer-hamburger-icon::after {
height: 3px;
border-radius: 0px;
background-color: #FFF;
-webkit-transition: all 0.6s ease 0.1s;
transition: all 0.6s ease 0.1s;
}

.drawer-hamburger-icon.drawer-hamburger-icon--black,
.drawer-hamburger-icon.drawer-hamburger-icon--black::before,
.drawer-hamburger-icon.drawer-hamburger-icon--black::after {
background-color: #323232;
-webkit-transition: all 0.6s ease 0.1s;
transition: all 0.6s ease 0.1s;
}

.drawer-hamburger-icon::before {
top: -10px;
left: -5px;
width: 30px;
margin-left: auto !important;
}

.drawer-hamburger-icon {
width: 24px;
}

.drawer-hamburger-icon::after {
top: 10px;
left: 8px;
width: 16px;
}

.drawer-open .drawer-hamburger-icon::before {
width: 30px;
right: -2px;
background-color: #FFF;
}

.drawer-open .drawer-hamburger-icon {
background-color: transparent;
}

.drawer-open .drawer-hamburger-icon::after {
width: 30px;
left: -4px;
background-color: #FFF;
}

.drawer--right.drawer-open .drawer-hamburger {
right: 0px;
}

.drawer-overlay {
background-color: #000;
opacity: 0.7;
z-index: 40;
}

.drawer--right .drawer-nav {
right: 0px;
}

@media screen and (min-width: 520px) {
.drawer--right .drawer-nav {
padding-right: 30px;
}
}

@media screen and (max-width: 520px) {
.drawer--right .drawer-nav {
-webkit-transition: all 0.6s ease 0.1s;
transition: all 0.6s ease 0.1s;
}
}

.drawer--right.drawer-open .drawer-nav {
opacity: 0.9;
-webkit-transform: translateY(0);
transform: translateY(0);
}

.drawer-menu-item {
position: relative;
font-size: 24px;
font-weight: 600;
color: #FFF;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
height: 56px;
text-align: right;
padding: 20px 15px;
}

.drawer-menu-item:hover {
text-decoration: none;
}

.swiper-container {
padding-bottom: 71px;
margin-left: 10%;
}

@media screen and (max-width: 520px) {
.swiper-container {
padding-bottom: 34px;
}
}

.swiper-pagination {
margin-left: 10%;
}

.swiper-pagination-bullet {
border-radius: inherit;
margin: 0 5px !important;
width: 54px;
height: 5px;
background: #aed3be;
opacity: 0.29;
}

@media screen and (max-width: 520px) {
.swiper-pagination-bullet {
margin: 0 4px !important;
width: 40px;
}
}

.swiper-pagination-bullet-active {
background: #aed3be;
opacity: 1;
}

.swiper-pagination-bullet:active,
.swiper-pagination-bullet:focus,
.swiper-pagination-bullet-active:focus {
outline: none;
border: none;
-webkit-box-shadow: none;
box-shadow: none;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
margin: 0 10px;
}

.swiper-container-horizontal > .swiper-pagination-bullets {
bottom: 10px;
left: -7px;
}

.pages {
display: none;
}

.wp-pagenavi a,
.wp-pagenavi span {
border: none;
font-size: 16px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
}

@media screen and (min-width: 520px) {
.wp-pagenavi a,
.wp-pagenavi span {
font-size: 20px;
margin-left: 10px;
}
}

.larger,
.smaller,
.previouspostslink,
.nextpostslink {
margin-left: 10px;
}

.wp-pagenavi span.current {
color: #B29464;
font-weight: 400;
}

#breadcrumbs {
margin-left: -10px;
}
@media screen and (max-width: 960px) {
#sub-news-single #breadcrumbs,
#sub-blog-single #breadcrumbs,
#sub-case-single #breadcrumbs {
margin-left: 10px;
}
}

#breadcrumbs span {
font-size: 10px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
}

@media screen and (min-width: 520px) {
#breadcrumbs span {
font-size: 12px;
margin-left: 5px;
}
}

#breadcrumbs span a {
margin-right: 10px;
}

@media screen and (min-width: 520px) {
.footer__flexbox {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}
}

.footer__info-wrapper {
padding-top: 40px;
padding-bottom: 20px;
border-top: 1px solid #707070;
}

@media screen and (min-width: 520px) {
.footer__info-wrapper {
padding-top: 35px;
padding-bottom: 35px;
}
}

.footer__logo-wrapper {
width: 100%;
max-width: 248px;
max-width: 300px;
padding: 0;
margin: 0 auto;
}

@media screen and (min-width: 520px) {
.footer__logo-wrapper {
max-width: 313px;
padding-top: 32px;
padding-left: 0;
margin: 0;
}
}

.footer__logo-text {
font-size: 12px;
font-weight: 600;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
}

@media screen and (min-width: 520px) {
.footer__logo-text {
font-size: 13px;
letter-spacing: 1px;
}
}

.footer__logo{
font-size: 1.8rem;
text-align: center;
font-weight: 500;
color: #ffffff;
line-height: 1.4;
}
.footer__logo span{
font-size: 14px;
display: block;
}
@media screen and (min-width: 520px) {
.footer__logo {
font-size: 2rem;
}
}

.footer__address-wrapper {
width: 100%;
padding: 26px 0;
border-bottom: 1px solid #707070;
}

@media screen and (min-width: 520px) {
.footer__address-wrapper {
max-width: 360px;
padding: 30px 0;
margin-left: 4%;
border-bottom: 0;
border-right: 1px solid #707070;
}
}

.footer__text {
display: block;
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.3;
letter-spacing: 0.5px;
}

@media screen and (min-width: 520px) {
.footer__text {
text-align: left;
line-height: 1.5;
font-size: 14px;
}
}

@media screen and (max-width: 520px) {
.footer__tel {
letter-spacing: 2px;
}
}

.footer__hours-wrapper {
max-width: 170px;
max-width: 250px;
padding: 24px 0;
margin: 0 auto;
}

@media screen and (min-width: 520px) {
.footer__hours-wrapper {
max-width: 100%;
padding: 30px 0;
margin-left: 4%;
}
}

.footer__hours {
text-align: left;
line-height: 1.6;
}

@media screen and (max-width: 520px) {
.footer__hours {
font-size: 10px;
font-size: 12px;
}
}

.footer__copyright-wrapper {
padding: 12px 0;
text-align: center;
margin-bottom: 60px;
background-color: #323232;
}

@media screen and (min-width: 520px) {
.footer__copyright-wrapper {
padding: 27px 0;
margin-bottom: 0;
}
}

.footer__items {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}

.footer__item + .footer__item {
margin-left: 8px;
}

@media screen and (min-width: 520px) {
.footer__item + .footer__item {
margin-left: 40px;
}
}

.footer__link {
font-size: 10px;
font-weight: 400;
color: #ffffff;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0.5px;
}

@media screen and (min-width: 520px) {
.footer__link {
font-size: 12px;
}
}

.footer__copyright {
font-size: 10px;
font-weight: 400;
color: #ffffff;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
margin-top: 16px;
}

@media screen and (min-width: 520px) {
.footer__copyright {
font-size: 12px;
margin-top: 24px;
}
}

@media screen and (min-width: 520px) {
.footer__logo-link:hover {
opacity: 1;
}
}

.header {
background-color: #FFF;
width: 100%;
height: 65px;
z-index: 39;
-webkit-transition: all 0.7s;
transition: all 0.7s;
}

@media screen and (min-width: 520px) {
.header {
height: auto;
/* border-bottom: 3px solid #E5DBCA; */
}
}

.header--hide {
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
}

.header__inner-top {
width: 100%;
height: 65px;
}

@media screen and (min-width: 520px) {
.header__inner-top {
height: 120px;
padding: 25px 10px 25px 20px;
box-sizing: border-box;
/* border-bottom: 3px solid #E5DBCA; */
}
}

@media screen and (min-width: 960px) {
.header__inner-top {
height: 120px;
padding: 25px 30px 25px 70px;
/* border-bottom: 3px solid #E5DBCA; */
}
}

.header__logo-wrapper {
padding-top: 8px;
padding-left: 10px;
}

@media screen and (min-width: 520px) {
.header__logo-wrapper {
padding-top: 5px;
padding-left: 0;
}
}

.header__logo-text {
font-size: 10px;
font-weight: 600;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
}

@media screen and (min-width: 520px) {
.header__logo-text {
font-size: 14px;
-webkit-transform: scale(1);
transform: scale(1);
}
}

.header__logo {
width: auto;
height: 55px;
}

@media screen and (min-width: 520px) {
.header__logo {
width: 343px;
height: auto;
}
}

.header__cta-wrapper {
display: none;
}

@media screen and (min-width: 520px) {
.header__cta-wrapper {
display: block;
}
}

@media screen and (min-width: 520px) {
.header__tel-wrapper {
display: none;
}
}
@media screen and (min-width: 960px) {
.header__tel-wrapper {
display: block;
padding-top: 10px;
margin-right: 31px;
}
.header__tel {
position: relative;
font-size: 30px;
font-weight: 600;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
font-family: "Noto Serif JP", serif;
}
.header__tel::before {
content: url("../img/00_common/icon-tel-pc.svg");
position: absolute;
top: 12px;
left: -42px;
width: 28px;
height: auto;
color: #323232;
}
.header__hours {
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
font-family: "Noto Sans JP", serif;
margin-top: 10px;
}
}

.header__icon-wrapper {
display: block;
}

@media screen and (min-width: 520px) {
.header__icon-wrapper {
display: none;
}
}

.header__cta-link {
position: relative;
width: 50px;
height: 100%;
background-color: #323232;
}

.header__cta-icon {
position: absolute;
top: 10px;
left: 12px;
width: 23px;
}

.header__cta-text {
position: absolute;
top: 34px;
left: 4px;
font-size: 10px;
font-weight: 400;
color: #FFF;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
white-space: nowrap;
-webkit-transform: scale(0.8);
transform: scale(0.8);
}

.header__drawer-hamburger {
position: relative;
width: 65px;
height: 100%;
cursor: pointer;
background-color: #B29464;
padding-top: 17px;
padding-left: 21px;
z-index: 99;
}

.header__line-wrapper {
position: relative;
}

.header__drawer-hamburger span {
display: inline-block;
position: absolute;
width: 25px;
height: 2px;
background-color: #FFF;
-webkit-transition: all 0.4s ease;
transition: all 0.4s ease;
}

.header__drawer-hamburger span:nth-of-type(1) {
top: 0px;
}

.header__drawer-hamburger span:nth-of-type(2) {
top: 8px;
}

.header__drawer-hamburger span:nth-of-type(3) {
top: 16px;
}

.header__drawer-text {
position: absolute;
top: 42px;
left: 0;
font-size: 10px;
font-weight: 400;
color: #FFF;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
font-family: "Noto Sans JP", serif;
white-space: nowrap;
-webkit-transform: scale(0.8);
transform: scale(0.8);
}

.header__drawer-text--close {
display: block;
left: 14px;
}

.header__drawer-text--open {
display: none;
left: 15px;
letter-spacing: 1.5px;
}

.header__drawer-hamburger.is-open .header__line-wrapper {
-webkit-transform: rotateY(-360deg);
transform: rotateY(-360deg);
}

.header__drawer-hamburger.is-open span {
left: 0px;
width: 26px;
}

.header__drawer-hamburger.is-open span:nth-of-type(1) {
top: 1px;
-webkit-transform: translateY(6px) rotate(-135deg);
transform: translateY(6px) rotate(-135deg);
}

.header__drawer-hamburger.is-open span:nth-of-type(2) {
opacity: 0;
}

.header__drawer-hamburger.is-open span:nth-of-type(3) {
top: 13px;
-webkit-transform: translateY(-6px) rotate(135deg);
transform: translateY(-6px) rotate(135deg);
}

.header__drawer-hamburger.is-open .header__drawer-text--close {
display: none;
}

.header__drawer-hamburger.is-open .header__drawer-text--open {
display: block;
}

@media screen and (min-width: 520px) {
.header__inner-under {
width: 100%;
max-width: 100%;
height: auto;
padding: 0 3px;
border-top: 3px solid #e5dbca;
border-bottom: 3px solid #e5dbca;
}
}
@media screen and (min-width: 960px) {
.header__inner-under {
width: 100%;
/* height: 55px; */
padding: 0 20px;
}
}

.header__nav {
position: fixed;
top: 65px;
left: 0;
width: 100vw;
height: calc(100vh - 65px);
background-color: #B29464;
padding: 4vh 20px 140px 20px;
z-index: 41;
overflow-y: auto;
display: none;
}

@media screen and (min-width: 520px) {
.header__nav {
display: block;
position: static;
width: 100%;
height: auto;
background-color: #FFF;
padding: 0;
opacity: 1;
}
}

.header__items {
width: 100%;
height: auto;
}

@media screen and (min-width: 520px) {
.header__items {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
justify-content: center;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
/* padding: 5px 0; */
}
}

.header__item {
border-bottom: 1px solid #FFF;
padding: 14.3px 0;
}

@media screen and (min-width: 520px) {
.header__item {
width: calc(14.28571% - 0px);
width: calc(100% / 6);
text-align: center;
border-left: 2px dotted #E5DBCA;
border-bottom: none;
padding: 0;
}
}

@media screen and (min-width: 520px) {
.header__item:last-child {
border-right: 2px dotted #E5DBCA;
}
}

.header__link {
width: 100%;
height: auto;
font-size: 16px;
font-weight: 600;
color: #FFF;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
font-family: "Noto Serif JP", serif;
}

@media screen and (min-width: 520px) {
.header__link {
display: inline-block;
height: 45px;
color: #B29464;
font-size: 12px;
line-height: 45px;
padding-top: 0;
font-family: "Noto Sans JP", serif;
}
}
@media screen and (min-width: 960px) {
.header__link {
display: inline-block;
height: 50px;
color: #B29464;
font-size: 14px;
line-height: 50px;
font-family: "Noto Sans JP", serif;
padding-top: 0;
}
}

@media screen and (min-width: 520px) {
.header__logo-link:hover {
opacity: 1;
}
}

.news-ticker {
width: 100%;
max-width: 702px;
background-color: #FFF;
}

@media screen and (min-width: 520px) {
.news-ticker {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
height: 100px;
}
}

.news-ticker__text-wrapper {
width: 100%;
height: 100%;
background-color: #FFF;
padding: 22px 26px;
}

@media screen and (min-width: 520px) {
.news-ticker__text-wrapper {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
max-width: 514px;
padding: 0;
}
}

.news-ticker__title {
font-size: 18px;
font-weight: 500;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
font-family: "Noto Sans JP", serif;
width: 100%;
}

@media screen and (min-width: 520px) {
.news-ticker__title {
width: 28%;
max-width: 138px;
height: 45px;
border-right: 2px solid #B29464;
line-height: 45px;
padding-left: 7.2%;
}
}

.news-ticker__items {
width: 100%;
margin-top: 10px;
height: 30px;
}

@media screen and (min-width: 520px) {
.news-ticker__items {
width: 72%;
max-width: 376px;
margin-top: 0;
}
}

.news-ticker__date {
width: 20%;
min-width: 91px;
font-size: 13px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
font-family: "Noto Sans JP", serif;
line-height: 30px;
}

@media screen and (min-width: 520px) {
.news-ticker__date {
width: 30%;
max-width: 138px;
min-width: 104px;
height: 100%;
font-size: 14px;
margin-left: 8%;
}
}

.news-ticker__text {
width: 80%;
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
font-family: "Noto Sans JP", serif;
line-height: 30px;
}

@media screen and (min-width: 520px) {
.news-ticker__text {
width: 70%;
height: 100%;
}
}

.news-ticker__button-wrapper {
width: 100%;
height: 100%;
background-color: #FFF;
}

@media screen and (min-width: 520px) {
.news-ticker__button-wrapper {
width: auto;
background-color: #B29464;
}
}

.news-ticker__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: 34%;
height: 43px;
background-color: #B29464;
}

@media screen and (min-width: 520px) {
.news-ticker__button {
width: 63px;
height: 100px;
}
}

@media screen and (max-width: 520px) {
.news-ticker__button + .news-ticker__button {
margin-left: 1px;
}
}

.news-ticker__button--prev img,
.news-ticker__button--next img {
width: 11px;
-webkit-transition: opacity 0.5s ease 0.1s;
transition: opacity 0.5s ease 0.1s;
}

.news-ticker__button--list img {
width: 25px;
-webkit-transition: opacity 0.5s ease 0.1s;
transition: opacity 0.5s ease 0.1s;
}

@media screen and (min-width: 520px) {
.news-ticker__button:hover {
opacity: 1;
}
.news-ticker__button:hover img {
opacity: 0.6;
}
}

.sub-counselor {
margin-top: 50px;
}

@media screen and (min-width: 520px) {
.sub-counselor {
margin-top: 95px;
}
}

@media screen and (min-width: 520px) {
.sub-counselor__wrapper {
position: relative;
}
}

@media screen and (min-width: 520px) {
.sub-counselor__flexbox {
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: 520px) {
.sub-counselor__flexbox--under {
margin-top: 126px;
}
}

.sub-counselor--mb {
margin-bottom: 50px;
}

@media screen and (min-width: 520px) {
.sub-counselor--mb {
margin-bottom: 100px;
}
}

.sub-counselor__image-wrapper {
position: relative;
max-width: 396px;
}

@media screen and (max-width: 520px) {
.sub-counselor__image-wrapper {
width: 77%;
margin: 0 auto;
}
}

@media screen and (min-width: 520px) {
.sub-counselor__image-wrapper {
width: 40%;
margin-top: 3%;
}
}

@media screen and (min-width: 768px) and (max-width: 520px) {
.sub-counselor__image-wrapper {
max-width: 275px;
}
}

.sub-counselor__image-wrapper::after {
content: '';
position: absolute;
bottom: -5%;
right: -5%;
width: 73%;
height: 74%;
background-color: #B29464;
border-radius: 50%;
z-index: -2;
}

.sub-counselor__image-title-wrapper {
position: absolute;
bottom: 8%;
left: 0;
-webkit-transform: translateX(-33px);
transform: translateX(-33px);
z-index: 1;
}

@media screen and (min-width: 520px) {
.sub-counselor__image-title-wrapper {
bottom: 5%;
left: 0;
-webkit-transform: translateX(0);
transform: translateX(0);
}
}

.sub-counselor__image-title {
min-width: 160px;
font-size: 14px;
font-weight: 400;
color: #FFF;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
padding: 12px 21px 12px 22px;
}

@media screen and (min-width: 520px) {
.sub-counselor__image-title {
min-width: 192px;
font-size: 16px;
padding: 13px 24px 13px 20px;
}
}
@media screen and (min-width: 960px) {
.sub-counselor__image-title {
min-width: 192px;
font-size: 18px;
padding: 13px 26px 13px 22px;
}
}

.sub-counselor__image-title::before {
-webkit-transform: skewX(-12deg);
transform: skewX(-12deg);
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: -1;
background-color: #B29464;
}

.sub-counselor__text-wrapper {
width: 100%;
}

@media screen and (max-width: 520px) {
.sub-counselor__text-wrapper {
margin-top: 12%;
}
}

@media screen and (min-width: 520px) {
.sub-counselor__text-wrapper {
width: 70%;
max-width: 730px;
margin-top: 21px;
margin-left: 53px;
}
}

.sub-counselor__name-wrapper {
padding-bottom: 10px;
border-bottom: 1px solid #c9c9c9;
}

@media screen and (min-width: 520px) {
.sub-counselor__name-wrapper {
padding-bottom: 14px;
}
}

.sub-counselor__title {
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
}

@media screen and (min-width: 520px) {
.sub-counselor__title {
font-size: 20px;
}
}

.sub-counselor__name {
font-size: 16px;
font-weight: 600;
color: #B29464;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
margin-top: 10px;
}

@media screen and (min-width: 520px) {
.sub-counselor__name {
font-size: 18px;
margin-top: 18px;
}
}

@media screen and (min-width: 960px) {
.sub-counselor__name {
font-size: 24px;
margin-top: 18px;
}
}

.sub-counselor__name span {
font-size: 24px;
}

@media screen and (min-width: 520px) {
.sub-counselor__name span {
font-size: 30px;
}
}

.sub-counselor__message {
font-size: 16px;
font-weight: 600;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.5;
letter-spacing: -0.1px;
margin-top: 30px;
}

@media screen and (min-width: 520px) {
.sub-counselor__message {
font-size: 16px;
margin-top: 30px;
}
}

@media screen and (min-width: 960px) {
.sub-counselor__message {
font-size: 18px;
margin-top: 30px;
}
}

.sub-counselor__text {
font-size: 14px;
font-weight: 600;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.6;
letter-spacing: 0.3px;
background-color: #fbf8f3;
padding: 15px 18px 22px 18px;
margin-top: 21px;
}

@media screen and (min-width: 520px) {
.sub-counselor__text {
font-size: 14px;
line-height: 1.5;
letter-spacing: 0.4px;
padding: 21px 14px 18px 17px;
margin-top: 28px;
}
}

.sub-data {
margin-top: 28px;
}

@media screen and (min-width: 520px) {
.sub-data {
margin-top: 120px;
}
}

.sub-data.annual-salary {
margin-bottom: 27px;
}

@media screen and (min-width: 520px) {
.sub-data.annual-salary {
margin-bottom: 54px;
}
}

.sub-data__box {
position: relative;
background-color: #FFF;
-webkit-box-shadow: 1px 3px 20px #00000029;
box-shadow: 1px 3px 20px #00000029;
margin-top: 19px;
padding: 40px 14% 20px 14%;
}

@media screen and (min-width: 520px) {
.sub-data__box {
padding: 32px 6% 46px 6%;
margin-top: 63px;
}
}

@media screen and (max-width: 520px) {
.sub-data__box.age {
padding: 40px 5% 20px 5%;
}
}

@media screen and (max-width: 520px) {
.sub-data__box.annual-salary {
padding: 40px 5% 20px 5%;
}
}

.sub-data__wrapper {
margin-top: 48px;
}

@media screen and (min-width: 520px) {
.sub-data__wrapper {
margin-top: 140px;
}
}

@media screen and (max-width: 520px) {
.sub-data__title-back {
top: 43px;
font-size: 57px;
}
}

@media screen and (min-width: 520px) {
.sub-data__title-back {
font-size: 142px;
}
}

.sub-data__items {
margin-top: 19px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}

@media screen and (min-width: 520px) {
.sub-data__items {
margin-top: 44px;
}
}

@media screen and (max-width: 520px) {
.sub-data__items.age {
margin-top: -11px;
}
}

@media screen and (min-width: 520px) {
.sub-data__items.annual-salary {
margin-top: 54px;
}
}

.sub-data__item {
width: 100%;
}

@media screen and (min-width: 520px) {
.sub-data__item {
width: 50%;
}
}

.sub-data__item.gender-rate {
width: 50%;
}

@media screen and (min-width: 520px) {
.sub-data__item.gender-rate {
width: 17%;
}
}

.sub-data__item + .sub-data__item {
margin-left: 10px;
}

@media screen and (min-width: 520px) {
.sub-data__item + .sub-data__item {
margin-left: 10px;
}
}

.sub-data__title {
font-size: 16px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
}

@media screen and (min-width: 520px) {
.sub-data__title {
font-size: 20px;
}
}

.sub-data__data {
font-size: 20px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
}

@media screen and (min-width: 520px) {
.sub-data__data {
font-size: 26px;
}
}

.sub-data__data span {
color: #B29464;
font-size: 36px;
font-weight: 600;
}

@media screen and (min-width: 520px) {
.sub-data__data span {
font-size: 42px;
}
}

.sub-data__item.gender-rate:nth-child(1) span {
color: #7cd0f7;
}

.sub-data__item.gender-rate:nth-child(2) span {
color: #f896a3;
}

.sub-data__image-wrapper {
text-align: center;
margin-top: 21px;
}

@media screen and (min-width: 520px) {
.sub-data__image-wrapper {
margin-top: 29px;
}
}

.sub-data__image {
width: 85%;
}

@media screen and (min-width: 520px) {
.sub-data__image {
width: 100%;
max-width: 300px;
}
}

.sub-data__image.age {
width: 100%;
max-width: 100%;
}

@media screen and (max-width: 520px) {
.sub-data__image.age {
margin-top: 11px;
}
}

@media screen and (min-width: 520px) {
.sub-data__image.age {
max-width: 693px;
}
}

@media screen and (max-width: 520px) {
.sub-data__image.annual-salary {
margin-top: 11px;
}
}

@media screen and (min-width: 520px) {
.sub-data__image.annual-salary {
max-width: 550px;
margin-top: 35px;
}
}

.sub-fv {
width: 100%;
height: auto;
}

@media screen and (min-width: 520px) {
.sub-fv__flexbox {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-orient: horizontal;
-webkit-box-direction: reverse;
-ms-flex-direction: row-reverse;
flex-direction: row-reverse;
}
}

.sub-fv__box {
width: 100%;
background-color: #B29464;
}

@media screen and (min-width: 520px) {
.sub-fv__box {
width: 50%;
}
}

.sub-fv__title-wrapper {
text-align: center;
padding: 5% 0 7.8% 0;
}

@media screen and (min-width: 520px) {
.sub-fv__title-wrapper {
padding: 15% 0 0 0;
}
}

@media screen and (min-width: 960px) {
.sub-fv__title-wrapper {
padding: 22% 0 0 0;
}
}

@media screen and (min-width: 520px) and (max-width: 1418px) {
.sub-fv__title-wrapper {
padding: 15% 0 0 0;
}
}

.sub-fv__title-icon {
display: inline-block;
width: 40px;
}

@media screen and (min-width: 520px) {
.sub-fv__title-icon {
width: 40px;
}
}

@media screen and (min-width: 960px) {
.sub-fv__title-icon {
width: 50px;
}
}

.sub-fv__title-en {
font-size: 14px;
font-weight: 400;
color: #FFF;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
font-family: "Charm", "Noto Serif JP", sans-serif;
margin-top: 2px;
}

@media screen and (min-width: 520px) {
.sub-fv__title-en {
font-size: 14px;
margin-top: 10px;
}
}

@media screen and (min-width: 960px) {
.sub-fv__title-en {
font-size: 20px;
margin-top: 15px;
}
}

.sub-fv__title-ja {
font-size: 18px;
font-weight: 400;
color: #FFF;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
margin-top: 10px;
}

@media screen and (min-width: 520px) {
.sub-fv__title-ja {
font-size: 24px;
margin-top: 10px;
}
}

@media screen and (min-width: 960px) {
.sub-fv__title-ja {
font-size: 30px;
margin-top: 10px;
}
}

.sub-fv__image-wrapper {
width: 100%;
}

@media screen and (min-width: 520px) {
.sub-fv__image-wrapper {
width: 50%;
}
}

.sub-step {
margin-top: 50px;
}

@media screen and (min-width: 520px) {
.sub-step {
margin-top: 95px;
}
}

@media screen and (min-width: 520px) {
.sub-step__wrapper {
position: relative;
}
}

@media screen and (min-width: 520px) {
.sub-step__flexbox {
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 (min-width: 520px) {
.sub-step__flexbox.row-reverse {
-webkit-box-orient: horizontal;
-webkit-box-direction: reverse;
-ms-flex-direction: row-reverse;
flex-direction: row-reverse;
}
}

@media screen and (min-width: 520px) {
.sub-step__flexbox.width-wide {
-webkit-box-orient: vertical;
-webkit-box-direction: reverse;
-ms-flex-direction: column-reverse;
flex-direction: column-reverse;
}
}

.sub-step__inner {
position: relative;
padding: 3% 5% 7% 5%;
}

@media screen and (min-width: 520px) {
.sub-step__inner {
padding: 3% 5% 7% 5%;
padding: 0 10px;
}
}
@media screen and (min-width: 960px) {
.sub-step__inner {
padding: 3% 5% 7% 5%;
padding: 0 100px;
}
}

@media screen and (min-width: 520px) {
.sub-step__inner.image-large {
padding: 0 100px 0 0;
}
}

.sub-step__box {
position: relative;
}

@media screen and (min-width: 520px) {
.sub-step__box {
width: 55%;
max-width: 530px;
padding: 6.5% 30px 13% 9%;
}
}

@media screen and (min-width: 520px) {
.sub-step__box.has-button {
padding-bottom: 6%;
}
}

@media screen and (min-width: 520px) {
.sub-step__box.row-reverse {
padding: 6.5% 9% 6% 30px;
}
}

@media screen and (min-width: 520px) {
.sub-step__box.image-large {
width: 50%;
padding: 6.5% 6% 13% 6%;
}
}

@media screen and (min-width: 520px) {
.sub-step__box.width-wide {
width: 100%;
max-width: 100%;
padding: 6.5% 13% 7% 7%;
}
}

.sub-step__box-border {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 1px solid #707070;
}

.sub-step__corner {
position: absolute;
width: 5px;
height: 5px;
background-color: #fff;
}

@media screen and (min-width: 520px) {
.sub-step__corner {
width: 10px;
height: 10px;
}
}

.sub-step__corner--top-left {
top: -1px;
left: -1px;
border-bottom: 1px solid #707070;
border-right: 1px solid #707070;
border-bottom-right-radius: 16px;
}

.sub-step__corner--top-right {
top: -1px;
right: -1px;
border-bottom: 1px solid #707070;
border-left: 1px solid #707070;
border-bottom-left-radius: 16px;
}

.sub-step__corner--bottom-left {
bottom: -1px;
left: -1px;
border-top: 1px solid #707070;
border-right: 1px solid #707070;
border-top-right-radius: 16px;
}

.sub-step__corner--bottom-right {
bottom: -1px;
right: -1px;
border-top: 1px solid #707070;
border-left: 1px solid #707070;
border-top-left-radius: 16px;
}

.sub-step__number {
position: absolute;
top: -44px;
right: 16px;
font-size: 22px;
font-weight: 400;
color: #B29464;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
background-color: #FFF;
padding: 12px 10px 12px 10px;
}

@media screen and (min-width: 520px) {
.sub-step__number {
top: -47px;
right: 28px;
font-size: 32px;
padding: 13px 18px 13px 18px;
}
}
@media screen and (min-width: 960px) {
.sub-step__number {
top: -47px;
right: 28px;
font-size: 40px;
padding: 13px 18px 13px 18px;
}
}

.sub-step__number span {
font-size: 32px;
margin-left: 10px;
}

@media screen and (min-width: 520px) {
.sub-step__number span {
font-size: 48px;
margin-left: 10px;
}
}
@media screen and (min-width: 960px) {
.sub-step__number span {
font-size: 46px;
margin-left: 10px;
}
}

.sub-step__image-wrapper {
position: relative;
}

@media screen and (max-width: 520px) {
.sub-step__image-wrapper {
width: 100%;
margin: 0 auto;
}
}

@media screen and (min-width: 520px) {
.sub-step__image-wrapper {
width: 55%;
max-width: 530px;
margin-top: 7%;
margin-right: -5%;
z-index: 1;
}
}

@media screen and (min-width: 520px) {
.sub-step__image-wrapper.row-reverse {
margin-left: -5%;
margin-right: 0;
}
}

@media screen and (min-width: 520px) {
.sub-step__image-wrapper.image-large {
width: 60%;
max-width: 627px;
margin-top: 0;
}
}

@media screen and (min-width: 520px) {
.sub-step__image-wrapper.width-wide {
width: calc(100% + 20px);
max-width: 1200px;
margin-top: -3.4%;
margin-left: -10px;
margin-right: -10px;
}
}
@media screen and (min-width: 960px) {
.sub-step__image-wrapper.width-wide {
width: 120%;
max-width: 1200px;
margin-top: -3.4%;
margin-left: -100px;
margin-right: -100px;
}
}

.sub-step__text-wrapper {
width: 100%;
}

@media screen and (max-width: 520px) {
.sub-step__text-wrapper {
margin-top: 8%;
}
}

.sub-step__title {
font-size: 18px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
}

@media screen and (min-width: 520px) {
.sub-step__title {
font-size: 20px;
}
}

@media screen and (min-width: 960px) {
.sub-step__title {
font-size: 24px;
}
}

.sub-step__text {
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.8;
letter-spacing: 0px;
margin-top: 14px;
}

@media screen and (min-width: 520px) {
.sub-step__text {
font-size: 15px;
line-height: 1.8;
margin-top: 25px;
}
}
@media screen and (min-width: 960px) {
.sub-step__text {
font-size: 16px;
line-height: 2.2;
letter-spacing: -0.2px;
margin-top: 29px;
}
}

.sub-step__button-wrapper {
text-align: center;
margin-top: 28px;
}

@media screen and (min-width: 520px) {
.sub-step__button-wrapper {
text-align: left;
margin-top: 25px;
}
}

.sub-step__button {
padding: 16px 66px !important;
}

@media screen and (min-width: 520px) {
.sub-step__button {
padding: 20px 55px !important;
}
}
@media screen and (min-width: 960px) {
.sub-step__button {
padding: 24px 70px !important;
}
}

.news-blog {
margin-top: 46px;
}

@media screen and (min-width: 520px) {
.news-blog {
margin-top: 80px;
}
}
@media screen and (min-width: 960px) {
.news-blog {
margin-top: 147px;
}
}

@media screen and (min-width: 520px) {
.news-blog__flexbox {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}
}

.rate-plan {
position: relative;
z-index: 0;
background-color: #EEE3CF;
padding-top: 37px;
padding-bottom: 60px;
margin-top: 65px;
}

@media screen and (min-width: 520px) {
.rate-plan {
padding-top: 104px;
padding-bottom: 46px;
margin-top: 100px;
}
}

@media screen and (min-width: 960px) {
.rate-plan {
padding-top: 104px;
padding-bottom: 46px;
margin-top: 100px;
}
}

.rate-plan__wrapper {
margin-top: 48px;
}

@media screen and (min-width: 960px) {
.rate-plan__wrapper {
margin-top: 140px;
}
}

.rate-plan__zero-items {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}

@media screen and (min-width: 960px) {
.rate-plan__zero-items {
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
padding: 0 7%;
}
}

.rate-plan__zero-item {
width: 140px;
min-width: 140px;
height: 140px;
background-color: #B29464;
border-radius: 50%;
}

@media screen and (min-width: 520px) {
.rate-plan__zero-item {
width: 200px;
min-width: 200px;
height: 200px;
}
}
@media screen and (min-width: 960px) {
.rate-plan__zero-item {
width: 280px;
min-width: 280px;
height: 280px;
}
}

/* @media screen and (max-width: 374px) {
.rate-plan__zero-item {
width: 150px;
min-width: 150px;
height: 150px;
}
} */

.rate-plan__zero-item + .rate-plan__zero-item {
margin-left: 25px;
margin-bottom: 8px;
}

@media screen and (max-width: 567px) {
.rate-plan__zero-item:nth-child(3) {
margin-left: 0;
}
}

.rate-plan__zero-title {
font-size: 14px;
font-weight: 600;
color: #FFF;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.3;
letter-spacing: .5px;
margin-top: 28px;
}

@media screen and (min-width: 520px) {
.rate-plan__zero-title {
font-size: 18px;
margin-top: 50px;
line-height: 1.2;
letter-spacing: 1px;
}
.rate-plan__zero-item:nth-child(1) .rate-plan__zero-title,
.rate-plan__zero-item:nth-child(3) .rate-plan__zero-title {
margin-top: 45px;
font-size: 17px;
}
}
@media screen and (min-width: 960px) {
.rate-plan__zero-title {
font-size: 28px;
margin-top: 90px;
}
.rate-plan__zero-item:nth-child(1) .rate-plan__zero-title,
.rate-plan__zero-item:nth-child(3) .rate-plan__zero-title {
margin-top: 90px;
font-size: 25px;
}

}

/* .rate-plan__zero-item:nth-child(2) .rate-plan__zero-title {
margin-top: 27px;
line-height: 1.3;
}

@media screen and (min-width: 520px) {
.rate-plan__zero-item:nth-child(2) .rate-plan__zero-title {
margin-top: 58px;
}
} */

.rate-plan__zero-price {
font-size: 22px;
font-weight: 400;
color: #FFF;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
padding-left: 20px;
margin-top: 10px;
}

@media screen and (min-width: 520px) {
.rate-plan__zero-price {
font-size: 28px;
padding-left: 20px;
margin-top: 12px;
}
}

@media screen and (min-width: 960px) {
.rate-plan__zero-price {
font-size: 28px;
padding-left: 20px;
margin-top: 10px;
}
}

/* .rate-plan__zero-item:nth-child(2) .rate-plan__zero-price {
margin-top: 6px;
}

@media screen and (min-width: 520px) {
.rate-plan__zero-item:nth-child(2) .rate-plan__zero-price {
margin-top: 6px;
}
} */

.rate-plan__zero-price span {
font-size: 50px;
font-weight: 600;
margin-right: 10px;
}

@media screen and (min-width: 520px) {
.rate-plan__zero-price span {
font-size: 70px;
margin-right: 12px;
}
}

.rate-plan__price-wrapper {
margin-top: 42px;
margin-left: auto;
margin-right: auto;
max-width: 500px;
}

@media screen and (min-width: 520px) {
.rate-plan__price-wrapper {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
max-width: 100%;
padding-left: 0;
margin-top: 80px;
}
}

@media screen and (min-width: 960px) {
.rate-plan__price-wrapper {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
max-width: 100%;
padding-left: 36px;
margin-top: 127px;
}
}

.rate-plan__price-items {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-bottom: 7px;
}

@media screen and (min-width: 520px) {
.rate-plan__price-items {
width: 63%;
margin-bottom: 16px;
}
}

.rate-plan__price-title {
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: 100%;
background-color: #FFF;
font-size: 20px;
font-weight: 600;
color: #B29464;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
padding: 20px 0;
}

@media screen and (min-width: 520px) {
.rate-plan__price-title {
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
width: 30%;
font-size: 18px;
padding: 18px 0 18px 18px;
margin-bottom: 15px;
}
}

@media screen and (min-width: 960px) {
.rate-plan__price-title {
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
width: 30%;
font-size: 22px;
padding: 24px 0 34px 36px;
margin-bottom: 20px;
}
}

.rate-plan__price-data {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: end;
-ms-flex-align: end;
align-items: flex-end;
width: 100%;
font-size: 32px;
font-weight: 600;
color: #000;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1.9px;
background-color: #FFF;
padding-bottom: 35px;
margin-bottom: 15px;
}

@media screen and (min-width: 520px) {
.rate-plan__price-data {
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
width: 70%;
font-size: 30px;
padding: 10px 18px 22px 0;
margin-bottom: 15px;
}
}

@media screen and (min-width: 960px) {
.rate-plan__price-data {
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
width: 70%;
font-size: 40px;
padding: 10px 37px 22px 0;
margin-bottom: 20px;
}
}

.rate-plan__unit {
font-size: 24px;
}

@media screen and (min-width: 520px) {
.rate-plan__unit {
font-size: 30px;
}
}

.rate-plan__tax {
font-size: 14px;
white-space: nowrap;
}

@media screen and (min-width: 520px) {
.rate-plan__tax {
font-size: 14px;
}
}

@media screen and (min-width: 960px) {
.rate-plan__tax {
font-size: 18px;
}
}

.rate-plan__text-wrapper {
margin-top: 22px;
}

@media screen and (min-width: 520px) {
.rate-plan__text-wrapper {
width: 50%;
margin-top: 0;
margin-left: 30px;
}
}

@media screen and (min-width: 950px) {
.rate-plan__text-wrapper {
width: 50%;
margin-top: 0;
margin-left: 80px;
}
}

.rate-plan__text {
font-size: 16px;
font-weight: 600;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.5;
letter-spacing: 0px;
}

@media screen and (min-width: 520px) {
.rate-plan__text {
font-size: 18px;
text-align: left;
}
}

.rate-plan__large-text {
font-size: 16px;
font-weight: 600;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.6;
letter-spacing: 0px;
margin-top: 18px;
padding: 0;
}

@media screen and (min-width: 520px) {
.rate-plan__large-text {
font-size: 22px;
padding: 0;
margin-top: 25px;
}
}

@media screen and (min-width: 960px) {
.rate-plan__large-text {
font-size: 28px;
padding: 0;
margin-top: 35px;
}
}

.rate-plan__button {
text-align: center;
margin-top: 24px;
}

@media screen and (min-width: 520px) {
.rate-plan__button {
text-align: left;
margin-top: 30px;
}
}

@media screen and (min-width: 960px) {
.rate-plan__button {
text-align: left;
margin-top: 60px;
}
}

.side-cta-button {
display: none;
}

@media screen and (min-width: 520px) {
.side-cta-button {
display: none;
}
}
@media screen and (min-width: 960px) {
.side-cta-button {
display: inline-block;
position: fixed;
top: 37.3%;
left: 0;
width: 55px;
height: 220px;
background-color: #323232;
font-size: 16px;
font-weight: 400;
color: #FFF;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 4.2px;
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
z-index: 30;
}
}


@media screen and (min-width: 960px) {
.side-cta-text {
position: relative;
-webkit-transition: all 0.5s ease 0.1s;
transition: all 0.5s ease 0.1s;
}
.side-cta-text::after {
content: url("../img/01_top/icon-arrow-right-white.svg");
position: absolute;
bottom: -3px;
left: 4px;
width: 13.5px;
height: auto;
-webkit-transition: all 0.5s ease 0.1s;
transition: all 0.5s ease 0.1s;
}
.side-cta-text__wrapper {
display: block;
padding: 12px 22px;
}
.side-cta-button:hover {
opacity: 1;
}
.side-cta-button:hover .side-cta-text {
opacity: 0.6;
}
.side-cta-button:hover .side-cta-text::after {
opacity: 0.8;
}
}

.since {
margin-top: 102px;
}

@media screen and (min-width: 520px) {
.since {
margin-top: 80px;
}
}

@media screen and (min-width: 960px) {
.since {
margin-top: 128px;
}
}

@media screen and (min-width: 520px) {
.since__wrapper {
position: relative;
}
}

@media screen and (min-width: 520px) {
.since__flexbox {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}
}

@media screen and (max-width: 520px) {
.since__flexbox--under {
margin-top: 126px;
}
}

@media screen and (max-width: 520px) {
.since__image-wrapper {
width: 90%;
margin-bottom: 9%;
}
}

@media screen and (min-width: 520px) {
.since__image-wrapper {
width: 50%;
max-width: 550px;
}
}

@media screen and (min-width: 768px) and (max-width: 520px) {
.since__image-wrapper {
max-width: 430px;
}
}

.since__middle-image {
display: block;
width: 38%;
margin-top: -41%;
margin-left: auto;
margin-right: -5%;
}

@media screen and (min-width: 520px) {
.since__middle-image {
position: absolute;
z-index: 30;
width: 25%;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
margin: 0;
}
}

@media screen and (min-width: 960px) {
.since__middle-image {
position: absolute;
z-index: 30;
width: 280px;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
margin: 0;
}
}

/* フェードアップ */
.fadeup2.is-animated {
-webkit-animation: fadeup2 1.5s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
animation: fadeup2 1.5s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

.fadeup2 {
opacity: 0;
}

@-webkit-keyframes fadeup2 {
0% {
top: calc(50% + 30px);
opacity: 0;
}
80% {
opacity: 1;
}
100% {
opacity: 1;
top: 50%;
}
}

@keyframes fadeup2 {
0% {
top: calc(50% + 30px);
opacity: 0;
}
80% {
opacity: 1;
}
100% {
opacity: 1;
top: 50%;
}
}

.since__text-wrapper {
position: relative;
width: 100%;
}

@media screen and (min-width: 520px) {
.since__text-wrapper {
width: 45%;
max-width: 414px;
margin-left: auto;
margin-right: 0;
margin-top: 80px;
}
}
@media screen and (min-width: 960px) {
.since__text-wrapper {
width: 45%;
max-width: 100%;
margin-left: auto;
margin-right: auto;
margin-top: 137px;
}
}

.since__title {
position: absolute;
font-size: 30px;
font-weight: 400;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
font-family: "Charm", "Noto Serif JP", sans-serif;
font-style: italic;
-webkit-transform: rotate(-15deg);
transform: rotate(-15deg);
bottom: -63px;
left: 0;
font-size: 26px;
right: 10px;
}

@media screen and (min-width: 520px) {
.since__title {
font-size: 28px;
bottom: 50px;
right: 50px;
left: auto;
}
}
@media screen and (min-width: 960px) {
.since__title {
font-size: 40px;
bottom: 100px;
right: 0;
left: auto;
}
}

.since__text {
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
letter-spacing: 0;
line-height: 1.8;
}

@media screen and (min-width: 520px) {
.since__text {
font-size: 14px;
}
}
@media screen and (min-width: 960px) {
.since__text {
font-size: 18px;
line-height: 2;
}
}

.since__text--larege {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.2px;
margin-top: 2rem;
}

@media screen and (min-width: 520px) {
.since__text--larege {
font-size: 15px;
line-height: 1.8;
letter-spacing: 0.2px;
margin-top: 0;
}
}

@media screen and (min-width: 960px) {
.since__text--larege {
font-size: 22px;
line-height: 1.9;
letter-spacing: 0.3px;
}
}

@media screen and (min-width: 520px) {
.since__text-wrapper--under {
max-width: 520px;
margin-top: 130px;
padding-right: 4%;
}
}

@media screen and (min-width: 960px) {
.since__text-wrapper--under {
max-width: 520px;
margin-top: 169px;
padding-right: 4%;
}
}

.since__button {
text-align: center;
margin-top: 53px;
}

@media screen and (min-width: 520px) {
.since__button {
margin-top: 30px;
}
}
@media screen and (min-width: 960px) {
.since__button {
margin-top: 60px;
}
}

.top-banner {
width: 100%;
height: auto;
background-color: #EEE3CF;
padding: 55px 0 25px 0;
}

@media screen and (min-width: 520px) {
.top-banner {
padding: 32px 0 30px 0;
}
}
@media screen and (min-width: 960px) {
.top-banner {
padding: 48px 0 58px 0;
}
}

.top-banner__wrapper {
text-align: center;
}

@media screen and (min-width: 520px) {
.top-banner__wrapper {
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: nowrap;
flex-wrap: nowrap;
}
}

.top-banner__text-wrapper {
position: relative;
display: inline-block;
}

@media screen and (min-width: 520px) {
.top-banner__text-wrapper {
padding: 0 50px;
}
}

@media screen and (min-width: 960px) {
.top-banner__text-wrapper {
padding: 0 90px;
}
}

.top-banner__text-wrapper::before,
.top-banner__text-wrapper::after {
content: '';
display: inline-block;
position: absolute;
top: 31%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
background-size: contain;
width: 45px;
height: 75px;
background-repeat: no-repeat;
}

@media screen and (min-width: 520px) {
.top-banner__text-wrapper::before,
.top-banner__text-wrapper::after {
top: 70%;
width: 45px;
height: 90px;
}
}
@media screen and (min-width: 960px) {
.top-banner__text-wrapper::before,
.top-banner__text-wrapper::after {
top: 50%;
width: 70px;
height: 117px;
}
}

.top-banner__text-wrapper::before {
left: -22%;
left: -5%;
background-image: url("../img/01_top/gold-wing-left.svg");
}

@media screen and (min-width: 520px) {
.top-banner__text-wrapper::before {
left: 0;
}
}

.top-banner__text-wrapper::after {
right: -22%;
right: -5%;
background-image: url("../img/01_top/gold-wing-right.svg");
}

@media screen and (min-width: 520px) {
.top-banner__text-wrapper::after {
right: 0;
}
}

@media screen and (min-width: 520px) {
.top-banner__title {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: end;
-ms-flex-align: end;
align-items: flex-end;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}
}

.top-banner__text {
font-size: 20px;
font-weight: 500;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
}

@media screen and (min-width: 520px) {
.top-banner__text {
font-size: 16px;
}
}
@media screen and (min-width: 960px) {
.top-banner__text {
font-size: 32px;
}
}

.top-banner__number {
margin-top: 8px;
}
.top-banner__text span {
font-size: 38px;
font-weight: 400;
color: #B29464;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
}

@media screen and (min-width: 520px) {
.top-banner__text span {
font-size: 32px;
}
}

@media screen and (min-width: 960px) {
.top-banner__text span {
font-size: 50px;
}
}

.top-banner__annotation {
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
margin-top: 22px;
}

@media screen and (min-width: 520px) {
.top-banner__annotation {
font-size: 12px;
margin-top: 15px;
}
}

@media screen and (min-width: 960px) {
.top-banner__annotation {
font-size: 18px;
margin-top: 16px;
}
}

.top-banner__button-wrapper {
text-align: center;
margin-top: 50px;
}

@media screen and (min-width: 520px) {
.top-banner__button-wrapper {
margin-top: 0;
}
}

.top-banner__button {
padding: 24px 65px 24px 14px;
}

@media screen and (min-width: 520px) {
.top-banner__button {
font-size: 18px;
padding: 22px 16px 22px 85px;
}
}
@media screen and (min-width: 960px) {
.top-banner__button {
font-size: 20px;
padding: 24px 48px 24px 117px;
}
}

.top-banner__button .btn__icon-circle {
left: 32px;
}

.top-banner__button .btn__icon-circle + .btn__icon-circle {
left: 60px;
}

@media screen and (min-width: 520px) {
.top-banner__button .btn__icon-circle {
left: 18px;
}

.top-banner__button .btn__icon-circle + .btn__icon-circle {
left: 48px;
}
}
@media screen and (min-width: 960px) {
.top-banner__button .btn__icon-circle {
left: 32px;
}

.top-banner__button .btn__icon-circle + .btn__icon-circle {
left: 60px;
}
}


.top-blog {
padding-top: 32px;
padding-bottom: 20px;
}

@media screen and (min-width: 520px) {
.top-blog {
width: 50%;
padding-top: 93px;
padding-bottom: 46px;
}
}

@media screen and (min-width: 520px) {
.top-blog__container {
padding-left: 7%;
padding-right: 7%;
}
}
@media screen and (min-width: 960px) {
.top-blog__container {
padding-left: 7%;
padding-right: 13%;
}
}

.top-blog__wrapper {
width: 100%;
margin-top: 30px;
}

@media screen and (min-width: 520px) {
.top-blog__wrapper {
margin-top: 40px;
}
}
@media screen and (min-width: 960px) {
.top-blog__wrapper {
margin-top: 56px;
}
}

.top-blog__item {
background-color: #FFF;
margin-bottom: 12px;
}

@media screen and (min-width: 520px) {
.top-blog__item {
margin-bottom: 20px;
}
}

.top-blog__text-wrapper {
width: 100%;
padding: 10px 20px;
}

@media screen and (min-width: 520px) {
.top-blog__text-wrapper {
margin-left: 10px;
padding: 13px 0 10px 0;
}
}
@media screen and (min-width: 960px) {
.top-blog__text-wrapper {
margin-left: 30px;
padding: 13px 0 10px 0;
}
}

.top-blog__date {
display: block;
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0.6px;
}

@media screen and (min-width: 520px) {
.top-blog__date {
font-size: 14px;
}
}

.top-blog__text {
font-size: 14px;
font-weight: 600;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.7;
letter-spacing: 0px;
margin-top: 12px;
}

@media screen and (min-width: 520px) {
.top-blog__text {
line-height: 1.7;
margin-top: 6px;
}
}

@media screen and (min-width: 520px) {
.top-blog__image-wrapper {
width: 100%;
max-width: 120px;
}
}

@media screen and (min-width: 520px) {
.top-blog__image {
width: 100%;
height: 90px;
-o-object-fit: cover;
object-fit: cover;
}
}

.top-blog__link {
display: block;
font-size: 12px;
font-weight: 400;
color: #B29464;
text-align: right;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
}

.top-counselor {
background: transparent url("../img/01_top/counselor-bg-sp.jpg") no-repeat center/cover;
padding-top: 61px;
padding-bottom: 51px;
margin-top: 0px;
}

@media screen and (min-width: 520px) {
.top-counselor {
background: transparent url("../img/01_top/counselor-bg-pc.jpg") no-repeat center/cover;
padding-top: 60px;
padding-bottom: 42px;
margin-top: 0px;
}
}
@media screen and (min-width: 520px) {
.top-counselor {
padding-top: 86px;
padding-bottom: 42px;
margin-top: 0px;
}
}

@media screen and (min-width: 520px) {
.top-counselor__wrapper {
position: relative;
}
}

@media screen and (min-width: 520px) {
.top-counselor__flexbox {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-orient: horizontal;
-webkit-box-direction: reverse;
-ms-flex-direction: row-reverse;
flex-direction: row-reverse;
}
}

@media screen and (max-width: 520px) {
.top-counselor__flexbox--under {
margin-top: 126px;
}
}

.top-counselor__image-wrapper {
width: 100%;
}

@media screen and (min-width: 520px) {
.top-counselor__image-wrapper {
max-width: 250px;
margin-left: 5%;
}
}

@media screen and (min-width: 960px) {
.top-counselor__image-wrapper {
max-width: 340px;
max-width: 400px;
margin-left: 10.6%;
margin-left: 8%;
}
}

@media screen and (max-width: 520px) {
.top-counselor__image {
display: block;
width: 84%;
max-width: 340px;
margin: 0 auto;
}
}

.top-counselor__text-wrapper {
width: 100%;
}

@media screen and (max-width: 520px) {
.top-counselor__text-wrapper {
margin-top: 27px;
}
}

@media screen and (min-width: 520px) {
.top-counselor__text-wrapper {
margin-left: auto;
margin-right: auto;
}
}

.top-counselor__name-wrapper {
padding-bottom: 10px;
border-bottom: 1px solid #c9c9c9;
}

@media screen and (min-width: 520px) {
.top-counselor__name-wrapper {
padding-bottom: 14px;
}
}

.top-counselor__title {
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
}

@media screen and (min-width: 520px) {
.top-counselor__title {
font-size: 16px;
}
}

@media screen and (min-width: 960px) {
.top-counselor__title {
font-size: 18px;
}
}

.top-counselor__name {
font-size: 16px;
font-weight: 600;
color: #B29464;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
margin-top: 10px;
}

@media screen and (min-width: 520px) {
.top-counselor__name {
font-size: 20px;
margin-top: 18px;
}
}
@media screen and (min-width: 960px) {
.top-counselor__name {
font-size: 24px;
margin-top: 18px;
}
}

.top-counselor__name span {
font-size: 24px;
}

@media screen and (min-width: 520px) {
.top-counselor__name span {
font-size: 30px;
}
}

.top-counselor__message {
font-size: 14px;
font-weight: 600;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.4;
letter-spacing: 1px;
margin-top: 30px;
}

@media screen and (min-width: 520px) {
.top-counselor__message {
margin-top: 30px;
font-size: 15px;
}
}

.top-counselor__text {
font-size: 12px;
font-weight: 600;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.6;
letter-spacing: 0.3px;
background-color: #FFF;
padding: 15px 18px 22px 18px;
margin-top: 21px;
}

@media screen and (min-width: 520px) {
.top-counselor__text {
font-size: 14px;
line-height: 1.5;
letter-spacing: 0.3px;
padding: 16px 12px 18px 12px;
margin-top: 37px;
}
}

.top-counselor__button {
text-align: center;
margin-top: 28px;
}

@media screen and (min-width: 520px) {
.top-counselor__button {
margin-top: 23px;
}
}

.top-data {
margin-top: 40px;
}

@media screen and (min-width: 520px) {
.top-data {
margin-top: 127px;
}
}

.top-data__box {
background-color: #FFF;
-webkit-box-shadow: 1px 3px 20px #00000029;
box-shadow: 1px 3px 20px #00000029;
margin-top: 44px;
padding: 14px 3% 19px 0%;
}

@media screen and (min-width: 520px) {
.top-data__box {
padding: 32px 3% 36px 6%;
margin-top: 50px;
}
}
@media screen and (min-width: 960px) {
.top-data__box {
padding: 32px 3% 36px 6%;
margin-top: 107px;
}
}

.top-data__wrapper {
margin-top: 48px;
}

@media screen and (min-width: 520px) {
.top-data__wrapper {
margin-top: 140px;
}
}

@media screen and (max-width: 520px) {
.top-data__title-back {
top: 43px;
font-size: 60px;
}
}

.top-data__items {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}

.top-data__item {
width: 50%;
}

.top-data__title {
font-size: 16px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
}

@media screen and (min-width: 520px) {
.top-data__title {
font-size: 26px;
}
}

@media screen and (min-width: 960px) {
.top-data__title {
font-size: 30px;
}
}

.top-data__data {
font-size: 16px;
font-weight: 400;
color: #B29464;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
margin-top: 5px;
}

@media screen and (min-width: 520px) {
.top-data__data {
font-size: 38px;
margin-top: 22px;
}
}

@media screen and (min-width: 960px) {
.top-data__data {
font-size: 50px;
margin-top: 22px;
}
}

.top-data__data span {
font-size: 30px;
}

@media screen and (min-width: 520px) {
.top-data__data span {
font-size: 60px;
}
}

@media screen and (min-width: 960px) {
.top-data__data span {
font-size: 80px;
}
}

.top-data__text-wrapper {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
margin-top: 15px;
}

@media screen and (min-width: 520px) {
.top-data__text-wrapper {
margin-top: 27px;
}
}

.top-data__annotation {
font-size: 10px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.2;
letter-spacing: 0.3px;
}

@media screen and (min-width: 520px) {
.top-data__annotation {
font-size: 16px;
}
}

.top-data__text {
font-size: 14px;
font-weight: 600;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.6;
letter-spacing: 1px;
margin-top: 30px;
}

@media screen and (min-width: 520px) {
.top-data__text {
font-size: 18px;
margin-top: 77px;
}
}

.top-data__text span {
color: #B29464;
font-size: 14px;
}

@media screen and (min-width: 520px) {
.top-data__text span {
font-size: 24px;
}
}

.top-data__button {
text-align: center;
margin-top: 24px;
}

@media screen and (min-width: 520px) {
.top-data__button {
text-align: center;
margin-top: 46px;
}
}

.top-flow {
margin-top: 37px;
}

@media screen and (min-width: 520px) {
.top-flow {
margin-top: 100px;
}
}
@media screen and (min-width: 960px) {
.top-flow {
margin-top: 191px;
}
}

@media screen and (max-width: 520px) {
.top-flow__container {
padding: 0;
}
}

.top-flow__wrapper {
padding: 0;
margin-top: 50px;
}

@media screen and (min-width: 520px) {
.top-flow__wrapper {
padding: 0 ;
margin-top: 70px;
}
}

@media screen and (min-width: 960px) {
.top-flow__wrapper {
padding: 0 50px;
margin-top: 109px;
}
}

.top-flow__title-back {
font-size: 40px;
}

@media screen and (min-width: 520px) {
.top-flow__title-back {
top: -40px;
font-size: 100px;
letter-spacing: -5px;
}
}
@media screen and (min-width: 960px) {
.top-flow__title-back {
top: -46px;
font-size: 170px;
letter-spacing: -5px;
}
}

.top-flow__table {
width: 100%;
border-collapse: collapse;
border-top: 1px solid #e4dbce;
color: #B29464;
}

@media screen and (min-width: 520px) {
.top-flow__table {
padding: 0 50px;
}
}

.top-flow__row {
border-bottom: 1px solid #e4dbce;
}

.top-flow__title {
position: relative;
border-right: 1px solid #d0ac74;
vertical-align: middle;
width: 113px;
padding: 24px 0;
}

@media screen and (min-width: 520px) {
.top-flow__title {
width: 180px;
padding: 26px;
}
}

.top-flow__title::after {
content: '';
position: absolute;
top: 50%;
right: 0px;
-webkit-transform: translate(50%, -50%);
transform: translate(50%, -50%);
width: 14px;
height: 14px;
background: #cfac73;
border-radius: 50%;
}

.top-flow__title-image {
width: 35px;
}

@media screen and (min-width: 520px) {
.top-flow__title-image {
width: 40px;
}
}

.top-flow__title-text {
font-size: 12px;
font-weight: 600;
color: #B29464;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
margin-top: 8px;
}

@media screen and (min-width: 520px) {
.top-flow__title-text {
font-size: 14px;
margin-top: 8px;
white-space: nowrap;
}
}

.top-flow__data {
font-size: 14px;
font-weight: 600;
vertical-align: middle;
padding: 20px 20px 20px 30px;
line-height: 1.6;
}

@media screen and (min-width: 520px) {
.top-flow__data {
letter-spacing: 0.2px;
padding: 26px;
white-space: nowrap;
}
}

.top-flow__button {
text-align: center;
margin-top: 43px;
}

@media screen and (min-width: 520px) {
.top-flow__button {
margin-top: 48px;
}
}


.top-fv {
width: 100%;
height: calc(100vh - 65px);
height: auto!important;
}

@media screen and (min-width: 960px) {
.top-fv {
height: auto!important;
}
}
.top-fv-sp{

}
@media screen and (min-width: 520px) {
.top-fv-sp {
display: none;
}
}
.top-fv-pc{
display: none;
}
@media screen and (min-width: 520px) {
.top-fv-pc {
display: block;
}
}

.top-fv__wrapper {
position: relative;
}
/* .top-fv__wrapper {
position: relative;
width: 100%;
height: 100%;
background: transparent url("../img/01_top/fv-sp.jpg") no-repeat center/cover;
}

@media screen and (min-width: 520px) {
.top-fv__wrapper {
background: transparent url("../img/01_top/fv-pc.jpg") no-repeat;
background-size: cover;
background-position: 35%;
}
}

.top-fv__wrapper h1 {
position: absolute;
color: transparent;
font-size: 10px;
-webkit-transform: scale(0.1);
transform: scale(0.1);
}*/

.top-fv__topics {
position: absolute;
width: 100%;
height: auto;
bottom: 2.5%;
}

@media screen and (min-width: 520px) {
.top-fv__topics {
display: none;
}
}
@media screen and (min-width: 960px) {
.top-fv__topics {
bottom: 10%;
display: block;
}
}

.top-map {
margin-top: 5px;
}

@media screen and (min-width: 520px) {
.top-map {
margin-top: 30px;
}
}

@media screen and (min-width: 960px) {
.top-map {
margin-top: 95px;
}
}

.top-map__iframe {
width: 100%;
height: 300px;
}

@media screen and (min-width: 520px) {
.top-map__iframe {
height: 232px;
}
}

.top-news {
background-color: #EEE3CF;
padding-top: 32px;
padding-bottom: 20px;
}

@media screen and (min-width: 520px) {
.top-news {
width: 50%;
padding-top: 93px;
padding-bottom: 46px;
}
}

.top-news__wrapper {
width: 100%;
margin-top: 20px;
}

@media screen and (min-width: 520px) {
.top-news__wrapper {
padding: 0;
margin-top: 40px;
}
}

@media screen and (min-width: 960px) {
.top-news__wrapper {
padding: 0 7%;
margin-top: 55px;
}
}

.top-news__item {
background-color: #FFF;
margin-bottom: 12px;
padding: 16px 10px 24px 20px;
}

@media screen and (min-width: 520px) {
.top-news__item {
padding: 24px 20px 24px 35px;
margin-bottom: 20px;
}
}

.top-news__date {
display: block;
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0.6px;
}

@media screen and (min-width: 520px) {
.top-news__date {
font-size: 14px;
}
}

.top-news__text {
font-size: 14px;
font-weight: 600;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.2;
letter-spacing: 0px;
margin-top: 12px;
}

.top-news__link {
display: block;
font-size: 12px;
font-weight: 400;
color: #B29464;
text-align: right;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
}

.top-reason {
margin-top: 115px;
}

@media screen and (min-width: 960px) {
.top-reason {
margin-top: 122px;
}
}

.top-reason__wrapper {
margin-top: 48px;
}

@media screen and (min-width: 960px) {
.top-reason__wrapper {
margin-top: 122px;
}
}

@media screen and (min-width: 960px) {
.top-reason__items {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
}

.top-reason__item {
width: 100%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}

@media screen and (min-width: 960px) {
.top-reason__item {
display: block;
width: calc(33.33333% - 57.33333px);
}
}

.top-reason__item + .top-reason__item {
margin-top: 30px;
}

@media screen and (min-width: 960px) {
.top-reason__item + .top-reason__item {
margin-left: 86px;
margin-top: 0;
}
}

.top-reason__text-wrapper {
width: 57%;
max-width: 420px;
}

@media screen and (min-width: 960px) {
.top-reason__text-wrapper {
width: 100%;
max-width: 100%;
}
}

.top-reason__title-en {
position: relative;
font-size: 18px;
font-weight: 600;
color: #EEE3CF;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
font-family: "Charm", "Noto Serif JP", sans-serif;
line-height: 1.8;
}

@media screen and (min-width: 960px) {
.top-reason__title-en {
font-size: 32px;
margin-left: 29%;
}
}

.top-reason__title-en::after {
content: '';
display: inline-block;
position: absolute;
bottom: 1px;
left: 0;
height: 1px;
width: 100%;
background-color: #EEE3CF;
}

@media screen and (min-width: 960px) {
.top-reason__title-en::after {
bottom: -14px;
left: 30%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
width: 123%;
}
}

.top-reason__title-en span {
position: absolute;
font-size: 40px;
font-weight: 400;
color: #EEE3CF;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
font-family: inherit;
line-height: 1.8;
top: -20px;
left: 74px;
}

@media screen and (min-width: 960px) {
.top-reason__title-en span {
top: -62px;
left: 50%;
font-size: 107px;
}
}

.top-reason__title-ja {
font-size: 14px;
font-weight: 600;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.4;
letter-spacing: 1px;
margin-top: 10px;
margin-bottom: 8px;
}

@media screen and (min-width: 960px) {
.top-reason__title-ja {
font-size: 20px;
text-align: center;
margin-top: 40px;
margin-bottom: 30px;
line-height: 1.8;
}
}

.top-reason__title-ja span {
font-size: 18px;
}

@media screen and (min-width: 960px) {
.top-reason__title-ja span {
font-size: 26px;
line-height: 1;
}
}

.top-reason__text {
font-size: 10px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.7;
letter-spacing: 0px;
}

@media screen and (min-width: 520px) {
.top-reason__text {
font-size: 16px;
line-height: 1.5;
}
}

@media screen and (min-width: 960px) {
.top-reason__text {
width: 100%;
max-width: 165px;
font-size: 14px;
line-height: 1.5;
letter-spacing: 0.5px;
margin-top: -4px;
}
}

.top-reason__image-wrapper--pc {
display: none;
}

@media screen and (min-width: 960px) {
.top-reason__image-wrapper--pc {
display: block;
width: 100%;
max-width: 150px;
margin-left: 21px;
}
}

.top-reason__image-wrapper--sp {
display: block;
width: 40%;
/* max-width: 150px; */
margin-left: 15px;
}

@media screen and (min-width: 960px) {
.top-reason__image-wrapper--sp {
display: none;
width: 100%;
margin-left: 21px;
}
}

.top-reason__button {
text-align: center;
margin-top: 34px;
}

@media screen and (min-width: 960px) {
.top-reason__button {
margin-top: 57px;
}
}

.about-message__box {
position: relative;
background-color: #FFF;
-webkit-box-shadow: 0px 2px 10px #62626229;
box-shadow: 0px 2px 10px #62626229;
padding: 25px 0 25px 0;
margin-top: -5%;
}

@media screen and (min-width: 520px) {
.about-message__box {
padding: 77px 10% 60px 10%;
margin-top: -4.5%;
}
}

.about-message__title {
font-size: 16px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.8;
letter-spacing: 0px;
padding: 0 .8rem;
}

@media screen and (min-width: 520px) {
.about-message__title {
font-size: 20px;
letter-spacing: 1px;
padding: 0;
}
}

@media screen and (min-width: 960px) {
.about-message__title {
font-size: 24px;
letter-spacing: 1px;
padding: 0;
}
}

.about-message__text {
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 2.1;
letter-spacing: 0px;
margin-top: 10px;
padding: 0 5%;
}

@media screen and (min-width: 520px) {
.about-message__text {
font-size: 16px;
line-height: 1.9;
margin-top: 37px;
padding: 0;
}
}

.about-promise {
background-color: #FAF7F2;
padding-top: 37px;
padding-bottom: 60px;
margin-top: 77px;
}

@media screen and (min-width: 520px) {
.about-promise {
padding-top: 60px;
padding-bottom: 60px;
margin-top: 60px;
}
}

@media screen and (min-width: 960px) {
.about-promise {
padding-top: 60px;
padding-bottom: 60px;
margin-top: 147px;
}
}

.about-promise__wrapper {
margin-top: 82px;
}

@media screen and (min-width: 520px) {
.about-promise__wrapper {
margin-top: 80px;
}
}
@media screen and (min-width: 960px) {
.about-promise__wrapper {
margin-top: 100px;
}
}

@media screen and (min-width: 520px) {
.about-promise__items {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: center;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
}

.about-promise__item {
position: relative;
width: 100%;
background-color: #FFF;
margin-bottom: 4rem;
}

@media screen and (min-width: 520px) {
.about-promise__item {
margin: 2rem 1%;
width: calc(94% / 3);
}
.about-promise__item--small {
width: calc(50% - 21px);
margin-top: 70px;
}
}
@media screen and (min-width: 960px) {
.about-promise__item {
width: calc(94% / 3);
margin: 2rem 1%;
}
.about-promise__item + .about-promise__item {
/* margin-top: 75px; */
}
.about-promise__item + .about-promise__item {
/* margin-left: 28px; */
}
.about-promise__item--small {
width: 23%;
margin: 2rem 1%;
margin-top: 100px;
}
.about-promise__item:nth-child(1) {
/* margin-top: 0; */
}
.about-promise__item:nth-child(4) {
/* margin-left: 0; */
}
}

.about-promise__circle {
display: inline;
position: absolute;
width: 65px;
height: 65px;
background-color: #d0ac74;
border-radius: 50%;
top: -47px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
}

.about-promise__circle-text {
font-size: 12px;
font-weight: 400;
color: #FFF;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
font-family: "Noto Sans JP", serif;
margin-top: 18px;
}

.about-promise__circle-number {
font-size: 24px;
font-weight: 400;
color: #FFF;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
font-family: "Charm", "Noto Serif JP", sans-serif;
margin-top: 3px;
}

.about-promise__text-wrapper {
padding: 30px 0 30px 0;
}

@media screen and (min-width: 520px) {
.about-promise__text-wrapper {
padding: 30px 0 30px 0;
}
}

.about-promise__title {
font-size: 18px;
font-weight: 600;
color: #B29464;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.2;
letter-spacing: 1px;
}

@media screen and (min-width: 520px) {
.about-promise__title {
font-size: 16px;
}
}

@media screen and (min-width: 960px) {
.about-promise__title {
font-size: 20px;
}
}

.about-promise__text {
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.4;
letter-spacing: 0px;
margin-top: 21px;
padding: 0 22px;
}

@media screen and (min-width: 520px) {
.about-promise__text {
padding: 0 10px;
margin-top: 15px;
font-size: 15px;
}
}
@media screen and (min-width: 960px) {
.about-promise__text {
padding: 0 30px;
margin-top: 18px;
font-size: 15px;
}
}

@media screen and (min-width: 520px) {
.about-promise__text--small {
padding: 0 13px;
}
}

.about-reason {
margin-top: 38px;
}

@media screen and (min-width: 520px) {
.about-reason {
margin-top: 120px;
}
}

.about-reason__wrapper {
margin-top: 133px;
}

@media screen and (min-width: 520px) {
.about-reason__wrapper {
margin-top: 108px;
}
}

@media screen and (min-width: 520px) {
.about-reason__container {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
max-width: 1200px;
}
}

@media screen and (min-width: 520px) and (max-width: 1418px) {
.about-reason__container {
max-width: 1360px;
/* padding-right: 0;
margin-right: 0; */
}
}

.about-reason__item {
width: 100%;
margin-top: 120px;
}

@media screen and (min-width: 520px) {
.about-reason__item {
margin-top: 100px;
}
}

.about-reason__text-wrapper {
position: relative;
width: 100%;
}

@media screen and (min-width: 520px) {
.about-reason__text-wrapper {
width: 50%;
width: 100%;
max-width: 494px;
margin: 0 auto 0 0;
}
}

.about-reason__text-wrapper::after {
content: '';
display: inline-block;
position: absolute;
top: -79px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-image: url("../img/02_about/icon-reason.svg");
background-size: contain;
background-repeat: no-repeat;
width: 50px;
height: 50px;
}

@media screen and (min-width: 520px) {
.about-reason__text-wrapper::after {
top: 0;
left: 0;
-webkit-transform: translate(0%, 0%);
transform: translate(0%, 0%);
width: 55px;
height: 57px;
}
}

@media screen and (min-width: 960px) {
.about-reason__text-wrapper::after {
top: 0;
left: 0;
-webkit-transform: translate(0%, 0%);
transform: translate(0%, 0%);
width: 70px;
height: 72px;
}
}

.about-reason__title {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
font-size: 20px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.7;
letter-spacing: 1px;
}

@media screen and (min-width: 520px) {
.about-reason__title {
text-align: left;
font-size: 20px;
margin: 0 auto;
}
}

@media screen and (min-width: 960px) {
.about-reason__title {
text-align: left;
font-size: 24px;
margin: 0 auto;
}
}

.about-reason__text {
width: 100%;
font-size: 15px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.7;
letter-spacing: 0px;
padding: 0 5px;
margin-top: 31px;
}

@media screen and (min-width: 520px) {
.about-reason__text {
	font-size: 16px;
line-height: 2;
padding: 0;
margin-top: 20px;
}
}

@media screen and (min-width: 960px) {
.about-reason__text {
line-height: 2.2;
padding: 0;
margin-top: 40px;
}
}

.about-reason__image-wrapper {
position: relative;
width: 100%;
}

.about-reason__image-wrapper--pc {
display: none;
}

@media screen and (min-width: 520px) {
.about-reason__image-wrapper--pc {
display: block;
width: 50%;
max-width: 550px;
margin-left: 50px;
}
}
@media screen and (min-width: 960px) {
.about-reason__image-wrapper--pc {
display: block;
width: 50%;
max-width: 550px;
margin-left: 150px;
}
}

.about-reason__image-wrapper--sp {
display: block;
margin-top: 22px;
}

@media screen and (min-width: 520px) {
.about-reason__image-wrapper--sp {
display: none;
}
}

.about-reason__number {
position: absolute;
font-size: 40px;
font-weight: 600;
color: #B29464;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
left: 13px;
bottom: -13px;
}

@media screen and (min-width: 520px) {
.about-reason__number {
font-size: 48px;
top: -30px;
left: -27px;
bottom: initial;
}
}

@media screen and (min-width: 520px) and (max-width: 1418px) {
.about-reason__container--odd {
max-width: 1400px;
/* padding-left: 0;
margin-left: 0;
margin-right: 0; */
}
}

@media screen and (min-width: 520px) {
.about-reason__container--odd {
-webkit-box-orient: horizontal;
-webkit-box-direction: reverse;
-ms-flex-direction: row-reverse;
flex-direction: row-reverse;
}
}

@media screen and (min-width: 520px) {
.about-reason__text-wrapper--odd {
margin: 0 auto;
}
}

@media screen and (min-width: 520px) {
.about-reason__image-wrapper--odd {
margin-left: 0;
margin-right: 50px;
}
}
@media screen and (min-width: 960px) {
.about-reason__image-wrapper--odd {
margin-left: 0;
margin-right: 150px;
}
}

@media screen and (min-width: 520px) {
.about-reason__number--odd {
left: initial;
right: -27px;
}
}

.enrollment {
margin-top: 36px;
margin-bottom: 17px;
}

@media screen and (min-width: 520px) {
.enrollment {
margin-top: 124px;
margin-bottom: 86px;
}
.enrollment .container {
max-width: 1200px;
}
}

.enrollment__title-back {
font-size: 36px;
line-height: 1.7;
}

@media screen and (min-width: 520px) {
.enrollment__title-back {
top: -30px;
font-size: 50px;
}
}

@media screen and (min-width: 960px) {
.enrollment__title-back {
top: -57px;
font-size: 120px;
}
}

.enrollment__items {
margin-top: 57px;
}

@media screen and (min-width: 520px) {
.enrollment__items {
padding: 0 30px;
margin-top: 46px;
}
}
@media screen and (min-width: 960px) {
.enrollment__items {
padding: 0 50px;
margin-top: 46px;
}
}

.enrollment__item {
width: 100%;
background-color: #FAF7F2;
padding: 30px 18px 25px 18px;
}

@media screen and (min-width: 520px) {
.enrollment__item {
padding: 40px 50px 40px 50px;
}
}

@media screen and (min-width: 960px) {
.enrollment__item {
padding: 40px 75px 40px 75px;
}
}

@media screen and (max-width: 520px) {
.enrollment__item + .enrollment__item {
margin-top: 30px;
}
}

@media screen and (min-width: 520px) {
.enrollment__item + .enrollment__item {
margin-top: 20px;
}
}

.enrollment__title {
font-size: 20px;
font-weight: 600;
color: #B29464;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.2;
letter-spacing: 1px;
}

@media screen and (min-width: 520px) {
.enrollment__title {
font-size: 24px;
}
}

.enrollment__text {
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 2.1;
letter-spacing: 0.4px;
margin-top: 23px;
}

@media screen and (min-width: 520px) {
.enrollment__text {
font-size: 16px;
line-height: 1.6;
margin-top: 42px;
}
}

.plan-message {
padding-top: 49px;
padding-bottom: 21px;
}

@media screen and (min-width: 520px) {
.plan-message {
padding-top: 96px;
padding-bottom: 115px;
}
}

.plan-message__title {
font-size: 18px;
font-weight: 600;
color: #B29464;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.8;
letter-spacing: 0px;
padding: 0 1%;
}

@media screen and (min-width: 520px) {
.plan-message__title {
font-size: 24px;
letter-spacing: 1px;
padding: 0;
}
}

.plan-message__text {
font-size: 16px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 2.1;
letter-spacing: 0px;
margin-top: 5px;
}

@media screen and (min-width: 520px) {
.plan-message__text {
font-size: 18px;
line-height: 1.9;
margin-top: 33px;
}
}

.plan {
background-color: #FAF7F2;
padding-top: 0px;
padding-bottom: 46px;
}

@media screen and (min-width: 520px) {
.plan {
padding-top: 60px;
padding-bottom: 60px;
}
}

@media screen and (min-width: 960px) {
.plan {
padding-top: 75px;
padding-bottom: 115px;
}
}

@media screen and (max-width: 520px) {
.plan__container {
padding: 0;
}
}

.plan__title-wrapper {
position: relative;
top: 36px;
padding-top: 15px;
z-index: 31;
}

@media screen and (min-width: 520px) {
.plan__title-wrapper {
top: 50px;
}
}

@media screen and (max-width: 520px) {
.plan__title-back {
top: 10px;
}
}


/* スマホ用の料金表 */
.plan__table{
display: none;
}
.plan__table__sp{
display: block;
margin: 2.5rem 0;
}
@media screen and (min-width: 960px) {
.plan__table{
display: block;
}
.plan__table__sp{
display: none;
margin: 0;
}
}
.plan__box {
position: relative;
background-color: #FFF;
padding: 72px 0 53px 0;
width: 99.8%;
}

@media screen and (min-width: 520px) {
.plan__box {
width: 100%;
height: 100%;
padding: 100px 3% 100px 3%;
}
}

@media screen and (min-width: 960px) {
.plan__box {
width: 100%;
height: 100%;
padding: 146px 8.5% 77px 8.5%;
}
}

.plan__box-corner {
position: absolute;
width: 35px;
height: 35px;
}

@media screen and (min-width: 520px) {
.plan__box-corner {
width: 108px;
height: 108px;
}
}

.plan__box-corner::before {
content: '';
position: absolute;
width: 0;
height: 0;
}

.plan__box-corner::after {
content: '';
position: absolute;
width: 49.49px;
height: 1px;
background: #b39466;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
top: 50%;
left: -19%;
z-index: 30;
}

@media screen and (min-width: 520px) {
.plan__box-corner::after {
left: -19%;
width: 152.712px;
height: 2px;
}
}

.plan__box-corner--top-left {
top: 0px;
left: 0px;
}

.plan__box-corner--top-left::before {
border-top: 35px solid #FAF7F2;
border-right: 35px solid transparent;
}

@media screen and (min-width: 520px) {
.plan__box-corner--top-left::before {
border-top: 108px solid #FAF7F2;
border-right: 108px solid transparent;
}
}

.plan__box-corner--bottom-right {
bottom: 0px;
right: 0px;
}

.plan__box-corner--bottom-right::before {
border-top: 35px solid transparent;
border-right: 35px solid #FAF7F2;
}

@media screen and (min-width: 520px) {
.plan__box-corner--bottom-right::before {
border-top: 108px solid transparent;
border-right: 108px solid #FAF7F2;
}
}

.plan__table {
width: 100%;
border-collapse: collapse;
color: #B29464;
}

@media screen and (min-width: 520px) {
.plan__table {
padding: 0 50px;
padding: 0 0px;
}
}

.plan__row {
border-bottom: 1px solid #8e8e8e;
height: 63px;
}

@media screen and (min-width: 520px) {
.plan__row {
height: 93px;
}
}

.plan__row--header {
height: 110px;
}

@media screen and (min-width: 520px) {
.plan__row--header {
height: 120px;
}
}

.plan__cell {
width: 25%;
width: 10%;
vertical-align: middle;
margin-top: 8px;
}

@media screen and (min-width: 520px) {
.plan__cell {
margin-top: 8px;
white-space: nowrap;
}
}

.plan__cell:nth-child(even) {
background-color: #f7f7f7;
}

.plan__title {
font-size: 12px;
font-weight: 600;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.6;
letter-spacing: 0px;
margin-top: 8px;
vertical-align: middle;
}

@media screen and (min-width: 520px) {
.plan__title {
font-size: 16px;
line-height: 1.8;
margin-top: 8px;
}
}

@media screen and (min-width: 960px) {
.plan__title {
font-size: 16px;
line-height: 1.6;
margin-top: 8px;
}
}

.plan__title span {
color: #B29464;
font-size: 10px;
display: inline-block;
line-height: 1.4;
margin-bottom: .5rem;
}

@media screen and (min-width: 520px) {
.plan__title span {
font-size: 14px;
}
}

@media screen and (min-width: 960px) {
.plan__title span {
font-size: 15px;
}
}

.plan__data {
font-size: 12px;
font-weight: 600;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
margin-top: 8px;
vertical-align: middle;
}

@media screen and (min-width: 520px) {
.plan__data {
font-size: 18px;
margin-top: 8px;
}
}

.plan__data--mark {
color: #707070;
font-size: 22px;
font-weight: 400;
}

@media screen and (min-width: 520px) {
.plan__data--mark {
font-size: 38px;
}
}

.plan__annotation {
font-size: 10px;
font-weight: 400;
color: #323232;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.3;
letter-spacing: 1px;
padding-left: 10px;
margin-top: 5px;
}

@media screen and (min-width: 520px) {
.plan__annotation {
font-size: 14px;
padding-left: 0;
margin-top: 20px;
}
}

@media screen and (min-width: 960px) {
.plan__annotation {
font-size: 16px;
margin-top: 30px;
text-align: right;
}
}

.counselor-interview {
background-color: #FAF7F2;
padding-top: 30px;
padding-bottom: 30px;
margin-top: 36px;
margin-bottom: 0;
}

@media screen and (min-width: 520px) {
.counselor-interview {
padding-top: 52px;
padding-bottom: 50px;
margin-top: 60px;
margin-bottom: 0;
}
}
@media screen and (min-width: 960px) {
.counselor-interview {
padding-top: 52px;
padding-bottom: 100px;
margin-top: 90px;
margin-bottom: 0;
}
}

@media screen and (min-width: 520px) {
.counselor-interview__wrapper {
padding: 0 0;
}
}
@media screen and (min-width: 960px) {
.counselor-interview__wrapper {
padding: 0 100px;
}
}

.counselor-interview__items {
background-color: #FFF;
padding: 27px 20px 80px 20px;
}

@media screen and (min-width: 520px) {
.counselor-interview__items {
margin-top: 57px;
padding: 40px 30px 40px 30px;
margin-top: 46px;
}
}

@media screen and (min-width: 960px) {
.counselor-interview__items {
margin-top: 57px;
padding: 40px 30px 80px 30px;
margin-top: 46px;
}
}

.counselor-interview__item {
width: 100%;
}

@media screen and (max-width: 520px) {
.counselor-interview__item + .counselor-interview__item {
margin-top: 35px;
}
}

@media screen and (min-width: 520px) {
.counselor-interview__item + .counselor-interview__item {
margin-top: 45px;
}
}

.counselor-interview__title {
font-size: 18px;
font-weight: 600;
color: #FFF;
text-align: left;
line-height: 1.5;
font-family: "Noto Sans JP", serif;
}

@media screen and (min-width: 520px) {
.counselor-interview__title {
font-size: 24px;
}
}

@media screen and (min-width: 960px) {
.counselor-interview__title {
font-size: 28px;
}
}

.counselor-interview__title span {
background-color: #B29464;
padding: 0 .3em;
}

.counselor-interview__question {
font-size: 16px;
font-weight: 600;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.5;
letter-spacing: 0.5px;
font-family: "Noto Sans JP", serif;
margin-top: 20px;
}

@media screen and (min-width: 520px) {
.counselor-interview__question {
font-size: 16px;
margin-top: 20px;
}
}

@media screen and (min-width: 960px) {
.counselor-interview__question {
font-size: 16px;
margin-top: 25px;
}
}

.counselor-interview__answer {
font-size: 16px;
line-height: 1.5;
letter-spacing: .02em;
font-family: "Noto Sans JP",serif;
margin-top: 1em;
}

@media screen and (min-width: 520px) {
.counselor-interview__answer {

}
}

.counselor-interview__text {
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.9;
letter-spacing: -0.3px;
font-family: "Noto Sans JP", serif;
}

@media screen and (max-width: 520px) {
.counselor-interview__text {
padding-right: 11px;
}
}

@media screen and (min-width: 520px) {
.counselor-interview__text {
font-size: 16px;
line-height: 1.6;
letter-spacing: -0.2px;
}
}

@media screen and (min-width: 520px) {
.counselor-interview__text + .counselor-interview__text {
margin-left: 35px;
}
}

.flow-step {
padding-top: 81px;
padding-bottom: 30px;
}

@media screen and (min-width: 520px) {
.flow-step {
padding-top: 80px;
padding-bottom: 50px;
}
}

@media screen and (min-width: 960px) {
.flow-step {
padding-top: 174px;
padding-bottom: 60px;
}
}

.flow-step__item {
width: 100%;
}

@media screen and (max-width: 520px) {
.flow-step__item + .flow-step__item {
margin-top: 71px;
}
}

@media screen and (min-width: 520px) {
.flow-step__item + .flow-step__item {
margin-top: 100px;
}
}
@media screen and (min-width: 960px) {
.flow-step__item + .flow-step__item {
margin-top: 139px;
}
}

.membership {
margin-top: 28px;
}

@media screen and (min-width: 520px) {
.membership {
margin-top: 154px;
}
}

.membership__box {
position: relative;
background-color: #FFF;
-webkit-box-shadow: 1px 3px 20px #00000029;
box-shadow: 1px 3px 20px #00000029;
margin-top: 19px;
padding: 40px 14% 45px 14%;
}

@media screen and (min-width: 520px) {
.membership__box {
padding: 32px 6% 46px 6%;
margin-top: 63px;
}
}

.membership__wrapper {
margin-top: 48px;
}

@media screen and (min-width: 520px) {
.membership__wrapper {
margin-top: 140px;
}
}

@media screen and (max-width: 520px) {
.membership__title-back {
top: 43px;
font-size: 60px;
}
}

@media screen and (min-width: 520px) {
.membership__title-back {
font-size: 142px;
}
}

@media screen and (max-width: 520px) {
.membership__items {
margin-top: 30px;
}
}

@media screen and (min-width: 520px) {
.membership__items {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}
}

.membership__item {
width: 100%;
}

@media screen and (min-width: 520px) {
.membership__item {
width: 50%;
}
}

@media screen and (max-width: 520px) {
.membership__item + .membership__item {
margin-top: 10px;
}
}

.membership__title {
font-size: 16px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
}

@media screen and (min-width: 520px) {
.membership__title {
font-size: 20px;
}
}

.membership__data {
font-size: 20px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 1px;
margin-top: 5px;
}

@media screen and (min-width: 520px) {
.membership__data {
font-size: 26px;
margin-top: 42px;
}
}

.membership__data span {
color: #B29464;
font-size: 28px;
font-weight: 600;
margin-left: 10px;
}

@media screen and (min-width: 520px) {
.membership__data span {
font-size: 42px;
}
}

.membership__text-wrapper {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
margin-top: 15px;
}

@media screen and (min-width: 520px) {
.membership__text-wrapper {
margin-top: 27px;
}
}

.membership__annotation {
font-size: 10px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0.3px;
}

@media screen and (min-width: 520px) {
.membership__annotation {
font-size: 12px;
margin-right: 4%;
}
}

.membership__text {
font-size: 14px;
font-weight: 600;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.6;
letter-spacing: 1px;
margin-top: 30px;
}

@media screen and (min-width: 520px) {
.membership__text {
font-size: 18px;
margin-top: 77px;
}
}

.membership__text span {
color: #B29464;
font-size: 14px;
}

@media screen and (min-width: 520px) {
.membership__text span {
font-size: 24px;
}
}

.membership__button {
text-align: center;
margin-top: 24px;
}

@media screen and (min-width: 520px) {
.membership__button {
text-align: center;
margin-top: 46px;
}
}

.case-archive {
background-color: #FAF7F2;
padding-top: 29px;
padding-bottom: 40px;
}

@media screen and (min-width: 520px) {
.case-archive {
padding-top: 100px;
padding-bottom: 50px;
}
}

@media screen and (min-width: 960px) {
.case-archive {
padding-top: 158px;
padding-bottom: 65px;
}
}

@media screen and (max-width: 520px) {
.case-archive__title-back {
font-size: 40px;
}
}

.case-archive__wrapper {
margin-top: 32px;
}

@media screen and (min-width: 520px) {
.case-archive__wrapper {
margin-top: 50px;
}
}
@media screen and (min-width: 960px) {
.case-archive__wrapper {
margin-top: 81px;
}
}

@media screen and (min-width: 520px) {
.case-archive__items {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
}

.case-archive__item {
position: relative;
width: 100%;
background-color: #FFF;
-webkit-transition: opacity 0.2s ease 0.1s;
transition: opacity 0.2s ease 0.1s;
margin-bottom: 1rem;
}

@media screen and (min-width: 520px) {
.case-archive__item {
width: calc(96% / 2);
margin:0 1% 40px;
}
}

@media screen and (min-width: 960px) {
.case-archive__item {
width: calc(94% / 3);
margin:0 1% 40px;
}
/* .case-archive__item + .case-archive__item {
margin-top: 32px;
}
.case-archive__item + .case-archive__item {
margin-left: 45px;
} */
}

/* @media screen and (max-width: 520px) {
.case-archive__item:nth-child(1) {
margin-top: 0;
}
}

@media screen and (min-width: 520px) {
.case-archive__item:nth-child(4) {
margin-left: 0;
}
} */

.case-archive__image-wrapper {
overflow: hidden;
}

.case-archive__image {
width: 100%;
height: 226px;
-o-object-fit: cover;
object-fit: cover;
}

@media screen and (min-width: 520px) {
.case-archive__image {
height: 180px;
}
}
@media screen and (min-width: 960px) {
.case-archive__image {
height: 250px;
}
}

.case-archive__text-wrapper {
padding: 30px 0 16px 0;
}

@media screen and (min-width: 520px) {
.case-archive__text-wrapper {
padding: 27px 0 20px 0;
}
}

.case-archive__title {
font-size: 16px;
font-weight: 600;
color: #B29464;
text-align: left;
line-height: 1.4;
letter-spacing: 1px;
padding: 0 18px;
}

@media screen and (min-width: 520px) {
.case-archive__title {
font-size: 15px;
padding: 0 10px;
}
}

@media screen and (min-width: 960px) {
.case-archive__title {
font-size: 20px;
padding: 0 25px;
}
}

.case-archive__text {
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.4;
letter-spacing: 0px;
padding: 0 18px;
margin-top: 20px;
}

@media screen and (min-width: 520px) {
.case-archive__text {
font-size: 14px;
padding: 0 10px;
margin-top: 15px;
}
}

@media screen and (min-width: 960px) {
.case-archive__text {
font-size: 16px;
padding: 0 25px;
margin-top: 20px;
}
}

.case-archive__link {
display: block;
font-size: 14px;
font-weight: 400;
color: #B29464;
text-align: right;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.4;
letter-spacing: 0px;
padding: 0 18px;
margin-top: 15px;
}

@media screen and (min-width: 520px) {
.case-archive__link {
padding: 0 10px;
margin-top: 8px;
font-size: 12px;
}
}

@media screen and (min-width: 960px) {
.case-archive__link {
padding: 0 25px;
margin-top: 9px;
}
}

.case-archive__pagenavi-wrapper {
margin-top: 30px;
}

@media screen and (min-width: 520px) {
.case-archive__pagenavi-wrapper {
margin-top: 0;
}
}

@media screen and (min-width: 520px) {
.case-archive__item:hover {
opacity: 0.7;
}
}

.case-single {
background-color: #fff;
padding-top: 32px;
padding-top: 0;
padding-bottom: 30px;
}

@media screen and (min-width: 520px) {
.case-single {
background-color: #FAF7F2;
padding-top: 54px;
padding-bottom: 64px;
}
}

.case-single__box {
background-color: #FFF;
padding: 23px 10px 35px 10px;
padding: 0;
-webkit-box-shadow: 0px 3px 6px #7e7e7e29;
box-shadow: none;
}

@media screen and (min-width: 520px) {
.case-single__box {
padding: 71px 50px 100px 50px;
box-shadow: 0px 3px 6px #7e7e7e29;
}
}

.case-single__title {
font-size: 18px;
font-weight: 600;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.6;
letter-spacing: 0.3px;
}

@media screen and (min-width: 520px) {
.case-single__title {
font-size: 24px;
}
}

.case-single__date {
display: inline-block;
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0.64px;
margin-top: 12px;
}

@media screen and (min-width: 520px) {
.case-single__date {
font-size: 14px;
margin-top: 16px;
}
}

.case-single__category {
display: inline-block;
font-size: 12px;
font-weight: 400;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
margin-left: 10px;
text-decoration: underline;
}

@media screen and (min-width: 520px) {
.case-single__category {
font-size: 14px;
margin-left: 27px;
}
}

.case-single__body {
width: 100%;
margin-top: 14px;
}

@media screen and (min-width: 520px) {
.case-single__body {
margin-top: 26px;
}
}

.case-single__text {
margin-top: 24px;
line-height: 1.8;
}

@media screen and (min-width: 520px) {
.case-single__text {
margin-top: 42px;
}
}

/* 文字装飾 */
.case-single__text img {
margin-bottom: 1.5em;
}
.case-single__text a {
color: #1e73be;
text-decoration: underline;
}
.case-single__text strong {
font-weight: 500;
background-image: linear-gradient(180deg,transparent 80%,#fcec52 0);
padding-bottom: 0;
background-repeat: no-repeat;
background-size: 100% 100%;
-webkit-transition: all 1s;
-o-transition: all 1s;
transition: all 1s;
}
.case-single__text p {
font-size: 14px;
font-weight: 300;
color: #323232;
text-align: left;
line-height: 1.8;
letter-spacing: 0.1px;
font-family: "Noto Sans JP", serif;
padding-bottom: 1.2em;
}
@media screen and (min-width: 520px) {
.case-single__text p {
line-height: 1.8;
font-size: 16px;
}
}
.case-single__text h2 {
line-height: 1.5;
font-size: 17px;
padding: .6em 1em;
margin-top: 2em;
margin-bottom: 1.4em;
border-radius: 3px;
-webkit-box-shadow: 0 1px 5px rgb(0 0 0 / 3%);
box-shadow: 0 1px 5px rgb(0 0 0 / 3%);
background-color: #232323;
color: #fff;
letter-spacing: .025em;
font-family: "Noto Sans JP", serif;
}
@media screen and (min-width: 520px) {
.case-single__text h2 {
line-height: 1.8;
font-size: 18px;
padding: 1em 1.1em;
margin-top: 2.3em;
margin-bottom: 1.5em;
}
}
.case-single__text h3 {
line-height: 1.6;
border-top: 1px solid #232323;
border-bottom: 1px solid #232323;
font-size: 16px;
padding: .5em .2em;
margin-top: 1.4em;
margin-bottom: 1em;
letter-spacing: .025em;
color: #323232;
font-family: "Noto Sans JP", serif;
}
@media screen and (min-width: 520px) {
.case-single__text h3 {
line-height: 1.8;
font-size: 18px;
padding: .6em .3em;
margin-top: 1.8em;
margin-bottom: 1.2em;
}
}
.case-single__text ul {
margin-top: .5em;
margin-bottom: 2em;
}
.case-single__text ul li {
position: relative;
padding-left: 1.35em;
margin: .5em 0;
font-size: 16px;
font-family: "Noto Sans JP", serif;
color: #323232;
}
.case-single__text ul li:before {
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f111";
display: block;
position: absolute;
left: 2px;
top: 1px;
-webkit-transform: scale(.6);
transform: scale(.6);
color: var(--main-ttl-bg);
background: 0 0;
}
.case-single__text ol {
margin-top: .5em;
margin-bottom: 2em;
counter-reset: qumeru-counter;
}
.case-single__text ol>li {
position: relative;
padding-left: 1.8em;
margin: .5em 0;
font-size: 16px;
font-family: "Noto Sans JP", serif;
color: #323232;
}
.case-single__text ol>li:before {
font-family: inherit;
content: counter(qumeru-counter);
counter-increment: qumeru-counter 1;
background-color: #323232;
border: 1px solid #323232;
color: #ffffff;
width: 1.6em;
height: 1.6em;
line-height: 1.6em;
font-weight: 700;
display: block;
text-align: center;
border-radius: 50%;
position: absolute;
-webkit-transform: scale(.7);
transform: scale(.7);
left: 1px;
top: 0;
}
/* 文字装飾おわり */


.case-single__pagenavi-wrapper {
margin-top: 30px;
}

@media screen and (min-width: 520px) {
.case-single__pagenavi-wrapper {
margin-top: 36px;
}
}

.faq {
margin-top: 41px;
margin-bottom: 41px;
}

@media screen and (min-width: 520px) {
.faq {
margin-top: 60px;
margin-bottom: 40px;
}
}

@media screen and (min-width: 960px) {
.faq {
margin-top: 100px;
margin-bottom: 59px;
}
}

.faq__title-back {
font-size: 40px;
line-height: 1.7;
}

@media screen and (min-width: 520px) {
.faq__title-back {
top: -57px;
font-size: 132px;
}
}

/* .faq__item {
width: 100%;
}

@media screen and (max-width: 520px) {
.faq__item + .faq__item {
margin-top: 47px;
}
}

@media screen and (min-width: 520px) {
.faq__item + .faq__item {
margin-top: 37px;
}
}

.faq__question {
position: relative;
font-size: 14px;
font-weight: 600;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
padding-left: 47px;
}

@media screen and (min-width: 520px) {
.faq__question {
font-size: 22px;
padding-left: 90px;
}
}

.faq__question::before {
content: 'Q';
display: inline-block;
position: absolute;
top: -14px;
left: 0px;
width: 40px;
height: 40px;
font-size: 24px;
font-weight: 600;
color: #FFF;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.5;
letter-spacing: 1px;
background-color: #B29464;
border-radius: 50%;
}

@media screen and (min-width: 520px) {
.faq__question::before {
top: -18px;
left: 0px;
width: 60px;
height: 60px;
font-size: 36px;
line-height: 1.5;
}
}

.faq__answer {
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.8;
letter-spacing: 0.1px;
background-color: #FAF7F2;
padding: 30px 18px 23px 18px;
margin-top: 20px;
}

@media screen and (min-width: 520px) {
.faq__answer {
font-size: 16px;
line-height: 1.6;
padding: 22px 30px 27px 30px;
margin-top: 32px;
}
} */

.company {
background-color: #FAF7F2;
padding-top: 0;
padding-bottom: 21px;
}

@media screen and (min-width: 520px) {
.company {
padding-top: 0;
padding-bottom: 60px;
}
}

@media screen and (max-width: 520px) {
.company__title-back {
font-size: 56px;
}
}

.company__text-wrapper {
position: relative;
margin-top: 4px;
}

@media screen and (min-width: 520px) {
.company__text-wrapper {
padding-top: 68px;
}
}

.company__items {
margin-bottom: 27px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}

@media screen and (min-width: 520px) {
.company__items {
margin-bottom: 39px;
}
}

.company__item-title,
.company__item-data {
padding: 25px 10px 25px 0;
border-bottom: 0.5px solid #707070;
}

@media screen and (min-width: 520px) {
.company__item-title,
.company__item-data {
padding: 17px 10px 19px 12px;
}
}

.company__item-title {
width: 30%;
font-size: 14px;
font-weight: 600;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.4;
letter-spacing: 0px;
}

@media screen and (min-width: 520px) {
.company__item-title {
width: 22%;
font-size: 18px;
line-height: 1.8;
letter-spacing: 0.7px;
}
}

.company__item-data {
width: 70%;
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.4;
letter-spacing: 0px;
}

@media screen and (min-width: 520px) {
.company__item-data {
width: 78%;
font-size: 18px;
line-height: 1.8;
letter-spacing: 0.7px;
}
}

.company__item-dot-data {
position: relative;
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.6;
letter-spacing: -0.2px;
padding-left: 7px;
}

@media screen and (min-width: 520px) {
.company__item-dot-data {
font-size: 18px;
line-height: 1.7;
letter-spacing: 0.7px;
padding-left: 20px;
}
}

.company__item-dot-data::before {
display: inline-block;
position: absolute;
top: 9px;
left: -1px;
content: '';
width: 3px;
height: 3px;
border-radius: 20px;
background-color: #B29464;
}

@media screen and (min-width: 520px) {
.company__item-dot-data::before {
top: 15px;
left: 10px;
}
}

.philosophy {
background-color: #FAF7F2;
padding-top: 28px;
padding-bottom: 21px;
}

@media screen and (min-width: 520px) {
.philosophy {
padding-top: 87px;
padding-bottom: 115px;
}
}

@media screen and (max-width: 520px) {
.philosophy__title-back {
font-size: 56px;
}
}

.philosophy__text-wrapper {
position: relative;
margin-top: 19px;
}

@media screen and (min-width: 520px) {
.philosophy__text-wrapper {
margin-top: 56px;
}
}

.philosophy__title {
font-size: 18px;
font-weight: 600;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.8;
letter-spacing: 0px;
padding: 0 1%;
}

@media screen and (min-width: 520px) {
.philosophy__title {
font-size: 28px;
letter-spacing: 1px;
padding: 0;
}
}

.philosophy__text {
font-size: 16px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.6;
letter-spacing: -0.2px;
margin-top: 20px;
}

@media screen and (min-width: 520px) {
.philosophy__text {
max-width: 800px;
line-height: 1.7;
margin: 0 auto;
margin-top: 37px;
}
}

.disclaimer {
margin-top: 28px;
margin-bottom: 80px;
}

@media screen and (min-width: 520px) {
.disclaimer {
margin-top: 87px;
margin-bottom: 80px;
}
}

@media screen and (max-width: 520px) {
.disclaimer__title-back {
font-size: 70px;
}
}

.disclaimer__text-wrapper {
position: relative;
margin-top: 31px;
}

@media screen and (min-width: 520px) {
.disclaimer__text-wrapper {
margin-top: 56px;
}
}

.disclaimer__text {
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.6;
letter-spacing: -0.2px;
margin-top: 20px;
}

@media screen and (min-width: 520px) {
.disclaimer__text {
font-size: 16px;
line-height: 1.8;
letter-spacing: 0px;
margin-top: 37px;
}
}

.privacy-policy {
margin-top: 28px;
}

@media screen and (min-width: 520px) {
.privacy-policy {
margin-top: 87px;
}
}

@media screen and (max-width: 520px) {
.privacy-policy__title-back {
font-size: 56px;
}
}

@media screen and (min-width: 520px) {
.privacy-policy__title-back {
font-size: 80px;
}
}
@media screen and (min-width: 960px) {
.privacy-policy__title-back {
font-size: 156px;
}
}

.privacy-policy__text-wrapper {
position: relative;
margin-top: 29px;
}

@media screen and (min-width: 520px) {
.privacy-policy__text-wrapper {
margin-top: 72px;
}
}

.privacy-policy__text {
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.8;
letter-spacing: 0px;
margin-top: 20px;
}

@media screen and (min-width: 520px) {
.privacy-policy__text {
font-size: 16px;
margin-top: 25px;
letter-spacing: 0px;
}
}

.news-archive {
padding-top: 32px;
padding-bottom: 30px;
}

@media screen and (min-width: 520px) {
.news-archive {
padding-top: 60px;
padding-bottom: 40px;
}
}
@media screen and (min-width: 960px) {
.news-archive {
padding-top: 93px;
padding-bottom: 64px;
}
}

.news-archive__items {
width: 100%;
margin-top: 24px;
}

@media screen and (min-width: 520px) {
.news-archive__items {
margin-top: 43px;
}
}

.news-archive__item {
background-color: #FFF;
border-top: 1px solid #9a9a9a;
padding: 19px 0 20px 0;
}

@media screen and (min-width: 520px) {
.news-archive__item {
padding: 28px 20px 25px 20px;
}
}

.news-archive__item:last-child {
border-bottom: 1px solid #9a9a9a;
}

.news-archive__link {
display: block;
}

.news-archive__title {
font-size: 16px;
font-weight: 600;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.3;
letter-spacing: 0px;
}

@media screen and (min-width: 520px) {
.news-archive__title {
line-height: 1.3;
}
}

.news-archive__date {
display: inline-block;
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0.6px;
margin-top: 21px;
}

@media screen and (min-width: 520px) {
.news-archive__date {
font-size: 14px;
margin-top: 26px;
}
}

.news-archive__category {
display: inline-block;
font-size: 12px;
font-weight: 400;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
margin-left: 10px;
text-decoration: underline;
}

@media screen and (min-width: 520px) {
.news-archive__category {
font-size: 14px;
margin-left: 16px;
}
}

.news-archive__pagenavi-wrapper {
margin-top: 30px;
}

@media screen and (min-width: 520px) {
.news-archive__pagenavi-wrapper {
margin-top: 36px;
}
}

.news-single {
background-color: #FAF7F2;
padding-top: 20px;
padding-bottom: 30px;
}

@media screen and (min-width: 520px) {
.news-single {
padding-top: 53px;
padding-bottom: 64px;
}
}
@media screen and (max-width: 520px) {
.news-single .container{
padding: 0 10px;
}
}

.news-single__box {
background-color: #FFF;
padding: 30px 19px 35px 14px;
-webkit-box-shadow: 0px 3px 6px #7e7e7e29;
box-shadow: 0px 3px 6px #7e7e7e29;
}

@media screen and (min-width: 520px) {
.news-single__box {
padding: 71px 85px 100px 50px;
}
}
@media screen and (min-width: 960px) {
.news-single__box {
padding: 71px 85px 175px 50px;
}
}

.news-single__title {
font-size: 18px;
font-weight: 600;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0.3px;
}

@media screen and (min-width: 520px) {
.news-single__title {
font-size: 24px;
}
}

.news-single__date {
display: inline-block;
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0.64px;
margin-top: 21px;
}

@media screen and (min-width: 520px) {
.news-single__date {
font-size: 14px;
margin-top: 16px;
}
}

.news-single__category {
display: inline-block;
font-size: 12px;
font-weight: 400;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
margin-left: 10px;
text-decoration: underline;
}

@media screen and (min-width: 520px) {
.news-single__category {
font-size: 14px;
margin-left: 27px;
}
}

.news-single__body {
width: 100%;
margin-top: 23px;
}

@media screen and (min-width: 520px) {
.news-single__body {
margin-top: 48px;
}
}

/* 文字装飾 */
.news-single__text img {
margin-bottom: 1.5em;
}
.news-single__text a {
color: #1e73be;
text-decoration: underline;
}
.news-single__text strong {
font-weight: 500;
background-image: linear-gradient(180deg,transparent 80%,#fcec52 0);
padding-bottom: 0;
background-repeat: no-repeat;
background-size: 100% 100%;
-webkit-transition: all 1s;
-o-transition: all 1s;
transition: all 1s;
}
.news-single__text p {
font-size: 14px;
font-weight: 300;
color: #323232;
text-align: left;
line-height: 1.8;
letter-spacing: 0.1px;
font-family: "Noto Sans JP", serif;
padding-bottom: 1.2em;
}
@media screen and (min-width: 520px) {
.news-single__text p {
line-height: 1.8;
font-size: 16px;
}
}
.news-single__text h2 {
line-height: 1.5;
font-size: 17px;
padding: .6em 1em;
margin-top: 2em;
margin-bottom: 1.4em;
border-radius: 3px;
-webkit-box-shadow: 0 1px 5px rgb(0 0 0 / 3%);
box-shadow: 0 1px 5px rgb(0 0 0 / 3%);
background-color: #232323;
color: #fff;
letter-spacing: .025em;
font-family: "Noto Sans JP", serif;
}
@media screen and (min-width: 520px) {
.news-single__text h2 {
line-height: 1.8;
font-size: 18px;
padding: 1em 1.1em;
margin-top: 2.3em;
margin-bottom: 1.5em;
}
}
.news-single__text h3 {
line-height: 1.6;
border-top: 1px solid #232323;
border-bottom: 1px solid #232323;
font-size: 16px;
padding: .5em .2em;
margin-top: 1.4em;
margin-bottom: 1em;
letter-spacing: .025em;
color: #323232;
font-family: "Noto Sans JP", serif;
}
@media screen and (min-width: 520px) {
.news-single__text h3 {
line-height: 1.8;
font-size: 18px;
padding: .6em .3em;
margin-top: 1.8em;
margin-bottom: 1.2em;
}
}
.news-single__text ul {
margin-top: .5em;
margin-bottom: 2em;
}
.news-single__text ul li {
position: relative;
padding-left: 1.35em;
margin: .5em 0;
font-size: 16px;
font-family: "Noto Sans JP", serif;
color: #323232;
}
.news-single__text ul li:before {
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f111";
display: block;
position: absolute;
left: 2px;
top: 1px;
-webkit-transform: scale(.6);
transform: scale(.6);
color: var(--main-ttl-bg);
background: 0 0;
}
.news-single__text ol {
margin-top: .5em;
margin-bottom: 2em;
counter-reset: qumeru-counter;
}
.news-single__text ol>li {
position: relative;
padding-left: 1.8em;
margin: .5em 0;
font-size: 16px;
font-family: "Noto Sans JP", serif;
color: #323232;
}
.news-single__text ol>li:before {
font-family: inherit;
content: counter(qumeru-counter);
counter-increment: qumeru-counter 1;
background-color: #323232;
border: 1px solid #323232;
color: #ffffff;
width: 1.6em;
height: 1.6em;
line-height: 1.6em;
font-weight: 700;
display: block;
text-align: center;
border-radius: 50%;
position: absolute;
-webkit-transform: scale(.7);
transform: scale(.7);
left: 1px;
top: 0;
}
/* 文字装飾おわり */



.news-single__pagenavi-wrapper {
margin-top: 30px;
}

@media screen and (min-width: 520px) {
.news-single__pagenavi-wrapper {
margin-top: 29px;
}
}

.blog-archive {
padding-top: 20px;
padding-bottom: 30px;
}

@media screen and (min-width: 520px) {
.blog-archive {
padding-top: 50px;
padding-bottom: 30px;
}
}
@media screen and (min-width: 960px) {
.blog-archive {
padding-top: 72px;
padding-bottom: 52px;
}
}

@media screen and (min-width: 520px) {
.blog-archive__flexbox {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}
}

.blog-archive__items {
width: 100%;
margin-top: 0;
}

@media screen and (min-width: 520px) {
.blog-archive__items {
margin-top: 43px;
}
}

.blog-archive__item {
background-color: #FFF;
padding: 20px 0 20px 0;
}

@media screen and (max-width: 520px) {
.blog-archive__item {
-webkit-box-shadow: 0px 3px 6px #7e7e7e29;
box-shadow: 0px 3px 6px #7e7e7e29;
margin-top: 16px;
}
}

@media screen and (min-width: 520px) {
.blog-archive__item {
border-bottom: 1px solid #9a9a9a;
padding: 20px 33px 25px 0;
}
}

.blog-archive__link {
display: block;
}

@media screen and (min-width: 520px) {
.blog-archive__image-wrapper {
width: 35%;
}
}

.blog-archive__image {
width: 100%;
height: 230px;
-o-object-fit: cover;
object-fit: cover;
}

@media screen and (min-width: 520px) {
.blog-archive__image {
width: 300px;
height: 200px;
}
}

.blog-archive__text-wrapper {
width: 100%;
padding: 17px 20px 17px 20px;
}

@media screen and (min-width: 520px) {
.blog-archive__text-wrapper {
width: 75%;
margin-left: 30px;
padding: 0 0 10px 0;
}
}

.blog-archive__title {
font-size: 16px;
font-weight: 600;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.9;
letter-spacing: 0.3px;
margin-top: 20px;
}

@media screen and (min-width: 520px) {
.blog-archive__title {
font-size: 20px;
line-height: 1.3;
margin-top: 20px;
}
}

.blog-archive__text-flexbox {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

@media screen and (min-width: 520px) {
.blog-archive__text-flexbox {
-webkit-box-align: end;
-ms-flex-align: end;
align-items: flex-end;
}
}

.blog-archive__date {
display: inline-block;
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: right;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0.6px;
width: 100px;
}

@media screen and (min-width: 520px) {
.blog-archive__date {
font-size: 14px;
text-align: center;
}
}

.blog-archive__category {
display: inline-block;
font-size: 14px;
font-weight: 400;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0.5px;
border: 1px solid #B29464;
padding: 6px 6px 6px 6px;
margin-right: 10px;
}

@media screen and (min-width: 520px) {
.blog-archive__category {
letter-spacing: 1.8px;
font-size: 14px;
padding: 6px 6px 6px 6px;
margin-right: 16px;
}
}

.blog-archive__category + .blog-archive__category {
margin-top: 5px;
}

@media screen and (max-width: 520px) {
.blog-archive__text {
display: none;
}
}

@media screen and (min-width: 520px) {
.blog-archive__text {
font-size: 16px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.6;
letter-spacing: 0.1px;
margin-top: 12px;
}
}

.blog-archive__pagenavi-wrapper {
margin-top: 30px;
}

@media screen and (min-width: 520px) {
.blog-archive__pagenavi-wrapper {
margin-top: 49px;
}
}

.blog-single {
background-color: #FAF7F2;
padding-top: 32px;
padding-bottom: 30px;
}

@media screen and (min-width: 520px) {
.blog-single {
padding-top: 0;
padding-bottom: 0;
}
}

@media screen and (min-width: 960px) {
.blog-single {
padding-top: 54px;
padding-bottom: 52px;
}
}

.blog-single__box {
background-color: #FFF;
padding: 23px 19px 30px 14px;
-webkit-box-shadow: 0px 3px 6px #7e7e7e29;
box-shadow: 0px 3px 6px #7e7e7e29;
}

@media screen and (min-width: 520px) {
.blog-single__box {
padding: 30px 50px 60px 50px;
}
}
@media screen and (min-width: 960px) {
.blog-single__box {
padding: 71px 60px 80px 60px;
}
}

.blog-single__title {
font-size: 18px;
font-weight: 600;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.6;
letter-spacing: 0.3px;
}

@media screen and (min-width: 520px) {
.blog-single__title {
font-size: 24px;
}
}

.blog-single__date {
display: inline-block;
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0.64px;
margin-top: 12px;
}

@media screen and (min-width: 520px) {
.blog-single__date {
font-size: 14px;
margin-top: 10px;
}
}

@media screen and (min-width: 960px) {
.blog-single__date {
font-size: 14px;
margin-top: 16px;
}
}

.blog-single__category {
display: inline-block;
font-size: 12px;
font-weight: 400;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
margin-left: 10px;
text-decoration: underline;
}

@media screen and (min-width: 520px) {
.blog-single__category {
font-size: 14px;
margin-left: 27px;
}
}

.blog-single__body {
width: 100%;
margin-top: 14px;
}

@media screen and (min-width: 520px) {
.blog-single__body {
margin-top: 26px;
}
}

.blog-single__text {
margin-top: 24px;
line-height: 1.8;
}

@media screen and (min-width: 520px) {
.blog-single__text{
margin-top: 42px;
}
}

/* 文字装飾 */
.blog-single__text img {
margin-bottom: 1.5em;
}
.blog-single__text a {
color: #1e73be;
text-decoration: underline;
}
.blog-single__text strong {
font-weight: 500;
background-image: linear-gradient(180deg,transparent 80%,#fcec52 0);
padding-bottom: 0;
background-repeat: no-repeat;
background-size: 100% 100%;
-webkit-transition: all 1s;
-o-transition: all 1s;
transition: all 1s;
}
.blog-single__text p {
font-size: 14px;
font-weight: 300;
color: #323232;
text-align: left;
line-height: 1.8;
letter-spacing: 0.1px;
font-family: "Noto Sans JP", serif;
padding-bottom: 1.2em;
}
@media screen and (min-width: 520px) {
.blog-single__text p {
line-height: 1.8;
font-size: 16px;
}
}
.blog-single__text h2 {
line-height: 1.5;
font-size: 17px;
padding: .6em 1em;
margin-top: 2em;
margin-bottom: 1.4em;
border-radius: 3px;
-webkit-box-shadow: 0 1px 5px rgb(0 0 0 / 3%);
box-shadow: 0 1px 5px rgb(0 0 0 / 3%);
background-color: #232323;
color: #fff;
letter-spacing: .025em;
font-family: "Noto Sans JP", serif;
}
@media screen and (min-width: 520px) {
.blog-single__text h2 {
line-height: 1.8;
font-size: 18px;
padding: 1em 1.1em;
margin-top: 2.3em;
margin-bottom: 1.5em;
}
}
.blog-single__text h3 {
line-height: 1.6;
border-top: 1px solid #232323;
border-bottom: 1px solid #232323;
font-size: 16px;
padding: .5em .2em;
margin-top: 1.4em;
margin-bottom: 1em;
letter-spacing: .025em;
color: #323232;
font-family: "Noto Sans JP", serif;
}
@media screen and (min-width: 520px) {
.blog-single__text h3 {
line-height: 1.8;
font-size: 18px;
padding: .6em .3em;
margin-top: 1.8em;
margin-bottom: 1.2em;
}
}
.blog-single__text ul {
margin-top: .5em;
margin-bottom: 2em;
}
.blog-single__text ul li {
position: relative;
padding-left: 1.35em;
margin: .5em 0;
font-size: 16px;
font-family: "Noto Sans JP", serif;
color: #323232;
}
.blog-single__text ul li:before {
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f111";
display: block;
position: absolute;
left: 2px;
top: 1px;
-webkit-transform: scale(.6);
transform: scale(.6);
color: var(--main-ttl-bg);
background: 0 0;
}
.blog-single__text ol {
margin-top: .5em;
margin-bottom: 2em;
counter-reset: qumeru-counter;
}
.blog-single__text ol>li {
position: relative;
padding-left: 1.8em;
margin: .5em 0;
font-size: 16px;
font-family: "Noto Sans JP", serif;
color: #323232;
}
.blog-single__text ol>li:before {
font-family: inherit;
content: counter(qumeru-counter);
counter-increment: qumeru-counter 1;
background-color: #323232;
border: 1px solid #323232;
color: #ffffff;
width: 1.6em;
height: 1.6em;
line-height: 1.6em;
font-weight: 700;
display: block;
text-align: center;
border-radius: 50%;
position: absolute;
-webkit-transform: scale(.7);
transform: scale(.7);
left: 1px;
top: 0;
}
/* 文字装飾おわり */


.blog-single__pagenavi-wrapper {
margin-top: 30px;
}

@media screen and (min-width: 520px) {
.blog-single__pagenavi-wrapper {
margin-top: 41px;
padding-bottom: 1.5rem;
}
}
@media screen and (min-width: 960px) {
.blog-single__pagenavi-wrapper {
margin-top: 41px;
padding-bottom: 0rem;
}
}

.contact-form {
background-color: #FAF7F2;
padding-top: 29px;
padding-bottom: 40px;
}

@media screen and (min-width: 520px) {
.contact-form {
padding-top: 67px;
padding-bottom: 83px;
}
}

@media screen and (max-width: 520px) {
.contact-form__container {
padding: 0 38px;
}
}

@media screen and (max-width: 520px) {
.contact-form__title-back {
top: 45px;
font-size: 54px;
}
}

.contact-form__wrapper {
margin-top: 19px;
}

@media screen and (min-width: 520px) {
.contact-form__wrapper {
margin-top: 50px;
}
}

.contact-form__required {
display: inline-block;
font-size: 12px;
font-weight: 400;
color: #FFF;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.6;
letter-spacing: 0.3px;
background-color: #B29464;
padding: 1px 7px 2px 7px;
margin-left: 14px;
}

@media screen and (min-width: 520px) {
.contact-form__required {
font-size: 14px;
padding: 2px 7px 2px 7px;
margin-left: 17px;
}
}

.contact-form__item {
border-bottom: 1px solid #dbdbdb;
padding: 14px 0 14px 0;
}

@media screen and (min-width: 520px) {
.contact-form__item {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
padding: 10px 0;
}
}

.contact-form__title {
position: relative;
width: 100%;
font-size: 14px;
font-weight: 600;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.8;
letter-spacing: 0.5px;
padding: 0 0 7px 0;
}

@media screen and (min-width: 520px) {
.contact-form__title {
width: 35%;
max-width: 300px;
font-size: 16px;
padding: 7px 0;
}
}

.contact-form__data {
width: 100%;
}

@media screen and (min-width: 520px) {
.contact-form__data {
width: 75%;
max-width: 700px;
height: auto;
}
}

.contact-form__name,
.contact-form__email,
.contact-form__tel,
.contact-form__postal-code,
.contact-form__prefectures,
.contact-form__address,
.contact-form__message {
width: 100%;
height: 35px;
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.8;
letter-spacing: 0.5px;
background-color: #FFF;
border: 1px solid #B29464;
border-radius: 3px;
padding: 2px 10px;
}

@media screen and (min-width: 520px) {
.contact-form__name,
.contact-form__email,
.contact-form__tel,
.contact-form__postal-code,
.contact-form__prefectures,
.contact-form__address,
.contact-form__message {
height: 45px;
font-size: 16px;
}
}

.contact-form__name:focus,
.contact-form__email:focus,
.contact-form__tel:focus,
.contact-form__postal-code:focus,
.contact-form__prefectures:focus,
.contact-form__address:focus,
.contact-form__message:focus {
outline: 0;
}

@media screen and (max-width: 520px) {
.contact-form__name,
.contact-form__tel {
max-width: 100%;
}
}

@media screen and (max-width: 520px) {
.contact-form__email,
.contact-form__message {
max-width: 100%;
}
}

.contact-form__postal-code {
width: 70%;
}

@media screen and (min-width: 520px) {
.contact-form__postal-code {
width: 51%;
max-width: 322px;
}
}

.contact-form__prefectures {
width: 134px;
margin-left: 18px;
}

.contact-form__message {
height: 99px;
resize: vertical;
}

@media screen and (min-width: 520px) {
.contact-form__message {
height: 133px;
}
}

.contact-form__radio-wrapper {
padding: 12px 0 4px 0;
}

@media screen and (max-width: 520px) {
.contact-form__radio-wrapper {
margin-top: -21px;
}
}

@media screen and (min-width: 520px) {
.contact-form__radio-wrapper {
padding: 12px 0 4px 0;
}
}

input[type=radio] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
display: none;
}

.mw_wp_form_confirm .contact-form__radio-wrapper {
margin-left: -97px;
padding: 0;
}

@media screen and (max-width: 520px) {
.mw_wp_form_confirm .contact-form__radio-wrapper {
margin-top: 0;
}
}

.mw_wp_form_confirm .contact-form__data {
padding: 0 0 7px 0;
line-height: 1.8;
}

@media screen and (min-width: 520px) {
.mw_wp_form_confirm .contact-form__data {
padding: 7px 0;
}
}

.contact-form__radio-wrapper label {
display: block;
position: relative;
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0.2px;
padding-left: 35px;
margin-bottom: -4px;
}

@media screen and (min-width: 520px) {
.contact-form__radio-wrapper label {
font-size: 16px;
line-height: 1.3;
letter-spacing: 0.2px;
padding-left: 41px;
margin-top: -17px;
margin-bottom: 21px;
}
}

.contact-form__radio + span::before {
content: '';
display: inline-block;
position: absolute;
top: 1px;
left: 7px;
width: 13px;
height: 13px;
background-color: #FFF;
border: 1px solid #707070;
border-radius: 50%;
margin-right: 7px;
-webkit-transition: all 0.12s, border-color 0.08s;
transition: all 0.12s, border-color 0.08s;
}

@media screen and (min-width: 520px) {
.contact-form__radio + span::before {
top: 0;
left: 0;
width: 18px;
height: 18px;
}
}

.contact-form__radio:checked + span::after {
content: '';
display: inline-block;
position: absolute;
top: 4px;
left: 10px;
width: 9px;
height: 9px;
border-radius: 50%;
background-color: #B29464;
vertical-align: middle;
-webkit-transition: all 0.12s, border-color 0.08s;
transition: all 0.12s, border-color 0.08s;
}

@media screen and (min-width: 520px) {
.contact-form__radio:checked + span::after {
top: 4px;
left: 4px;
width: 12px;
height: 12px;
}
}

input + span.error {
margin-top: 10px;
}

.contact-form__button-wrapper {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: reverse;
-ms-flex-direction: column-reverse;
flex-direction: column-reverse;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-top: 0;
}

@media screen and (min-width: 520px) {
.contact-form__button-wrapper {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
margin-top: 46px;
}
}

@media screen and (max-width: 520px) {
.mw_wp_form_confirm .contact-form__button-wrapper {
margin-top: 36px;
}
}

.contact-form__button-confirm {
padding: 16px 84px;
}

@media screen and (min-width: 520px) {
.contact-form__button-confirm {
padding: 21px 117px;
}
}

.contact-form__button-back {
color: #B29464;
background-color: #FFF;
padding: 16px 121px;
}

@media screen and (min-width: 520px) {
.contact-form__button-back {
padding: 21px 117px;
}
}

.contact-form__button-submit {
padding: 16px 104px;
}

@media screen and (min-width: 520px) {
.contact-form__button-submit {
padding: 21px 117px;
margin-left: 30px;
}
}

.contact-form__thanks-message {
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.8;
letter-spacing: 0.5px;
margin-top: 56px;
margin-bottom: 14px;
}

@media screen and (min-width: 520px) {
.contact-form__thanks-message {
font-size: 16px;
margin-top: 110px;
}
}

.contact-line {
background-color: #FAF7F2;
padding-top: 27px;
padding-bottom: 26px;
}

@media screen and (min-width: 520px) {
.contact-line {
padding-top: 100px;
padding-bottom: 60px;
}
}

@media screen and (min-width: 960px) {
.contact-line {
padding-top: 157px;
padding-bottom: 79px;
}
}

@media screen and (max-width: 520px) {
.contact-line__title-back {
top: 45px;
font-size: 54px;
}
}

.contact-line__box {
position: relative;
background-color: #FFF;
-webkit-box-shadow: 0px 2px 10px #62626229;
box-shadow: 0px 2px 10px #62626229;
padding: 28px 18px 23px 18px;
margin-top: 36px;
}

@media screen and (min-width: 520px) {
.contact-line__box {
padding: 52px 10% 25px 10%;
margin-top: 69px;
}
}

.contact-line__title {
font-size: 18px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.8;
letter-spacing: 0px;
padding: 0 1%;
}

@media screen and (min-width: 520px) {
.contact-line__title {
font-size: 24px;
letter-spacing: 1px;
padding: 0;
}
}

.contact-line__text {
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.9;
letter-spacing: 0px;
}

@media screen and (min-width: 520px) {
.contact-line__text {
font-size: 18px;
line-height: 2.1;
}
}

.contact-line__annotation {
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 2.1;
letter-spacing: 0px;
margin-top: 9px;
}

@media screen and (min-width: 520px) {
.contact-line__annotation {
font-size: 16px;
line-height: 2.2;
margin-top: 22px;
}
}

.contact-line__button-wrapper {
text-align: center;
margin-top: 24px;
}

@media screen and (min-width: 520px) {
.contact-line__button-wrapper {
margin-top: 48px;
}
}

.contact-line__button {
font-family: "Noto Sans JP", serif;
font-size: 15px;
padding: 24px 60px 24px 81px;
background-color: #4cc764;
-webkit-box-shadow: 0px 3px 6px #00000029;
box-shadow: 0px 3px 6px #00000029;
border: none;
border-radius: 38px;
}

@media screen and (min-width: 520px) {
.contact-line__button {
font-size: 18px;
padding: 28px 68px 28px 99px;
}
}

.contact-line__button::before {
content: '';
background-image: url("../img/13_contact/icon-line.svg");
background-size: contain;
position: absolute;
top: 52%;
left: 23px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 40px;
height: 38px;
-webkit-transition: all 0.5s ease 0.1s;
transition: all 0.5s ease 0.1s;
}

@media screen and (min-width: 520px) {
.contact-line__button::before {
top: 52%;
left: 27px;
width: 48px;
height: 46px;
}
}

.contact-line__button::after {
right: 20px;
}

@media screen and (min-width: 520px) {
.contact-line__button::after {
right: 20px;
}
}

@media screen and (min-width: 520px) {
.contact-line__button:hover {
color: #FFF;
background-color: #4cc764;
opacity: 0.8;
}
.contact-line__button:hover::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
}

.contact-tel {
padding-top: 30px;
padding-bottom: 30px;
}

@media screen and (min-width: 520px) {
.contact-tel {
padding-top: 80px;
padding-bottom: 80px;
}
}

@media screen and (min-width: 960px) {
.contact-tel {
padding-top: 100px;
padding-bottom: 100px;
}
}

.contact-tel__box {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
border: 1px solid #B29464;
padding: 20px 0 30px 0;
}

@media screen and (min-width: 520px) {
.contact-tel__box {
padding: 21px 0 28px 0;
}
}

@media screen and (min-width: 520px) {
.contact-tel__flexbox {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
}

.contact-tel__title-flexbox {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

@media screen and (min-width: 520px) {
.contact-tel__title-flexbox {
-webkit-box-orient: horizontal;
-webkit-box-direction: reverse;
-ms-flex-direction: row-reverse;
flex-direction: row-reverse;
}
}

.contact-tel__mark {
font-size: 14px;
font-weight: 400;
color: #FFF;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.3;
letter-spacing: 1.3px;
background-color: #B29464;
border-radius: 5px;
padding: 5px 9px;
}

@media screen and (min-width: 520px) {
.contact-tel__mark {
font-size: 16px;
padding: 7px 11px;
margin-left: 38px;
}
}

.contact-tel__title {
font-size: 18px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.9;
letter-spacing: 0px;
}

@media screen and (max-width: 520px) {
.contact-tel__title {
margin-left: 12px;
}
}

@media screen and (min-width: 520px) {
.contact-tel__title {
line-height: 2.1;
}
}

.contact-tel__tel {
display: block;
font-size: 34px;
font-weight: 600;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.8;
letter-spacing: 0px;
}

@media screen and (max-width: 520px) {
.contact-tel__tel {
margin-top: 11px;
}
}

@media screen and (min-width: 520px) {
.contact-tel__tel {
font-size: 40px;
letter-spacing: 1px;
margin-left: 15px;
}
}
@media screen and (min-width: 960px) {
.contact-tel__tel {
font-size: 46px;
letter-spacing: 1px;
margin-left: 20px;
}
}

.contact-tel__hours-wrapper {
text-align: center;
}

@media screen and (max-width: 520px) {
.contact-tel__hours-wrapper {
margin-top: 5px;
}
}

.contact-tel__header {
display: inline-block;
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.4;
letter-spacing: 0px;
background-color: #e2e2e1;
border-radius: 27px;
padding: 1px 18px;
}

@media screen and (min-width: 520px) {
.contact-tel__header {
font-size: 14px;
padding: 3px 18px;
}
}

.contact-tel__hours {
display: inline-block;
font-size: 14px;
font-weight: 400;
color: #323232;
text-align: center;
font-family: "Noto Serif JP", sans-serif;
line-height: 1.9;
letter-spacing: 0px;
}

@media screen and (min-width: 520px) {
.contact-tel__hours {
font-size: 18px;
line-height: 2.1;
margin-left: 7px;
}
}

.topics-archive {
padding-top: 32px;
padding-bottom: 30px;
}

@media screen and (min-width: 520px) {
.topics-archive {
padding-top: 93px;
padding-bottom: 64px;
}
}

.topics-archive__items {
width: 100%;
margin-top: 43px;
}

@media screen and (min-width: 520px) {
.topics-archive__items {
margin-top: 43px;
}
}

.topics-archive__item {
background-color: #FFF;
border-top: 1px solid #9a9a9a;
padding: 20px 0 20px 0;
}

@media screen and (min-width: 520px) {
.topics-archive__item {
padding: 28px 20px 25px 20px;
}
}

.topics-archive__item:last-child {
border-bottom: 1px solid #9a9a9a;
}

.topics-archive__link {
display: block;
}

.topics-archive__title {
font-size: 16px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
}

.topics-archive__date {
display: inline-block;
font-size: 12px;
font-weight: 400;
color: #323232;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0.6px;
margin-top: 21px;
}

@media screen and (min-width: 520px) {
.topics-archive__date {
font-size: 14px;
margin-top: 26px;
}
}

.topics-archive__category {
display: inline-block;
font-size: 12px;
font-weight: 400;
color: #B29464;
text-align: left;
font-family: "Noto Serif JP", sans-serif;
line-height: 1;
letter-spacing: 0px;
margin-left: 10px;
text-decoration: underline;
}

@media screen and (min-width: 520px) {
.topics-archive__category {
font-size: 14px;
margin-left: 16px;
}
}

.topics-archive__pagenavi-wrapper {
margin-top: 30px;
}

@media screen and (min-width: 520px) {
.topics-archive__pagenavi-wrapper {
margin-top: 36px;
}
}









/* SNSボタン */
.sns-footer{
margin-top: 2rem;
margin-bottom: 2rem;
}
.sns-nav-list {
display: flex;
margin-top: 2rem;
justify-content: center;
}
.sns {
margin-left: .3rem;
margin-right: .3rem;
}
.footer .sns a {
display: flex;
justify-content: center;
align-items: center;
width: 2.2rem;
height: 2.2rem;
background-color: #fff;
border-radius: 50%;
}
.footer .sns a img {
width: 1.2rem;
height: 1.2rem;
}
#twitter{
background: #00a1e9;
}
#facebook{
background: #3b5998;
}
#youtube{
background: #DA1725;
}
#youtube img{
margin-top: .4rem;
}
#ameba{
background: #2d8c3c;
}
#note{
background: #41C9B4;
}
#note img{
width: 2.3rem;
height: 2.3rem;
}
#instagram{
background-color: transparent;
}
#instagram img{
width: 2.2rem;
height: 2.2rem;
}
@media screen and (min-width: 520px) {
.sns-nav-list {

}
.sns {
margin-right: .7rem;
margin-left: 0;
}
}
/* 404ページ */
.page404{
position: relative;
min-height: 90vh;
}
.page404-text {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
font-family: "Noto Sans JP", serif;
text-align: center;
}
.page404-text h1{
font-size: 50px;
margin-bottom: 1em;
}
.page404-text p{
font-size: 20px;
margin-bottom: 2em;
line-height: 1.5;
}
.page404-text a{
display: block;
border: 1px solid #323232;
line-height: 3em;
border-radius: 5px;
}
/* 検索システムのポップアップボタン */
/* 参考：https://affirepo.com/popup-win/ */
.popup_wrap input {
display: none;
}
.popup_overlay {
display: flex;
justify-content: center;
overflow: auto;
position: fixed;
top: 0;
left: 0;
z-index: 999;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
opacity: 0;
transition: opacity 0.5s, transform 0s 0.5s;
transform: scale(0);
}
.popup_trigger {
position: absolute;
width: 100%;
height: 100%;
}
.popup_content {
position: relative;
align-self: center;
padding: 0 50px;
box-sizing: border-box;
transition: 0.5s;
}
.close_btn {
position: absolute;
top: 10px;
right: 10px;
font-size: 24px;
cursor: pointer;
padding: 10px;
background: #b29464;
color: #fff;
line-height: 24px;
border-radius: 50%;
font-weight: 700;
}
.popup_wrap input:checked ~ .popup_overlay {
opacity: 1;
transform: scale(1);
transition: opacity 0.5s;
}
/* .popup_wrap input:checked ~ .popup_overlay .popup_content{
transform: translateY(50px);
} */
.popup-img {
height: 100vh;
width: auto;
}
@media screen and (max-width: 520px) {
.popup_content{
padding: 0;
}
.popup-img {
height: 90%;
width: 90%;
}
}
/* IBJバナー */
.banner{
background-color: #323232;
padding-top: 50px;
padding-bottom: 20px;
}
.banner .container{
display: flex;
}
.banner-item{
width: calc(82%/3);
margin: 20px 3%;
}
@media screen and (max-width: 520px) {
.banner{
padding-top: 30px;
padding-bottom: 10px;
}
.banner .container{
display: block;
}
.banner-item{
width: 94%;
margin: 20px 3%;
}
}

/* よくある質問のアコーディオン */
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.cp_qa .cp_actab {
position: relative;
overflow: hidden;
width: 100%;
margin: 0 0 1em 0;
color: #B29463;
}
.cp_qa .cp_actab input {
position: absolute;
opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
font-weight: bold;
line-height: 1.6em;
position: relative;
display: block;
margin: 0 0 0 0;
padding: 1em 2em 1em 2.5em;
cursor: pointer;
text-indent: 1em;
background:#faf7f2;
font-size: 20px;
}
.cp_qa .cp_actab label::before {
font-size: 1.8em;
margin-left: -1em;
padding-right: 1em;
content: 'Q';
}
.cp_qa .cp_actab label:hover {
transition: all 0.3s;
color: #B29463;
}
/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
font-size: 1.7em;
font-weight: bold;
line-height: 2em;
position: absolute;
top: 0;
right: 0;
content: '\2b';
display: inline-block;
width: 2em;
height: 2em;
-webkit-transition: transform 0.4s;
transition: transform 0.4s;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
position: relative;
overflow: hidden;
max-height: 0;
padding: 0 0 0 2.5em;
-webkit-transition: max-height 0.2s;
transition: max-height 0.2s;
border-radius: 0 0 0.5em 0.5em;
}
.cp_qa .cp_actab .cp_actab-content::before {
font-size: 1.5em;
position: absolute;
margin: 0.4em 0 0 -1em;
padding: 0;
content: 'A';
}
.cp_qa .cp_actab .cp_actab-content p {
margin: 1em 1em 1em 1em;
line-height: 1.5;
color: #232323;
}
/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
max-height: 40em;
border: 10px solid #faf7f2;
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked ~ label {
color: #B29463;
border-radius: 0.5em 0.5em 0 0;
}
/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
-webkit-transform: rotateZ(45deg);
transform: rotateZ(45deg);
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
}
@media screen and (max-width: 520px) {
.cp_qa .cp_actab label {
font-size: 16px;
padding: 1em 2.2em 1em 2.2em;
}
.cp_qa .cp_actab label::before {
font-size: 1.2em;
margin-left: -2em;
padding-right: .3em;
}
}

/* プライバシーポリシー */
.privacy-policy__h3{
font-size: 20px;
font-weight: 600;
margin: 2.5rem 0 1rem;
line-height: 1.5;
}
@media screen and (max-width: 520px) {
.privacy-policy__h3{
font-size: 18px;
}
}
@media screen and (max-width: 960px) {
.privacy-policy__h3{

}
}

.privacy-policy__h4{
font-size: 18px;
font-weight: 600;
margin: 2rem 0 1rem;
line-height: 1.5;
}
@media screen and (max-width: 520px) {
.privacy-policy__h4{
font-size: 16px;
}
}
@media screen and (max-width: 960px) {
.privacy-policy__h4{

}
}

/* 加盟店ロゴ */
.kamei-logo{
margin: 1rem auto;
}
.kamei-logo img{
width: 100%;
max-width: 230px;
height: auto;
}

/* キャンペーン */
.campaign{
padding: 6rem 0;
background-color: #FAF7F2;
margin: 5rem 0 0 0;
}
.campaign-list{
display: flex;
justify-content: center;
}
.campaign-item{
width: calc(94% / 3);
margin: 4rem 1% 1rem;
}
.campaign-item img{

}
.campaign-text{
font-size: 14px;
text-align: right;
line-height: 1.2;
}
@media screen and (max-width: 960px) {
.campaign{
padding: 5rem 0;
margin: 5rem 0 0 0;
}
.campaign-list{
display: block;
}
.campaign-item{
width: 100%;
margin: 3rem 0 1rem;
}
.campaign-item img{

}
.campaign-text{
font-size: 12px;
text-align: left;
}
}



/* 料金表 */
#plan-text01{
font-size: 12px;
color: #323232;
margin: 0;
}