@charset "UTF-8";
/* 初期化 */
@font-face {
  font-family: 'ShipporiMincho-OTF-Bold';
  src: url("../font/ShipporiMinchoB1-OTF-Bold.otf"); }
@font-face {
  font-family: 'ShipporiMincho-OTF-ExtraBold';
  src: url("../font/ShipporiMinchoB1-OTF-ExtraBold.otf"); }
@font-face {
  font-family: 'ShipporiMinchoB1-OTF-Medium';
  src: url("../font/ShipporiMinchoB1-OTF-Medium.otf"); }
@font-face {
  font-family: 'ShipporiMinchoB1-OTF-Regular';
  src: url("../font/ShipporiMinchoB1-OTF-Regular.otf"); }
*, *:before, *:after {
  box-sizing: border-box; }

html {
  font-size: 62.5%; }
  html:focus {
    outline: none; }

body {
  font-size: 16px;
  line-height: 1.6;
  color: #FFFFFF;
  background: #FFFFFF;
  margin: 0;
  font-family: 'ShipporiMinchoB1-OTF-Medium' !important;
  font-weight: normal; }
  @media screen and (max-width: 767px) {
    body {
      font-size: 14px; } }

main {
  display: block;
  /*overflow: hidden;*/ }

ul,
ol {
  margin: 0;
  padding: 0; }

/* ----------------------------------- */
/* コンテナ
/* ----------------------------------- */
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  transition: ease-in .1s;
  max-width: 1170px !important; }
  @media screen and (min-width: 1211px) {
    .container {
      max-width: 1170px; } }
  @media screen and (min-width: 768px) and (max-width: 1210px) {
    .container {
      max-width: 1170px;
      padding-left: 5%;
      padding-right: 5%; } }
  @media screen and (max-width: 767px) {
    .container {
      max-width: 750px; } }

/* ----------------------------------- */
/* フォントサイズ・余白 */
/* ----------------------------------- */
.fs12 {
  font-size: 12px !important; }

.fs14 {
  font-size: 14px !important; }

.fs16 {
  font-size: 16px !important; }

.fs18 {
  font-size: 18px !important; }

.fs20 {
  font-size: 20px !important; }

.fs22 {
  font-size: 22px !important; }

.fs24 {
  font-size: 24px !important; }

.mt0 {
  margin-top: 0	 !important; }

.mt5 {
  margin-top: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt50 {
  margin-top: 50px !important; }

.mt60 {
  margin-top: 60px !important; }

.mt70 {
  margin-top: 70px !important; }

.mt80 {
  margin-top: 80px !important; }

.mb0 {
  margin-bottom: 0   !important; }

.mb5 {
  margin-bottom: 5px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.w10p {
  width: 10% !important; }

.w20p {
  width: 20% !important; }

.w30p {
  width: 30% !important; }

.w40p {
  width: 40% !important; }

.w50p {
  width: 50% !important; }

.w60p {
  width: 60% !important; }

.w70p {
  width: 70% !important; }

.w80p {
  width: 80% !important; }

.w90p {
  width: 90% !important; }

.w100p {
  width: 100% !important; }

/* ----------------------------------- */
/* リンク */
/* ----------------------------------- */
a {
  color: #000;
  text-decoration: none;
  transition: all ease .3s; }
  a:hover, a:focus {
    text-decoration: none;
    transition: all ease .3s; }
  a:focus, a:active, a:hover {
    outline: 0;
    text-decoration: none; }
  a img:hover {
    opacity: 0.8; }

/* ------------------------------------------ /
/ 表示非表示 /
/ ------------------------------------------ */
.pc_on {
  display: none; }

@media (min-width: 768px) {
  .pc_on {
    display: block; } }
.sp_on {
  display: block; }

@media (min-width: 768px) {
  .sp_on {
    display: none; } }
/* ----------------------------------- */
/* clearfix
/* ----------------------------------- */
.clearfix:before, .clearfix:after, .container:before, .container:after {
  content: " ";
  display: table; }

.clearfix:after, .container:after {
  clear: both; }

/* ---------------------------------------------*/
/* 共通 */
/* ---------------------------------------------*/
.box:nth-of-type(n + 2) {
  margin-top: 80px; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.4;
  margin: 0 0 20px; }

/*スライド画像の横幅可変*/
img {
  max-width: 100%;
  height: auto; }

/* ----------------------------------- */
/* カラム */
/* ----------------------------------- */
.column2Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px; }
  .column2Wrap .columnBox {
    flex-basis: calc( ( 100% - ( 30px * ( 2 - 1) ) ) / 2 );
    max-width: calc( ( 100% - ( 30px * ( 2 - 1) ) ) / 2 ); }
    .column2Wrap .columnBox p:last-of-type {
      margin-bottom: 0; }
    .column2Wrap .columnBox:nth-of-type(n + 3) {
      margin-top: 20px; }
  .column2Wrap.sp2_8 .columnBox:nth-of-type(odd) {
    flex-basis: 230px;
    max-width: 230px; }
  .column2Wrap.sp2_8 .columnBox:nth-of-type(even) {
    flex-basis: calc( 100% - 270px );
    max-width: calc( 100% - 270px ); }
  .column2Wrap.sp8_2 .columnBox:nth-of-type(odd) {
    flex-basis: calc( 100% - 270px );
    max-width: calc( 100% - 270px ); }
  .column2Wrap.sp8_2 .columnBox:nth-of-type(even) {
    flex-basis: 230px;
    max-width: 230px; }
  .column2Wrap.sp3_7 .columnBox:nth-of-type(odd) {
    flex-basis: 300px;
    max-width: 300px; }
  .column2Wrap.sp3_7 .columnBox:nth-of-type(even) {
    flex-basis: calc( 100% - 320px );
    max-width: calc( 100% - 320px ); }
  .column2Wrap.sp7_3 .columnBox:nth-of-type(odd) {
    flex-basis: calc( 100% - 320px );
    max-width: calc( 100% - 320px ); }
  .column2Wrap.sp7_3 .columnBox:nth-of-type(even) {
    flex-basis: 300px;
    max-width: 300px; }
  .column2Wrap.sp4_6 .columnBox:nth-of-type(odd) {
    flex-basis: 330px;
    max-width: 330px; }
  .column2Wrap.sp4_6 .columnBox:nth-of-type(even) {
    flex-basis: calc( 100% - 350px );
    max-width: calc( 100% - 350px ); }
  .column2Wrap.sp6_4 .columnBox:nth-of-type(odd) {
    flex-basis: calc( 100% - 350px );
    max-width: calc( 100% - 350px ); }
  .column2Wrap.sp6_4 .columnBox:nth-of-type(even) {
    flex-basis: 330px;
    max-width: 330px; }
  .column2Wrap.sp140 .columnBox:nth-of-type(-n + 2) {
    margin-top: 0; }
  .column2Wrap.sp140 .columnBox:nth-of-type(odd) {
    flex-basis: 140px;
    max-width: 140px; }
  .column2Wrap.sp140 .columnBox:nth-of-type(even) {
    flex-basis: calc( 100% - 160px );
    max-width: calc( 100% - 160px ); }
  .column2Wrap.sp250 .columnBox:nth-of-type(odd) {
    flex-basis: 250px;
    max-width: 250px; }
  .column2Wrap.sp250 .columnBox:nth-of-type(even) {
    flex-basis: calc( 100% - 270px );
    max-width: calc( 100% - 270px ); }
  .column2Wrap .column2Wrap .columnBox {
    flex-basis: calc( ( 100% - ( 30px * ( 2 - 1) ) ) / 2 );
    max-width: calc( ( 100% - ( 30px * ( 2 - 1) ) ) / 2 ); }

.column3Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px; }
  .column3Wrap:after {
    content: "";
    display: block;
    width: calc( ( 100% - ( 30px * ( 3 - 1) ) ) / 3 ); }
  .column3Wrap .columnBox {
    flex-basis: calc( ( 100% - ( 25px * ( 3 - 1) ) ) / 3 );
    max-width: calc( ( 100% - ( 25px * ( 3 - 1) ) ) / 3 ); }
    .column3Wrap .columnBox img {
      width: 100%;
      max-width: 100%; }
    .column3Wrap .columnBox p:last-child {
      margin-bottom: 0; }
    .column3Wrap .columnBox:nth-of-type(-n + 3) {
      margin-top: 0; }

