/***********************
          BACE
***********************/
html {
  overflow-x: hidden; }

@media (max-width: 990px) {
  html.lock {
    overflow-y: hidden; } }
body {
  line-height: 1.78;
  word-wrap: break-word;
  overflow-x: hidden;
  letter-spacing: 0.1em;
  font-family: "Zen Maru Gothic", sans-serif;
  position: relative;
  color: #4B4949;
  margin: 0; }
  body.low::before {
    content: "";
    display: block;
    aspect-ratio: 192 / 61;
    background: url("../img/default/low-deco.webp") no-repeat center/cover;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1; }

a {
  text-decoration: none;
  opacity: 1;
  transition: .2s ease-out;
  color: #1C1C1C; }
  a:active, a:hover {
    opacity: .8; }

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0; }

p {
  font-size: 16px;
  line-height: 2.1em;
  font-weight: 500; }

@media (max-width: 489px) {
  p {
    font-size: 3.6vw; } }
ol, ul {
  list-style: none;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0; }

ul {
  list-style-position: inside; }

dl {
  margin: 0; }
  dl dd {
    margin-left: 0; }

iframe {
  border: none; }

img {
  max-width: 100%;
  height: auto;
  display: block; }

table {
  border-collapse: collapse;
  border-spacing: 0; }
  table td, table th {
    padding: 0; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  word-break: break-word;
  caret-color: transparent; }
  *::before, *::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }

figure {
  margin: 0; }

.zoom figure {
  overflow: hidden; }
  .zoom figure img {
    transition: .3s ease-out;
    transform: scale(1, 1); }
.zoom:hover figure img {
  transform: scale(1.1, 1.1); }

.container, .sub_container {
  margin: 0 auto; }

.sub_container {
  width: 100%;
  max-width: 1210px; }

@media (max-width: 489px) {
  .container {
    width: 90vw; } }
@media (min-width: 490px) {
  .container {
    width: 90%; } }
@media (min-width: 1680px) {
  .container {
    width: 1660px; } }
/***********************
         HEADER
***********************/
header {
  position: fixed;
  left: 50%;
  width: 96vw;
  max-width: 1870px;
  z-index: 12;
  transform: translate(-50%, 0);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 0 0 30px 30px; }
  header::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 0 0 30px 30px; }
  header #logo figure {
    aspect-ratio: 181/ 36;
    position: relative;
    z-index: 3; }
    header #logo figure img {
      object-fit: contain;
      width: 100%;
      height: 100%; }
  header #logo a:hover {
    opacity: 1; }
    header #logo a:hover img {
      opacity: .8; }
  header #navigation_base {
    position: relative; }
    header #navigation_base #navigation #navigation__list ul li a {
      font-weight: 500;
      cursor: pointer; }
    header #navigation_base #navigation #navigation__list ul.header_contact li.tel a {
      display: flex;
      align-items: center; }
      header #navigation_base #navigation #navigation__list ul.header_contact li.tel a::before {
        aspect-ratio: 1 / 1;
        content: "";
        display: block;
        background: url("../img/default/icon-tel.webp") no-repeat center/contain;
        transform: translateY(15%); }
    header #navigation_base #navigation #navigation__list ul.header_contact li.contact {
      overflow: hidden; }
      header #navigation_base #navigation #navigation__list ul.header_contact li.contact a {
        display: flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        background-color: #A8D1BD;
        padding-top: 1em; }
        header #navigation_base #navigation #navigation__list ul.header_contact li.contact a span {
          position: relative;
          display: block;
          margin-left: auto;
          margin-right: auto;
          width: fit-content; }
          header #navigation_base #navigation #navigation__list ul.header_contact li.contact a span::before {
            content: "";
            display: block;
            aspect-ratio: 44 / 30;
            background: url("../img/default/icon-mail.webp") no-repeat center/contain; }
          header #navigation_base #navigation #navigation__list ul.header_contact li.contact a span::after {
            content: "";
            display: block;
            aspect-ratio: 1 / 1;
            background: url("../img/default/icon-mail-cap.webp") no-repeat center/contain;
            position: absolute;
            top: 0;
            left: 0;
            transform: translate(-100%, -100%);
            width: 61.7%; }

