@charset "UTF-8";
/*
Theme Name: HighFive
Theme URI: 

Version: 1.0

*/
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, main, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

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

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

html {
  font-size: 62.5%;
  overflow-y: scroll;
  /*background: url(images/bg.png);*/
}

body {
  line-height: 1.5;
  font-size: 3.5vw;
  letter-spacing: -.01rem;
  color: #373632;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-optical-sizing: auto;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

@media only screen and (min-width: 768px) {
  body {
    font-size: clamp(0.7rem, 1.3vw, 1.6rem);
    line-height: 1.8;
  }
}

ul {
  list-style: none;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  font-size: 100%;
  color: #000000;
  background: transparent;
  -webkit-tap-highlight-color: rgba(0, 35, 97, 0.6);
  text-decoration: none;
}

a:focus {
  outline: none;
}

a:hover, a:active {
  text-decoration: none;
  color: #1a1a1a;
}

img {
  vertical-align: top;
  -ms-interpolation-mode: bicubic;
}

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

hr {
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #999999;
}

::selection {
  color: #FFFFFF;
  background: #002c7b;
}

input::selection,
textarea::selection {
  color: #000000;
}

textarea {
  resize: vertical;
}

:placeholder-shown {
  color: rgba(0, 0, 0, 0.4);
}

::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.4);
}

:-moz-placeholder {
  opacity: 1;
  color: rgba(0, 0, 0, 0.4);
}

::-moz-placeholder {
  opacity: 1;
  color: rgba(0, 0, 0, 0.4);
}

:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.4);
}

.row {
  width: 90%;
  margin: auto;
}

@media only screen and (min-width: 1025px) {
  .row {
    max-width: 1200px;
  }
}

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

body {
  padding-top: 74px;
  /*overflow-x: hidden;*/
}

@media only screen and (min-width: 768px) {
  body {
    padding-top: 120px;
  }
}

/*
body {
  opacity: 0;
  transition: opacity 0.4s ease; 
}


body.is-show {
  opacity: 1;
}


body.is-hide {
  opacity: 0;
}
*/
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

.l-content.notfound {
  text-align: center;
  margin-top: 100px;
  color: #002361;
}

.l-main {
  margin-top: 0px;
}

@media only screen and (min-width: 768px) {
  .view-sp {
    display: none !important;
  }
}

.view-pc {
  display: none !important;
}

@media only screen and (min-width: 768px) {
  .view-pc {
    display: inherit !important;
  }
}

.home {
  overflow-x: hidden;
}

.home .l-main {
  margin-top: 0;
}

.l-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 25px;
  height: 70px;
}

@media only screen and (min-width: 768px) {
  .l-header {
    padding-top: 35px;
    height: 100px;
  }
}

@media only screen and (min-width: 1025px) {
  .l-header {
    padding-top: 25px;
  }
}

.l-header h1 {
  background: #002361;
  padding: 30px 30px 30px 20px;
  border-bottom-right-radius: 30px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  width: 70vw;
}

@media only screen and (min-width: 768px) {
  .l-header h1 {
    width: 35vw;
    border-bottom-right-radius: 70px;
    padding: 3vw 5vw 3vw 3vw;
  }
}

.l-header h1 img {
  width: 100%;
  max-width: 500px;
}

.l-header .global {
  margin-left: auto;
  margin-right: 50px;
  width: 55vw;
  position: relative;
  display: none;
}

@media only screen and (min-width: 768px) {
  .l-header .global {
    display: block;
  }
}

.l-header .global ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.l-header .global ul li {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin: 0 5px;
  font-size: clamp(1rem, 1vw, 1.2rem);
  font-weight: 600;
  white-space: nowrap;
  line-height: 1.5;
  position: relative;
}

.l-header .global ul li a {
  display: block;
  background: #f4f4f4;
  color: #002361;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
  padding: 10px 0px 40px;
  position: relative;
  -webkit-transition: .5s;
  transition: .5s;
  bottom: -10px;
}

@media only screen and (min-width: 768px) {
  .l-header .global ul li a {
    bottom: -10px;
  }
}

.l-header .global ul li a:hover {
  background: #002361;
  color: #FFFFFF;
  -webkit-transition: .2s;
  transition: .2s;
  bottom: 0;
}

.l-header .global ul li span {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  display: block;
  font-weight: 800;
  font-size: clamp(1rem, 1.2vw, 1.7rem);
}

section.mv {
  position: relative;
}

section.mv .mv-catch {
  z-index: 1;
  font-size: 8vw;
  position: absolute;
  bottom: 150px;
  left: 70px;
  font-weight: 800;
  line-height: 1.2;
  color: #FFFFFF;
  letter-spacing: .1rem;
  text-shadow: 2px 3px 5px rgba(0, 0, 0, 0.4);
}

@media only screen and (min-width: 768px) {
  section.mv .mv-catch {
    left: 12vw;
    font-size: clamp(1.8rem, 6vw, 7rem);
    bottom: 100px;
  }
}

section.mv #mv {
  height: calc(100vh - 70px - env(safe-area-inset-bottom));
  height: calc(100svh - 70px - env(safe-area-inset-bottom));
  margin-left: 7vw;
}

@media only screen and (min-width: 768px) {
  section.mv #mv {
    height: calc(100vh - 100px);
    height: calc(100svh - 100px);
  }
}

section.mv .swiper-wrapper {
  border-top-left-radius: 70px;
  border-bottom-left-radius: 70px;
  overflow: hidden;
}

section.mv .swiper-slide img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
  -webkit-transition: .5s;
  transition: .5s;
  border-bottom-left-radius: 70px;
}

@media only screen and (min-width: 768px) {
  section.mv .swiper-slide img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}

section.mv-news {
  position: absolute;
  bottom: -30px;
  right: 0;
  z-index: 10;
  border-radius: 20px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  background: #f4f4f4;
}

@media only screen and (min-width: 768px) {
  section.mv-news {
    bottom: -20px;
  }
}

section.mv-news .tit-en {
  color: #fc900d;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 800;
  font-size: 2rem;
  position: absolute;
  top: -40px;
  background: #f4f4f4;
  display: inline-block;
  border-radius: 10px;
  padding: 5px 25px 30px;
}

section.mv-news a {
  display: block;
  padding: 20px 30px 50px;
  color: #002361;
}

section.mv-news .new-cate-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 10;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

section.mv-news .new-cate-wrap .cate {
  background: #002361;
  color: #FFFFFF;
  display: inline-block;
  border-radius: 100px;
  padding: 1px 15px;
  margin-right: 1rem;
  font-size: clamp(1.2rem, 1.2vw, 1.3rem);
}

@media only screen and (min-width: 768px) {
  section.mv-news .new-cate-wrap .cate {
    padding: 0 15px;
  }
}

section.mv-news .new-cate-wrap .date {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 600;
}

section.mv-news h3 {
  text-decoration: underline;
}

.greet {
  width: 80%;
  margin: auto;
  padding-top: 100px;
}

@media only screen and (min-width: 768px) {
  .greet {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 150px;
  }
}

@media only screen and (min-width: 768px) {
  .greet .greet-l {
    width: 48%;
  }
}

.greet .greet-l img {
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .greet .greet-r {
    width: 48%;
  }
}

.greet .greet-r .txt {
  line-height: 1.8;
}

@media only screen and (min-width: 768px) {
  .greet .greet-r .txt {
    line-height: 2.5;
  }
}

.greet h2 {
  white-space: normal;
  margin-bottom: 30px;
}

.greet h2 span {
  font-size: clamp(2rem, 2.5vw, 4rem);
  display: inline-block;
  background: #002361;
  color: #FFFFFF;
  line-height: 1.5;
  padding: 3px 5px 3px 10px;
  margin-bottom: 10px;
  white-space: nowrap;
}

@media only screen and (min-width: 768px) {
  .greet h2 span {
    padding: 0 15px 0;
  }
}

.greet-slider {
  margin-top: 40px;
}

@media only screen and (min-width: 768px) {
  .greet-slider {
    margin-top: 100px;
  }
}

#greet-slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}

#greet-slider .swiper-wrapper img {
  border-radius: 20px;
}

@media only screen and (min-width: 768px) {
  #greet-slider .swiper-wrapper img {
    border-radius: 30px;
  }
}

.top-about {
  background: url(images/frame01_sp.svg) center top/cover no-repeat;
  position: relative;
  top: -70px;
  padding-top: 200px;
  color: #FFFFFF;
}

@media only screen and (min-width: 768px) {
  .top-about {
    background: url(images/frame01.svg) center top/cover no-repeat;
    top: -100px;
  }
}

.top-about::after {
  content: "";
  display: block;
  margin-top: -70px;
}

@media only screen and (min-width: 768px) {
  .top-about::after {
    margin-top: -100px;
  }
}

.top-about dl {
  margin-bottom: 30px;
}

.top-about dl dt {
  width: 75vw;
  margin: 0 auto 20px;
}

@media only screen and (min-width: 768px) {
  .top-about dl dt {
    max-width: 500px;
    width: 30vw;
  }
}

.top-about dl dd {
  text-align: center;
  font-weight: 600;
}

.top-about .catch {
  margin: auto;
  width: 85vw;
}

@media only screen and (min-width: 768px) {
  .top-about .catch {
    width: 55vw;
    max-width: 900px;
  }
}

.top-about .hand {
  margin: auto;
  width: 30vw;
  margin-top: 30px;
}

@media only screen and (min-width: 768px) {
  .top-about .hand {
    max-width: 250px;
    width: 15vw;
    margin-top: 0;
  }
}

.top-about .txt {
  text-align: center;
  line-height: 2;
  padding-bottom: 100px;
  width: 90%;
  margin: 30px auto 0;
}

@media only screen and (min-width: 768px) {
  .top-about .txt {
    line-height: 2.5;
  }
}

.top-about .txt span {
  color: #fc900d;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  font-size: 130%;
  padding: 0 1rem;
}

.base-column {
  position: relative;
  z-index: 10;
  width: 95%;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  .base-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.base-column.reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: row-reverse;
  -ms-flex-flow: row-reverse;
  flex-flow: row-reverse;
}

.base-column.reverse .base-l .tit-wrap {
  padding-left: 20px;
}

@media only screen and (min-width: 768px) {
  .base-column.reverse .base-l .tit-wrap {
    padding-left: 30px;
  }
}

@media only screen and (min-width: 768px) {
  .base-column.reverse .base-l .tit-wrap {
    padding-left: 0;
  }
}

.base-column.reverse .base-l .tit-wrap::before {
  left: 0;
}

@media only screen and (min-width: 768px) {
  .base-column.reverse .base-l .tit-wrap::before {
    left: -40px;
  }
}

.base-column.reverse .base-r .pic {
  -webkit-transform: translateX(-40px);
  transform: translateX(-40px);
}