.column4Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
  position: relative; }
  .column4Wrap .columnBox p:last-child {
    margin-bottom: 0; }
  .column4Wrap .columnBox img {
    max-width: 100%;
    width: 100%; }

.columnBox {
  overflow: hidden; }
  .columnBox.roundBox .img_box {
    position: relative;
    width: 100%;
    padding-bottom: 61%;
    overflow: hidden; }
    .columnBox.roundBox .img_box img {
      position: absolute;
      height: 100%;
      width: 100%;
      object-fit: cover; }
  .columnBox img {
    align-self: baseline;
    max-width: 100%; }
  .columnBox p:last-of-type {
    margin: 0; }

.borderBox .columnBox {
  padding: 15px 20px;
  border: 1px solid #eee;
  overflow: visible; }
  .borderBox .columnBox + .borderNone {
    border: none; }

@media screen and (min-width: 1025px) {
  .column2Wrap.lp3_7 .columnBox:first-of-type {
    flex-basis: calc( ( 100% - ( 60px ) ) / 3);
    max-width: calc( ( 100% - (60px) ) / 3); }
  .column2Wrap.lp3_7 .columnBox:last-of-type {
    flex-basis: calc((((100% - 60px) / 3) * 2) + 30px);
    max-width: calc((((100% - 60px) / 3) * 2) + 30px); }
  .column2Wrap.lp7_3 .columnBox:first-of-type {
    flex-basis: calc((((100% - 60px) / 3) * 2) + 30px);
    max-width: calc((((100% - 60px) / 3) * 2) + 30px); }
  .column2Wrap.lp7_3 .columnBox:last-of-type {
    flex-basis: calc( ( 100% - ( 60px ) ) / 3);
    max-width: calc( ( 100% - (60px) ) / 3); }

  .column3Wrap:after {
    content: "";
    display: block;
    width: calc( ( 100% - ( 30px * ( 3 - 1) ) ) / 3 ); }
  .column3Wrap .columnBox:nth-of-type(n + 4) {
    margin-top: 20px; }

  .column4Wrap:after {
    width: calc( ( 100% - ( 30px * ( 4 - 1) ) ) / 4 );
    content: "";
    display: block; }
  .column4Wrap:before {
    width: calc( ( 100% - ( 30px * ( 4 - 1) ) ) / 4 );
    content: "";
    display: block;
    order: 1; }
  .column4Wrap .columnBox {
    flex-basis: calc( ( 100% - ( 30px * ( 4 - 1) ) ) / 4 );
    max-width: calc( ( 100% - ( 30px * ( 4 - 1) ) ) / 4 ); }
    .column4Wrap .columnBox:nth-of-type(n + 5) {
      margin-top: 20px; } }
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .column3Wrap .columnBox {
    flex-basis: calc( ( 100% - ( 30px * ( 2 - 1) ) ) / 2 );
    max-width: calc( ( 100% - ( 30px * ( 2 - 1) ) ) / 2 ); }
    .column3Wrap .columnBox:nth-of-type(n + 3) {
      margin-top: 20px; }

  .column4Wrap .columnBox {
    flex-basis: calc( ( 100% - ( 30px * ( 2 - 1) ) ) / 2 );
    max-width: calc( ( 100% - ( 30px * ( 2 - 1) ) ) / 2 ); }
    .column4Wrap .columnBox:nth-of-type(n + 3) {
      margin-top: 20px; } }
@media screen and (max-width: 767px) {
  .column2Wrap .columnBox {
    flex-basis: 100%;
    max-width: 100%; }
    .column2Wrap .columnBox:nth-of-type(n + 3) {
      margin-top: 0; }
    .column2Wrap .columnBox:nth-of-type(n + 2) {
      margin-top: 20px; }
  .column2Wrap.sp2_8 .columnBox:nth-of-type(odd), .column2Wrap.sp3_7 .columnBox:nth-of-type(odd), .column2Wrap.sp4_6 .columnBox:nth-of-type(odd) {
    flex-basis: 100%;
    max-width: 100%; }
  .column2Wrap.sp2_8 .columnBox:nth-of-type(even), .column2Wrap.sp3_7 .columnBox:nth-of-type(even), .column2Wrap.sp4_6 .columnBox:nth-of-type(even) {
    flex-basis: 100%;
    max-width: 100%; }
  .column2Wrap.sp8_2 .columnBox:nth-of-type(odd), .column2Wrap.sp7_3 .columnBox:nth-of-type(odd), .column2Wrap.sp6_4 .columnBox:nth-of-type(odd) {
    flex-basis: 100%;
    max-width: 100%; }
  .column2Wrap.sp8_2 .columnBox:nth-of-type(even), .column2Wrap.sp7_3 .columnBox:nth-of-type(even), .column2Wrap.sp6_4 .columnBox:nth-of-type(even) {
    flex-basis: 100%;
    max-width: 100%; }
  .column2Wrap.sp140 .columnBox:nth-of-type(odd) {
    flex-basis: 100%;
    max-width: 100%; }
  .column2Wrap.sp140 .columnBox:nth-of-type(even) {
    flex-basis: 100%;
    max-width: 100%; }
  .column2Wrap.sp140 .columnBox:nth-of-type(n + 2) {
    margin-top: 20px; }
  .column2Wrap.sp250 .columnBox:nth-of-type(odd) {
    flex-basis: 100%;
    max-width: 100%; }
  .column2Wrap.sp250 .columnBox:nth-of-type(even) {
    flex-basis: 100%;
    max-width: 100%; }
  .column2Wrap.sp250 .columnBox:nth-of-type(n + 2) {
    margin-top: 20px; }

  .column3Wrap .columnBox {
    flex-basis: 100%;
    max-width: 100%; }
    .column3Wrap .columnBox:nth-of-type(n + 2) {
      margin-top: 20px; }

  .column4Wrap .columnBox {
    flex-basis: 100%; }
    .column4Wrap .columnBox:nth-of-type(n + 2) {
      margin-top: 20px; } }
/* ------------------------------------------ */
/* フェードインアニメーションの指定*/
/* ------------------------------------------ */
.scrollanime {
  opacity: 0; }

/*一瞬表示されるのを防ぐ*/
.fadeInDown {
  animation-name: fadeInDown;
  animation-duration: 2.5s;
  animation-fill-mode: forwards; }

@keyframes fadeInDown {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    transform: translate(0); } }
/* ------------------------------------------ */
/* トラッキング */
/* ------------------------------------------ */
/* ------------------------------------------ */
/* ヘッダー */
/* ------------------------------------------ */
#header {
  margin-top: 0px;
  width: 100%;
  height: 90px;
  top: 0px;
  padding-bottom: 5px;
  position: relative;
  position: fixed;
  top: 0;
  bg-opacity: 0.3;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  z-index: 999; }

