@charset "utf-8";

#load,
#logging_in,
#pan{
  display: none;
}

/*
  CSS Variables
*/
:root {
  /* ------ ------ ------ *
   * 書体
   * ------ ------ ------ */
  --gothic: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;  /* ゴシック */
  --mincho: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho",serif;/* 明朝体 */
}


html, body, a, p, h1, h2, h3, ol, ul, li, dl, dt, dd, div, img, span, strong, em, small, b, i, ruby, rt, rp, sub, sup, address, abbr, pre, blockquote, q, code, iframe, table, tbody, thead, tfoot, tr, td, th, form, label, input, button, select, option, textarea, article, aside, footer, header, main, mark, nav, section, time {
  background-color: transparent;
  border: 0;
  font-size: 100%;
  font-style: normal;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
  box-sizing: border-box;
}
a, a img, [class*="a-btn"]::before, [class*="a-btn"]::after, button, input, select, textarea, #pnav, a.marker::after, a .marker::after, span.more::after, dl.box>dt::after, dl.box>dd, #global>ul>li ul, #side, .a-card .photo+p::before, .a-card .photo+div::before, #point dl, #fixed {
  -webkit-transition: .2s;
  transition: .2s;
}

body {
    font-weight:normal;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1;
    margin: 0 auto;
    scroll-behavior: smooth;
    color:#000;
    font-family: var(--mincho);
}
.wrap {
  overflow: hidden;
  position: relative;
}

small{
  font-size: 12px;
}
p,dt,dd,small{
  font-family: var(--gothic);
}

p, article, section, table, dl, ul, ol {
  margin-bottom: 0;
}
main {
  line-height: 1;
  margin: 0 auto -1px;
}
a,a:hover {
  text-decoration: none;
  color: #000;
}
/*
a:hover {
  opacity: .8;
}
*/
img {
  margin:0;
  width: 100%;
  vertical-align: top;
}
button,
button:hover {
background: none;
border: none;
}
ol, ul {
list-style: none;
}
h1 {
  font-weight: 500;
}

h2 {
  text-align: center;
  font-size: 1.87rem;
  font-weight: 300;
  color: #F8F8F8;
  font-family: var(--mincho);
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}

h3 {
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: .1em;
  text-align: center;
}
h4 {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.4;
  letter-spacing: .05em;
  margin: 0;
  font-family: var(--gothic);
}
.pc {
    display: block;
}
.sp {
    display: none !important;
}
@media screen and (max-width: 767px) {
    body {
    width: 100%;
    position: relative;
    }
    h1{
      font-size: 1.2rem;
      padding: 0;
      line-height: 1.4;
      letter-spacing: 0.1em;
    }
    h2 {
      text-align: center;
      font-size: 48px;
    }
    h2 span.kana {
      font-size: 1.5rem;
      letter-spacing: 0.1em;
    }

    h3 {
      font-size: 22px;
      line-height: 1.4;
      letter-spacing: 0.1em;
      text-align: left;
    }
    h3 span {
      display: block;
      font-size: 26px;
      margin-bottom: 10px;
    }
    h4 {
      line-height: 1.8;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block !important;
    } 
}

/*::::::::::::::::::::
 HEADER 
::::::::::::::::::::*/
header {
  width: 100%;
  height: 100px;
  position: fixed;
  z-index: 10;
  box-sizing: border-box;
  background: transparent;
}


@media screen and (max-width: 767px) {
  header {
    height: 50px;
    width: 100%;
  }
  .header__inner {
    padding: 0 20px;
    align-items: center;
  }

}