@media (max-width: 990px) {
  header {
    top: 0;
    padding: 10px 20px;
    height: 70px;
    display: flex;
    align-items: center; }
    header::after {
      z-index: 2; }
    header #logo {
      width: 220px; }
    header #navigation_base {
      z-index: 1;
      position: absolute;
      top: 0;
      left: 50%;
      z-index: 1;
      width: 100vw;
      transform: translate(-50%, 0); }
      header #navigation_base #navigation {
        display: none;
        background-color: #ffffff;
        padding-top: 120px;
        height: 100vh;
        padding-bottom: 30px; }
        header #navigation_base #navigation #navigation__list {
          height: calc(100vh - 250px);
          overflow-y: auto; }
          header #navigation_base #navigation #navigation__list ul {
            width: 80vw;
            margin-left: auto;
            margin-right: auto; }
            header #navigation_base #navigation #navigation__list ul.header_nav {
              display: flex;
              align-items: center;
              flex-wrap: wrap;
              gap: 0 25px; }
              header #navigation_base #navigation #navigation__list ul.header_nav li {
                width: calc(50% - 12.5px); }
                header #navigation_base #navigation #navigation__list ul.header_nav li a {
                  font-weight: 600;
                  font-size: 17px;
                  text-align: center;
                  padding-top: 1em;
                  padding-bottom: 1em;
                  display: block;
                  border-bottom: 1px dotted #707070; }
                header #navigation_base #navigation #navigation__list ul.header_nav li.pulldown {
                  width: 100%; }
                  header #navigation_base #navigation #navigation__list ul.header_nav li.pulldown > a {
                    display: none; }
                  header #navigation_base #navigation #navigation__list ul.header_nav li.pulldown .pulldown_list > ul {
                    display: flex;
                    align-items: center;
                    gap: 0 25px;
                    flex-wrap: wrap; }
                    header #navigation_base #navigation #navigation__list ul.header_nav li.pulldown .pulldown_list > ul li {
                      width: calc(50% - 12.5px); }
            header #navigation_base #navigation #navigation__list ul.header_contact li {
              margin-top: 25px; }
              header #navigation_base #navigation #navigation__list ul.header_contact li.tel a {
                justify-content: center;
                font-size: 32px; }
                header #navigation_base #navigation #navigation__list ul.header_contact li.tel a::before {
                  width: 28px;
                  margin-right: 8px; }
              header #navigation_base #navigation #navigation__list ul.header_contact li.contact {
                border-radius: 0 0 30px 30px; }
                header #navigation_base #navigation #navigation__list ul.header_contact li.contact a {
                  height: 110px;
                  font-size: 18px; }
                  header #navigation_base #navigation #navigation__list ul.header_contact li.contact a span::before {
                    width: 25px; } }
@media (max-width: 767px) {
  header #navigation_base #navigation #navigation__list ul {
    width: 90vw; }
    header #navigation_base #navigation #navigation__list ul.header_nav li a {
      font-size: 15px; } }
@media (max-width: 489px) {
  header #logo {
    width: 45vw; }
  header #navigation_base #navigation #navigation__list ul.header_nav {
    gap: 0 3vw; }
    header #navigation_base #navigation #navigation__list ul.header_nav li {
      width: calc(50% - 1.5vw); }
      header #navigation_base #navigation #navigation__list ul.header_nav li a {
        font-size: 3.5vw; }
      header #navigation_base #navigation #navigation__list ul.header_nav li.pulldown .pulldown_list {
        gap: 0 3vw; }
        header #navigation_base #navigation #navigation__list ul.header_nav li.pulldown .pulldown_list > ul {
          gap: 0 3vw; }
          header #navigation_base #navigation #navigation__list ul.header_nav li.pulldown .pulldown_list > ul li {
            width: calc(50% - 1.5vw); }
  header #navigation_base #navigation #navigation__list ul.header_contact li {
    margin-top: 5vw; }
    header #navigation_base #navigation #navigation__list ul.header_contact li.tel a {
      font-size: 8vw; }
      header #navigation_base #navigation #navigation__list ul.header_contact li.tel a::before {
        width: 6vw;
        margin-right: 3vw; }
    header #navigation_base #navigation #navigation__list ul.header_contact li.contact a {
      height: 25vw;
      font-size: 5vw; }
      header #navigation_base #navigation #navigation__list ul.header_contact li.contact a span::before {
        width: 6vw; } }
