@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: none;
}

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

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}

.clearfix {
  display: inline-block;
}

/* Hides from IE Mac */
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/* ---------- 初期 ---------- */
body {
  letter-spacing: 0;
  font-family: "Zenkakugo", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  -webkit-text-size-adjust: 100%;
  color: #333333;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 0;
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none;
}

a {
  text-decoration: none;
}

strong {
  font-weight: bold;
}

/* ---------- /共通部分 ---------- */
#jougetyuou {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto;
}

#kadomaru {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
}

#resbtn {
  -webkit-appearance: none;
}

.ancr {
  position: relative;
  transition: 0.5s;
}

.anca {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 10;
  cursor: pointer;
}

.ancr:hover {
  opacity: 0.75;
  transition: 0.5s;
  cursor: pointer;
}

/* ---------- /参考タグ部分 ---------- */
@font-face {
  font-family: "Zenkakugo";
  src: url("../font/ZenKakuGothicNew-Regular.ttf") format("truetype");
  font-weight: 400;
}
@font-face {
  font-family: "Zenkakugo";
  src: url("../font/ZenKakuGothicNew-Bold.ttf") format("truetype");
  font-weight: 700;
}
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.logos {
  transition: opacity 0.2s ease;
}

.font_Din {
  font-family: "din-2014", sans-serif;
  font-style: normal;
}

.font_Zen {
  font-family: "Zenkakugo", sans-serif;
  font-style: normal;
}

.font_DinNar {
  font-family: "din-2014-narrow", sans-serif;
  font-style: normal;
}

.font_Gennokaku {
  font-family: "source-han-sans-jp-variable", sans-serif;
}

.font_Mont {
  font-family: "Montserrat", serif;
}

.wrap {
  display: flex;
  justify-content: space-between;
}

.belt .scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.belt .scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}
.belt .scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.belt .scroll-infinity__item {
  margin-right: 32rem;
  width: 16.6666666667vw;
}
.belt .scroll-infinity__item > img {
  width: 100%;
}
.belt .l1 {
  width: 298rem;
}
.belt .l2 {
  width: 80rem;
}
.belt .l3 {
  width: 285rem;
}
.belt .l4 {
  width: 80rem;
}
.belt .l5 {
  width: 230rem;
}
.belt .l6 {
  width: 80rem;
}

@keyframes huwari {
  0% {
    transform: translateY(0);
    opacity: 0;
  }
  40% {
    transform: translateY(-10rem);
    opacity: 1;
  }
  100% {
    transform: translateY(0%);
    opacity: 1;
  }
}
.huwari2 {
  opacity: 0;
}

.huwari {
  animation-name: huwari;
  animation-duration: 0.7s;
  animation-delay: 0.3s;
  animation-fill-mode: forwards;
}