#backTop:before,
section:before {
  content: "";
  display: block;
  height: 112px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -112px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

/* ハンバーガ−メニュー */
@media screen and (min-width: 768px) {
  .header__nav {
    position: absolute;
    right: calc(-30/428*100vw);
    top: 0;
    width: 453px;
    height: 100vh;
    transform: translateX(100%);
    background-color:#fff;
    opacity: 0.8;
    transition: ease .6s;
    justify-content: end;
  }
  .nav__items {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 120px 0 0 35px;
  }
  .nav__items li {
    font-size: 16px;
    margin-bottom: 30px;
  }
  .nav__items li a{
    color: #49505C;
  }
  .nav-items__item li a:hover {
    opacity: .8;
  }
  .nav__items li span{
    font-size:11px;
    color:#777777;
    margin-left:1em;
  }
  .nav__items ul{
    margin: 30px 0 0 30px;
    font-family: var(--gothic);
    width: 13em;
    display: inline-block;
  }
  .nav__items ul li{
    margin-bottom: 15px;
    text-align: right;
  }
  .nav__items ul li img{
    height: 23px;
    width: auto;
  }

  /* ハンバーガーメニューの線 */
  .hamburger {
    min-width: auto;
    position: absolute;
    right: 59px;
    top:40px;
  }
  .hamburger span {
    width: 35px;
    height: 1px;
    background-color: #fff;
    position: relative;
    transition: ease .4s;
    display: block;
    color: #707070;

  }
  .hamburger span:nth-child(1) {
    top: 0;
  }
  .hamburger span:nth-child(2) {
    margin: 9px 0;
  }
  .hamburger span:nth-child(3) {
    top: 0;
  }
  /* ハンバーガーメニュークリック後のスタイル */
  .header__nav.active {
    transform: translateX(0);
  }
  .hamburger.active span{
    background-color:#70767C;
  }
  .hamburger.active span:nth-child(1) {
    top: 8px;
    transform: rotate(45deg);
  }
  .hamburger.active span:nth-child(2) {
    opacity: 0;
  }
  .hamburger.active span:nth-child(3) {
    top: -14px;
    transform: rotate(-45deg);
  }
  #backTop:before,
  section:before {
    content: "";
    display: block;
    height: 100px; /* 調整したい高さ（固定ヘッダーの高さ） */
    margin-top: -100px; /* heightと同じ分のネガティブマージン */
    visibility: hidden;
  }
}

/* SP　ハンバーガ−メニュー */
@media screen and (max-width: 767px) {
  .header__nav {
    position: absolute;
    /* right: calc(-30 / 428* 100vw); */
    left: 0;
    top: -51px;
    width: 120vw;
    height: 200vh;
    transform: translateX(100%);
    background-color: #fff;
    opacity: 0.9;
    transition: ease .7s;
    justify-content: end;
    margin-top: 50px;
  }
  .nav__items {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 100px 0 0 20%;
  }
  .nav__items li {
    font-size: 16px;
    margin-bottom: 30px;
  }
  .nav__items li a{
    color: #49505C;
  }
  .nav-items__item li a:hover {
    opacity: .8;
  }
  .nav__items li span{
    font-size:12px;
    color:#777777;
    margin-left:0.5em;
  }
  .nav__items ul{
    margin: 30px 0 0 30px;
    font-family: var(--gothic);
    width: 13em;
    display: inline-block;
  }
  .nav__items ul li{
    margin-bottom: 15px;
    text-align: right;
  }
  .nav__items ul li img{
    height: 23px;
    width: auto;
  }
  /* ハンバーガーメニューの線 */
  .hamburger {
    min-width: auto;
    position: absolute;
    right: 20px;
    top:25px;
  }
  .hamburger span {
    width: 35px;
    height: 1px;
    background-color: #fff;
    position: relative;
    transition: ease .4s;
    display: block;
    color: #707070;
  }
  .hamburger span:nth-child(1) {
    top: 0;
  }
  .hamburger span:nth-child(2) {
    margin: 9px 0;
  }
  .hamburger span:nth-child(3) {
    top: 0;
  }
  /* ハンバーガーメニュークリック後のスタイル */
  .header__nav.active {
    transform: translateX(0);
  }
  .hamburger.active span{
    background-color:#70767C;
  }
  .hamburger.active span:nth-child(1) {
    top: 8px;
    transform: rotate(45deg);
  }
  .hamburger.active span:nth-child(2) {
    opacity: 0;
  }
  .hamburger.active span:nth-child(3) {
    top: -14px;
    transform: rotate(-45deg);
  }
  #backTop:before,
  section:before {
    content: "";
    display: block;
    height: 50px; /* 調整したい高さ（固定ヘッダーの高さ） */
    margin-top: -50px; /* heightと同じ分のネガティブマージン */
    visibility: hidden;
  }
}
  /* *************
    FV
************* */
  #backTop{
    margin-block-end: 0;
  }
  .mv {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    position: relative;
    overflow: hidden;
    background-color: #353538;
  }
  .mv__title {
    position: absolute;
    top: 13.4%;
    left: 50%;
    transform: translateX(-50%);
    font-feature-settings: 'palt';
  }
  .mv__title__main {
    color: #fff;
    font-size: clamp(16px, 3.3vw, 20px);
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 1.7;
    letter-spacing: 0.3em;
    animation: mv__title__main 6s 1;
  }
  @keyframes mv__title__main {
    0% {
      opacity: 0;/*初期状態では透明に*/
      transform: translateY(500px);
    }
    50% {
      opacity: 0;
    }
    60% {
      opacity: 0.1;
      transform: translateY(130px);
    }
    100% {
      opacity: 1;
    }
  }
 
  .mv__logo {
    padding: 0 0 0 41px;
    line-height: 1.4;
    letter-spacing: .2em;
    width: 100%;
    height: 60px;
    position: absolute;
    margin: 0 auto 0;
    bottom: 0;
  }
  .mv__logo img {
    width: 188px;
    margin-top: 0.3em;
  }
  .mv__logo .line_scroll{
    position: absolute;
    right: 59px;
    top: 12px;
    width: 35px;
 }
 .mv__logo .line_scroll p{
  font-size: 16px;
  letter-spacing: 0.05em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  color: #fff;
  line-height: 2.6;
  padding-bottom: 10px;
  letter-spacing: -0.01em;
  font-family: var(--mincho);
  }
  .mv__logo .line_scroll::after{
    content: "";
    position: absolute;
    display: block;
    bottom: 0;
    right: 5%;
    vertical-align: bottom;
    width: 2px;
    height: 150px;
    background-color: #707070;
    animation: line_scroll 3s infinite;
  }