.header_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 90px;
  text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.5); }
  .header_inner .header_logo {
    max-width: 48%;
    flex-basis: 48%;
    padding-right: 39px;
    float: left;
    padding: 0 10px; }
    .header_inner .header_logo .hd_tll {
      margin-top: 0;
      font-size: 14px;
      margin-bottom: 10px; }
    .header_inner .header_logo a img.h_logo {
      max-width: 170px;
      height: 17px; }
  .header_inner .header_info {
    max-width: 48%;
    flex-basis: 48%;
    text-align: end;
    padding: 0 10px; }
    .header_inner .header_info .btn_light {
      color: #FFFFFF;
      font-size: 16px;
      font-weight: bold;
      opacity: 0.8;
      padding: 5px 40px 5px 48px;
      outline: 1px solid;
      outline-color: #707070;
      outline-offset: 0px;
      display: inline-block;
      transition: .3s;
      border-radius: 18px;
      background: #232323;
      max-width: 179px;
      text-align: center;
      position: relative;
      -webkit-tap-highlight-color: transparent; }
      .header_inner .header_info .btn_light::before {
        position: absolute;
        top: 8px;
        left: 50%;
        content: "";
        width: 15px;
        height: 20px;
        background: url("../images/mail_white.svg") no-repeat;
        background-size: 15px;
        background-position: left center;
        margin-left: -63px;
        border-radius: 18px; }
      .header_inner .header_info .btn_light:hover {
        animation: light .8s infinite;
        border-radius: 18px; }
@keyframes light {
  100% {
    outline-color: transparent;
    outline-offset: 12px; } }
@media (max-width: 767px) {
  #header {
    height: 60px; }
    #header .header_inner {
      height: 60px; }
      #header .header_inner .header_logo a img.h_logo {
        max-width: 143px !important;
        height: 14px !important; }
      #header .header_inner .header_logo .hd_tll {
        font-size: 10px;
        margin-top: 5px;
        margin-bottom: 0; }
      #header .header_inner .header_info .btn_light {
        max-width: 158px !important;
        font-size: 14px !important;
        padding: 5px 35px 5px !important;
        outline: none; }
        #header .header_inner .header_info .btn_light::before {
          top: 7px;
          margin-left: -58px; } }
/* ------------------------------------------ */
/* フッター */
/* ------------------------------------------ */
#footer {
  background: #FFFFFF;
  padding: 90px 0 115px; }
  #footer .footer_inner {
    margin: 0 auto;
    display: block;
    text-align: center; }
    #footer .footer_inner a img.f_logo {
      max-width: 265px;
      height: 26px; }
    #footer .footer_inner .f_txt {
      font-size: 14px;
      font-weight: Medium;
      color: #232323;
      padding-top: 55px; }

/* ------------------------------------------ */
/* Main_Visual */
/* ------------------------------------------ */
.Main_Visual {
  background: url("../images/main.webp") no-repeat;
  background-size: cover;
  background-position: center;
  height: 700px;
  /*----------*/ }
  .Main_Visual .mv_inner {
    margin: 0 auto;
    display: block;
    text-align: center;
    padding-top: 180px; }
    .Main_Visual .mv_inner .mv_tllh2 {
      font-size: 26px;
      font-weight: Medium;
      letter-spacing: 0.06em; }
    .Main_Visual .mv_inner .mv_tllh3 {
      font-family: 'EB Garamond', serif;
      font-size: 20px;
      font-weight: Medium;
      letter-spacing: 0.1em;
      padding-bottom: 20px; }
    .Main_Visual .mv_inner .mv_txt {
      font-size: 16px;
      line-height: 28px;
      letter-spacing: 0.06em;
      padding-bottom: 10px; }
    .Main_Visual .mv_inner .mv_txt2 {
      font-size: 16px;
      line-height: 28px;
      letter-spacing: 0.06em; }
    .Main_Visual .mv_inner img {
      padding-bottom: 20px; }
  .Main_Visual .wrapper {
    display: flex;
    margin: 20px 0; }
    .Main_Visual .wrapper .col {
      margin-left: auto; }
      .Main_Visual .wrapper .col .scroll-down-box {
        display: block;
        position: relative;
        text-decoration: none; }
        .Main_Visual .wrapper .col .scroll-down-box svg {
          fill: #FFFFFF;
          stroke-width: 1px; }
  .Main_Visual .scroll-down-box
  .scroll-down-box.alt svg {
    fill: #fff;
    background: url("../images/w_arrow.svg") no-repeat;
    background-size: 18px;
    background-position: center center; }
  .Main_Visual .scroll-down-box .scroll-text {
    width: 122px;
    height: auto;
    background: url("../images/scroll_down.svg") no-repeat;
    background-size: 122px;
    background-position: center center;
    -webkit-animation: rotation 10s infinite linear;
    animation: rotation 10s infinite linear; }
  .Main_Visual .scroll-down-box.alt .scroll-text {
    -webkit-animation: none;
    animation: none;
    background: url("../images/scroll_down.svg") no-repeat;
    background-size: 122px;
    background-position: center center; }
  .Main_Visual .scroll-down-box.alt:hover .scroll-text {
    -webkit-animation: rotation 10s infinite linear;
    animation: rotation 10s infinite linear;
    background: url("../images/scroll_down.svg") no-repeat;
    background-size: 122px;
    background-position: center center; }
  .Main_Visual .scroll-down-box .scroll-icon {
    width: 25px;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: all 0.2s ease-in;
    transition: all 0.2s ease-in;
    background: url("../images/w_arrow.svg") no-repeat;
    background-size: 18px;
    background-position: center center; }
  .Main_Visual .scroll-down-box.alt .scroll-icon {
    width: 35px; }
  .Main_Visual .scroll-down-box:hover .scroll-icon {
    -webkit-animation: move 1s infinite linear;
    animation: move 1s infinite linear; }
  .Main_Visual .scroll-down-box.alt:hover .scroll-icon {
    -webkit-animation: none;
    animation: none; }
@keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }
@-webkit-keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }
@keyframes move {
  0% {
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  25% {
    -ms-transform: translate(-50%, -35%);
    -webkit-transform: translate(-50%, -35%);
    transform: translate(-50%, -35%); }
  50% {
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  75% {
    -ms-transform: translate(-50%, -65%);
    -webkit-transform: translate(-50%, -65%);
    transform: translate(-50%, -65%); }
  100% {
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); } }
@-webkit-keyframes move {
  0% {
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  25% {
    -ms-transform: translate(-50%, -40%);
    -webkit-transform: translate(-50%, -40%);
    transform: translate(-50%, -40%); }
  50% {
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  75% {
    -ms-transform: translate(-50%, -60%);
    -webkit-transform: translate(-50%, -60%);
    transform: translate(-50%, -60%); }
  100% {
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); } }
@media screen and (max-width: 767px) {
  .Main_Visual {
    height: 686px; }
    .Main_Visual .mv_inner {
      padding-top: 160px; }
      .Main_Visual .mv_inner .mv_tllh2 {
        font-size: 18px; }

  .Main_Visual .scroll-down-box .scroll-text {
    width: 85px;
    background-size: 85px; } }
/* ------------------------------------------ */
/* mov_con */
/* ------------------------------------------ */
.mov_con {
  background: #232323;
  /*mov_con_inner*/ }
  .mov_con .mov_con_inner {
    padding: 235px 0 190px;
    position: relative; }
    .mov_con .mov_con_inner .mov_con_img {
      position: absolute;
      top: -50px;
      left: 0; }
    .mov_con .mov_con_inner .column2Wrap .columnBox .ab_tllh2 {
      font-size: 28px;
      letter-spacing: 0.06em;
      line-height: 44px;
      position: relative;
      display: block;
      padding: 80px 0 30px;
      font-family: 'ShipporiMinchoB1-OTF-Regular' !important; }
      .mov_con .mov_con_inner .column2Wrap .columnBox .ab_tllh2::before {
        content: "Made to Order in VR /";
        position: absolute;
        font-size: 16px;
        letter-spacing: 0.06em;
        border-bottom: #606060 solid 1px;
        top: 0;
        width: 100%;
        height: 50px;
        font-weight: normal; }
    .mov_con .mov_con_inner .column2Wrap .columnBox .mov_txt {
      font-size: 18px;
      letter-spacing: 0.06em;
      line-height: 30px;
      padding-bottom: 30px;
      font-weight: normal; }
    .mov_con .mov_con_inner .column2Wrap .columnBox .mov_txt2 {
      font-size: 18px;
      letter-spacing: 0.06em;
      line-height: 30px;
      padding-bottom: 75px;
      font-weight: normal; }

@media screen and (max-width: 767px) {
  .mov_con_inner {
    padding: 130px 0 !important; }
    .mov_con_inner .mov_con_img {
      top: -25px !important; }
    .mov_con_inner .mov_txt {
      letter-spacing: 0em; }
    .mov_con_inner .mov_txt2 {
      padding-bottom: 60px !important;
      letter-spacing: 0em; } }
/* ------------------------------------------ */
/* samp_con */
/* ------------------------------------------ */
.samp_container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  transition: ease-in .1s;
  max-width: 1170px !important; }
  .samp_container .samp_con {
    background: #606060;
    padding: 80px 0 120px;
    position: relative;
    top: -100px;
    margin-bottom: -100px; }
    .samp_container .samp_con .samp_inner {
      max-width: 940px;
      width: 100%;
      margin: 0 auto;
      display: block;
      padding: 0 15px;
      text-align: center; }
      .samp_container .samp_con .samp_inner .samcon_tllarea .samtxt {
        letter-spacing: 0.06em; }
      .samp_container .samp_con .samp_inner .samcon_tllarea .samtllh3 {
        font-size: 28px;
        letter-spacing: 0.06em;
        padding-bottom: 10px; }
      .samp_container .samp_con .samp_inner .samcon_tllarea .samtllh4 {
        font-size: 18px;
        letter-spacing: 0.06em;
        padding-bottom: 35px; }

@media screen and (max-width: 767px) {
  .samp_container {
    max-width: 100% !important;
    padding-left: 0;
    padding-right: 0; }
    .samp_container .samp_con .samp_inner {
      max-width: 100% !important; }
      .samp_container .samp_con .samp_inner .samcon_tllarea .samtllh3 {
        font-size: 24px; }
      .samp_container .samp_con .samp_inner .samcon_tllarea .samtllh4 {
        font-size: 16px; } }
/* ---------------------------------------------------------------- */
/* cg_con */
/* ---------------------------------------------------------------- */
.cg_container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  transition: ease-in .1s;
  max-width: 1170px !important; }
  .cg_container .cg_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%; }
    .cg_container .cg_wrapper .cg_imgbox {
      width: calc(50% - 10px); }
      .cg_container .cg_wrapper .cg_imgbox .cg_main img {
        width: 100%; }
    .cg_container .cg_wrapper .cg_txtbox {
      color: #232323;
      width: calc(50% - 10px);
      padding: 120px 0 130px;
      position: relative; }
      .cg_container .cg_wrapper .cg_txtbox .cg_sticky {
        position: sticky;
        /*固定*/
        top: 120px;
        width: 100%; }
        .cg_container .cg_wrapper .cg_txtbox .cg_sticky .cg_tll {
          font-size: 28px;
          letter-spacing: 0.06em;
          line-height: 44px;
          position: relative;
          display: block;
          padding: 80px 0 30px;
          font-weight: Medium;
          font-weight: normal; }
          .cg_container .cg_wrapper .cg_txtbox .cg_sticky .cg_tll::before {
            content: "CG production /";
            position: absolute;
            font-weight: normal;
            font-size: 16px;
            letter-spacing: 0.06em;
            border-bottom: #606060 solid 1px;
            font-weight: Medium;
            top: 0;
            width: 100%;
            height: 50px; }
        .cg_container .cg_wrapper .cg_txtbox .cg_sticky .cg_txt {
          font-size: 16px;
          letter-spacing: 0.06em;
          padding-bottom: 10px;
          font-weight: normal; }
        .cg_container .cg_wrapper .cg_txtbox .cg_sticky .cg_txt2 {
          font-size: 16px;
          letter-spacing: 0.06em;
          padding-bottom: 30px;
          font-weight: normal; }

@media screen and (max-width: 767px) {
  .cg_container {
    max-width: 100% !important;
    padding-left: 0;
    padding-right: 0; }
    .cg_container .cg_wrapper {
      flex-direction: column;
      padding: 0 15px; }
      .cg_container .cg_wrapper .cg_imgbox {
        width: 100% !important; }
        .cg_container .cg_wrapper .cg_imgbox .cg_main {
          display: none; }
      .cg_container .cg_wrapper .cg_txtbox {
        width: 100% !important;
        padding: 70px 0 30px; }
        .cg_container .cg_wrapper .cg_txtbox .cg_txt {
          letter-spacing: 0em; }
        .cg_container .cg_wrapper .cg_txtbox .cg_txt2 {
          letter-spacing: 0em; } }
/* ---------------------------------------------------------------- */
/* ad_con */
/* ---------------------------------------------------------------- */
.ad_con {
  padding: 120px 0 100px;
  color: #232323;
  position: relative;
  z-index: 0; }
  .ad_con::before {
    content: '';
    background: url("../images/merit_back.webp") no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    filter: blur(16px);
    z-index: -1; }
  .ad_con .ad_tll {
    position: relative;
    top: 0;
    left: 0%;
    margin-left: 600px; }
    .ad_con .ad_tll .ad_tllh2 {
      font-size: 28px;
      letter-spacing: 0.06em;
      line-height: 44px;
      position: relative;
      display: block;
      padding: 80px 0 30px;
      font-weight: Medium;
      font-weight: normal; }
      .ad_con .ad_tll .ad_tllh2::before {
        content: "Advantages of using VR /";
        position: absolute;
        font-weight: normal;
        font-size: 16px;
        letter-spacing: 0.06em;
        border-bottom: #606060 solid 1px;
        font-weight: Medium;
        top: 0;
        width: 100%;
        height: 50px; }
  .ad_con .ad2Wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    max-width: 940px;
    margin-right: auto;
    margin-bottom: 50px; }
    .ad_con .ad2Wrap .adimgcol {
      width: 48%; }
    .ad_con .ad2Wrap .adtxtcol {
      width: calc(50% - 10px); }
      .ad_con .ad2Wrap .adtxtcol .ad_01 {
        color: #BFBFBF;
        font-size: 80px;
        letter-spacing: 0em;
        margin: 0;
        font-weight: normal; }
      .ad_con .ad2Wrap .adtxtcol .ad_tllh4 {
        font-size: 22px;
        letter-spacing: 0.06em;
        padding-bottom: 20px;
        font-weight: normal; }
  .ad_con .ad2Wrap_R {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    max-width: 940px;
    margin-left: auto;
    margin-bottom: 50px; }
    .ad_con .ad2Wrap_R .adimgcol {
      width: 48%; }
    .ad_con .ad2Wrap_R .adtxtcol {
      width: calc(50% - 10px); }
      .ad_con .ad2Wrap_R .adtxtcol .ad_01 {
        color: #BFBFBF;
        font-size: 80px;
        letter-spacing: 0em;
        margin: 0;
        font-weight: normal; }
      .ad_con .ad2Wrap_R .adtxtcol .ad_tllh4 {
        font-size: 22px;
        letter-spacing: 0.06em;
        padding-bottom: 20px;
        font-weight: normal; }

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .ad2Wrap {
    flex-direction: column;
    max-width: 100% !important;
    margin-right: auto;
    margin-bottom: 20px; }
    .ad2Wrap .adimgcol {
      width: 100% !important; }
      .ad2Wrap .adimgcol img {
        max-width: 300px; }
    .ad2Wrap .adtxtcol {
      width: 100% !important; }
      .ad2Wrap .adtxtcol .ad_01 {
        font-size: 60px;
        padding-bottom: 0; }
      .ad2Wrap .adtxtcol .ad_tllh4 {
        font-size: 18px;
        letter-spacing: 0em; }

  .ad2Wrap_R {
    flex-direction: column;
    max-width: 100% !important;
    margin-right: auto;
    margin-bottom: 20px; }
    .ad2Wrap_R .adimgcol {
      width: 100% !important; }
      .ad2Wrap_R .adimgcol img {
        max-width: 300px; }
    .ad2Wrap_R .adtxtcol {
      width: 100% !important; }
      .ad2Wrap_R .adtxtcol .ad_01 {
        font-size: 60px;
        padding-bottom: 0; }
      .ad2Wrap_R .adtxtcol .ad_tllh4 {
        font-size: 18px;
        letter-spacing: 0em; } }