.base-column.reverse .base-r .pic.show {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.base-column.reverse .base-r img {
  position: relative;
  left: 20px;
  margin-top: 20px;
}

@media only screen and (min-width: 768px) {
  .base-column.reverse .base-r img {
    left: unset;
    margin-top: 0;
  }
}

.base-column.reverse p.txt {
  margin-left: 20px;
  padding-right: 20px;
}

@media only screen and (min-width: 768px) {
  .base-column.reverse p.txt {
    padding-left: 0;
  }
}

.base-column .base-l {
  padding-left: 40px;
}

@media only screen and (min-width: 768px) {
  .base-column .base-l {
    width: 50%;
    padding-left: 80px;
  }
}

@media only screen and (min-width: 768px) {
  .base-column .base-r {
    width: 55%;
  }
}

.base-column .base-r .pic {
  opacity: 0;
  -webkit-transform: translateX(40px);
  transform: translateX(40px);
  -webkit-transition: opacity .7s ease, -webkit-transform .7s ease;
  transition: opacity .7s ease, -webkit-transform .7s ease;
  transition: opacity .7s ease, transform .7s ease;
  transition: opacity .7s ease, transform .7s ease, -webkit-transform .7s ease;
  width: 80%;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  .base-column .base-r .pic {
    width: auto;
    margin: unset;
  }
}

.base-column .base-r .pic.show {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.base-column .base-r .pic img {
  margin-top: 20px;
}

@media only screen and (min-width: 768px) {
  .base-column .base-r .pic img {
    margin-top: 0;
  }
}

.base-column .txt {
  line-height: 1.8;
  margin-top: 30px;
  padding-right: 30px;
}

@media only screen and (min-width: 768px) {
  .base-column .txt {
    line-height: 2.5;
    padding-right: 0;
  }
}

.tit-wrap {
  position: relative;
  /* 表示されたら高さ100% に伸びる */
}

.tit-wrap::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 0;
  width: 4px;
  height: 0;
  background: #002361;
  -webkit-transition: height 0.6s ease-out;
  transition: height 0.6s ease-out;
}

@media only screen and (min-width: 768px) {
  .tit-wrap::before {
    left: -30px;
  }
}

.tit-wrap.show::before {
  height: 100%;
  z-index: 10;
}

.tit-wrap .sub-en {
  font-size: clamp(1.8rem, 3vw, 3rem);
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  color: #fc900d;
  letter-spacing: .1rem;
  line-height: 1.5;
}

.tit-wrap .tit-sec {
  font-size: clamp(4.5rem, 6vw, 10rem);
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 800;
  color: #002361;
  line-height: 1;
}

.top-customer {
  background: #002361;
  position: relative;
  padding: 50px 0 100px;
}

@media only screen and (min-width: 768px) {
  .top-customer {
    padding: 100px 0;
  }
}

.top-customer::after {
  content: "";
  display: block;
  width: 95%;
  height: 100%;
  background: #FFFFFF;
  position: absolute;
  top: 0;
  border-top-right-radius: 100px;
  border-bottom-right-radius: 100px;
}

@media only screen and (min-width: 768px) {
  .top-customer::after {
    width: 90%;
  }
}

.top-customer .work-slider {
  width: 95%;
  margin-top: 70px;
}

@media only screen and (min-width: 768px) {
  .top-customer .work-slider {
    width: 90%;
    max-width: 900px;
    margin: 100px auto 0;
  }
}

.top-customer .work-slider .swiper-slide {
  position: relative;
  padding-bottom: 120px;
  -webkit-transition: .3s;
  transition: .3s;
}

.top-customer .work-slider .swiper-slide:hover {
  opacity: .8;
}

.top-customer .work-slider .swiper-slide img {
  border-radius: 20px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 1 / .8;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

@media only screen and (min-width: 768px) {
  .top-customer .work-slider .swiper-slide img {
    border-radius: 40px;
    aspect-ratio: 1 / .7;
    aspect-ratio: 1 / .5;
  }
}

.top-customer .work-slider .swiper-slide .work-box {
  background: #fff;
  position: absolute;
  bottom: 0vw;
  width: 80%;
  border-top-right-radius: 30px;
  padding: 10px 20px;
}

@media only screen and (min-width: 768px) {
  .top-customer .work-slider .swiper-slide .work-box {
    padding: 30px;
    bottom: -0px;
  }
}

.top-customer .work-slider .swiper-slide .work-box .cate {
  font-size: clamp(1rem, 1.2vw, 1.2rem);
  margin-bottom: 10px;
  color: #002361;
  font-weight: 700;
}

@media only screen and (min-width: 768px) {
  .top-customer .work-slider .swiper-slide .work-box .cate {
    margin-bottom: 20px;
  }
}

.top-customer .work-slider .swiper-slide .work-box .cate span {
  display: inline-block;
  position: relative;
}

.top-customer .work-slider .swiper-slide .work-box .cate span::after {
  content: "/";
  display: inline-block;
  padding: 0 10px;
}

.top-customer .work-slider .swiper-slide .work-box h3 {
  font-size: clamp(1.8rem, 2vw, 2rem);
  color: #002361;
  line-height: 1.2;
  margin-bottom: 10px;
}

.top-customer .work-slider .swiper-slide .work-box .exp {
  font-size: clamp(1.2rem, 1.5vw, 1.5rem);
  position: relative;
  width: 140%;
}

@media only screen and (min-width: 768px) {
  .top-customer .work-slider .swiper-slide .work-box .exp {
    width: auto;
  }
}

.top-customer .work-slider .swiper-pagination {
  bottom: 40px;
}

@media only screen and (min-width: 768px) {
  .top-customer .work-slider .swiper-pagination {
    bottom: 70px;
  }
}

.top-customer .work-slider .swiper-pagination .swiper-pagination-bullet {
  width: 25px;
  border-radius: 100px;
  background: #FFFFFF;
  border: 1px solid #002361;
  opacity: 1;
}

.top-customer .work-slider .swiper-pagination .swiper-pagination-bullet-active {
  background: #002361;
}

.top-customer .work-slider .swiper-button-prev {
  width: 40px;
  left: 5%;
  margin-top: -70px;
}

@media only screen and (min-width: 768px) {
  .top-customer .work-slider .swiper-button-prev {
    width: 80px;
    left: 24%;
    margin-top: -60px;
  }
}

.top-customer .work-slider .swiper-button-prev:hover {
  -webkit-transform: scale(1.03);
  transform: scale(1.03);
}

.top-customer .work-slider .swiper-button-prev::after {
  display: none;
}

.top-customer .work-slider .swiper-button-next {
  width: 40px;
  right: 5%;
  margin-top: -70px;
}

@media only screen and (min-width: 768px) {
  .top-customer .work-slider .swiper-button-next {
    width: 80px;
    right: 24%;
    margin-top: -60px;
  }
}

.top-customer .work-slider .swiper-button-next:hover {
  -webkit-transform: scale(1.03);
  transform: scale(1.03);
}

.top-customer .work-slider .swiper-button-next::after {
  display: none;
}

.btn-center {
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.btn-more-l {
  margin-top: 30px;
}

.btn-more-l a {
  background: #002361;
  color: #FFFFFF;
  display: block;
  width: 200px;
  border-radius: 100px;
  padding: 15px 50px 15px 30px;
  line-height: 1.3;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 800;
  font-size: clamp(1.8rem, 2vw, 2rem);
  letter-spacing: .1rem;
  position: relative;
  -webkit-transition: .2s;
  transition: .2s;
}

.btn-more-l a::after {
  content: "";
  display: block;
  background: url(images/arrow_btn_l.svg) center top/cover no-repeat;
  height: 4px;
  width: 40px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: .5s;
  transition: .5s;
}

.btn-more-l a:hover {
  background: #fc900d;
}

.btn-more-l a:hover::after {
  right: 10px;
}

.btn-more-l a span {
  display: block;
  font-size: 1.1rem;
}

.btn-more-l.btn-center a {
  margin: auto;
}

.btn-navy {
  text-align: center;
  margin-top: 30px;
}

.btn-navy a {
  display: inline-block;
  background: #002361;
  color: #FFFFFF;
  padding: 20px 50px;
  border-radius: 100px;
  font-weight: 700;
  font-size: clamp(1.7rem, 1.6vw, 1.8rem);
  -webkit-transition: .3s;
  transition: .3s;
}

@media only screen and (min-width: 768px) {
  .btn-navy a {
    padding: 10px 50px;
  }
}

.btn-navy a:hover {
  background: #fc900d;
}

.btn-more {
  margin-top: 20px;
  color: #FFFFFF;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  position: relative;
  -webkit-transition: .2s;
  transition: .2s;
  white-space: nowrap;
  padding: 6px 60px 6px 30px !important;
}

@media only screen and (min-width: 768px) {
  .btn-more {
    padding: 6px 60px 6px 30px;
  }
}

.btn-more a {
  background: #002361;
  color: #FFFFFF;
  font-size: clamp(1.3rem, 1.5vw, 1.5rem);
  border-radius: 100px;
  padding: 10px 60px 10px 30px;
  display: inline-block;
  position: relative;
}

@media only screen and (min-width: 768px) {
  .btn-more a {
    padding: 6px 60px 6px 30px;
  }
}

.btn-more a::after {
  content: "";
  display: block;
  background: url(images/arrow_btn_min.svg) center top/cover no-repeat;
  height: 5px;
  width: 25px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  margin-top: -0px;
  -webkit-transition: .3s;
  transition: .3s;
}

.btn-more a:hover {
  background: #fc900d;
}

.btn-more a:hover::after {
  right: 10px;
}

.btn-more.btn-white {
  padding: 0 !important;
  /*        &::after {
                content: "";
                display: block;
                background: url(images/arrow_btn_min_on.svg) center top/cover no-repeat;
                height: 5px;
                width: 25px;
                position: absolute;
                right: 20px;
                top: 50%;
                transform: translateY(-50%);
                margin-top: -2px;
                transition: .3s;
                display: none;
            }*/
}

.btn-more.btn-white a {
  background: #FFFFFF;
  display: inline-block;
  padding: 10px 80px 10px 40px;
  border-radius: 100px;
  color: #002361 !important;
  font-weight: 700;
  -webkit-transition: .3s;
  transition: .3s;
  position: relative;
}

.btn-more.btn-white a::after {
  content: "";
  display: block;
  background: url(images/arrow_btn_min_on.svg) center top/cover no-repeat;
  height: 5px;
  width: 25px;
}

.btn-more.btn-white a:hover {
  background: #fc900d;
  color: #fff !important;
}

.btn-more.btn-white a:hover::after {
  right: 10px;
  background: url(images/arrow_btn_min.svg) center top/cover no-repeat;
}

.btn-more.btn-link {
  padding: 0;
  white-space: nowrap;
}

.btn-more.btn-link a {
  display: inline-block;
  padding: 15px 60px 15px 30px;
  font-weight: 700;
}

.btn-more.btn-link:hover::after {
  right: 10px;
}

.btn-more.blank {
  background: #002361;
  border-radius: 100px;
}

.btn-more.blank:hover {
  background: #fc900d;
}

.btn-more.blank i {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 20px;
}

.btn-more.blank a::after {
  background: none;
}

.btn-more.blank::after {
  background: none !important;
}

.btn-more.btn-ja {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
}

.btn-more.btn-pm {
  padding: 0 !important;
  margin-bottom: 10px;
}

.btn-more.btn-pm a {
  width: 100%;
  text-align: left;
  line-height: 1.3;
  padding: 10px 60px 10px 20px;
}

.btn-more.btn-pml {
  margin-top: 0 !important;
}

.btn-more.btn-pml a {
  background: #4cb4dc;
}

.btn-more.btn-pml a:hover {
  background: #fc900d;
}

.btn-more.btn-pml a span {
  color: #ffed00;
}

.btn-more.btn-list a {
  padding: 20px 80px 20px 60px;
}

.btn-more.a-link {
  padding: 0 !important;
}

.btn-more.a-not {
  position: relative;
}

.btn-more.a-not::after {
  content: "";
  display: block !important;
  background: url(images/arrow_btn_min.svg) center top/cover no-repeat;
  height: 5px;
  width: 25px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  margin-top: -2px;
  -webkit-transition: .3s;
  transition: .3s;
}

.btn-more.top-btn {
  padding: 1vw 8vw 1vw 3vw !important;
}

@media only screen and (min-width: 768px) {
  .btn-more.top-btn {
    padding: 5px 60px 5px 30px !important;
  }
}

#bg-navy {
  background: #002361;
}

.top-team {
  background: #002361;
  position: relative;
  padding-top: 50px;
  margin-top: 50px;
  padding-bottom: 50px;
}

@media only screen and (min-width: 768px) {
  .top-team {
    padding-top: 100px;
    margin-top: 100px;
    padding-bottom: 100px;
  }
}

.top-team::after {
  content: "";
  display: block;
  width: 95%;
  height: 98%;
  background: #FFFFFF;
  position: absolute;
  top: 0;
  border-top-left-radius: 100px;
  border-bottom-left-radius: 100px;
  right: 0;
}

@media only screen and (min-width: 768px) {
  .top-team::after {
    width: 90%;
    height: 100%;
  }
}

.top-team .team-slider {
  margin-top: 50px;
  width: 95%;
  margin-left: 5%;
}

@media only screen and (min-width: 768px) {
  .top-team .team-slider {
    margin-top: 100px;
    width: 90%;
    margin-left: 10%;
  }
}

.top-team .team-slider .swiper-slide img {
  border-radius: 30px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top center;
  object-position: top center;
  aspect-ratio: 16 / 10;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

.top-team .team-slider .btn-wrap {
  margin: 50px auto 100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.top-team .team-slider .btn-wrap > div {
  margin: 0 10px;
}

.top-team .team-slider .btn-wrap > div:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.top-team .team-slider h4 {
  text-align: center;
  margin-top: 10px;
  font-size: clamp(1.5rem, 1.6vw, 1.6rem);
}

.top-society {
  position: relative;
  margin-top: 20px;
  padding: 50px 0;
}

@media only screen and (min-width: 768px) {
  .top-society {
    padding: 100px 0;
    margin-top: 100px;
  }
}

.top-society::after {
  content: "";
  display: block;
  width: 95%;
  height: 100%;
  background: #FFFFFF;
  position: absolute;
  top: 0;
  border-top-right-radius: 100px;
  border-bottom-right-radius: 100px;
}

@media only screen and (min-width: 768px) {
  .top-society::after {
    width: 90%;
  }
}

.top-show {
  position: relative;
  margin-top: 100px;
}

@media only screen and (min-width: 768px) {
  .top-show {
    margin-top: 200px;
  }
}

.top-show .tit-en {
  position: absolute;
  top: -13%;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: clamp(4rem, 5vw, 10rem);
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 800;
  line-height: .9;
  color: #FFFFFF;
}

@media only screen and (min-width: 768px) {
  .top-show .tit-en {
    top: -12%;
    line-height: 1;
  }
}

.top-show img {
  width: 100%;
  height: auto;
}

.team-menu {
  position: relative;
  z-index: 20;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  margin: 50px auto 0;
  left: 7%;
}

@media only screen and (min-width: 768px) {
  .team-menu {
    width: 70%;
    margin: 150px auto 0;
  }
}

.team-menu .team-box {
  width: 40%;
  margin: 0 10px 20px;
  -webkit-transform: translateY(50px) scale(0.9);
  transform: translateY(50px) scale(0.9);
  -webkit-transition: opacity 0.7s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.7s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: opacity 0.7s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.7s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: opacity 0.7s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.7s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: opacity 0.7s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.7s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.7s cubic-bezier(0.25, 0.8, 0.25, 1);
  opacity: 0;
}

@media only screen and (min-width: 768px) {
  .team-menu .team-box {
    width: 30%;
  }
}

.team-menu .team-box.show {
  opacity: 1;
  -webkit-transform: translateY(0) scale(1);
  transform: translateY(0) scale(1);
}

.team-menu .team-box a {
  display: block;
  border: 3px solid #ccc;
  border-radius: 30px;
  padding: 20px 10px;
  -webkit-transition: .3s;
  transition: .3s;
}

@media only screen and (min-width: 768px) {
  .team-menu .team-box a {
    border: 5px solid #ccc;
    padding: 40px 10px;
  }
}

.team-menu .team-box a:hover {
  border-color: #002361;
}

.team-menu .team-box a:hover .btn-more {
  background: #fc900d;
}

.team-menu .team-box a:hover .btn-more::after {
  right: 10px;
}

.team-menu .team-box .icon {
  display: block;
  margin: auto;
  width: 40%;
}

.team-menu .team-box h4 {
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  text-align: center;
  line-height: 1.3;
  color: #002361;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 10px;
  white-space: nowrap;
}

@media only screen and (min-width: 768px) {
  .team-menu .team-box h4 {
    margin-top: 20px;
  }
}

.team-menu .team-box:nth-child(1) .icon {
  width: 60%;
}

@media only screen and (min-width: 768px) {
  .team-menu .team-box:nth-child(1) .icon {
    width: 50%;
  }
}

.team-menu .team-box:nth-child(2) .icon {
  width: 50%;
}

@media only screen and (min-width: 768px) {
  .team-menu .team-box:nth-child(2) .icon {
    width: 40%;
  }
}

.team-menu .team-box:nth-child(3) .icon {
  width: 60%;
}

@media only screen and (min-width: 768px) {
  .team-menu .team-box:nth-child(3) .icon {
    width: 50%;
  }
}

.team-menu .team-box:nth-child(4) .icon {
  width: 60%;
}

@media only screen and (min-width: 768px) {
  .team-menu .team-box:nth-child(4) .icon {
    width: 50%;
  }
}

.team-menu .team-box:nth-child(5) .icon {
  width: 60%;
}

@media only screen and (min-width: 768px) {
  .team-menu .team-box:nth-child(5) .icon {
    width: 50%;
  }
}

.team-menu .team-box:nth-child(6) .icon {
  width: 60%;
}

@media only screen and (min-width: 768px) {
  .team-menu .team-box:nth-child(6) .icon {
    width: 50%;
  }
}

.team-menu .btn-more {
  padding: 1vw 8vw 1vw 3vw;
  font-size: 3vw;
  background: #002361;
  border-radius: 100px;
}

.team-menu .btn-more::after {
  content: "";
  display: block;
  background: url(images/arrow_btn_min.svg) center top/cover no-repeat;
  height: 5px;
  width: 25px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  margin-top: -2px;
  -webkit-transition: .3s;
  transition: .3s;
}

@media only screen and (min-width: 768px) {
  .team-menu .btn-more {
    font-size: inherit;
    padding: 6px 60px 6px 30px;
  }
}

.team-menu .btn-more::after {
  width: 3vw;
  height: .7vw;
  right: 3vw;
}

@media only screen and (min-width: 768px) {
  .team-menu .btn-more::after {
    width: 25px;
    height: 5px;
    right: 20px;
  }
}

.top-news {
  padding: 80px 0 50px;
}

@media only screen and (min-width: 768px) {
  .top-news {
    padding: 150px 0 100px;
  }
}

.top-news .news-column {
  max-width: 1200px;
  margin: auto;
  color: #FFFFFF;
  width: 90%;
}

@media only screen and (min-width: 768px) {
  .top-news .news-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.top-news .news-column .btn-more {
  width: 200px;
}

.top-news .news-column .btn-more a {
  width: 200px;
}

@media only screen and (min-width: 768px) {
  .top-news .news-column .news-l {
    width: 30%;
  }
}

.top-news .news-column .news-l .tit-news-wrap {
  position: relative;
  margin-bottom: 30px;
  padding-left: 20px;
  /* 表示されたら高さ100% に伸びる */
}

@media only screen and (min-width: 768px) {
  .top-news .news-column .news-l .tit-news-wrap {
    padding-left: 0;
  }
}

.top-news .news-column .news-l .tit-news-wrap::before {
  content: "";
  position: absolute;
  left: -0px;
  top: 0;
  width: 4px;
  height: 0;
  background: #FFFFFF;
  -webkit-transition: height 0.6s ease-out;
  transition: height 0.6s ease-out;
}

@media only screen and (min-width: 768px) {
  .top-news .news-column .news-l .tit-news-wrap::before {
    left: -30px;
  }
}

.top-news .news-column .news-l .tit-news-wrap.show::before {
  height: 100%;
  z-index: 10;
}

.top-news .news-column .news-l .tit-news-wrap .tit-en {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: clamp(4.5rem, 5vw, 7rem);
  font-weight: 700;
  line-height: 1;
}

.top-news .news-column .news-l .tit-news-wrap .tit-ja {
  color: #fc900d;
}

@media only screen and (min-width: 768px) {
  .top-news .news-column .news-r {
    width: 60%;
  }
}

.top-news .news-column .news-r .news-box a {
  margin-bottom: 30px;
  -webkit-transition: .3s;
  transition: .3s;
  display: block;
}

@media only screen and (min-width: 768px) {
  .top-news .news-column .news-r .news-box a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 40px;
  }
}

.top-news .news-column .news-r .news-box a:hover {
  opacity: .5;
}

.top-news .news-column .news-r .news-box a .cate-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: 3rem;
}

.top-news .news-column .news-r .news-box a .cate-wrap .cate {
  margin-left: 1rem;
}

.top-news .news-column .news-r .news-box a .cate-wrap .cate span {
  background: #FFFFFF;
  color: #002361;
  display: inline-block;
  border-radius: 100px;
  padding: 0 10px;
  white-space: nowrap;
  font-size: 1.3rem;
}

.top-news .news-column .news-r .news-box h4 {
  line-height: 1.4;
  margin-top: 10px;
}

@media only screen and (min-width: 768px) {
  .top-news .news-column .news-r .news-box h4 {
    margin-top: 0;
  }
}

.top-news .news-column a {
  color: #FFFFFF;
}

.top-faq {
  width: 90%;
  margin: auto;
  padding: 70px 0;
  max-width: 1300px;
}

@media only screen and (min-width: 768px) {
  .top-faq {
    padding: 150px 0;
  }
}

.top-faq h4 {
  margin: 0 auto 30px;
  width: 70vw;
}

@media only screen and (min-width: 768px) {
  .top-faq h4 {
    max-width: 500px;
    margin: 0 auto 80px;
    width: 30vw;
  }
}

.top-faq .faq-column {
  margin-bottom: 40px;
}

.top-faq .faq-column:last-child {
  margin-bottom: 0;
}

.top-faq .faq-column .q-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .top-faq .faq-column .q-box {
    margin-top: 0;
  }
}

.top-faq .faq-column .q-box .icon {
  margin-right: 20px;
}

@media only screen and (min-width: 768px) {
  .top-faq .faq-column .q-box .icon {
    margin-right: 50px;
  }
}

.top-faq .faq-column .a-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: row-reverse;
  -ms-flex-flow: row-reverse;
  flex-flow: row-reverse;
}

.top-faq .faq-column .a-box .icon {
  margin-left: 20px;
  width: 15%;
}

@media only screen and (min-width: 768px) {
  .top-faq .faq-column .a-box .icon {
    width: 10%;
  }
}

@media only screen and (min-width: 768px) {
  .top-faq .faq-column .a-box .icon {
    margin-left: 50px;
  }
}

.top-faq .faq-column .a-box .a-wrap {
  width: 80%;
}

@media only screen and (min-width: 768px) {
  .top-faq .faq-column .a-box .a-wrap {
    width: 80%;
  }
}

.top-faq .faq-column .icon {
  width: 30%;
  position: relative;
  top: -10px;
}

@media only screen and (min-width: 768px) {
  .top-faq .faq-column .icon {
    max-width: 140px;
    width: 11%;
  }
}

.top-faq .faq-column .icon img {
  width: 100%;
  height: auto;
}

.top-faq .faq-column .q-box dl {
  border: 4px solid #002361;
  border-radius: 30px;
  padding: 3vw 2vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media only screen and (min-width: 768px) {
  .top-faq .faq-column .q-box dl {
    padding: 1vw 1.5vw;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.top-faq .faq-column .q-box dl::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 0;
  border-right: 20px solid #002361;
  content: "";
  display: block;
  position: absolute;
  left: -20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {
  .top-faq .faq-column .q-box dl::after {
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 0;
    border-right: 40px solid #002361;
    left: -40px;
  }
}

.top-faq .faq-column .q-box dl dt {
  padding-right: 10px;
  margin-right: 10px;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: clamp(4rem, 5vw, 6rem);
  line-height: 1;
  border-right: 2px solid #002361;
  color: #002361;
}

@media only screen and (min-width: 768px) {
  .top-faq .faq-column .q-box dl dt {
    padding-right: 20px;
    margin-right: 20px;
    border-right: 4px solid #002361;
  }
}

.top-faq .faq-column .q-box dl dd {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.top-faq .faq-column .a-box {
  position: relative;
  top: -1vw;
  margin-top: 1vw;
}

.top-faq .faq-column .a-box dl {
  border-radius: 30px;
  padding: 3vw 4vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background: #002361;
  color: #FFFFFF;
  position: relative;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media only screen and (min-width: 768px) {
  .top-faq .faq-column .a-box dl {
    padding: 1.5vw 2vw;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.top-faq .faq-column .a-box dl::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 20px solid #002361;
  border-right: 0;
  content: "";
  display: block;
  position: absolute;
  right: -20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {
  .top-faq .faq-column .a-box dl::after {
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 40px solid #002361;
    border-right: 0;
    right: -40px;
  }
}

.top-faq .faq-column .a-box dl dt {
  padding-right: 10px;
  margin-right: 10px;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: clamp(4rem, 5vw, 6rem);
  line-height: 1;
  border-right: 2px solid #FFFFFF;
  color: #FFFFFF;
}

@media only screen and (min-width: 768px) {
  .top-faq .faq-column .a-box dl dt {
    border-right: 4px solid #FFFFFF;
  }
}

@media only screen and (min-width: 768px) {
  .top-faq .faq-column .a-box dl dt {
    padding-right: 20px;
    margin-right: 20px;
  }
}

.top-faq .faq-column .a-box dl dd {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.home .l-footer {
  margin-top: 0;
}

.l-footer {
  position: relative;
  margin-top: 100px;
}

@media only screen and (min-width: 768px) {
  .l-footer {
    margin-top: 200px;
  }
}

.l-footer .footer-upper {
  border-top-right-radius: 50px;
  border-top-left-radius: 50px;
  background: url(images/pic_footer_sp.jpg) center bottom/cover no-repeat;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 50px 0 25vw;
}

@media only screen and (min-width: 768px) {
  .l-footer .footer-upper {
    background: url(images/pic_footer.jpg) center top/cover no-repeat;
    padding: 70px 5% 5% 0%;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}

.l-footer .footer-upper h5 {
  text-align: center;
  color: #FFFFFF;
  font-size: clamp(1.8rem, 3vw, 4rem);
  white-space: nowrap;
  line-height: 1.7;
  margin-bottom: 50px;
}

.l-footer .footer-upper h5 span {
  color: #002361;
  font-size: 110%;
  padding: 0 1rem;
}

.l-footer .footer-upper .cont-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
}

@media only screen and (min-width: 1025px) {
  .l-footer .footer-upper .cont-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
  }
}

@media only screen and (min-width: 1280px) {
  .l-footer .footer-upper .cont-wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row;
    -ms-flex-flow: row;
    flex-flow: row;
  }
}

.l-footer .footer-upper .cont-wrap .cont-box {
  background: #FFFFFF;
  border-radius: 30px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
  text-align: center;
  position: relative;
  padding: 30px 30px 30px;
  color: #002361;
  margin-bottom: 50px;
}

@media only screen and (min-width: 1025px) {
  .l-footer .footer-upper .cont-wrap .cont-box {
    width: 68%;
    margin: 0 auto 50px;
    padding: 50px 30px 30px;
  }
}

@media only screen and (min-width: 1280px) {
  .l-footer .footer-upper .cont-wrap .cont-box {
    width: 48%;
    margin-bottom: 0;
  }
}

.l-footer .footer-upper .cont-wrap .cont-box .icon {
  background: #002361;
  width: 50px;
  height: 50px;
  border-radius: 100px;
  color: #FFFFFF;
  position: absolute;
  top: -30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

@media only screen and (min-width: 768px) {
  .l-footer .footer-upper .cont-wrap .cont-box .icon {
    width: 70px;
    height: 70px;
  }
}

.l-footer .footer-upper .cont-wrap .cont-box .icon.icon-tel {
  font-size: 2rem;
}

@media only screen and (min-width: 768px) {
  .l-footer .footer-upper .cont-wrap .cont-box .icon.icon-tel {
    font-size: 3rem;
  }
}

.l-footer .footer-upper .cont-wrap .cont-box .icon.icon-pc img {
  width: 55px;
}

@media only screen and (min-width: 768px) {
  .l-footer .footer-upper .cont-wrap .cont-box .icon.icon-pc img {
    width: 65px;
  }
}

.l-footer .footer-upper .cont-wrap .cont-box dl dt {
  font-weight: 700;
  font-size: clamp(1.5rem, 1.8vw, 1.8rem);
  white-space: nowrap;
}

.l-footer .footer-upper .cont-wrap .cont-box dl dd.num {
  font-size: 9vw;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  white-space: nowrap;
  line-height: 1.3;
}

@media only screen and (min-width: 768px) {
  .l-footer .footer-upper .cont-wrap .cont-box dl dd.num {
    font-size: clamp(1.8rem, 2.7vw, 5rem);
  }
}

.l-footer .footer-upper .cont-wrap .cont-box dl .btn-more {
  margin-top: 10px;
}

@media only screen and (min-width: 768px) {
  .l-footer .footer-upper .cont-wrap .cont-box dl .btn-more {
    margin-top: 20px;
  }
}

.l-footer .footer-upper .cont-wrap .cont-box .time span {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  margin-left: 1rem;
  font-size: 5vw;
}

@media only screen and (min-width: 768px) {
  .l-footer .footer-upper .cont-wrap .cont-box .time span {
    font-size: 1.8rem;
  }
}

@media only screen and (min-width: 768px) {
  .l-footer .footer-upper .footer-upper-inner {
    width: 50vw;
    max-width: 800px;
    margin-right: 5%;
  }
}

.l-footer .footer-btm {
  background: #002361;
  padding-bottom: 50px;
}

.l-footer .footer-btm a {
  color: #FFFFFF;
}

.l-footer .footer-btm .footer-btm-inner {
  margin: auto;
  padding-top: 50px;
}

@media only screen and (min-width: 768px) {
  .l-footer .footer-btm .footer-btm-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 80px;
  }
}

.l-footer .footer-btm .footer-btm-inner .btm-l {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  align-items: center;
  margin-bottom: 50px;
}

@media only screen and (min-width: 768px) {
  .l-footer .footer-btm .footer-btm-inner .btm-l {
    width: 50%;
    margin-bottom: 0;
  }
}

.l-footer .footer-btm .footer-btm-inner .btm-l img {
  width: 40%;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  .l-footer .footer-btm .footer-btm-inner .btm-l img {
    width: 50%;
    max-width: 400px;
  }
}

@media only screen and (min-width: 768px) {
  .l-footer .footer-btm .footer-btm-inner .btm-r {
    width: 50%;
    padding-right: 12%;
  }
}

.l-footer .footer-btm .footer-btm-inner .btm-r img {
  width: 70%;
  margin: auto;
  display: block;
}

@media only screen and (min-width: 768px) {
  .l-footer .footer-btm .footer-btm-inner .btm-r img {
    width: 100%;
    max-width: 700px;
    -webkit-transition: .3s;
    transition: .3s;
  }
}

.l-footer .footer-btm .footer-btm-inner .btm-r img:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.l-footer .footer-btm .footer-nav {
  margin: 80px 0 0;
  display: none;
}

@media only screen and (min-width: 768px) {
  .l-footer .footer-btm .footer-nav {
    display: inherit;
  }
}

.l-footer .footer-btm .footer-nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.l-footer .footer-btm .footer-nav ul li {
  margin: 0 2vw;
  letter-spacing: .1rem;
}

.l-footer .footer-btm .footer-nav ul li a {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  -webkit-transition: .1s;
  transition: .1s;
}

.l-footer .footer-btm .footer-nav ul li a:hover {
  text-decoration: none;
  border-bottom: 2px solid #fc900d;
  padding-bottom: 4px;
}

.l-footer .footer-btm .footer-nav ul li.active a {
  text-decoration: none;
  border-bottom: 2px solid #fc900d;
  padding-bottom: 4px;
}

.l-footer .footer-btm .privacy {
  text-align: center;
  font-size: 1.3rem;
  margin-top: 30px;
}

.l-footer .footer-btm .privacy a {
  -webkit-transition: .2s;
  transition: .2s;
}

.l-footer .footer-btm .privacy a:hover {
  opacity: .5;
}

.footer-add {
  color: #002361;
  padding: 30px;
  max-width: 1500px;
  margin: auto;
  width: 90%;
}

@media only screen and (min-width: 768px) {
  .footer-add {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 50px;
  }
}

.footer-add dl dt {
  font-size: clamp(1.5rem, 1.6vw, 1.6rem);
  font-weight: 700;
}

.footer-add dl dd {
  font-size: clamp(1.2rem, 1vw, 1.2rem);
}

@media only screen and (min-width: 1680px) {
  .footer-add dl dd br {
    display: none;
  }
}

.footer-add .add-l {
  border-bottom: 1px solid #002361;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .footer-add .add-l {
    width: 50%;
    padding-right: 5vw;
    border-right: 1px solid #002361;
    padding-left: 5vw;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 768px) {
  .footer-add .add-r {
    width: 50%;
    padding-left: 5vw;
  }
}

.copy {
  background: #002361;
  color: #FFFFFF;
  text-align: center;
  font-size: 1.2rem;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  padding: 10px;
  letter-spacing: .1rem;
}

/* ----------------------------------

共通

---------------------------------- */
#content-wrap {
  margin: 0 10vw;
}

.page-products {
  overflow: hidden;
}

.page-products #content-wrap {
  margin: 0;
}

@media only screen and (min-width: 768px) {
  .page-products #content-wrap {
    margin: 0 10vw;
  }
}

.pc-br {
  display: none;
}

@media only screen and (min-width: 1280px) {
  .pc-br {
    display: block;
  }
}

.page-next-link {
  text-align: center;
  width: 250px;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  .page-next-link {
    margin-left: 35%;
    max-width: 350px;
    width: auto;
  }
}

.page-next-link .next {
  font-size: clamp(3rem, 3vw, 4rem);
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 800;
  color: #002361;
  line-height: 1;
}

.page-next-link .btn-wide {
  width: 100%;
}

.page-next-link .btn-wide a {
  width: 100%;
  text-align: left;
  padding: 15px 50px;
  font-size: clamp(2.2rem, 2.5vw, 2.5rem);
}

@media only screen and (min-width: 768px) {
  .page-next-link .btn-wide a {
    padding: 25px 50px;
  }
}

.c-breadcrumb {
  font-size: 1.3rem;
  padding: 2vw 0 0 2vw;
}

.c-breadcrumb a {
  color: #ccc;
}

.se-tit {
  padding: 7vw 7vw 7vw 8vw;
}

.se-tit .tit-wrap {
  border-left: 2px solid #002361;
  padding: 20px 50px 0px 20px;
}

.se-tit .tit-en {
  font-size: clamp(5rem, 7vw, 10rem);
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  color: #002361;
  line-height: 1;
}

@media only screen and (min-width: 768px) {
  .se-tit .tit-en {
    line-height: .7;
  }
}

.se-tit h2 {
  color: #fc900d;
  margin-top: 20px;
  padding-left: 5px;
}

/* ----------------------------------

service

---------------------------------- */
#service01, #service02, #service03_01, #service03_02, #service03, #service04, #service05, #service06 {
  scroll-margin-top: 80px;
}

@media only screen and (min-width: 768px) {
  #service01, #service02, #service03_01, #service03_02, #service03, #service04, #service05, #service06 {
    scroll-margin-top: 110px;
  }
}

.team-menu.service-menu {
  left: 0;
  width: 100%;
  margin-top: -20px;
  margin-bottom: 100px;
}

@media only screen and (min-width: 768px) {
  .team-menu.service-menu {
    margin-top: 0;
  }
}

@media only screen and (min-width: 768px) {
  .team-menu.service-menu {
    width: 80%;
  }
}

.team-menu.service-menu .team-box {
  opacity: 1;
  width: 44%;
  margin-top: -20px;
}

@media only screen and (min-width: 768px) {
  .team-menu.service-menu .team-box {
    width: 40%;
    margin-top: 0;
  }
}

@media only screen and (min-width: 1025px) {
  .team-menu.service-menu .team-box {
    width: 30%;
  }
}

.team-menu.service-menu .team-box a {
  border: none;
  padding-bottom: 0;
}

.team-menu.service-menu .team-box a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f107";
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media only screen and (min-width: 768px) {
  .team-menu.service-menu .team-box a::after {
    display: none;
  }
}

.team-menu.service-menu .team-box a:hover {
  -webkit-transform: scale(1.02);
  transform: scale(1.02);
}

.team-menu.service-menu .team-box .btn-center {
  display: none;
}

@media only screen and (min-width: 768px) {
  .team-menu.service-menu .team-box:nth-child(1) .icon {
    width: 60%;
  }
}

@media only screen and (min-width: 768px) {
  .team-menu.service-menu .team-box:nth-child(2) .icon {
    width: 50%;
  }
}

@media only screen and (min-width: 768px) {
  .team-menu.service-menu .team-box:nth-child(3) .icon {
    width: 70%;
  }
}

@media only screen and (min-width: 768px) {
  .team-menu.service-menu .team-box:nth-child(4) .icon {
    width: 60%;
  }
}

@media only screen and (min-width: 768px) {
  .team-menu.service-menu .team-box:nth-child(5) .icon {
    width: 70%;
  }
}

@media only screen and (min-width: 768px) {
  .team-menu.service-menu .team-box:nth-child(6) .icon {
    width: 60%;
  }
}

.team-menu.service-menu .team-box h4 {
  font-size: 5vw;
  margin-top: -10px;
}

@media only screen and (min-width: 768px) {
  .team-menu.service-menu .team-box h4 {
    font-size: clamp(1.5rem, 2.5vw, 2.5rem);
    margin-top: 0;
  }
}

.service-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.service-wrap .txt-service {
  margin: auto;
  width: 90%;
}

@media only screen and (min-width: 768px) {
  .service-wrap .txt-service {
    width: 80%;
  }
}

.service-wrap .sv-inner {
  width: 90%;
  margin: auto;
}

.service-wrap .sv-inner > .num {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: clamp(12rem, 20vw, 25rem);
  font-weight: 800;
  color: #FFFFFF;
  line-height: .7;
}

.service-wrap .side-nav {
  background: #002361;
  color: #FFFFFF;
  position: relative;
  left: 0;
  z-index: 10;
  border-bottom-right-radius: 60px;
  border-top-right-radius: 60px;
  padding: clamp(1.8rem, 5vw, 80px);
  width: 29.8%;
  display: none;
}

@media only screen and (min-width: 768px) {
  .service-wrap .side-nav {
    display: inherit;
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 100px;
  }
}

.service-wrap .side-nav a {
  color: #FFFFFF;
}

.service-wrap .side-nav a:hover {
  color: #fc900d;
}

.service-wrap .side-nav ul li {
  font-size: clamp(1.5rem, 1.6vw, 2rem);
  font-weight: 700;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  margin-bottom: 10px;
}

.service-wrap .side-nav ul li a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.service-wrap .side-nav ul li::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #FFFFFF;
  position: relative;
  opacity: .5;
  top: -8px;
}

.service-wrap .side-nav ul li .num {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: clamp(1.8rem, 3.5vw, 5rem);
  font-weight: 800;
  opacity: .5;
  line-height: 1;
  letter-spacing: -.2rem;
  margin-right: 2rem;
}

.service-wrap .side-nav ul li .list {
  position: relative;
  display: block;
  line-height: 1.3;
}

.service-wrap .side-nav ol {
  position: relative;
  left: 30%;
  margin: 15px 0;
}

.service-wrap .side-nav ol li {
  list-style-type: disc;
  list-style-position: inside;
  font-size: clamp(1.6rem, 1.6vw, 1.6rem);
  line-height: 1.5;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.service-wrap .side-nav ol li::before {
  content: "●";
  display: inline-block;
  color: #fc900d;
  font-size: 1rem;
  margin-right: 1rem;
  top: 7px;
  position: relative;
}

.service-wrap .side-nav ol li a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.service-wrap .side-nav ol li a span {
  font-size: clamp(0.8rem, 1vw, 1.3rem);
}

.service-wrap .side-nav ol li::after {
  display: none;
}

.service-wrap .service-inner {
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner {
    width: 70%;
  }
}

.service-wrap .service-inner .service-block {
  background: #f4f4f4;
  position: relative;
  padding-bottom: 30px;
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner .service-block {
    padding-bottom: 100px;
  }
}

.service-wrap .service-inner .service-block:nth-child(even) {
  background: #FFFFFF;
}

.service-wrap .service-inner .service-block:nth-child(even) .sv-inner > .num {
  color: #f4f4f4;
}

.service-wrap .service-inner .service-block:nth-child(even) .sv-inner .sv-column .sv-box {
  background: #f4f4f4;
  color: #002361;
  font-weight: 900;
  text-align: center;
  font-size: clamp(1.8rem, 1.8vw, 1.8rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1.5;
}

.service-wrap .service-inner .service-block:nth-child(5) .sv-inner {
  width: 100%;
}

.service-wrap .service-inner .service-block:nth-child(5) .sv-column {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-flex-flow: nowrap;
  -ms-flex-flow: nowrap;
  flex-flow: nowrap;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner .service-block:nth-child(5) .sv-column {
    width: auto;
  }
}

.service-wrap .service-inner .service-block:nth-child(5) .sv-column .sv-box {
  margin: 1%;
}

.service-wrap .service-inner .service-block:nth-child(5) .sv-column .sv-box dd {
  text-align: center;
}

.service-wrap .service-inner .service-block:nth-child(7) .sv-inner {
  width: 100%;
}

.service-wrap .service-inner .service-block:nth-child(7) .sv-column {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.service-wrap .service-inner .service-block:nth-child(7) .sv-column .sv-box {
  margin: 1%;
}

.service-wrap .service-inner .service-block:nth-child(8) .sv-inner {
  width: 100%;
}

.service-wrap .service-inner .service-block:nth-child(8) .sv-column {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.service-wrap .service-inner .service-block:nth-child(8) .sv-column .sv-box {
  margin: 1%;
}

.service-wrap .service-inner .service-block:nth-child(8) .sv02-column {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2vw;
}

.service-wrap .service-inner .service-block.service05 {
  padding-bottom: 100px;
}

.service-wrap .service-inner .service-block .sv-main {
  padding: 100px 0 0;
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner .service-block .sv-main {
    padding: 10vw 0 0;
  }
}

.service-wrap .service-inner .service-block .sv-main img {
  width: 45vw;
  display: block;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner .service-block .sv-main img {
    width: 15vw;
  }
}

.service-wrap .service-inner .service-block .sv-main .tit-center {
  text-align: center;
  margin-top: 30px;
}

.service-wrap .service-inner .service-block .sv-main h3 {
  background: #002361;
  color: #FFFFFF;
  font-size: clamp(1.8rem, 3vw, 3rem);
  display: inline-block;
  padding: 7px 50px;
  border-top-left-radius: 20px;
  border-bottom-right-radius: 20px;
}

.service-wrap .service-inner .service-block .sv-main .txt {
  width: 90%;
  margin: 10px auto 0;
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner .service-block .sv-main .txt {
    text-align: center;
    margin: 30px auto 0;
  }
}

.service-wrap .service-inner .service-block .sv-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  margin-top: 40px;
}

.service-wrap .service-inner .service-block .sv-column.sv-center {
  -webkit-flex-flow: nowrap;
  -ms-flex-flow: nowrap;
  flex-flow: nowrap;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner .service-block .sv-column.sv-center {
    width: auto;
  }
}

.service-wrap .service-inner .service-block .sv-column .sv-box {
  background: #FFFFFF;
  margin-bottom: 10px;
  border-radius: 20px;
  padding: 20px 20px;
  color: #002361;
  font-weight: 900;
  text-align: center;
  font-size: clamp(1.8rem, 1.8vw, 1.8rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1.5;
  width: 49%;
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner .service-block .sv-column .sv-box {
    padding: 30px;
  }
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner .service-block .sv-column .sv-box {
    width: 49.5%;
  }
}

@media only screen and (min-width: 1280px) {
  .service-wrap .service-inner .service-block .sv-column .sv-box {
    width: 32.5%;
  }
}

.service-wrap .service-inner .service-block .sv-column .sv-box dl {
  color: #002361;
}

.service-wrap .service-inner .service-block .sv-column .sv-box dl dt {
  font-size: clamp(1.7rem, 1.5vw, 1.9rem);
  font-weight: 800;
  text-align: center;
  margin-bottom: 10px;
  white-space: nowrap;
}

.service-wrap .service-inner .service-block .sv-column .sv-box dl dd {
  font-size: clamp(1.4rem, 1.5vw, 1.5rem);
  line-height: 1.5;
  font-weight: 500;
  text-align: left;
}

.service-wrap .service-inner .service-block .sv-column .sv-box.txt-lg {
  font-size: clamp(1.8rem, 2vw, 2.2rem) !important;
}

.service-wrap .service-inner .service-block .sv-column.sv-ec .sv-box {
  padding: 10px;
  font-size: 3.5vw !important;
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner .service-block .sv-column.sv-ec .sv-box {
    padding: 30px;
    font-size: clamp(1.8rem, 1.8vw, 1.8rem) !important;
  }
}

.service-wrap .service-inner .service-block .sv-work {
  margin-top: 7vw;
}

.service-wrap .service-inner .service-block .sv02-column {
  margin-top: 50px;
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner .service-block .sv02-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 4vw;
  }
}

.service-wrap .service-inner .service-block .sv02-column .sv02-box {
  background: #002361;
  color: #FFFFFF;
  border-radius: 30px;
  padding: 30px;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner .service-block .sv02-column .sv02-box {
    width: 49.5%;
    padding: 3vw;
    margin-bottom: 0;
  }
}

.service-wrap .service-inner .service-block .sv02-column .sv02-box dl dt {
  font-size: clamp(1.8rem, 2vw, 2.2rem);
  font-weight: 800;
  line-height: 1.5;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner .service-block .sv02-column .sv02-box dl dt {
    margin-bottom: 30px;
  }
}

.service-wrap .service-inner .service-block .sv02-column .sv02-box dl dd {
  font-size: clamp(1.5rem, 1.5vw, 1.5rem);
}

.service-wrap .service-inner .service-block .sv-pickup {
  margin-top: 50px;
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner .service-block .sv-pickup {
    margin-top: 4vw;
  }
}

.service-wrap .service-inner .service-block .sv-pickup .tit-en {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  font-size: clamp(3.5rem, 4vw, 5rem);
  text-align: center;
  color: #002361;
}

.service-wrap .service-inner .service-block .sv-pickup .work-column {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.service-wrap .service-inner .service-block .sv-pickup .work-column .work-box {
  background: #f4f4f4;
}

.service-wrap .service-inner .service-block .sv-pickup .work-column .work-box .txt {
  width: 90%;
  margin: auto;
  color: #002361;
  font-size: clamp(1.5rem, 1.5vw, 1.5rem);
  margin-top: 10px;
  line-height: 1.5;
}

.service-wrap .service-inner .service-block .btn-more {
  border-radius: 100px;
  background: #002361;
  position: relative;
  padding: 0;
}

@media only screen and (min-width: 768px) {
  .service-wrap .service-inner .service-block .btn-more {
    padding: 0;
  }
}

.service-wrap .service-inner .service-block .btn-more::after {
  content: "";
  display: block;
  background: url(images/arrow_btn_min.svg) center top/cover no-repeat;
  height: 5px;
  width: 25px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  margin-top: -2px;
  -webkit-transition: .3s;
  transition: .3s;
  display: none;
}

.service-wrap .service-inner .service-block .btn-more:hover {
  background: #fc900d;
}

.sv01-flow {
  margin-top: 7vw;
}

.sv01-flow .flow-column {
  margin-top: 4vw;
  margin-bottom: 60px;
}

@media only screen and (min-width: 768px) {
  .sv01-flow .flow-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 4vw;
  }
}

.sv01-flow .flow-column .flow-box {
  background: #002361;
  color: #FFFFFF;
  padding: 30px 20px 20px;
  border-radius: 30px;
  position: relative;
  margin-bottom: 30px;
  margin-top: 40px;
}

@media only screen and (min-width: 768px) {
  .sv01-flow .flow-column .flow-box {
    width: 32.5%;
    padding: 50px 30px 30px;
    margin-bottom: 0;
    margin-top: 0;
  }
}

.sv01-flow .flow-column .flow-box .num {
  position: absolute;
  left: -15px;
  top: -20px;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: clamp(2.5rem, 3vw, 4rem);
  font-weight: 700;
  color: #002361;
  background: #f4f4f4;
  border-radius: 30px;
  width: 80px;
  text-align: right;
  padding-right: 15px;
  line-height: 1.5;
}

@media only screen and (min-width: 768px) {
  .sv01-flow .flow-column .flow-box .num {
    left: -15px;
    top: -30px;
  }
}

.sv01-flow .flow-column .flow-box dl dt {
  font-size: clamp(1.8rem, 1.8vw, 2.3rem);
  line-height: 1.3;
  font-weight: 800;
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .sv01-flow .flow-column .flow-box dl dt {
    margin-bottom: 20px;
  }
}

.sv01-flow .flow-column .flow-box dl dd {
  font-size: clamp(1.4rem, 1.5vw, 1.5rem);
  line-height: 1.5;
}

@media only screen and (min-width: 768px) {
  .sv01-flow .flow-column .flow-box::after {
    content: "";
    display: block;
    background: url(images/flow.svg) center top/cover no-repeat;
    height: 40px;
    width: 40px;
    position: absolute;
    right: -25px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 10;
  }
}

.sv01-flow .flow-column .flow-box:last-child::after {
  display: none;
}

.tit-block-en {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: clamp(3.3rem, 4vw, 6rem);
  font-weight: 800;
  color: #002361;
  border-left: 2px solid #fc900d;
  line-height: .7;
  padding-left: 20px;
  margin-bottom: 40px;
}

.tit-block-en span {
  color: #999;
  font-size: 1.2rem;
  margin-left: 1rem;
}

@media only screen and (min-width: 768px) {
  .tit-block-en span {
    font-size: 1.5rem;
    margin-left: 2rem;
  }
}

.sv03-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 50px;
}

.sv03-column.sv03-column-btm {
  margin-top: 0;
}

@media only screen and (min-width: 768px) {
  .sv03-column {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-top: 5vw;
  }
}

.sv03-column::after {
  content: "";
  display: block;
  background: #002361;
  position: absolute;
  height: 75%;
  width: 100%;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
}

@media only screen and (min-width: 768px) {
  .sv03-column::after {
    width: 80%;
    height: 95%;
  }
}

.sv03-column .sv03-l {
  color: #FFFFFF;
  position: relative;
  z-index: 10;
  padding: 5vw;
}

@media only screen and (min-width: 768px) {
  .sv03-column .sv03-l {
    width: 60%;
  }
}

.sv03-column .sv03-l dl {
  margin-bottom: 20px;
  margin-top: 20px;
}

@media only screen and (min-width: 768px) {
  .sv03-column .sv03-l dl {
    margin-top: 0;
  }
}

.sv03-column .sv03-l dl dt {
  font-size: clamp(2.5rem, 2.5vw, 3.5rem);
  font-weight: 800;
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .sv03-column .sv03-l dl dt {
    margin-bottom: 20px;
  }
}

.sv03-column .sv03-l dl dd {
  font-size: clamp(1.8rem, 1.8vw, 2rem);
  font-weight: 800;
}

.sv03-column .sv03-l.sv03-l-one {
  padding-bottom: 200px;
}

@media only screen and (min-width: 768px) {
  .sv03-column .sv03-l.sv03-l-one {
    width: 100%;
    padding-bottom: 130px;
  }
}

.sv03-column .sv03-r {
  position: relative;
  z-index: 10;
  width: 70%;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  .sv03-column .sv03-r {
    width: 35%;
    margin-top: 120px;
    margin: 120px unset unset;
  }
}

.sv03-column .sv03-r img {
  border-radius: 30px;
}

.sv03-column .txt-pickup-sp {
  font-size: 7vw;
  color: #FFFFFF;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  margin: 20px 0 0;
  position: relative;
  font-weight: 800;
  padding-left: 30px;
}

.sv03-column .txt-pickup-sp::after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: #fc900d;
  position: absolute;
  left: -0px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {
  .sv03-column .txt-pickup-sp {
    display: none;
  }
}

.sv03-column .txt-pickup {
  display: none;
}

@media only screen and (min-width: 768px) {
  .sv03-column .txt-pickup {
    width: 10%;
    margin-top: 200px;
  }
}

.sv03-column .txt-pickup .tit-pick {
  white-space: nowrap;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: clamp(1.8rem, 3vw, 3rem);
  font-weight: 700;
  color: #002361;
  position: relative;
}

@media only screen and (min-width: 768px) {
  .sv03-column .txt-pickup .tit-pick {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
}

.sv03-column .txt-pickup .tit-pick::after {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  background: #fc900d;
  position: absolute;
  left: -50px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {
  .sv03-column:nth-child(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-flow: row-reverse;
    -ms-flex-flow: row-reverse;
    flex-flow: row-reverse;
  }
}

.sv03-column:nth-child(odd)::after {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
}

.sv03-column:nth-child(odd) .sv03-r .sv03-box {
  background: #FFFFFF;
  border-radius: 30px;
  overflow: hidden;
  padding-bottom: 30px;
}

.sv03-column:nth-child(odd) .sv03-r .sv03-box img {
  border-radius: 0px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 4 / 2.5;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

@media only screen and (min-width: 768px) {
  .sv03-column:nth-child(odd) .sv03-r .sv03-box img {
    aspect-ratio: 4 / 2.5;
  }
}

.sv03-column:nth-child(odd) .sv03-r .sv03-box .name {
  font-size: clamp(1.8rem, 2vw, 2.5rem);
  font-weight: 700;
  text-align: center;
  margin: 10px 0;
  color: #002361;
}

.sv03-column:nth-child(odd) .sv03-r .sv03-box .txt {
  width: 80%;
  margin: auto;
  font-size: clamp(1.5rem, 1.5vw, 1.5rem);
  color: #002361;
  line-height: 1.5;
}

.our-pd-tit {
  text-align: center;
  font-size: clamp(1.8rem, 2vw, 2.5rem);
  color: #002361;
  font-weight: 700;
  margin-top: 5vw;
}

.our-product {
  width: 90%;
  margin: 30px auto 80px;
}

@media only screen and (min-width: 768px) {
  .our-product {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 30px auto 0;
  }
}

.our-product .pd-box {
  background: #FFFFFF;
  overflow: hidden;
  border-radius: 30px;
  padding-bottom: 30px;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .our-product .pd-box {
    width: 32.5%;
    margin-bottom: 0;
  }
}

.our-product .pd-box .icon {
  background: #ddd;
  padding: 20px 70px;
}

@media only screen and (min-width: 768px) {
  .our-product .pd-box .icon {
    padding: 60px 50px;
  }
}

.our-product .pd-box h5 {
  text-align: center;
  font-size: clamp(1.8rem, 1.5vw, 2rem);
  font-weight: 700;
  margin: 15px 0 10px;
  color: #002361;
  line-height: 1.3;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media only screen and (min-width: 1025px) {
  .our-product .pd-box h5 br {
    display: none;
  }
}

.our-product .pd-box .txt {
  color: #002361;
  width: 80%;
  margin: auto;
  font-size: clamp(1.5rem, 1.5vw, 1.5rem);
  line-height: 1.5;
}

.our-product .pd-box:last-child .icon {
  padding: 20px 50px;
}

@media only screen and (min-width: 768px) {
  .our-product .pd-box:last-child .icon {
    padding: 60px 20px;
  }
}

.our-product .btn-more.blank {
  padding: 0 !important;
}

.sv04-tit {
  text-align: center;
  font-size: clamp(2.3rem, 3vw, 3rem);
  color: #002361;
  font-weight: 800;
  margin: 50px 0 10px;
}

@media only screen and (min-width: 768px) {
  .sv04-tit {
    margin: 4vw 0 3vw;
  }
}

.sv04-graph img {
  display: block;
  margin: auto;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .sv04-graph img {
    width: 70%;
  }
}

.sv04-graph .txt {
  margin-top: 3vw;
}

.sv04-charge {
  margin-top: 60px;
  margin-bottom: 100px;
}

@media only screen and (min-width: 768px) {
  .sv04-charge {
    margin-top: 5vw;
    margin-bottom: 0;
  }
}

.sv04-charge table {
  border-radius: 20px;
  overflow: hidden;
  border-collapse: collapse;
  width: 100%;
}

.sv04-charge table th {
  background: #002361;
  color: #FFFFFF;
  padding: 15px;
  line-height: 1.5;
  text-align: center;
}

.sv04-charge table td {
  background: #f4f4f4;
  color: #002361;
  padding: 20px;
  text-align: center;
}

.sv04-charge table span {
  color: #fc900d;
  text-align: center;
  display: block;
  line-height: 1.3;
  font-weight: 800;
}

.sv04-charge table .line-r {
  border-right: 1px solid #ccc;
}

.sv04-charge table .line-b {
  border-bottom: 1px solid #ccc;
  white-space: nowrap;
}

.sv04-charge table .al-center {
  vertical-align: middle;
}

@media only screen and (min-width: 768px) {
  .sv04-charge .charge-upper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

@media only screen and (min-width: 768px) {
  .sv04-charge .charge-upper .charge-l {
    width: 65%;
  }
}

.sv04-charge .charge-upper .charge-r {
  margin-top: 30px;
}

@media only screen and (min-width: 768px) {
  .sv04-charge .charge-upper .charge-r {
    width: 33%;
    margin-top: 0;
  }
}

.sv04-charge .charge-upper .charge-r td {
  padding: 14px 20px;
}

.sv04-charge .tit-charge {
  font-size: clamp(1.8rem, 2vw, 2.5rem);
  font-weight: 800;
  color: #002361;
  text-align: center;
  margin-bottom: 10px;
}

.sv04-charge .charge-op {
  margin-top: 30px;
}

@media only screen and (min-width: 768px) {
  .sv04-charge .charge-op .op-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.sv04-charge .charge-op .op-column .op-box {
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .sv04-charge .charge-op .op-column .op-box {
    width: 32.5%;
    margin-bottom: 0;
  }
}

.sv04-charge .charge-op .op-column .op-box th {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.sv04-charge .charge-op .op-column .op-box td {
  font-size: clamp(1.5rem, 1.5vw, 1.5rem);
  line-height: 1.5;
  text-align: left;
}

.sv04-charge .charge-op .op-column .op-box span {
  display: block;
  margin-bottom: 10px;
}

h4.sv-mid-txt {
  font-size: clamp(2.2rem, 2vw, 3rem);
  color: #002361;
  line-height: 1.5;
  margin-bottom: 20px;
}

.work-column {
  margin-top: 4vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  width: 80%;
  margin: 50px auto;
}

@media only screen and (min-width: 768px) {
  .work-column {
    margin: 4vw 0 0;
    width: 100%;
  }
}

.work-column .work-box {
  border-radius: 30px;
  overflow: hidden;
  background: #FFFFFF;
  padding-bottom: 30px;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .work-column .work-box {
    border-radius: 30px;
    width: 32.5%;
    margin-bottom: 0;
  }
}

.work-column .work-box .pic img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 4 / 2.5;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

.work-column .work-box .name {
  display: block;
  line-height: 1.5;
  font-size: clamp(1.8rem, 1.8vw, 1.8rem);
  font-weight: 800;
  text-align: center;
  width: 90%;
  margin: 20px auto 0;
  color: #002361;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.sv05-column {
  margin-top: 5vw;
}

.sv05-column .sv05-column-inner {
  background: #002361;
  color: #FFFFFF;
  width: 100%;
  border-top-right-radius: 50px;
  padding: 30px 30px 150px;
  position: relative;
}

@media only screen and (min-width: 768px) {
  .sv05-column .sv05-column-inner {
    width: 85%;
    padding: 5vw 5vw 200px;
    border-top-right-radius: 100px;
  }
}

.sv05-column .sv05-column-inner .icon {
  font-size: 23vw;
  position: absolute;
  right: 20px;
  top: 10px;
  opacity: .1;
  line-height: 1;
}

@media only screen and (min-width: 768px) {
  .sv05-column .sv05-column-inner .icon {
    font-size: 13vw;
    right: 4vw;
    top: 3vw;
  }
}

.sv05-column .plan-column {
  position: relative;
  top: -100px;
  width: 90%;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  .sv05-column .plan-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 80%;
    margin-left: 15%;
  }
}

.sv05-column .plan-column .plan-box {
  background: #FFFFFF;
  border-radius: 30px;
  color: #002361;
  padding: 20px;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .sv05-column .plan-column .plan-box {
    width: 49%;
    padding: 3vw;
    margin-bottom: 0;
  }
}

.sv05-column .plan-column .plan-box .plan-tit {
  margin-bottom: 20px;
}

.sv05-column .plan-column .plan-box .plan-tit dt {
  font-size: clamp(1.8rem, 2vw, 2.5rem);
  font-weight: 700;
  line-height: 1;
  position: relative;
  padding-bottom: 40px;
}

.sv05-column .plan-column .plan-box .plan-tit dt::after {
  content: "";
  display: block;
  width: 110%;
  height: 2px;
  background: #002361;
  position: relative;
  left: -20px;
  top: 15px;
}

@media only screen and (min-width: 768px) {
  .sv05-column .plan-column .plan-box .plan-tit dt::after {
    left: -3vw;
  }
}

.sv05-column .plan-column .plan-box .plan-tit dd {
  font-size: clamp(1.5rem, 1.5vw, 1.5rem);
  line-height: 1.5;
}

.sv05-column .plan-column .plan-box .price {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom: 1px solid #002361;
  padding: 10px 0 5px;
}

.sv05-column .plan-column .plan-box .price dt {
  font-weight: 700;
}

.sv05-column .plan-column .plan-box .price dd {
  color: #fc900d;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 600;
  font-size: clamp(1.5rem, 1.8vw, 1.8rem);
}

.sv05-column .plan-column .plan-box .price-check {
  margin-top: 30px;
}

.sv05-column .plan-column .plan-box .price-check > li {
  position: relative;
  padding-left: 20px;
  font-size: clamp(1.3rem, 1.5vw, 1.5rem);
  margin-bottom: 5px;
  line-height: 1.5;
}

.sv05-column .plan-column .plan-box .price-check > li::before {
  content: "";
  display: block;
  background: url(images/check.svg) center top/cover no-repeat;
  height: 20px;
  width: 17px;
  position: absolute;
  left: -0px;
  top: 3px;
}

.sv05-column .plan-column .plan-box .price-check ol {
  margin-bottom: 10px;
}

.sv05-column .plan-column .plan-box .price-check ol li {
  display: block;
  font-size: clamp(1.4rem, 1.4vw, 1.4rem);
}

.sv05-txt-min {
  font-size: clamp(1.6rem, 1.6vw, 1.6rem);
  font-weight: 700;
}

.sv05-txt-large {
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 700;
  margin-bottom: 20px;
}

.sv05-column-btm .sv05-column-btm-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.sv05-column-btm .sv05-column-btm-inner .tit-wrap {
  background: #002361;
  color: #FFFFFF;
  width: 100%;
  border-top-left-radius: 50px;
  padding: 30px 30px 150px;
  position: relative;
}

@media only screen and (min-width: 768px) {
  .sv05-column-btm .sv05-column-btm-inner .tit-wrap {
    width: 85%;
    border-top-left-radius: 100px;
    padding: 5vw 5vw 200px;
  }
}

.sv05-column-btm .sv05-column-btm-inner .tit-wrap .icon {
  font-size: 23vw;
  position: absolute;
  right: 4vw;
  top: 3vw;
  opacity: .1;
  line-height: 1;
}

@media only screen and (min-width: 768px) {
  .sv05-column-btm .sv05-column-btm-inner .tit-wrap .icon {
    font-size: 13vw;
  }
}

.sv05-column-sv {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  margin-top: -100px;
}

.sv05-column-sv .txt-pickup {
  display: none;
}

@media only screen and (min-width: 768px) {
  .sv05-column-sv .txt-pickup {
    display: block;
    margin-top: 100px;
  }
}

.sv05-column-sv .tit-pick {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  white-space: nowrap;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: clamp(1.8rem, 3vw, 3rem);
  font-weight: 700;
  color: #002361;
  position: relative;
}

.sv05-column-sv .tit-pick::after {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  background: #fc900d;
  position: absolute;
  left: -50px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.sv05-column-sv .sv05-column-sv-inner {
  background: #FFFFFF;
  border-radius: 30px;
  padding: 30px;
  width: 100%;
  color: #002361;
}

@media only screen and (min-width: 768px) {
  .sv05-column-sv .sv05-column-sv-inner {
    width: 75%;
    padding: 3vw 5vw;
    border-radius: 50px;
  }
}

.sv05-column-sv .sv05-column-sv-inner .inner-tit {
  font-size: clamp(1.8rem, 2vw, 2.5rem);
  color: #002361;
  font-weight: 800;
  position: relative;
  line-height: 1;
  padding-bottom: 50px;
}

.sv05-column-sv .sv05-column-sv-inner .inner-tit::after {
  content: "";
  display: block;
  width: 110%;
  height: 2px;
  background: #002361;
  position: relative;
  left: -5vw;
  top: 30px;
}

.sv05-column-sv .sv05-column-sv-inner dl dt {
  font-size: clamp(1.8rem, 1.8vw, 1.8rem);
  font-weight: 800;
  margin-bottom: 10px;
}

.sv05-column-sv .sv05-column-sv-inner .inner-column {
  margin-top: 50px;
}

@media only screen and (min-width: 768px) {
  .sv05-column-sv .sv05-column-sv-inner .inner-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.sv05-column-sv .sv05-column-sv-inner .inner-column > div {
  background: #f4f4f4;
  border-radius: 20px;
  padding: 30px;
  position: relative;
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .sv05-column-sv .sv05-column-sv-inner .inner-column > div {
    width: 49%;
    margin-bottom: 0;
  }
}

.sv05-column-sv .sv05-column-sv-inner .inner-column > div::after {
  content: "";
  display: block;
  background: url(images/arrow_navy_b.svg) center top/cover no-repeat;
  height: 40px;
  width: 40px;
  position: absolute;
  z-index: 10;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  margin-top: 10px;
}

@media only screen and (min-width: 768px) {
  .sv05-column-sv .sv05-column-sv-inner .inner-column > div::after {
    right: -25px;
    background: url(images/arrow_navy.svg) center top/cover no-repeat;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: unset;
    -webkit-transform: unset;
    transform: unset;
    margin-top: unset;
  }
}

.sv05-column-sv .sv05-column-sv-inner .inner-column > div:last-child::after {
  display: none;
}

.sv05-column-sv .sv05-column-sv-inner .inner-column > div ul li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: clamp(1.4rem, 1.4vw, 1.4rem);
  line-height: 1.5;
  padding-left: 15px;
  margin-bottom: 5px;
}

.sv05-column-sv .sv05-column-sv-inner .inner-column > div ul li::before {
  content: "●";
  display: block;
  color: #fc900d;
  font-size: 0.7rem;
  position: absolute;
  left: 0;
  top: 5px;
}

.sv05-column-sv .sv05-column-sv-inner .inner-btm {
  margin-top: 15px;
  margin-bottom: 0px;
}

@media only screen and (min-width: 768px) {
  .sv05-column-sv .sv05-column-sv-inner .inner-btm {
    margin-bottom: 40px;
  }
}

.sv05-column-sv .sv05-column-sv-inner .inner-label {
  background: #f4f4f4;
  border-radius: 20px;
  padding: 30px;
}

.sv05-column-sv .sv05-column-sv-inner .inner-label .label {
  display: inline-block;
  background: #fc900d;
  color: #FFFFFF;
  border-radius: 20px;
  padding: 0 10px;
  font-size: 1.3rem;
}

.sv05-column-sv .sv05-column-sv-inner .inner-label .label-tit {
  font-size: clamp(1.8rem, 1.8vw, 1.8rem);
  line-height: 1.5;
  font-weight: 800;
  margin: 5px 0 10px;
}

.tit-photo {
  font-size: clamp(2.2rem, 3vw, 3rem);
  text-align: center;
  font-weight: 800;
  color: #002361;
  margin: 30px 10px 30px;
}

@media only screen and (min-width: 768px) {
  .tit-photo {
    margin-top: 4vw;
    margin-bottom: 0;
  }
}

.studio-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  margin-top: 5vw;
  color: #FFFFFF;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media only screen and (min-width: 768px) {
  .studio-column {
    padding: 7vw 0 10vw;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}

.studio-column::after {
  content: "";
  display: block;
  width: 100%;
  height: 120%;
  background: #002361;
  position: absolute;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
}

@media only screen and (min-width: 768px) {
  .studio-column::after {
    width: 80%;
    height: 100%;
  }
}

.studio-column .studio-l {
  position: relative;
  z-index: 10;
  margin-top: 30px;
}

@media only screen and (min-width: 768px) {
  .studio-column .studio-l {
    padding-left: 3vw;
    width: 50%;
    margin-top: 0;
  }
}

.studio-column .studio-l .tit-block-en {
  color: #FFFFFF;
  margin-bottom: 20px;
  margin-left: 20px;
}

@media only screen and (min-width: 768px) {
  .studio-column .studio-l .tit-block-en {
    margin-bottom: 40px;
    margin-left: 0;
  }
}

.studio-column .studio-l .tit-block-en span {
  color: #FFFFFF;
}

.studio-column .studio-l .txt {
  width: 90%;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  .studio-column .studio-l .txt {
    padding-left: 30px;
    width: 100%;
  }
}

.studio-column .studio-r {
  position: relative;
  z-index: 10;
  padding-left: 20px;
  margin: 20px 0 50px;
}

@media only screen and (min-width: 768px) {
  .studio-column .studio-r {
    width: 40%;
    padding-left: 0;
    margin: 0;
  }
}

.studio-column .studio-r img {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}

.photo-column {
  width: 85%;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  .photo-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.photo-column .photo-box {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  background: #f4f4f4;
  padding-bottom: 20px;
  width: 80%;
  margin: 0 auto 30px;
}

@media only screen and (min-width: 768px) {
  .photo-column .photo-box {
    width: 32%;
    margin-bottom: 0;
    margin-top: -100px;
    margin-left: unset;
    margin-right: unset;
  }
}

.photo-column .photo-box .pic img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 4 / 3;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

.photo-column .photo-box .name {
  font-size: clamp(1.5rem, 1.7vw, 1.7rem);
  font-weight: 800;
  text-align: center;
  line-height: 1.3;
  color: #002361;
  margin: 15px 0 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.photo-column .photo-box .btn-more {
  padding: 0;
}

.photo-column.photo-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  top: -50px;
}

@media only screen and (min-width: 768px) {
  .photo-column.photo-center {
    top: unset;
  }
}

@media only screen and (min-width: 768px) {
  .photo-column.photo-center > div {
    margin-right: 5px;
    margin-left: 5px;
  }
}

.photo-column.photo-center > div .pic img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 4 / 3.5;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

.location-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 50px;
}

@media only screen and (min-width: 768px) {
  .location-column {
    margin-top: 5vw;
  }
}

.location-column .tit-block-en {
  color: #FFFFFF;
  margin-left: 30px;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .location-column .tit-block-en {
    margin-left: 0;
    margin-bottom: 40px;
  }
}

.location-column .tit-block-en span {
  color: #FFFFFF;
}

.location-column .location-column-inner {
  background: #002361;
  color: #FFFFFF;
  width: 100%;
  padding: 30px 0 100px;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
}

@media only screen and (min-width: 768px) {
  .location-column .location-column-inner {
    width: 85%;
    padding: 5vw 5vw 10vw 5vw;
  }
}

.location-column .location-column-inner .txt {
  padding-left: 30px;
}

/* ----------------------------------

PRODUCTS

---------------------------------- */
#planmaker, #planmaker-portal, #plvacant {
  scroll-margin-top: 110px;
}

.tit-pd {
  font-size: clamp(2.5rem, 3vw, 4rem);
  color: #002361;
  margin: 0 10vw 20px;
}

@media only screen and (min-width: 768px) {
  .tit-pd {
    margin-bottom: 40px;
    margin: 0 0 40px;
  }
}

.txt-pd {
  margin: 0 10vw;
}

@media only screen and (min-width: 768px) {
  .txt-pd {
    margin: 0;
  }
}

.pd-nav {
  margin: 5vw 10vw 100px;
}

@media only screen and (min-width: 768px) {
  .pd-nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: wrap;
    -ms-flex-flow: wrap;
    flex-flow: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 5vw 0vw 7vw;
  }
}

@media only screen and (min-width: 1025px) {
  .pd-nav {
    -webkit-flex-flow: nowrap;
    -ms-flex-flow: nowrap;
    flex-flow: nowrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.pd-nav .pd-box {
  background: #f4f4f4;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .pd-nav .pd-box {
    width: 47.5%;
    margin: 10px;
    border-radius: 30px;
  }
}

@media only screen and (min-width: 1025px) {
  .pd-nav .pd-box {
    width: 32.5%;
  }
}

.pd-nav .pd-box:nth-child(1) .pic-inner img {
  width: 70%;
}

@media only screen and (min-width: 768px) {
  .pd-nav .pd-box:nth-child(1) .pic-inner img {
    width: auto;
  }
}

.pd-nav .pd-box:nth-child(3) .pic-inner img {
  width: 70%;
}

@media only screen and (min-width: 768px) {
  .pd-nav .pd-box:nth-child(3) .pic-inner img {
    width: auto;
  }
}

.pd-nav .pd-box img {
  -webkit-transition: .3s;
  transition: .3s;
}

.pd-nav .pd-box a:hover img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.pd-nav .pd-box .label-head {
  background: #002361;
  color: #FFFFFF;
  padding: 20px;
  position: relative;
}

@media only screen and (min-width: 768px) {
  .pd-nav .pd-box .label-head {
    padding: 2vw 2vw;
  }
}

.pd-nav .pd-box .label-head br {
  display: none;
}

@media only screen and (min-width: 1025px) {
  .pd-nav .pd-box .label-head br {
    display: block;
  }
}

@media only screen and (min-width: 1280px) {
  .pd-nav .pd-box .label-head br {
    display: none;
  }
}

.pd-nav .pd-box .label-head::after {
  content: "";
  display: block;
  background: url(images/arrow_down.svg) center top/cover no-repeat;
  height: 30px;
  width: 30px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: .3s;
  transition: .3s;
}

@media only screen and (min-width: 768px) {
  .pd-nav .pd-box .label-head::after {
    height: 40px;
    width: 40px;
  }
}

.pd-nav .pd-box .label-head:hover::after {
  top: 60%;
  -webkit-transform: translateY(-60%);
  transform: translateY(-60%);
}

.pd-nav .pd-box .label-head .label {
  font-size: 3.5vw;
  white-space: nowrap;
  line-height: 1;
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .pd-nav .pd-box .label-head .label {
    line-height: 1.3;
    font-size: clamp(1.3rem, 1.2vw, 1.4rem);
  }
}

.pd-nav .pd-box .label-head h4 {
  font-size: 6vw;
  line-height: 1.2;
}

@media only screen and (min-width: 768px) {
  .pd-nav .pd-box .label-head h4 {
    font-size: clamp(1.3rem, 1.7vw, 2.3rem);
  }
}

.pd-nav .pd-box .pic-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px 20px;
}

@media only screen and (min-width: 768px) {
  .pd-nav .pd-box .pic-inner {
    padding: 2vw 5vw;
  }
}

.pd-nav .pd-box .pic-inner .icon-pml {
  width: 55%;
}

@media only screen and (min-width: 768px) {
  .pd-nav .pd-box .pic-inner .icon-pml {
    position: relative;
    width: 120%;
    left: -10%;
    margin-top: 10px;
  }
}

.pd-nav .pd-box ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.pd-nav .pd-box ul li {
  width: 40%;
}

@media only screen and (min-width: 768px) {
  .pd-nav .pd-box ul li {
    width: auto;
  }
}

@media only screen and (min-width: 768px) {
  .pd-nav .pd-box ul {
    display: block;
  }
}

.pd-content {
  background: #f4f4f4;
  border-radius: 50px;
  margin-bottom: 10vw;
}

@media only screen and (min-width: 768px) {
  .pd-content {
    border-radius: 100px;
  }
}

.pd-content .pd-content-inner {
  padding: 10vw 6vw 6vw;
}

.pd-content h4 {
  text-align: center;
  margin-bottom: 30px;
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (min-width: 768px) {
  .pd-content h4 {
    width: auto;
  }
}

.pd-content .txt-center {
  text-align: center;
}

.pd-content h5 {
  background: #002361;
  color: #FFFFFF;
  font-size: clamp(2.2rem, 2vw, 3rem);
  display: inline-block;
  border-top-left-radius: 10px;
  border-bottom-right-radius: 10px;
  padding: 5px 10px;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .pd-content h5 {
    padding: 5px 40px;
  }
}

.pd-content h5 span {
  color: #fc900d;
}

@media only screen and (min-width: 768px) {
  .pd-content .txt {
    text-align: center;
  }
}

.txt-reason {
  font-size: clamp(2rem, 2vw, 3rem);
  color: #002361;
  font-weight: 700;
  text-align: center;
  margin: 5vw 0 2vw;
}

@media only screen and (min-width: 768px) {
  .reason-column {
    -webkit-flex-flow: wrap;
    -ms-flex-flow: wrap;
    flex-flow: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

@media only screen and (min-width: 1025px) {
  .reason-column {
    -webkit-flex-flow: nowrap;
    -ms-flex-flow: nowrap;
    flex-flow: nowrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.reason-column .reason-box {
  border-radius: 20px;
  overflow: hidden;
  background: #FFFFFF;
  color: #002361;
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .reason-column .reason-box {
    width: 46.5%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 10px;
  }
}

@media only screen and (min-width: 1025px) {
  .reason-column .reason-box {
    width: 32.5%;
    margin: 10px;
  }
}

.reason-column .reason-box .reason-tit {
  background: #002361;
  color: #FFFFFF;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 5vw;
  font-weight: 800;
  text-align: center;
  white-space: nowrap;
  line-height: 1.3;
  padding: 10px 0;
}

@media only screen and (min-width: 768px) {
  .reason-column .reason-box .reason-tit {
    font-size: clamp(1.2rem, 1.4vw, 1.8rem);
    padding: 1.5vw;
  }
}

.reason-column .reason-box .reason-content {
  padding: 20px;
}

@media only screen and (min-width: 768px) {
  .reason-column .reason-box .reason-content {
    padding: 2vw 1.5vw;
  }
}

.reason-column .reason-box .reason-content .txt-al-center {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.reason-column .reason-box .reason-content .reason-inline {
  border-bottom: 1px solid #000;
  padding: 0 0 10px;
  margin-bottom: 20px;
  font-size: clamp(1.3rem, 1.2vw, 1.3rem);
  line-height: 1.4;
}

.reason-column .reason-box .reason-content .reason-inline .txt-mid {
  font-size: clamp(1.2rem, 1.6vw, 1.6rem);
  font-weight: 700;
  margin-top: 20px;
}

.reason-column .reason-box .reason-content .reason-inline img:nth-child(1) {
  width: 30%;
}

@media only screen and (min-width: 768px) {
  .reason-column .reason-box .reason-content .reason-inline img:nth-child(1) {
    width: 60%;
  }
}

.reason-column .reason-box .reason-content .reason-inline img:nth-child(2) {
  margin-left: 5%;
  width: 20%;
  margin-right: 5%;
}

@media only screen and (min-width: 768px) {
  .reason-column .reason-box .reason-content .reason-inline img:nth-child(2) {
    width: 37%;
    margin-right: 0;
    margin-left: 3%;
  }
}

.reason-column .reason-box .reason-content .reason-inline img:nth-child(3) {
  width: 35%;
}

@media only screen and (min-width: 768px) {
  .reason-column .reason-box .reason-content .reason-inline img:nth-child(3) {
    width: 70%;
    display: block;
    margin: 20px auto 0;
  }
}

.reason-column .reason-box .txt-pr {
  text-align: center;
}

.reason-column .reason-box .txt-pr span {
  background: #002361;
  color: #FFFFFF;
  display: inline-block;
  border-radius: 100px;
  padding: 2px 15px;
  font-size: 1.4rem;
}

.reason-column .reason-box .price-line {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: 700;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin-top: 10px;
}

.reason-column .reason-box .price-line .txt-min-b {
  font-size: clamp(1.4rem, 1.3vw, 2rem);
}

.reason-column .reason-box .price-line .txt-la-o {
  font-size: 11vw;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  color: #fc900d;
}

@media only screen and (min-width: 768px) {
  .reason-column .reason-box .price-line .txt-la-o {
    font-size: clamp(1.8rem, 3.5vw, 4.5rem);
  }
}

.reason-column .reason-box .price-line .txt-min-y {
  color: #fc900d;
}

.reason-column .reason-box:nth-child(1) .reason-inline {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
}

.reason-column .reason-box ul {
  width: 90%;
  margin: auto;
}

.reason-column .reason-box ul li {
  position: relative;
  padding-left: 10px;
  font-size: clamp(1.3rem, 1.2vw, 1.4rem);
  line-height: 1.3;
  margin-bottom: 5px;
}

@media only screen and (min-width: 768px) {
  .reason-column .reason-box ul li {
    margin-bottom: 10px;
  }
}

.reason-column .reason-box ul li:last-child {
  margin-bottom: 0;
}

.reason-column .reason-box ul li::before {
  content: "●";
  display: inline-block;
  color: #fc900d;
  font-size: 0.7rem;
  position: absolute;
  left: 0;
  top: 5px;
}

@media only screen and (min-width: 768px) {
  .reason-column.reason-lc .reason-box {
    width: 49.5%;
  }
}

.pd-pickup {
  margin-top: 80px;
}

@media only screen and (min-width: 768px) {
  .pd-pickup {
    margin-top: 5vw;
  }
}

.pd-pickup .tit-pickup {
  font-size: clamp(4rem, 4vw, 5.5rem);
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 800;
  text-align: center;
  line-height: 1;
  color: #002361;
}

.pd-pickup .pickup-column {
  margin-top: 30px;
}

@media only screen and (min-width: 768px) {
  .pd-pickup .pickup-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.pd-pickup .pickup-column .pickup-box {
  text-align: center;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .pd-pickup .pickup-column .pickup-box {
    width: 32%;
    margin-bottom: 0;
  }
}

.pd-pickup .pickup-column .pickup-box .pic {
  border-radius: 20px;
  overflow: hidden;
}

.pd-pickup .pickup-column .pickup-box .pic img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 4 / 2.5;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

.pd-pickup .pickup-column .pickup-box .sub-name {
  margin-top: 20px;
  display: block;
  font-size: clamp(1.3rem, 1.5vw, 1.7rem);
  color: #002361;
}

.pd-pickup .pickup-column .pickup-box .name {
  font-size: clamp(1.6rem, 1.5vw, 2rem);
  font-weight: 700;
  color: #002361;
  margin-top: 10px;
  display: block;
  line-height: 1;
}

.pd-pickup .pickup-column .pickup-box .min-name {
  font-size: clamp(1.2rem, 1.3vw, 1.5rem);
  color: #002361;
}

.pd-pickup .pickup-column.pickup-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media only screen and (min-width: 768px) {
  .pd-pickup .pickup-column.pickup-center .pickup-box {
    margin: 0 20px;
  }
}

.pd-contact {
  background: #002361;
  position: relative;
  border-bottom-left-radius: 50px;
  border-bottom-right-radius: 50px;
  padding: 4vw 6vw;
}

@media only screen and (min-width: 768px) {
  .pd-contact {
    border-bottom-left-radius: 100px;
    border-bottom-right-radius: 100px;
  }
}

.pd-contact .ct-tit {
  color: #FFFFFF;
  font-size: clamp(1.8rem, 2vw, 3rem);
  font-weight: 700;
  text-align: center;
}

.pd-contact .ct-column {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 30px;
}

@media only screen and (min-width: 768px) {
  .pd-contact .ct-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-top: 50px;
  }
}

.pd-contact .ct-column .ct-box {
  background: #FFFFFF;
  border-radius: 25px;
  padding: 20px;
  text-align: center;
  margin: 0 10px 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

@media only screen and (min-width: 768px) {
  .pd-contact .ct-column .ct-box {
    width: 45%;
    border-radius: 40px;
    margin: 0 10px;
    padding: 2vw;
  }
}

.pd-contact .ct-column .ct-box::after {
  content: "";
  display: block;
  background: url(images/balloon.svg) center top/cover no-repeat;
  height: 24px;
  width: 38px;
  position: absolute;
  bottom: -20px;
  right: 60px;
}

.pd-contact .ct-column .ct-box dl dt {
  font-weight: 700;
  white-space: nowrap;
}

.pd-contact .ct-column .ct-box dl dt span {
  color: #fc900d;
  font-size: 5vw;
}

@media only screen and (min-width: 768px) {
  .pd-contact .ct-column .ct-box dl dt span {
    font-size: clamp(1.5rem, 1.6vw, 2.5rem);
  }
}

.pd-contact .ct-column .ct-box .btn-more {
  margin-top: 5px;
}

@media only screen and (min-width: 768px) {
  .pd-contact .ct-column .ct-box .btn-more {
    margin-top: 20px;
  }
}

@media only screen and (min-width: 768px) {
  .pd-contact .ct-column.ct-products .ct-box {
    width: 80%;
  }
}

.pm-lite {
  border-top: 2px solid #002361;
  margin: 6vw 0 0;
  padding: 6vw 0 0;
}

.icon-zero {
  width: 50%;
  display: block;
}

@media only screen and (min-width: 768px) {
  .icon-zero {
    width: 70%;
  }
}

.tit-icon-lc {
  width: 400px;
  display: block;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  .tit-icon-lc {
    width: 400px !important;
  }
}

.tit-lc-mid {
  margin-top: 8vw;
}

.tit-lc-mid dt {
  font-size: 5.5vw;
  color: #002361;
  font-weight: 700;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .tit-lc-mid dt {
    font-size: clamp(1.8rem, 2vw, 3rem);
  }
}

.lc-graph {
  background: #FFFFFF;
  border-radius: 30px;
  margin: 30px -5vw;
  padding: 30px;
}

@media only screen and (min-width: 768px) {
  .lc-graph {
    padding: 5vw 7vw;
    margin: 3vw 0 0;
    border-radius: 80px;
  }
}

.lc-column {
  background: #FFFFFF;
  border-radius: 30px;
  margin: 30px -5vw;
  padding: 30px;
}

@media only screen and (min-width: 768px) {
  .lc-column {
    border-radius: 80px;
    padding: 3vw 4vw 5vw;
    margin: 3vw 0 0;
  }
}

.lc-column .tit-cus {
  font-size: clamp(1.8rem, 2vw, 2.5rem);
  font-weight: 700;
  text-align: center;
  color: #002361;
  margin: 0 0 50px;
}

@media only screen and (min-width: 768px) {
  .lc-column-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.lc-column-inner .lc-box {
  color: #002361;
}

@media only screen and (min-width: 768px) {
  .lc-column-inner .lc-box {
    border-right: 1px solid #ccc;
    padding: 0 30px;
  }
}

.lc-column-inner .lc-box dl {
  margin-bottom: 10px;
}

.lc-column-inner .lc-box dl dt {
  width: 50px;
  margin: auto;
}

.lc-column-inner .lc-box dl dd {
  font-size: clamp(1.8rem, 1.8vw, 2rem);
  font-weight: 700;
  text-align: center;
  margin-top: 10px;
}

@media only screen and (min-width: 768px) {
  .lc-column-inner .lc-box dl dd {
    margin-top: 0;
  }
}

.lc-column-inner .lc-box .mb img {
  max-width: 200px;
  display: block;
  margin: auto;
}

.lc-column-inner .lc-box .txt {
  text-align: left;
  font-size: clamp(1.2rem, 1vw, 1.3rem);
  line-height: 1.5;
  margin-top: 30px;
}

.lc-column-inner .lc-box:last-child {
  border: none;
}

.lc-column-inner .lc-box.lc-box01 .mb img {
  width: 75%;
}

.lc-column-inner .lc-box.lc-box02 .mb img {
  width: 72%;
}

.lc-column-inner .lc-box.lc-box03 dl dt {
  width: 45px;
}

.lc-column-inner .lc-box .mb img {
  width: 70%;
}

.lc-column-inner .lc-box-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 30px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 30px;
}

@media only screen and (min-width: 768px) {
  .lc-column-inner .lc-box-inner {
    display: block;
    width: 100%;
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
}

.lc-column-inner .lc-box-inner .mb-sp {
  width: 30%;
}

.lc-column-inner .lc-box-inner .lc-box {
  width: 65%;
}

@media only screen and (min-width: 768px) {
  .lc-column-inner .lc-box-inner .lc-box {
    width: auto;
  }
}

/* ----------------------------------

ABOUT

---------------------------------- */
#about-content {
  border-top-left-radius: 50px;
  border-bottom-left-radius: 50px;
  overflow: hidden;
  margin-left: 5%;
}

@media only screen and (min-width: 768px) {
  #about-content {
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    margin-left: 10%;
  }
}

dl.tit-about {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  dl.tit-about {
    margin-bottom: 50px;
  }
}

dl.tit-about dt {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: clamp(4rem, 5vw, 7rem);
  font-weight: 700;
  line-height: 1;
}

dl.tit-about dd {
  margin-left: 2rem;
}

.about-blue {
  background: #002361;
  color: #FFFFFF;
}

section.about-message {
  padding: 50px 20px;
}

@media only screen and (min-width: 768px) {
  section.about-message {
    padding: 7vw;
  }
}

section.about-message h3 {
  font-size: clamp(1.8rem, 3vw, 4rem);
  line-height: 1.5;
}

section.about-message h3 span {
  color: #fc900d;
}

.message-column {
  margin: 30px 0 0;
}

@media only screen and (min-width: 768px) {
  .message-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 70px 0 0;
  }
}

@media only screen and (min-width: 768px) {
  .message-column .message-l {
    width: 23%;
  }
}

.message-column .message-l .name {
  margin: 20px 0 0;
}

@media only screen and (min-width: 768px) {
  .message-column .message-l .name dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.message-column .message-l .name dl dt {
  font-size: 1.3rem;
}

@media only screen and (min-width: 768px) {
  .message-column .message-l .name dl dt {
    margin-right: 1rem;
  }
}

.message-column .message-l .name dl dd {
  font-size: clamp(1.7rem, 1.5vw, 1.7rem);
}

.message-column .message-l img {
  border-radius: 20px;
}

@media only screen and (min-width: 768px) {
  .message-column .message-r {
    width: 70%;
  }
}

.message-column .message-r .sign {
  text-align: right;
  margin-top: 50px;
}

.message-column .message-r .sign img {
  width: 200px;
}

.message-in {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 30px;
}

@media only screen and (min-width: 768px) {
  .message-in {
    display: block;
    margin-bottom: 0;
  }
}

.message-in dl {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media only screen and (min-width: 768px) {
  .message-in dl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}

.message-in .pic {
  width: 48%;
}

@media only screen and (min-width: 768px) {
  .message-in .pic {
    width: auto;
  }
}

.message-in .name {
  width: 45%;
  text-align: left;
}

@media only screen and (min-width: 768px) {
  .message-in .name {
    width: auto;
    text-align: center;
  }
}

.message-in .sign {
  margin-top: 20px;
}

section.about-history {
  padding: 7vw;
  background: #f4f4f4;
}

section.about-history dl.tit-about {
  color: #002361;
}

section.about-history h3 {
  font-size: clamp(1.8rem, 2vw, 3rem);
  color: #002361;
  margin-bottom: 20px;
}

section.about-history p.txt {
  color: #002361;
}

section.about-history .his-wrap {
  margin-top: 50px;
}

section.about-history .his-wrap .his-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding-bottom: 30px;
  -webkit-transform: translateY(-30px);
  transform: translateY(-30px);
  -webkit-transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 1s cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 1s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1), opacity 1s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1), opacity 1s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 1s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
}

@media only screen and (min-width: 768px) {
  section.about-history .his-wrap .his-box {
    padding-bottom: 70px;
  }
}

section.about-history .his-wrap .his-box::after {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background: #99a7c0;
  position: absolute;
  left: 6.5px;
  -webkit-animation-timing-function: cubic-bezier(0.9, 0, 0.2, 1);
  animation-timing-function: cubic-bezier(0.9, 0, 0.2, 1);
  /* これで最初速く最後ゆっくり */
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: top;
  transform-origin: top;
}

@media only screen and (min-width: 768px) {
  section.about-history .his-wrap .his-box::after {
    left: 106px;
  }
}

section.about-history .his-wrap .his-box.is-visible {
  -webkit-transform: translateY(0px);
  transform: translateY(0px);
  opacity: 1;
}

section.about-history .his-wrap .his-box.is-visible::after {
  -webkit-animation: lineGrow .5s ease-out forwards;
  animation: lineGrow .5s ease-out forwards;
  -webkit-animation-timing-function: cubic-bezier(0.9, 0, 0.2, 1);
  animation-timing-function: cubic-bezier(0.9, 0, 0.2, 1);
  /* これで最初速く最後ゆっくり */
}

section.about-history .his-wrap .his-box .year {
  color: #99a7c0;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  font-size: clamp(2.5rem, 3vw, 3rem);
  line-height: 1;
  margin-right: 30px;
  margin-left: 25px;
}

@media only screen and (min-width: 768px) {
  section.about-history .his-wrap .his-box .year {
    margin-left: 0;
  }
}

section.about-history .his-wrap .his-box dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-left: 30px;
  margin-top: 10px;
}

@media only screen and (min-width: 768px) {
  section.about-history .his-wrap .his-box dl {
    margin-left: auto;
    width: 85%;
    margin-top: 0;
  }
}

section.about-history .his-wrap .his-box dl dt {
  font-weight: 800;
  margin-right: 30px;
  white-space: nowrap;
}

section.about-history .his-wrap .his-box .circle {
  position: absolute;
  color: #99a7c0;
}

@media only screen and (min-width: 768px) {
  section.about-history .his-wrap .his-box .circle {
    left: 100px;
  }
}

section.about-history .his-wrap .his-box:first-child::after {
  height: 90%;
  top: 10%;
}

@-webkit-keyframes lineGrow {
  0% {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
  100% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

@keyframes lineGrow {
  0% {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
  100% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

@media only screen and (min-width: 768px) {
  .message-company {
    border-top: 1px solid #ccc;
  }
}

@media only screen and (min-width: 768px) {
  dl.company-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #ccc;
  }
}

dl.company-box a {
  color: #FFFFFF;
  text-decoration: underline;
}

dl.company-box dt {
  padding: 10px;
  background: rgba(255, 255, 255, 0.1);
  font-weight: 700;
}

@media only screen and (min-width: 768px) {
  dl.company-box dt {
    width: 15%;
    text-align: center;
    padding: 20px;
  }
}

dl.company-box dd {
  padding: 20px 10px;
}

@media only screen and (min-width: 768px) {
  dl.company-box dd {
    width: 80%;
    padding: 20px 40px;
  }
}

dl.company-box dd span {
  display: block;
  font-weight: 700;
}

/* ----------------------------------

お問い合わせ

---------------------------------- */
.page-id-38 .btn-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: column-reverse;
  -ms-flex-flow: column-reverse;
  flex-flow: column-reverse;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media only screen and (min-width: 768px) {
  .page-id-38 .btn-wrap {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row;
    -ms-flex-flow: row;
    flex-flow: row;
  }
}

.page-id-38 .wpcf7-form-control.wpcf7-previous {
  margin-top: 10px;
}

@media only screen and (min-width: 768px) {
  .page-id-38 .wpcf7-form-control.wpcf7-previous {
    margin-right: 20px;
    margin-top: 50px;
  }
}

#contact-content {
  width: 90%;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  #contact-content {
    width: 75%;
  }
}

#contact-content .hissu {
  margin: 50px 0 20px;
}

@media only screen and (min-width: 768px) {
  #contact-content .hissu {
    margin: 100px 0 20px;
  }
}

#contact-content .hissu span {
  color: #fc900d;
}

.contact-wrap {
  background: #f4f4f4;
  border-radius: 30px;
  margin: auto;
  padding: 30px;
}

@media only screen and (min-width: 768px) {
  .contact-wrap {
    padding: 80px;
    border-radius: 70px;
  }
}

.contact-wrap dl {
  margin-bottom: 50px;
}

@media only screen and (min-width: 768px) {
  .contact-wrap dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.contact-wrap dl dt {
  position: relative;
  color: #002361;
  font-weight: 700;
  line-height: 2.5;
}

@media only screen and (min-width: 768px) {
  .contact-wrap dl dt {
    width: 23%;
  }
}

.contact-wrap dl dt::after {
  content: "※";
  display: inline-block;
  color: #fc900d;
}

@media only screen and (min-width: 768px) {
  .contact-wrap dl dd {
    width: 72%;
  }
}

.contact-wrap dl.any dt::after {
  display: none;
}

.contact-wrap input[type="text"],
.contact-wrap input[type="tel"],
.contact-wrap input[type="email"],
.contact-wrap textarea {
  background: #FFFFFF;
  border: none;
  border-radius: 10px;
  padding: 20px;
  width: 100%;
}

.contact-wrap input[type="submit"], .contact-wrap input[type="button"] {
  background: #002361;
  color: #FFFFFF;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  border-radius: 100px;
  padding: 20px 50px;
  display: inline-block;
  position: relative;
  -webkit-transition: .2s;
  transition: .2s;
  border: none;
  margin: 50px auto 0;
  display: block;
  font-size: clamp(1.5rem, 1.6vw, 1.7rem);
}

.contact-wrap input[type="submit"]::after, .contact-wrap input[type="button"]::after {
  content: "";
  display: block;
  background: url(images/arrow_btn_min.svg) center top/cover no-repeat;
  height: 5px;
  width: 25px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  margin-top: -2px;
  -webkit-transition: .3s;
  transition: .3s;
}

.contact-wrap input[type="submit"]:hover, .contact-wrap input[type="button"]:hover {
  background: #fc900d;
}

.contact-wrap input[type="submit"]:hover::after, .contact-wrap input[type="button"]:hover::after {
  right: 10px;
}

.btn-privacy {
  text-align: center;
}

.btn-privacy a {
  color: #fc900d;
  text-decoration: underline;
}

.wpcf7-form-control-wrap.privacy {
  text-align: center;
  display: block;
  margin: 20px 0 0;
}

/* ----------------------------------

privacy

---------------------------------- */
#base-content {
  width: 85%;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  #base-content {
    width: 75%;
  }
}

.privacy-wrap .privacy-box {
  margin-bottom: 60px;
}

.privacy-wrap .privacy-box dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  color: #002361;
  margin-bottom: 10px;
}

.privacy-wrap .privacy-box dl dt {
  font-size: clamp(2.5rem, 2.5vw, 3.5rem);
  line-height: .8;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 800;
  margin-right: 1rem;
}

@media only screen and (min-width: 768px) {
  .privacy-wrap .privacy-box dl dt {
    line-height: 1;
  }
}

.privacy-wrap .privacy-box dl dd {
  font-weight: 800;
  font-size: clamp(1.4rem, 2vw, 2rem);
}

.privacy-wrap .privacy-box ol {
  margin-top: 10px;
  list-style-type: decimal;
}

.privacy-wrap .privacy-box ol li {
  list-style-position: inside;
  line-height: 1.5;
  margin-bottom: 5px;
}

.privacy-wrap .privacy-box ol li::marker {
  content: "(" counter(list-item) ") ";
}

/* ----------------------------------

お知らせ

---------------------------------- */
.news-box-wrap:last-child .news-box a {
  margin-bottom: 0;
}

.news-wrap {
  background: #002361;
  color: #FFFFFF;
  border-radius: 30px;
  padding: clamp(20px, 10vw, 150px);
}

@media only screen and (min-width: 768px) {
  .news-wrap {
    border-radius: 100px;
  }
}

.news-wrap .news-box a {
  line-height: 1.3;
  border-bottom: 1px solid #7685a6;
  padding-bottom: 20px;
  margin-bottom: 20px;
  display: block;
}

@media only screen and (min-width: 768px) {
  .news-wrap .news-box a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 40px;
    margin-bottom: 40px;
  }
}

.news-wrap .news-box a .cate-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.news-wrap .news-box .cate {
  background: #FFFFFF;
  color: #002361;
  border-radius: 100px;
  margin: 0 2rem 0 1rem;
  padding: 0 10px;
  font-size: 1.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.news-wrap .news-box .time {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.news-wrap .news-box h3 {
  -webkit-transition: .5s;
  transition: .5s;
  margin-top: 10px;
}

@media only screen and (min-width: 768px) {
  .news-wrap .news-box h3 {
    margin-top: 0;
  }
}

.news-wrap a {
  color: #FFFFFF;
}

.news-wrap a:hover h3 {
  color: #fc900d;
}

.wp-pagenavi {
  clear: both;
  float: left;
  width: 100%;
  margin-bottom: 40px;
  padding-top: 20px;
  text-align: center;
}

.wp-pagenavi span,
.wp-pagenavi a {
  display: inline-block;
  height: 32px;
  margin: 0 8px 0 0;
  padding: 0 12px;
  line-height: 32px;
  color: #111111;
  vertical-align: bottom;
  text-align: center;
  text-decoration: none;
  border: none !important;
  border-radius: 20px;
  color: #FFFFFF;
}

.wp-pagenavi a:hover {
  color: #FFFFFF;
  background: #fc900d;
}

.wp-pagenavi .current {
  font-weight: bold;
  color: #FFFFFF;
  background: #fc900d;
}

.demo-contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.article-item {
  width: 100%;
  max-width: 360px;
}

.article-item a {
  font-size: 24px;
  font-weight: bold;
}

.article-item a:hover {
  cursor: pointer;
  color: #7ac8b7;
}

/* modal-window ----------------------------------------- */
.modal-window {
  display: none;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(222, 222, 222, 0.8);
  z-index: 9999999;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.modal-area {
  width: 80%;
  max-width: 1000px;
  background-color: #002361;
  padding: clamp(20px, 7vw, 100px);
  border-radius: 20px;
  color: #FFFFFF;
  /* --- 追加するコード --- */
  max-height: 80vh;
  /* 画面の高さの80%を最大にする */
  overflow-y: auto;
  /* 縦方向に中身が溢れたらスクロールを出す */
  position: relative;
  /* 念のため */
}

@media only screen and (min-width: 768px) {
  .modal-area {
    border-radius: 50px;
  }
}

/* スクロールバー全体の幅 */
.modal-area::-webkit-scrollbar {
  width: 8px;
}

/* スクロールバーの背景（溝） */
.modal-area::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}

/* スクロールバーの動く部分（つまみ） */
.modal-area::-webkit-scrollbar-thumb {
  background: #002361;
  border-radius: 10px;
  /* つまみも角丸にする */
}

/* ホバー時に色を少し濃くする */
.modal-area::-webkit-scrollbar-thumb:hover {
  background: #888;
}

/* モーダルが開いている時に、後ろのメイン画面が動かないようにする（お好みで） */
body.modal-open {
  overflow: hidden;
}

/* modal-close ----------------------------------------- */
.modal-close {
  position: absolute;
  top: 10px;
  right: 20px;
  z-index: 113;
  cursor: pointer;
  text-align: center;
}

@media only screen and (min-width: 768px) {
  .modal-close {
    top: 30px;
    right: 30px;
  }
}

.icon-close {
  width: 40px;
  height: 40px;
  position: relative;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 100%;
  cursor: pointer;
}

.icon-close::before,
.icon-close::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 20%;
  width: 60%;
  height: 3px;
  background: #002361;
}

.icon-close::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.icon-close::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.modal-area-content figure {
  margin: 10px 0;
}

/* モーダル内の画像の設定 */
.modal-area-content img {
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  max-width: 100%;
  height: auto;
  position: relative;
}

/* Lityの背景を少し透過させる調整 */
.lity {
  background: rgba(0, 0, 0, 0.8) !important;
}

/* 1. 画面全体の右上にあるデフォルト位置を解除 */
.lity-close {
  position: absolute !important;
  top: -40px !important;
  /* 画像の少し上に配置 */
  right: 0 !important;
  color: #fff !important;
  font-size: 30px !important;
  width: 30px !important;
  height: 30px !important;
  line-height: 30px !important;
  text-shadow: none !important;
}

/* 2. 画像の親要素を基準（relative）にする */
.lity-container {
  position: relative !important;
}

/* 3. スマホなどで画像が横いっぱいの時、ボタンがはみ出ないよう調整 */
@media screen and (max-width: 640px) {
  .lity-close {
    top: -35px !important;
    right: 5px !important;
  }
}

/* 1. 元のスクロールバーを隠す */
.modal-area {
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge */
  scrollbar-width: none;
  /* Firefox */
  position: relative;
}

.modal-area::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari */
}

/* 2. 自作バーの「溝（トラック）」の設定 */
.custom-scrollbar-track {
  position: absolute;
  right: 30px;
  /* 左から30pxの位置 */
  top: 15%;
  /* 上下を少し短く見せるための余白 */
  bottom: 15%;
  width: 6px;
  background: #ccc;
  border-radius: 10px;
  z-index: 10;
}

/* 3. 自作バーの「つまみ」の設定 */
.custom-scrollbar-thumb {
  width: 100%;
  height: 30px;
  /* JSで計算しますが初期値を設定 */
  background: #7685a6;
  border-radius: 10px;
  position: absolute;
  top: 0;
}

/* モーダルエリアの標準スクロールバーを隠す */
.modal-area {
  overflow-y: auto;
  -ms-overflow-style: none;
  /* IE, Edge */
  scrollbar-width: none;
  /* Firefox */
}

.modal-area::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari */
}

.modal-area-title {
  font-size: clamp(1.6rem, 1.8vw, 2.2rem);
  border-bottom: 1px solid #7685a6;
  margin-bottom: 20px;
  padding-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .modal-area-title {
    margin-bottom: 30px;
    padding-bottom: 0;
  }
}

.modal-area-date {
  line-height: 1.3;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.modal-area-date .time {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.modal-area-date .cate {
  background: #FFFFFF;
  color: #002361;
  border-radius: 100px;
  margin: 0 2rem 0 1rem;
  padding: 0 10px;
  font-size: 1.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.wp-block-image {
  margin: 10px 0;
  position: relative;
}

.wp-block-image img {
  border-radius: 10px;
}

.wp-block-image::after {
  content: "＋";
  display: block;
  width: 25px;
  height: 25px;
  background: #FFFFFF;
  position: absolute;
  right: 0;
  bottom: 0;
  border-top-left-radius: 5px;
  color: #002361;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 800;
}

/* ----------------------------------

case

---------------------------------- */
.tit-case {
  margin-bottom: 40px;
}

@media only screen and (min-width: 768px) {
  .tit-case {
    margin-bottom: 70px;
  }
}

.tit-case dt {
  font-size: clamp(2.5rem, 3vw, 4rem);
  color: #002361;
  font-weight: 800;
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .tit-case dt {
    margin-bottom: 0;
  }
}

.case-wrap {
  margin-bottom: 50px;
}

@media only screen and (min-width: 768px) {
  .case-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 80px;
  }
}

.case-wrap .case-box {
  overflow: hidden;
  border-radius: 30px;
  background: #F4F4F4;
  position: relative;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .case-wrap .case-box {
    width: 48%;
  }
}

.case-wrap .case-box a {
  display: block;
}

.case-wrap .case-box a::after {
  content: "";
  display: block;
  background: url(images/arrow_navy02.svg) center top/cover no-repeat;
  height: 50px;
  width: 50px;
  position: absolute;
  right: 20px;
  bottom: 20px;
  -webkit-transition: .5s;
  transition: .5s;
}

.case-wrap .case-box a:hover::after {
  right: 10px;
}

.case-wrap .case-box a:hover .pic img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.case-wrap .case-box .pic {
  position: relative;
  overflow: hidden;
}

.case-wrap .case-box .pic img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 2 / 1.2;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

.case-wrap .case-box .pic .page-tit {
  position: absolute;
  left: 0;
  bottom: 0;
  background: #002361;
  color: #FFFFFF;
  padding: 5px 25px;
  font-size: clamp(1.5rem, 1.5vw, 2rem);
  font-weight: 700;
  border-top-right-radius: 30px;
}

.case-wrap .case-box h3 {
  font-size: clamp(1.7rem, 1.5vw, 2rem);
  color: #002361;
  font-weight: 800;
  margin-bottom: 10px;
  line-height: 1.3;
}

.case-wrap .case-box .case-detail {
  padding: 30px;
}

.case-wrap .case-box .case-detail .txt {
  font-size: clamp(1.3rem, 1.2vw, 1.4rem);
  color: #002361;
}

.case-wrap .case-box .case-detail .cate {
  font-size: clamp(1.2rem, 1.1vw, 1.3rem);
  margin-top: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
}

.case-wrap .case-box .case-detail .cate li {
  background: #FFFFFF;
  padding: 3px;
  border: 1px solid #002361;
  border-radius: 100px;
  color: #002361;
  line-height: 1.3;
  padding: 2px 8px;
  margin: 0 10px 5px 0;
  display: inline-block;
}

.case-page {
  max-width: 1100px;
  margin: 100px auto 0;
  font-size: clamp(1.2rem, 1.2vw, 1.4rem);
}

.case-page img {
  border-radius: 20px;
}

.case-page h3 {
  font-size: clamp(1.8rem, 2vw, 3rem);
  color: #002361;
  margin-bottom: 20px;
}

.case-page .name {
  background: #002361;
  color: #FFFFFF;
  border-top-right-radius: 20px;
  display: inline-block;
  padding: 5px 20px;
  font-size: clamp(1.8rem, 1.8vw, 2.5rem);
  font-weight: 800;
}

@media only screen and (min-width: 768px) {
  .case-page .name {
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
    padding: 5px 60px;
  }
}

.case-page .case-page-content {
  border-top-right-radius: 80px;
  background: #f4f4f4;
  padding: 50px 20px;
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content {
    padding: clamp(20px, 4vw, 70px);
  }
}

.case-page .case-page-content h2 {
  font-size: clamp(2.3rem, 2.5vw, 3rem);
  line-height: 1.3;
  color: #002361;
  margin-bottom: 20px;
  font-weight: 800;
}

.case-page .case-page-content .cate {
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .cate {
    margin-bottom: 50px;
  }
}

.case-page .case-page-content .cate ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
}

.case-page .case-page-content .cate ul li {
  background: #FFFFFF;
  color: #002361;
  border-radius: 100px;
  margin: 0 1rem 0 0;
  padding: 0 10px;
  font-size: 1.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #002361;
  margin-bottom: 10px;
}

.case-page .case-page-content .eye-catch {
  margin-bottom: 30px;
}

.case-page .case-page-content .flow-column {
  margin-top: 1vw;
}

.case-page .case-page-content .flow-column .flow-label {
  background: #fc900d;
  display: inline-block;
  border-radius: 100px;
  padding: 3px 10px;
  line-height: 1.3;
  margin-bottom: 10px;
}

.case-page .case-page-content .flow-column .txt-label {
  font-size: clamp(1.5rem, 1.5vw, 1.8rem);
  line-height: 1.5;
  font-weight: 700;
}

.case-page .case-page-content .flow-column .flow-box {
  padding: 20px 20px;
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .flow-column .flow-box {
    padding: 30px 40px;
  }
}

.case-page .case-page-content .bg-white {
  background: #FFFFFF;
  margin: 20px 0 50px;
  border-radius: 40px;
  padding: 30px;
  color: #002361;
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .bg-white {
    margin: 50px 0 100px;
    padding: 60px;
  }
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .bg-white .case-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .bg-white .case-column .case-l {
    width: 55%;
  }
}

.case-page .case-page-content .bg-white .case-column .case-l dl dt {
  font-size: clamp(1.8rem, 2vw, 2.5rem);
  line-height: 1.5;
  margin-bottom: 10px;
  font-weight: 700;
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .bg-white .case-column .case-l dl dt {
    margin-bottom: 20px;
  }
}

.case-page .case-page-content .bg-white .case-column .case-r {
  margin: 10px 0;
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .bg-white .case-column .case-r {
    width: 40%;
  }
}

.case-page .case-page-content .bg-white .case-column .case-r ul li {
  margin-bottom: 10px;
}

.case-page .case-page-content .bg-white .case-column .btn-more {
  padding: 0;
  display: inline-block;
}

.case-page .case-page-content .case-iv {
  background: #FFFFFF;
  border-radius: 30px;
  padding: 30px;
  margin-bottom: 30px;
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .case-iv {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 50px;
  }
}

.case-page .case-page-content .case-iv .pic {
  width: 40%;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .case-iv .pic {
    width: 20%;
    margin: unset;
  }
}

.case-page .case-page-content .case-iv .detail {
  color: #002361;
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .case-iv .detail {
    width: 75%;
  }
}

.case-page .case-page-content .case-iv .detail dl {
  margin-bottom: 10px;
  text-align: center;
  margin: 10px 0;
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .case-iv .detail dl {
    text-align: left;
    margin-top: 0;
  }
}

.case-page .case-page-content .case-iv .detail dl dt {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  font-size: 1.9rem;
}

.case-page .case-page-content .case-iv .detail dl dd {
  line-height: 1.3;
}

.case-page .case-page-content .case-iv .detail dl dd .name-l {
  font-size: clamp(2rem, 2vw, 2.5rem);
  font-weight: 700;
}

.case-page .case-page-content .case-iv .detail dl dd .kana {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  margin-left: 1rem;
  font-size: 1.5rem;
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .case-iv .detail dl dd .kana {
    font-size: 1.3rem;
  }
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .txt-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .txt-column .txt-l {
    width: 53%;
  }
}

.case-page .case-page-content .txt-column .txt-r {
  margin: 10px 0;
}

@media only screen and (min-width: 768px) {
  .case-page .case-page-content .txt-column .txt-r {
    width: 43%;
  }
}

.case-page .case-page-content .txt-column.reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: row-reverse;
  -ms-flex-flow: row-reverse;
  flex-flow: row-reverse;
}

.case-page .case-page-content .case-faq dt {
  font-size: clamp(1.2rem, 1.2vw, 1.6rem);
  font-weight: 800;
  margin-bottom: 15px;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.3;
}

.case-page .case-page-content .case-faq dt::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 1px;
  background: #fc900d;
  position: relative;
  margin-right: 1rem;
  top: 10px;
}

.case-page .case-page-content .case-faq dd {
  line-height: 1.5;
}

.case-page .case-page-content .case-faq.faq-mt {
  margin-top: 40px;
}

.case-page .case-page-content .txt-bs {
  margin-top: 30px;
  line-height: 1.5;
}

.case-page .case-page-content .tit-tkaban {
  font-size: clamp(1.7rem, 1.5vw, 2rem) !important;
  margin-bottom: 10px !important;
}

.case-page .case-page-content .txt-tkaban {
  line-height: 1.5;
}

.case-page .case-page-content .case-block {
  margin-top: 80px;
}

.case-page .case-page-content .pic-buy {
  text-align: center;
  margin: 50px 0 0;
}

.case-page .case-page-content .pic-buy img {
  border-radius: 0px;
  width: 40%;
}

.case-page .ft-sv {
  background: #002361;
  border-bottom-right-radius: 30px;
  border-bottom-left-radius: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #FFFFFF;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
  padding: 30px;
  margin-bottom: 50px;
}

@media only screen and (min-width: 768px) {
  .case-page .ft-sv {
    padding: 60px 60px 100px;
    border-bottom-right-radius: 80px;
    border-bottom-left-radius: 80px;
    margin-bottom: 80px;
  }
}

.case-page .ft-sv dl {
  width: 90%;
}

.case-page .ft-sv dl dt {
  font-size: clamp(1.7rem, 2vw, 2.5rem);
  font-weight: 700;
  margin-bottom: 20px;
  text-align: center;
}

@media only screen and (min-width: 768px) {
  .case-page .ft-sv dl dt {
    margin-bottom: 60px;
  }
}

.case-page .ft-sv dl dd a {
  background: #FFFFFF;
  margin: 0 auto 10px;
  border-radius: 80px;
  padding: 10px 25px;
  font-size: clamp(1.5rem, 1.5vw, 1.6rem);
  font-weight: 700;
  color: #002361;
  position: relative;
  -webkit-transition: .2s;
  transition: .2s;
  display: block;
}

@media only screen and (min-width: 768px) {
  .case-page .ft-sv dl dd a {
    display: block;
    padding: 20px 25px;
    text-align: center;
  }
}

.case-page .ft-sv dl dd a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  color: #fc900d;
  margin-left: 1rem;
  position: absolute;
  right: 20px;
}

@media only screen and (min-width: 768px) {
  .case-page .ft-sv dl dd a::after {
    position: relative;
    right: unset;
  }
}

.case-page .ft-sv dl dd a:hover {
  background: #fc900d;
  color: #FFFFFF;
}

.case-page .ft-sv dl dd a:hover::after {
  color: #FFFFFF;
}

@media only screen and (min-width: 768px) {
  .case-page .ft-sv dl dd ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media only screen and (min-width: 768px) {
  .case-page .ft-sv dl dd ul li:nth-child(2) {
    margin: 0 15px;
  }
}

.effect {
  opacity: 0;
}

.effect.is-active {
  -webkit-animation-name: fadeup;
  animation-name: fadeup;
  /*--アニメーション名--*/
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  /*--時間--*/
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  /*--3秒後に開始--*/
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  /*--状態指定--*/
}

@-webkit-keyframes fadeup {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1;
  }
}

@keyframes fadeup {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1;
  }
}

/* ----------------------------------

loading topslider

---------------------------------- */
#loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999;
  width: 100%;
  height: 100%;
  background: #0b2c5f;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  overflow: hidden;
  /* 画面全体のフェードアウト設定 */
  -webkit-transition: opacity 1s ease, visibility 1s ease;
  transition: opacity 1s ease, visibility 1s ease;
  /* 少しゆっくり消えるように調整 */
  opacity: 1;
  visibility: visible;
}

/* フェードアウト用のクラス（JSで付与） */
#loading.fade-out {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* * ★追加：フェードアウトが始まった時、中の手に新しいアニメーションを適用 
 * 画面が消える1秒間に合わせて、手を拡大させる
 */
#loading.fade-out img {
  -webkit-animation: zoomInHand 1s forwards ease-in;
  animation: zoomInHand 1s forwards ease-in;
  /* clapMainアニメーションを上書きして実行されます */
}