/* 上から下 */
  @keyframes line_scroll {
      0% {
          transform: scaleY(0);
          transform-origin: 0 0
      }
  
      45% {
          transform: scaleY(1);
          transform-origin: 0 0
      }
  
      46% {
          transform: scaleY(1);
          transform-origin: 0 100%
      }
  
      91%,100% {
          transform: scaleY(0);
          transform-origin: 0 100%
      }
  }


  @media screen and (max-width: 767px) {
    #backTop{
      margin-block-end: 0;
    }
    .mv{
      min-height: 600px;
      padding-top: 72%;
      height: 100vh;
    }
    .mv video{
      transform: scale(1.3);
    }
    .mv__title__main {
      font-size: 20px;
      letter-spacing: .4em;
      line-height: 1.5;
    }
    .mv__title {
      top: 13%;
      left: 45%;
    }
    .mv__logo {
      margin: 0 auto;
      text-align: center;
      padding: 53px 0 0 0;
      opacity: 1;
      height: 132px;
      position: relative;
    }
    .mv__logo img {
      width: 180px;
    }
    .mv__logo .line_scroll{
      top:-1px;
      right: 20px;
    }
    .mv__logo .line_scroll p {
      font-size: 12px;
    }
    .mv__logo .line_scroll::after {
      height: 109px;
      width: 1px;
    }
  }


/* *************
    CONTENTS
************* */
section {
  margin-top: 0;
}
section p {
  font-size: 15px;
  line-height: 1.86;
}
.area__container {
  margin-top: 0;
}
.area__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 144px 0 ; 
}
.banner {
  width: 90%;
  max-width: 868px;
  margin: 30px auto 0;
}
/* 背景　灰色の箇所 */
.bg_gray {
  background-color:#353538;
}

@media screen and (max-width: 767px) {
  section {
    width: 100%;
    margin-top: 0;
  }
  .area__container {
    margin-top: -1px;
  }
  .area__inner {
    width: calc(335/375*100%);
    padding: 27px 0 40px;
  }
  .banner {
    margin-top: 0;
  }
}

/* スクロールアクション */
.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 1.5s;
  &.fadein-bottom{
      transform: translate(0,30px);
  }
  &.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }

}
/* *************
    CVエリア
************* */
.area__cv {
  max-width: 860px;
  width: 90%;
  margin: 91px auto 0;
  border: solid 5px #DBDBDB;
  padding: 60px 115px;
}
.cv__title {
  font-size: 1.75rem;
  font-family: var(--mincho);
  text-align: center;
}
.cv__title span {
  font-size: 1.375rem;
  display: block;
  margin-top: 20px;
}
.cv__info {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 50px auto 0;
  width: 100%;
  align-items: center;
  line-height: 1.4;
}
.cv__info + .cv__info {
  margin-top: 10px;
}
.cv__info dt {
  color: #fff;
  background-color: #3B4043;
  padding: 7px 12px;
  letter-spacing: .3em;
  text-align: center;
}
.cv__info dd {
  margin-left: 1em;
  text-align: left;
  font-size: 1.125rem;
  letter-spacing: 0.01em;
}
.cv__button {
  color: #fff;
  font-weight: 300;
  background: rgb(105, 93, 68);
  background: linear-gradient(360deg, rgba(105, 93, 68, 1) 0%, rgba(159, 141, 103, 1) 100%);
  height: 74px;
  width: 578px;
  margin: 90px auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.cv__button:hover {
  color: #fff;
  background: rgb(90,82,65);
  background: linear-gradient(360deg, rgba(90,82,65,1) 0%, rgba(127,115,89,1) 100%);
}
.cv__button p{
  font-size: 1.5rem;
  font-family: var(--mincho);
  text-align: center;
}

@media screen and (max-width: 767px) {
  .area__cv {
    padding: 40px 18px;
  }
  .cv__title {
    font-size: 1.6rem;
  }
  .cv__title span {
    font-size: 18px;
    margin-top: 15px;
  }
  .cv__info {
    margin-top: 40px;
    font-size: 15px;
  }
  .cv__info dt {
    padding: 5px 11px;
  }
  .cv__info dd {
    font-size: 1rem;
  }
  .cv__button {
    margin-top: 46px;
    font-size: 22px;
    width: calc(338/375*100%);
    height: 74px;
  }
  .cv__button p{
    line-height: 1.2;
  }
}
/* *************
    about
************* */
.area_about {
  margin-top: 0;
}
.area__inner p.aboutread {
  color: #d7d7d7;
  width: calc(667/1000*100%);
  max-width: 667px;
  font-size: 0.95rem;
  margin:0 auto;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: left;
}
.about__box {
  border: 1px solid #d7d7d7;
  width: 984px;
  padding: 18px 35px 5px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .area_concept {
    margin-top: 80px;
  }
  #about .area__inner{
    padding:27px 0 27px;
  }
  .area__inner p.aboutread {
    width: 100%;
    font-size: 0.9rem;
    text-align: center;
    padding:58px 0 63px;
  }
  #about .area__inner small{
    text-align: right;
    color: #d7d7d7;
    font-size: 0.8rem;

  }
  .area_about .area__container{
    background: url("/common/upload_data/onimuracom/images/bg_concept_sp.jpg") no-repeat;
    background-size: contain;
    background-color: #353538;
  }
}