@media screen and (max-width: 767px) {
  .ad_con {
    padding: 80px 0 65px; }
    .ad_con .ad_tll {
      left: 0;
      margin-left: 0px !important;
      padding: 0 15px; }
      .ad_con .ad_tll .ad_tllh2 {
        font-size: 24px; }
    .ad_con .ad2Wrap {
      flex-direction: column;
      max-width: 100% !important;
      margin-right: auto;
      margin-bottom: 20px; }
      .ad_con .ad2Wrap .adimgcol {
        width: 100% !important; }
        .ad_con .ad2Wrap .adimgcol img {
          max-width: 300px; }
      .ad_con .ad2Wrap .adtxtcol {
        width: 100% !important; }
        .ad_con .ad2Wrap .adtxtcol .ad_01 {
          font-size: 60px;
          padding-bottom: 0; }
        .ad_con .ad2Wrap .adtxtcol .ad_tllh4 {
          font-size: 18px;
          letter-spacing: 0em; }
    .ad_con .ad2Wrap_R {
      flex-direction: column;
      max-width: 100% !important;
      margin-right: auto;
      margin-bottom: 20px; }
      .ad_con .ad2Wrap_R .adimgcol {
        width: 100% !important; }
        .ad_con .ad2Wrap_R .adimgcol img {
          max-width: 300px; }
      .ad_con .ad2Wrap_R .adtxtcol {
        width: 100% !important; }
        .ad_con .ad2Wrap_R .adtxtcol .ad_01 {
          font-size: 60px;
          padding-bottom: 0; }
        .ad_con .ad2Wrap_R .adtxtcol .ad_tllh4 {
          font-size: 18px;
          letter-spacing: 0em; } }
/* ---------------------------------------------------------------- */
/* wc_con */
/* ---------------------------------------------------------------- */
.wc_con {
  padding: 120px 0 25px;
  color: #232323; }
  .wc_con .wc_tllh2 {
    font-size: 28px;
    letter-spacing: 0.06em;
    line-height: 44px;
    position: relative;
    display: block;
    padding: 80px 0 30px;
    font-weight: Medium;
    font-weight: normal; }
    .wc_con .wc_tllh2::before {
      content: "Why Choose Us /";
      position: absolute;
      font-weight: normal;
      font-size: 16px;
      letter-spacing: 0.06em;
      border-bottom: #606060 solid 1px;
      font-weight: Medium;
      top: 0;
      width: 100%;
      height: 50px; }
  .wc_con .wc3Wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    padding: 0 15px; }
    .wc_con .wc3Wrap .wc_col {
      flex-basis: calc( ( 100% - ( 25px * ( 3 - 1) ) ) / 3 );
      max-width: calc( ( 100% - ( 25px * ( 3 - 1) ) ) / 3 );
      margin: 0 auto;
      padding: 0 10px; }
      .wc_con .wc3Wrap .wc_col .wc_imgbox {
        width: 100%;
        height: 105px;
        /*高さを決める*/
        display: flex;
        align-items: center;
        /*中央に揃える*/ }
        .wc_con .wc3Wrap .wc_col .wc_imgbox img {
          margin: 0 auto;
          display: block !important;
          /*中央に揃える*/
          text-align: center;
          /*中央に揃える*/ }
      .wc_con .wc3Wrap .wc_col .wc_txtbox .wc_tllh6 {
        color: #BFBFBF;
        font-size: 16px;
        letter-spacing: 0.06em;
        text-align: center; }
      .wc_con .wc3Wrap .wc_col .wc_txtbox .wc_txt {
        font-size: 16px;
        text-align: center; }
    .wc_con .wc3Wrap .wc_col2 {
      flex-basis: calc( ( 100% - ( 25px * ( 3 - 1) ) ) / 3 );
      max-width: calc( ( 100% - ( 25px * ( 3 - 1) ) ) / 3 );
      margin: 0 auto;
      border-left: #BFBFBF solid 1px;
      border-right: #BFBFBF solid 1px;
      padding: 0 10px; }
      .wc_con .wc3Wrap .wc_col2 .wc_imgbox {
        width: 100%;
        height: 105px;
        /*高さを決める*/
        display: flex;
        align-items: center;
        /*中央に揃える*/ }
        .wc_con .wc3Wrap .wc_col2 .wc_imgbox img {
          margin: 0 auto;
          display: block !important;
          /*中央に揃える*/
          text-align: center;
          /*中央に揃える*/ }
      .wc_con .wc3Wrap .wc_col2 .wc_txtbox .wc_tllh6 {
        color: #BFBFBF;
        font-size: 16px;
        letter-spacing: 0.06em;
        text-align: center; }
      .wc_con .wc3Wrap .wc_col2 .wc_txtbox .wc_txt {
        font-size: 16px;
        text-align: center;
        font-weight: normal; }

@media screen and (max-width: 767px) {
  .wc_con {
    padding: 70px 0 0px; }
    .wc_con .wc_tllh2 {
      font-size: 24px; }
    .wc_con .wc3Wrap {
      flex-direction: column;
      padding: 0; }
      .wc_con .wc3Wrap .wc_col {
        flex-basis: 100%;
        max-width: 100%;
        display: flex;
        justify-content: space-between;
        flex-flow: wrap;
        margin: 0;
        padding: 20px 0 0 !important; }
        .wc_con .wc3Wrap .wc_col .wc_imgbox {
          flex-basis: 125px;
          max-width: 125px; }
        .wc_con .wc3Wrap .wc_col .wc_txtbox {
          flex-basis: calc(100% - 125px);
          max-width: calc(100% - 125px); }
          .wc_con .wc3Wrap .wc_col .wc_txtbox .wc_tllh6 {
            text-align: left; }
          .wc_con .wc3Wrap .wc_col .wc_txtbox .wc_txt {
            font-size: 14px;
            text-align: left !important; }
      .wc_con .wc3Wrap .wc_col2 {
        flex-basis: 100%;
        max-width: 100%;
        border-left: none;
        border-right: none;
        border-top: #BFBFBF solid 1px;
        border-bottom: #BFBFBF solid 1px;
        padding: 0;
        display: flex;
        justify-content: space-between;
        flex-flow: wrap;
        padding-top: 20px;
        margin: 0; }
        .wc_con .wc3Wrap .wc_col2 .wc_imgbox {
          flex-basis: 125px;
          max-width: 125px; }
        .wc_con .wc3Wrap .wc_col2 .wc_txtbox {
          flex-basis: calc(100% - 125px);
          max-width: calc(100% - 125px); }
          .wc_con .wc3Wrap .wc_col2 .wc_txtbox .wc_tllh6 {
            text-align: left; }
          .wc_con .wc3Wrap .wc_col2 .wc_txtbox .wc_txt {
            font-size: 14px;
            text-align: left !important; } }