@media (min-width: 991px) {
  header {
    padding-left: 20px;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    header::after {
      z-index: 1; }
    header #logo figure {
      width: 150px; }
    header #navigation_base {
      z-index: 2;
      height: 100%;
      position: relative;
      z-index: 2; }
      header #navigation_base #navigation {
        height: 100% !important;
        display: block !important; }
        header #navigation_base #navigation #navigation__list {
          display: flex;
          align-items: center;
          gap: 25px;
          height: 100%; }
          header #navigation_base #navigation #navigation__list > ul {
            display: flex;
            align-items: center;
            height: 100%; }
            header #navigation_base #navigation #navigation__list > ul.header_nav > li > a {
              font-size: 12px;
              display: block;
              padding-left: .8em;
              padding-right: .8em; }
            header #navigation_base #navigation #navigation__list > ul.header_nav > li.pulldown {
              position: relative; }
              header #navigation_base #navigation #navigation__list > ul.header_nav > li.pulldown .pulldown_list {
                display: none;
                position: absolute;
                top: 68px;
                left: 50%;
                transform: translate(-50%, 0);
                width: 195px;
                background-color: #E8B779;
                border-radius: 0 0 10px 10px; }
                header #navigation_base #navigation #navigation__list > ul.header_nav > li.pulldown .pulldown_list > ul li + li {
                  border-top: 1px dotted #FFFFFF; }
                header #navigation_base #navigation #navigation__list > ul.header_nav > li.pulldown .pulldown_list > ul li a {
                  color: #ffffff;
                  display: block;
                  padding: 1em .5em;
                  font-size: 12px;
                  text-align: center; }
            header #navigation_base #navigation #navigation__list > ul.header_nav > li + li {
              border-left: 1px dotted #707070; }
            header #navigation_base #navigation #navigation__list > ul.header_contact {
              display: flex;
              align-items: center;
              gap: 10px; }
              header #navigation_base #navigation #navigation__list > ul.header_contact li.tel a {
                font-size: 20px; }
                header #navigation_base #navigation #navigation__list > ul.header_contact li.tel a::before {
                  width: 15px;
                  margin-right: 3px; }
              header #navigation_base #navigation #navigation__list > ul.header_contact li.contact {
                height: 100%;
                border-radius: 0 0 30px 0; }
                header #navigation_base #navigation #navigation__list > ul.header_contact li.contact a {
                  width: 100px;
                  background-color: #A8D1BD;
                  height: 100%;
                  font-size: 12px; }
                  header #navigation_base #navigation #navigation__list > ul.header_contact li.contact a span {
                    margin-bottom: 4px; }
                    header #navigation_base #navigation #navigation__list > ul.header_contact li.contact a span::before {
                      width: 15px; }

  /*body.is-animation{
  	header{
  		animation: header .3s ease-out forwards;
  	}
  	#navigation_base{
  		#navigation{
  			#navigation__list{
  				> ul{
  					&.header_nav{
  						> li{
  							&.pulldown{
  								.pulldown_list{
  									top: 56px;
  								}
  							}
  						}
  					}
  				}
  			}
  		}
  	}
  }*/ }
@media (min-width: 1240px) {
  header {
    padding-left: 30px; }
    header #logo figure {
      width: 200px; }
    header #navigation_base #navigation #navigation__list {
      gap: 30px; }
      header #navigation_base #navigation #navigation__list > ul.header_nav > li > a {
        font-size: 14px;
        fpadding-left: 1em;
        padding-right: 1em; }
      header #navigation_base #navigation #navigation__list > ul.header_nav > li.pulldown .pulldown_list {
        top: 67.5px;
        width: 220px; }
        header #navigation_base #navigation #navigation__list > ul.header_nav > li.pulldown .pulldown_list > ul li a {
          font-size: 14px; }
      header #navigation_base #navigation #navigation__list > ul.header_contact {
        gap: 15px; }
        header #navigation_base #navigation #navigation__list > ul.header_contact li.tel a {
          font-size: 24px; }
          header #navigation_base #navigation #navigation__list > ul.header_contact li.tel a::before {
            width: 20px;
            margin-right: 5px; }
        header #navigation_base #navigation #navigation__list > ul.header_contact li.contact a {
          width: 150px;
          font-size: 16px; }
          header #navigation_base #navigation #navigation__list > ul.header_contact li.contact a span::before {
            width: 20px; }

  /*body.is-animation{
  	#navigation_base{
  		#navigation{
  			#navigation__list{
  				> ul{
  					&.header_nav{
  						> li{
  							&.pulldown{
  								.pulldown_list{
  									top: 57.5px;
  								}
  							}
  						}
  					}
  				}
  			}
  		}
  	}
  }*/ }
@media (min-width: 1680px) {
  header {
    padding-left: 60px; }
    header #logo figure {
      width: 370px; }
    header #navigation_base #navigation #navigation__list {
      gap: 40px; }
      header #navigation_base #navigation #navigation__list > ul.header_nav > li > a {
        font-size: 16px;
        fpadding-left: 1.2em;
        padding-right: 1.2em; }
      header #navigation_base #navigation #navigation__list > ul.header_nav > li.pulldown .pulldown_list {
        top: 69.5px;
        width: 240px; }
        header #navigation_base #navigation #navigation__list > ul.header_nav > li.pulldown .pulldown_list > ul li a {
          font-size: 16px; }
      header #navigation_base #navigation #navigation__list > ul.header_contact {
        gap: 20px; }
        header #navigation_base #navigation #navigation__list > ul.header_contact li.tel a {
          font-size: 28px; }
          header #navigation_base #navigation #navigation__list > ul.header_contact li.tel a::before {
            width: 25px;
            margin-right: 8px; }
        header #navigation_base #navigation #navigation__list > ul.header_contact li.contact a {
          width: 170px; }
          header #navigation_base #navigation #navigation__list > ul.header_contact li.contact a span::before {
            width: 22px; }

  /*body.is-animation{
  	#navigation_base{
  		#navigation{
  			#navigation__list{
  				> ul{
  					&.header_nav{
  						> li{
  							&.pulldown{
  								.pulldown_list{
  									top: 58.5px;
  								}
  							}
  						}
  					}
  				}
  			}
  		}
  	}
  }	*/ }