/*
about　画像アニメーション
------------------------------------ */
/*           PC           */
@media screen and (min-width: 768px) {
.about_gal_coltop,.about_gal_colmiddle,.about_gal_colbottom{
  display: flex;
  overflow: hidden;
  position: relative;
}
.about_img1,.about_img2{
  max-width: 960px;
  width:calc(960/1920*100%);
  
}
.about_img1{
  animation: about_img1 3s 1;
}
.about_img2{
  animation: about_img2 3s 1;
}
.about_img3{
  max-width: 640px;
  width:calc(640/1920*100%);
}
.about_img3{
  animation: about_img3 3s 1;
}
.about_gal_mov{
  overflow:hidden;
  max-width: 1280px;
  position: relative;
}
.about_gal_mov_inner{
  animation: about_gal_mov_inner 3s 1;
}
.about_img5,.about_img6{
  max-width: 640px;
  width:50%;
}
.about_img5{
  animation: about_img5 3s 1;
}
.about_img6{
  animation: about_img6 3s 1;
}

@keyframes about_img1 {
  0% {
    opacity: 0;/*初期状態では透明に*/
    transform: translateY(1000px);
  }
  40% {
    opacity: 0.4;
    transform: translateY(0);
  }
  100% {
    opacity: 1;
  }
}
@keyframes about_img2 {
  0% {
    opacity: 0;/*初期状態では透明に*/
    transform: translateY(1000px);
  }
  45% {
    opacity: 0.5;
    transform: translateY(0);
  }
  100% {
    opacity: 1;
  }
}
@keyframes about_img3 {
  0% {
    opacity: 0;/*初期状態では透明に*/
    transform: translateY(1000px);
  }
  48% {
    opacity: 0.4;
    transform: translateY(0);
  }
  100% {
    opacity: 1;
  }
}
@keyframes about_gal_mov_inner {
  0% {
    opacity: 0;/*初期状態では透明に*/
    transform: translateY(1000px);
  }
  60% {
    opacity: 0.6;
    transform: translateY(0);
  }
  100% {
    opacity: 1;
  }
}
@keyframes about_img5 {
  0% {
    opacity: 0;/*初期状態では透明に*/
    transform: translateY(1000px);
  }
  65% {
    opacity: 0.7;
    transform: translateY(0);
  }
  100% {
    opacity: 1;
  }
}
@keyframes about_img6 {
  0% {
    opacity: 0;/*初期状態では透明に*/
    transform: translateY(1000px);
  }
  75% {
    opacity: 0.7;
    transform: translateY(0);
  }
  100% {
    opacity: 1;
  }
}
.about_gal .caution{
    text-align: right;
    color: #f8f8f8;
    margin-right: 4em;
    margin-top: 1em;
    padding-bottom: 1em;
    font-size: 12px;
}
}

/*           SP           */
@media screen and (max-width: 767px) {
  .about_gal_coltop,.about_gal_colmiddle,.about_gal_colbottom{
    overflow: hidden;
    position: relative;
  }
  .about_img1{
    animation: about_img1 3s 1;
  }
  .about_img2{
    animation: about_img2 3.5s 1;
  }
  .about_img3{
    animation: about_img3 4s 1;
  }
  @keyframes about_img1 {
    0% {
      opacity: 0;/*初期状態では透明に*/
      transform: translateY(1000px);
    }
    40% {
      opacity: 0.4;
      transform: translateY(0);
    }
    100% {
      opacity: 1;
    }
  }
  @keyframes about_img2 {
    0% {
      opacity: 0;/*初期状態では透明に*/
      transform: translateY(1000px);
    }
    45% {
      opacity: 0.5;
      transform: translateY(0);
    }
    100% {
      opacity: 1;
    }
  }
  @keyframes about_img3 {
    0% {
      opacity: 0;/*初期状態では透明に*/
      transform: translateY(1000px);
    }
    48% {
      opacity: 0.6;
      transform: translateY(0);
    }
    100% {
      opacity: 1;
    }
  }
}

