/*
Theme Name:origin
Description:origin template
Version:1.0
*/
.fadeInDown {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -ms-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  visibility: visible !important; }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-padding-start: 0;
  line-height: 1;
  -webkit-text-size-adjust: none;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0; }

ol,
ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

input[type="password"],
input[type="text"],
input[type="submit"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="button"],
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  border: none; }

body, html {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  min-height: 100vh;
  background: #FAF8F4; }

a {
  font-size: inherit;
  color: inherit;
  text-decoration: inherit;
  display: inline-block; }

* {
  box-sizing: border-box; }

.center {
  text-align: center; }

.left {
  text-align: left; }

.right {
  text-align: right; }

.hide--all {
  display: none !important; }

.hide--1480.block {
  display: block !important; }
.hide--1480.flex {
  display: flex !important; }
@media (max-width: 1480px) {
  .hide--1480 {
    display: none !important; } }

.hide--1200.block {
  display: block !important; }
.hide--1200.flex {
  display: flex !important; }
@media (max-width: 1200px) {
  .hide--1200 {
    display: none !important; } }

.hide--1120.block {
  display: block !important; }
.hide--1120.flex {
  display: flex !important; }
@media (max-width: 1120px) {
  .hide--1120 {
    display: none !important; } }

.hide--1040.block {
  display: block !important; }
.hide--1040.flex {
  display: flex !important; }
@media (max-width: 1040px) {
  .hide--1040 {
    display: none !important; } }

.hide--960.block {
  display: block !important; }
.hide--960.flex {
  display: flex !important; }
@media (max-width: 960px) {
  .hide--960 {
    display: none !important; } }

.hide--880.block {
  display: block !important; }
.hide--880.flex {
  display: flex !important; }
@media (max-width: 880px) {
  .hide--880 {
    display: none !important; } }

.hide--800.block {
  display: block !important; }
.hide--800.flex {
  display: flex !important; }
@media (max-width: 800px) {
  .hide--800 {
    display: none !important; } }

.hide--720.block {
  display: block !important; }
.hide--720.flex {
  display: flex !important; }
@media (max-width: 720px) {
  .hide--720 {
    display: none !important; } }

.hide--640.block {
  display: block !important; }
.hide--640.flex {
  display: flex !important; }
@media (max-width: 640px) {
  .hide--640 {
    display: none !important; } }

.hide--560.block {
  display: block !important; }
.hide--560.flex {
  display: flex !important; }
@media (max-width: 560px) {
  .hide--560 {
    display: none !important; } }

.hide--480.block {
  display: block !important; }
.hide--480.flex {
  display: flex !important; }
@media (max-width: 480px) {
  .hide--480 {
    display: none !important; } }

.show--1480 {
  display: none !important; }
  @media (max-width: 1480px) {
    .show--1480.block {
      display: block !important; }
    .show--1480.flex {
      display: flex !important; } }

.show--1200 {
  display: none !important; }
  @media (max-width: 1200px) {
    .show--1200.block {
      display: block !important; }
    .show--1200.flex {
      display: flex !important; } }

.show--1120 {
  display: none !important; }
  @media (max-width: 1120px) {
    .show--1120.block {
      display: block !important; }
    .show--1120.flex {
      display: flex !important; } }

.show--1040 {
  display: none !important; }
  @media (max-width: 1040px) {
    .show--1040.block {
      display: block !important; }
    .show--1040.flex {
      display: flex !important; } }

.show--960 {
  display: none !important; }
  @media (max-width: 960px) {
    .show--960.block {
      display: block !important; }
    .show--960.flex {
      display: flex !important; } }

.show--880 {
  display: none !important; }
  @media (max-width: 880px) {
    .show--880.block {
      display: block !important; }
    .show--880.flex {
      display: flex !important; } }

.show--800 {
  display: none !important; }
  @media (max-width: 800px) {
    .show--800.block {
      display: block !important; }
    .show--800.flex {
      display: flex !important; } }

.show--720 {
  display: none !important; }
  @media (max-width: 720px) {
    .show--720.block {
      display: block !important; }
    .show--720.flex {
      display: flex !important; } }

.show--640 {
  display: none !important; }
  @media (max-width: 640px) {
    .show--640.block {
      display: block !important; }
    .show--640.flex {
      display: flex !important; } }

.show--560 {
  display: none !important; }
  @media (max-width: 560px) {
    .show--560.block {
      display: block !important; }
    .show--560.flex {
      display: flex !important; } }

.show--480 {
  display: none !important; }
  @media (max-width: 480px) {
    .show--480.block {
      display: block !important; }
    .show--480.flex {
      display: flex !important; } }

.wrap__layer {
  padding-top: 60px; }

.wrap__top {
  padding-top: 0; }
  @media (max-width: 480px) {
    .wrap__top {
      padding-top: 60px; } }

.navi--header {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: 100%;
  height: 60px;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(5px);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999; }
  .navi--header .logo {
    padding: 10px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
    .navi--header .logo:hover {
      opacity: 0.6;
      filter: alpha(opacity=60);
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s; }
    .navi--header .logo img {
      display: block;
      width: 280px; }
  .navi--header .menu {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    height: 60px; }
  .navi--header .menu > li {
    display: flex;
    align-items: center;
    position: relative; }
  .navi--header .menu > li > a, .navi--header .menu > li > span {
    padding: 20px;
    display: block;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    font-size: 1rem; }
    .navi--header .menu > li > a:hover, .navi--header .menu > li > span:hover {
      opacity: 0.6;
      filter: alpha(opacity=60);
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s; }
  .navi--header .menu > li.tel > a {
    font-family: "Plus Jakarta Sans", sans-serif;
    color: #ffffff;
    background: #FCAB41;
    height: 60px;
    line-height: 60px;
    padding: 0;
    text-align: center;
    flex-shrink: 0;
    width: 180px; }
  .navi--header .menu > li.form > a {
    color: #ffffff;
    background: #684332;
    height: 60px;
    line-height: 60px;
    padding: 0;
    text-align: center;
    flex-shrink: 0;
    width: 180px; }
  .navi--header .menu > li.toggle--drop:after {
    content: '';
    width: 10px;
    height: 5px;
    margin: auto;
    background: #FCAB41;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    position: absolute;
    bottom: 5px;
    left: 0;
    right: 0; }
  .navi--header .menu--sub {
    width: 100vw;
    height: auto;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
    position: fixed;
    top: 60px;
    left: 0;
    display: none; }
    .navi--header .menu--sub > .inner {
      max-width: 960px;
      margin: auto;
      padding: 30px;
      display: flex;
      flex-flow: row wrap;
      align-items: center;
      justify-content: flex-start; }
      .navi--header .menu--sub > .inner > li {
        width: 30%;
        margin: 1.5%; }
        .navi--header .menu--sub > .inner > li a {
          display: block;
          background: #ffffff;
          padding: 15px;
          text-align: center;
          color: #222222;
          font-size: 1rem;
          position: relative; }
          .navi--header .menu--sub > .inner > li a:before {
            content: '';
            width: 10%;
            height: 2px;
            background: #FCAB41;
            position: absolute;
            bottom: 0;
            left: 0;
            transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
        .navi--header .menu--sub > .inner > li a:hover:before {
          width: 100%;
          transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
  .navi--header .menu > li.toggle--sp {
    width: 60px;
    height: 60px;
    position: relative; }
    .navi--header .menu > li.toggle--sp span {
      display: block;
      margin: auto;
      height: 2px;
      position: absolute;
      width: 30px;
      left: 0;
      right: 0;
      background: #222222;
      padding: 0;
      -webkit-transition: 0.5s ease-in-out;
      -moz-transition: 0.5s ease-in-out;
      transition: 0.5s ease-in-out; }
      .navi--header .menu > li.toggle--sp span:nth-child(1) {
        top: 20px; }
      .navi--header .menu > li.toggle--sp span:nth-child(2) {
        top: 30px; }
      .navi--header .menu > li.toggle--sp span:nth-child(3) {
        top: 40px; }
    .navi--header .menu > li.toggle--sp.open span:nth-child(1) {
      top: 30px;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      transform: rotate(45deg);
      -webkit-transition: 0.5s ease-in-out;
      -moz-transition: 0.5s ease-in-out;
      transition: 0.5s ease-in-out; }
    .navi--header .menu > li.toggle--sp.open span:nth-child(2) {
      display: none;
      -webkit-transition: 0.5s ease-in-out;
      -moz-transition: 0.5s ease-in-out;
      transition: 0.5s ease-in-out; }
    .navi--header .menu > li.toggle--sp.open span:nth-child(3) {
      top: 30px;
      -webkit-transform: rotate(-45deg);
      -moz-transform: rotate(-45deg);
      transform: rotate(-45deg);
      -webkit-transition: 0.5s ease-in-out;
      -moz-transition: 0.5s ease-in-out;
      transition: 0.5s ease-in-out; }
.navi--header .menu--sp {
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
    z-index: 9999;
    position: fixed;
    top: 60px;
    right: -360px;
    padding: 30px;
    width: 360px;
    height: calc(100vh - 60px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    transition: right 0.3s ease; }
    .navi--header .menu--sp.show {
      right: 0; }
    .navi--header .menu--sp .close--sp {
      cursor: pointer;
      padding: 15px;
      text-align: center;
      color: #ffffff;
      border: 1px solid #ffffff;
      margin-bottom: 30px; }
    .navi--header .menu--sp ul li a, .navi--header .menu--sp ul li span {
      display: block;
      padding: 15px 0;
      position: relative;
      color: #ffffff; }
    .navi--header .menu--sp ul li a:after {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      margin: auto;
      top: 0;
      bottom: 0;
      right: 0;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      transform: rotate(45deg);
      border-right: 1px solid #ffffff;
      border-top: 1px solid #ffffff; }
    .navi--header .menu--sp ul ul {
      padding-left: 30px; }

.section, .section__column {
  width: 100%;
  margin: auto;
  position: relative;
  *zoom: 1; }
  .section:after, .section__column:after {
    content: "";
    display: table;
    clear: both; }
  .section > .inner, .section__column > .inner {
    max-width: 1200px;
    margin: auto;
    box-sizing: border-box;
    padding: 50px 20px;
    position: relative; }
    @media (max-width: 480px) {
      .section > .inner, .section__column > .inner {
        padding: 30px 10px; } }
    .section > .inner.flex, .section__column > .inner.flex {
      display: flex;
      flex-flow: row nowrap;
      justify-content: space-between;
      align-items: flex-start; }
      @media (max-width: 960px) {
        .section > .inner.flex, .section__column > .inner.flex {
          flex-flow: row wrap;
          justify-content: center; } }
      .section > .inner.flex .div--2, .section__column > .inner.flex .div--2 {
        width: 48%; }
        @media (max-width: 960px) {
          .section > .inner.flex .div--2, .section__column > .inner.flex .div--2 {
            width: 100%; } }
    .section > .inner.bottom--50, .section__column > .inner.bottom--50 {
      padding: 0 20px 50px 20px; }
      @media (max-width: 480px) {
        .section > .inner.bottom--50, .section__column > .inner.bottom--50 {
          padding: 0 10px 30px 10px; } }
    .section > .inner.bottom--100, .section__column > .inner.bottom--100 {
      padding: 0 20px 100px 20px; }
      @media (max-width: 480px) {
        .section > .inner.bottom--100, .section__column > .inner.bottom--100 {
          padding: 0 10px 50px 10px; } }
  .section.white, .white.section__column {
    background: #ffffff; }
  .section.feature, .feature.section__column {
    background-image: url(../img/top/bg_2.jpg);
    background-repeat: no-repeat;
    background-size: cover; }
  .section.nearby, .nearby.section__column {
    background-image: url(../img/top/bg_3.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom; }
    .section.nearby .text, .nearby.section__column .text {
      background: rgba(255, 255, 255, 0.5);
      backdrop-filter: blur(5px);
      padding: 50px; }
      @media (max-width: 480px) {
        .section.nearby .text, .nearby.section__column .text {
          padding: 30px; } }
      @media (max-width: 480px) {
        .section.nearby .text p, .nearby.section__column .text p {
          font-size: 0.8rem; } }

.section.column ul, .column.section__column ul {
  margin-bottom: 30px;
  padding: 0 15px; }
.section.column li, .column.section__column li {
  list-style: disc;
  list-style-position: inside;
  font-size: 1rem;
  line-height: 2;
  font-weight: 400;
  margin-bottom: 30px; }
.section.column div, .column.section__column div {
  margin-bottom: 30px; }

.section p, .section__column p {
  font-size: 1rem;
  line-height: 2;
  font-weight: 400; }
  .section p.margin, .section__column p.margin {
    margin-bottom: 30px; }
  .section p.large, .section__column p.large {
    font-size: 1.4rem; }
    @media (max-width: 640px) {
      .section p.large, .section__column p.large {
        font-size: 1.1rem; } }
  .section p.maxi, .section__column p.maxi {
    font-size: 3rem; }
    @media (max-width: 640px) {
      .section p.maxi, .section__column p.maxi {
        font-size: 2rem; } }

.section > .inner > p, .section__column > .inner > p {
  padding: 0 15px;
  margin-bottom: 50px; }
  @media (max-width: 480px) {
    .section > .inner > p, .section__column > .inner > p {
      padding: 0 20px; } }

.wp-pagenavi {
  display: flex;
  flex-flow: row wrap; }
  .wp-pagenavi a, .wp-pagenavi span {
    display: block;
    line-height: 38px;
    width: 40px;
    height: 40px;
    text-align: center;
    margin: 0 15px 15px 0; }
  .wp-pagenavi a {
    color: #FCAB41;
    border: 1px solid #FCAB41;
    background: #ffffff;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
  .wp-pagenavi a:hover {
    background: #FCAB41;
    color: #ffffff;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
  .wp-pagenavi span {
    color: #ffffff;
    background: #FCAB41; }

.section__top--kv {
  width: 100%;
  height: 100vh;
  position: relative;
  padding: 0; }
  @media (max-width: 1040px) {
    .section__top--kv {
      height: 50vh; } }
  @media (max-width: 480px) {
    .section__top--kv {
      height: auto; } }
  .section__top--kv .slider__bg {
    width: 80%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    background-image: url(../img/top/bg_1.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left center; }
    @media (max-width: 960px) {
      .section__top--kv .slider__bg {
        display: none; } }
  .section__top--kv .slider__wrap {
    width: 80%;
    height: 90%;
    position: absolute;
    background: none;
    top: 0;
    right: 0;
    z-index: 1;
    overflow: hidden; }
    @media (max-width: 960px) {
      .section__top--kv .slider__wrap {
        width: 100%;
        height: auto; } }
    .section__top--kv .slider__wrap.pc {
      display: block; }
      @media (max-width: 960px) {
        .section__top--kv .slider__wrap.pc {
          display: none; } }
    .section__top--kv .slider__wrap.tab {
      display: none; }
      @media (max-width: 960px) {
        .section__top--kv .slider__wrap.tab {
          display: block; } }
      @media (max-width: 480px) {
        .section__top--kv .slider__wrap.tab {
          display: none; } }
    .section__top--kv .slider__wrap.sp {
      display: none; }
      @media (max-width: 480px) {
        .section__top--kv .slider__wrap.sp {
          display: block;
          position: relative;
          height: auto; } }
  .section__top--kv .message {
    width: 30%;
    height: 100%;
    margin: auto;
    z-index: 2;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(5px);
    padding: 50px; }
    @media (max-width: 1200px) {
      .section__top--kv .message {
        width: 40%;
        padding: 40px; } }
    @media (max-width: 1040px) {
      .section__top--kv .message {
        width: 96%;
        height: auto;
        bottom: 10px;
        top: auto;
        padding: 30px; } }
    @media (max-width: 480px) {
      .section__top--kv .message {
        width: 90%;
        height: auto;
        display: block;
        position: relative;
        left: auto;
        top: auto;
        padding: 30px; } }
.section__top--kv .message h1 {
      margin: 0 0 0.5em 0;
      padding: 0;
      font-size: 1.2rem;
      line-height: 3;
      font-weight: 400;
      color: #FCAB41; }
      @media (max-width: 1200px) {
        .section__top--kv .message h1 {
          font-size: 1rem; } }
      @media (max-width: 1040px) {
        .section__top--kv .message h1 {
          font-size: 1rem; } }
      @media (max-width: 480px) {
        .section__top--kv .message h1 {
          font-size: 0.9rem;
          line-height: 2; } }
    .section__top--kv .message p {
      margin: 0;
      font-size: 1.2rem;
      line-height: 3;
      font-weight: 400; }
      @media (max-width: 1200px) {
        .section__top--kv .message p {
          font-size: 1rem; } }
      @media (max-width: 1040px) {
        .section__top--kv .message p {
          font-size: 1rem; } }
      @media (max-width: 480px) {
        .section__top--kv .message p {
          font-size: 0.9rem;
          line-height: 2; } }

.section__column > .inner {
  background: #ffffff;
  max-width: 960px; }
.section__column .title__cat {
  margin-bottom: 60px !important; }
.section__column h2, .section__column h3, .section__column h4 {
  text-align: center;
  color: #FCAB41;
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 30px;
  position: relative; }

.footer {
  width: 100%;
  margin: 100px auto 0 auto; }

.footer__carousel {
  display: flex;
  width: 100%;
  height: 200px;
  padding: 0;
  margin-bottom: 0;
  position: relative;
  overflow: hidden;
  box-sizing: border-box; }
  @media (max-width: 480px) {
    .footer__carousel {
      height: 150px; } }
  .footer__carousel ul {
    display: flex;
    flex-flow: row nowrap; }
@keyframes loop {
  0% {
    transform: translateX(100%); }
  to {
    transform: translateX(-100%); } }
@keyframes loop2 {
  0% {
    transform: translateX(0); }
  to {
    transform: translateX(-200%); } }
    .footer__carousel ul:first-child {
      animation: loop 100s -50s linear infinite; }
    .footer__carousel ul:last-child {
      animation: loop2 100s linear infinite; }
    .footer__carousel ul > li {
      width: 200px;
      height: 200px;
      display: flex;
      justify-content: center;
      align-items: center;
      overflow: hidden; }
      @media (max-width: 480px) {
        .footer__carousel ul > li {
          width: 150px;
          height: 150px; } }
      .footer__carousel ul > li img {
        width: 100%;
        height: 100%;
        object-fit: cover; }

.footer__link {
  padding: 30px;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center; }
  .footer__link li {
    width: 320px;
    margin: 0 30px; }
    @media (max-width: 880px) {
      .footer__link li {
        margin: 0 auto 30px auto; }
        .footer__link li:last-child {
          margin: 0 auto 0 auto; } }
    @media (max-width: 480px) {
      .footer__link li {
        width: 100%; } }
  .footer__link a {
    display: block;
    position: relative;
    color: #684332;
    border: 1px solid #684332;
    text-align: center;
    padding: 20px;
    font-size: 1.1rem;
    line-height: 1.5; }
    .footer__link a span {
      font-size: 0.8rem;
      display: block; }
    .footer__link a:before {
      content: '';
      width: 0%;
      height: 2px;
      background: #FCAB41;
      position: absolute;
      bottom: 0;
      left: 0;
      transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
    .footer__link a:after {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      margin: auto;
      top: 0;
      bottom: 0;
      right: 10px;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      transform: rotate(45deg);
      border-right: 1px solid #684332;
      border-top: 1px solid #684332; }
  .footer__link a:hover:before {
    width: 100%;
    transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }

.footer__map {
  width: 100%;
  margin-bottom: 50px; }
  .footer__map iframe {
    width: 100%;
    height: 300px;
    filter: grayscale(100%);
    transition: all 0.7s ease; }

.footer__navi {
  display: flex;
  max-width: 1200px;
  margin: 0 auto 30px auto;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-start; }
  .footer__navi .footer__menu, .footer__navi .footer__info {
    width: 45%; }
    @media (max-width: 1200px) {
      .footer__navi .footer__menu, .footer__navi .footer__info {
        width: 90%;
        margin: auto; } }
    @media (max-width: 640px) {
      .footer__navi .footer__menu, .footer__navi .footer__info {
        width: 94%; } }
  .footer__navi .footer__menu p {
    font-size: 0.9rem;
    margin-bottom: 15px;
    line-height: 1.6; }
    .footer__navi .footer__menu p.strong {
      font-size: 1.4rem; }
  .footer__navi .footer__menu .scedule {
    margin-bottom: 50px; }
    .footer__navi .footer__menu .scedule ul {
      border: 1px solid #cccccc;
      width: 100%;
      margin-bottom: 15px; }
    .footer__navi .footer__menu .scedule li {
      display: flex;
      flex-flow: row nowrap;
      width: 100%;
      padding: 10px 0;
      background: #ffffff; }
      .footer__navi .footer__menu .scedule li:first-child {
        background: #FCF2E5; }
      .footer__navi .footer__menu .scedule li p {
        text-align: center;
        width: 10%;
        margin: 0; }
        .footer__navi .footer__menu .scedule li p.label {
          width: 30%; }
        .footer__navi .footer__menu .scedule li p.high {
          color: #FCAB41; }
  .footer__navi .footer__menu .menu {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between; }
    @media (max-width: 640px) {
      .footer__navi .footer__menu .menu {
        margin-bottom: 30px; } }
    .footer__navi .footer__menu .menu > ul {
      width: 33%;
      padding: 0 10px; }
      @media (max-width: 640px) {
        .footer__navi .footer__menu .menu > ul {
          width: 100%;
          padding: 0; } }
    .footer__navi .footer__menu .menu a, .footer__navi .footer__menu .menu span {
      display: block;
      padding: 10px 0;
      font-weight: 700;
      line-height: 1.6;
      font-size: 0.8rem; }
      @media (max-width: 640px) {
        .footer__navi .footer__menu .menu a, .footer__navi .footer__menu .menu span {
          border-bottom: 1px solid #684332; } }
    .footer__navi .footer__menu .menu a {
      position: relative; }
      .footer__navi .footer__menu .menu a:before {
        content: '';
        width: 0%;
        height: 2px;
        background: #FCAB41;
        position: absolute;
        bottom: 0;
        left: 0;
        transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
    .footer__navi .footer__menu .menu a:hover:before {
      width: 100%;
      transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
    .footer__navi .footer__menu .menu > ul > li > ul {
      padding-left: 10px; }
    .footer__navi .footer__menu .menu > ul > li > ul > li > a {
      font-weight: 500; }
  @media (max-width: 1200px) {
    .footer__navi .footer__info {
      margin-bottom: 60px; } }
  .footer__navi .footer__info > .inner {
    background: #ffffff;
    padding: 30px;
    margin-bottom: 30px; }
    @media (max-width: 480px) {
      .footer__navi .footer__info > .inner {
        padding: 30px 15px; } }
    .footer__navi .footer__info > .inner p {
      font-size: 1rem;
      text-align: center;
      margin-bottom: 15px; }
      .footer__navi .footer__info > .inner p.label {
        font-size: 1.2rem;
        margin-bottom: 30px; }
    .footer__navi .footer__info > .inner a {
      display: block;
      position: relative;
      padding: 20px;
      text-align: center; }
      .footer__navi .footer__info > .inner a:after {
        content: '';
        width: 10px;
        height: 10px;
        position: absolute;
        margin: auto;
        right: 10px;
        top: 0;
        bottom: 0;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg); }
      .footer__navi .footer__info > .inner a:before {
        content: '';
        width: 0%;
        height: 2px;
        background: #FCAB41;
        position: absolute;
        bottom: 0;
        left: 0;
        transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
    .footer__navi .footer__info > .inner a:hover:before {
      width: 100%;
      transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
    .footer__navi .footer__info > .inner a.tel {
      background: #FCF2E5;
      font-family: "Plus Jakarta Sans", sans-serif;
      font-size: 2rem;
      color: #FCAB41;
      margin-bottom: 30px; }
      @media (max-width: 480px) {
        .footer__navi .footer__info > .inner a.tel {
          font-size: 1.6rem; } }
      .footer__navi .footer__info > .inner a.tel:after {
        border-top: 1px solid #FCAB41;
        border-right: 1px solid #FCAB41; }
    .footer__navi .footer__info > .inner a.form {
      background: #ffffff;
      border: 1px solid #684332;
      font-size: 1.6rem;
      color: #684332; }
      @media (max-width: 480px) {
        .footer__navi .footer__info > .inner a.form {
          font-size: 1.1rem; } }
      .footer__navi .footer__info > .inner a.form:after {
        border-top: 1px solid #684332;
        border-right: 1px solid #684332; }
  .footer__navi .footer__info .credit {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 15px; }
    @media (max-width: 480px) {
      .footer__navi .footer__info .credit {
        justify-content: center; } }
    .footer__navi .footer__info .credit li {
      margin-right: 10px;
      max-width: 40px; }
      @media (max-width: 480px) {
        .footer__navi .footer__info .credit li {
          margin: 0 10px 10px 10px; } }

.footer__copy {
  background: #444444;
  padding: 30px;
  color: #ffffff;
  font-size: 0.8rem;
  text-align: center; }

.footer__form {
  display: none; }
  @media (max-width: 640px) {
    .footer__form {
      position: fixed;
      bottom: 0;
      left: 0;
      background: rgba(0, 0, 0, 0.5);
      backdrop-filter: blur(5px);
      width: 100%;
      padding: 10px;
      display: flex;
      flex-flow: row nowrap;
      align-items: stretch;
      justify-content: space-between;
      z-index: 99999; }
      .footer__form li {
        width: 48%;
        margin: 0 1%; }
      .footer__form a {
        display: block;
        padding: 15px 10px;
        font-family: "Plus Jakarta Sans", sans-serif;
        color: #ffffff;
        text-align: center;
        border-radius: 3px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px; }
      .footer__form .tel {
        background: #FCAB41; }
      .footer__form .form {
        background: #684332; } }

.pan, .pan--nomargin {
  width: 100%;
  padding: 15px;
  position: relative; }
  @media (max-width: 640px) {
    .pan, .pan--nomargin {
      overflow-x: scroll;
      padding: 10px;
      clip-path: polygon(100% 0, 100% 100%, 0% 100%, 0 0); } }
  .pan ol, .pan--nomargin ol {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row; }
    @media (max-width: 640px) {
      .pan ol, .pan--nomargin ol {
        width: 1200px;
        flex-wrap: nowrap; } }
  .pan a, .pan--nomargin a {
    display: inline-block;
    font-size: 0.9rem;
    line-height: 1.5;
    color: #222222;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    position: relative;
    padding-right: 20px; }
    @media (max-width: 640px) {
      .pan a, .pan--nomargin a {
        word-break: keep-all; } }
    @media (max-width: 480px) {
      .pan a, .pan--nomargin a {
        font-size: 0.8rem; } }
    .pan a:hover, .pan--nomargin a:hover {
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s; }
    .pan a:after, .pan--nomargin a:after {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      margin: auto;
      top: 0;
      bottom: 0;
      right: 10px;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      transform: rotate(45deg);
      border-right: 1px solid #222222;
      border-top: 1px solid #222222; }
  .pan li:last-child a:after, .pan--nomargin li:last-child a:after {
    content: none; }

.pan--nomargin {
  margin: 80px 0 0 0;
  border-bottom: none; }
  @media (max-width: 720px) {
    .pan--nomargin {
      margin: 60px 0 0 0; } }

.card__snipet {
  width: 100%;
  position: relative;
  margin-bottom: 50px; }
  @media (max-width: 960px) {
    .card__snipet {
      margin-bottom: 150px; } }
  .card__snipet .text {
    position: relative;
    padding: 50px 15px;
    width: 100%;
    margin: auto; }
    @media (max-width: 960px) {
      .card__snipet .text {
        bottom: -100px;
        padding: 0; } }
    .card__snipet .text > .inner {
      width: 50%;
      background-color: rgba(255, 255, 255, 0.5);
      backdrop-filter: blur(5px);
      padding: 40px; }
      @media (max-width: 960px) {
        .card__snipet .text > .inner {
          width: 100%;
          margin: auto;
          padding: 20px; } }
    .card__snipet .text p {
      margin: 0; }
    .card__snipet .text h2, .card__snipet .text h3 {
      color: #FCAB41;
      font-size: 1.4rem;
      font-weight: 500;
      margin-bottom: 30px;
      position: relative;
      line-height: 1.4; }
      .card__snipet .text h2:before, .card__snipet .text h3:before {
        content: '';
        width: 30px;
        height: 5px;
        background: #FCAB41;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        left: -55px; }
  .card__snipet.position__left {
    background-size: 80% auto;
    background-position: right center;
    background-repeat: no-repeat; }
    @media (max-width: 960px) {
      .card__snipet.position__left {
        padding: 150px 15px 0 15px;
        background-size: cover;
        background-position: center center; } }
    .card__snipet.position__left .text > .inner {
      margin-right: 50%; }
      @media (max-width: 960px) {
        .card__snipet.position__left .text > .inner {
          margin: auto; } }
  .card__snipet.position__right {
    background-size: 80% auto;
    background-position: left center;
    background-repeat: no-repeat; }
    @media (max-width: 960px) {
      .card__snipet.position__right {
        background-size: 100% auto;
        background-position: center center; } }
    .card__snipet.position__right .text > .inner {
      margin-left: 50%; }
      @media (max-width: 960px) {
        .card__snipet.position__right .text > .inner {
          margin: auto; } }
  .card__snipet.general--1 {
    background-image: url(../img/general/img_figure_1.jpg); }
  .card__snipet.implants--1 {
    background-image: url(../img/implants/img_figure_1.jpg); }
  .card__snipet.implants--2 {
    background-image: url(../img/implants/img_figure_2.jpg); }
  .card__snipet.implants--3 {
    background-image: url(../img/implants/img_figure_3.jpg); }
  .card__snipet.implants--4 {
    background-image: url(../img/implants/img_figure_4.jpg); }
  .card__snipet.orthodontics--1 {
    background-image: url(../img/orthodontics/img_figure_1.jpg); }
  .card__snipet.cleaning--1 {
    background-image: url(../img/cleaning/img_figure_1.jpg); }
  .card__snipet.cleaning--2 {
    background-image: url(../img/cleaning/img_figure_2.jpg); }
  .card__snipet.feature--1 {
    background-image: url(../img/feature/img_figure_1.jpg); }
  .card__snipet.feature--2 {
    background-image: url(../img/feature/img_figure_2.jpg); }
  .card__snipet.feature--3 {
    background-image: url(../img/feature/img_figure_3.jpg); }
  .card__snipet.feature--4 {
    background-image: url(../img/feature/img_figure_4.jpg); }
  .card__snipet.feature--5 {
    background-image: url(../img/feature/img_figure_5.jpg); }
  .card__snipet.feature--6 {
    background-image: url(../img/feature/img_figure_6.jpg); }
  .card__snipet.top--1 {
    background-image: url(../img/top/img_figure_1.jpg); }
  .card__snipet .price {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: stretch;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    margin-top: 30px; }
    @media (max-width: 480px) {
      .card__snipet .price {
        flex-flow: row nowrap;
        margin-top: 15px; } }
    .card__snipet .price .label {
      border-top: 1px solid #FCAB41;
      border-bottom: 1px solid #FCAB41;
      border-left: 1px solid #FCAB41;
      border-radius: 3px 0 0 3px;
      -webkit-border-radius: 3px 0 0 3px;
      -moz-border-radius: 3px 0 0 3px;
      background: #FCAB41;
      color: #ffffff;
      font-size: 1.1rem;
      margin: 0;
      padding: 15px 40px;
      font-weight: 500;
      line-height: 1; }
      @media (max-width: 480px) {
        .card__snipet .price .label {
          font-size: 1rem;
          padding: 10px 20px; } }
    .card__snipet .price .data {
      border-top: 1px solid #FCAB41;
      border-bottom: 1px solid #FCAB41;
      border-right: 1px solid #FCAB41;
      border-radius: 0 3px 3px 0;
      -webkit-border-radius: 0 3px 3px 0;
      -moz-border-radius: 0 3px 3px 0;
      background: #ffffff;
      color: #FCAB41;
      font-size: 1.1rem;
      margin: 0;
      padding: 15px 40px;
      font-weight: 700;
      line-height: 1; }
      @media (max-width: 480px) {
        .card__snipet .price .data {
          font-size: 1rem;
          padding: 10px 20px; } }

.card__simple {
  width: 100%;
  position: relative;
  margin-bottom: 50px;
  padding: 0 15px; }
  .card__simple:last-child {
    margin-bottom: 0; }
  .card__simple > .inner {
    background: #ffffff;
    padding: 40px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    position: relative; }
    @media (max-width: 960px) {
      .card__simple > .inner {
        flex-flow: row wrap; } }
    @media (max-width: 480px) {
      .card__simple > .inner {
        padding: 20px; } }
    .card__simple > .inner.light {
      background: #FCF2E5; }
  .card__simple > a.inner:before {
    content: '';
    width: 0;
    height: 2px;
    background: #FCAB41;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
  .card__simple a.inner:hover:before {
    width: 100%;
    transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
  .card__simple.narrow > .inner {
    padding: 0; }
  .card__simple .block {
    flex-grow: 1;
    flex-shrink: 2; }
  .card__simple figure {
    padding: 0 0 0 30px;
    margin: 0 auto;
    text-align: center;
    flex-basis: auto;
    flex-grow: 2;
    flex-shrink: 0;
    max-width: 40%; }
    @media (max-width: 960px) {
      .card__simple figure {
        padding: 30px 15px 0 15px;
        margin: 0; } }
    @media (max-width: 480px) {
      .card__simple figure {
        max-width: 300px; } }
  .card__simple h2, .card__simple h3 {
    color: #FCAB41;
    font-size: 1.4rem;
    font-weight: 500;
    margin-bottom: 30px;
    position: relative;
    line-height: 1.4; }
    @media (max-width: 480px) {
      .card__simple h2, .card__simple h3 {
        font-size: 1.2rem; } }
    .card__simple h2:before, .card__simple h3:before {
      content: '';
      width: 30px;
      height: 5px;
      background: #FCAB41;
      margin: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      left: -55px; }
  .card__simple h4 {
    color: #FCAB41;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 30px; }
  .card__simple .table__wrap {
    width: 100%;
    margin-bottom: 30px;
    overflow: hidden; }
    @media (max-width: 960px) {
      .card__simple .table__wrap {
        overflow-x: scroll; } }
  .card__simple table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid #cccccc; }
    @media (max-width: 960px) {
      .card__simple table {
        width: 200%; } }
    @media (max-width: 480px) {
      .card__simple table {
        width: 250%; } }
    .card__simple table th, .card__simple table td {
      text-align: center;
      font-size: 1rem;
      line-height: 2;
      padding: 15px;
      border: 1px solid #cccccc;
      vertical-align: top; }
      @media (max-width: 480px) {
        .card__simple table th, .card__simple table td {
          font-size: 0.8rem; } }
    .card__simple table th {
      background: #FCF2E5;
      text-align: center;
      font-weight: 500; }
    .card__simple table td.left {
      text-align: left; }
    .card__simple table.block__5 td {
      width: 23%; }
      .card__simple table.block__5 td:first-child {
        width: 8%; }
    .card__simple table.block__3 td {
      width: 40%; }
      .card__simple table.block__3 td:first-child {
        width: 20%; }
    .card__simple table.block__2 td {
      width: 50%; }
    .card__simple table.block__8 td {
      width: 10%; }
      .card__simple table.block__8 td:first-child {
        width: 30%; }
      .card__simple table.block__8 td.light {
        color: #FCAB41; }
  .card__simple .price {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: stretch;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    margin-top: 30px; }
    @media (max-width: 480px) {
      .card__simple .price {
        flex-flow: row nowrap;
        margin-top: 15px; } }
    .card__simple .price .label {
      border-top: 1px solid #FCAB41;
      border-bottom: 1px solid #FCAB41;
      border-left: 1px solid #FCAB41;
      border-radius: 3px 0 0 3px;
      -webkit-border-radius: 3px 0 0 3px;
      -moz-border-radius: 3px 0 0 3px;
      background: #FCAB41;
      color: #ffffff;
      font-size: 1.1rem;
      margin: 0;
      padding: 15px 40px;
      font-weight: 500;
      line-height: 1; }
      @media (max-width: 480px) {
        .card__simple .price .label {
          font-size: 1rem;
          padding: 10px 20px; } }
    .card__simple .price .data {
      border-top: 1px solid #FCAB41;
      border-bottom: 1px solid #FCAB41;
      border-right: 1px solid #FCAB41;
      border-radius: 0 3px 3px 0;
      -webkit-border-radius: 0 3px 3px 0;
      -moz-border-radius: 0 3px 3px 0;
      background: #ffffff;
      color: #FCAB41;
      font-size: 1.1rem;
      margin: 0;
      padding: 15px 40px;
      font-weight: 700;
      line-height: 1; }
      @media (max-width: 480px) {
        .card__simple .price .data {
          font-size: 1rem;
          padding: 10px 20px; } }
  .card__simple .map iframe {
    width: 100%;
    height: 300px;
    filter: grayscale(100%);
    transition: all 0.7s ease; }

.card__img {
  position: relative;
  padding-bottom: 30px;
  margin: auto; }
  @media (max-width: 960px) {
    .card__img {
      width: 60%;
      margin: 0 auto 30px auto; } }
  @media (max-width: 640px) {
    .card__img {
      width: 80%;
      margin: 0 auto 30px auto; } }
  @media (max-width: 480px) {
    .card__img {
      width: 100%;
      margin: 0 auto 30px auto; } }
  .card__img .img {
    width: 360px;
    height: 360px;
    margin: 10% auto auto 10%;
    overflow: hidden;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    z-index: 2;
    position: relative; }
    @media (max-width: 800px) {
      .card__img .img {
        width: 300px;
        height: 300px; } }
    @media (max-width: 480px) {
      .card__img .img {
        width: 280px;
        height: 280px; } }
  .card__img:before {
    content: '';
    width: 140px;
    height: 140px;
    background: #FCAB41;
    overflow: hidden;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3; }
    @media (max-width: 800px) {
      .card__img:before {
        width: 100px;
        height: 100px; } }
    @media (max-width: 480px) {
      .card__img:before {
        width: 90px;
        height: 90px; } }
  .card__img:after {
    content: '';
    width: 220px;
    height: 220px;
    background-image: url(../img/common/bg_stripe_1.jpg);
    overflow: hidden;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1; }
    @media (max-width: 800px) {
      .card__img:after {
        width: 180px;
        height: 180px; } }
    @media (max-width: 480px) {
      .card__img:after {
        width: 160px;
        height: 160px; } }

.title {
  position: relative;
  width: 100%;
  overflow: hidden; }

.title__main--layer {
  background: #FCF2E5;
  margin-bottom: 90px; }
  @media (max-width: 480px) {
    .title__main--layer {
      margin-bottom: 50px; } }
  .title__main--layer > .inner {
    max-width: 1200px;
    height: 360px;
    margin: auto;
    border-radius: 180px;
    -webkit-border-radius: 180px;
    -moz-border-radius: 180px;
    position: relative;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
    @media (max-width: 480px) {
      .title__main--layer > .inner {
        max-width: 100%;
        height: 200px;
        border-radius: 100px;
        -webkit-border-radius: 100px;
        -moz-border-radius: 100px; } }
    .title__main--layer > .inner.general {
      background-image: url(../img/title/general.jpg); }
    .title__main--layer > .inner.implants {
      background-image: url(../img/title/implants.jpg); }
    .title__main--layer > .inner.cosmetic {
      background-image: url(../img/title/cosmetic.jpg); }
    .title__main--layer > .inner.orthodontics {
      background-image: url(../img/title/orthodontics.jpg); }
    .title__main--layer > .inner.cleaning {
      background-image: url(../img/title/cleaning.jpg); }
    .title__main--layer > .inner.feature {
      background-image: url(../img/title/feature.jpg); }
    .title__main--layer > .inner.staff {
      background-image: url(../img/title/staff.jpg); }
    .title__main--layer > .inner.introduction {
      background-image: url(../img/title/introduction.jpg); }
    .title__main--layer > .inner.price {
      background-image: url(../img/title/price.jpg); }
    .title__main--layer > .inner.access {
      background-image: url(../img/title/access.jpg); }
    .title__main--layer > .inner.info {
      background-image: url(../img/title/info.jpg); }
  .title__main--layer h1, .title__main--layer h2 {
    background: #ffffff;
    width: 480px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    color: #FCAB41;
    font-size: 1.6rem;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    margin: auto;
    position: absolute;
    bottom: -40px;
    left: 0;
    right: 0;
    font-weight: 500; }
    @media (max-width: 480px) {
      .title__main--layer h1, .title__main--layer h2 {
        width: 90%;
        height: 50px;
        line-height: 50px;
        font-size: 1.2rem;
        border-radius: 25px;
        -webkit-border-radius: 25px;
        -moz-border-radius: 25px;
        bottom: -25px; } }

.title__sub {
  margin-bottom: 50px;
  text-align: center;
  position: relative; }
  .title__sub h1, .title__sub h2, .title__sub h3 {
    padding-bottom: 30px;
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
    position: relative;
    line-height: 1.2; }
    @media (max-width: 480px) {
      .title__sub h1, .title__sub h2, .title__sub h3 {
        font-size: 1.4rem; } }
    .title__sub h1 span, .title__sub h2 span, .title__sub h3 span {
      display: block;
      font-size: 1.1rem;
      text-align: center;
      margin-bottom: 10px; }
    .title__sub h1:after, .title__sub h2:after, .title__sub h3:after {
      content: '';
      width: 30px;
      height: 1px;
      background: #FCAB41;
      position: absolute;
      margin: auto;
      bottom: 0;
      right: 0;
      left: 0;
      -webkit-transform: rotate(-45deg);
      -moz-transform: rotate(-45deg);
      transform: rotate(-45deg); }

.title__sub--sup {
  position: absolute;
  top: 0;
  right: 0;
  padding-right: 110px;
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  transform: rotate(-90deg);
  transform-origin: 100% 38px 0;
  z-index: 99; }
  .title__sub--sup:before {
    content: '';
    width: 100px;
    height: 1px;
    background: #FCAB41;
    position: absolute;
    margin: auto;
    bottom: 0;
    right: 0;
    top: 0; }
  .title__sub--sup p {
    margin: 0;
    line-height: 1;
    padding: 0;
    color: #FCAB41; }

.title__min {
  margin-bottom: 30px;
  text-align: center;
  position: relative; }
  .title__min h2, .title__min h3, .title__min h4 {
    text-align: center;
    color: #FCAB41;
    font-size: 1.4rem;
    font-weight: 500; }

.title__cat {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 30px; }
  @media (max-width: 480px) {
    .title__cat {
      margin-bottom: 15px; } }
  .title__cat.center {
    justify-content: center; }
  .title__cat .cat {
    background: #FCAB41;
    color: #ffffff;
    padding: 15px 50px;
    margin: 0 15px 0 0;
    line-height: 1; }
    @media (max-width: 480px) {
      .title__cat .cat {
        padding: 15px 25px; } }
  .title__cat .date {
    color: #cccccc;
    font-size: 0.9rem;
    line-height: 1; }

.btn__more {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center; }
  .btn__more a {
    display: block;
    width: 280px;
    height: 60px;
    position: relative;
    text-align: center;
    background: #684332;
    color: #ffffff;
    line-height: 60px; }
    .btn__more a:before {
      content: '';
      width: 0%;
      height: 2px;
      background: #FCAB41;
      position: absolute;
      bottom: 0;
      left: 0;
      transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
    .btn__more a:after {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      margin: auto;
      top: 0;
      bottom: 0;
      right: 10px;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      transform: rotate(45deg);
      border-right: 1px solid #ffffff;
      border-top: 1px solid #ffffff; }
  .btn__more a:hover:before {
    width: 100%;
    transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }

.list__innerlink {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center; }
  .list__innerlink li {
    width: 280px;
    margin: 0 10px 10px 10px; }
    @media (max-width: 480px) {
      .list__innerlink li {
        width: 46%;
        margin: 0 2% 10px 2%; } }
  .list__innerlink a {
    border: 1px solid #684332;
    color: #684332;
    text-align: center;
    display: block;
    padding: 20px 10px 30px 10px;
    position: relative;
    line-height: 1; }
    @media (max-width: 480px) {
      .list__innerlink a {
        font-size: 0.9rem; } }
    .list__innerlink a:before {
      content: '';
      width: 0;
      height: 2px;
      background: #FCAB41;
      position: absolute;
      bottom: 0;
      left: 0;
      transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
    .list__innerlink a:after {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      margin: auto;
      bottom: 15px;
      right: 0;
      left: 0;
      -webkit-transform: rotate(135deg);
      -moz-transform: rotate(135deg);
      transform: rotate(135deg);
      border-right: 1px solid #684332;
      border-top: 1px solid #684332; }
  .list__innerlink a:hover:before {
    width: 100%;
    transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }

.list__flow, .list__flow--min {
  position: relative; }
  .list__flow:before, .list__flow--min:before {
    content: '';
    margin: auto;
    width: 1px;
    height: 98%;
    background: #FCAB41;
    position: absolute;
    left: 50px;
    top: 0;
    bottom: 0;
    z-index: 0; }
    @media (max-width: 640px) {
      .list__flow:before, .list__flow--min:before {
        left: 25px; } }
  .list__flow li, .list__flow--min li {
    z-index: 1;
    position: relative;
    padding-left: 150px;
    margin-bottom: 50px;
    display: flex;
    flex-flow: row nowrap; }
    @media (max-width: 640px) {
      .list__flow li, .list__flow--min li {
        padding-left: 80px;
        flex-flow: row wrap; } }
    .list__flow li:last-child, .list__flow--min li:last-child {
      margin-bottom: 0; }
    .list__flow li .text, .list__flow--min li .text {
      flex-shrink: 10;
      flex-grow: 10;
      flex-basis: auto; }
    .list__flow li figure, .list__flow--min li figure {
      flex-shrink: 0;
      flex-grow: 0;
      width: 400px;
      padding-left: 50px; }
      @media (max-width: 960px) {
        .list__flow li figure, .list__flow--min li figure {
          width: 300px;
          padding-left: 30px; } }
      @media (max-width: 640px) {
        .list__flow li figure, .list__flow--min li figure {
          width: 100%;
          padding: 30px 0 0 0; } }
    .list__flow li h3, .list__flow--min li h3, .list__flow li h4, .list__flow--min li h4 {
      color: #FCAB41;
      font-weight: 500;
      font-size: 1.6rem;
      margin-bottom: 20px;
      line-height: 1.5; }
      @media (max-width: 640px) {
        .list__flow li h3, .list__flow--min li h3, .list__flow li h4, .list__flow--min li h4 {
          font-size: 1.2rem; } }
  .list__flow li:before, .list__flow--min li:before {
    background: #FCAB41;
    color: #ffffff;
    width: 100px;
    height: 100px;
    font-size: 1.6rem;
    line-height: 100px;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%; }
    @media (max-width: 640px) {
      .list__flow li:before, .list__flow--min li:before {
        width: 50px;
        height: 50px;
        font-size: 1.2rem;
        line-height: 50px; } }
  .list__flow li:nth-child(1):before, .list__flow--min li:nth-child(1):before {
    content: '1'; }
  .list__flow li:nth-child(2):before, .list__flow--min li:nth-child(2):before {
    content: '2'; }
  .list__flow li:nth-child(3):before, .list__flow--min li:nth-child(3):before {
    content: '3'; }
  .list__flow li:nth-child(4):before, .list__flow--min li:nth-child(4):before {
    content: '4'; }
  .list__flow li:nth-child(5):before, .list__flow--min li:nth-child(5):before {
    content: '5'; }
  .list__flow li:nth-child(6):before, .list__flow--min li:nth-child(6):before {
    content: '6'; }
  .list__flow li:nth-child(7):before, .list__flow--min li:nth-child(7):before {
    content: '7'; }
  .list__flow li:nth-child(8):before, .list__flow--min li:nth-child(8):before {
    content: '8'; }
  .list__flow li:nth-child(9):before, .list__flow--min li:nth-child(9):before {
    content: '9'; }
  .list__flow li:nth-child(10):before, .list__flow--min li:nth-child(10):before {
    content: '10'; }

.list__flow--min li {
  min-height: 100px; }
  @media (max-width: 640px) {
    .list__flow--min li {
      min-height: 50px; } }

.list__beforeafter {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px; }
  .list__beforeafter li {
    width: 300px; }
    .list__beforeafter li p {
      margin: 0;
      text-align: center;
      padding: 15px; }
  .list__beforeafter li:first-child p {
    background: #cccccc;
    color: #222222; }
  .list__beforeafter li:nth-child(2) {
    content: '';
    width: 60px;
    height: 100%;
    position: relative; }
    .list__beforeafter li:nth-child(2):after {
      content: '';
      width: 20px;
      height: 20px;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      transform: rotate(45deg);
      border-right: 1px solid #684332;
      border-top: 1px solid #684332;
      margin: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 15px; }
  .list__beforeafter li:last-child p {
    background: #FCAB41;
    color: #ffffff; }

.list__number {
  position: relative; }
  .list__number li {
    position: relative;
    padding-left: 80px;
    margin-bottom: 50px;
    line-height: 2;
    display: flex;
    align-items: center; }
    @media (max-width: 640px) {
      .list__number li {
        padding-left: 50px; } }
    .list__number li:last-child {
      margin-bottom: 0; }
    .list__number li h3, .list__number li h4 {
      color: #FCAB41;
      font-weight: 500;
      font-size: 1.6rem;
      margin-bottom: 20px;
      line-height: 1.5; }
      @media (max-width: 640px) {
        .list__number li h3, .list__number li h4 {
          font-size: 1.2rem; } }
  .list__number li:before {
    background: #FCAB41;
    color: #ffffff;
    width: 40px;
    height: 40px;
    font-size: 1.2rem;
    line-height: 40px;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%; }
    @media (max-width: 640px) {
      .list__number li:before {
        width: 30px;
        height: 30px;
        font-size: 1rem;
        line-height: 30px; } }
  .list__number li:nth-child(1):before {
    content: '1'; }
  .list__number li:nth-child(2):before {
    content: '2'; }
  .list__number li:nth-child(3):before {
    content: '3'; }
  .list__number li:nth-child(4):before {
    content: '4'; }
  .list__number li:nth-child(5):before {
    content: '5'; }
  .list__number li:nth-child(6):before {
    content: '6'; }
  .list__number li:nth-child(7):before {
    content: '7'; }
  .list__number li:nth-child(8):before {
    content: '8'; }
  .list__number li:nth-child(9):before {
    content: '9'; }
  .list__number li:nth-child(10):before {
    content: '10'; }

.list__highlight li {
  background: #FCF2E5;
  display: flex;
  width: 100%;
  flex-flow: row nowrap;
  align-items: stretch;
  justify-content: flex-start;
  margin-bottom: 15px;
  padding: 10px 0; }
  .list__highlight li:last-child {
    margin-bottom: 0; }
.list__highlight .label {
  padding: 0 10px;
  flex-basis: 30%;
  text-align: center;
  color: #FCAB41; }

.list__simple {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center; }
  .list__simple li {
    border: 1px solid #684332;
    padding: 15px;
    text-align: center;
    color: #684332;
    width: 220px;
    margin: 0 10px 10px 10px; }
    @media (max-width: 480px) {
      .list__simple li {
        width: 100%; } }

.list__simple--card {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center; }
  .list__simple--card li {
    width: 60px;
    margin: 0 10px 10px 10px; }
    @media (max-width: 480px) {
      .list__simple--card li {
        width: 40px; } }

.list__index {
  width: 100%; }
  .list__index li {
    padding: 0;
    border-bottom: 1px solid #cccccc; }
    .list__index li:first-child {
      border-top: 1px solid #cccccc; }
  .list__index li > a, .list__index li > span {
    display: flex;
    flex-flow: row wrap;
    padding: 20px;
    position: relative;
    align-items: center;
    justify-content: space-between; }
    @media (max-width: 480px) {
      .list__index li > a, .list__index li > span {
        padding: 10px 5px; } }
  .list__index li > a:before {
    content: '';
    width: 0%;
    height: 2px;
    background: #FCAB41;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
  .list__index li > a:after {
    content: '';
    width: 5px;
    height: 5px;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 10px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 1px solid #684332;
    border-top: 1px solid #684332; }
  .list__index li > a:hover:before {
    width: 100%;
    transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
  .list__index li > span a {
    text-decoration: underline; }
  .list__index .label {
    color: #FCAB41;
    font-size: 1rem;
    margin: 0;
    flex-basis: 30%;
    text-align: center;
    padding: 0 20px 0 0; }
    @media (max-width: 480px) {
      .list__index .label {
        flex-basis: 100%;
        text-align: left; } }
  .list__index .text {
    color: #222222;
    font-size: 1rem;
    margin: 0;
    flex-basis: 70%;
    text-align: left;
    padding: 0; }
    @media (max-width: 480px) {
      .list__index .text {
        flex-basis: 100%; } }

.list__thumb {
  width: 100%; }
  @media (max-width: 480px) {
    .list__thumb {
      overflow-x: scroll; } }
  .list__thumb ul {
    display: flex;
    flex-flow: row wrap;
    align-items: stretch;
    justify-content: space-between; }
    @media (max-width: 480px) {
      .list__thumb ul {
        flex-flow: row nowrap;
        justify-content: flex-start;
        width: 1180px; } }
  .list__thumb li {
    padding: 0 10px;
    position: relative;
    width: 23%;
    margin: 0 1%; }
    @media (max-width: 960px) {
      .list__thumb li {
        width: 48%;
        margin: 0 1% 30px 1%; } }
    @media (max-width: 480px) {
      .list__thumb li {
        width: 265px;
        margin: 0 15px; } }
  .list__thumb a, .list__thumb span {
    display: block;
    position: relative;
    background: #FCF2E5; }
  .list__thumb a:before {
    content: '';
    width: 0%;
    height: 2px;
    background: #FCAB41;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
  .list__thumb a:hover:before {
    width: 100%;
    transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
  .list__thumb .img {
    margin-bottom: 30px; }
  .list__thumb .text {
    position: relative;
    padding: 0 30px 30px 30px; }
    .list__thumb .text h2, .list__thumb .text h3 {
      color: #FCAB41;
      font-size: 1.2rem;
      font-weight: 500;
      margin-bottom: 30px;
      position: relative;
      line-height: 1.4; }
      .list__thumb .text h2:before, .list__thumb .text h3:before {
        content: '';
        width: 20px;
        height: 3px;
        background: #FCAB41;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        left: -40px; }

.list__feature {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  justify-content: center;
  padding: 40px 0 0 0; }
  .list__feature li {
    position: relative;
    width: 23%;
    margin: 0 3% 70px 3%;
    padding: 0; }
    @media (max-width: 960px) {
      .list__feature li {
        width: 44%; } }
    .list__feature li a {
      display: block;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s; }
      .list__feature li a:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        transition: all 0.3s; }
    .list__feature li figure {
      display: block;
      position: absolute;
      margin: auto;
      background: #FCAB41;
      width: 140px;
      height: 140px;
      padding: 30px;
      top: -40px;
      left: 0;
      right: 0; }
      @media (max-width: 960px) {
        .list__feature li figure {
          width: 100px;
          height: 100px; } }
    .list__feature li .text {
      background: rgba(252, 171, 65, 0.8);
      padding: 140px 30px 30px 30px; }
      @media (max-width: 960px) {
        .list__feature li .text {
          padding: 80px 20px 20px 20px; } }
      .list__feature li .text h3 {
        text-align: center;
        font-weight: 700;
        font-size: 1.2rem;
        line-height: 1.5;
        margin-bottom: 30px;
        color: #ffffff; }
        @media (max-width: 480px) {
          .list__feature li .text h3 {
            font-size: 1rem;
            margin-bottom: 20px; } }
      .list__feature li .text p {
        color: #ffffff;
        text-align: center;
        min-height: 4rem; }
        @media (max-width: 480px) {
          .list__feature li .text p {
            font-size: 0.8rem;
            min-height: 2rem; } }