/*@keyframes header {
  0% {
	  height: 110px
  }
  100% {
	  height: 90px
  }
}*/
/****************************
   Menu Trigger
****************************/
header .menu-trigger {
  display: none; }

@media (max-width: 990px) {
  header .menu-trigger {
    border: none;
    transform: translate(0, 0);
    transition: all .5s;
    cursor: pointer;
    width: 33px;
    background: none;
    position: fixed;
    top: 23px;
    right: 20px;
    z-index: 10;
    display: block; }
    header .menu-trigger .menu-trigger_line {
      width: 30px;
      height: 22px;
      position: relative;
      margin-left: auto;
      margin-right: auto;
      cursor: pointer; }
      header .menu-trigger .menu-trigger_line > span {
        display: block;
        position: absolute;
        right: 0;
        width: 100%;
        height: 1px;
        background-color: #191A1A;
        transition: all .5s;
        caret-color: transparent; }
        header .menu-trigger .menu-trigger_line > span:nth-child(1) {
          top: 0; }
        header .menu-trigger .menu-trigger_line > span:nth-child(2) {
          top: 10px; }
        header .menu-trigger .menu-trigger_line > span:nth-child(3) {
          top: 21px; }
  header.show .menu-trigger .menu-trigger_line > span:nth-child(1) {
    transform: rotate(42deg) translateY(1px);
    transform-origin: left center; }
  header.show .menu-trigger .menu-trigger_line > span:nth-child(2) {
    opacity: 0;
    animation: unset; }
  header.show .menu-trigger .menu-trigger_line > span:nth-child(3) {
    transform: rotate(-42deg) translateY(-1px);
    transform-origin: left center; } }
/***********************
          FV
***********************/
#fv {
  width: 98vw;
  max-width: 1870px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  border-radius: 0 0 30px 30px;
  overflow: hidden; }
  #fv .fv__img {
    height: 100%; }
    #fv .fv__img picture img {
      object-fit: cover;
      width: 100%;
      height: 100%; }
  #fv .fv__info {
    position: absolute;
    left: 50%;
    width: 90vw;
    max-width: 1660px;
    transform: translate(-50%, 0); }
    #fv .fv__info .fv__info__exp span {
      display: block;
      color: #ffffff; }
    #fv .fv__info .fv__info__exp > span {
      font-family: "Open Sans", sans-serif;
      font-weight: 700;
      line-height: 1;
      margin-bottom: .1em; }
    #fv .fv__info .fv__info__exp p {
      color: #ffffff;
      line-height: 1.68; }
      #fv .fv__info .fv__info__exp p span {
        padding-left: 4em; }
    #fv .fv__info .fv_info__news {
      background-color: #ffffff;
      overflow: hidden;
      margin-left: auto;
      margin-right: auto;
      width: 100%;
      max-width: 1020px; }
      #fv .fv__info .fv_info__news span {
        display: block; }
      #fv .fv__info .fv_info__news > span {
        font-weight: 700;
        background-color: #A7D8D9;
        color: #ffffff;
        display: flex;
        align-items: center;
        justify-content: center; }
      #fv .fv__info .fv_info__news a {
        font-weight: 500; }
        #fv .fv__info .fv_info__news a p {
          line-height: 1.45; }

@media (max-width: 767px) {
  #fv {
    height: 710px; }
    #fv .fv__info {
      bottom: 65px; }
      #fv .fv__info .fv__info__exp > span {
        font-size: 55px; }
      #fv .fv__info .fv__info__exp p {
        font-size: 18px; }
      #fv .fv__info .fv_info__news {
        margin-top: 55px;
        min-height: 60px;
        border-radius: 40px; }
        #fv .fv__info .fv_info__news > span {
          font-size: 20px;
          padding: .5em; }
        #fv .fv__info .fv_info__news a {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          gap: 0 20px;
          padding: 20px 25px;
          font-size: 16px; }
          #fv .fv__info .fv_info__news a p {
            font-size: 16px; } }
@media (max-width: 489px) {
  #fv {
    height: 80vh; }
    #fv .fv__info {
      bottom: 8vw; }
      #fv .fv__info .fv__info__exp > span {
        font-size: 12vw; }
      #fv .fv__info .fv__info__exp p {
        font-size: 4vw; }
      #fv .fv__info .fv_info__news {
        margin-top: 10vw;
        min-height: 5vw;
        border-radius: 8vw; }
        #fv .fv__info .fv_info__news > span {
          font-size: 4vw; }
        #fv .fv__info .fv_info__news a {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          gap: 0 3vw;
          padding: 3vw 4vw;
          font-size: 3.6vw; }
          #fv .fv__info .fv_info__news a p {
            font-size: 3.6vw; } }