/* *************
    PRODUCT
************* */
#product h2{
  font-size: 2.5rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  padding-bottom: 118px;
}
#product h2 span{
  font-size: 1.8rem;
  letter-spacing: 0.05em;
}
#product .area__inner{
  max-width: 1000px;
}
/*           PC           */
@media screen and (min-width: 768px) {
.product_anchor{
  display: flex;
  justify-content: space-between;
}
.product_anchor_item{
  width:30%;
  max-width: 300px;
  text-align: center;
  background-color: #49505C;
  overflow: hidden;
}
.product_anchor_image{
  width:100%;
  aspect-ratio: 300 / 195;
  overflow: hidden;
}
.product_anchor_item a:hover .product_anchor_image img{
  transform: scale(1.1,1.1);
  transition: .8s all;
}
.product_anchor_title{
  width: 67%;
  margin:35px 0;
}
.product_anchor p{
  color: #fff;
  line-height: 2.5;
  font-family: var(--mincho);
  letter-spacing: 0.1em;
}
.product_anchor_arr{
  width: 60px;
  height: 46px;
  background: url(/common/upload_data/onimuracom/images/ico_product_arr.png);
  margin:35px auto 15px;
  background-position: center;
  background-repeat: no-repeat;
}
.product_anchor_item a:hover .product_anchor_arr{
  width: 60px;
  height: 46px;
  background: url(/common/upload_data/onimuracom/images/ico_product_arr_over.png);
  margin:35px auto 15px;
  background-position: center;
  background-repeat: no-repeat;
}
#product .caution{
  text-align: right;
  color: #f8f8f8;
  margin-top: 1em;
  font-size: 12px;
}
}

/*           sp           */
@media screen and (max-width: 767px) {
  #product h2{
    padding:77px 0 15px;
    font-size: 1.87rem;
  }
  #product h2 span{
    font-size: 1.2rem;
  }
  #product .area__inner {
    max-width: calc(335 / 375* 100%);
    padding: 27px 0 110px;
  }
  .product_anchor_item{
    width: 100%;
    text-align: center;
    background-color: #49505C;
    margin:40px 0;
  }
  .product_anchor_item:last-of-type{
    margin:40px 0 10px;
  }
  .product_anchor_image{
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #fff;
  }
  .product_anchor_title{
    width: 40%;
    padding:0 3.4%
  }
  .product_anchor_img{
    width: 200px;
  }
  .product_anchor p{
    color: #fff;
    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0.1em;
    padding:12px 0 8px
  }
  .product_anchor_arr{
    width: 32px;
    padding-bottom: 8px;
  }
  #product .caution{
    text-align: center;
    color: #f8f8f8;
    margin-top: 1em;
    font-size: 12px;
  }
}

/* *************
    PLAN
************* */
#plan .area__inner{
  max-width: inherit;
  width: 100vw;
}
#plan .area__inner:last-child {
  padding:144px 0 0;
}
#plan h2{
  width: calc(335 / 1920* 100%);
  max-width: 335px;
  padding:42px 0;
}
#plan h2.last{
  width: calc(470 / 1920* 100%);
  max-width: 470px;
}
#plan .plan_item{
  background-color: #242426;
}
#plan .plan_item:last-child{
  padding-top: 190px;
}
.plan_item_col,.plan_item_col_last{
  display: flex;
  margin-top:2px;
}

.plan_item_col_last img{
  width: 50%;
}
.plan_item_col_madori{
  width: calc(612 / 1920* 100%);
  max-width: 612px;
  padding: 20px;
  color: #f8f8f8;
  text-align: center;
}
.plan_item_col_madori img{
  width: calc(342 / 612* 100%);
  max-width: 342px;
  padding:20px 0;
  margin: 0 auto;
}
.plan_item_col_madori p{
  text-align: left;
  letter-spacing: -0.01em;
}
.plan_item_col_madori small{
  text-align: left;
  display: block;
  line-height: 1.2;
}
dl.plan_madori_info {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  font-size:14px ;
  padding:15px 0 5px 0;
  border-top: 1px solid #F2F2F2;
  border-bottom: 1px solid #F2F2F2;
  text-align: left;
  margin-bottom: 10px;
}
.plan_madori_info dt {
  width: 30%;
  margin-bottom: 10px;
}
.plan_madori_info dd {
  width: 70%;
  margin-bottom: 10px;
}
/* 各プランの画像サイズ */
.plan_img_btm_big{
  width: calc(912/1920*100%);
  max-width: 912px;
}
.plan_img_btm_small{
  width: calc(396/1920*100%);
  max-width: 396px;
}
.plan_boxo_read{
  width: calc(860/1920*100%);
  font-family: var(--gothic);
  color: #f8f8f8;
  text-align: left;
  max-width: 860px;
  margin: 63px auto 0;
  padding-bottom: 173px;
}
.plan_boxo_read h3{
  text-align: left;
  margin-bottom: 40px;
  max-width: 229px;
}
@media screen and (min-width: 768px) {
.border_gray{
  border-bottom: 1px solid #444;
}
}
@media screen and (max-width: 767px) {
  #plan h2{
    width: calc(286 / 375* 100%);
    max-width: 286px;
    padding:0 0 51px;
  }
  #plan h2.last{
    width: calc(220 / 375* 100%);
    max-width: 220px;
  }
  #plan .area__inner{
    padding:0 0 140px;
  }
  #plan .area__inner:last-child {
    padding: 0;
  }
  #plan .plan_item{
    padding-top: 50px;
  }
  #plan .plan_item:last-child{
    padding-top: 90px;
  }
  .plan_item_col, .plan_item_col_last {
    display: block;
  }
  .plan_item_col_last img{
    width: 100%;
  }
  .plan_item_col_madori {
    width: 100%;
  }
  .plan_item_col_madori img {
    max-width: 296px;
    width: 95%;
  }
  .plan_item_col_madori p {
    letter-spacing: -0.02em;
    font-size: 0.9rem;
  }
  dl.plan_madori_info {
    padding-left: 20px;
  }
  .plan_item_col_madori small {
    padding-left: 20px;
    line-height: 1.4;
  }
  .plan_boxo_read{
    width: 90%;
    margin: 38px auto 0;
    padding-bottom: 84px;
  } 
}

