@charset "UTF-8";
/*
Theme Name: ISHInoSHIZUKU - DAIKANYAMA
Theme URI: 
Author: Nobuhito Miyazaki - OAR DESIGN
Author URI: http://wordpress.org/
Description: 
Version: 0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
/* CSS RESET */
html, body, div, .padder, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, acronym, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

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

fieldset, img {
  border: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, img, object, embed {
  display: block;
}

address, caption, cite, code, dfn, th, var {
  font-style: normal;
  font-weight: normal;
}

nav ul, nav li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
  width: auto;
}

q:before, q:after {
  content: "";
}

abbr, acronym {
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

legend {
  color: #000;
}

a, .no-touch a:hover, .no-touch a:visited:hover, a:active, .no-touch a:active:hover {
  outline: none;
}

/* a,.no-touch a:hover,.no-touch a:visited:hover,a:visited{text-decoration: none} */
a {
  outline: none;
}

a:focus, *:focus {
  outline: none;
}

input, button {
  outline: 0;
}

input::-moz-focus-inner, button::-moz-focus-inner {
  border: 0;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  color: transparent;
  font-size: 0;
  border: none;
  outline: none;
  max-width: 100%;
  width: 100%;
  height: auto;
}

/* __Basic
---------------------------------------------------------------------- */
* {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-appearance: none;
}

html {
  font-size: 62.5%;
  /* Base 10px */
  font-weight: 400;
  line-height: 1.6;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: #fff;
  color: #000;
}

@-ms-viewport {
  width: device-width;
}

body {
  font-family: 'adobe-garamond-pro',游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.6em;
  line-height: 1.6;
  letter-spacing: 0;
  background-color: #fff;
  color: #87877e;
  text-align: left;
}

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

/*  __H
---------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

/*  __H1
------------------------------- */
h1 {
  font-size: 1.6vw;
  line-height: 1.6;
}

@media only screen and (max-width: 1024px) {
  h1 {
    font-size: 1.917vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  h1 {
    font-size: 2.148vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  h1 {
    font-size: 2.734vw;
  }
}

@media only screen and (max-width: 480px) {
  h1 {
    font-size: 5.0vw;
  }
}

h1.en,
.page_hero h1 {
  font-size: 2.8vw;
}

@media only screen and (max-width: 1024px) {
  h1.en,
  .page_hero h1 {
    font-size: 3.2333vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  h1.en,
  .page_hero h1 {
    font-size: 3.516vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  h1.en,
  .page_hero h1 {
    font-size: 4.297vw;
  }
}

@media only screen and (max-width: 480px) {
  h1.en,
  .page_hero h1 {
    font-size: 7.5vw;
  }
}

.page-specified-commercial-transactions .page_hero h1 {
  font-size: calc(2.8vw * 0.8);
}

@media only screen and (max-width: 1024px) {
  .page-specified-commercial-transactions .page_hero h1 {
    font-size: calc(3.2333vw * 0.8);
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .page-specified-commercial-transactions .page_hero h1 {
    font-size: calc(3.516vw * 0.8);
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .page-specified-commercial-transactions .page_hero h1 {
    font-size: calc(4.297vw * 0.8);
  }
}

@media only screen and (max-width: 480px) {
  .page-specified-commercial-transactions .page_hero h1 {
    font-size: calc(7.5vw * 0.8);
  }
}

.type_06 h1 {
  font-size: 1.9vw;
}

@media only screen and (max-width: 1024px) {
  .type_06 h1 {
    font-size: 2.292vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_06 h1 {
    font-size: 2.451vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_06 h1 {
    font-size: 3.0vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_06 h1 {
    font-size: 5.125vw;
  }
}

.type_102 .col_inner_right h1 {
  font-size: 1.6vw;
  line-height: 2.0;
  display: inline-block;
  border-bottom: 1px solid;
}

@media only screen and (max-width: 1024px) {
  .type_102 .col_inner_right h1 {
    font-size: 1.917vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_102 .col_inner_right h1 {
    font-size: 2.0vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_102 .col_inner_right h1 {
    font-size: 2.3vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_102 .col_inner_right h1 {
    font-size: 3.75vw;
  }
}

.type_12 .col_slider h1 {
  margin-top: 1.5em;
}

h1.jp,
.title h1,
.type_18 .col h1,
.pushy_menu_row ul li a {
  font-size: 1.4vw;
}

@media only screen and (max-width: 1024px) {
  h1.jp,
  .title h1,
  .type_18 .col h1,
  .pushy_menu_row ul li a {
    font-size: 1.683vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  h1.jp,
  .title h1,
  .type_18 .col h1,
  .pushy_menu_row ul li a {
    font-size: 1.9vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  h1.jp,
  .title h1,
  .type_18 .col h1,
  .pushy_menu_row ul li a {
    font-size: 2.5vw;
  }
}

@media only screen and (max-width: 480px) {
  h1.jp,
  .title h1,
  .type_18 .col h1,
  .pushy_menu_row ul li a {
    font-size: 4.5vw;
  }
}

.type_04 h1.jp,
.pushy_menu_row ul li a span {
  font-size: 1.1vw;
}

@media only screen and (max-width: 1024px) {
  .type_04 h1.jp,
  .pushy_menu_row ul li a span {
    font-size: 1.333vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_04 h1.jp,
  .pushy_menu_row ul li a span {
    font-size: 1.56vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_04 h1.jp,
  .pushy_menu_row ul li a span {
    font-size: 1.95vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_04 h1.jp,
  .pushy_menu_row ul li a span {
    font-size: 3.75vw;
  }
}

@media only screen and (max-width: 480px) {
  .pushy_menu_row ul li a span {
    font-size: 3.25vw;
    width: 40%;
    text-align: right;
  }
}

.type_103 .col h1 {
  text-align: center;
}

/*  __H2
------------------------------- */
h2 {
  font-size: 1.1vw;
  line-height: 1.8;
}

@media only screen and (max-width: 1024px) {
  h2 {
    font-size: 1.333vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  h2 {
    font-size: 1.56vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  h2 {
    font-size: 1.95vw;
  }
}

@media only screen and (max-width: 480px) {
  h2 {
    font-size: 3.75vw;
  }
}

.type_06 h2 {
  margin-top: 0.25em;
  margin-bottom: 2em;
}

.type_12 .col_slider h2 {
  font-size: 1.1vw;
  margin-top: 0.5em;
  margin-bottom: 2.0em;
}

@media only screen and (max-width: 1024px) {
  .type_12 .col_slider h2 {
    font-size: 1.333vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_12 .col_slider h2 {
    font-size: 1.56vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_12 .col_slider h2 {
    font-size: 1.95vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_12 .col_slider h2 {
    font-size: 3.75vw;
  }
}

/*  __H3
------------------------------- */
h3 {
  font-size: 1.4vw;
  line-height: 1.8;
}

@media only screen and (max-width: 1024px) {
  h3 {
    font-size: 1.683vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  h3 {
    font-size: 1.9vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  h3 {
    font-size: 2.5vw;
  }
}

@media only screen and (max-width: 480px) {
  h3 {
    font-size: 4.5vw;
  }
}

/*  __H4
------------------------------- */
h4 {
  font-size: 1.1vw;
  line-height: 1.8;
}

@media only screen and (max-width: 1024px) {
  h4 {
    font-size: 1.333vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  h4 {
    font-size: 1.56vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  h4 {
    font-size: 1.95vw;
  }
}

@media only screen and (max-width: 480px) {
  h4 {
    font-size: 3.75vw;
  }
}

.type_15 .col_left_item .text h4 {
  margin-bottom: 1em;
}

/*  __H5 H6
------------------------------- */
/*  __P Text Span
------------------------------- */
p,
li,
th,
td,
i,
a,
#sct.type_18 .col h1 {
  font-size: 1.1vw;
  line-height: 2.0;
  font-weight: normal;
  word-wrap: break-word;
}

@media only screen and (max-width: 1024px) {
  p,
  li,
  th,
  td,
  i,
  a,
  #sct.type_18 .col h1 {
    font-size: 1.333vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  p,
  li,
  th,
  td,
  i,
  a,
  #sct.type_18 .col h1 {
    font-size: 1.56vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  p,
  li,
  th,
  td,
  i,
  a,
  #sct.type_18 .col h1 {
    font-size: 1.95vw;
  }
}

@media only screen and (max-width: 480px) {
  p,
  li,
  th,
  td,
  i,
  a,
  #sct.type_18 .col h1 {
    font-size: 3.75vw;
  }
}

a.sct {
  font-size: calc(1.1vw * 0.8);
}

@media only screen and (max-width: 1024px) {
  a.sct {
    font-size: calc(1.333vw * 0.8);
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  a.sct {
    font-size: calc(1.56vw * 0.8);
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  a.sct {
    font-size: calc(1.95vw * 0.8);
  }
}

@media only screen and (max-width: 480px) {
  a.sct {
    font-size: calc(3.75vw * 0.8);
  }
}

p.rule_number,
.type_101 h2 {
  font-size: 1.4vw;
  line-height: 2.0;
  display: inline-block;
  border-bottom: 1px solid;
  margin-bottom: 2em;
}

@media only screen and (max-width: 1024px) {
  p.rule_number,
  .type_101 h2 {
    font-size: 1.683vw;
    margin-bottom: 2em;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  p.rule_number,
  .type_101 h2 {
    font-size: 1.9vw;
    margin-bottom: 1.5em;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  p.rule_number,
  .type_101 h2 {
    font-size: 2.474vw;
    margin-bottom: 1.5em;
  }
}

@media only screen and (max-width: 480px) {
  p.rule_number,
  .type_101 h2 {
    font-size: 4.5vw;
    margin-bottom: 1em;
  }
}

.type_10 p {
  line-height: 2.2;
}

.type_15 .col_left_item .number p {
  font-size: 1.4vw;
  line-height: 1.0;
  margin-right: 1em;
  width: 2.0vw;
  height: 2.0vw;
  padding-top: 0.3vw;
  border: 1px solid #87877e;
  border-radius: 50%;
  text-align: center;
}

@media only screen and (max-width: 1024px) {
  .type_15 .col_left_item .number p {
    font-size: 1.683vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_15 .col_left_item .number p {
    font-size: 1.8vw;
    width: 2.6vw;
    height: 2.6vw;
    padding-top: 0.4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_15 .col_left_item .number p {
    font-size: 2.2vw;
    width: 3.0vw;
    height: 3.0vw;
    padding-top: 0.4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_15 .col_left_item .number p {
    font-size: 4.0vw;
    width: 5.0vw;
    height: 5.0vw;
    padding-top: 0.5vw;
  }
}

span.gray {
  opacity: 0.5;
}

.pc_br,
.type_02 .text p br,
.type_03 .text p br,
.type_10 .col_inner_right .text p br {
  display: block;
}

@media only screen and (max-width: 1024px) {
  .pc_br,
  .type_02 .text p br,
  .type_03 .text p br,
  .type_10 .col_inner_right .text p br {
    display: block;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pc_br,
  .type_02 .text p br,
  .type_03 .text p br,
  .type_10 .col_inner_right .text p br {
    display: block;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pc_br,
  .type_02 .text p br,
  .type_03 .text p br,
  .type_10 .col_inner_right .text p br {
    display: none;
  }
}

@media only screen and (max-width: 480px) {
  .pc_br,
  .type_02 .text p br,
  .type_03 .text p br,
  .type_10 .col_inner_right .text p br {
    display: none;
  }
}

/* __A
------------------------------- */
a {
  color: #87877e;
  text-decoration: none;
  border-bottom: none;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

a.animate {
  -webkit-transition: all 0s ease-out;
  transition: all 0s ease-out;
}

a.underline {
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

.main_nav a {
  font-size: 2.0vw;
  line-height: 1.0;
}

@media only screen and (max-width: 1024px) {
  .main_nav a {
    font-size: 2.5vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .main_nav a {
    font-size: 2.54vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .main_nav a {
    font-size: 2.865vw;
  }
}

@media only screen and (max-width: 480px) {
  .main_nav a {
    font-size: 4.5vw;
  }
}

.main_nav a span,
.page_nav a {
  font-size: 1.1vw;
}

@media only screen and (max-width: 1024px) {
  .main_nav a span,
  .page_nav a {
    font-size: 1.333vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .main_nav a span,
  .page_nav a {
    font-size: 1.563vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .main_nav a span,
  .page_nav a {
    font-size: 1.953vw;
  }
}

@media only screen and (max-width: 480px) {
  .main_nav a span,
  .page_nav a {
    font-size: 3.750vw;
  }
}

.text p a,
.text a {
  text-decoration: underline;
}

/*  __List
------------------------------- */
ul {
  list-style: none outside;
}

ol {
  list-style: decimal;
}

ul.square {
  list-style: square outside;
}

ul.circle {
  list-style: circle outside;
}

ul.disc {
  list-style: disc outside;
}

/* ----------------------------------------------------------------
__Wrap All
---------------------------------------------------------------- */
.wrap {
  width: 100%;
  margin: auto;
}

.main {
  width: 100%;
  z-index: 5;
}

/*  __Header
---------------------------------------------------------------- */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 3%;
  z-index: 10000;
  pointer-events: none;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .header {
    padding: 8vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .header {
    padding: 12vw 4vw;
  }
}

/*  __Logo
-------------------------------- */
.header .logo {
  width: 250px;
  position: relative;
  left: 0;
  right: 0;
  margin: auto;
  line-height: 1;
  font-size: 0;
  pointer-events: auto;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .header .logo {
    width: 230px;
  }
}

@media only screen and (max-width: 480px) {
  .header .logo {
    width: 200px;
  }
}

.header .logo a {
  display: block;
  line-height: 1.2;
}

.header .logo a svg {
  overflow: visible;
}

.logo-svg .path {
  -webkit-backface-visibility: visible !important;
}

a:hover .logo-svg {
  opacity: 0.8;
}

.header .logo .path {
  fill: #fff;
}

.header .logo.active .path {
  fill: #87877e;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy-open-left .header .logo .path {
    fill: #87877e;
  }
}

@media only screen and (max-width: 480px) {
  .pushy-open-left .header .logo .path {
    fill: #87877e;
  }
}

/*  __Nav
-------------------------------- */
.nav {
  position: absolute;
  z-index: 100;
  /* mix-blend-mode: difference; */
  pointer-events: auto;
  text-align: center;
  width: 50px;
  height: 50px;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .nav {
    width: 47px;
    height: 47px;
  }
}

@media only screen and (max-width: 480px) {
  .nav {
    width: 34px;
    height: 34px;
  }
}

/*  __Nav__Menu icon
-------------------------------- */
.menu-icon {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 30px;
  height: 20px;
  z-index: 3003;
  margin: auto;
  cursor: pointer;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .menu-icon {
    width: 30px;
    height: 20px;
  }
}

@media only screen and (max-width: 480px) {
  .menu-icon {
    width: 25px;
    height: 15px;
  }
}

.menu-icon-line {
  height: 2px;
  width: 100%;
  display: block;
  position: absolute;
  background-color: #fff;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

@media only screen and (max-width: 1024px) {
  .menu-icon-line {
    height: 1px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .menu-icon-line {
    height: 1px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .menu-icon-line {
    height: 1px;
  }
}

@media only screen and (max-width: 480px) {
  .menu-icon-line {
    height: 1px;
  }
}

.nav.active .menu-icon .menu-icon-line {
  background-color: #87877e;
}

.menu-icon .menu-icon-line:nth-child(1) {
  top: 0;
}

.menu-icon .menu-icon-line:nth-child(2) {
  top: 10px;
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .menu-icon .menu-icon-line:nth-child(2) {
    top: 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .menu-icon .menu-icon-line:nth-child(2) {
    top: 10px;
  }
}

@media only screen and (max-width: 480px) {
  .menu-icon .menu-icon-line:nth-child(2) {
    top: 7px;
  }
}

.menu-icon .menu-icon-line:nth-child(3) {
  top: 20px;
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .menu-icon .menu-icon-line:nth-child(3) {
    top: 20px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .menu-icon .menu-icon-line:nth-child(3) {
    top: 20px;
  }
}

@media only screen and (max-width: 480px) {
  .menu-icon .menu-icon-line:nth-child(3) {
    top: 14px;
  }
}

.pushy-open-left .menu-icon .menu-icon-line {
  top: 10px;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
  background-color: #87877e;
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pushy-open-left .menu-icon .menu-icon-line {
    top: 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy-open-left .menu-icon .menu-icon-line {
    top: 10px;
  }
}

@media only screen and (max-width: 480px) {
  .pushy-open-left .menu-icon .menu-icon-line {
    top: 7px;
  }
}

.pushy-open-left .menu-icon .menu-icon-line:nth-of-type(2) {
  opacity: 0;
}

.pushy-open-left .menu-icon .menu-icon-line:nth-of-type(3) {
  top: 10px;
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pushy-open-left .menu-icon .menu-icon-line:nth-of-type(3) {
    top: 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy-open-left .menu-icon .menu-icon-line:nth-of-type(3) {
    top: 10px;
  }
}

@media only screen and (max-width: 480px) {
  .pushy-open-left .menu-icon .menu-icon-line:nth-of-type(3) {
    top: 7px;
  }
}

/*  __Nav__Pushy_row
-------------------------------- */
.pushy {
  position: fixed;
  width: 40vw;
  height: 100%;
  top: 0;
  z-index: 9999;
  background: #fff;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

@media only screen and (max-width: 1024px) {
  .pushy {
    width: 50vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pushy {
    width: 50vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy {
    width: 100vw;
  }
}

@media only screen and (max-width: 480px) {
  .pushy {
    width: 100vw;
  }
}

.pushy-content {
  margin: 15px;
  border: 1px solid #87877e;
}

@media only screen and (max-width: 1024px) {
  .pushy-content {
    margin: 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pushy-content {
    margin: 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy-content {
    margin: 10px;
  }
}

@media only screen and (max-width: 480px) {
  .pushy-content {
    margin: 10px;
  }
}

/*  __pushy_menu_row
-------------------------------- */
.pushy_menu_row {
  margin-top: 13vw;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy_menu_row {
    margin-top: 18vw;
  }
}

@media only screen and (max-width: 480px) {
  .pushy_menu_row {
    margin-top: 31vw;
  }
}

.pushy_menu_row ul {
  width: 100%;
}

.pushy_menu_row ul li {
  border-top: 1px solid #87877e;
  width: 100%;
}

.pushy_menu_row ul li:last-of-type {
  border-bottom: none;
}

.pushy_menu_row ul li a {
  display: flex;
  align-items: center;
  padding: 20px 15px;
  width: 100%;
}

@media only screen and (max-width: 1024px) {
  .pushy_menu_row ul li a {
    padding: 20px 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pushy_menu_row ul li a {
    padding: 20px 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy_menu_row ul li a {
    padding: 30px 10px;
  }
}

@media only screen and (max-width: 480px) {
  .pushy_menu_row ul li a {
    padding: 20px 10px;
  }
}

.pushy_menu_row ul li a:hover {
  transition: all 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
  padding: 20px 30px;
}

@media only screen and (max-width: 1024px) {
  .pushy_menu_row ul li a:hover {
    padding: 20px 20px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pushy_menu_row ul li a:hover {
    padding: 20px 20px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy_menu_row ul li a:hover {
    padding: 30px 20px;
  }
}

@media only screen and (max-width: 480px) {
  .pushy_menu_row ul li a:hover {
    padding: 20px 15px;
  }
}

.pushy_menu_row ul li a span {
  margin-left: auto;
}

/*  __pushy_info_row
-------------------------------- */
.pushy_info_row {
  border: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.pushy_info_row ul {
  display: flex;
  align-items: center;
  padding: 15px;
}

@media only screen and (max-width: 1024px) {
  .pushy_info_row ul {
    padding: 15px 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pushy_info_row ul {
    padding: 15px 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy_info_row ul {
    padding: 20px 10px;
  }
}

@media only screen and (max-width: 480px) {
  .pushy_info_row ul {
    padding: 20px 10px;
  }
}

.pushy_info_row ul.left_nav {
  margin-right: 1em;
}

.pushy_info_row ul.right_nav {
  height: 20px;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy_info_row ul.right_nav {
    height: 20px;
  }
}

@media only screen and (max-width: 480px) {
  .pushy_info_row ul.right_nav {
    height: 20px;
  }
}

.pushy_info_row ul.left_nav li {
  margin-right: 1em;
}

@media only screen and (max-width: 1024px) {
  .pushy_info_row ul.left_nav li {
    margin-right: 1em;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pushy_info_row ul.left_nav li {
    margin-right: 1em;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy_info_row ul.left_nav li {
    margin-right: 1em;
  }
}

@media only screen and (max-width: 480px) {
  .pushy_info_row ul.left_nav li {
    margin-right: 1em;
  }
}

.pushy_info_row ul.right_nav li {
  margin-left: 1em;
}

@media only screen and (max-width: 1024px) {
  .pushy_info_row ul.right_nav li {
    margin-left: 1em;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pushy_info_row ul.right_nav li {
    margin-left: 1em;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy_info_row ul.right_nav li {
    margin-left: 1em;
  }
}

@media only screen and (max-width: 480px) {
  .pushy_info_row ul.right_nav li {
    margin-left: 1em;
  }
}

.pushy_info_row ul.right_nav li:first-of-type {
  margin-left: 0;
}

@media only screen and (max-width: 1024px) {
  .pushy_info_row ul.right_nav li:first-of-type {
    margin-left: 0;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pushy_info_row ul.right_nav li:first-of-type {
    margin-left: 0;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy_info_row ul.right_nav li:first-of-type {
    margin-left: 0;
  }
}

@media only screen and (max-width: 480px) {
  .pushy_info_row ul.right_nav li:first-of-type {
    margin-left: 0;
  }
}

.pushy_info_row ul li a {
  line-height: 1;
  display: block;
}

.pushy_info_row svg {
  width: 20px;
  height: 20px;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy_info_row svg {
    width: 20px;
    height: 20px;
  }
}

@media only screen and (max-width: 480px) {
  .pushy_info_row svg {
    width: 20px;
    height: 20px;
  }
}

/*! Pushy - v1.3.0 - 2019-6-25
* Pushy is a responsive off-canvas navigation menu using CSS transforms & transitions.
* https://github.com/christophery/pushy/
* by Christopher Yee */
/* Menu Appearance */
/*  __Pushy Menu
-------------------------------- */
.pushy.pushy-left {
  left: 0;
}

.pushy.pushy-right {
  right: 0;
}

.pushy-content {
  visibility: hidden;
}

/* Menu Movement */
.pushy-left {
  -webkit-transform: translate3d(-40vw, 0, 0);
  -ms-transform: translate3d(-40vw, 0, 0);
  transform: translate3d(-40vw, 0, 0);
}

@media only screen and (max-width: 1024px) {
  .pushy-left {
    -webkit-transform: translate3d(-50vw, 0, 0);
    -ms-transform: translate3d(-50vw, 0, 0);
    transform: translate3d(-50vw, 0, 0);
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pushy-left {
    -webkit-transform: translate3d(-50vw, 0, 0);
    -ms-transform: translate3d(-50vw, 0, 0);
    transform: translate3d(-50vw, 0, 0);
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy-left {
    -webkit-transform: translate3d(-100vw, 0, 0);
    -ms-transform: translate3d(-100vw, 0, 0);
    transform: translate3d(-100vw, 0, 0);
  }
}

@media only screen and (max-width: 480px) {
  .pushy-left {
    -webkit-transform: translate3d(-100vw, 0, 0);
    -ms-transform: translate3d(-100vw, 0, 0);
    transform: translate3d(-100vw, 0, 0);
  }
}

.pushy-open-left #container,
.pushy-open-left .push {
  -webkit-transform: translate3d(40vw, 0, 0);
  -ms-transform: translate3d(40vw, 0, 0);
  transform: translate3d(40vw, 0, 0);
}

@media only screen and (max-width: 1024px) {
  .pushy-open-left #container,
  .pushy-open-left .push {
    -webkit-transform: translate3d(50vw, 0, 0);
    -ms-transform: translate3d(50vw, 0, 0);
    transform: translate3d(50vw, 0, 0);
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pushy-open-left #container,
  .pushy-open-left .push {
    -webkit-transform: translate3d(50vw, 0, 0);
    -ms-transform: translate3d(50vw, 0, 0);
    transform: translate3d(50vw, 0, 0);
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy-open-left #container,
  .pushy-open-left .push {
    -webkit-transform: translate3d(100vw, 0, 0);
    -ms-transform: translate3d(100vw, 0, 0);
    transform: translate3d(100vw, 0, 0);
  }
}

@media only screen and (max-width: 480px) {
  .pushy-open-left #container,
  .pushy-open-left .push {
    -webkit-transform: translate3d(100vw, 0, 0);
    -ms-transform: translate3d(100vw, 0, 0);
    transform: translate3d(100vw, 0, 0);
  }
}

.pushy-right {
  -webkit-transform: translate3d(40vw, 0, 0);
  -ms-transform: translate3d(40vw, 0, 0);
  transform: translate3d(40vw, 0, 0);
}

@media only screen and (max-width: 1024px) {
  .pushy-right {
    -webkit-transform: translate3d(50vw, 0, 0);
    -ms-transform: translate3d(50vw, 0, 0);
    transform: translate3d(50vw, 0, 0);
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pushy-right {
    -webkit-transform: translate3d(50vw, 0, 0);
    -ms-transform: translate3d(50vw, 0, 0);
    transform: translate3d(50vw, 0, 0);
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy-right {
    -webkit-transform: translate3d(100vw, 0, 0);
    -ms-transform: translate3d(100vw, 0, 0);
    transform: translate3d(100vw, 0, 0);
  }
}

@media only screen and (max-width: 480px) {
  .pushy-right {
    -webkit-transform: translate3d(100vw, 0, 0);
    -ms-transform: translate3d(100vw, 0, 0);
    transform: translate3d(100vw, 0, 0);
  }
}

.pushy-open-right #container,
.pushy-open-right .push {
  -webkit-transform: translate3d(-40vw, 0, 0);
  -ms-transform: translate3d(-40vw, 0, 0);
  transform: translate3d(-40vw, 0, 0);
}

@media only screen and (max-width: 1024px) {
  .pushy-open-right #container,
  .pushy-open-right .push {
    -webkit-transform: translate3d(-50vw, 0, 0);
    -ms-transform: translate3d(-50vw, 0, 0);
    transform: translate3d(-50vw, 0, 0);
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .pushy-open-right #container,
  .pushy-open-right .push {
    -webkit-transform: translate3d(-50vw, 0, 0);
    -ms-transform: translate3d(-50vw, 0, 0);
    transform: translate3d(-50vw, 0, 0);
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .pushy-open-right #container,
  .pushy-open-right .push {
    -webkit-transform: translate3d(-100vw, 0, 0);
    -ms-transform: translate3d(-100vw, 0, 0);
    transform: translate3d(-100vw, 0, 0);
  }
}

@media only screen and (max-width: 480px) {
  .pushy-open-right #container,
  .pushy-open-right .push {
    -webkit-transform: translate3d(-100vw, 0, 0);
    -ms-transform: translate3d(-100vw, 0, 0);
    transform: translate3d(-100vw, 0, 0);
  }
}

.pushy-open-left .pushy,
.pushy-open-right .pushy {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.pushy-open-left .pushy-content,
.pushy-open-right .pushy-content {
  visibility: visible;
}

/* Menu Transitions */
#container,
.pushy,
.push {
  transition: transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
}

.pushy-content {
  transition: visibility 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
}

/* Site Overlay */
.site-overlay {
  display: none;
}

.pushy-open-right .header_nav,
.pushy-open-right .header_project_nav,
.pushy-open-right .page-nav {
  display: none;
  -webkit-animation: fade 500ms;
  animation: fade 500ms;
}

.pushy-open-left .site-overlay,
.pushy-open-right .site-overlay {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9998;
  background-color: rgba(0, 0, 0, 0.3);
  -webkit-animation: fade 500ms;
  animation: fade 500ms;
}

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

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

/*  __Footer
---------------------------------------------------------------- */
.footer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  z-index: 2;
  border-bottom: 1px solid #87877e;
  border-left: 1px solid #87877e;
  border-right: 1px solid #87877e;
}

@media only screen and (max-width: 480px) {
  .footer {
    flex-direction: column;
    text-align: center;
    justify-content: center;
    align-items: stretch;
  }
}

.footer ul.footer_nav {
  display: flex;
  padding: 1vw;
}

@media only screen and (max-width: 1024px) {
  .footer ul.footer_nav {
    padding: 1vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .footer ul.footer_nav {
    padding: 1vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .footer ul.footer_nav {
    padding: 2vw;
  }
}

@media only screen and (max-width: 480px) {
  .footer ul.footer_nav {
    padding: 8vw;
    flex-direction: column;
    text-align: center;
    justify-content: center;
  }
}

.footer ul.footer_sns_nav {
  display: flex;
  padding: 1vw;
  position: relative;
}

@media only screen and (max-width: 1024px) {
  .footer ul.footer_sns_nav {
    padding: 1vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .footer ul.footer_sns_nav {
    padding: 1vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .footer ul.footer_sns_nav {
    padding: 1vw;
  }
}

@media only screen and (max-width: 480px) {
  .footer ul.footer_sns_nav {
    padding: 0 4vw 8vw 4vw;
    text-align: center;
    justify-content: center;
  }
}

.arch_in_svg,
.oval_in_svg {
  height: 0;
}

.clippath {
  position: absolute;
  bottom: 0;
  left: 0;
}

.page_body_footer_cover {
  position: absolute;
  width: 100%;
  height: 10vh;
  bottom: 0;
  left: 0;
  z-index: 1;
  background-color: #fff;
  display: none;
}

/*  __footer_nav
------------------------------- */
ul.footer_nav li {
  margin-right: 1.5em;
}

@media only screen and (max-width: 480px) {
  ul.footer_nav li {
    margin: 0 0.75em;
  }
}

/*  __sns_nav
------------------------------- */
ul.footer_sns_nav li {
  margin-left: 1.5em;
}

@media only screen and (max-width: 480px) {
  ul.footer_sns_nav li {
    margin: 0 0.75em;
  }
}

.footer_sns_nav li a {
  display: block;
  line-height: 1;
}

.footer_sns_nav li svg path,
.pushy .right_nav li svg path {
  fill: #87877e;
}

/*  __bottom_nav
------------------------------- */
@media only screen and (max-width: 480px) {
  #gototop {
    position: absolute;
    top: 0;
    right: 2vw;
  }
}

#gototop span {
  font-size: 24px;
  line-height: 1;
  margin-top: 0.1em;
  display: block;
}

@media only screen and (max-width: 1024px) {
  #gototop span {
    font-size: 24px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  #gototop span {
    font-size: 24px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  #gototop span {
    font-size: 24px;
  }
}

@media only screen and (max-width: 480px) {
  #gototop span {
    font-size: 24px;
  }
}

/* ---------------------------------------------------------------------
__Hero
---------------------------------------------------------------------- */
.hero,
.page_hero {
  position: relative;
  width: 100%;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  top: 0;
  z-index: 0;
  margin: 0;
  padding: 0;
}

/*  __hero_slider & Page hero
-------------------------------- */
.hero_slider {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease;
  -webkit-transition: opacity 1s ease;
}

.page_hero_image {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
  transition: opacity 1s ease;
  -webkit-transition: opacity 1s ease;
}

.hero_slider div {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 100%;
  width: 100%;
  text-decoration: none;
}

.hero_slider.slick-initialized {
  visibility: visible;
  opacity: 1;
}

.hero_slider a .pc,
.page_hero .pc {
  display: block;
}

@media only screen and (max-width: 1024px) {
  .hero_slider a .pc,
  .page_hero .pc {
    display: block;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .hero_slider a .pc,
  .page_hero .pc {
    display: block;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .hero_slider a .pc,
  .page_hero .pc {
    display: none;
  }
}

@media only screen and (max-width: 480px) {
  .hero_slider a .pc,
  .page_hero .pc {
    display: none;
  }
}

.hero_slider a .mobile,
.page_hero .mobile {
  display: none;
}

@media only screen and (max-width: 1024px) {
  .hero_slider a .mobile,
  .page_hero .mobile {
    display: none;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .hero_slider a .mobile,
  .page_hero .mobile {
    display: none;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .hero_slider a .mobile,
  .page_hero .mobile {
    display: block;
  }
}

@media only screen and (max-width: 480px) {
  .hero_slider a .mobile,
  .page_hero .mobile {
    display: block;
  }
}

.lower_image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  text-decoration: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
}

.upper_image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  text-decoration: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 50%;
  max-height: 50%;
  margin: auto;
  box-shadow: 0 0 0 1px #fff inset;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .upper_image {
    max-width: 55%;
    max-height: 55%;
  }
}

@media only screen and (max-width: 480px) {
  .upper_image {
    max-width: 55%;
    max-height: 55%;
  }
}

.upper_image:after {
  content: "";
  position: absolute;
  top: -15px;
  bottom: -15px;
  left: -15px;
  right: -15px;
  margin: auto;
  box-shadow: 0 0 0 1px #fff inset;
}

@media only screen and (max-width: 1024px) {
  .upper_image:after {
    top: -10px;
    bottom: -10px;
    left: -10px;
    right: -10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .upper_image:after {
    top: -10px;
    bottom: -10px;
    left: -10px;
    right: -10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .upper_image:after {
    top: -10px;
    bottom: -10px;
    left: -10px;
    right: -10px;
  }
}

@media only screen and (max-width: 480px) {
  .upper_image:after {
    top: -10px;
    bottom: -10px;
    left: -10px;
    right: -10px;
  }
}

/*  __Page title
-------------------------- */
.page_title {
  color: #fff;
  position: fixed;
  width: 100%;
  z-index: 1;
  bottom: 50px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
}

/*  __Explore line
-------------------------- */
.exploreline {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  overflow: hidden;
  opacity: 1;
}

.exploreline.active {
  opacity: 0;
}

.exploreline a {
  display: block;
}

.exploreline span {
  height: 50px;
  width: 1px;
  overflow: hidden;
  display: inline-block;
  color: #87877e;
  text-decoration: none;
}

.page_hero .exploreline span {
  height: 25px;
}

.exploreline span:after,
.exploreline span:before {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 1px;
  height: 100%;
  content: '';
  z-index: 10;
}

.exploreline span:before {
  z-index: 20;
  -webkit-animation: vertical 2s infinite normal;
  animation: vertical 2s infinite normal;
  background: #fff;
}

.exploreline span:after {
  background: #87877e;
  opacity: 1;
}

@-webkit-keyframes vertical {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
  }
  15% {
    -webkit-transform: translate3d(0, -98%, 0);
  }
  85% {
    -webkit-transform: translate3d(0, 98%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 100%, 0);
  }
}

@keyframes vertical {
  0% {
    transform: translate3d(0, -100%, 0);
  }
  15% {
    transform: translate3d(0, -98%, 0);
  }
  85% {
    transform: translate3d(0, 98%, 0);
  }
  100% {
    transform: translate3d(0, 100%, 0);
  }
}

/* -------------------------------------------------------------------
__Page__All
---------------------------------------------------------------------- */
.page_body {
  position: relative;
  width: 100%;
  background: #fff;
  padding: 15px;
}

@media only screen and (max-width: 1024px) {
  .page_body {
    padding: 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .page_body {
    padding: 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .page_body {
    padding: 10px;
  }
}

@media only screen and (max-width: 480px) {
  .page_body {
    padding: 10px;
  }
}

.page_body_inner {
  position: relative;
  border: 1px solid #87877e;
  z-index: 2;
}

.home img,
.page img {
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.home a:hover img,
.page a:hover img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

/*  __Page Nav
-------------------------- */
ul.page_nav {
  /* height: 4vw; */
  max-width: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  border-bottom: 1px solid #87877e;
}

ul.page_nav li {
  display: inline-block;
  padding: 0.5% 0;
  line-height: 1;
}

@media only screen and (max-width: 1024px) {
  ul.page_nav li {
    padding: 0.5% 0;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  ul.page_nav li {
    padding: 0.5% 0;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  ul.page_nav li {
    padding: 0.5% 0;
  }
}

@media only screen and (max-width: 480px) {
  ul.page_nav li {
    padding: 0.5em 0;
  }
}

ul.page_nav li:not(:first-child)::before {
  content: "｜";
  margin: 0 0.75em;
}

@media only screen and (max-width: 1024px) {
  ul.page_nav li:not(:first-child)::before {
    margin: 0 0.75em;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  ul.page_nav li:not(:first-child)::before {
    margin: 0 0.75em;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  ul.page_nav li:not(:first-child)::before {
    margin: 0 0.75em;
  }
}

@media only screen and (max-width: 480px) {
  ul.page_nav li:not(:first-child)::before {
    margin: 0 0.75em;
  }
}

ul.page_nav li:first-of-type {
  padding-left: 1.5em;
}

@media only screen and (max-width: 1024px) {
  ul.page_nav li:first-of-type {
    padding-left: 1.5em;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  ul.page_nav li:first-of-type {
    padding-left: 1.5em;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  ul.page_nav li:first-of-type {
    padding-left: 1.5em;
  }
}

@media only screen and (max-width: 480px) {
  ul.page_nav li:first-of-type {
    padding-left: 1.5em;
  }
}

ul.page_nav li:last-of-type {
  padding-right: 1.5em;
}

@media only screen and (max-width: 1024px) {
  ul.page_nav li:last-of-type {
    padding-right: 1.5em;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  ul.page_nav li:last-of-type {
    padding-right: 1.5em;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  ul.page_nav li:last-of-type {
    padding-right: 1.5em;
  }
}

@media only screen and (max-width: 480px) {
  ul.page_nav li:last-of-type {
    padding-right: 1.5em;
  }
}

.privacy-policy .page_nav_wrap,
.page-specified-commercial-transactions .page_nav_wrap {
  display: none;
}

/* -------------------------------------------------------------------
__Type_All__Row__Col
---------------------------------------------------------------------- */
/*  __Row
-------------------------- */
.row {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  border-bottom: 1px solid #87877e;
}

.row:last-of-type {
  border-bottom: none;
}

.row.type_02.shizuku-salon,
.type_105 {
  background-image: linear-gradient(135deg, #ebfff6 0%, #eaf9ff 51%, #eef2ff 100%);
  background-size: 500% 500%;
  animation: gradation-1 20s ease infinite;
}

.row.type_03.shizuku-course {
  background-image: linear-gradient(45deg, #ffeaea, #ffefeb 49%, #fff3eb 100%);
  background-size: 500% 500%;
  animation: gradation-1 20s ease infinite;
}

.row.type_02.shizuku-counseling {
  background-image: linear-gradient(135deg, #f7ffeb 0%, #fdffeb 51%, #ffffeb 100%);
  background-size: 500% 500%;
  animation: gradation-1 20s ease infinite;
}

@keyframes gradation-1 {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.row.type_02 a,
.row.type_03 a {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}

@media only screen and (max-width: 480px) {
  .row.type_03 a {
    flex-direction: column-reverse;
  }
}

.row.type_06 {
  align-items: center;
}

.row.type_09 {
  align-items: stretch;
}

@media only screen and (max-width: 480px) {
  .row.type_15 {
    flex-direction: column-reverse;
  }
}

/*  __Col
-------------------------- */
.type_01 .col {
  width: 50%;
  padding: 8vw;
  display: flex;
  flex-direction: column;
  text-align: center;
}

@media only screen and (max-width: 1024px) {
  .type_01 .col {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_01 .col {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_01 .col {
    padding: 8vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_01 .col {
    width: 100%;
    padding: 16vw 4vw;
  }
}

.type_02 .col,
.type_03 .col,
.type_05 .col,
.type_06 .col,
.type_09 .col,
.type_101 .col,
.type_102 .col,
.type_103 .col {
  width: 50%;
  padding: 8vw;
  text-align: left;
}

@media only screen and (max-width: 1024px) {
  .type_02 .col,
  .type_03 .col,
  .type_05 .col,
  .type_06 .col,
  .type_09 .col,
  .type_101 .col,
  .type_102 .col,
  .type_103 .col {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_02 .col,
  .type_03 .col,
  .type_05 .col,
  .type_06 .col,
  .type_09 .col,
  .type_101 .col,
  .type_102 .col,
  .type_103 .col {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_02 .col,
  .type_03 .col,
  .type_05 .col,
  .type_06 .col,
  .type_09 .col,
  .type_101 .col,
  .type_102 .col,
  .type_103 .col {
    padding: 8vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_02 .col,
  .type_03 .col,
  .type_05 .col,
  .type_06 .col,
  .type_09 .col,
  .type_101 .col,
  .type_102 .col,
  .type_103 .col {
    width: 100%;
    padding: 16vw 4vw;
  }
}

.type_11 .col,
.type_13 .col,
.type_16 .col,
.type_17 .col,
.type_18 .col .col_inner_left,
.type_18 .col .col_inner_right {
  width: 50%;
  padding: 4vw;
}

@media only screen and (max-width: 1024px) {
  .type_11 .col,
  .type_13 .col,
  .type_16 .col,
  .type_17 .col,
  .type_18 .col .col_inner_left,
  .type_18 .col .col_inner_right {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_11 .col,
  .type_13 .col,
  .type_16 .col,
  .type_17 .col,
  .type_18 .col .col_inner_left,
  .type_18 .col .col_inner_right {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_11 .col,
  .type_13 .col,
  .type_16 .col,
  .type_17 .col,
  .type_18 .col .col_inner_left,
  .type_18 .col .col_inner_right {
    padding: 8vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_11 .col,
  .type_13 .col,
  .type_16 .col,
  .type_17 .col,
  .type_18 .col .col_inner_left,
  .type_18 .col .col_inner_right {
    width: 100%;
    padding: 16vw 4vw;
  }
}

.type_01 .col .text {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.type_02 .col.left {
  padding-right: 0;
}

@media only screen and (max-width: 480px) {
  .type_02 .col.left {
    padding-right: 4vw;
  }
}

.type_03 .col.right {
  padding-left: 0;
}

@media only screen and (max-width: 480px) {
  .type_03 .col.right {
    padding-left: 4vw;
  }
}

.type_04 .col {
  display: block;
  width: 33.3333%;
  padding: 4vw;
  text-align: center;
}

@media only screen and (max-width: 1024px) {
  .type_04 .col {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_04 .col {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_04 .col {
    padding: 8vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_04 .col {
    width: 100%;
    padding: 16vw 4vw;
  }
}

.type_05 .col {
  display: flex;
  flex-flow: column;
}

.type_06 .col.left {
  padding: 8vw 10vw;
}

@media only screen and (max-width: 1024px) {
  .type_06 .col.left {
    padding: 6vw 10vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_06 .col.left {
    padding: 6vw 10vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_06 .col.left {
    padding: 16vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_06 .col.left {
    padding: 16vw 4vw;
  }
}

.type_06 .col.right {
  padding-left: 2vw;
}

@media only screen and (max-width: 1024px) {
  .type_06 .col.right {
    padding-left: 0;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_06 .col.right {
    padding-left: 0;
  }
}

@media only screen and (max-width: 480px) {
  .type_06 .col.right {
    padding: 16vw 4vw;
  }
}

.type_07 .col.left {
  display: block;
  width: 33.3333%;
  padding: 4vw;
  text-align: center;
}

@media only screen and (max-width: 1024px) {
  .type_07 .col.left {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_07 .col.left {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_07 .col.left {
    width: 50%;
    padding: 8vw 2vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_07 .col.left {
    width: 100%;
    padding: 16vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_07 .col.left .text_box {
    position: sticky;
    top: 8vw;
  }
}

.type_07 .col.right {
  display: flex;
  width: 66.6666%;
  text-align: center;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_07 .col.right {
    width: 50%;
    flex-flow: column;
  }
}

@media only screen and (max-width: 480px) {
  .type_07 .col.right {
    width: 100%;
  }
}

.type_07 .col.right .right_1 {
  display: flex;
  width: 50%;
  padding: 4vw;
}

@media only screen and (max-width: 1024px) {
  .type_07 .col.right .right_1 {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_07 .col.right .right_1 {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_07 .col.right .right_1 {
    width: 100%;
    padding: 8vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_07 .col.right .right_1 {
    width: 100%;
  }
}

.type_07 .col.right .right_2 {
  display: flex;
  width: 50%;
  padding: 4vw;
}

@media only screen and (max-width: 1024px) {
  .type_07 .col.right .right_2 {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_07 .col.right .right_2 {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_07 .col.right .right_2 {
    width: 100%;
    padding: 8vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_07 .col.right .right_2 {
    width: 100%;
  }
}

.type_08 .col {
  display: flex;
  flex-direction: column;
  width: 33.3333%;
  padding: 4vw;
  text-align: center;
}

@media only screen and (max-width: 1024px) {
  .type_08 .col {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_08 .col {
    padding: 6vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_08 .col {
    padding: 8vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_08 .col {
    width: 100%;
    padding: 16vw 4vw;
  }
}

.type_08 .col .text_box {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.type_08 .col .text_box .text {
  flex-grow: 1;
  margin-top: 2em;
  margin-bottom: 2em;
}

.type_09 .col {
  display: flex;
  align-items: center;
}

.type_10 .col {
  display: flex;
  flex-wrap: wrap;
}

@media only screen and (max-width: 480px) {
  .type_10 .col {
    flex-direction: column;
    padding: 8vw 4vw;
    border-bottom: 1px solid #87877e;
  }
}

@media only screen and (max-width: 480px) {
  .type_10 .col:last-of-type {
    border-bottom: none;
  }
}

.type_01 .col.left,
.type_04 .col.left,
.type_04 .col.center,
.type_05 .col.left,
.type_07 .col.left,
.type_07 .col.right .right_1,
.type_08 .col.left,
.type_08 .col.center,
.type_09 .col.left,
.type_11 .col.left,
.type_16 .col.left,
.type_18 .col .col_inner_left,
.type_101 .col.left,
.type_102 .col.left,
.type_103 .col.left {
  border-right: 1px solid #87877e;
}

@media only screen and (max-width: 480px) {
  .type_01 .col.left,
  .type_04 .col.left,
  .type_04 .col.center,
  .type_05 .col.left,
  .type_07 .col.left,
  .type_07 .col.right .right_1,
  .type_08 .col.left,
  .type_08 .col.center,
  .type_09 .col.left,
  .type_11 .col.left,
  .type_16 .col.left,
  .type_18 .col .col_inner_left,
  .type_101 .col.left,
  .type_102 .col.left,
  .type_103 .col.left {
    border-right: none;
    border-bottom: 1px solid #87877e;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_07 .col.right .right_1 {
    border-right: none;
    border-bottom: 1px solid #87877e;
  }
}

.type_14 .col .col_inner_left {
  border-right: 1px solid #87877e;
}

@media only screen and (max-width: 480px) {
  .type_14 .col .col_inner_left {
    border-right: none;
  }
}

.type_01 .col .text,
.type_07 .col.left,
.type_12 .col_slider_item .text {
  text-align: left;
}

.type_12 .col_slider_item {
  cursor: grab;
  cursor: pointer;
}

.type_12 .col_slider_item:active {
  cursor: grabbing;
  cursor: pointer;
}

.type_06 .col.left,
.type_102 .col.right {
  text-align: center;
}

.type_08 .title,
.type_10 .title,
.type_12 .title,
.type_14 .title,
.type_18 .title,
.type_102 .title,
.type_103 .title,
.type_104 .title {
  width: 100%;
  padding: 1em;
  text-align: center;
  border-bottom: 1px solid #87877e;
}

#sct.type_18 .title {
  display: none;
}

.type_10 .col_inner_left {
  display: flex;
  align-items: center;
  width: 25%;
  text-align: center;
  padding: 4vw;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_10 .col_inner_left {
    width: 35%;
    padding: 4vw 2vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_10 .col_inner_left {
    order: 2;
    width: 100%;
    padding: 6vw 2vw;
  }
}

.type_10 .col_inner_left .text_box {
  margin: auto;
}

.type_10 .col_inner_center {
  display: flex;
  align-items: center;
  width: 25%;
  position: relative;
  padding: 4vw;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_10 .col_inner_center {
    width: 25%;
    padding: 4vw 2vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_10 .col_inner_center {
    order: 1;
    width: 60%;
    padding: 0;
    margin: auto;
  }
}

.type_10 .col_inner_center:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 100%;
  width: 1px;
  background: #87877e;
}

@media only screen and (max-width: 480px) {
  .type_10 .col_inner_center:before {
    background: none;
  }
}

.type_10 .col_inner_right {
  display: flex;
  align-items: center;
  width: 50%;
  padding: 4vw;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_10 .col_inner_right {
    width: 40%;
    padding: 4vw 2vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_10 .col_inner_right {
    order: 3;
    width: 100%;
    padding: 0;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_10 .col:nth-of-type(2) .col_inner_right {
    padding-top: 8vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_10 .col:nth-of-type(2) .col_inner_right {
    padding: 0;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_10 .col:last-of-type .col_inner_right {
    padding: 0;
  }
}

.type_12 .col {
  width: 100%;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}

.type_12 .col_slider_item {
  width: 33.3333%;
  padding: 4vw;
  border-right: 1px solid #87877e;
  display: flex;
  align-items: stretch;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_12 .col_slider_item {
    padding: 8vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_12 .col_slider_item {
    padding: 8vw 4vw;
    width: 100%;
  }
}

@media only screen and (max-width: 480px) {
  .type_12 .col_slider_item {
    border-right: none;
  }
}

.type_12 .slick-track {
  display: flex;
}

.type_12 .slick-slide {
  height: auto !important;
}

.type_14 .col {
  width: 100%;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #87877e;
}

@media only screen and (max-width: 480px) {
  .type_14 .col {
    flex-direction: column-reverse;
    border-bottom: none;
  }
}

.type_14 .col:last-of-type {
  border-bottom: none;
}

.type_14 .col_inner_left {
  width: 50%;
  padding: 6vw 4vw;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_14 .col_inner_left {
    padding: 12vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_14 .col_inner_left {
    width: 100%;
    padding: 12vw 4vw;
  }
}

.type_14 .col_inner_right {
  width: 50%;
  padding: 6vw;
  display: flex;
  align-items: center;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_14 .col_inner_right {
    padding: 12vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_14 .col_inner_right {
    width: 100%;
    padding: 12vw 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_14 .col_inner_right img {
    object-fit: cover;
    height: 35vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_14 .col_inner_right img {
    object-fit: cover;
    height: auto;
  }
}

.type_15 .col.left {
  width: 50%;
}

@media only screen and (max-width: 480px) {
  .type_15 .col.left {
    width: 100%;
  }
}

.type_15 .col.right {
  width: 50%;
  padding: 8vw;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_15 .col.right {
    padding: 8vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_15 .col.right {
    width: 100%;
    padding: 16vw 4vw;
    border-bottom: 1px solid #87877e;
  }
}

.type_15 .col.right .image {
  position: sticky;
  top: 8vw;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_15 .col.right .image {
    top: 8vw;
  }
}

.type_15 .col_left_item {
  position: relative;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 4vw;
  border-right: 1px solid #87877e;
  border-bottom: 1px solid #87877e;
}

@media only screen and (max-width: 480px) {
  .type_15 .col_left_item {
    padding: 8vw 4vw;
    border-right: none;
  }
}

.type_15 .col_left_item .number {
  position: absolute;
  top: 4vw;
  left: 2vw;
}

@media only screen and (max-width: 1024px) {
  .type_15 .col_left_item .number {
    position: absolute;
    top: 4vw;
    left: 2vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_15 .col_left_item .number {
    position: absolute;
    top: 4vw;
    left: 2vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_15 .col_left_item .number {
    position: absolute;
    top: 4vw;
    left: 2vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_15 .col_left_item .number {
    position: absolute;
    top: 8vw;
    left: 4vw;
  }
}

.type_15 .col_left_item .image {
  width: 30%;
}

@media only screen and (max-width: 1024px) {
  .type_15 .col_left_item .image {
    width: 30%;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_15 .col_left_item .image {
    width: 30%;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_15 .col_left_item .image {
    width: 35%;
  }
}

@media only screen and (max-width: 480px) {
  .type_15 .col_left_item .image {
    width: 35%;
  }
}

.type_15 .col_left_item .text {
  width: 63%;
  border-left: 1px solid #87877e;
  margin-left: 2em;
  padding-left: 2em;
}

@media only screen and (max-width: 1024px) {
  .type_15 .col_left_item .text {
    width: 63%;
    margin-left: 1.5em;
    padding-left: 1.5em;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_15 .col_left_item .text {
    width: 63%;
    margin-left: 1.5em;
    padding-left: 1.5em;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_15 .col_left_item .text {
    width: 58%;
    margin-left: 1em;
    padding-left: 1em;
  }
}

@media only screen and (max-width: 480px) {
  .type_15 .col_left_item .text {
    width: 58%;
    margin-left: 1em;
    padding-left: 1em;
  }
}

.type_15 .col_left_item:last-of-type,
.type_18 .col:last-of-type {
  border-bottom: none;
}

.type_14 .col {
  width: 100%;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #87877e;
}

@media only screen and (max-width: 480px) {
  .type_17 .col.right {
    display: none;
  }
}

.type_18 .col {
  width: 100%;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #87877e;
}

.type_18 .col .col_inner_left {
  padding-bottom: 8vw;
}

@media only screen and (max-width: 480px) {
  .type_18 .col .col_inner_left {
    padding: 5vw 4vw;
  }
}

.type_18 .col .col_inner_right {
  padding-bottom: 8vw;
}

@media only screen and (max-width: 480px) {
  .type_18 .col .col_inner_right {
    padding-top: 8vw;
    padding-bottom: 16vw;
  }
}

#sct.type_18 .col .col_inner_left {
  width: 30%;
  padding: 2vw;
}

@media only screen and (max-width: 1024px) {
  #sct.type_18 .col .col_inner_left {
    padding: 2vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  #sct.type_18 .col .col_inner_left {
    padding: 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  #sct.type_18 .col .col_inner_left {
    padding: 4vw;
  }
}

@media only screen and (max-width: 480px) {
  #sct.type_18 .col .col_inner_left {
    width: 100%;
    padding: 6vw 4vw 2vw 4vw;
    border-bottom: none;
  }
}

#sct.type_18 .col .col_inner_right {
  width: 70%;
  padding: 2vw;
}

@media only screen and (max-width: 1024px) {
  #sct.type_18 .col .col_inner_right {
    padding: 2vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  #sct.type_18 .col .col_inner_right {
    padding: 4vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  #sct.type_18 .col .col_inner_right {
    padding: 4vw;
  }
}

@media only screen and (max-width: 480px) {
  #sct.type_18 .col .col_inner_right {
    width: 100%;
    padding: 2vw 4vw 6vw 4vw;
  }
}

#sct.type_18 ul li {
  text-indent: -1em;
  padding-left: 1em;
}

.type_101 .col.left {
  padding: 4vw;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_101 .col.left {
    padding: 8vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_101 .col.left {
    padding: 16vw 4vw;
  }
}

.type_101 .col.right {
  padding: 0;
}

.type_101 .col_inner_top {
  padding: 4vw;
  border-bottom: 1px solid #87877e;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_101 .col_inner_top {
    padding: 8vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_101 .col_inner_top {
    padding: 16vw 4vw;
  }
}

.type_101 .col_inner_bottom,
.type_102 .col.left {
  padding: 4vw;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_101 .col_inner_bottom,
  .type_102 .col.left {
    padding: 8vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_101 .col_inner_bottom,
  .type_102 .col.left {
    padding: 16vw 4vw;
  }
}

.type_102 .col.right {
  padding: 0;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_102 .col.right .col_inner {
    position: sticky;
    top: 0;
  }
}

.type_102 .col .col_inner_right {
  padding: 8vw 4vw;
  border-bottom: 1px solid #87877e;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_102 .col .col_inner_right {
    padding: 12vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_102 .col .col_inner_right {
    padding: 16vw 4vw;
  }
}

.type_102 .col .col_inner_right:last-of-type {
  border-bottom: none;
}

.type_102 .col .col_inner_left {
  padding: 4vw 0;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_102 .col .col_inner_left {
    padding: 8vw 0;
  }
}

@media only screen and (max-width: 480px) {
  .type_102 .col .col_inner_left {
    padding: 8vw 0;
  }
}

.type_103 .col {
  padding: 8vw 4vw;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_103 .col {
    padding: 12vw 4vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_103 .col {
    padding: 16vw 4vw;
  }
}

.type_103 .col ul {
  padding-left: 1em;
}

@media only screen and (max-width: 480px) {
  .type_103 .col ul {
    padding-left: 1em;
  }
}

@media only screen and (max-width: 480px) {
  .type_02 .col.left,
  .type_03 .col.right,
  .type_06 .col.left,
  .type_13 .col.left,
  .type_14 .col_inner_right {
    padding-bottom: 0;
  }
}

.type_104 .col {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.type_104 .col_item {
  width: 20%;
  padding: 2vw 2vw 4vw 2vw;
  text-align: center;
  border-right: 1px solid #87877e;
}

@media only screen and (max-width: 1024px) {
  .type_104 .col_item {
    padding: 2vw 2vw 4vw 2vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_104 .col_item {
    padding: 2vw 2vw 4vw 2vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_104 .col_item {
    padding: 2vw 2vw 6vw 2vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_104 .col_item {
    padding: 2vw 2vw 8vw 2vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_104 .col_item.salon_01 {
    width: 33.3333%;
    border-bottom: 1px solid #87877e;
  }
}

@media only screen and (max-width: 480px) {
  .type_104 .col_item.salon_01 {
    width: 50%;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_104 .col_item.salon_02 {
    width: 33.3333%;
    border-bottom: 1px solid #87877e;
  }
}

@media only screen and (max-width: 480px) {
  .type_104 .col_item.salon_02 {
    width: 50%;
    border-right: none;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_104 .col_item.salon_03 {
    width: 33.3333%;
    border-right: none;
    border-bottom: 1px solid #87877e;
  }
}

@media only screen and (max-width: 480px) {
  .type_104 .col_item.salon_03 {
    width: 50%;
    border-right: 1px solid #87877e;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_104 .col_item.salon_04 {
    width: 33.3333%;
  }
}

@media only screen and (max-width: 480px) {
  .type_104 .col_item.salon_04 {
    width: 50%;
    border-right: none;
    border-bottom: 1px solid #87877e;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_104 .col_item.salon_05 {
    width: 33.3333%;
  }
}

@media only screen and (max-width: 480px) {
  .type_104 .col_item.salon_05 {
    width: 50%;
  }
}

.type_104 .col_item:last-of-type {
  border-right: none;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_104 .col_item:last-of-type {
    border-right: 1px solid #87877e;
  }
}

.type_104 .col_item .image {
  padding: 2vw;
}

@media only screen and (max-width: 1024px) {
  .type_104 .col_item .image {
    padding: 2vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_104 .col_item .image {
    padding: 3vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_104 .col_item .image {
    padding: 3vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_104 .col_item .image {
    padding: 6vw;
  }
}

.type_105 {
  width: 100%;
  padding: 4vw;
}

.type_105 a {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.type_105 .col.left {
  width: 50%;
  padding-right: 4vw;
}

@media only screen and (max-width: 480px) {
  .type_105 .col.left {
    width: 100%;
    padding: 4vw;
  }
}

.type_105 .col.right {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
  width: 50%;
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_105 .col.right {
    justify-content: space-between;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_105 .col.right {
    justify-content: space-between;
  }
}

@media only screen and (max-width: 480px) {
  .type_105 .col.right {
    width: 100%;
    padding: 4vw;
    flex-flow: column;
    align-items: flex-start;
  }
}

.type_105 .text {
  margin-top: 2em;
}

@media only screen and (max-width: 480px) {
  .type_105 .text {
    width: 100%;
  }
}

.type_105 .image {
  width: 120px;
}

@media only screen and (max-width: 1024px) {
  .type_105 .image {
    width: 120px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_105 .image {
    width: 80px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_105 .image {
    width: 80px;
  }
}

@media only screen and (max-width: 480px) {
  .type_105 .image {
    width: 90px;
    margin-top: 2em;
  }
}

/*  __Type_Text All
-------------------------- */
.type_04 h1.en {
  margin-bottom: 0.25em;
}

.type_01 h1.en,
.type_02 h1.en,
.type_03 h1.en {
  margin-bottom: 1em;
}

@media only screen and (max-width: 480px) {
  .type_01 h1.en,
  .type_02 h1.en,
  .type_03 h1.en {
    margin-bottom: 1em;
  }
}

.type_01 h1.jp,
.type_02 h1.jp,
.type_03 h1.jp {
  margin-bottom: 0.5em;
}

@media only screen and (max-width: 480px) {
  .type_01 h1.jp,
  .type_02 h1.jp,
  .type_03 h1.jp {
    margin-bottom: 0.5em;
  }
}

.type_01 .text {
  margin-bottom: 2em;
}

@media only screen and (max-width: 480px) {
  .type_01 .text {
    margin-bottom: 2em;
  }
}

.type_02 .text,
.type_03 .text,
.type_05 h1,
.type_07 h1,
.type_09 h2 {
  margin-bottom: 3em;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_02 .text,
  .type_03 .text,
  .type_05 h1,
  .type_07 h1,
  .type_09 h2 {
    margin-bottom: 1.5em;
  }
}

@media only screen and (max-width: 480px) {
  .type_02 .text,
  .type_03 .text,
  .type_05 h1,
  .type_07 h1,
  .type_09 h2 {
    margin-bottom: 1.5em;
  }
}

.type_08 .image,
.type_14 .col h1,
.type_101 h1 {
  margin-bottom: 2em;
}

@media only screen and (max-width: 480px) {
  .type_08 .image,
  .type_14 .col h1,
  .type_101 h1 {
    margin-bottom: 1em;
  }
}

.type_08 .text_box {
  margin-top: 2em;
}

@media only screen and (max-width: 480px) {
  .type_08 .text_box {
    margin-top: 1em;
  }
}

.type_08 .text_box h1 {
  margin-bottom: 0.5em;
}

.type_103 ul li {
  margin-bottom: 1.0em;
}

/*  __Type_Image All
-------------------------- */
.type_01 .image {
  width: 80%;
  margin: auto;
}

@media only screen and (max-width: 1024px) {
  .type_01 .image {
    width: 80%;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_01 .image {
    width: 80%;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_01 .image {
    width: 80%;
  }
}

@media only screen and (max-width: 480px) {
  .type_01 .image {
    width: 70%;
  }
}

.type_02 .image {
  width: 100%;
  margin: auto;
  margin-right: 0;
}

@media only screen and (max-width: 1024px) {
  .type_02 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_02 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_02 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 480px) {
  .type_02 .image {
    width: 100%;
  }
}

.type_03 .image {
  width: 100%;
  margin: auto;
  margin-left: 0;
}

@media only screen and (max-width: 1024px) {
  .type_03 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_03 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_03 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 480px) {
  .type_03 .image {
    width: 100%;
  }
}

.type_04 .image {
  width: 70%;
  margin: auto;
}

@media only screen and (max-width: 1024px) {
  .type_04 .image {
    width: 75%;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_04 .image {
    width: 75%;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_04 .image {
    width: 80%;
  }
}

@media only screen and (max-width: 480px) {
  .type_04 .image {
    width: 70%;
  }
}

.type_06 .image {
  width: 100%;
  margin: auto;
}

@media only screen and (max-width: 1024px) {
  .type_06 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_06 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_06 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 480px) {
  .type_06 .image {
    width: 80%;
  }
}

.type_07 .image {
  width: 100%;
  margin: auto;
}

@media only screen and (max-width: 1024px) {
  .type_07 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_07 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_07 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 480px) {
  .type_07 .image {
    width: 80%;
  }
}

.type_07 .image img {
  width: 100%;
}

.type_07 .image img {
  /* object-fit: cover; height: 45vw; */
}

.type_08 .image {
  width: 60%;
  margin: auto;
}

@media only screen and (max-width: 1024px) {
  .type_08 .image {
    width: 75%;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_08 .image {
    width: 75%;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_08 .image {
    width: 90%;
  }
}

@media only screen and (max-width: 480px) {
  .type_08 .image {
    width: 60%;
  }
}

.type_09 .image {
  width: 100%;
  margin: auto;
}

@media only screen and (max-width: 1024px) {
  .type_09 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_09 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_09 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 480px) {
  .type_09 .image {
    width: 80%;
  }
}

.type_11 .col_slider_item img {
  width: 100%;
  margin: auto;
}

@media only screen and (max-width: 1024px) {
  .type_11 .col_slider_item img {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_11 .col_slider_item img {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_11 .col_slider_item img {
    width: 100%;
  }
}

@media only screen and (max-width: 480px) {
  .type_11 .col_slider_item img {
    width: 80%;
  }
}

.type_12 .image {
  width: 100%;
  margin: auto;
}

@media only screen and (max-width: 1024px) {
  .type_12 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_12 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_12 .image {
    width: 100%;
  }
}

@media only screen and (max-width: 480px) {
  .type_12 .image {
    width: 80%;
  }
}

/*  __arch Image
-------------------------- */
.image.arch {
  position: relative;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 438 641.5"><path fill="none" stroke="%2387877e" stroke-miterlimit="20" d="M.5,641V205.86377c0-56.99414,25.24756-110.01953,71.0918-149.30811C113.16016,20.93164,166.88818.5,219,.5c52.03711,0,105.77002,20.51855,147.42041,56.29492,45.83643,39.37109,71.07959,92.31152,71.07959,149.06885v435.13623H.5Z" /></svg>') no-repeat center center;
  background-size: contain;
  padding: 15px;
}

@media only screen and (max-width: 1024px) {
  .image.arch {
    padding: 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .image.arch {
    padding: 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .image.arch {
    padding: 10px;
  }
}

@media only screen and (max-width: 480px) {
  .image.arch {
    padding: 10px;
  }
}

.image.arch .image_inner {
  clip-path: url(#arch_in);
  overflow: hidden;
}

.image.arch img {
  position: relative;
  clip-path: url(#arch_in);
  margin: auto;
  width: 100%;
}

.image.arch svg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.image.arch path {
  fill: none;
  stroke: #87877e;
  stroke-miterlimit: 20;
}

/*  __square
	__portrait 
	__landscape Image
-------------------------- */
.image.square,
.image.portrait,
.image.landscape {
  position: relative;
  padding: 15px;
}

@media only screen and (max-width: 1024px) {
  .image.square,
  .image.portrait,
  .image.landscape {
    padding: 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .image.square,
  .image.portrait,
  .image.landscape {
    padding: 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .image.square,
  .image.portrait,
  .image.landscape {
    padding: 10px;
  }
}

@media only screen and (max-width: 480px) {
  .image.square,
  .image.portrait,
  .image.landscape {
    padding: 10px;
  }
}

.image.square .image_inner,
.image.portrait .image_inner,
.image.landscape .image_inner {
  overflow: hidden;
}

.image.square:after,
.image.portrait:after,
.image.landscape:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  box-shadow: 0 0 0 1px #87877e inset;
}

/*  __circle Image
-------------------------- */
.image.circle {
  position: relative;
  margin: auto;
  width: 100%;
  height: auto;
}

.circle_1 {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #87877e inset;
  transform: scale(0.98);
}

#shizuku-salon-type-05 .circle_1 {
  display: none;
}

.circle_3 {
  clip-path: circle(50% at 50% 50%);
  /* box-shadow: 0 0 0 1px $color inset; */
  transform: scale(0.98);
  padding: 60px;
}

@media only screen and (max-width: 1024px) {
  .circle_3 {
    padding: 40px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .circle_3 {
    padding: 40px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .circle_3 {
    padding: 40px;
  }
}

@media only screen and (max-width: 480px) {
  .circle_3 {
    padding: 40px;
  }
}

#shizuku-salon-type-05 .circle_3 {
  padding: 30px;
}

@media only screen and (max-width: 1024px) {
  #shizuku-salon-type-05 .circle_3 {
    padding: 20px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  #shizuku-salon-type-05 .circle_3 {
    padding: 20px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  #shizuku-salon-type-05 .circle_3 {
    padding: 20px;
  }
}

@media only screen and (max-width: 480px) {
  #shizuku-salon-type-05 .circle_3 {
    padding: 20px;
  }
}

.circle_3_inner {
  clip-path: circle(50% at 50% 50%);
}

/*  __circle animation text
-------------------------- */
.circle_2 {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  padding: 40px;
}

@media only screen and (max-width: 1024px) {
  .circle_2 {
    padding: 30px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .circle_2 {
    padding: 30px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .circle_2 {
    padding: 30px;
  }
}

@media only screen and (max-width: 480px) {
  .circle_2 {
    padding: 30px;
  }
}

#shizuku-salon-type-05 .circle_2 {
  padding: 15px;
}

@media only screen and (max-width: 1024px) {
  #shizuku-salon-type-05 .circle_2 {
    padding: 12px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  #shizuku-salon-type-05 .circle_2 {
    padding: 12px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  #shizuku-salon-type-05 .circle_2 {
    padding: 12px;
  }
}

@media only screen and (max-width: 480px) {
  #shizuku-salon-type-05 .circle_2 {
    padding: 12px;
  }
}

.circle_text_inner {
  width: 100%;
  height: 100%;
  margin: auto;
}

.circleText {
  width: 100%;
  height: 100%;
  overflow: visible;
  animation: rotation 20s linear infinite;
}

.circleText__circle {
  fill: none;
}

.circleText__text {
  fill: #87877e;
  font-size: 5px;
  letter-spacing: 0.05em;
}

@media only screen and (max-width: 1024px) {
  .circleText__text {
    font-size: 5px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .circleText__text {
    font-size: 5px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .circleText__text {
    font-size: 6px;
  }
}

@media only screen and (max-width: 480px) {
  .circleText__text {
    font-size: 6px;
  }
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/*  __oval Image
-------------------------- */
.image.oval {
  position: relative;
  background: #fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 251 301"><ellipse fill="none" stroke="%2387877e" stroke-miterlimit="10" cx="125.5" cy="150.5" rx="125" ry="150"/></svg>') no-repeat center center;
  background-size: contain;
  padding: 15px;
}

@media only screen and (max-width: 1024px) {
  .image.oval {
    padding: 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .image.oval {
    padding: 10px;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .image.oval {
    padding: 10px;
  }
}

@media only screen and (max-width: 480px) {
  .image.oval {
    padding: 10px;
  }
}

.image.oval .image_inner {
  clip-path: url(#oval_in);
  overflow: hidden;
}

.image.oval img {
  position: relative;
  clip-path: url(#oval_in);
  margin: auto;
  width: 100%;
}

.image.oval svg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

/*  __Line
-------------------------- */
.vline {
  text-align: center;
  position: relative;
  margin: 1.5em 0;
}

.vline span {
  height: 8em;
  width: 1px;
  display: inline-block;
  background: #87877e;
  transition: height 400ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media only screen and (max-width: 1024px) {
  .vline span {
    height: 8em;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .vline span {
    height: 7em;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .vline span {
    height: 6em;
  }
}

@media only screen and (max-width: 480px) {
  .vline span {
    height: 4em;
  }
}

a:hover .vline span {
  height: 7em;
}

h1.hline {
  display: flex;
  align-items: center;
}

h1.hline span {
  display: inline-block;
  background: #fff;
  z-index: 10;
  padding-right: 1em;
}

@media only screen and (max-width: 1024px) {
  h1.hline span {
    padding-right: 1em;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  h1.hline span {
    padding-right: 1em;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  h1.hline span {
    padding-right: 1em;
  }
}

@media only screen and (max-width: 480px) {
  h1.hline span {
    padding-right: 1em;
  }
}

h1.hline:after {
  border-top: 1px solid;
  content: "";
  width: 100%;
  position: absolute;
}

p.hline {
  margin: 2em 0;
  background: #87877e;
  height: 1px;
  width: 100%;
}

/*  __Link
-------------------------- */
.link.center {
  text-align: center;
  border-bottom: 1px solid #87877e;
  padding-bottom: 0.5em;
  width: 15vw;
  margin: auto;
  transition: width 400ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media only screen and (max-width: 1024px) {
  .link.center {
    width: 15vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .link.center {
    width: 25vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .link.center {
    width: 30vw;
  }
}

@media only screen and (max-width: 480px) {
  .link.center {
    width: 55vw;
  }
}

a:hover .link.center {
  width: 10vw;
}

@media only screen and (max-width: 1024px) {
  a:hover .link.center {
    width: 10vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  a:hover .link.center {
    width: 15vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  a:hover .link.center {
    width: 20vw;
  }
}

@media only screen and (max-width: 480px) {
  a:hover .link.center {
    width: 35vw;
  }
}

.type_08 .link.center {
  width: 15vw;
}

@media only screen and (max-width: 1024px) {
  .type_08 .link.center {
    width: 15vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_08 .link.center {
    width: 20vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_08 .link.center {
    width: 25vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_08 .link.center {
    width: 40vw;
  }
}

.type_08 a:hover .link.center {
  width: 10vw;
}

@media only screen and (max-width: 1024px) {
  .type_08 a:hover .link.center {
    width: 10vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_08 a:hover .link.center {
    width: 15vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_08 a:hover .link.center {
    width: 20vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_08 a:hover .link.center {
    width: 35vw;
  }
}

.link.left {
  text-align: left;
  border-bottom: 1px solid #87877e;
  padding-bottom: 0.5em;
  width: 20vw;
  transition: width 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media only screen and (max-width: 1024px) {
  .link.left {
    width: 20vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .link.left {
    width: 25vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .link.left {
    width: 30vw;
  }
}

@media only screen and (max-width: 480px) {
  .link.left {
    width: 60vw;
  }
}

a:hover .link.left {
  width: 13.3vw;
}

@media only screen and (max-width: 1024px) {
  a:hover .link.left {
    width: 13.3vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  a:hover .link.left {
    width: 15vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  a:hover .link.left {
    width: 20vw;
  }
}

@media only screen and (max-width: 480px) {
  a:hover .link.left {
    width: 40vw;
  }
}

.type_105 .link.left {
  width: 15vw;
}

@media only screen and (max-width: 1024px) {
  .type_105 .link.left {
    width: 15vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_105 .link.left {
    width: 20vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_105 .link.left {
    width: 25vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_105 .link.left {
    width: 100%;
  }
}

.type_105 a:hover .link.left {
  width: 20vw;
}

@media only screen and (max-width: 1024px) {
  .type_105 a:hover .link.left {
    width: 20vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .type_105 a:hover .link.left {
    width: 30vw;
  }
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .type_105 a:hover .link.left {
    width: 35vw;
  }
}

@media only screen and (max-width: 480px) {
  .type_105 a:hover .link.left {
    width: 90%;
  }
}

.type_01 .link.center {
  margin-top: 3em;
}

/* __Animation
---------------------------------------------------------------------- */
.animate p,
.animate a,
.animate li,
.animate h1.en,
.animate h1.jp,
.animate h1,
.animate h2 {
  opacity: 0;
  position: relative;
}

.animate .lower_image,
.animate .upper_image,
.animate .image {
  opacity: 0;
}

/* __Clearing
--------------------------------------------------------------------- */
.cf:before,
.cf:after {
  content: " ";
  display: table;
}

.cf:after {
  clear: both;
}

/* For IE 6/7 (trigger hasLayout) */
.cf {
  *zoom: 1;
}