@media (min-width: 768px) {
  #fv {
    height: 710px; }
    #fv .fv__info {
      bottom: 75px; }
      #fv .fv__info .fv__info__exp > span {
        font-size: 68px; }
      #fv .fv__info .fv__info__exp p {
        font-size: 22px; }
      #fv .fv__info .fv_info__news {
        display: flex;
        align-items: stretch;
        margin-top: 55px;
        border-radius: 40px;
        min-height: 60px; }
        #fv .fv__info .fv_info__news > span {
          border-radius: 40px;
          font-size: 14px;
          width: 120px; }
        #fv .fv__info .fv_info__news a {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          gap: 0 20px;
          padding: 10px 20px;
          width: calc(100% - 120px);
          font-size: 14px; }
          #fv .fv__info .fv_info__news a p {
            font-size: 14px; } }
@media (min-width: 991px) {
  #fv {
    height: 880px; } }
@media (min-width: 1240px) {
  #fv {
    height: 980px; }
    #fv .fv__info .fv_info__news > span {
      font-size: 16px; }
    #fv .fv__info .fv_info__news a {
      font-size: 16px; }
      #fv .fv__info .fv_info__news a p {
        font-size: 16px; } }
@media (min-width: 1240px) {
  #fv .fv__info {
    bottom: 75px; }
    #fv .fv__info .fv__info__exp > span {
      font-size: 80px; }
    #fv .fv__info .fv__info__exp p {
      font-size: 24px; }
    #fv .fv__info .fv_info__news > span {
      width: 140px; } }
@media (min-width: 1680px) {
  #fv .fv__info .fv__info__exp > span {
    font-size: 92px; }
  #fv .fv__info .fv__info__exp p {
    font-size: 32px; }
  #fv .fv__info .fv_info__news {
    margin-top: 65px; }
    #fv .fv__info .fv_info__news > span {
      font-size: 18px; }
    #fv .fv__info .fv_info__news a {
      gap: 15px 30px;
      width: calc(100% - 140px);
      padding-left: 40px;
      padding-right: 40px; } }
/*fv_low*/
#fv_low {
  margin-left: auto;
  position: relative; }
  #fv_low .fv_low__img {
    border-radius: 0 0 0 30px;
    height: 100%;
    overflow: hidden; }
    #fv_low .fv_low__img img {
      object-fit: cover;
      width: 100%;
      height: 100%; }
  #fv_low .fv_low__title {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    background-color: rgba(168, 209, 189, 0.95);
    text-align: center; }
    #fv_low .fv_low__title span {
      display: block;
      color: white;
      font-weight: 800;
      line-height: 1;
      margin-bottom: .8em;
      font-family: "Open Sans", sans-serif;
      text-transform: uppercase; }
    #fv_low .fv_low__title .page_title {
      color: white;
      font-weight: 500;
      line-height: 1.25; }
    #fv_low .fv_low__title::after {
      position: absolute;
      top: 50%;
      left: 50%;
      aspect-ratio: 1 / 1;
      content: "";
      display: block;
      border-color: #FBFBFB;
      border-style: solid;
      border-radius: 50%;
      width: 124%;
      transform: translate(-50%, -50%);
      z-index: -1; }

@media (max-width: 489px) {
  #fv_low {
    height: 90vw;
    width: 95vw; }
    #fv_low .fv_low__title {
      width: 35vw;
      transform: translate(-5%, 5%); }
      #fv_low .fv_low__title span {
        font-size: 3.2vw; }
      #fv_low .fv_low__title .page_title {
        font-size: 5vw; }
      #fv_low .fv_low__title::after {
        border-width: 3vw; }
      #fv_low .fv_low__title.title_small h1 {
        font-size: 4.5vw; } }
@media (min-width: 490px) {
  #fv_low {
    width: 95%;
    height: 450px; }
    #fv_low .fv_low__title {
      width: 180px;
      transform: translate(-4%, 4%); }
      #fv_low .fv_low__title span {
        font-size: 12px; }
      #fv_low .fv_low__title .page_title {
        font-size: 25px; }
      #fv_low .fv_low__title::after {
        border-width: 10px; }
      #fv_low .fv_low__title.title_small h1 {
        font-size: 20px; } }
@media (min-width: 991px) {
  #fv_low {
    height: 550px; }
    #fv_low .fv_low__title {
      width: 250px; }
      #fv_low .fv_low__title span {
        font-size: 14px; }
      #fv_low .fv_low__title .page_title {
        font-size: 42px; }
      #fv_low .fv_low__title::after {
        border-width: 15px; }
      #fv_low .fv_low__title.title_small h1 {
        font-size: 35px; } }