/* *************
    COST
************* */
#cost .area__container{
  background-color: #707070;
}
#cost .area__inner{
  text-align: center;
  width: calc(1200 / 1920* 100%);
  max-width: 1000px;
}
#cost h2{
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: var(--gothic);
  font-size: 3.3rem;
}
#cost h2 svg{
  width: 70px;
  height: 70px;
}
#cost p{
  color: #fff;
}
p.cost_read{
  font-size: 1.1rem;
  font-family: var(--mincho);
  letter-spacing: 0.06em;
  margin-top: 10px;
}
.cost_figure1{
  margin: 50px auto 0;
  border: 1px solid #fff;
  padding: 20px 0;
  color: #fff;
}
.cost_figure1 img.maru{
  width: 90%;
  padding-bottom: 20px;
  margin:0 auto;
}
.cost_figure1 h3{
  font-family: var(--gothic);
  font-size: 1.2rem;
  margin-bottom: 20px;
}
.cost_str{
  padding: 50px 0;
  margin: 0 auto;
  border-bottom: 1px solid #fff;
}
.cost_str h3{
  font-size: 1.8rem;
  margin-bottom: 15px;
  color: #fff;
  text-align: center;
}
.cost_str p{
  line-height: 2.5;
}
.cost_figure2{

  border-bottom: 1px solid #fff;
  padding: 40px 0;
  margin: 0 auto 0;
}
.cost_figure2 img{
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #cost .area__inner{
    width: 100%;
  }
  #cost h2{
    display: inherit;
    font-size: 40px;
    padding-top:65px;
  }
  p.cost_read {
    padding-top:40px;
    font-size: 1.5rem;
  }
  .cost_figure1 {
    width: 90%;
    border:1px solid #fff;
  }
  .cost_figure1 h3 {
    font-size: 1rem;
    text-align: center;
  }
  .cost_figure1 img.maru{
    width: 80%;
    margin:0 auto;
  }
  .cost_figure1 small{
    text-align: left;
    display: block;
    width: 80%;
    margin: 0 auto;
    line-height: 1.4;
  }
  .cost_str{
    width: 90%;
  }
  .cost_str p{
    letter-spacing: -0.05em;
  }
  .cost_figure2{
    width: 90%;
    margin-bottom: 28px;
  }
}