/* メインの手（初期アニメーション） */
#loading img {
  width: 140px;
  /* fill-mode: both を追加して開始/終了状態を安定させる */
  -webkit-animation: clapMain 0.7s both ease-in-out;
  animation: clapMain 0.7s both ease-in-out;
  -webkit-transform-origin: center center;
  transform-origin: center center;
}

/* 衝撃エフェクト（円） */
#loading::after {
  content: "";
  position: absolute;
  width: 30px;
  height: 30px;
  background: white;
  border-radius: 50%;
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-animation: clapImpact 0.7s 1;
  animation: clapImpact 0.7s 1;
}

/* 線のエフェクト（パチン！） */
#loading::before {
  content: "";
  position: absolute;
  width: 80px;
  height: 80px;
  border: 2px solid white;
  border-radius: 50%;
  opacity: 0;
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
  -webkit-animation: clapRing 0.7s 1;
  animation: clapRing 0.7s 1;
}

/* --- キーフレーム定義 --- */
/* ★新規追加：手が奥から迫ってくる（拡大）アニメーション */
@-webkit-keyframes zoomInHand {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    /* 拍手終わりの状態からスタート */
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(3);
    transform: scale(3);
    /* 4倍に拡大 */
    opacity: 0;
    /* 手自体も少し透明にしていく（親のフェードアウトと相乗効果） */
  }
}
@keyframes zoomInHand {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    /* 拍手終わりの状態からスタート */
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(3);
    transform: scale(3);
    /* 4倍に拡大 */
    opacity: 0;
    /* 手自体も少し透明にしていく（親のフェードアウトと相乗効果） */
  }
}