@media (min-width: 1240px) {
  #fv_low {
    width: calc(100% - 60px); } }
@media (min-width: 1680px) {
  #fv_low {
    width: calc(100% - 80px);
    height: 710px; }
    #fv_low .fv_low__title {
      width: 342px;
      transform: translate(-7.3%, 7.3%); }
      #fv_low .fv_low__title span {
        font-size: 16px; }
      #fv_low .fv_low__title .page_title {
        font-size: 52px; }
      #fv_low .fv_low__title::after {
        border-width: 20px; }
      #fv_low .fv_low__title.title_small h1 {
        font-size: 45px; } }
@media (min-width: 1880px) {
  width: calc(100% - 130px); }
/***********************
          MAIN
***********************/
/***********************
          TAB
***********************/
/***********************
          TEL
***********************/
@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none; } }
/***********************
       Folliw Nav
***********************/
#follow_nav {
  position: fixed;
  z-index: 100; }
  #follow_nav ul li.follow_item a {
    display: flex;
    align-items: center;
    position: relative;
    color: #ffffff;
    font-weight: 600; }
    #follow_nav ul li.follow_item a p, #follow_nav ul li.follow_item a span {
      line-height: 1; }
    #follow_nav ul li.follow_item a span {
      display: block;
      margin-top: .3em;
      font-family: "Open Sans", sans-serif; }
    #follow_nav ul li.follow_item a::before {
      content: "";
      display: block;
      aspect-ratio: 1 / 1; }
    #follow_nav ul li.follow_item a::after {
      content: "";
      display: block;
      aspect-ratio: 1 / 1;
      background: url("../img/default/icon-link.webp") no-repeat center/contain;
      position: absolute; }
  #follow_nav ul li.follow_item.recruit a {
    background-color: #D1C076; }
    #follow_nav ul li.follow_item.recruit a::before {
      background: url("../img/default/nav-user-recruit.webp") no-repeat center/contain; }
  #follow_nav ul li.follow_item.shopping a {
    background-color: #DB7A73; }
    #follow_nav ul li.follow_item.shopping a::before {
      background: url("../img/default/nav-shopping.webp") no-repeat center/contain; }
  #follow_nav ul li.sns_item a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(0deg, #dc4652 0%, #c94466 64%); }
    #follow_nav ul li.sns_item a::after {
      content: "";
      display: block;
      aspect-ratio: 120 / 29;
      background: url("../img/default/icon-instagram.webp") no-repeat center/contain; }

@media (max-width: 990px) {
  #follow_nav {
    bottom: 0;
    left: 0;
    width: 100%; }
    #follow_nav ul {
      display: flex;
      align-items: center; }
      #follow_nav ul li a {
        height: 100px; }
      #follow_nav ul li.follow_item {
        width: 35%; }
        #follow_nav ul li.follow_item a {
          padding: 0 2vw;
          gap: 2vw; }
          #follow_nav ul li.follow_item a p {
            font-size: 2.5vw; }
          #follow_nav ul li.follow_item a span {
            font-size: 1.8vw; }
          #follow_nav ul li.follow_item a::before {
            width: 25%; }
          #follow_nav ul li.follow_item a::after {
            width: 2.5vw;
            right: 1vw;
            bottom: 1vw; }
      #follow_nav ul li.sns_item {
        /*width: 30%;*/
        width: 100%; }
        #follow_nav ul li.sns_item a {
          padding: 0 2vw; }
          #follow_nav ul li.sns_item a::after {
            /*width: 80%;*/
            height: 40%; }

  body {
    margin-bottom: 130px; } }
@media (max-width: 489px) {
  #follow_nav ul li a {
    height: 80px; }
  #follow_nav ul li.follow_item {
    width: 38%; }
    #follow_nav ul li.follow_item a {
      padding: 0 2vw; }
      #follow_nav ul li.follow_item a p {
        font-size: 3.2vw; }
      #follow_nav ul li.follow_item a span {
        font-size: 2vw; }
  #follow_nav ul li.sns_item {
    /*width: 24%;*/ }
    #follow_nav ul li.sns_item a::after {
      /*width: 90%;*/ }

  body {
    margin-bottom: 120px; } }