/* ---------------------------------------------------------------- */
/* wu_com */
/* ---------------------------------------------------------------- */
.wu_com {
  background: #606060;
  padding: 40px 0 140px; }
  .wu_com .wu_imgbox {
    width: 100%;
    height: 75px;
    /*高さを決める*/
    display: flex;
    align-items: center;
    /*中央に揃える*/ }
    .wu_com .wu_imgbox img {
      margin: 0 auto;
      display: block !important;
      /*中央に揃える*/
      text-align: center;
      /*中央に揃える*/ }
  .wu_com .wu_txtbox .wu_tllh6 {
    color: #BFBFBF;
    font-size: 16px;
    letter-spacing: 0.06em;
    text-align: center; }
  .wu_com .wu_txtbox .wu_txt {
    font-size: 16px;
    text-align: center; }
  .wu_com .borle {
    border-left: #BFBFBF solid 1px; }

@media screen and (max-width: 767px) {
  .wu_col {
    display: flex;
    justify-content: space-between; }
    .wu_col .wu_imgbox {
      flex-basis: 125px !important;
      max-width: 125px; }
      .wu_col .wu_imgbox img {
        padding-top: 40px; }
    .wu_col .wu_txtbox {
      flex-basis: calc(100% - 125px) !important;
      max-width: calc(100% - 125px); }
      .wu_col .wu_txtbox .wu_tllh6 {
        text-align: left; }
      .wu_col .wu_txtbox .wu_txt {
        font-size: 14px;
        text-align: left !important; }

  .borle {
    border-left: none !important;
    border-top: #BFBFBF solid 1px;
    display: flex;
    justify-content: space-between;
    padding-top: 20px; }
    .borle .wu_imgbox {
      flex-basis: 125px !important;
      max-width: 125px; }
      .borle .wu_imgbox img {
        padding-top: 40px; }
    .borle .wu_txtbox {
      flex-basis: calc(100% - 125px) !important;
      max-width: calc(100% - 125px); }
      .borle .wu_txtbox .wu_tllh6 {
        text-align: left; }
      .borle .wu_txtbox .wu_txt {
        font-size: 14px;
        text-align: left !important; } }
/* ---------------------------------------------------------------- */
/* as_re */
/* ---------------------------------------------------------------- */
.as_re {
  width: 100%;
  max-width: 940px;
  margin-right: auto;
  margin-left: auto;
  transition: ease-in .1s;
  background: #FFFFFF;
  position: relative;
  top: -140px;
  margin-bottom: -140px;
  padding: 65px 15px 25px 15px; }
  .as_re .ar_txt {
    font-size: 22px;
    letter-spacing: 0.06em;
    line-height: 44px;
    color: #232323;
    text-align: center;
    padding-bottom: 30px;
    position: relative; }
    .as_re .ar_txt::before {
      content: "";
      position: absolute;
      bottom: 10px;
      display: inline-block;
      width: 30px;
      height: 1px;
      transform: translateX(-50%);
      background: #606060;
      left: 50%; }
  .as_re .ar_txt2 {
    font-size: 20px;
    letter-spacing: 0.06em;
    line-height: 40px;
    color: #232323;
    text-align: center; }

@media screen and (max-width: 767px) {
  .as_re {
    max-width: 345px;
    padding: 65px 15px 25px 15px; }
    .as_re .ar_txt {
      font-size: 18px;
      letter-spacing: 0em;
      line-height: 30px; }
    .as_re .ar_txt2 {
      font-size: 16px;
      letter-spacing: 0em;
      line-height: 26px; } }
/* ---------------------------------------------------------------- */
/* wf_con */
/* ---------------------------------------------------------------- */
.wf_con {
  background: #FFFFFF;
  /*./wf_inner*/
  /*./vr_wf*/ }
  .wf_con img.wf_img_pc {
    padding-bottom: 60px; }
  .wf_con .wf_inner {
    margin: 0 auto;
    display: block;
    text-align: center;
    padding-bottom: 90px; }
    .wf_con .wf_inner .wf_tll {
      color: #BFBFBF;
      font-size: 60px;
      letter-spacing: 0.06em;
      line-height: 80px;
      font-family: 'EB Garamond', serif;
      font-weight: Medium;
      font-weight: normal; }
    .wf_con .wf_inner .wf_txt {
      color: #232323;
      letter-spacing: 0.06em;
      line-height: 28px; }
    .wf_con .wf_inner .wf_btn {
      color: #FFFFFF;
      font-size: 18px;
      font-weight: Medium;
      opacity: 0.8;
      padding: 20px 140px 20px 130px;
      outline: 1px solid;
      outline-color: #707070;
      outline-offset: 0px;
      display: inline-block;
      transition: .3s;
      border-radius: 53px;
      background: #606060;
      max-width: 543px;
      text-align: center;
      position: relative;
      -webkit-tap-highlight-color: transparent; }
      .wf_con .wf_inner .wf_btn::before {
        position: absolute;
        top: 26px;
        left: 50%;
        content: "";
        width: 35px;
        height: 15px;
        background: #606060 url("../images/arrow_white.svg") no-repeat;
        background-size: 35px;
        background-position: left center;
        margin-left: 125px;
        border-radius: 53px; }
      .wf_con .wf_inner .wf_btn:hover {
        animation: light .8s infinite;
        border-radius: 53px; }
@keyframes light {
  100% {
    outline-color: transparent;
    outline-offset: 12px; } }
  .wf_con .vr_wf {
    /*./wf2Wrap*/ }
    .wf_con .vr_wf .wf_tllh2 {
      font-size: 28px;
      letter-spacing: 0.06em;
      line-height: 44px;
      position: relative;
      display: block;
      padding: 80px 0 30px;
      font-weight: Medium;
      font-weight: normal;
      color: #232323; }
      .wf_con .vr_wf .wf_tllh2::before {
        content: "Work Flow /";
        position: absolute;
        font-weight: normal;
        font-size: 16px;
        letter-spacing: 0.06em;
        border-bottom: #606060 solid 1px;
        font-weight: Medium;
        top: 0;
        width: 100%;
        height: 50px;
        color: #232323; }
    .wf_con .vr_wf .wf2Wrap {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-bottom: 0; }
      .wf_con .vr_wf .wf2Wrap .wf_imgbox {
        flex-basis: 300px;
        max-width: 300px; }
      .wf_con .vr_wf .wf2Wrap .wf_txtbox {
        flex-basis: calc( 100% - 360px );
        max-width: calc( 100% - 360px );
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .wf_con .vr_wf .wf2Wrap .wf_txtbox .wf_tllbox {
          flex-basis: 100px;
          max-width: 100px; }
          .wf_con .vr_wf .wf2Wrap .wf_txtbox .wf_tllbox .wf_tllh3 {
            font-size: 22px;
            font-weight: Regular;
            color: #232323;
            position: relative;
            display: inline-block;
            padding-bottom: 135px; }
            .wf_con .vr_wf .wf2Wrap .wf_txtbox .wf_tllbox .wf_tllh3::after {
              content: '';
              position: absolute;
              left: 0;
              right: 0;
              bottom: 0;
              width: 1px;
              height: 130px;
              margin: auto;
              background-color: #BFBFBF; }
        .wf_con .vr_wf .wf2Wrap .wf_txtbox .wf_txtarea {
          flex-basis: calc( 100% - 140px );
          max-width: calc( 100% - 140px );
          font-weight: Medium;
          font-weight: normal; }
          .wf_con .vr_wf .wf2Wrap .wf_txtbox .wf_txtarea .wf_tllh4 {
            font-size: 22px;
            letter-spacing: 0.06em;
            line-height: 28px;
            color: #232323;
            padding-bottom: 15px; }
          .wf_con .vr_wf .wf2Wrap .wf_txtbox .wf_txtarea .wf_txt2 {
            font-weight: Medium;
            line-height: 28px;
            color: #232323; }
  .wf_con .vrwf_inner {
    margin: 0 auto;
    display: block;
    color: #232323;
    text-align: center;
    padding: 30px 0 40px; }
    .wf_con .vrwf_inner .vr_tll {
      font-size: 24px;
      letter-spacing: 0.06em;
      line-height: 44px;
      font-weight: Medium; }
    .wf_con .vrwf_inner .vr_txt {
      font-size: 20px;
      letter-spacing: 0.06em;
      line-height: 40px; }

/*./wf_con*/
.stp5::after {
  display: none; }

@media screen and (max-width: 767px) {
  .wf_con img.wf_img_sp {
    margin: 0 auto; }
  .wf_con .wf_inner .wf_tll {
    font-size: 46px; }
  .wf_con .wf_inner .wf_txt {
    font-size: 16px;
    line-height: 26px; }
  .wf_con .wf_inner .wf_btn {
    max-width: 345px;
    padding: 15px 90px 15px 45px;
    font-size: 16px;
    outline: none; }
    .wf_con .wf_inner .wf_btn::before {
      top: 19px;
      margin-left: 86px; }
  .wf_con .vr_wf .wf2Wrap {
    flex-direction: column;
    margin-bottom: 85px; }
    .wf_con .vr_wf .wf2Wrap .wf_imgbox {
      flex-basis: 100%;
      max-width: 100%; }
      .wf_con .vr_wf .wf2Wrap .wf_imgbox img {
        margin: 0 auto;
        display: block;
        padding-bottom: 30px; }
    .wf_con .vr_wf .wf2Wrap .wf_txtbox {
      flex-basis: 100%;
      max-width: 100%;
      flex-direction: column; }
      .wf_con .vr_wf .wf2Wrap .wf_txtbox .wf_tllbox {
        flex-basis: 100%;
        max-width: 100%; }
        .wf_con .vr_wf .wf2Wrap .wf_txtbox .wf_tllbox .wf_tllh3 {
          padding-bottom: 0; }
          .wf_con .vr_wf .wf2Wrap .wf_txtbox .wf_tllbox .wf_tllh3::after {
            height: 60px;
            bottom: -200px;
            margin-left: 20px; }
      .wf_con .vr_wf .wf2Wrap .wf_txtbox .wf_txtarea {
        flex-basis: 100%;
        max-width: 100%; }
        .wf_con .vr_wf .wf2Wrap .wf_txtbox .wf_txtarea .wf_tllh4 {
          padding-bottom: 0; }
  .wf_con .vrwf_inner {
    padding-top: -15px; }
    .wf_con .vrwf_inner .vr_tll {
      font-size: 20px;
      letter-spacing: 0em;
      line-height: 30px; }
    .wf_con .vrwf_inner .vr_txt {
      line-height: 26px;
      letter-spacing: 0em;
      font-size: 16px; }

  .stp2::after {
    bottom: -250px !important; }

  .stp4::after {
    bottom: -170px !important; }

  .stp5::after {
    display: none; } }
/* ---------------------------------------------------------------- */
/* bgtwo_con */
/* ---------------------------------------------------------------- */
.bgtwo_con {
  padding: 70px 0 110px;
  background: linear-gradient(180deg, #606060 0%, #606060 50%, #FFFFFF 50%, #FFFFFF 100%);
  position: relative;
  z-index: 0; }
  .bgtwo_con::before {
    content: "";
    background: linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 50%, #F0F0F0 50%, #F0F0F0 100%);
    position: absolute;
    top: 316px;
    left: 0;
    width: 100%;
    height: 425px;
    z-index: -1; }
  .bgtwo_con .bt2 {
    padding-top: 40px; }
  .bgtwo_con .bt3 {
    padding-top: 80px; }
  .bgtwo_con .bt2Wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 20px; }
    .bgtwo_con .bt2Wrap .btcol {
      flex-basis: calc( ( 100% - ( 30px * ( 2 - 1) ) ) / 2 );
      max-width: calc( ( 100% - ( 30px * ( 2 - 1) ) ) / 2 );
      margin: 0 auto; }
  .bgtwo_con .bgtwo_inner {
    padding-bottom: 100px;
    text-align: center;
    color: #232323; }
    .bgtwo_con .bgtwo_inner .bt_txt {
      font-size: 22px;
      letter-spacing: 0.06em;
      line-height: 40px;
      font-weight: Medium; }
    .bgtwo_con .bgtwo_inner .bt_txt2 {
      font-size: 20px;
      letter-spacing: 0.06em;
      line-height: 40px;
      font-weight: Medium; }
  .bgtwo_con .bgtwo_area {
    color: #232323;
    text-align: center; }
    .bgtwo_con .bgtwo_area .bt_tll {
      font-size: 26px;
      letter-spacing: 0.06em;
      line-height: 50px;
      font-weight: Medium; }
    .bgtwo_con .bgtwo_area .bt_txt3 {
      font-size: 16px;
      letter-spacing: 0em;
      line-height: 28px;
      font-weight: Medium; }

@media screen and (max-width: 767px) {
  .bgtwo_con {
    background: linear-gradient(#606060 0% 18%, #F0F0F0 18% 82%); }
    .bgtwo_con .bgtwo_inner .bt_txt {
      font-size: 18px;
      letter-spacing: 0em;
      line-height: 30px;
      font-weight: Medium; }
    .bgtwo_con .bgtwo_inner .bt_txt2 {
      font-size: 16px;
      letter-spacing: 0em;
      line-height: 26px;
      font-weight: Medium; }
    .bgtwo_con .bgtwo_area .bt_tll {
      font-size: 22px;
      letter-spacing: 0.06em;
      line-height: 40px;
      font-weight: Medium; }
    .bgtwo_con .bgtwo_area .bt_txt3 {
      font-size: 14px;
      letter-spacing: 0em;
      line-height: 26px;
      font-weight: Medium; } }
/* ---------------------------------------------------------------- */
/* ct_con */
/* ---------------------------------------------------------------- */
.ct_con {
  background: url("../images/contact.png") no-repeat;
  background-position: center center;
  background-size: cover;
  height: auto;
  color: #FFFFFF;
  overflow: hidden;
  width: 100%; }
  .ct_con .ct_blue {
    background: rgba(90, 88, 103, 0.3);
    height: 360px;
    display: flex;
    flex-wrap: wrap;
    align-content: center; }
    .ct_con .ct_blue .ct_con_inner {
      width: 100%;
      margin-right: auto;
      margin-left: auto;
      padding-left: 15px;
      padding-right: 15px;
      transition: ease-in .1s;
      max-width: 940px !important;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      .ct_con .ct_blue .ct_con_inner .ct_con_txt .ct_conh2 {
        font-size: 60px;
        font-feature-settings: 60px;
        margin: 0 auto; }
      .ct_con .ct_blue .ct_con_inner .ct_con_txt p {
        font-weight: Medium;
        font-weight: normal;
        margin: 0 auto; }
      .ct_con .ct_blue .ct_con_inner .ct_con_btn {
        margin-left: auto;
        margin-right: 0; }
        .ct_con .ct_blue .ct_con_inner .ct_con_btn .btn_Wlight {
          color: #232323;
          font-size: 18px;
          font-weight: Medium;
          padding: 25px 170px 25px 170px;
          outline: 1px solid;
          outline-color: #707070;
          outline-offset: 0px;
          display: inline-block;
          transition: .3s;
          display: inline-flex;
          border-radius: 53px;
          background: #FFFFFF;
          text-align: center;
          width: 100%;
          max-width: 457px;
          position: relative;
          overflow: hidden;
          -webkit-tap-highlight-color: transparent; }
          .ct_con .ct_blue .ct_con_inner .ct_con_btn .btn_Wlight::before {
            position: absolute;
            top: 27px;
            left: 50%;
            margin-left: -75px;
            content: "";
            width: 23px;
            height: 26px;
            background: url("../images/mail_b.svg") no-repeat;
            background-size: 19px;
            background-position: left center;
            border-radius: 53px; }
          .ct_con .ct_blue .ct_con_inner .ct_con_btn .btn_Wlight:hover {
            animation: light .8s infinite;
            border-radius: 53px; }
@keyframes light {
  100% {
    outline-color: transparent;
    outline-offset: 12px; } }
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .ct_con_inner {
    flex-direction: column; } }
@media screen and (max-width: 767px) {
  .ct_con {
    background: url("../images/footer_contact.webp") no-repeat;
    background-position: center center;
    background-size: cover; }
    .ct_con .ct_con_inner {
      flex-direction: column;
      max-width: 100% !important; }
      .ct_con .ct_con_inner .ct_con_txt {
        padding-bottom: 35px; }
        .ct_con .ct_con_inner .ct_con_txt .ct_conh2 {
          font-size: 46px !important; }
      .ct_con .ct_con_inner .ct_con_btn {
        margin-left: 0 !important; }
        .ct_con .ct_con_inner .ct_con_btn .btn_Wlight {
          font-size: 18px !important;
          padding: 21px 120px 21px 120px !important;
          max-width: 345px !important;
          background-position: left center !important;
          outline: none; }
          .ct_con .ct_con_inner .ct_con_btn .btn_Wlight::before {
            top: 23px !important;
            margin-left: -80px !important; } }
/* ---------------------------- */
/* フォームエレメント */
/* ---------------------------- */
.contactPage,
.thanksPage {
  margin-top: 140px;
  font-family: 'ShipporiMinchoB1-OTF-Medium';
  color: #232323; }
  .contactPage h2,
  .thanksPage h2 {
    margin-bottom: 20px;
    text-align: center;
    font-family: 'ShipporiMinchoB1-OTF-Medium';
    font-weight: 700; }
  .contactPage .telLink,
  .thanksPage .telLink {
    color: #232323;
    text-decoration: none; }
    .contactPage .telLink:hover,
    .thanksPage .telLink:hover {
      opacity: 0.8; }
  .contactPage .textCenter,
  .thanksPage .textCenter {
    text-align: center; }
  .contactPage .btnWrap,
  .thanksPage .btnWrap {
    text-align: center;
    margin-top: 30px; }
  .contactPage input[type="submit"],
  .contactPage input[type="reset"],
  .contactPage input[type="button"],
  .contactPage .btn_light,
  .thanksPage input[type="submit"],
  .thanksPage input[type="reset"],
  .thanksPage input[type="button"],
  .thanksPage .btn_light {
    padding: 20px 100px;
    margin: 0 10px;
    background: #232323;
    outline: 1px solid;
    outline-color: #707070;
    outline-offset: 0px;
    transition: .3s;
    border-radius: 40px;
    position: relative;
    max-width: 345px;
    color: #FFFFFF;
    border: none;
    -webkit-tap-highlight-color: transparent; }
    .contactPage input[type="submit"]:hover,
    .contactPage input[type="reset"]:hover,
    .contactPage input[type="button"]:hover,
    .contactPage .btn_light:hover,
    .thanksPage input[type="submit"]:hover,
    .thanksPage input[type="reset"]:hover,
    .thanksPage input[type="button"]:hover,
    .thanksPage .btn_light:hover {
      animation: light .8s infinite;
      border-radius: 40px; }
@keyframes light {
  100% {
    outline-color: transparent;
    outline-offset: 12px; } }
  .contactPage.returnBtn,
  .thanksPage.returnBtn {
    padding: 20px 100px;
    margin: 0 10px;
    background: #232323;
    outline: 1px solid;
    outline-color: #707070;
    outline-offset: 0px;
    transition: .3s;
    border-radius: 40px;
    position: relative;
    max-width: 345px;
    color: #FFFFFF;
    border: none;
    -webkit-tap-highlight-color: transparent; }
    .contactPage.returnBtn:hover,
    .thanksPage.returnBtn:hover {
      animation: light .8s infinite;
      border-radius: 40px; }
@keyframes light {
  100% {
    outline-color: transparent;
    outline-offset: 12px; } }
input[type="reset"] {
  margin-top: 30px; }

.contactForm form {
  margin-top: 20px; }
  .contactForm form table {
    width: 100%;
    border-top: 1px dotted #fff;
    border-collapse: collapse; }
    .contactForm form table th, .contactForm form table td {
      padding: 10px;
      display: block;
      border-bottom: 1px dotted #fff;
      font-size: 16px; }
    .contactForm form table th {
      width: 100%;
      text-align: left;
      font-weight: bold;
      color: #ffffff;
      background-color: #232323; }
    .contactForm form table td {
      width: 100%;
      padding: 10px 0; }
      .contactForm form table td input {
        width: 100%;
        height: 35px; }
      .contactForm form table td input[type="radio"] {
        width: auto;
        height: auto;
        margin-right: 5px; }
        .contactForm form table td input[type="radio"] + input[type="radio"] {
          margin-left: 10px; }
      .contactForm form table td input[type="checkbox"] {
        margin-right: 5px; }
        .contactForm form table td input[type="checkbox"] + input[type="checkbox"] {
          margin-left: 10px; }
    .contactForm form table span {
      color: #ED263E; }
    .contactForm form table input, .contactForm form table select {
      padding: 5px; }
    .contactForm form table textarea {
      width: 100%;
      height: 100px;
      padding: 5px;
      border: 1px solid #ECEAE6; }
.contactForm span.att {
  color: #ED263E;
  padding: 2px 5px;
  vertical-align: middle;
  font-size: 12px;
  font-weight: bold; }
.contactForm .ninni {
  padding: 2px 5px;
  background-color: #ddd;
  font-size: 12px;
  margin-left: 5px;
  color: #707070; }
.contactForm input[type=text] {
  border: 1px solid #ECEAE6;
  width: 100%;
  height: 2em;
  padding: 0;
  resize: none; }
.contactForm input[type=text]:focus {
  border: solid 1px #ECEAE6; }
.contactForm input[type=text], .contactForm select {
  outline: 0;
  padding: 0 10px; }

@media print, screen and (min-width: 767px) {
  margin-top: 170px;
  .confirmBtnWrap {
    max-width: 710px;
    width: 100%;
    margin: 30px auto;
    display: flex;
    justify-content: space-between; }
    .confirmBtnWrap input {
      flex-basis: 48%;
      max-width: 48%;
      width: 100%;
      margin: 0; }
      .confirmBtnWrap input.returnBtn {
        margin: 0 0 0 auto; }

  input[type="reset"] {
    margin-top: 0; }

  .contactForm form table th, .contactForm form table td {
    width: auto;
    display: table-cell; }
  .contactForm form table th {
    width: 280px; }
  .contactForm form table td {
    width: 440px;
    padding: 10px; }
    .contactForm form table td input {
      width: auto;
      height: auto; }
  .contactForm form table textarea {
    width: 500px; }

  .btn_light {
    outline: none; }
    .btn_light.returnBtn {
      outline: none; } }
/* ---------------------------------------------------------------- */
/* フォーム設定 */
/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */
/* フォームナビ */
/* ---------------------------- */
ul.formFlow {
  display: flex;
  height: 40px;
  align-items: center;
  justify-content: center;
  margin: 0 0 30px;
  padding: 0; }
  ul.formFlow li {
    display: inline-flex;
    justify-content: center;
    flex-basis: 33.333%;
    background: #EEEEEE;
    color: #232323;
    list-style: none;
    padding: 0;
    margin: 0 !important;
    height: 100%;
    font-size: 14px;
    align-items: center;
    position: relative; }
    ul.formFlow li:before {
      display: none; }
    ul.formFlow li.active {
      background: #232323;
      color: #fff;
      position: relative; }
      ul.formFlow li.active:after {
        position: absolute;
        content: '';
        right: -35px;
        top: 0;
        z-index: 1;
        width: 0;
        height: 0;
        border: 20px solid transparent;
        border-left: 15px solid #232323; }
    ul.formFlow li.second.active:before {
      position: absolute;
      content: '';
      left: 0;
      top: 0;
      z-index: 3;
      width: 0;
      height: 0;
      border: 20px solid transparent;
      border-left: 15px solid #232323; }
    ul.formFlow li.third.active {
      background: #232323 !important;
      color: #fff; }
      ul.formFlow li.third.active:after {
        display: none; }
      ul.formFlow li.third.active:before {
        background: none;
        display: inline;
        position: absolute;
        content: '';
        left: 0;
        top: 0;
        z-index: 2;
        width: 0;
        height: 0;
        border-radius: 0;
        border: 20px solid transparent;
        border-left: 15px solid #232323; }