/* *************
    DATA
************* */
#data .area__container{
  background-color: #EFEFEF;
}
#data .area__inner{
  padding:97px 0 130px;
  width: calc(1200 / 1920* 100%);
  max-width: 1000px;
}
#data h2{
  font-size: 1.8rem;
  color:#353538;
  text-align: left;
  border-bottom: 1px solid #353538;
  line-height: 1.8;
  margin-bottom: 32px;
  margin-top: 85px;
}
#data h2:first-of-type{
  margin-top: 0;
}
#data p{
  text-align: left;
  margin-bottom: 40px;
  color:#353538;
  font-size: 16px;
  letter-spacing: -0.04em;
}
#data p.small{
  font-size: 12px;
  margin-top: 20px;
  letter-spacing: -0.01em;
}
#data small{
  color: #353538;
}
#data .figrue1,#data .figrue2,#data .figrue3{
  width: 85%;
  margin: 0 auto 13px;
}
#data .figrue2 h3{
  font-family: var(--gothic);
  font-size: 1.25rem;
  color: #49505C;
  text-align: center;
}
#data .figrue2 img{
  width: 76.5%;
  margin:30px auto;
}
#data .figrue2 p.wh_box{
  width: 100%;
  text-align: center;
  border: 1px solid #707070;
  background-color: #fff;
  margin-bottom: 0;
  padding:5px 0;
}
#data .figrue3 img{
  margin-bottom: 30px;
}
#data .figrue2 small,#data .figrue3 small{
  display: block;
  margin-top:1em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #data .area__inner{
    width: 90%;
  }
  #data .figrue1,#data .figrue2,#data .figrue3{
    width: 100%;
  }
  #data .figrue3 .pc{
    display: none;
  }
  #data p.small span{
    line-height: 2;
  }
  #data p.small{
    line-height: 1.2;
  }
  #data .figrue2 p.wh_box{
    padding:15px 0;
  }
}
/* *************
    SPEC
************* */
#spec .area__inner {
  width: calc(1200 / 1920* 100%);
  max-width: 1000px;
  color: #f8f8f8;
}
#spec h2{
  letter-spacing: 0.1em;
}
#spec p.read{
  margin:55px 0 50px;
  color:#F8F8F8;
  text-align: center;
  font-size: 1rem;
  line-height: 2.5;
}
.spec_col{
  margin-top: 50px;
  display: flex;
}
.spec_info{
  width: 100%;
}
.spec_thm{
  /* width: calc(245 / 1000* 100%);*/
  max-width: 245px;
  aspect-ratio: 1 / 1;
  max-height: 245px;
}
.spec_mtitle{
  background-color: #70767C;
  padding:14px 20px 14px 30px;
}
.spec_mtitle h4{
  display: flex;
  justify-content: space-between;
  font-weight: 600;
}
.spec_mtitle h4 span{
  font-size: 18px;
}
.spec_str{
  padding: 0 20px 0 30px;
  display: flex;
}
.spec_str p{
  margin-top: 30px;
}
.spec_ico{
  text-align: right;
  padding-left: 38px;
  position: relative;
}
.spec_ico::before{
  content: "";
    position: absolute;
    display: block;
    bottom: 0;
    left: 5%;
    vertical-align: bottom;
    width: 1px;
    height: 100%;
    background-color: #70767C;
}
.spec_ico img{
  margin-top: 30px;
  width: 177px;
}
.spec_ico span{
  font-size: 14px;
  white-space: nowrap;
  padding-top: 1em;
  display: block;
  font-family: var(--gothic);
}
#spec .notice{
  letter-spacing: -0.04em;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  #spec .area__inner {
    width: 90%;
    padding: 76px 0;
  }
  #spec h2 {
    font-size: 30px;
    line-height: 1.4;
  }
  .spec_col {
    margin-top: 30px;
  }
  .spec_str {
    display: block;
    padding: 0;
  }
  .spec_str p {
    font-size: 14px;
    margin-bottom: 25px;
    margin-top: 0;
  }
  .spec_ico {
    margin-bottom: 20px;
  }
  .spec_ico::before {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #70767C;
    top: 0;
  }
  .spec_mtitle {
  background-color: #70767C;
  padding: 13px 0 12px 15px;
  width: 100%;
  }
  .spec_mtitle h4 {
    font-size: 16px;
    flex-direction: column;
    width: fit-content;
    height: 120px;
  }
  .spec_mtitle h4 span{
    font-size: 16px;
    line-height: 1.2;
  }
  .spec_thm {
    width: 145px;
    height: 145px;
  }
}
/* *************
    FLOW
************* */
#flow .area__container{
  background-color: #EFEFEF;
}
#flow .area__inner {
  width: calc(1200 / 1920* 100%);
  max-width: 1000px;
  color:#49505C;
}
#flow h2{
  color:#49505C;
}
#flow p{
  font-size: 16px;
  text-align: center;
  margin:50px 0 84px;
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  #flow .area__inner {
    width: 90%;
    padding: 76px 0 90px;
  }
  #flow h2{
    font-size: 30px;
    line-height: 1.6;
  }
  #flow p{
    margin:42px 0 67px;
  }
  #flow img{
    width: 90%;
    margin:0 auto;
  }
}



/* *************
      FORM
************* */
.area__form{
  margin:0 auto;
  padding:136px 0;
}
#form  h2{
  font-size: 1.8rem;
}
.form_box{
  width: calc(1200 / 1920* 100%);
  max-width: 1000px;
  margin: 60px auto 0;
}
.form_contact{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 44px;
  margin-top: 45px;
}
.form_contact p{
  color: #F8F8F8;
}
.form_contact p.title{
  font-family: var(--mincho);
  font-size: 1.2rem;
}
.form_contact p.tel{
  font-size: 2rem;
  display: flex;
}
.form_contact img{
  width: 17px;
  margin-right: 0.3em;
}
.form_contact p.hours{
  font-size: 1rem;
}
.form_box small{
  color:#F8F8F8;
  font-size:12px;
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .area__form {
    padding:100px 0;
  }
  .form_box{
    width: 90%;
  }
  .form_contact{
    display: block;
    margin-bottom: 20px;
    margin-top: 30px;
    margin-left: 20px;
  }
  .form_contact img{
    width: 16px;
  }
  .form_contact p.title{
    margin-bottom: 14px;
    font-size: 1rem;
  }
  .form_contact p.tel{
    margin-bottom: 14px;
    font-size: 1.2rem;
  }
  .form_contact p.hours{
    line-height: 1.4;
  }
}
/* *************
      FOOTER
************* */