@media (min-width: 991px) {
  #follow_nav {
    bottom: 20vh;
    right: 0;
    width: 270px;
    transform: translateY(50%); }
    #follow_nav ul li + li {
      margin-top: 10px; }
    #follow_nav ul li a {
      border-radius: 30px 0 0 30px; }
    #follow_nav ul li.follow_item a {
      padding: 8px 20px;
      gap: 20px; }
      #follow_nav ul li.follow_item a p {
        font-size: 18px; }
      #follow_nav ul li.follow_item a span {
        font-size: 12px; }
      #follow_nav ul li.follow_item a::before {
        width: 75px; }
      #follow_nav ul li.follow_item a::after {
        width: 14.5px;
        right: 10px;
        bottom: 8px; }
    #follow_nav ul li.sns_item a {
      padding: 18px; }
      #follow_nav ul li.sns_item a::after {
        width: 120px; }

  body.is-animation #follow_nav {
    animation: follow .4s ease-out forwards; } }
@keyframes follow {
  0% {
    bottom: 20vh; }
  100% {
    bottom: 50vh; } }
/***********************
          FOOTER
***********************/
footer .footer_info .footer_info__contact {
  background-color: #E3C09F; }
  footer .footer_info .footer_info__contact .footer_info__contact__head span {
    position: relative;
    font-weight: 700;
    color: #ffffff;
    font-family: "Open Sans", sans-serif;
    display: block;
    line-height: 1; }
    footer .footer_info .footer_info__contact .footer_info__contact__head span::before {
      aspect-ratio: 1 / 1;
      content: "";
      display: block;
      background: url("../img/default/contact-cap.webp") no-repeat center/contain;
      position: absolute;
      top: 0;
      left: 0;
      transform: translate(-75%, -25%); }
  footer .footer_info .footer_info__contact .footer_info__contact__head p {
    color: #ffffff;
    margin-top: 1em;
    letter-spacing: .05em; }
  footer .footer_info .footer_info__contact .footer_info__contact__action {
    display: flex;
    align-items: center;
    justify-content: center; }
    footer .footer_info .footer_info__contact .footer_info__contact__action a {
      display: block; }
      footer .footer_info .footer_info__contact .footer_info__contact__action a.footer_tel {
        color: #9F6832;
        font-weight: 800;
        position: relative;
        z-index: 2;
        font-family: "Antonio", sans-serif;
        letter-spacing: .05em; }
      footer .footer_info .footer_info__contact .footer_info__contact__action a.footer_tel__info {
        padding: .5em 5em .5em 2.5em;
        color: #ffffff;
        background-color: #DB7A73;
        position: relative;
        border-radius: 50px;
        margin-left: 1.5em; }
        footer .footer_info .footer_info__contact .footer_info__contact__action a.footer_tel__info::after {
          content: "";
          display: block;
          width: 17%;
          aspect-ratio: 65 / 88;
          background: url("../img/default/icon-phone.webp") no-repeat center/contain;
          position: absolute;
          top: 50%;
          right: 1.5em;
          transform: translate(0, -50%); }
footer .footer_info .footer_info__nav .footer_logo figure {
  aspect-ratio: 181/ 36; }
  footer .footer_info .footer_info__nav .footer_logo figure img {
    object-fit: contain;
    width: 100%;
    height: 100%; }

@media (max-width: 990px) {
  footer .footer_info .footer_info__contact {
    padding-top: 60px;
    padding-bottom: 60px;
    border-radius: 0 40px 0 0;
    display: flex;
    align-items: center;
    justify-content: center; }
    footer .footer_info .footer_info__contact .footer_info__contact__head span {
      font-size: 75px;
      width: fit-content;
      margin-left: auto;
      margin-right: auto; }
      footer .footer_info .footer_info__contact .footer_info__contact__head span::before {
        width: 42px; }
    footer .footer_info .footer_info__contact .footer_info__contact__head p {
      text-align: center; }
    footer .footer_info .footer_info__contact .footer_info__contact__action {
      margin-top: 50px; }
      footer .footer_info .footer_info__contact .footer_info__contact__action a.footer_tel {
        font-size: 40px; }
      footer .footer_info .footer_info__contact .footer_info__contact__action a.footer_tel__info {
        font-size: 16px; }
  footer .footer_info .footer_info__nav {
    width: 90vw;
    margin-left: auto;
    margin-right: auto;
    padding-top: 60px;
    padding-bottom: 60px; }
    footer .footer_info .footer_info__nav .footer_logo figure {
      width: 360px; }
    footer .footer_info .footer_info__nav ul {
      margin-top: 40px;
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      width: 100%;
      padding-left: 30px;
      padding-right: 30px;
      gap: 5px 0; }
      footer .footer_info .footer_info__nav ul li {
        width: 25%; }
        footer .footer_info .footer_info__nav ul li a {
          font-size: 14px; }
    footer .footer_info .footer_info__nav p {
      margin-top: 100px; }
      footer .footer_info .footer_info__nav p#copyright {
        font-size: 14px; } }
@media (max-width: 767px) {
  footer .footer_info .footer_info__nav ul li {
    width: calc(100% / 3); }
    footer .footer_info .footer_info__nav ul li a {
      font-size: 12px; }
  footer .footer_info .footer_info__nav p {
    margin-top: 80px; }
    footer .footer_info .footer_info__nav p#copyright {
      font-size: 12px; } }