/* 拍手の動き（1回再生用） */
@-webkit-keyframes clapMain {
  0% {
    -webkit-transform: scale(1) rotate(0deg);
    transform: scale(1) rotate(0deg);
  }
  40% {
    -webkit-transform: scale(1.08) rotate(2deg);
    transform: scale(1.08) rotate(2deg);
  }
  50% {
    -webkit-transform: scale(0.85) rotate(0deg);
    transform: scale(0.85) rotate(0deg);
  }
  /* 叩く瞬間 */
  60% {
    -webkit-transform: scale(1.12) rotate(-2deg);
    transform: scale(1.12) rotate(-2deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(0deg);
    transform: scale(1) rotate(0deg);
  }
  /* この状態で止まる */
}
@keyframes clapMain {
  0% {
    -webkit-transform: scale(1) rotate(0deg);
    transform: scale(1) rotate(0deg);
  }
  40% {
    -webkit-transform: scale(1.08) rotate(2deg);
    transform: scale(1.08) rotate(2deg);
  }
  50% {
    -webkit-transform: scale(0.85) rotate(0deg);
    transform: scale(0.85) rotate(0deg);
  }
  /* 叩く瞬間 */
  60% {
    -webkit-transform: scale(1.12) rotate(-2deg);
    transform: scale(1.12) rotate(-2deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(0deg);
    transform: scale(1) rotate(0deg);
  }
  /* この状態で止まる */
}

/* 衝撃の点 */
@-webkit-keyframes clapImpact {
  0%, 40% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    opacity: 0;
    -webkit-transform: scale(2.5);
    transform: scale(2.5);
  }
  100% {
    opacity: 0;
  }
}
@keyframes clapImpact {
  0%, 40% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    opacity: 0;
    -webkit-transform: scale(2.5);
    transform: scale(2.5);
  }
  100% {
    opacity: 0;
  }
}

/* 波紋 */
@-webkit-keyframes clapRing {
  0%, 45% {
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
  50% {
    opacity: 0.8;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(2);
    transform: scale(2);
  }
}
@keyframes clapRing {
  0%, 45% {
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
  50% {
    opacity: 0.8;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(2);
    transform: scale(2);
  }
}

/* フェードアウト用のクラス */
.fade-out {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.8s ease, visibility 0.8s ease;
  transition: opacity 0.8s ease, visibility 0.8s ease;
  pointer-events: none;
  /* クリックを背後の要素にスルーさせる */
}

.txt-coming {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  text-align: center;
  font-size: clamp(3rem, 3vw, 4rem);
  color: #002361;
  font-weight: 700;
  margin: 80px 0 100px;
}

@media only screen and (min-width: 768px) {
  .txt-coming {
    margin: 0 0 100px;
  }
}

.grecaptcha-badge {
  display: none;
}

.page-contact .grecaptcha-badge {
  display: block;
}