footer {
  background: #353538;
}
.footer_container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 130px 0 140px;
}
.copyright {
  color: #fff;
  font-size: 12px;
  letter-spacing: .1em;
  text-align: center;
}
.footer_img{
  position: relative;
}
.footer_img .line_totop{
  position: absolute;
  right: 59px;
  top: 0;
  width: 35px;
}
.footer_img .line_totop p{
font-size: 16px;
letter-spacing: 0.05em;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
color: #fff;
line-height: 2.6;
padding-bottom: 10px;
letter-spacing: -0.01em;
font-family: var(--mincho);
}
.footer_img .line_totop::after{
content: "";
  position: absolute;
  display: block;
  top: 0;
  right: 5%;
  vertical-align: bottom;
  width: 2px;
  height: 150px;
  background-color: #707070;
  animation: line_totop 3s infinite;
}
/* 下から上 */
  @keyframes line_totop {
    0% {
      transform: scaleY(0);
      transform-origin: 0 100%
  }

  45% {
      transform: scaleY(1);
      transform-origin: 0 100%
  }

  46% {
      transform: scaleY(1);
      transform-origin: 0 100%
  }

  91%,100% {
      transform: scaleY(1);
      transform-origin: 0 100%
  }
}
@media screen and (max-width: 767px) {
.footer_container {
  display: block;
  max-width: 100%;
  padding: 42px 0;
}
.copyright {
  font-size: 12px;
  text-align: center;
}
.footer_img .line_totop{
  top:-1px;
  right: 33px;
}
.footer_img .line_totop p {
  font-size: 12px;
}
.footer_img .line_totop::after {
  height: 109px;
  width: 1px;
}
.footer_img .line_totop {
  right: 20px;
}
.footer_img .line_totop::after{
  width: 1px;
  height: 110px;
}
.footer_img{
  padding-top: 90px;
}

}
/*//////////////////////////////////////////////
// FLOATING BTN 
//////////////////////////////////////////////*/

/* PC用（非表示）*/
@media screen and (min-width: 768px) {    
  #page-top .float_bnr {
      display: none;
  }
}

/* SP用（表示）*/
@media screen and (max-width: 767px) { 
  #page-top {
    width: 100%;
    bottom: 10px;
    right:0;
    padding-top:1em;
    z-index: 4;
  }
  .float_bnr {
      width: 90%;
      margin: 0 auto;
    }
}
/* *************
      Thanksページ
************* */
#thanks {
  height: auto;
  font-family: var(--mincho);
}
#thanks main {
  max-width: 100%;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  padding: 100px 10% 0;
  margin: 0 auto;
  height: 100%;
  justify-content: flex-start;
  background-color: #edece2;
}
.thanks__container {
  width:100%;
  max-width:900px;
  background:url("images/bg_thanks.png") center center no-repeat;
  background-size:cover;
  padding:3em 0;
  margin:20px auto;
  border-radius:2em;
}
.thanks__container>dl{
  margin:auto;
  padding:6em 3.5%;
  text-align: center;
}
.thanks__container>dl>dt{
    font-weight:bold;
    padding: .5em 0 1.5em 0;
    letter-spacing:.1em;
}
.thanks__container>dl>dt .big {
    font-size:1.5em;
    display:block;
    padding-top:.8em;
    font-family: var(--mincho);
}
.ts {
  padding-right: 0.1em;
  padding-left: 0.1em;
  color: #de5a5a;
}
.list-type-kome {
  margin: 0 0 1em;
  line-height: 1.5em;
}
.list-type-kome>li {
  display: block;
  position: relative;
  padding-left: 1.2em;
  text-align: left;
  font-size: 99%;
}
.list-type-kome>li::before {
  content: "\203b";
  position: absolute;
  left: 0;
  top: 0;
}
#thanks main>p {
  width: 100%;
  margin: 20px 0;
  line-height: 0;
  text-align: center;
}
#thanks .a-btn {
  display: inline-block;
  margin-bottom: 2px;
  padding: 0;
  background-color: #9F8D67;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s;
  background-image: none;
  border: none;
  max-width: 450px;
  width: 85%;
  font-size: 22px;
  text-align: center;
  height: 60px;
  line-height: 61px;
}

@media(min-width:40em) {
  .thanks__container {
    border-radius: 3.5em;
    margin: 30px auto 50px auto;
  }
  .thanks__container>dl>dt{
      font-size:28px;
      font-size:1.75rem;
      line-height: 1.5em;
  }
}
@media screen and (max-width: 767px) {
  #thanks .a-btn {
      width: 60vw;
      min-width: 280px;
      font-size: 18px;
      height: 38px;
      line-height: 38px;
  }
}