@media (max-width: 489px) {
  footer .footer_info .footer_info__contact {
    padding-top: 15vw;
    padding-bottom: 15vw;
    display: flex;
    align-items: center;
    justify-content: center; }
    footer .footer_info .footer_info__contact .footer_info__contact__head span {
      font-size: 13vw; }
      footer .footer_info .footer_info__contact .footer_info__contact__head span::before {
        width: 8vw; }
    footer .footer_info .footer_info__contact .footer_info__contact__action {
      margin-top: 7vw; }
      footer .footer_info .footer_info__contact .footer_info__contact__action a.footer_tel {
        font-size: 7vw; }
      footer .footer_info .footer_info__contact .footer_info__contact__action a.footer_tel__info {
        font-size: 2.8vw; }
  footer .footer_info .footer_info__nav {
    padding-top: 15vw;
    padding-bottom: 15vw; }
    footer .footer_info .footer_info__nav .footer_logo figure {
      width: 55vw; }
    footer .footer_info .footer_info__nav ul {
      margin-top: 7vw;
      padding-left: 4vw;
      padding-right: 4vw;
      gap: 3vw 0; }
      footer .footer_info .footer_info__nav ul li {
        width: 50%; }
        footer .footer_info .footer_info__nav ul li a {
          font-size: 4vw; }
    footer .footer_info .footer_info__nav p {
      margin-top: 15vw; }
      footer .footer_info .footer_info__nav p#copyright {
        font-size: 2.8vw; } }
@media (min-width: 991px) {
  footer .footer_info {
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse; }
    footer .footer_info .footer_info__contact {
      width: 50%;
      padding-top: 150px;
      padding-bottom: 150px;
      border-radius: 0 100px 0 0;
      display: flex;
      align-items: center;
      justify-content: center; }
      footer .footer_info .footer_info__contact .footer_info__contact__head {
        padding-left: 30px; }
        footer .footer_info .footer_info__contact .footer_info__contact__head span {
          font-size: 70px; }
          footer .footer_info .footer_info__contact .footer_info__contact__head span::before {
            width: 40px; }
      footer .footer_info .footer_info__contact .footer_info__contact__action {
        margin-top: 40px; }
        footer .footer_info .footer_info__contact .footer_info__contact__action a.footer_tel {
          font-size: 40px; }
        footer .footer_info .footer_info__contact .footer_info__contact__action a.footer_tel__info {
          font-size: 16px; }
    footer .footer_info .footer_info__nav {
      width: 50%;
      padding-top: 150px;
      padding-left: min(5vw, calc(100% - 830px));
      padding-right: 20px; }
      footer .footer_info .footer_info__nav .footer_logo figure {
        width: 280px; }
      footer .footer_info .footer_info__nav ul {
        margin-top: 23px;
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        width: 100%;
        max-width: 620px;
        padding-left: 30px;
        gap: 5px 0; }
        footer .footer_info .footer_info__nav ul li {
          width: calc(100% / 3); }
          footer .footer_info .footer_info__nav ul li a {
            font-size: 14px; }
      footer .footer_info .footer_info__nav p {
        margin-top: 50px; }
        footer .footer_info .footer_info__nav p#copyright {
          font-size: 12px; } }
@media (min-width: 1680px) {
  footer .footer_info .footer_info__contact {
    padding-top: 180px;
    padding-bottom: 180px;
    border-radius: 0 315px 0 0;
    display: flex;
    align-items: center;
    justify-content: center; }
    footer .footer_info .footer_info__contact .footer_info__contact__head {
      padding-left: 60px; }
      footer .footer_info .footer_info__contact .footer_info__contact__head span {
        font-size: 110px; }
        footer .footer_info .footer_info__contact .footer_info__contact__head span::before {
          width: 67px; }
    footer .footer_info .footer_info__contact .footer_info__contact__action a.footer_tel {
      font-size: 50px; }
    footer .footer_info .footer_info__contact .footer_info__contact__action a.footer_tel__info {
      font-size: 18px; }
  footer .footer_info .footer_info__nav {
    padding-top: 180px; }
    footer .footer_info .footer_info__nav .footer_logo figure {
      width: 360px; }
    footer .footer_info .footer_info__nav ul {
      padding-left: 40px;
      gap: 15px 0; }
      footer .footer_info .footer_info__nav ul li {
        width: 25%; }
        footer .footer_info .footer_info__nav ul li a {
          font-size: 16px; }
    footer .footer_info .footer_info__nav p {
      margin-top: 130px; }
      footer .footer_info .footer_info__nav p#copyright {
        font-size: 14px; } }
/***********************
          TITLE
***********************/