/* PC */
@media screen and (min-width: 769px) {
  html {
    font-size: 0.078125vw;
  }
  .sponly {
    display: none !important;
  }
  body {
    background: #FCFCFC;
  }
  a.btn01 {
    display: inline-block;
    width: 284rem;
    font-size: 14rem;
    padding: 1em 0;
    text-align: center;
    font-variation-settings: "wght" 700;
    color: #fff;
    box-sizing: border-box;
    border: solid 2rem #333333;
    border-radius: 100rem;
    transition: 0.3s;
    line-height: 1;
    position: relative;
    background: url("../img/arr_01.png") no-repeat #333333;
    background-size: 17rem;
    background-position: center right 13rem;
  }
  a.btn01:hover {
    color: #333333;
    background-color: #fff;
    background-image: url("../img/arr_01_on.png");
    transition: 0.3s;
  }
  header .inner {
    width: 100%;
    box-sizing: border-box;
    padding: 0 40rem 0 34rem;
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 20;
  }
  header .inner .logo {
    width: 139rem;
    padding-top: 54rem;
    background: #FCFCFC;
  }
  header .inner .header_right {
    padding-top: 52rem;
    background: #FCFCFC;
  }
  header .inner .header_right .header_nav {
    width: 610rem;
    height: 52rem;
    box-sizing: border-box;
    padding: 8rem 7rem 8rem 37rem;
    border: solid 3rem #1A1A1A;
    border-radius: 100rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #FCFCFC;
  }
  header .inner .header_right .header_nav ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  header .inner .header_right .header_nav ul li {
    font-size: 12rem;
    line-height: 1.25em;
    font-weight: bold;
    margin-right: 16rem;
  }
  header .inner .header_right .header_nav ul li:last-child {
    margin-right: 0;
  }
  header .inner .header_right .header_nav ul li:nth-child(4) {
    font-size: 11rem;
  }
  header .inner .header_right .header_nav ul li a {
    display: block;
    color: #1A1A1A;
  }
  header .inner .header_right .header_nav ul li a:hover {
    text-decoration: underline;
  }
  header .inner .header_right .header_nav .header_btn {
    width: 228rem;
    display: flex;
    justify-content: space-between;
  }
  header .inner .header_right .header_nav .header_btn a {
    display: block;
    width: 110rem;
    height: 36rem;
    font-size: 12rem;
    line-height: 34rem;
    font-variation-settings: "wght" 700;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    border: solid 1rem;
    border-radius: 100rem;
    transition: 0.3s;
  }
  header .inner .header_right .header_nav .header_btn a.contact {
    background: #1769F4;
    border-color: #1769F4;
  }
  header .inner .header_right .header_nav .header_btn a.contact:hover {
    background: #FCFCFC;
    color: #1769F4;
  }
  header .inner .header_right .header_nav .header_btn a.signin {
    background: #1A1A1A;
    border-color: #1A1A1A;
  }
  header .inner .header_right .header_nav .header_btn a.signin:hover {
    background: #FCFCFC;
    color: #1A1A1A;
  }
  header .float_header {
    width: 100%;
    box-sizing: border-box;
    padding: 54rem 40rem 0 45rem;
    display: flex;
    justify-content: space-between;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
  }
  header .float_header .logo {
    width: 90rem;
    position: fixed;
    left: 79rem;
    top: 42rem;
    z-index: 19;
  }
  header .float_header .me_check {
    display: none;
  }
  header .float_header .me_check:checked + .me_label {
    background-image: url("../img/icon_menu03.png");
  }
  header .float_header .me_check:checked + .me_label + .me_inner {
    display: block;
  }
  header .float_header .me_label {
    display: block;
    position: fixed;
    top: 52rem;
    right: 70rem;
    width: 52rem;
    height: 52rem;
    background: url("../img/icon_menu01.png") no-repeat center;
    background-size: contain;
    z-index: 11;
  }
  header .float_header .me_label:hover {
    background-image: url("../img/icon_menu02.png");
  }
  header .float_header .me_inner {
    display: none;
    padding-top: 130rem;
    box-sizing: border-box;
    width: 100%;
    height: 100vh;
    background: #333333;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
  }
  header .float_header .me_inner .belt {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    border-top: solid 1px #fff;
    padding: 12rem 0;
  }
  header .float_header .me_inner .me_logo {
    text-align: center;
    margin-bottom: 40rem;
  }
  header .float_header .me_inner .me_logo img {
    width: 240rem;
  }
  header .float_header .me_inner .me_list {
    width: 96%;
    max-width: 868rem;
    margin: 0 auto 40rem;
    display: flex;
    justify-content: space-between;
  }
  header .float_header .me_inner .me_list li {
    font-size: 32rem;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  header .float_header .me_inner .me_list li a {
    color: #fff;
  }
  header .float_header .me_inner .me_box {
    display: flex;
    justify-content: space-between;
    color: #fff;
    width: 96%;
    max-width: 868rem;
    margin: 0 auto 40rem;
  }
  header .float_header .me_inner .me_box .me_box_left .me_box_left_ttl {
    font-size: 16rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 10rem;
  }
  header .float_header .me_inner .me_box .me_box_left .me_box_left_txt {
    font-size: 12rem;
    line-height: 1.7em;
  }
  header .float_header .me_inner .me_box .me_box_right a {
    display: inline-block;
    box-sizing: border-box;
    color: #fff;
    font-size: 16rem;
    padding: 1em 0;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    border: solid 2px #fff;
    width: 255rem;
    text-align: center;
    background: url("../img/arr_01.png") no-repeat;
    background-size: 17rem;
    background-position: center right 14rem;
  }
  header .float_header .me_inner .me_box .me_box_right a:hover {
    background-image: url("../img/arr_01_on.png");
    color: #333333;
    background-color: #fff;
  }
  header .float_header .me_inner .me_btm {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    color: #fff;
    width: 96%;
    max-width: 868rem;
    margin: 0 auto 40rem;
  }
  header .float_header .me_inner .me_btm .me_btm_sns {
    display: flex;
  }
  header .float_header .me_inner .me_btm .me_btm_sns li {
    width: 17rem;
    margin-right: 5rem;
  }
  header .float_header .me_inner .me_btm .me_btm_list li {
    font-size: 12rem;
    letter-spacing: 0.1em;
    line-height: 2em;
    text-align: right;
  }
  header .float_header .me_inner .me_btm .me_btm_list li a {
    color: #fff;
  }
  header .float_header .me_inner .copy {
    font-size: 14rem;
    text-align: center;
    color: #fff;
  }
  header .float_header .float_header_nav {
    width: 52rem;
    height: 52rem;
    position: fixed;
    right: 68rem;
    top: 52rem;
    z-index: 19;
    cursor: pointer;
  }
  header .float_header .float_header_nav .float_header_btn {
    width: 100%;
    height: 100%;
    background: #FCFCFC;
    border: solid 3rem #1A1A1A;
    border-radius: 100%;
    box-sizing: border-box;
    position: relative;
  }
  header .float_header .float_header_nav .float_header_btn span {
    display: inline-block;
    width: 20rem;
    height: 2rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: #1A1A1A;
  }
  header .float_header .float_header_nav .float_header_btn span:nth-of-type(1) {
    top: 15rem;
  }
  header .float_header .float_header_nav .float_header_btn span:nth-of-type(2) {
    top: 22.5rem;
  }
  header .float_header .float_header_nav .float_header_btn span:nth-of-type(3) {
    top: 30rem;
  }
  header .float_header .float_header_nav .header_nav {
    visibility: hidden;
    opacity: 0;
    transition: 0.3s ease all;
    position: absolute;
    top: 0;
    right: 0;
    width: 610rem;
    height: 52rem;
    box-sizing: border-box;
    padding: 8rem 7rem 8rem 37rem;
    border: solid 3rem #1A1A1A;
    border-radius: 100rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #FCFCFC;
  }
  header .float_header .float_header_nav .header_nav ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  header .float_header .float_header_nav .header_nav ul li {
    font-size: 12rem;
    line-height: 1.25em;
    font-weight: bold;
    margin-right: 16rem;
  }
  header .float_header .float_header_nav .header_nav ul li:last-child {
    margin-right: 0;
  }
  header .float_header .float_header_nav .header_nav ul li:nth-child(4) {
    font-size: 11rem;
  }
  header .float_header .float_header_nav .header_nav ul li a {
    display: block;
    color: #1A1A1A;
  }
  header .float_header .float_header_nav .header_nav ul li a:hover {
    text-decoration: underline;
  }
  header .float_header .float_header_nav .header_nav .header_btn {
    width: 228rem;
    display: flex;
    justify-content: space-between;
  }
  header .float_header .float_header_nav .header_nav .header_btn a {
    display: block;
    width: 110rem;
    height: 36rem;
    font-size: 12rem;
    line-height: 34rem;
    font-variation-settings: "wght" 700;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    border: solid 1rem;
    border-radius: 100rem;
    transition: 0.3s;
  }
  header .float_header .float_header_nav .header_nav .header_btn a.contact {
    background: #1769F4;
    border-color: #1769F4;
  }
  header .float_header .float_header_nav .header_nav .header_btn a.contact:hover {
    background: #FCFCFC;
    color: #1769F4;
  }
  header .float_header .float_header_nav .header_nav .header_btn a.signin {
    background: #1A1A1A;
    border-color: #1A1A1A;
  }
  header .float_header .float_header_nav .header_nav .header_btn a.signin:hover {
    background: #FCFCFC;
    color: #1A1A1A;
  }
  header .float_header .float_header_nav:hover .header_nav {
    visibility: visible;
    opacity: 1;
  }
  main {
    background: #FCFCFC;
  }
  #mv .inner {
    width: 864rem;
    margin: 0 auto;
    text-align: center;
    padding: 103rem 0 100rem;
    position: relative;
    mix-blend-mode: multiply;
  }
  #mv .inner h1 {
    display: inline-block;
    font-size: 48rem;
    letter-spacing: 0.04em;
    line-height: 1.45em;
    font-weight: bold;
    writing-mode: vertical-rl;
    text-align: left;
    margin-bottom: 174rem;
  }
  #mv .inner .mv_txt {
    font-size: 24rem;
    line-height: 2.66em;
    font-weight: bold;
  }
  #mv .inner .circle_img01 {
    width: 132rem;
    position: absolute;
    left: 90rem;
    top: -24rem;
    z-index: 21;
  }
  #mv .inner .circle_img02 {
    width: 151rem;
    position: absolute;
    left: 0rem;
    top: 196rem;
  }
  #mv .inner .circle_img03 {
    width: 140rem;
    position: absolute;
    right: 27rem;
    top: 107rem;
  }
  #mv .inner .circle_img04 {
    width: 153rem;
    position: absolute;
    right: 37rem;
    top: 334rem;
  }
  #mv .inner .circle {
    position: absolute;
    border-radius: 50%;
  }
  #mv .inner .circle.circle01 {
    width: 63rem;
    height: 63rem;
    background: #EF7F6A;
    top: 94rem;
    left: 36rem;
  }
  #mv .inner .circle.circle02 {
    width: 23rem;
    height: 23rem;
    background: #809BBE;
    top: 379rem;
    left: 120rem;
  }
  #mv .inner .circle.circle03 {
    width: 63rem;
    height: 63rem;
    background: #FCE673;
    top: 249rem;
    right: 0;
  }
  #mv .inner .circle.circle04 {
    width: 23rem;
    height: 23rem;
    background: #1769F4;
    top: 497rem;
    right: 179rem;
  }
  /*トップ共通*/
  .top_sec_inner {
    width: 864rem;
    margin: 0 auto 100rem;
    padding-top: 24rem;
    border-top: solid 3rem #1A1A1A;
  }
  .top_sec_inner2 {
    width: 100%;
    max-width: 864rem;
    margin: 0 auto;
  }
  .top_sec_ja_ttl {
    font-size: 14rem;
    line-height: 1.57em;
    font-weight: bold;
    color: #151515;
    font-family: "source-han-sans-jp-variable", sans-serif;
    font-variation-settings: "wght" 700;
    margin-bottom: 10rem;
    padding-left: 12rem;
    position: relative;
  }
  .top_sec_ja_ttl::before {
    position: absolute;
    content: "";
    width: 8rem;
    height: 8rem;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #1769F4;
    border-radius: 100%;
  }
  #top_about .inner {
    width: 901rem;
    margin: 0 auto 100rem;
  }
  #top_about .inner .top_about_head {
    width: 100%;
    margin-bottom: 71rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    border-top: solid 3rem #1A1A1A;
  }
  #top_about .inner .top_about_head .top_about_head_left {
    width: 400rem;
    padding-top: 24rem;
    margin-right: 74rem;
    color: #151515;
  }
  #top_about .inner .top_about_head .top_about_head_left h2 {
    font-size: 30rem;
    line-height: 1.3em;
    letter-spacing: 0.015em;
    font-weight: bold;
    margin-bottom: 48rem;
  }
  #top_about .inner .top_about_head .top_about_head_left h3 {
    font-size: 24rem;
    line-height: 1.66em;
    font-weight: bold;
    margin-bottom: 32rem;
  }
  #top_about .inner .top_about_head .top_about_head_left .top_about_head_txt {
    font-size: 16rem;
    line-height: 2em;
  }
  #top_about .inner .top_about_head .top_about_head_img {
    width: 339rem;
    padding-top: 93rem;
  }
  #top_about .inner .top_about_cont {
    width: 100%;
    border-radius: 32rem;
    overflow: hidden;
    border: solid 3rem #141414;
    box-sizing: border-box;
  }
  #top_about .inner .top_about_cont .top_about_box {
    padding: 48rem 53rem 64rem 86rem;
    text-align: center;
    color: #1A1A1A;
  }
  #top_about .inner .top_about_cont .top_about_box h3 {
    font-size: 24rem;
    line-height: 1.29em;
    margin-bottom: 4rem;
  }
  #top_about .inner .top_about_cont .top_about_box h3 span {
    display: inline-block;
    width: 122rem;
    margin-left: 10rem;
  }
  #top_about .inner .top_about_cont .top_about_box h4 {
    font-size: 14rem;
    line-height: 1.428em;
    font-variation-settings: "wght" 700;
    margin-bottom: 30rem;
  }
  #top_about .inner .top_about_cont .top_about_box .top_about_box_in {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #top_about .inner .top_about_cont .top_about_box .top_about_box_in .top_about_box_txt {
    width: 360rem;
    text-align: left;
  }
  #top_about .inner .top_about_cont .top_about_box .top_about_box_in .top_about_box_txt h5 {
    font-size: 20rem;
    line-height: 1.6em;
    font-variation-settings: "wght" 700;
    margin-bottom: 24rem;
  }
  #top_about .inner .top_about_cont .top_about_box .top_about_box_in .top_about_box_txt .txt {
    font-size: 14rem;
    line-height: 1.71em;
  }
  #top_about .inner .top_about_cont .top_about_box.box01 {
    color: #fff;
    background: #3B4043;
  }
  #top_about .inner .top_about_cont .top_about_box.box01 .top_about_box_in .top_about_box_img {
    width: 318rem;
  }
  #top_about .inner .top_about_cont .top_about_box.box02 .top_about_box_in {
    flex-direction: row-reverse;
    justify-content: flex-start;
  }
  #top_about .inner .top_about_cont .top_about_box.box02 .top_about_box_in .top_about_box_img {
    width: 302rem;
    margin-left: 48rem;
  }
  #top_feature .top_sec_inner .top_feature_cont:first-of-type {
    margin-bottom: 60rem;
  }
  #top_feature .top_sec_inner .top_feature_cont h2 {
    font-size: 30rem;
    letter-spacing: 0.015em;
    line-height: 1.3em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 28rem;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box {
    width: 808rem;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box .top_feature_box_img {
    width: 320rem;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box .top_feature_box_txt {
    width: 432rem;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box .top_feature_box_txt dl {
    width: 100%;
    box-sizing: border-box;
    padding: 20rem 26rem;
    background: #fff;
    border-radius: 11rem;
    margin-bottom: 8rem;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box .top_feature_box_txt dl:last-child {
    margin-bottom: 0;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box .top_feature_box_txt dl dt {
    font-size: 16rem;
    line-height: 1.5em;
    font-weight: bold;
    margin-bottom: 8rem;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box .top_feature_box_txt dl dt span {
    display: inline-block;
    margin-right: 4rem;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box .top_feature_box_txt dl dd {
    font-size: 12rem;
    line-height: 1.66em;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box.box01 {
    margin-left: auto;
    align-items: flex-start;
    /*.top_feature_box_txt {
        height: 320rem;
        overflow: scroll;
    }*/
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box.box01 .top_feature_box_img {
    position: sticky;
    top: 20rem;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box.box02 {
    flex-direction: row-reverse;
  }
  #top_inter .top_sec_inner {
    position: relative;
  }
  #top_inter .top_sec_inner h2 {
    font-size: 30rem;
    line-height: 1.3em;
    font-weight: bold;
    margin-bottom: 50rem;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box {
    width: 100%;
    box-sizing: border-box;
    padding: 29rem;
    border-radius: 16rem;
    background: #fff;
    display: flex;
    justify-content: space-between;
    border: solid 3rem #fff;
    margin-bottom: 32rem;
    transition: 0.3s;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box:last-child {
    margin-bottom: 0;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box:hover {
    border: solid 3rem #3B4043;
    opacity: 1 !important;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_img {
    width: 380rem;
    border-radius: 8rem;
    overflow: hidden;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_img .img {
    width: 100%;
    height: 240rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_txt {
    width: 380rem;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_txt .ttl {
    font-size: 20rem;
    line-height: 1.6em;
    font-weight: bold;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_txt .txt {
    font-size: 12rem;
    line-height: 2em;
    height: 78rem;
    overflow: hidden;
    margin: 15rem 0 17rem;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_txt .btm {
    display: flex;
    justify-content: space-between;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_txt .btm .name {
    font-size: 14rem;
    line-height: 1.285em;
    color: #98A6B5;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_txt .btm .time {
    font-size: 14rem;
    line-height: 1.4285em;
    font-variation-settings: "wght" 400;
    color: #98A6B5;
    padding-left: 25rem;
    background: url("../img/icon_time.png") no-repeat left center;
    background-size: 16rem;
  }
  #top_inter .top_sec_inner .top_inter_btn {
    width: 156rem;
    font-size: 12rem;
    font-variation-settings: "wght" 700;
    text-align: center;
    position: absolute;
    top: 52rem;
    right: 0;
  }
  #top_inter .top_sec_inner .top_inter_btn a {
    display: block;
    width: 100%;
    height: 36rem;
    color: #fff;
    box-sizing: border-box;
    padding: 12rem 0;
    background: #1A1A1A;
    border: solid 1rem #1A1A1A;
    border-radius: 24rem;
    transition: 0.3s;
  }
  #top_inter .top_sec_inner .top_inter_btn a:hover {
    color: #1A1A1A;
    background: #fff;
  }
  #top_flow2 {
    padding: 120rem 0;
  }
  #top_flow2 .top_sec_en_ttl2 {
    text-align: center;
    font-size: 14rem;
    letter-spacing: 0.05em;
    font-weight: 700;
    margin-bottom: 3rem;
  }
  #top_flow2 .top_sec_ja_ttl2 {
    text-align: center;
    margin-bottom: 40rem;
    font-size: 24rem;
    line-height: 1.5em;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  #top_flow2 .top_sec_ja_ttl2 span {
    display: inline-block;
    background: url("../img/flow_ttl_bg.png") no-repeat center bottom;
    background-size: contain;
    padding-bottom: 30rem;
  }
  #top_flow2 .flow2_boxes {
    display: flex;
    justify-content: space-between;
  }
  #top_flow2 .flow2_boxes .flow2_box_arr {
    width: 24rem;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #top_flow2 .flow2_boxes .flow2_box_arr img {
    width: 16rem;
  }
  #top_flow2 .flow2_boxes .flow2_box {
    box-sizing: border-box;
    border: solid 2px #333333;
    border-radius: 8rem;
    -webkit-border-radius: 8rem;
    -moz-border-radius: 8rem;
    width: calc((100% - 48rem) / 3);
    padding: 21rem 20rem 29rem;
  }
  #top_flow2 .flow2_boxes .flow2_box .flow2_box_step {
    font-size: 14rem;
    letter-spacing: 0.05em;
    font-weight: 700;
    text-align: center;
    margin-bottom: 30rem;
  }
  #top_flow2 .flow2_boxes .flow2_box .flow2_box_step span {
    display: inline-block;
    padding: 0 3em;
  }
  #top_flow2 .flow2_boxes .flow2_box .flow2_box_icon {
    height: 86rem;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 26rem;
  }
  #top_flow2 .flow2_boxes .flow2_box:nth-child(1) .flow2_box_icon img {
    width: 100rem;
  }
  #top_flow2 .flow2_boxes .flow2_box:nth-child(3) .flow2_box_icon img {
    width: 58rem;
  }
  #top_flow2 .flow2_boxes .flow2_box:nth-child(5) .flow2_box_icon img {
    width: 78rem;
  }
  #top_flow2 .flow2_boxes .flow2_box .flow2_box_ttl {
    font-size: 16rem;
    line-height: 1.5em;
    font-weight: 700;
    padding-bottom: 16rem;
    border-bottom: solid 1px #9A9A9A;
    letter-spacing: 0.05em;
    margin-bottom: 16rem;
  }
  #top_flow2 .flow2_boxes .flow2_box .flow2_box_txt {
    font-size: 12rem;
    line-height: 1.6em;
  }
  #top_flow2 .flow2_boxes .flow2_box .flow2_box_biko {
    font-size: 9rem;
    line-height: 1.6em;
    margin-top: 5rem;
  }
  #top_flow2 .flow2_boxes .cs_box {
    margin-top: 80rem;
  }
  .cs_box {
    margin-top: 80rem;
  }
  .cs_box .cs_box_img {
    position: relative;
  }
  .cs_box .cs_box_img img {
    display: block;
  }
  .cs_box .cs_box_img .cs_box_img_btn {
    position: absolute;
    right: 0;
    width: 50%;
    text-align: center;
    bottom: 30rem;
  }
  .frame_ttl {
    text-align: center;
  }
  .frame_ttl .frame_ttl_en {
    display: inline-block;
    font-size: 12rem;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  .frame_ttl .frame_ttl_txt {
    display: inline-block;
    font-size: 16rem;
    line-height: 2em;
    font-weight: 700;
    letter-spacing: 0.05em;
    position: relative;
    margin-bottom: 40rem;
  }
  .frame_ttl .frame_ttl_txt:before {
    content: "";
    width: 27rem;
    height: 40rem;
    background: url("../img/select_01.png") no-repeat center;
    background-size: contain;
    display: block;
    position: absolute;
    left: -44rem;
    top: -2rem;
  }
  .frame_ttl .frame_ttl_txt:after {
    content: "";
    width: 27rem;
    height: 40rem;
    background: url("../img/select_02.png") no-repeat center;
    background-size: contain;
    display: block;
    position: absolute;
    right: -44rem;
    top: -2rem;
  }
  #top_flow .top_sec_inner h2 {
    font-size: 30rem;
    line-height: 1.3em;
    font-weight: bold;
    margin-bottom: 50rem;
  }
  #top_flow .top_sec_inner .top_flow_cont {
    display: flex;
    justify-content: space-between;
  }
  #top_flow .top_sec_inner .top_flow_cont .top_flow_box {
    width: 160rem;
    text-align: center;
  }
  #top_flow .top_sec_inner .top_flow_cont .top_flow_box .top_flow_box_num {
    width: 39rem;
    height: 39rem;
    margin: 0 auto 16rem;
    font-size: 17rem;
    line-height: 39rem;
    font-weight: bold;
    color: #fff;
    background: #3B4043;
    border-radius: 50%;
    position: relative;
  }
  #top_flow .top_sec_inner .top_flow_cont .top_flow_box .top_flow_box_num::after {
    position: absolute;
    content: "";
    width: 142rem;
    height: 2rem;
    right: -141rem;
    top: 50%;
    transform: translateY(-50%);
    background-image: linear-gradient(to right, #3B4043 3rem, transparent 3rem);
    background-size: 6rem 2rem;
    background-repeat: repeat-x;
    background-position: left bottom;
  }
  #top_flow .top_sec_inner .top_flow_cont .top_flow_box:last-child .top_flow_box_num::after {
    display: none;
  }
  #top_flow .top_sec_inner .top_flow_cont .top_flow_box h3 {
    font-size: 19rem;
    line-height: 1.42em;
    font-variation-settings: "wght" 700;
    margin-bottom: 8rem;
  }
  #top_flow .top_sec_inner .top_flow_cont .top_flow_box .txt {
    font-size: 12rem;
    line-height: 1.66em;
    font-variation-settings: "wght" 350;
  }
  #top_faq {
    background: #EBEBEB;
    padding: 100rem 0 160rem;
  }
  #top_faq .top_sec_en_ttl2 {
    text-align: center;
    font-size: 14rem;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
  #top_faq .top_sec_ja_ttl2 {
    text-align: center;
    font-size: 24rem;
    letter-spacing: 0.05em;
    line-height: 1.5em;
    font-weight: 700;
    margin-bottom: 40rem;
  }
  #top_faq .top_sec_ja_ttl2 span {
    display: inline-block;
    background: url("../img/faq_ttl_bg.png") no-repeat center bottom;
    background-size: contain;
    padding-bottom: 12rem;
  }
  #top_faq .top_sec_inner2 h2 {
    font-size: 30rem;
    line-height: 1.3em;
    font-weight: bold;
    margin-bottom: 50rem;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box {
    box-sizing: border-box;
    padding: 0 21rem;
    background: #fff;
    border: solid 3rem #fff;
    border-radius: 8rem;
    margin-bottom: 16rem;
    background: #fff;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box.open {
    border: solid 3rem #1A1A1A;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box:last-child {
    margin-bottom: 0;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .q_box {
    width: 100%;
    box-sizing: border-box;
    padding: 17rem 30rem 17rem 0;
    position: relative;
    display: flex;
    justify-content: flex-start;
    cursor: pointer;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .q_box .q_icon {
    font-size: 24rem;
    line-height: 1;
    font-weight: bold;
    margin-right: 12rem;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .q_box .q_txt {
    font-size: 16rem;
    line-height: 1.5em;
    font-variation-settings: "wght" 700;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .q_box span {
    display: block;
    width: 24rem;
    height: 24rem;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .q_box span::before {
    position: absolute;
    content: "";
    width: 24rem;
    height: 3rem;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #1A1A1A;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .q_box span::after {
    position: absolute;
    content: "";
    width: 24rem;
    height: 3rem;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    background: #1A1A1A;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .q_box.open span {
    right: 8rem;
    transform: translateY(-50%) rotate(-45deg);
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .a_box {
    display: none;
    box-sizing: border-box;
    padding-bottom: 13rem;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .a_box .a_txt {
    font-size: 14rem;
    line-height: 1.71em;
    font-variation-settings: "wght" 350;
  }
  .banner .top_sec_inner {
    padding: 0;
    border: none;
    display: flex;
    justify-content: space-between;
  }
  .banner .top_sec_inner .banner_box {
    width: 420rem;
    height: 240rem;
    box-sizing: border-box;
    padding: 37rem 34rem 0;
    border: solid 3rem #1A1A1A;
    border-radius: 16rem;
    background: url("../img/icon_arr_01.png") no-repeat right 31rem bottom 30rem;
    background-size: 24rem;
  }
  .banner .top_sec_inner .banner_box .top_sec_ja_ttl {
    margin-bottom: 3rem;
  }
  .banner .top_sec_inner .banner_box h2 {
    font-size: 24rem;
    line-height: 1.29em;
    font-weight: bold;
  }
  .banner .top_sec_inner .banner_box .banner_box_img {
    width: 174rem;
  }
  .banner .top_sec_inner .banner_box.box01 .banner_box_img {
    margin-top: 22rem;
  }
  .banner .top_sec_inner .banner_box.box02 .banner_box_img {
    margin-top: 22rem;
  }
  .float {
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 10;
    background: #E1E8F4;
  }
  .float .inner {
    width: 718rem;
    margin: 0 auto;
    padding: 13rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .float .inner .float_left {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .float .inner .float_left .logo {
    width: 52rem;
    margin-right: 32rem;
  }
  .float .inner .float_left .txt {
    font-size: 16rem;
    line-height: 1.5em;
    font-weight: bold;
    color: #151515;
  }
  .float .inner .float_right {
    display: flex;
    justify-content: flex-end;
  }
  .float .inner .float_right a {
    display: block;
    transition: 0.3s;
  }
  .float .inner .float_right a:hover {
    opacity: 0.8;
  }
  .float .inner .float_right a.app {
    width: 125rem;
  }
  .float .inner .float_right a.google {
    width: 140rem;
    margin-left: 15rem;
  }
  #select {
    height: 800rem;
    box-sizing: border-box;
  }
  #select .select_box {
    background: #EBEBEB;
    padding-top: 100rem;
    position: relative;
  }
  #select .select_box:before {
    content: "";
    width: 100%;
    height: 3px;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    background: #EBEBEB;
    z-index: 3;
  }
  #select .select_box .select_box_inner {
    width: 96%;
    margin: 0 auto;
    max-width: 1070rem;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }
  #select .select_box .select_box_inner .select_box_ttl {
    width: 10%;
  }
  #select .select_box .select_box_inner .select_box_ttl h2 {
    font-size: 24rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
    background: url("../img/tab_icon.png") no-repeat center top;
    background-size: 24rem;
    padding-top: 32rem;
  }
  #select .select_box .select_box_inner #select_box_left::-webkit-scrollbar {
    display: none; /* Chrome, Safari */
  }
  #select .select_box .select_box_inner #select_box_left2::-webkit-scrollbar {
    display: none; /* Chrome, Safari */
  }
  #select .select_box .select_box_inner #select_box_left, #select .select_box .select_box_inner #select_box_left2 {
    padding-top: 45rem;
    width: 40%;
    max-height: 100vh; /* 画面高に合わせる */
    overflow-y: auto; /* merit_rightだけスクロール */
    height: 577rem;
    padding-right: 25rem;
    box-sizing: border-box;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes {
    padding-right: 20rem;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box {
    position: relative;
    margin-bottom: 55rem;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box span.s1, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box span.s1 {
    position: absolute;
    right: -40rem;
    bottom: -9rem;
    width: 0;
    box-sizing: border-box;
    height: 0;
    border-left: 33rem solid transparent; /* 左側の透明な三角 */
    border-right: 33rem solid transparent; /* 右側の透明な三角 */
    border-bottom: 60rem solid #333;
    z-index: 3;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box span.s2, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box span.s2 {
    position: absolute;
    box-sizing: border-box;
    right: -22rem;
    bottom: 1.8rem;
    width: 0;
    height: 0;
    border-left: 28rem solid transparent; /* 左側の透明な三角 */
    border-right: 28rem solid transparent; /* 右側の透明な三角 */
    border-bottom: 50rem solid #fff;
    z-index: 4;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box:last-child, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box:last-child {
    margin-bottom: 0;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box:before, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box:before {
    content: "";
    display: block;
    z-index: 1;
    position: absolute;
    bottom: -9rem;
    right: -9rem;
    width: 100%;
    height: 100%;
    background: #333333;
    border-radius: 8rem;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box .select_box_box_in, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box .select_box_box_in {
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    background: #fff;
    border-radius: 8rem;
    border: solid 2px #333333;
    text-align: left;
    padding: 0 26rem 40rem;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box .select_box_box_in .select_box_box_ttl, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box .select_box_box_in .select_box_box_ttl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16rem 0;
    border-bottom: solid 1px #9A9A9A;
    margin-bottom: 25rem;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box .select_box_box_in .select_box_box_ttl .select_box_box_ttl_icon, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box .select_box_box_in .select_box_box_ttl .select_box_box_ttl_icon {
    color: #fff;
    font-weight: 700;
    width: 58rem;
    height: 58rem;
    background: url("../img/tab_icon2.png") no-repeat center;
    background-size: contain;
    font-size: 12rem;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box .select_box_box_in .select_box_box_ttl .select_box_box_ttl_txt, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box .select_box_box_in .select_box_box_ttl .select_box_box_ttl_txt {
    font-size: 16rem;
    line-height: 1.5em;
    font-weight: 700;
    width: calc(100% - 68rem);
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box .select_box_box_in .txt, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box .select_box_box_in .txt {
    line-height: 1.7em;
    font-size: 12rem;
    box-sizing: border-box;
    padding: 0 1em;
  }
  #select .select_box .select_box_inner .select_box_right {
    width: 50%;
    text-align: center;
    padding-top: 25rem;
  }
  #select .select_box .select_box_inner .select_box_right img {
    width: 80%;
  }
  #select .select_tab {
    border-bottom: solid 3px #333333;
    display: flex;
    justify-content: space-between;
  }
  #select .select_tab .select_tab_list {
    margin: 0 11rem;
    width: 50%;
    box-sizing: border-box;
    text-align: center;
    position: relative;
  }
  #select .select_tab .select_tab_list:nth-child(1) {
    margin-left: 38rem;
  }
  #select .select_tab .select_tab_list:nth-child(2) {
    margin-right: 38rem;
  }
  #select .select_tab .select_tab_list input {
    display: none;
  }
  #select .select_tab .select_tab_list input[type=radio]:checked + label + .bord {
    position: absolute;
    height: 6px;
    background: #fff;
    width: 100%;
    left: -12px;
    bottom: -5px;
    z-index: 1;
    padding: 0 12px;
  }
  #select .select_tab .select_tab_list input[type=radio]:checked + label {
    color: #333333;
    border-top: solid 3px #333333;
    border-right: solid 3px #333333;
    border-left: solid 3px #333333;
  }
  #select .select_tab .select_tab_list input[type=radio]:checked + label:before {
    content: "";
    display: block;
    width: 5px;
    height: 20px;
    background: #fff;
    position: absolute;
    left: -4px;
    bottom: 0;
  }
  #select .select_tab .select_tab_list input[type=radio]:checked + label:after {
    content: "";
    display: block;
    width: 5px;
    height: 20px;
    background: #fff;
    position: absolute;
    right: -4px;
    bottom: 0;
  }
  #select .select_tab .select_tab_list input[type=radio]:checked + label span:before {
    content: "";
    display: block;
    height: 20px;
    width: 20px;
    border-radius: 0 0 18px 0;
    position: absolute;
    left: -23px;
    bottom: -3px;
    border-right: solid 3px #333333;
    border-bottom: solid 3px #333333;
    z-index: 3;
  }
  #select .select_tab .select_tab_list input[type=radio]:checked + label span:after {
    content: "";
    display: block;
    height: 20px;
    width: 20px;
    border-radius: 0 0 0 18px;
    position: absolute;
    right: -23px;
    bottom: -3px;
    border-left: solid 3px #333333;
    border-bottom: solid 3px #333333;
    z-index: 3;
  }
  #select .select_tab .select_tab_list label {
    padding: 20rem 0;
    display: block;
    position: relative;
    color: #9A9A9A;
    border-top: solid 3px #9A9A9A;
    border-right: solid 3px #9A9A9A;
    border-left: solid 3px #9A9A9A;
    border-radius: 8rem 8rem 0 0;
    background: #fff;
  }
  #select .select_tab .select_tab_list label:before {
    content: "";
    display: block;
    width: 3px;
    height: 9px;
    background: #fff;
    position: absolute;
    left: -3px;
    bottom: 0;
  }
  #select .select_tab .select_tab_list label:after {
    content: "";
    display: block;
    width: 3px;
    height: 9px;
    background: #fff;
    position: absolute;
    right: -3px;
    bottom: 0;
  }
  #select .select_tab .select_tab_list label .select_tab_list_ttl {
    font-size: 12rem;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  #select .select_tab .select_tab_list label .select_tab_list_sub {
    font-size: 16rem;
    line-height: 2em;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  .commonPage h1 {
    font-size: 20rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6em;
    padding-left: 24rem;
    background: url("../img/icon_ttl.png") no-repeat;
    background-size: 17rem;
    background-position: left 0 top 8rem;
    margin-bottom: 16rem;
  }
  .commonPage .gaiyo {
    font-size: 14rem;
    letter-spacing: 0.1em;
    line-height: 1.6em;
    margin-bottom: 16rem;
  }
  .commonPage h2 {
    font-size: 16rem;
    font-weight: 700;
    line-height: 1.5em;
    background: #EBEBEB;
    border-left: solid 5px #333333;
    padding: 8rem 15rem;
    margin-bottom: 16rem;
    margin-top: 32rem;
  }
  .commonPage h3 {
    font-size: 14rem;
    line-height: 1.5em;
    padding-bottom: 8rem;
    margin-bottom: 16rem;
    border-bottom: solid 1px #707070;
    margin-top: 28rem;
    font-weight: 700;
  }
  .commonPage p {
    font-size: 12rem;
    line-height: 1.7em;
    margin-bottom: 1em;
  }
  .comBox_txt {
    text-align: center;
    font-size: 14rem;
    line-height: 1.4em;
    font-weight: 700;
  }
  .comBox_txt a {
    color: #333333;
    text-decoration: underline;
  }
  .comBox {
    position: relative;
    margin-bottom: 47rem;
  }
  .comBox:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #333333;
    position: absolute;
    right: -8rem;
    bottom: -8rem;
    border-radius: 8rem;
  }
  .comBox .comBox_inner {
    background: #FCFCFC;
    box-sizing: border-box;
    border: solid 2px #333333;
    border-radius: 0 8rem 8rem 8rem;
    padding: 23rem;
    position: relative;
    z-index: 2;
  }
  .comBox .comBox_inner .comBox_ttl {
    z-index: 2;
    position: absolute;
    left: -2px;
    bottom: 100%;
    border-radius: 8rem 8rem 0 0;
    box-sizing: border-box;
    border: solid 2px #333333;
    background: #FCFCFC;
    font-size: 14rem;
    letter-spacing: 0.05em;
    width: 150rem;
    text-align: center;
    line-height: 2em;
    border-bottom: none;
  }
  .comBox .comBox_inner .comBox_ttl:before {
    content: "";
    height: 4px;
    width: 100%;
    background: #FCFCFC;
    display: block;
    position: absolute;
    left: 0;
    right: auto;
    bottom: -2px;
  }
  .comBox .comBox_inner .comBox_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .comBox .comBox_inner .comBox_box .comBox_left {
    width: 210rem;
  }
  .comBox .comBox_inner .comBox_box .comBox_right {
    width: 406rem;
  }
  .comBox .comBox_inner .comBox_box .comBox_right .comBox_box_ttl {
    font-size: 16rem;
    line-height: 1.5em;
    font-weight: 700;
    border-bottom: solid 1px #9A9A9A;
    margin-bottom: 12rem;
    padding-bottom: 12rem;
  }
  .comBox .comBox_inner .comBox_box .comBox_right .comBox_box_txt {
    font-size: 12rem;
  }
  main#underpage {
    background: #EBEBEB;
    padding: 56rem 0 160rem;
  }
  #undercon {
    width: 90%;
    max-width: 790rem;
    margin: 0 auto;
    background: #fff;
    box-sizing: border-box;
    padding: 64rem 48rem;
    position: relative;
    left: 45rem;
  }
  #undercon .undercon_en {
    text-align: center;
    font-size: 14rem;
    line-height: 1.5em;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
  #undercon .undercon_ttl {
    font-weight: 700;
    text-align: center;
    font-size: 24rem;
    line-height: 1.5em;
    letter-spacing: 0.05em;
    margin-bottom: 56rem;
    position: relative;
    padding-bottom: 14rem;
  }
  #undercon .undercon_ttl:before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    height: 12rem;
    width: 176rem;
    background: url("../img/under_ttl.png") no-repeat center;
    background-size: contain;
  }
  .underContact .ppArea {
    background: #FCFCFC;
    border-radius: 8rem;
    box-sizing: border-box;
    padding: 24rem;
  }
  .underContact .ppArea .ppArea_ttl {
    text-align: center;
    font-size: 14rem;
    line-height: 2em;
    font-weight: 700;
    margin-bottom: 16rem;
  }
  .underContact .ppArea .ppArea_ttl span {
    color: #FF2C2C;
    font-size: 12rem;
    font-weight: 400;
    display: inline-block;
    margin-left: 10rem;
    vertical-align: middle;
  }
  .underContact .ppArea .ppArea_txt {
    background: #fff;
    box-sizing: border-box;
    padding: 18rem 27rem;
    overflow-y: scroll;
    height: 150rem;
    margin-bottom: 16rem;
    font-size: 12rem;
    line-height: 1.7em;
  }
  .underContact .ppArea .ppArea_check {
    text-align: center;
    font-size: 12rem;
  }
  .underContact .ppArea .ppArea_check input[type=checkbox] {
    display: none;
  }
  .underContact .ppArea .ppArea_check input[type=checkbox]:checked + label {
    background-image: url("../img/icon_check_02.png");
  }
  .underContact .ppArea .ppArea_check label {
    display: inline-block;
    background: url("../img/icon_check_01.png") no-repeat center left;
    padding-left: 1.4em;
    background-size: 12rem;
  }
  .underContact .underContact_submit {
    margin-top: 56rem;
    text-align: center;
  }
  .underContact .underContact_submit input[type=submit] {
    color: #fff;
    width: 320rem;
    background: url("../img/arr_01.png") no-repeat #333333;
    border: solid 2px #333333;
    box-sizing: border-box;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    font-size: 16rem;
    padding: 1em 0;
    background-size: 20rem;
    background-position: center right 18rem;
  }
  .underContact .underContact_submit input[type=submit]:hover {
    background-color: #fff;
    color: #333333;
    background-image: url("../img/arr_01_on.png");
  }
  .underContact .underContact_form {
    margin-bottom: 24rem;
  }
  .underContact .underContact_form dt {
    font-size: 14rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 8rem;
  }
  .underContact .underContact_form dt span {
    color: #FF2C2C;
    font-size: 12rem;
    font-weight: 400;
    display: inline-block;
    margin-left: 10rem;
    vertical-align: middle;
  }
  .underContact .underContact_form .or {
    font-size: 12rem;
    padding: 8rem 12rem;
    box-sizing: border-box;
    line-height: 2em;
  }
  .underContact .underContact_form dd {
    box-sizing: border-box;
    border-radius: 8rem;
    -webkit-border-radius: 8rem;
    -moz-border-radius: 8rem;
    width: 100%;
    border: solid 2px #333333;
    padding: 10rem 16rem;
  }
  .underContact .underContact_form dd.check {
    border: none;
    padding: 0;
    padding-top: 10rem;
    font-size: 12rem;
  }
  .underContact .underContact_form dd.check input[type=checkbox] {
    display: none;
  }
  .underContact .underContact_form dd.check input[type=checkbox]:checked + label {
    background-image: url("../img/icon_check_02.png");
  }
  .underContact .underContact_form dd.check label {
    display: inline-block;
    background: url("../img/icon_check_01.png") no-repeat center left;
    padding-left: 1.4em;
    margin-right: 1em;
    background-size: 12rem;
  }
  .underContact .underContact_form dd input[type=text] {
    width: 100%;
    background: none;
    border: none;
    font-size: 16rem;
  }
  .underContact .underContact_form dd input[type=email] {
    width: 100%;
    background: none;
    border: none;
    font-size: 16rem;
  }
  .underContact .underContact_form dd input[type=tel] {
    width: 100%;
    background: none;
    border: none;
    font-size: 16rem;
  }
  .underContact .underContact_form dd textarea {
    width: 100%;
    background: none;
    border: none;
    font-size: 16rem;
    height: 180rem;
  }
  .underContact .underContact_form dd .ttl {
    position: absolute;
    left: 16rem;
    top: 14rem;
    font-size: 12rem;
    font-weight: 700;
  }
  .underContact .underContact_form dd.telForm {
    padding-left: 72rem;
    position: relative;
  }
  .underContact .underContact_form dd.emailForm {
    padding-left: 112rem;
    position: relative;
  }
  .float_header .fv_menu {
    position: fixed;
    box-sizing: border-box;
    border-radius: 16rem;
    -webkit-border-radius: 16rem;
    -moz-border-radius: 16rem;
    background: #fff;
    border: solid 2px #333333;
    top: 55rem;
    left: 40rem;
    text-align: center;
    padding: 25rem 19rem 40rem;
    width: 168rem;
    z-index: 1;
  }
  .float_header .fv_menu .fv_menu_logo {
    margin-bottom: 24rem;
  }
  .float_header .fv_menu .fv_menu_logo img {
    width: 90rem;
  }
  .float_header .fv_menu .fv_menu_list {
    margin-bottom: 32rem;
  }
  .float_header .fv_menu .fv_menu_list li {
    text-align: left;
    font-size: 14rem;
    font-weight: 700;
    border-bottom: dotted 1px #333333;
  }
  .float_header .fv_menu .fv_menu_list li a {
    padding: 8rem 0;
    color: #333333;
    display: block;
  }
  .float_header .fv_menu .fv_menu_btn {
    font-size: 12rem;
    margin-bottom: 32rem;
  }
  .float_header .fv_menu .fv_menu_btn a {
    padding: 0.8em 0;
    display: block;
    color: #fff;
    box-sizing: border-box;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    background: #333333;
    border: solid 1px #333333;
  }
  .float_header .fv_menu .fv_menu_btn a:hover {
    background: #fff;
    color: #333333;
  }
  .float_header .fv_menu .fv_menu_sns {
    display: flex;
  }
  .float_header .fv_menu .fv_menu_sns div {
    width: 17rem;
    margin-right: 5rem;
  }
  #fv {
    background: #EBEBEB;
    height: 797rem;
    position: relative;
    overflow: hidden;
  }
  #fv .fv_menu {
    position: absolute;
    box-sizing: border-box;
    border-radius: 16rem;
    -webkit-border-radius: 16rem;
    -moz-border-radius: 16rem;
    background: #fff;
    border: solid 2px #333333;
    top: 55rem;
    left: 40rem;
    text-align: center;
    padding: 25rem 19rem 40rem;
    width: 168rem;
    z-index: 2;
  }
  #fv .fv_menu .fv_menu_logo {
    margin-bottom: 24rem;
  }
  #fv .fv_menu .fv_menu_logo img {
    width: 90rem;
  }
  #fv .fv_menu .fv_menu_list {
    margin-bottom: 32rem;
  }
  #fv .fv_menu .fv_menu_list li {
    text-align: left;
    font-size: 14rem;
    font-weight: 700;
    border-bottom: dotted 1px #333333;
  }
  #fv .fv_menu .fv_menu_list li a {
    padding: 8rem 0;
    color: #333333;
    display: block;
  }
  #fv .fv_menu .fv_menu_btn {
    font-size: 12rem;
    margin-bottom: 32rem;
  }
  #fv .fv_menu .fv_menu_btn a {
    padding: 0.8em 0;
    display: block;
    color: #fff;
    box-sizing: border-box;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    background: #333333;
    border: solid 1px #333333;
  }
  #fv .fv_menu .fv_menu_btn a:hover {
    background: #fff;
    color: #333333;
  }
  #fv .fv_menu .fv_menu_sns {
    display: flex;
  }
  #fv .fv_menu .fv_menu_sns div {
    width: 17rem;
    margin-right: 5rem;
  }
  #fv .fv_scroll {
    position: absolute;
    z-index: 2;
    left: 0;
    text-align: center;
    bottom: 39rem;
    width: 100%;
    font-weight: 700;
  }
  #fv .fv_scroll a {
    color: #333333;
    display: inline-block;
    font-size: 14rem;
    letter-spacing: 0.05em;
    position: relative;
  }
  #fv .fv_scroll a:before {
    content: "";
    display: block;
    width: 2px;
    height: 52rem;
    background: #333333;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 100%;
    margin-bottom: 9rem;
  }
  #fv .fv_hard {
    position: absolute;
    z-index: 2;
    width: 237rem;
    right: 70rem;
    top: 149rem;
  }
  #fv .fv_img1 {
    width: 400rem;
    position: absolute;
    left: 50%;
    top: 220rem;
    transform: translateX(-50%);
    z-index: 2;
  }
  #fv .fv_img1 img {
    opacity: 0;
  }
  #fv .fv_img2 {
    width: 715rem;
    position: absolute;
    left: 50%;
    top: 530rem;
    transform: translateX(-50%);
    z-index: 2;
  }
  #fv:before {
    content: "";
    display: block;
    width: 100%;
    height: 690rem;
    background: url("../img/mv_sankaku.png") no-repeat center top;
    background-size: cover;
    position: absolute;
    left: 0;
    width: 100%;
    top: 107rem;
    z-index: 1;
  }
  #abt {
    padding: 120rem 0;
  }
  #abt .abt_inner {
    width: 96%;
    max-width: 864rem;
    margin: 0 auto;
  }
  #abt .abt_inner .abt_head {
    display: flex;
    justify-content: space-between;
    margin-bottom: 24rem;
  }
  #abt .abt_inner .abt_head .abt_img {
    width: 45%;
    text-align: center;
  }
  #abt .abt_inner .abt_head .abt_img img {
    width: 100%;
    max-width: 243rem;
  }
  #abt .abt_inner .abt_head .abt_txt {
    width: 55%;
  }
  #abt .abt_inner .abt_head .abt_txt .abt_txt_en {
    font-size: 14rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 24rem;
  }
  #abt .abt_inner .abt_head .abt_txt .abt_txt_frame {
    font-size: 24rem;
    font-weight: 700;
    line-height: 1.5em;
    display: flex;
    justify-content: center;
    text-align: left;
    align-items: center;
    width: 100%;
    position: relative;
    margin-bottom: 20rem;
    padding: 30rem 0;
  }
  #abt .abt_inner .abt_head .abt_txt .abt_txt_frame:before {
    content: "";
    display: block;
    width: 53rem;
    height: 53rem;
    background: url("../img/about_kakko_01.png") no-repeat center;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 0;
  }
  #abt .abt_inner .abt_head .abt_txt .abt_txt_frame:after {
    content: "";
    display: block;
    width: 53rem;
    height: 53rem;
    background: url("../img/about_kakko_02.png") no-repeat center;
    background-size: contain;
    position: absolute;
    right: 0;
    bottom: 0;
  }
  #abt .abt_inner .abt_head .abt_txt .abt_txt_btn .btn01 {
    padding: 1.2em 0;
    font-size: 16rem;
  }
  #abt .abt_inner .abt_boxes {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  #abt .abt_inner .abt_boxes .abt_box {
    width: 31%;
    margin-bottom: 52rem;
    background: #fff;
    position: relative;
  }
  #abt .abt_inner .abt_boxes .abt_box:last-child {
    margin-bottom: 0;
  }
  #abt .abt_inner .abt_boxes .abt_box:nth-child(1) {
    margin-top: 112rem;
  }
  #abt .abt_inner .abt_boxes .abt_box:nth-child(2) {
    margin-top: 56rem;
  }
  #abt .abt_inner .abt_boxes .abt_box:before {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    background: #333333;
    border-radius: 8rem;
    -webkit-border-radius: 8rem;
    -moz-border-radius: 8rem;
    z-index: 1;
    position: absolute;
    right: -8rem;
    bottom: -8rem;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in {
    box-sizing: border-box;
    border: solid 2px #333333;
    border-radius: 0 8rem 8rem 8rem;
    position: relative;
    background: #fff;
    z-index: 3;
    padding: 35rem 20rem 25rem;
    display: flex;
    justify-content: center;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_ttl {
    position: absolute;
    background: #fff;
    display: inline-block;
    box-sizing: border-box;
    border: solid 2px #333333;
    font-size: 14rem;
    letter-spacing: 0.05em;
    line-height: 1.2em;
    width: 100rem;
    text-align: center;
    left: -2px;
    padding: 4rem 0 1rem;
    bottom: 100%;
    border-radius: 8rem 8rem 0 0;
    border-bottom: solid 2px #fff;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_ttl:before {
    content: "";
    display: block;
    background: #333333;
    width: 2px;
    height: 2px;
    position: absolute;
    left: -2px;
    bottom: -2px;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_set .abt_box_left {
    text-align: center;
    margin-bottom: 16rem;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_set .abt_box_left .img1 {
    width: 96rem;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_set .abt_box_left .img2 {
    width: 131rem;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_set .abt_box_left .img3 {
    width: 96rem;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_set .abt_box_right .abt_box_sub {
    font-size: 16rem;
    font-weight: 700;
    line-height: 1.5em;
    padding-bottom: 8rem;
    border-bottom: solid 1px #9A9A9A;
    margin-bottom: 11rem;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_set .abt_box_right .abt_box_txt {
    font-size: 12rem;
    line-height: 1.7em;
  }
  #fea {
    padding: 86rem 0;
  }
  #fea .fea_inner {
    width: 96%;
    max-width: 1070rem;
    margin: 0 auto;
    position: relative;
  }
  #fea .fea_inner .fea_btn {
    text-align: center;
    position: relative;
    z-index: 2;
  }
  #fea .fea_inner .fea_btn:before {
    content: "";
    background: url("../img/btn_icon.png") no-repeat center;
    background-size: contain;
    width: 45rem;
    height: 17rem;
    position: absolute;
    left: 50%;
    top: -30rem;
    transform: translateX(-50%);
  }
  #fea .fea_inner .fea_ttl {
    width: 10%;
    position: absolute;
    right: 0;
    top: 0;
    text-align: center;
    display: flex;
    justify-content: center;
    z-index: 2;
  }
  #fea .fea_inner .fea_ttl h2 {
    font-size: 24rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
    background: url("../img/fea_icon.png") no-repeat center top;
    background-size: 24rem;
    padding-top: 32rem;
  }
  #fea .fea_inner .fea_txt {
    z-index: 1;
    background: url("../img/fea_bg_01.png") no-repeat center;
    background-size: cover;
    width: 100%;
    max-width: 864rem;
    margin: 0 auto;
    position: relative;
    padding: 51rem 66rem;
    box-sizing: border-box;
    height: 500rem;
    margin-bottom: 200rem;
  }
  #fea .fea_inner .fea_txt .fea_txt_cont {
    position: absolute;
    right: 106rem;
    top: 51rem;
    width: 210rem;
  }
  #fea .fea_inner .fea_txt .fea_txt_img {
    width: 457rem;
    position: absolute;
    left: -40rem;
    bottom: -127rem;
  }
  #fea .fea_inner .fea_txt .fea_txt_ttl .fea_txt_ttl_en {
    font-size: 14rem;
    letter-spacing: 0.05em;
    margin-bottom: 8rem;
    font-weight: 700;
  }
  #fea .fea_inner .fea_txt .fea_txt_ttl .fea_txt_ttl_jp {
    font-size: 32rem;
    letter-spacing: 0.1em;
    font-weight: 700;
    line-height: 1.4em;
  }
  #fea .fea_inner .fea_txt .fea_txt_ttl .fea_txt_ttl_jp span {
    margin-bottom: 1rem;
    display: inline-block;
    border-bottom: solid 1px #333333;
  }
  body.locked {
    overflow: hidden; /* ページスクロールを無効化 */
  }
  body.locked-select {
    overflow: hidden; /* ページスクロールを無効化 */
  }
  body.locked-select1 {
    overflow: hidden; /* ページスクロールを無効化 */
  }
  body.locked-merit {
    overflow: hidden; /* ページスクロールを無効化 */
  }
  #merit {
    height: 800rem;
    box-sizing: border-box;
    padding-top: 75rem;
  }
  #merit .merit_inner {
    width: 96%;
    max-width: 1070rem;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  #merit .merit_inner .merit_left {
    padding-top: 60rem;
    width: 40%;
    text-align: center;
  }
  #merit .merit_inner .merit_left img {
    width: 80%;
  }
  #merit .merit_inner #merit_right::-webkit-scrollbar {
    display: none; /* Chrome, Safari */
  }
  #merit .merit_inner #merit_right {
    box-sizing: border-box;
    padding-top: 25rem;
    margin-top: 60rem;
    width: 50%;
    height: 660rem;
    padding-right: 8rem;
    max-height: 100vh; /* 画面高に合わせる */
    overflow-y: auto; /* merit_rightだけスクロール */
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box {
    margin-bottom: 52rem;
    background: #fff;
    position: relative;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box:last-child {
    margin-bottom: 0;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box:before {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    background: #333333;
    border-radius: 8rem;
    -webkit-border-radius: 8rem;
    -moz-border-radius: 8rem;
    z-index: 1;
    position: absolute;
    right: -8rem;
    bottom: -8rem;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in {
    box-sizing: border-box;
    border: solid 2px #333333;
    border-radius: 0 8rem 8rem 8rem;
    position: relative;
    background: #fff;
    z-index: 3;
    padding: 18rem 20rem 30rem;
    display: flex;
    justify-content: center;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in .merit_box_ttl {
    position: absolute;
    background: #fff;
    display: inline-block;
    box-sizing: border-box;
    border: solid 2px #333333;
    font-size: 14rem;
    letter-spacing: 0.05em;
    line-height: 1.2em;
    width: 100rem;
    text-align: center;
    left: -2px;
    padding: 4rem 0 1rem;
    bottom: 100%;
    border-radius: 8rem 8rem 0 0;
    border-bottom: solid 2px #fff;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in .merit_box_ttl:before {
    content: "";
    display: block;
    background: #333333;
    width: 2px;
    height: 2px;
    position: absolute;
    left: -2px;
    bottom: -2px;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in .merit_box_set {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in .merit_box_set .merit_box_left {
    text-align: center;
    width: 75rem;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in .merit_box_set .merit_box_right {
    width: calc(100% - 90rem);
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in .merit_box_set .merit_box_right .merit_box_sub {
    font-size: 16rem;
    line-height: 1.5em;
    padding-bottom: 8rem;
    border-bottom: solid 1px #9A9A9A;
    margin-bottom: 11rem;
    font-weight: 700;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in .merit_box_set .merit_box_right .merit_box_txt {
    font-size: 12rem;
    line-height: 1.7em;
  }
  #merit .merit_inner .merit_ttlbox {
    width: 10%;
    display: flex;
    justify-content: center;
  }
  #merit .merit_inner .merit_ttl {
    font-size: 24rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
    background: url("../img/merit_icon.png") no-repeat center top;
    background-size: 24rem;
    padding-top: 32rem;
  }
  #flowup2 {
    padding: 12rem 0;
    border-top: solid 2px #333333;
    border-bottom: solid 2px #333333;
  }
  #flowup2 .l1 {
    width: 51rem;
  }
  #flowup2 .l2 {
    width: 767rem;
  }
  #flowup2 .l3 {
    width: 59rem;
  }
  #flowup2 .scroll-infinity__list {
    align-items: center;
  }
  #flowup {
    padding: 12rem 0;
    border-top: solid 2px #333333;
    border-bottom: solid 2px #333333;
  }
  #flowup .l1 {
    width: 51rem;
  }
  #flowup .l2 {
    width: 767rem;
  }
  #flowup .l3 {
    width: 59rem;
  }
  #flowup .scroll-infinity__list {
    align-items: center;
  }
  footer {
    padding: 15rem 0 70rem;
    background: #333333;
    color: #fff;
  }
  footer .foot_belt {
    border-bottom: solid 1px #fff;
    padding-bottom: 15rem;
    margin-bottom: 100rem;
  }
  footer .footer_head {
    width: 864rem;
    margin: 0 auto 92rem;
  }
  footer .footer_head .footer_menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 37rem;
  }
  footer .footer_head .footer_menu .footer_logo {
    width: 242rem;
  }
  footer .footer_head .footer_menu .footer_nav {
    width: 507rem;
  }
  footer .footer_head .footer_menu .footer_nav ul {
    display: flex;
    justify-content: space-between;
  }
  footer .footer_head .footer_menu .footer_nav ul li {
    font-size: 20rem;
    line-height: 1.25em;
    font-weight: bold;
  }
  footer .footer_head .footer_menu .footer_nav ul li a {
    color: #fff;
  }
  footer .footer_head .footer_menu .footer_nav ul li a:hover {
    text-decoration: underline;
  }
  footer .footer_head .footer_info {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  footer .footer_head .footer_info .footer_btn {
    width: 255rem;
    display: flex;
    justify-content: space-between;
    position: absolute;
    right: 0;
    top: -12rem;
  }
  footer .footer_head .footer_info .footer_btn a {
    display: inline-block;
    width: 255rem;
    font-size: 16rem;
    padding: 1em 0;
    text-align: center;
    font-variation-settings: "wght" 700;
    color: #fff;
    box-sizing: border-box;
    border: solid 2rem #fff;
    border-radius: 100rem;
    transition: 0.3s;
    line-height: 1;
    position: relative;
    background: url("../img/arr_01.png") no-repeat #333333;
    background-size: 17rem;
    background-position: center right 13rem;
  }
  footer .footer_head .footer_info .footer_btn a:hover {
    color: #333333;
    background-color: #fff;
    background-image: url("../img/arr_01_on.png");
    transition: 0.3s;
  }
  footer .footer_head .footer_info .footer_address {
    font-size: 16rem;
    line-height: 1.5em;
  }
  footer .footer_head .footer_info .footer_address .c_name {
    font-weight: bold;
    margin-bottom: 19rem;
  }
  footer .footer_head .footer_info .privacy {
    width: 100%;
    font-size: 14rem;
    letter-spacing: 0.014em;
    line-height: 1.33em;
    text-align: right;
    line-height: 2em;
  }
  footer .footer_head .footer_info .privacy a {
    color: #fff;
  }
  footer .footer_head .footer_info .privacy a:hover {
    text-decoration: underline;
  }
  footer .footer_btm {
    width: 706rem;
    margin: 0 auto;
    text-align: center;
  }
  footer .footer_btm .copyright {
    margin-top: 40rem;
    font-size: 14rem;
    letter-spacing: 0.014em;
    line-height: 1.33em;
  }
  /*下層共通*/
  .under .inner {
    width: 864rem;
    margin: 0 auto;
    padding: 36rem 0 0;
  }
  .under .inner h2 {
    font-size: 56rem;
    letter-spacing: 0.028em;
    line-height: 1.26em;
    font-weight: bold;
    padding-bottom: 40rem;
    border-bottom: solid 3rem #3B4043;
  }
  /*インタビュー*/
  #inter .inter_cont {
    padding-top: 50rem;
    margin-bottom: 48rem;
  }
  #inter .inter_cont .inter_box {
    width: 100%;
    box-sizing: border-box;
    padding: 29rem;
    border-radius: 16rem;
    background: #fff;
    display: flex;
    justify-content: space-between;
    border: solid 3rem #fff;
    margin-bottom: 32rem;
    transition: 0.3s;
  }
  #inter .inter_cont .inter_box:last-child {
    margin-bottom: 0;
  }
  #inter .inter_cont .inter_box:hover {
    border: solid 3rem #3B4043;
    opacity: 1 !important;
  }
  #inter .inter_cont .inter_box .inter_box_img {
    width: 380rem;
    border-radius: 8rem;
    overflow: hidden;
  }
  #inter .inter_cont .inter_box .inter_box_img .img {
    width: 100%;
    height: 240rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }
  #inter .inter_cont .inter_box .inter_box_txt {
    width: 380rem;
  }
  #inter .inter_cont .inter_box .inter_box_txt .ttl {
    font-size: 20rem;
    line-height: 1.6em;
    font-weight: bold;
  }
  #inter .inter_cont .inter_box .inter_box_txt .txt {
    font-size: 12rem;
    line-height: 2em;
    height: 78rem;
    overflow: hidden;
    margin: 15rem 0 17rem;
  }
  #inter .inter_cont .inter_box .inter_box_txt .btm {
    display: flex;
    justify-content: space-between;
  }
  #inter .inter_cont .inter_box .inter_box_txt .btm .name {
    font-size: 14rem;
    line-height: 1.285em;
    color: #98A6B5;
  }
  #inter .inter_cont .inter_box .inter_box_txt .btm .time {
    font-size: 14rem;
    line-height: 1.4285em;
    font-variation-settings: "wght" 400;
    color: #98A6B5;
    padding-left: 25rem;
    background: url("../img/icon_time.png") no-repeat left center;
    background-size: 16rem;
  }
  #inter .pagenation {
    text-align: center;
    margin-bottom: 120rem;
  }
  #inter .pagenation a {
    display: inline-block;
    font-size: 18rem;
    line-height: 1.27em;
    color: #98A6B5;
    margin: 0 12rem;
    vertical-align: middle;
    transition: 0.3s;
  }
  #inter .pagenation a.page:hover {
    text-decoration: underline;
  }
  #inter .pagenation a.previouspostslink {
    width: 50rem;
    height: 50rem;
    margin-right: 22rem;
    background: url("../img/icon_arr_prev_on.png") no-repeat center;
    background-size: contain;
  }
  #inter .pagenation a.previouspostslink:hover {
    background: url("../img/icon_arr_prev.png") no-repeat center;
    background-size: contain;
  }
  #inter .pagenation a.nextpostslink {
    width: 50rem;
    height: 50rem;
    margin-left: 22rem;
    background: url("../img/icon_arr_next_on.png") no-repeat center;
    background-size: contain;
  }
  #inter .pagenation a.nextpostslink:hover {
    background: url("../img/icon_arr_next.png") no-repeat center;
    background-size: contain;
  }
  #inter .pagenation span {
    display: inline-block;
    font-size: 18rem;
    line-height: 1.27em;
    margin: 0 12rem;
    vertical-align: middle;
  }
  #inter .pagenation span.current {
    color: #3B4043;
  }
  /*インタビュー（詳細）*/
  #inter_d .inter_d_head {
    padding: 26rem 0 45rem;
    margin-bottom: 31rem;
    display: flex;
    justify-content: flex-start;
    border-bottom: solid 3rem #1A1A1A;
  }
  #inter_d .inter_d_head .inter_d_head_img {
    width: 387rem;
    border-radius: 8rem;
    overflow: hidden;
    margin-right: 45rem;
  }
  #inter_d .inter_d_head .inter_d_head_img .img {
    width: 100%;
    height: 244rem;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }
  #inter_d .inter_d_head .inter_d_head_txt {
    width: 379rem;
  }
  #inter_d .inter_d_head .inter_d_head_txt .ttl {
    font-size: 20rem;
    line-height: 1.6em;
    font-weight: bold;
    color: #1A1A1A;
    margin-bottom: 11rem;
  }
  #inter_d .inter_d_head .inter_d_head_txt .btm {
    display: flex;
    justify-content: space-between;
  }
  #inter_d .inter_d_head .inter_d_head_txt .btm .name {
    font-size: 14rem;
    line-height: 1.285em;
    color: #98A6B5;
  }
  #inter_d .inter_d_head .inter_d_head_txt .btm .time {
    font-size: 14rem;
    line-height: 1.4285em;
    font-variation-settings: "wght" 400;
    color: #98A6B5;
    padding-left: 25rem;
    background: url("../img/icon_time.png") no-repeat left center;
    background-size: 16rem;
  }
  #inter_d .inter_d_cont {
    margin-bottom: 90rem;
  }
  #inter_d .sns_share {
    padding-bottom: 55rem;
    margin-bottom: 120rem;
    border-bottom: solid 3rem #1A1A1A;
    text-align: center;
  }
  #inter_d .sns_share .sns_share_ttl {
    font-size: 20rem;
    letter-spacing: 0.01em;
    line-height: 1.25em;
    font-weight: bold;
    margin-bottom: 21rem;
  }
  #inter_d .sns_share ul {
    font-size: 0;
  }
  #inter_d .sns_share ul li {
    display: inline-block;
    width: 32rem;
    line-height: 0;
    margin: 0 8rem;
  }
  #inter_d .sns_share ul li a {
    display: block;
    width: 100%;
  }
  #inter_d .pagenation {
    display: flex;
    justify-content: space-between;
    margin-bottom: 100rem;
  }
  #inter_d .pagenation .btn {
    width: 420rem;
    text-align: center;
  }
  #inter_d .pagenation .btn a {
    display: block;
    width: 100%;
    height: 80rem;
    font-size: 16rem;
    font-variation-settings: "wght" 700;
    line-height: 74rem;
    color: #151515;
    box-sizing: border-box;
    border: solid 3rem #1A1A1A;
    border-radius: 16rem;
    background-repeat: no-repeat;
    background-size: 24rem;
  }
  #inter_d .pagenation .btn.prev a {
    background-image: url("../img/icon_arr_prev.png");
    background-position: left 24rem top 27rem;
  }
  #inter_d .pagenation .btn.next a {
    background-image: url("../img/icon_arr_next.png");
    background-position: right 24rem top 27rem;
  }
  /*問い合わせ*/
  #contact .contact_form {
    padding-top: 50rem;
    margin-bottom: 120rem;
  }
  #contact .contact_form table {
    width: 100%;
    margin-bottom: 40rem;
  }
  #contact .contact_form table tr th {
    width: 250rem;
    padding-top: 5rem;
    font-size: 16rem;
    line-height: 1.5em;
    font-weight: 500;
    text-align: left;
    vertical-align: top;
  }
  #contact .contact_form table tr th .hissu {
    position: relative;
  }
  #contact .contact_form table tr th .hissu::after {
    position: absolute;
    content: "必須";
    width: 57rem;
    height: 25rem;
    left: 0;
    bottom: -29rem;
    font-size: 12rem;
    line-height: 25rem;
    font-weight: 400;
    color: #fff;
    text-align: center;
    border-radius: 15rem;
    background: #3B4043;
  }
  #contact .contact_form table tr td {
    width: 613rem;
    font-size: 16rem;
    line-height: 1.5em;
    padding-bottom: 32rem;
  }
  #contact .contact_form table tr td input.txt {
    width: 100%;
    height: 62rem;
    border: solid 1rem #3B4043;
    border-radius: 8rem;
    box-sizing: border-box;
    font-size: 16rem;
    line-height: 1.5em;
    padding: 0 1em;
    font-family: "Noto Sans JP", serif;
  }
  #contact .contact_form table tr td textarea {
    width: 100%;
    height: 200rem;
    resize: none;
    border: solid 1rem #3B4043;
    border-radius: 8rem;
    box-sizing: border-box;
    font-size: 16rem;
    line-height: 1.5em;
    padding: 0.5em 1em;
    font-family: "Noto Sans JP", serif;
  }
  #contact .contact_form table tr td .check {
    margin-bottom: 8rem;
  }
  #contact .contact_form table tr td .check label {
    display: inline-block;
    padding-left: 32rem;
    font-size: 16rem;
    line-height: 1.5em;
    position: relative;
    cursor: pointer;
  }
  #contact .contact_form table tr td .check label input {
    display: none;
  }
  #contact .contact_form table tr td .check label span {
    display: inline-block;
  }
  #contact .contact_form table tr td .check label span:before {
    content: "";
    display: inline-block;
    width: 24rem;
    height: 24rem;
    border-width: 1rem;
    border-style: solid;
    border-color: #00446B;
    border-radius: 50%;
    padding: 3rem;
    box-sizing: border-box;
    top: 2rem;
    position: absolute;
    left: 0;
    background-color: #fff;
  }
  #contact .contact_form table tr td .check label span:after {
    content: "";
    display: inline-block;
    width: 24rem;
    height: 24rem;
    border-width: 1rem;
    border-style: solid;
    border-radius: 50%;
    border-color: #00446B;
    padding: 3rem;
    box-sizing: border-box;
    background-clip: content-box;
    top: 2rem;
    position: absolute;
    left: 0;
    background-color: #fff;
    display: none;
  }
  #contact .contact_form table tr td .check label input[type=checkbox]:checked + span:after {
    background-color: #00446B;
    display: block;
  }
  #contact .contact_form table tr td .privacy_txt {
    font-size: 14rem;
    letter-spacing: 0.07em;
    line-height: 1.428em;
    color: #676767;
  }
  #contact .contact_form table tr td .privacy_txt a {
    color: #1769F4;
    text-decoration: underline;
  }
  #contact .contact_form table tr:last-child td {
    padding-bottom: 0;
  }
  #contact .contact_form .btn {
    display: flex;
    justify-content: center;
  }
  #contact .contact_form .btn .submit {
    width: 252rem;
    height: 58rem;
    font-size: 16rem;
    line-height: 56rem;
    text-align: center;
    color: #fff;
    font-variation-settings: "wght" 700;
    background: #1A1A1A;
    border-radius: 29rem;
    border: solid 1rem #1A1A1A;
    box-sizing: border-box;
    transition: 0.3s;
    cursor: pointer;
  }
  #contact .contact_form .btn .submit:hover {
    color: #1A1A1A;
    background: #fff;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  .pconly {
    display: none !important;
  }
  html {
    font-size: 0.2544529262vw;
  }
  a.btn01 {
    display: inline-block;
    width: 320rem;
    font-size: 16rem;
    padding: 1.5em 0;
    text-align: center;
    font-variation-settings: "wght" 700;
    color: #fff;
    box-sizing: border-box;
    border: solid 2rem #fff;
    border-radius: 100rem;
    transition: 0.3s;
    line-height: 1;
    position: relative;
    background: url("../img/arr_01.png") no-repeat #333333;
    background-size: 20rem;
    background-position: center right 20rem;
  }
  a.btn01:hover {
    color: #333333;
    background-color: #fff;
    background-image: url("../img/arr_01_on.png");
    transition: 0.3s;
  }
  header {
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 20;
  }
  header .inner {
    width: 100%;
    box-sizing: border-box;
    padding: 23rem 20rem 0;
  }
  header .inner .logo {
    width: 67rem;
  }
  /*ハンバーガー メニュー*/
  nav.hum {
    display: block;
    position: fixed;
    top: 0;
    right: -100vw;
    /*bottom: 0;*/
    width: 100vw;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all 0.5s;
    z-index: 21;
    opacity: 1;
    background: #333333;
    box-sizing: border-box;
    padding-bottom: 50rem;
  }
  .open nav.hum {
    right: 0;
    opacity: 1;
  }
  nav.hum .hum_inner {
    padding-top: 23rem;
  }
  nav.hum .hum_inner .hum_logo {
    width: 67rem;
    margin-left: 20rem;
  }
  nav.hum .hum_inner .hum_cont {
    width: 320rem;
    margin: 38rem auto 0;
  }
  nav.hum .hum_inner .hum_cont ul {
    margin-bottom: 32rem;
  }
  nav.hum .hum_inner .hum_cont ul li {
    font-size: 32rem;
    letter-spacing: 0.05em;
    line-height: 1.25em;
    font-weight: 700;
    margin-bottom: 16rem;
  }
  nav.hum .hum_inner .hum_cont ul li:last-child {
    margin-bottom: 0;
  }
  nav.hum .hum_inner .hum_cont ul li a {
    color: #F2F2F2;
  }
  nav.hum .hum_inner .hum_cont .hum_btn {
    width: 316rem;
    margin: 0 auto 32rem;
    display: flex;
    justify-content: space-between;
  }
  nav.hum .hum_inner .hum_cont .hum_btn a {
    display: block;
    margin: 0 auto;
    width: 284rem;
    font-size: 14rem;
    padding: 16rem 0;
    color: #fff;
    background: url("../img/arr_01.png") no-repeat #333333;
    background-position: center right 20rem;
    background-size: 17rem;
    border: solid 1rem #fff;
    border-radius: 100rem;
    text-align: center;
  }
  nav.hum .hum_inner .hum_cont .address {
    font-size: 14rem;
    letter-spacing: 0.1em;
    line-height: 1.428em;
    font-weight: bold;
    color: #F2F2F2;
    margin-bottom: 32rem;
  }
  nav.hum .hum_inner .hum_cont .address span {
    display: inline-block;
    line-height: 1.71em;
    font-weight: 400;
    margin-top: 8rem;
  }
  nav.hum .hum_inner .hum_cont .hum_fix {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 32rem;
  }
  nav.hum .hum_inner .hum_cont .hum_fix .hum_fix_sns {
    display: flex;
    margin-bottom: 0;
  }
  nav.hum .hum_inner .hum_cont .hum_fix .hum_fix_sns li {
    width: 17rem;
    margin-right: 5rem;
    margin-bottom: 0;
  }
  nav.hum .hum_inner .hum_cont .privacy {
    font-size: 14rem;
    line-height: 1.5em;
    text-align: right;
  }
  nav.hum .hum_inner .hum_cont .privacy a {
    color: #F2F2F2;
  }
  nav.hum .hum_inner .hum_cont .hum_btm_logo {
    margin-bottom: 26rem;
  }
  nav.hum .hum_inner .hum_cont .copyright {
    font-size: 12rem;
    letter-spacing: 0.012em;
    line-height: 1.33em;
    color: #F2F2F2;
    text-align: center;
  }
  /*============
  .toggle_btn
  =============*/
  .toggle_btn {
    display: block;
    position: fixed;
    top: 24rem;
    right: 20rem;
    width: 48rem;
    height: 48rem;
    transition: all 0.5s;
    cursor: pointer;
    border-radius: 50%;
    box-sizing: border-box;
    background: #1A1A1A;
    border: solid 1rem #1A1A1A;
    z-index: 23;
  }
  .open .toggle_btn {
    background: #1A1A1A;
    border: solid 1rem #F2F2F2;
  }
  .toggle_btn span {
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 19.5rem;
    height: 2rem;
    background-color: #fff;
    transition: all 0.5s;
    border-radius: 100rem;
  }
  .toggle_btn span:nth-child(1) {
    top: 16rem;
  }
  .toggle_btn span:nth-child(2) {
    top: 21rem;
  }
  .toggle_btn span:nth-child(3) {
    top: 26rem;
  }
  .open .toggle_btn span:nth-child(1) {
    transform: translateX(-46%) translateY(4rem) rotate(-312deg);
    top: 18rem;
  }
  .open .toggle_btn span:nth-child(2) {
    transform: translateX(-44%) translateY(-4rem) rotate(310deg);
    top: 26rem;
  }
  .open .toggle_btn span:nth-child(3) {
    display: none;
  }
  /*============
  #mask
  =============*/
  #mask {
    display: none;
    transition: all 0.5s;
  }
  .open #mask {
    display: block;
    transition: all 0.5s;
    position: absolute;
    top: 13.73vw;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 20;
  }
  main {
    background: #FCFCFC;
  }
  #mv .inner {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 185rem 0 110rem;
    position: relative;
    overflow: hidden;
    mix-blend-mode: multiply;
  }
  #mv .inner h1 {
    display: inline-block;
    font-size: 32rem;
    letter-spacing: 0.04em;
    line-height: 1.42em;
    font-weight: bold;
    writing-mode: vertical-rl;
    text-align: left;
    margin-bottom: 140rem;
  }
  #mv .inner .mv_txt {
    width: 288rem;
    margin-left: 20rem;
    font-size: 24rem;
    line-height: 2.33em;
    font-weight: bold;
    text-align: left;
  }
  #mv .inner .circle_img01 {
    width: 96rem;
    position: absolute;
    left: 22rem;
    top: 90rem;
  }
  #mv .inner .circle_img02 {
    width: 103rem;
    position: absolute;
    left: -24rem;
    top: 220rem;
  }
  #mv .inner .circle_img03 {
    width: 127rem;
    position: absolute;
    right: -50rem;
    top: 212rem;
  }
  #mv .inner .circle_img04 {
    width: 140rem;
    position: absolute;
    right: 20rem;
    top: 374rem;
  }
  #mv .inner .circle {
    position: absolute;
    border-radius: 50%;
  }
  #mv .inner .circle.circle01 {
    width: 32rem;
    height: 32rem;
    background: #EF7F6A;
    top: 170rem;
    left: -9rem;
  }
  #mv .inner .circle.circle02 {
    width: 19rem;
    height: 19rem;
    background: #809BBE;
    top: 334rem;
    left: 48rem;
  }
  #mv .inner .circle.circle03 {
    width: 58rem;
    height: 58rem;
    background: #FCE673;
    top: 125rem;
    right: 28rem;
  }
  #mv .inner .circle.circle04 {
    width: 20rem;
    height: 20rem;
    background: #1769F4;
    top: 485rem;
    right: 174rem;
  }
  /*トップ共通*/
  .top_sec_inner {
    width: 353rem;
    margin: 0 auto 120rem;
    padding-top: 24rem;
    border-top: solid 3rem #1A1A1A;
  }
  .top_sec_inner2 {
    width: 100%;
    max-width: 353rem;
    margin: 0 auto;
  }
  .top_sec_ja_ttl {
    font-size: 14rem;
    line-height: 1.57em;
    font-weight: bold;
    color: #151515;
    font-family: "source-han-sans-jp-variable", sans-serif;
    font-variation-settings: "wght" 700;
    margin-bottom: 10rem;
    padding-left: 12rem;
    position: relative;
  }
  .top_sec_ja_ttl::before {
    position: absolute;
    content: "";
    width: 8rem;
    height: 8rem;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #1769F4;
    border-radius: 100%;
  }
  #top_about .inner {
    width: 100%;
    margin-bottom: 100rem;
  }
  #top_about .inner .top_about_head {
    width: 353rem;
    margin: 0 auto 120rem;
    border-top: solid 3rem #1A1A1A;
  }
  #top_about .inner .top_about_head .top_about_head_left {
    width: 100%;
    padding-top: 24rem;
    margin-bottom: 48rem;
  }
  #top_about .inner .top_about_head .top_about_head_left h2 {
    font-size: 30rem;
    line-height: 1.3em;
    letter-spacing: 0.015em;
    font-weight: bold;
    margin-bottom: 48rem;
  }
  #top_about .inner .top_about_head .top_about_head_left h3 {
    font-size: 24rem;
    line-height: 1.66em;
    font-weight: bold;
    margin-bottom: 32rem;
  }
  #top_about .inner .top_about_head .top_about_head_left .top_about_head_txt {
    font-size: 16rem;
    line-height: 2em;
  }
  #top_about .inner .top_about_head .top_about_head_img {
    width: 339rem;
    margin: 0 auto;
  }
  #top_about .inner .top_about_cont {
    width: 100%;
    border-radius: 32rem;
    overflow: hidden;
    box-sizing: border-box;
    background: #3B4043;
  }
  #top_about .inner .top_about_cont .top_about_box {
    text-align: center;
    color: #1A1A1A;
  }
  #top_about .inner .top_about_cont .top_about_box h3 {
    font-size: 24rem;
    line-height: 1.29em;
    margin-bottom: 4rem;
  }
  #top_about .inner .top_about_cont .top_about_box h3 span {
    display: inline-block;
    width: 122rem;
    margin-left: 10rem;
  }
  #top_about .inner .top_about_cont .top_about_box h4 {
    font-size: 14rem;
    line-height: 1.428em;
    font-variation-settings: "wght" 700;
    margin-bottom: 48rem;
  }
  #top_about .inner .top_about_cont .top_about_box .top_about_box_in {
    width: 354rem;
    margin: 0 auto;
  }
  #top_about .inner .top_about_cont .top_about_box .top_about_box_in .top_about_box_txt {
    text-align: left;
  }
  #top_about .inner .top_about_cont .top_about_box .top_about_box_in .top_about_box_txt h5 {
    font-size: 20rem;
    line-height: 1.6em;
    font-variation-settings: "wght" 700;
    margin: 48rem 0 24rem;
  }
  #top_about .inner .top_about_cont .top_about_box .top_about_box_in .top_about_box_txt .txt {
    font-size: 14rem;
    line-height: 1.71em;
  }
  #top_about .inner .top_about_cont .top_about_box.box01 {
    color: #fff;
    padding: 80rem 0;
  }
  #top_about .inner .top_about_cont .top_about_box.box01 .top_about_box_in .top_about_box_img {
    width: 318rem;
    margin-left: 21rem;
  }
  #top_about .inner .top_about_cont .top_about_box.box02 {
    padding: 77rem 0;
    background: #fff;
    border-radius: 32rem;
    border: solid 3rem #141414;
  }
  #top_about .inner .top_about_cont .top_about_box.box02 .top_about_box_in .top_about_box_img {
    width: 302rem;
    margin-left: 27rem;
  }
  #top_feature .top_sec_inner .top_sec_ja_ttl {
    margin-bottom: 48rem;
  }
  #top_feature .top_sec_inner .top_feature_cont:first-of-type {
    margin-bottom: 80rem;
  }
  #top_feature .top_sec_inner .top_feature_cont h2 {
    font-size: 30rem;
    line-height: 1.3em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 32rem;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box {
    width: 100%;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box .top_feature_box_img {
    width: 320rem;
    margin: 0 auto 32rem;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box .top_feature_box_txt {
    width: 100%;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box .top_feature_box_txt dl {
    width: 100%;
    box-sizing: border-box;
    padding: 16rem;
    background: #fff;
    border-radius: 11rem;
    margin-bottom: 16rem;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box .top_feature_box_txt dl:last-child {
    margin-bottom: 0;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box .top_feature_box_txt dl dt {
    font-size: 16rem;
    line-height: 1.5em;
    font-weight: bold;
    margin-bottom: 8rem;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box .top_feature_box_txt dl dt span {
    display: inline-block;
    margin-right: 4rem;
  }
  #top_feature .top_sec_inner .top_feature_cont .top_feature_box .top_feature_box_txt dl dd {
    font-size: 12rem;
    line-height: 1.66em;
  }
  #top_inter .top_sec_inner {
    position: relative;
  }
  #top_inter .top_sec_inner h2 {
    font-size: 30rem;
    line-height: 1.3em;
    font-weight: bold;
    margin-bottom: 48rem;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box {
    width: 359rem;
    position: relative;
    left: -3rem;
    box-sizing: border-box;
    padding: 21rem;
    border-radius: 16rem;
    background: #fff;
    border: solid 3rem #fff;
    margin-bottom: 32rem;
    transition: 0.3s;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box:last-child {
    margin-bottom: 0;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box:hover {
    border: solid 3rem #3B4043;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_img {
    width: 100%;
    border-radius: 8rem;
    overflow: hidden;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_img .img {
    width: 100%;
    height: 196rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_txt {
    width: 100%;
    padding-top: 32rem;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_txt .ttl {
    font-size: 18rem;
    line-height: 1.77em;
    font-weight: bold;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_txt .txt {
    font-size: 12rem;
    line-height: 2em;
    height: 78rem;
    overflow: hidden;
    margin: 16rem 0;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_txt .btm {
    display: flex;
    justify-content: space-between;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_txt .btm .name {
    font-size: 14rem;
    line-height: 1.285em;
    color: #98A6B5;
  }
  #top_inter .top_sec_inner .top_inter_cont .top_inter_box .top_inter_box_txt .btm .time {
    font-size: 14rem;
    line-height: 1.4285em;
    font-variation-settings: "wght" 400;
    color: #98A6B5;
    padding-left: 25rem;
    background: url("../img/icon_time.png") no-repeat left center;
    background-size: 16rem;
  }
  #top_inter .top_sec_inner .top_inter_btn {
    width: 156rem;
    font-size: 12rem;
    font-variation-settings: "wght" 700;
    text-align: center;
    position: absolute;
    top: 52rem;
    right: 0;
  }
  #top_inter .top_sec_inner .top_inter_btn a {
    display: block;
    width: 100%;
    height: 36rem;
    color: #fff;
    box-sizing: border-box;
    padding: 12rem 0;
    background: #1A1A1A;
    border: solid 1rem #1A1A1A;
    border-radius: 24rem;
    transition: 0.3s;
  }
  #top_inter .top_sec_inner .top_inter_btn a:hover {
    color: #1A1A1A;
    background: #fff;
  }
  #top_flow2 {
    padding: 60rem 0 0;
  }
  #top_flow2 .top_sec_en_ttl2 {
    text-align: center;
    font-size: 14rem;
    letter-spacing: 0.05em;
    font-weight: 700;
    margin-bottom: 3rem;
  }
  #top_flow2 .top_sec_inner2 {
    width: 100%;
    max-width: 100%;
  }
  #top_flow2 .top_sec_ja_ttl2 {
    text-align: center;
    margin-bottom: 40rem;
    font-size: 24rem;
    line-height: 1.5em;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  #top_flow2 .top_sec_ja_ttl2 span {
    display: inline-block;
    background: url("../img/flow_ttl_bg_sp.png") no-repeat center bottom;
    background-size: contain;
    padding-bottom: 30rem;
  }
  #top_flow2 .flow2_boxes {
    width: 353rem;
    margin: 0 auto;
  }
  #top_flow2 .flow2_boxes .flow2_box_arr {
    width: 16rem;
    margin: 16rem auto;
    text-align: center;
  }
  #top_flow2 .flow2_boxes .flow2_box_arr img {
    width: 16rem;
  }
  #top_flow2 .flow2_boxes .flow2_box {
    box-sizing: border-box;
    border: solid 2px #333333;
    border-radius: 8rem;
    -webkit-border-radius: 8rem;
    -moz-border-radius: 8rem;
    padding: 21rem 20rem 29rem;
  }
  #top_flow2 .flow2_boxes .flow2_box .flow2_box_step {
    font-size: 14rem;
    letter-spacing: 0.05em;
    font-weight: 700;
    text-align: center;
    margin-bottom: 30rem;
  }
  #top_flow2 .flow2_boxes .flow2_box .flow2_box_step span {
    display: inline-block;
    padding: 0 3em;
  }
  #top_flow2 .flow2_boxes .flow2_box .flow2_box_icon {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 26rem;
  }
  #top_flow2 .flow2_boxes .flow2_box:nth-child(1) .flow2_box_icon img {
    width: 100rem;
  }
  #top_flow2 .flow2_boxes .flow2_box:nth-child(3) .flow2_box_icon img {
    width: 58rem;
  }
  #top_flow2 .flow2_boxes .flow2_box:nth-child(5) .flow2_box_icon img {
    width: 78rem;
  }
  #top_flow2 .flow2_boxes .flow2_box .flow2_box_ttl {
    text-align: center;
    font-size: 16rem;
    line-height: 1.5em;
    font-weight: 700;
    padding-bottom: 16rem;
    border-bottom: solid 1px #9A9A9A;
    letter-spacing: 0.05em;
    margin-bottom: 16rem;
  }
  #top_flow2 .flow2_boxes .flow2_box .flow2_box_txt {
    font-size: 12rem;
    line-height: 1.6em;
  }
  #top_flow2 .flow2_boxes .flow2_box .flow2_box_biko {
    font-size: 9rem;
    line-height: 1.6em;
    margin-top: 5rem;
  }
  #top_flow2 .flow2_boxes .cs_box {
    margin-top: 80rem;
  }
  .cs_box {
    margin-top: 80rem;
  }
  .cs_box .cs_box_img {
    position: relative;
  }
  .cs_box .cs_box_img img {
    display: block;
  }
  .cs_box .cs_box_img .cs_box_img_btn {
    position: absolute;
    left: 0;
    width: 100%;
    top: 300rem;
    text-align: center;
  }
  .cs_box .cs_box_img .cs_box_img_btn a {
    width: 287rem;
  }
  .frame_ttl {
    text-align: center;
  }
  .frame_ttl .frame_ttl_en {
    display: inline-block;
    font-size: 12rem;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  .frame_ttl .frame_ttl_txt {
    display: inline-block;
    font-size: 16rem;
    line-height: 2em;
    font-weight: 700;
    letter-spacing: 0.05em;
    position: relative;
    margin-bottom: 40rem;
  }
  .frame_ttl .frame_ttl_txt:before {
    content: "";
    width: 27rem;
    height: 40rem;
    background: url("../img/select_01.png") no-repeat center;
    background-size: contain;
    display: block;
    position: absolute;
    left: -44rem;
    top: -2rem;
  }
  .frame_ttl .frame_ttl_txt:after {
    content: "";
    width: 27rem;
    height: 40rem;
    background: url("../img/select_02.png") no-repeat center;
    background-size: contain;
    display: block;
    position: absolute;
    right: -44rem;
    top: -2rem;
  }
  #top_flow .top_sec_inner h2 {
    font-size: 30rem;
    line-height: 1.3em;
    font-weight: bold;
    margin-bottom: 48rem;
  }
  #top_flow .top_sec_inner .top_flow_cont {
    width: 307rem;
    margin: 0 auto;
  }
  #top_flow .top_sec_inner .top_flow_cont .top_flow_box {
    display: flex;
    justify-content: space-between;
    position: relative;
    padding-bottom: 16rem;
  }
  #top_flow .top_sec_inner .top_flow_cont .top_flow_box::after {
    position: absolute;
    content: "";
    width: 2rem;
    height: 100%;
    left: 19rem;
    top: 4rem;
    background-image: linear-gradient(to bottom, #3B4043 3rem, transparent 3rem);
    background-size: 2rem 6rem;
    background-repeat: repeat-y;
    background-position: left bottom;
  }
  #top_flow .top_sec_inner .top_flow_cont .top_flow_box:last-child {
    padding-bottom: 0;
  }
  #top_flow .top_sec_inner .top_flow_cont .top_flow_box:last-child::after {
    display: none;
  }
  #top_flow .top_sec_inner .top_flow_cont .top_flow_box .top_flow_box_num {
    width: 39rem;
    height: 39rem;
    font-size: 17rem;
    line-height: 39rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    background: #3B4043;
    border-radius: 50%;
  }
  #top_flow .top_sec_inner .top_flow_cont .top_flow_box .top_flow_box_txt {
    width: 256rem;
    padding-top: 6rem;
  }
  #top_flow .top_sec_inner .top_flow_cont .top_flow_box .top_flow_box_txt h3 {
    font-size: 19rem;
    line-height: 1.42em;
    font-variation-settings: "wght" 700;
    margin-bottom: 8rem;
  }
  #top_flow .top_sec_inner .top_flow_cont .top_flow_box .top_flow_box_txt .txt {
    font-size: 12rem;
    line-height: 1.66em;
    font-variation-settings: "wght" 350;
  }
  #top_faq {
    background: #EBEBEB;
    padding: 50rem 0;
  }
  #top_faq .top_sec_en_ttl2 {
    text-align: center;
    font-size: 14rem;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
  #top_faq .top_sec_ja_ttl2 {
    text-align: center;
    font-size: 24rem;
    letter-spacing: 0.05em;
    line-height: 1.5em;
    font-weight: 700;
    margin-bottom: 40rem;
  }
  #top_faq .top_sec_ja_ttl2 span {
    display: inline-block;
    background: url("../img/faq_ttl_bg.png") no-repeat center bottom;
    background-size: contain;
    padding-bottom: 12rem;
  }
  #top_faq .top_sec_inner2 h2 {
    font-size: 30rem;
    line-height: 1.3em;
    font-weight: bold;
    margin-bottom: 48rem;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box {
    box-sizing: border-box;
    padding: 0 21rem;
    background: #fff;
    border: solid 3rem #fff;
    border-radius: 8rem;
    margin-bottom: 16rem;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box.open {
    border: solid 3rem #1A1A1A;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box:last-child {
    margin-bottom: 0;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .q_box {
    width: 100%;
    box-sizing: border-box;
    padding: 17rem 30rem 17rem 0;
    position: relative;
    display: flex;
    justify-content: flex-start;
    cursor: pointer;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .q_box .q_icon {
    font-size: 24rem;
    line-height: 1;
    font-weight: bold;
    margin-right: 12rem;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .q_box .q_txt {
    font-size: 16rem;
    line-height: 1.5em;
    font-variation-settings: "wght" 700;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .q_box span {
    display: block;
    width: 24rem;
    height: 24rem;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .q_box span::before {
    position: absolute;
    content: "";
    width: 24rem;
    height: 3rem;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #1A1A1A;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .q_box span::after {
    position: absolute;
    content: "";
    width: 24rem;
    height: 3rem;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    background: #1A1A1A;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .q_box.open span {
    right: 8rem;
    transform: translateY(-50%) rotate(-45deg);
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .a_box {
    display: none;
    box-sizing: border-box;
    padding-bottom: 13rem;
  }
  #top_faq .top_sec_inner2 .top_faq_cont .top_faq_box .a_box .a_txt {
    font-size: 14rem;
    line-height: 1.71em;
    font-variation-settings: "wght" 350;
  }
  .banner .top_sec_inner {
    padding: 0;
    border: none;
  }
  .banner .top_sec_inner .banner_box {
    width: 100%;
    height: 240rem;
    box-sizing: border-box;
    padding: 37rem 34rem 0;
    border: solid 3rem #1A1A1A;
    border-radius: 16rem;
    background: url("../img/icon_arr_01.png") no-repeat right 34rem bottom 34rem;
    background-size: 24rem;
  }
  .banner .top_sec_inner .banner_box:first-of-type {
    margin-bottom: 32rem;
  }
  .banner .top_sec_inner .banner_box .top_sec_ja_ttl {
    margin-bottom: 3rem;
  }
  .banner .top_sec_inner .banner_box h2 {
    font-size: 24rem;
    line-height: 1.29em;
    font-weight: bold;
  }
  .banner .top_sec_inner .banner_box .banner_box_img {
    width: 174rem;
  }
  .banner .top_sec_inner .banner_box.box01 .banner_box_img {
    margin-top: 22rem;
  }
  .banner .top_sec_inner .banner_box.box02 .banner_box_img {
    margin-top: 22rem;
  }
  .float {
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 10;
    background: #E1E8F4;
  }
  .float .inner {
    width: 281rem;
    margin: 0 auto;
    padding: 15rem 0;
  }
  .float .inner .float_left {
    text-align: center;
    margin-bottom: 10rem;
  }
  .float .inner .float_left .txt {
    font-size: 12rem;
    line-height: 1.416em;
    font-weight: bold;
    color: #151515;
  }
  .float .inner .float_right {
    display: flex;
    justify-content: space-between;
  }
  .float .inner .float_right a {
    display: block;
  }
  .float .inner .float_right a.app {
    width: 125rem;
  }
  .float .inner .float_right a.google {
    width: 140rem;
  }
  #select {
    box-sizing: border-box;
  }
  #select .select_box {
    background: #EBEBEB;
    padding-top: 23rem;
    position: relative;
  }
  #select .select_box:before {
    content: "";
    width: 100%;
    height: 3px;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    background: #EBEBEB;
    z-index: 3;
  }
  #select .select_box .select_box_inner {
    margin: 0 auto;
    position: relative;
  }
  #select .select_box .select_box_inner .select_box_ttl {
    margin-top: 31rem;
    width: 10%;
  }
  #select .select_box .select_box_inner .select_box_ttl h2 {
    position: absolute;
    top: 0;
    left: 28rem;
    font-size: 20rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
    background: url("../img/tab_icon.png") no-repeat center top;
    background-size: 24rem;
    padding-top: 32rem;
  }
  #select .select_box .select_box_inner #select_box_left::-webkit-scrollbar {
    display: none; /* Chrome, Safari */
  }
  #select .select_box .select_box_inner #select_box_left2::-webkit-scrollbar {
    display: none; /* Chrome, Safari */
  }
  #select .select_box .select_box_inner #select_box_left, #select .select_box .select_box_inner #select_box_left2 {
    margin-left: 77rem;
    width: calc(100% - 77rem);
    overflow-x: auto;
    overflow-y: visible;
    box-sizing: border-box;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes {
    padding-top: 31rem;
    width: 885rem;
    padding-right: 20rem;
    display: flex;
    white-space: nowrap;
    align-items: flex-start;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box {
    position: relative;
    margin-bottom: 55rem;
    width: 279rem;
    margin-right: 24rem;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box span.s1, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box span.s1 {
    position: absolute;
    right: 46%;
    bottom: -42rem;
    width: 0;
    box-sizing: border-box;
    height: 0;
    border-left: 33rem solid transparent; /* 左側の透明な三角 */
    border-right: 33rem solid transparent; /* 右側の透明な三角 */
    border-bottom: 60rem solid #333;
    z-index: 3;
    transform: rotate(-62deg);
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box span.s2, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box span.s2 {
    position: absolute;
    box-sizing: border-box;
    right: 48%;
    bottom: -25rem;
    width: 0;
    height: 0;
    border-left: 28rem solid transparent; /* 左側の透明な三角 */
    border-right: 28rem solid transparent; /* 右側の透明な三角 */
    border-bottom: 50rem solid #fff;
    z-index: 4;
    transform: rotate(-62deg);
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box:last-child, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box:last-child {
    margin-right: 0;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box:before, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box:before {
    content: "";
    display: block;
    z-index: 1;
    position: absolute;
    bottom: -9rem;
    right: -9rem;
    width: 100%;
    height: 100%;
    background: #333333;
    border-radius: 8rem;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box .select_box_box_in, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box .select_box_box_in {
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    background: #fff;
    border-radius: 8rem;
    border: solid 2px #333333;
    text-align: left;
    padding: 41rem 26rem 40rem;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box .select_box_box_in .select_box_box_ttl, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box .select_box_box_in .select_box_box_ttl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14rem 0;
    border-bottom: solid 1px #9A9A9A;
    margin-bottom: 16rem;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box .select_box_box_in .select_box_box_ttl .select_box_box_ttl_icon, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box .select_box_box_in .select_box_box_ttl .select_box_box_ttl_icon {
    position: absolute;
    left: 9rem;
    top: -31rem;
    color: #fff;
    font-weight: 700;
    width: 58rem;
    height: 58rem;
    background: url("../img/tab_icon2.png") no-repeat center;
    background-size: contain;
    font-size: 12rem;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box .select_box_box_in .select_box_box_ttl .select_box_box_ttl_txt, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box .select_box_box_in .select_box_box_ttl .select_box_box_ttl_txt {
    font-size: 16rem;
    line-height: 1.5em;
    font-weight: 700;
    white-space: normal;
  }
  #select .select_box .select_box_inner #select_box_left .select_box_boxes .select_box_box .select_box_box_in .txt, #select .select_box .select_box_inner #select_box_left2 .select_box_boxes .select_box_box .select_box_box_in .txt {
    line-height: 1.7em;
    font-size: 12rem;
    box-sizing: border-box;
    white-space: normal;
  }
  #select .select_box .select_box_inner .select_box_right {
    width: 353rem;
    margin: 0 auto;
    text-align: center;
    padding-top: 25rem;
    padding-bottom: 100rem;
  }
  #select .select_tab {
    border-bottom: solid 3px #333333;
    display: flex;
    justify-content: space-between;
  }
  #select .select_tab .select_tab_list {
    margin: 0 2rem;
    width: 50%;
    box-sizing: border-box;
    text-align: center;
    position: relative;
  }
  #select .select_tab .select_tab_list:nth-child(1) {
    margin-left: 10rem;
  }
  #select .select_tab .select_tab_list:nth-child(2) {
    margin-right: 10rem;
  }
  #select .select_tab .select_tab_list input {
    display: none;
  }
  #select .select_tab .select_tab_list input[type=radio]:checked + label + .bord {
    position: absolute;
    height: 6px;
    background: #fff;
    width: 100%;
    left: -12px;
    bottom: -5px;
    z-index: 1;
    padding: 0 12px;
  }
  #select .select_tab .select_tab_list input[type=radio]:checked + label {
    color: #333333;
    border-top: solid 3px #333333;
    border-right: solid 3px #333333;
    border-left: solid 3px #333333;
  }
  #select .select_tab .select_tab_list input[type=radio]:checked + label:before {
    content: "";
    display: block;
    width: 5px;
    height: 20px;
    background: #fff;
    position: absolute;
    left: -4px;
    bottom: 0;
  }
  #select .select_tab .select_tab_list input[type=radio]:checked + label:after {
    content: "";
    display: block;
    width: 5px;
    height: 20px;
    background: #fff;
    position: absolute;
    right: -4px;
    bottom: 0;
  }
  #select .select_tab .select_tab_list input[type=radio]:checked + label span:before {
    content: "";
    display: block;
    height: 20px;
    width: 20px;
    border-radius: 0 0 10px 0;
    position: absolute;
    left: -23px;
    bottom: -3px;
    border-right: solid 3px #333333;
    border-bottom: solid 3px #333333;
    z-index: 3;
  }
  #select .select_tab .select_tab_list input[type=radio]:checked + label span:after {
    content: "";
    display: block;
    height: 20px;
    width: 20px;
    border-radius: 0 0 0 10px;
    position: absolute;
    right: -23px;
    bottom: -3px;
    border-left: solid 3px #333333;
    border-bottom: solid 3px #333333;
    z-index: 3;
  }
  #select .select_tab .select_tab_list label {
    padding: 10rem 0 11rem;
    display: block;
    position: relative;
    color: #9A9A9A;
    border-top: solid 3px #9A9A9A;
    border-right: solid 3px #9A9A9A;
    border-left: solid 3px #9A9A9A;
    border-radius: 8rem 8rem 0 0;
    background: #fff;
  }
  #select .select_tab .select_tab_list label:before {
    content: "";
    display: block;
    width: 3px;
    height: 9px;
    background: #fff;
    position: absolute;
    left: -3px;
    bottom: 0;
  }
  #select .select_tab .select_tab_list label:after {
    content: "";
    display: block;
    width: 3px;
    height: 9px;
    background: #fff;
    position: absolute;
    right: -3px;
    bottom: 0;
  }
  #select .select_tab .select_tab_list label .select_tab_list_ttl {
    font-size: 12rem;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  #select .select_tab .select_tab_list label .select_tab_list_sub {
    font-size: 14rem;
    line-height: 2em;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  .commonPage h1 {
    font-size: 20rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6em;
    padding-left: 24rem;
    background: url("../img/icon_ttl.png") no-repeat;
    background-size: 17rem;
    background-position: left 0 top 8rem;
    margin-bottom: 16rem;
  }
  .commonPage .gaiyo {
    font-size: 14rem;
    letter-spacing: 0.1em;
    line-height: 1.6em;
    margin-bottom: 16rem;
  }
  .commonPage h2 {
    font-size: 16rem;
    font-weight: 700;
    line-height: 1.5em;
    background: #EBEBEB;
    border-left: solid 5px #333333;
    padding: 8rem 15rem;
    margin-bottom: 16rem;
    margin-top: 32rem;
  }
  .commonPage h3 {
    font-size: 14rem;
    line-height: 1.5em;
    padding-bottom: 8rem;
    margin-bottom: 16rem;
    border-bottom: solid 1px #707070;
    margin-top: 28rem;
    font-weight: 700;
  }
  .commonPage p {
    font-size: 12rem;
    line-height: 1.7em;
    margin-bottom: 1em;
  }
  .comBox_txt {
    text-align: center;
    font-size: 14rem;
    line-height: 1.4em;
    font-weight: 700;
  }
  .comBox_txt a {
    color: #333333;
    text-decoration: underline;
  }
  .comBox {
    position: relative;
    margin-bottom: 47rem;
  }
  .comBox:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #333333;
    position: absolute;
    right: -8rem;
    bottom: -8rem;
    border-radius: 8rem;
  }
  .comBox .comBox_inner {
    background: #FCFCFC;
    box-sizing: border-box;
    border: solid 2px #333333;
    border-radius: 0 8rem 8rem 8rem;
    padding: 23rem;
    position: relative;
    z-index: 2;
  }
  .comBox .comBox_inner .comBox_ttl {
    z-index: 2;
    position: absolute;
    left: -2px;
    bottom: 100%;
    border-radius: 8rem 8rem 0 0;
    box-sizing: border-box;
    border: solid 2px #333333;
    background: #FCFCFC;
    font-size: 14rem;
    letter-spacing: 0.05em;
    width: 150rem;
    text-align: center;
    line-height: 2em;
    border-bottom: none;
  }
  .comBox .comBox_inner .comBox_ttl:before {
    content: "";
    height: 4px;
    width: 100%;
    background: #FCFCFC;
    display: block;
    position: absolute;
    left: 0;
    right: auto;
    bottom: -2px;
  }
  .comBox .comBox_inner .comBox_box .comBox_left {
    margin-bottom: 24rem;
  }
  .comBox .comBox_inner .comBox_box .comBox_left img {
    width: 200rem;
  }
  .comBox .comBox_inner .comBox_box .comBox_right .comBox_box_ttl {
    font-size: 14rem;
    line-height: 1.7em;
    font-weight: 700;
    border-bottom: solid 1px #9A9A9A;
    margin-bottom: 12rem;
    padding-bottom: 9rem;
  }
  .comBox .comBox_inner .comBox_box .comBox_right .comBox_box_txt {
    font-size: 12rem;
  }
  #undercon {
    width: 100%;
    margin: 0 auto;
    background: #fff;
    box-sizing: border-box;
    padding: 130rem 20rem 70rem;
  }
  #undercon .undercon_en {
    text-align: center;
    font-size: 14rem;
    line-height: 1.5em;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
  #undercon .undercon_ttl {
    font-weight: 700;
    text-align: center;
    font-size: 24rem;
    line-height: 1.5em;
    letter-spacing: 0.05em;
    margin-bottom: 66rem;
    position: relative;
    padding-bottom: 14rem;
  }
  #undercon .undercon_ttl:before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    height: 12rem;
    width: 176rem;
    background: url("../img/under_ttl.png") no-repeat center;
    background-size: contain;
  }
  .underContact .ppArea {
    background: #FCFCFC;
    border-radius: 8rem;
    box-sizing: border-box;
    padding: 24rem;
  }
  .underContact .ppArea .ppArea_ttl {
    text-align: center;
    font-size: 14rem;
    line-height: 2em;
    font-weight: 700;
    margin-bottom: 16rem;
  }
  .underContact .ppArea .ppArea_ttl span {
    color: #FF2C2C;
    font-size: 12rem;
    font-weight: 400;
    display: inline-block;
    margin-left: 10rem;
    vertical-align: middle;
  }
  .underContact .ppArea .ppArea_txt {
    background: #fff;
    box-sizing: border-box;
    padding: 18rem 27rem;
    overflow-y: scroll;
    height: 150rem;
    margin-bottom: 16rem;
    font-size: 12rem;
    line-height: 1.7em;
  }
  .underContact .ppArea .ppArea_check {
    text-align: center;
    font-size: 12rem;
  }
  .underContact .ppArea .ppArea_check input[type=checkbox] {
    display: none;
  }
  .underContact .ppArea .ppArea_check input[type=checkbox]:checked + label {
    background-image: url("../img/icon_check_02.png");
  }
  .underContact .ppArea .ppArea_check label {
    display: inline-block;
    background: url("../img/icon_check_01.png") no-repeat center left;
    padding-left: 1.4em;
    background-size: 12rem;
  }
  .underContact .underContact_submit {
    margin-top: 56rem;
    text-align: center;
  }
  .underContact .underContact_submit input[type=submit] {
    color: #fff;
    width: 320rem;
    background: url("../img/arr_01.png") no-repeat #333333;
    border: solid 2px #333333;
    box-sizing: border-box;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    font-size: 16rem;
    padding: 1em 0;
    background-size: 20rem;
    background-position: center right 18rem;
  }
  .underContact .underContact_submit input[type=submit]:hover {
    background-color: #fff;
    color: #333333;
    background-image: url("../img/arr_01_on.png");
  }
  .underContact .underContact_form {
    margin-bottom: 24rem;
  }
  .underContact .underContact_form dt {
    font-size: 14rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 8rem;
  }
  .underContact .underContact_form dt span {
    color: #FF2C2C;
    font-size: 12rem;
    font-weight: 400;
    display: inline-block;
    margin-left: 10rem;
    vertical-align: middle;
  }
  .underContact .underContact_form .or {
    font-size: 12rem;
    padding: 8rem 12rem;
    box-sizing: border-box;
    line-height: 2em;
  }
  .underContact .underContact_form dd {
    box-sizing: border-box;
    border-radius: 8rem;
    -webkit-border-radius: 8rem;
    -moz-border-radius: 8rem;
    width: 100%;
    border: solid 2px #333333;
    padding: 10rem 16rem;
  }
  .underContact .underContact_form dd.check {
    border: none;
    padding: 0;
    padding-top: 10rem;
    font-size: 12rem;
  }
  .underContact .underContact_form dd.check input[type=checkbox] {
    display: none;
  }
  .underContact .underContact_form dd.check input[type=checkbox]:checked + label {
    background-image: url("../img/icon_check_02.png");
  }
  .underContact .underContact_form dd.check label {
    display: inline-block;
    background: url("../img/icon_check_01.png") no-repeat center left;
    padding-left: 1.4em;
    margin-right: 1em;
    background-size: 12rem;
  }
  .underContact .underContact_form dd input[type=text] {
    width: 100%;
    background: none;
    border: none;
    font-size: 16rem;
  }
  .underContact .underContact_form dd input[type=email] {
    width: 100%;
    background: none;
    border: none;
    font-size: 16rem;
  }
  .underContact .underContact_form dd input[type=tel] {
    width: 100%;
    background: none;
    border: none;
    font-size: 16rem;
  }
  .underContact .underContact_form dd textarea {
    width: 100%;
    background: none;
    border: none;
    font-size: 16rem;
    height: 180rem;
  }
  .underContact .underContact_form dd .ttl {
    position: absolute;
    left: 16rem;
    top: 14rem;
    font-size: 12rem;
    font-weight: 700;
  }
  .underContact .underContact_form dd.telForm {
    padding-left: 72rem;
    position: relative;
  }
  .underContact .underContact_form dd.emailForm {
    padding-left: 112rem;
    position: relative;
  }
  .float_header .fv_menu {
    position: fixed;
    box-sizing: border-box;
    border-radius: 16rem;
    -webkit-border-radius: 16rem;
    -moz-border-radius: 16rem;
    background: #fff;
    border: solid 2px #333333;
    top: 55rem;
    left: 40rem;
    text-align: center;
    padding: 25rem 19rem 40rem;
    width: 168rem;
    z-index: 1;
  }
  .float_header .fv_menu .fv_menu_logo {
    margin-bottom: 24rem;
  }
  .float_header .fv_menu .fv_menu_logo img {
    width: 90rem;
  }
  .float_header .fv_menu .fv_menu_list {
    margin-bottom: 32rem;
  }
  .float_header .fv_menu .fv_menu_list li {
    text-align: left;
    font-size: 14rem;
    font-weight: 700;
    border-bottom: dotted 1px #333333;
  }
  .float_header .fv_menu .fv_menu_list li a {
    padding: 8rem 0;
    color: #333333;
    display: block;
  }
  .float_header .fv_menu .fv_menu_btn {
    font-size: 12rem;
    margin-bottom: 32rem;
  }
  .float_header .fv_menu .fv_menu_btn a {
    padding: 0.8em 0;
    display: block;
    color: #fff;
    box-sizing: border-box;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    background: #333333;
    border: solid 1px #333333;
  }
  .float_header .fv_menu .fv_menu_btn a:hover {
    background: #fff;
    color: #333333;
  }
  .float_header .fv_menu .fv_menu_sns {
    display: flex;
  }
  .float_header .fv_menu .fv_menu_sns div {
    width: 17rem;
    margin-right: 5rem;
  }
  #fv {
    background: #EBEBEB;
    height: 787rem;
    position: relative;
    overflow: hidden;
  }
  #fv .fv_scroll {
    position: absolute;
    z-index: 2;
    left: 0;
    text-align: center;
    bottom: 39rem;
    width: 100%;
    font-weight: 700;
  }
  #fv .fv_scroll a {
    color: #333333;
    display: inline-block;
    font-size: 14rem;
    letter-spacing: 0.05em;
    position: relative;
  }
  #fv .fv_scroll a:before {
    content: "";
    display: block;
    width: 2px;
    height: 32rem;
    background: #333333;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 100%;
    margin-bottom: 9rem;
  }
  #fv .fv_hard {
    position: absolute;
    z-index: 2;
    width: 200rem;
    right: 12rem;
    top: 112rem;
  }
  #fv .fv_img1 {
    width: 276rem;
    position: absolute;
    left: 50%;
    top: 299rem;
    transform: translateX(-50%);
    z-index: 2;
  }
  #fv .fv_img1 img {
    opacity: 0;
  }
  #fv .fv_img2 {
    width: 326rem;
    position: absolute;
    left: 50%;
    top: 547rem;
    transform: translateX(-50%);
    z-index: 2;
  }
  #fv:before {
    content: "";
    display: block;
    width: 100%;
    height: 690rem;
    background: url("../img/mv_sankaku.png") no-repeat center top;
    background-size: cover;
    position: absolute;
    left: 0;
    width: 100%;
    top: 192rem;
    z-index: 1;
  }
  #abt {
    padding: 322rem 0 113rem;
    overflow: hidden;
  }
  #abt .abt_inner {
    width: 353rem;
    margin: 0 auto;
  }
  #abt .abt_inner .abt_head {
    position: relative;
  }
  #abt .abt_inner .abt_head .abt_img {
    width: 429rem;
    position: absolute;
    right: -120rem;
    top: -297rem;
  }
  #abt .abt_inner .abt_head .abt_img img {
    width: 100%;
  }
  #abt .abt_inner .abt_head .abt_txt .abt_txt_en {
    font-size: 14rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 24rem;
  }
  #abt .abt_inner .abt_head .abt_txt .abt_txt_frame {
    font-size: 24rem;
    font-weight: 700;
    line-height: 2em;
    display: flex;
    justify-content: center;
    text-align: left;
    align-items: center;
    width: 100%;
    position: relative;
    margin-bottom: 20rem;
    padding: 30rem 0;
  }
  #abt .abt_inner .abt_head .abt_txt .abt_txt_frame:before {
    content: "";
    display: block;
    width: 34rem;
    height: 34rem;
    background: url("../img/about_kakko_01.png") no-repeat center;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 0;
  }
  #abt .abt_inner .abt_head .abt_txt .abt_txt_frame:after {
    content: "";
    display: block;
    width: 34rem;
    height: 34rem;
    background: url("../img/about_kakko_02.png") no-repeat center;
    background-size: contain;
    position: absolute;
    right: 0;
    bottom: 0;
  }
  #abt .abt_inner .abt_head .abt_txt .abt_txt_btn {
    text-align: center;
    padding: 20rem 0 149rem;
  }
  #abt .abt_inner .abt_head .abt_txt .abt_txt_btn .btn01 {
    padding: 1.2em 0;
    font-size: 16rem;
  }
  #abt .abt_inner .abt_boxes {
    padding: 0 20rem;
    box-sizing: border-box;
  }
  #abt .abt_inner .abt_boxes .slick-dots {
    text-align: center;
  }
  #abt .abt_inner .abt_boxes .slick-dots li.slick-active button {
    background-image: url("../img/dot_01.png");
  }
  #abt .abt_inner .abt_boxes .slick-dots li button {
    width: 16rem;
    height: 16rem;
    background: url("../img/dot_02.png") no-repeat center;
    display: block;
    background-size: contain;
  }
  #abt .abt_inner .abt_boxes .abt_box {
    box-sizing: border-box;
    margin: 0 19rem;
    padding: 30rem 0;
    position: relative;
  }
  #abt .abt_inner .abt_boxes .abt_box:last-child {
    margin-bottom: 0;
  }
  #abt .abt_inner .abt_boxes .abt_box:before {
    content: "";
    display: block;
    height: calc(100% - 60rem);
    width: 100%;
    background: #333333;
    border-radius: 8rem;
    -webkit-border-radius: 8rem;
    -moz-border-radius: 8rem;
    z-index: 1;
    position: absolute;
    right: -8rem;
    bottom: 24rem;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in {
    box-sizing: border-box;
    border: solid 2px #333333;
    border-radius: 0 8rem 8rem 8rem;
    position: relative;
    background: #fff;
    z-index: 3;
    padding: 35rem 20rem 25rem;
    display: flex;
    justify-content: center;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_ttl {
    position: absolute;
    background: #fff;
    display: inline-block;
    box-sizing: border-box;
    border: solid 2px #333333;
    font-size: 14rem;
    letter-spacing: 0.01em;
    line-height: 1.2em;
    width: 100rem;
    text-align: center;
    left: -2px;
    padding: 5rem 0 1rem;
    bottom: 100%;
    border-radius: 8rem 8rem 0 0;
    border-bottom: solid 2px #fff;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_ttl:before {
    content: "";
    display: block;
    background: #333333;
    width: 2px;
    height: 2px;
    position: absolute;
    left: -2px;
    bottom: -2px;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_set .abt_box_left {
    text-align: center;
    margin-bottom: 16rem;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_set .abt_box_left .img1 {
    width: 96rem;
    margin: 0 auto;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_set .abt_box_left .img2 {
    width: 131rem;
    margin: 0 auto;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_set .abt_box_left .img3 {
    width: 96rem;
    margin: 0 auto;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_set .abt_box_right .abt_box_sub {
    font-size: 16rem;
    font-weight: 700;
    line-height: 1.5em;
    padding-bottom: 8rem;
    border-bottom: solid 1px #9A9A9A;
    margin-bottom: 11rem;
  }
  #abt .abt_inner .abt_boxes .abt_box .abt_box_in .abt_box_set .abt_box_right .abt_box_txt {
    font-size: 12rem;
    line-height: 1.7em;
  }
  #fea {
    padding: 55rem 0;
  }
  #fea .fea_inner {
    position: relative;
  }
  #fea .fea_inner .fea_btn {
    text-align: center;
    position: relative;
    z-index: 2;
  }
  #fea .fea_inner .fea_btn:before {
    content: "";
    background: url("../img/btn_icon.png") no-repeat center;
    background-size: contain;
    width: 45rem;
    height: 17rem;
    position: absolute;
    left: 50%;
    top: -30rem;
    transform: translateX(-50%);
  }
  #fea .fea_inner .fea_ttl {
    position: absolute;
    right: 30rem;
    top: -158rem;
    text-align: center;
    display: flex;
    justify-content: center;
    z-index: 2;
  }
  #fea .fea_inner .fea_ttl h2 {
    font-size: 20rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
    background: url("../img/fea_icon.png") no-repeat center top;
    background-size: contain;
    padding-top: 32rem;
  }
  #fea .fea_inner .fea_txt {
    z-index: 1;
    background: url("../img/fea_bg_01_sp.png") no-repeat center;
    background-size: cover;
    width: 100%;
    margin: 158rem auto 80rem;
    position: relative;
    padding: 333rem 0 85rem;
    box-sizing: border-box;
  }
  #fea .fea_inner .fea_txt .fea_txt_cont {
    text-align: center;
  }
  #fea .fea_inner .fea_txt .fea_txt_cont img {
    width: 213rem;
  }
  #fea .fea_inner .fea_txt .fea_txt_img {
    position: absolute;
    text-align: center;
    left: 0;
    top: 36rem;
    width: 100%;
  }
  #fea .fea_inner .fea_txt .fea_txt_img img {
    width: 262rem;
  }
  #fea .fea_inner .fea_txt .fea_txt_ttl {
    position: absolute;
    left: 28rem;
    top: -158rem;
  }
  #fea .fea_inner .fea_txt .fea_txt_ttl .fea_txt_ttl_en {
    font-size: 14rem;
    letter-spacing: 0.05em;
    margin-bottom: 8rem;
    font-weight: 700;
  }
  #fea .fea_inner .fea_txt .fea_txt_ttl .fea_txt_ttl_jp {
    font-size: 28rem;
    letter-spacing: 0.1em;
    font-weight: 700;
    line-height: 1.7em;
  }
  #fea .fea_inner .fea_txt .fea_txt_ttl .fea_txt_ttl_jp span {
    margin-bottom: 6rem;
    display: inline-block;
    border-bottom: solid 1px #333333;
  }
  body.locked {
    overflow: hidden; /* ページスクロールを無効化 */
  }
  body.locked-select {
    overflow: hidden; /* ページスクロールを無効化 */
  }
  body.locked-select1 {
    overflow: hidden; /* ページスクロールを無効化 */
  }
  body.locked-merit {
    overflow: hidden; /* ページスクロールを無効化 */
  }
  #merit {
    box-sizing: border-box;
    padding-top: 65rem;
  }
  #merit .merit_inner {
    position: relative;
    padding-bottom: 77rem;
  }
  #merit .merit_inner .merit_left {
    text-align: center;
    padding-top: 80rem;
  }
  #merit .merit_inner .merit_left img {
    position: relative;
    right: -30rem;
    width: 278rem;
  }
  #merit .merit_inner #merit_right::-webkit-scrollbar {
    display: none; /* Chrome, Safari */
  }
  #merit .merit_inner #merit_right {
    box-sizing: border-box;
    padding-top: 25rem;
    margin-top: 60rem;
    margin-left: 28rem;
    width: calc(100% - 28rem);
    padding-right: 8rem;
    overflow-x: scroll; /* merit_rightだけスクロール */
  }
  #merit .merit_inner #merit_right .merit_boxes {
    display: flex;
    width: 1789rem;
    padding-bottom: 8rem;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box {
    width: 345rem;
    background: #fff;
    position: relative;
    margin-right: 24rem;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box:last-child {
    margin-right: 0;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box:before {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    background: #333333;
    border-radius: 8rem;
    -webkit-border-radius: 8rem;
    -moz-border-radius: 8rem;
    z-index: 1;
    position: absolute;
    right: -8rem;
    bottom: -8rem;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in {
    box-sizing: border-box;
    border: solid 2px #333333;
    border-radius: 0 8rem 8rem 8rem;
    position: relative;
    background: #fff;
    z-index: 3;
    height: 100%;
    padding: 18rem 20rem 30rem;
    display: flex;
    justify-content: center;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in .merit_box_ttl {
    position: absolute;
    background: #fff;
    display: inline-block;
    box-sizing: border-box;
    border: solid 2px #333333;
    font-size: 14rem;
    letter-spacing: 0.05em;
    line-height: 1.2em;
    width: 100rem;
    text-align: center;
    left: -2px;
    padding: 4rem 0 1rem;
    bottom: 100%;
    border-radius: 8rem 8rem 0 0;
    border-bottom: solid 2px #fff;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in .merit_box_ttl:before {
    content: "";
    display: block;
    background: #333333;
    width: 2px;
    height: 2px;
    position: absolute;
    left: -2px;
    bottom: -2px;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in .merit_box_set {
    position: relative;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in .merit_box_set .merit_box_left {
    position: absolute;
    width: 74rem;
    height: 74rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in .merit_box_set .merit_box_right .merit_box_sub {
    box-sizing: border-box;
    padding-left: 90rem;
    font-weight: 700;
    font-size: 15.5rem;
    line-height: 1.5em;
    padding-bottom: 30rem;
    padding-top: 30rem;
    border-bottom: solid 1px #9A9A9A;
    margin-bottom: 19rem;
  }
  #merit .merit_inner #merit_right .merit_boxes .merit_box .merit_box_in .merit_box_set .merit_box_right .merit_box_txt {
    font-size: 12rem;
    line-height: 1.7em;
  }
  #merit .merit_inner .merit_ttl {
    top: 0;
    left: 36rem;
    position: absolute;
    font-size: 20rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
    background: url("../img/merit_icon.png") no-repeat center top;
    background-size: contain;
    padding-top: 32rem;
  }
  #flowup2 {
    padding: 12rem 0;
    border-top: solid 2px #333333;
    border-bottom: solid 2px #333333;
  }
  #flowup2 .l1 {
    width: 33rem;
  }
  #flowup2 .l2 {
    width: 344rem;
  }
  #flowup2 .l3 {
    width: 33rem;
  }
  #flowup2 .scroll-infinity__list {
    align-items: center;
  }
  #flowup {
    padding: 12rem 0;
    border-top: solid 2px #333333;
    border-bottom: solid 2px #333333;
  }
  #flowup .l1 {
    width: 40rem;
  }
  #flowup .l2 {
    width: 567rem;
  }
  #flowup .l3 {
    width: 42rem;
  }
  #flowup .scroll-infinity__list {
    align-items: center;
  }
  footer {
    padding: 15rem 0 70rem;
    background: #333333;
    color: #fff;
  }
  footer .foot_belt {
    border-bottom: solid 1px #fff;
    padding-bottom: 15rem;
    margin-bottom: 70rem;
  }
  footer .footer_head {
    width: 353rem;
    margin: 0 auto 50rem;
    padding-bottom: 50rem;
    border-bottom: solid 1rem #fff;
  }
  footer .footer_head .footer_menu {
    margin-bottom: 37rem;
  }
  footer .footer_head .footer_menu .footer_logo {
    width: 242rem;
    margin: 0 auto 60rem;
  }
  footer .footer_head .footer_menu .footer_nav ul {
    width: 283rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  footer .footer_head .footer_menu .footer_nav ul li {
    width: 107rem;
    font-size: 20rem;
    line-height: 1.25em;
    font-weight: bold;
    margin-bottom: 16rem;
  }
  footer .footer_head .footer_menu .footer_nav ul li:first-child {
    order: 1;
  }
  footer .footer_head .footer_menu .footer_nav ul li:nth-child(2) {
    order: 3;
  }
  footer .footer_head .footer_menu .footer_nav ul li:nth-child(3) {
    order: 5;
    margin-bottom: 0;
  }
  footer .footer_head .footer_menu .footer_nav ul li:nth-child(4) {
    order: 2;
  }
  footer .footer_head .footer_menu .footer_nav ul li:nth-child(5) {
    order: 4;
  }
  footer .footer_head .footer_menu .footer_nav ul li:last-child {
    order: 6;
    margin-bottom: 0;
  }
  footer .footer_head .footer_menu .footer_nav ul li a {
    color: #fff;
  }
  footer .footer_head .footer_info {
    position: relative;
  }
  footer .footer_head .footer_info .footer_btn {
    width: 316rem;
    margin: 0 auto 32rem;
    display: flex;
    justify-content: space-between;
  }
  footer .footer_head .footer_info .footer_btn a {
    display: block;
    margin: 0 auto;
    width: 284rem;
    font-size: 14rem;
    padding: 16rem 0;
    color: #fff;
    background: url("../img/arr_01.png") no-repeat #333333;
    background-position: center right 20rem;
    background-size: 17rem;
    border: solid 1rem #fff;
    border-radius: 100rem;
    text-align: center;
  }
  footer .footer_head .footer_info .footer_address {
    font-size: 14rem;
    line-height: 1.71em;
    margin-bottom: 32rem;
    letter-spacing: 0.1em;
  }
  footer .footer_head .footer_info .footer_address .c_name {
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 8rem;
  }
  footer .footer_head .footer_info .privacy {
    font-size: 14rem;
    letter-spacing: 0.014em;
    line-height: 1.33em;
    text-align: right;
    position: relative;
  }
  footer .footer_head .footer_info .privacy a {
    display: inline-block;
    color: #fff;
  }
  footer .footer_head .footer_info .privacy .privacy_sns {
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
  }
  footer .footer_head .footer_info .privacy .privacy_sns li {
    width: 17rem;
    margin-right: 5rem;
  }
  footer .footer_btm {
    width: 353rem;
    margin: 0 auto;
    text-align: center;
  }
  footer .footer_btm .copyright {
    margin-top: 26rem;
    font-size: 12rem;
    letter-spacing: 0.015em;
    line-height: 1.33em;
  }
  /*下層共通*/
  .under .inner {
    width: 353rem;
    margin: 0 auto;
    padding: 136rem 0 0;
  }
  .under .inner h2 {
    font-size: 32rem;
    letter-spacing: 0.016em;
    line-height: 1.25em;
    font-weight: bold;
    padding-bottom: 24rem;
    border-bottom: solid 3rem #1A1A1A;
  }
  /*インタビュー*/
  #inter .inter_cont {
    padding-top: 50rem;
    margin-bottom: 64rem;
  }
  #inter .inter_cont .inter_box {
    width: 359rem;
    position: relative;
    left: -3rem;
    box-sizing: border-box;
    padding: 21rem;
    border-radius: 16rem;
    background: #fff;
    border: solid 3rem #fff;
    margin-bottom: 32rem;
    transition: 0.3s;
  }
  #inter .inter_cont .inter_box:last-child {
    margin-bottom: 0;
  }
  #inter .inter_cont .inter_box:hover {
    border: solid 3rem #3B4043;
  }
  #inter .inter_cont .inter_box .inter_box_img {
    width: 100%;
    border-radius: 8rem;
    overflow: hidden;
  }
  #inter .inter_cont .inter_box .inter_box_img .img {
    width: 100%;
    height: 196rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }
  #inter .inter_cont .inter_box .inter_box_txt {
    width: 100%;
    padding-top: 32rem;
  }
  #inter .inter_cont .inter_box .inter_box_txt .ttl {
    font-size: 18rem;
    line-height: 1.77em;
    font-weight: bold;
  }
  #inter .inter_cont .inter_box .inter_box_txt .txt {
    font-size: 12rem;
    line-height: 2em;
    height: 78rem;
    overflow: hidden;
    margin: 16rem 0;
  }
  #inter .inter_cont .inter_box .inter_box_txt .btm {
    display: flex;
    justify-content: space-between;
  }
  #inter .inter_cont .inter_box .inter_box_txt .btm .name {
    font-size: 14rem;
    line-height: 1.285em;
    color: #98A6B5;
  }
  #inter .inter_cont .inter_box .inter_box_txt .btm .time {
    font-size: 14rem;
    line-height: 1.4285em;
    font-variation-settings: "wght" 400;
    color: #98A6B5;
    padding-left: 25rem;
    background: url("../img/icon_time.png") no-repeat left center;
    background-size: 16rem;
  }
  #inter .pagenation {
    text-align: center;
    margin-bottom: 120rem;
  }
  #inter .pagenation a {
    display: inline-block;
    font-size: 18rem;
    line-height: 1.27em;
    color: #98A6B5;
    margin: 0 12rem;
    vertical-align: middle;
    transition: 0.3s;
  }
  #inter .pagenation a.page:hover {
    text-decoration: underline;
  }
  #inter .pagenation a.previouspostslink {
    width: 50rem;
    height: 50rem;
    margin-right: 22rem;
    background: url("../img/icon_arr_prev_on.png") no-repeat center;
    background-size: contain;
  }
  #inter .pagenation a.previouspostslink:hover {
    background: url("../img/icon_arr_prev.png") no-repeat center;
    background-size: contain;
  }
  #inter .pagenation a.nextpostslink {
    width: 50rem;
    height: 50rem;
    margin-left: 22rem;
    background: url("../img/icon_arr_next_on.png") no-repeat center;
    background-size: contain;
  }
  #inter .pagenation a.nextpostslink:hover {
    background: url("../img/icon_arr_next.png") no-repeat center;
    background-size: contain;
  }
  #inter .pagenation span {
    display: inline-block;
    font-size: 18rem;
    line-height: 1.27em;
    margin: 0 12rem;
    vertical-align: middle;
  }
  #inter .pagenation span.current {
    color: #3B4043;
  }
  /*インタビュー（詳細）*/
  #inter_d .inter_d_head {
    width: 311rem;
    margin: 0 auto;
    padding: 0 0 25rem;
  }
  #inter_d .inter_d_head .inter_d_head_img {
    width: 100%;
    border-radius: 8rem;
    overflow: hidden;
    margin-bottom: 32rem;
  }
  #inter_d .inter_d_head .inter_d_head_img .img {
    width: 100%;
    height: 196rem;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }
  #inter_d .inter_d_head .inter_d_head_txt .ttl {
    font-size: 18rem;
    line-height: 1.77em;
    font-weight: bold;
    color: #1A1A1A;
    margin-bottom: 17rem;
  }
  #inter_d .inter_d_head .inter_d_head_txt .btm {
    display: flex;
    justify-content: space-between;
  }
  #inter_d .inter_d_head .inter_d_head_txt .btm .name {
    font-size: 14rem;
    line-height: 1.285em;
    color: #98A6B5;
  }
  #inter_d .inter_d_head .inter_d_head_txt .btm .time {
    font-size: 14rem;
    line-height: 1.4285em;
    font-variation-settings: "wght" 400;
    color: #98A6B5;
    padding-left: 25rem;
    background: url("../img/icon_time.png") no-repeat left center;
    background-size: 16rem;
  }
  #inter_d .inter_d_cont {
    padding-top: 30rem;
    border-top: solid 3rem #1A1A1A;
    margin-bottom: 90rem;
  }
  #inter_d .sns_share {
    padding-bottom: 65rem;
    margin-bottom: 65rem;
    border-bottom: solid 3rem #1A1A1A;
    text-align: center;
  }
  #inter_d .sns_share .sns_share_ttl {
    font-size: 20rem;
    letter-spacing: 0.01em;
    line-height: 1.25em;
    font-weight: bold;
    margin-bottom: 21rem;
  }
  #inter_d .sns_share ul {
    font-size: 0;
  }
  #inter_d .sns_share ul li {
    display: inline-block;
    width: 32rem;
    line-height: 0;
    margin: 0 8rem;
  }
  #inter_d .sns_share ul li a {
    display: block;
    width: 100%;
  }
  #inter_d .pagenation {
    margin-bottom: 120rem;
  }
  #inter_d .pagenation .btn {
    width: 100%;
    text-align: center;
  }
  #inter_d .pagenation .btn a {
    display: block;
    width: 100%;
    height: 80rem;
    font-size: 16rem;
    font-variation-settings: "wght" 700;
    line-height: 74rem;
    color: #151515;
    box-sizing: border-box;
    border: solid 3rem #1A1A1A;
    border-radius: 16rem;
    background-repeat: no-repeat;
    background-size: 24rem;
  }
  #inter_d .pagenation .btn.prev {
    margin-bottom: 10rem;
  }
  #inter_d .pagenation .btn.prev a {
    background-image: url("../img/icon_arr_prev.png");
    background-position: left 30rem top 27rem;
  }
  #inter_d .pagenation .btn.next a {
    background-image: url("../img/icon_arr_next.png");
    background-position: right 30rem top 27rem;
  }
  /*問い合わせ*/
  #contact .contact_form {
    padding-top: 50rem;
    margin-bottom: 64rem;
  }
  #contact .contact_form table {
    width: 100%;
    margin-bottom: 32rem;
  }
  #contact .contact_form table tr th {
    display: block;
    width: 100%;
    font-size: 16rem;
    line-height: 1.5em;
    font-weight: 500;
    text-align: left;
  }
  #contact .contact_form table tr th .hissu {
    display: inline-block;
    position: relative;
  }
  #contact .contact_form table tr th .hissu::after {
    position: absolute;
    content: "必須";
    width: 64rem;
    height: 24rem;
    right: -80rem;
    top: 0;
    font-size: 14rem;
    line-height: 24rem;
    font-weight: 400;
    color: #fff;
    text-align: center;
    border-radius: 15rem;
    background: #3B4043;
  }
  #contact .contact_form table tr td {
    display: block;
    width: 100%;
    font-size: 16rem;
    line-height: 1.5em;
    padding: 12rem 0 32rem;
  }
  #contact .contact_form table tr td input.txt {
    width: 100%;
    height: 48rem;
    border: solid 1rem #3B4043;
    border-radius: 4rem;
    box-sizing: border-box;
    font-size: 16rem;
    line-height: 1.5em;
    padding: 0 1em;
    font-family: "Noto Sans JP", serif;
  }
  #contact .contact_form table tr td .causion {
    font-size: 12rem;
    line-height: 1.666em;
    color: #676767;
    margin-top: 8rem;
  }
  #contact .contact_form table tr td textarea {
    width: 100%;
    height: 196rem;
    resize: none;
    border: solid 1rem #3B4043;
    border-radius: 4rem;
    box-sizing: border-box;
    font-size: 16rem;
    line-height: 1.5em;
    padding: 0.5em 1em;
    font-family: "Noto Sans JP", serif;
  }
  #contact .contact_form table tr td .check {
    margin-bottom: 8rem;
  }
  #contact .contact_form table tr td .check label {
    display: inline-block;
    padding-left: 32rem;
    font-size: 16rem;
    line-height: 1.7em;
    position: relative;
    cursor: pointer;
  }
  #contact .contact_form table tr td .check label input {
    display: none;
  }
  #contact .contact_form table tr td .check label span {
    display: inline-block;
  }
  #contact .contact_form table tr td .check label span:before {
    content: "";
    display: inline-block;
    width: 24rem;
    height: 24rem;
    border-width: 1rem;
    border-style: solid;
    border-color: #00446B;
    border-radius: 50%;
    padding: 3rem;
    box-sizing: border-box;
    top: 2rem;
    position: absolute;
    left: 0;
    background-color: #fff;
  }
  #contact .contact_form table tr td .check label span:after {
    content: "";
    display: inline-block;
    width: 24rem;
    height: 24rem;
    border-width: 1rem;
    border-style: solid;
    border-radius: 50%;
    border-color: #00446B;
    padding: 3rem;
    box-sizing: border-box;
    background-clip: content-box;
    top: 2rem;
    position: absolute;
    left: 0;
    background-color: #fff;
    display: none;
  }
  #contact .contact_form table tr td .check label input[type=checkbox]:checked + span:after {
    background-color: #00446B;
    display: block;
  }
  #contact .contact_form table tr td .privacy_txt {
    font-size: 12rem;
    letter-spacing: 0.07em;
    line-height: 1.666em;
    color: #676767;
  }
  #contact .contact_form table tr td .privacy_txt a {
    color: #00446B;
    text-decoration: underline;
  }
  #contact .contact_form table tr:last-child td {
    padding-bottom: 0;
  }
  #contact .contact_form .btn {
    display: flex;
    justify-content: center;
  }
  #contact .contact_form .btn .submit {
    width: 252rem;
    height: 58rem;
    font-size: 16rem;
    line-height: 58rem;
    text-align: center;
    color: #fff;
    font-variation-settings: "wght" 700;
    background: #1A1A1A;
    border-radius: 29rem;
    border: solid 1rem #1A1A1A;
    box-sizing: border-box;
    cursor: pointer;
  }
}
.check {
  text-align: center;
  font-size: 14rem;
}
.check label {
  display: flex;
  align-items: center;
  gap: 10px;
}
.check input {
  margin: 0;
  height: 18.38px;
}
@media screen and (max-width: 768px) {
  .check {
    font-size: 12rem;
  }
  .check label {
    gap: 5px;
  }
  .check input {
    height: 11.45px;
  }
}

.wpcf7-response-output {
  font-size: 14rem;
}
@media screen and (max-width: 768px) {
  .wpcf7-response-output {
    font-size: 12rem;
    line-height: 1.5;
  }
}

a {
  display: inline-block;
}

.underContact_form2 {
  margin-bottom: 24rem;
}
.underContact_form2 dt {
  font-size: 14rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 8rem;
}/*# sourceMappingURL=style.css.map */

.thanks{
  width:331px;
  display: block;
  margin: 56px auto 0;
}
@media screen and (max-width: 768px) {
  .thanks{
    width:274px;
    display: block;
    margin: 56px auto 0;
  }
}