@charset "UTF-8";

body { font-family: Gotham, "Gotham", "Gotham A", "Gotham B", "游ゴシック", "Yu Gothic", sans-serif; }
html, body { height: 100%; margin: 0px; padding: 0px; }
html * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box; }

.fti-hnav,
.fti-hnav ul,
footer ul,
.fti-fnav li:last-child dl:first-child,
.fti-flink                      { display: flex; }
.fti-hnav a em,
.fti-hnav a em svg { display: block; }
a                           { display: inline-block; }

.fti-fnav li:last-child dl:first-child dt       { display: none; }
.fti-fnav li:nth-child(2) dl:first-child dd a     { display: inline; }

.fti-hnav a em { position: relative; }
.fti-hnav a em svg { position: absolute; top: 0; left: 0; }

body,
img { width: 100%; }
.fti-hnav a em             { width:  50%; }
img                  { height: auto; }
body                 { height: 100%; }

* { margin: 0; padding: 0; }
a                   { padding-bottom: 2px; }

img                  { vertical-align: middle; }

small                 { font-size: 1.00em; }
h1,h2,h3,h4,h5,h6,
dt { font-weight: bold; }
p                   { font-weight: normal; }
address,
cite,
dfn,
em,
i,
dl,dt,dd               { font-style: normal; }
a,a img                { text-decoration: none; }
*              { box-sizing: border-box; }

body,section,article,div,header,footer,main,aside,
h1,h2,h3,h4,h5,h6,
ul,ol,li,
dl,dt,dd,
p                   { font-size: 12px; }

body,
a,
mark,
.fti .fti-hnav a,
.fti-recruit .fti-hnav a,
.fti-contact .fti-hnav a,
.fti-form .fti-hnav a,
.fti-communication-single .fti-hnav a { color: #303030; }
.fti-hnav a { color: #FFFFFF; }
header svg              { fill:  #FFFFFF; }
.fti > header svg,
.fti-communication-single > header svg,
footer svg              { fill:  #303030; }
mark                 { background-color: RGB(255,255,255,0); }
footer                { background-color: #F4F4F4; }
input,button,textarea,select     { background: none; }

ul,ol                 { list-style: none; }
a,a img                { outline: none; }
.fti-flink              { border-top: 1px solid currentColor; }
a                   { border-bottom: 2px solid rgba(255,255,255,0); }
header a:hover            { border-bottom: 2px solid currentColor; }
footer a:hover,
.fti-communication main a:hover    { border-bottom: 1px solid currentColor; }
header a               { border-bottom: 2px solid rgba(255,255,255,0); }
footer a,
.fti-communication main a { border-bottom: 1px solid rgba(255,255,255,0); }

header > a:first-child,
header > a:first-child:hover { border-bottom: none; }

input,button,textarea,select     { border: none; border-radius: 0; outline: none; appearance: none; }

@media screen and ( min-width: 768px ) {

 header.fti-hnav,
 header.fti-hnav ul { display: flex; }

 .fti-flink             { flex-direction: row; }
 .fti-hnav,
 .fti-hnav ul,
 .fti-flink             { align-items: center; }
 .fti-fnav dt span          { display: none ; }
 body,
 section { position: relative; }
 .fti-hnav { position: absolute; z-index: 10; }
 .fti-fnav li:last-child { max-width:  360px; }
 .fti-fnav li            { max-width:  240px; }
 footer               { width: 100.0%; }
 .fti-hnav { width:  62.5%; }
 .fti-fnav > li           { width: calc(100% / 7); }
 .fti-fnav > li:not(:last-child) > dl   { width: calc(800% / 9); }
 .fti-fnav > li:last-child      { width: calc(300% / 14); }
 .fti-hnav              { height: 7.8125vw; }
 .fti-flink             { height:  4.6875vw; }
 .fti-hnav em svg,
 .fti-fnav svg            { height: 1.25vw; }
 .fti-hnav              { top: 0; }
 .fti-hnav { left:  6.25%; }
 .fti-fnav + .fti-flink       { margin-top: 9.375vw; }
 .fti-flink             { margin-top: 3.125vw; }
 .fti-fnav dt + dd          { margin-top: 1.875vw; }
 .fti-fnav dd + dd          { margin-top: 0.75vw; }
 .fti-fnav li:last-child dl + dl   { margin-top: 0.9375vw; }
 .fti-fnav li:last-child dt + dd,
 .fti-fnav li:last-child dd + dd   { margin-top:  0px; }
 .fti-hnav,
 .fti-flink dt            { margin-right: auto; }
 .fti-hnav,
 .fti-hnav > nav,
 .fti-fnav li:last-child       { margin-left: auto; }
 .fti-hnav li+li { margin-left: 1.875vw; }
 .fti-fnav li:last-child dd + dd   { margin-left: 1.25vw; }
 .fti-flink dd+dd          { margin-left: 0.9375vw; }

 footer               { padding: 6.25vw 6.25vw 0 6.25vw; }

 body                { /*font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;*/font-family: sans-serif; }
 h2                 { font-size: 3.125vw; }
 h3,
 h4                 { font-size: 1.25vw; }
 .fti-hnav li,
 .fti-fnav dt { font-size: 0.9375vw; }
 .fti-fnav dd,
 .fti-fnav li:last-child dt,
 .fti-flink dl            { font-size: 0.78125vw; }
 .fti-fnav dd address        { font-size: 0.78125vw; }
 .fti-fnav dd,
 .fti-fnav li:last-child dt     { line-height: 1.50em; }
 .fti-fnav li:last-child dd     { line-height: 2.0em; }
 h1,h2,h3,h4,h5,h6          { line-height: 1.25em; }
}

@media screen and ( max-width: 767px ) {

 header.fti-hnav ul,
 .fti-fnav,
 .fti-flink             { display: flex; }
 .fti-fnav li:nth-child(2) dl dt            { display: none; }

 header.fti-hnav,
 header.fti-hnav ul,
 footer ul,
 .fti-flink             { flex-direction: column; }
 .fti-fnav dt span          { display: none; }
 body,
 section { position: relative; }
 header.fti-hnav { position: absolute; z-index: 10; }
 .fti-hnav svg { width: auto; }
 .fti-fnav,
 .fti-flink,
 footer               { width: 100%; }
 .fti-hnav { width:  87.5%; height: 60px;; }
 .fti-hnav a em svg,
 .fti-hnav a span svg        { height:  18px; }
 .fti-fnav svg            { height: 5.625vw; }
 header.fti-hnav           { top: 0; }
 .fti-hnav a em svg { top: 24px; left: 0; }
 header.fti-hnav { left:  6.25%; }
 .fti-hnav > a + nav { margin-top: 18.75vw; }
 .fti-fnav + .fti-flink { margin-top:  12.50vw; }
 .fti-fnav li + li,
 .fti-fnav li:last-child dl + dl   { margin-top:  9.375vw; }
 .fti-fnav dt + dd,
 .fti-fnav li:nth-child(2),
 .fti-flink dt + dd         { margin-top: 2vw; }
 .fti-hnav li+li           { margin-top: 1.875vw; }
 .fti-fnav li:last-child dt + dd   { margin-top:  0px; }
 .fti-hnav,
 .fti-flink li:first-child,
 .fti-fnav,
 .fti-flink             { margin-right: auto; }
 .fti-fnav,
 .fti-flink             { margin-left: auto; }
 .fti-fnav li:last-child dd + dd   { margin-left: 5.625vw; }
 footer               { padding: 12vw 6.25vw 12vw; }
 .fti-flink             { padding-top: 6.25vw; }
 h1,
 h2 { font-size: 5vw; }
 .fti-fnav dt,
 .fti-flink dt            { font-size: 4vw; }
 .fti-fnav dd,
 .fti-flink dd { font-size: 3.75vw; }
 .fti-fnav,
 .fti-flink             { line-height: 2.5em; }
 .fti-fnav li:last-child dd     { line-height: 1.50em; }
 h1,h2,h3,h4,h5,h6          { line-height: 2.00em; }

 /* NOTE: header menu for Smartphone Layout */
 .fti-hnav > nav
 {
  display: none; opacity: 0;
  position: fixed; top: 0px; left: 0px; right: 0px; bottom: 0px;
  overflow-y: scroll; -webkit-overflow-scrolling: touch; overflow-scrolling: touch;
  background-color: #FFFFFF;
  -webkit-transition: opacity 0.35s ease 0s; transition: opacity 0.35s ease 0s;
  margin: 0;
 }
 .fti-hnav > nav.init        { display: block; height: 100vh; margin-top: 0; }
 .fti-hnav > nav.show        { opacity: 1.0; }

 .fti-hnav ul            { padding: 70px 6.25% 0; }
 .fti-hnav li+li           { margin-top: 3vw; }
}

a { text-decoration: none; outline: none; }
a img { border: none; }
a img, a:focus { outline: none; }
a.text-link { font-size: 1.0vw; }
a.text-link { display: inline-block; }
a.text-link { border-bottom: 2px solid currentColor; }
a.text-link:hover { opacity: 0.5; }
a.hover { -webkit-transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1) 0s; -moz-transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1) 0s; -ms-transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1) 0s; -o-transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1) 0s; transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1) 0s; }
a.hover:hover { opacity: 0.5; }

@media screen and (max-width: 767px) { a.text-link { font-size: 12px; }
  a.text-link:hover { opacity: 1.0; }
  a.hover { -webkit-transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1) 0s; -moz-transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1) 0s; -ms-transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1) 0s; -o-transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1) 0s; transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1) 0s; }
  a.hover:hover { opacity: 1.0; } }

figure, ul, ol { margin: 0; padding: 0; }
figure img { width: 100%; height: auto; }

ul, ol { list-style: none; }

body { color: #303030; font-size: 18px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-smoothing: antialiased; text-rendering: optimizeLegibility; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; text-size-adjust: 100%; }

h1.white, h2.white, h3.white, h4.white, h5.white, h6.white { color: #FFFFFF; }
h1.pink, h2.pink, h3.pink, h4.pink, h5.pink, h6.pink { color: #ee3281; }
h2, h3, h6 { color: #ee3281; }
h2, h3, h4 { margin: 0px 0px 0.75em; }
h6 { margin: 0.75em 0px 0.75em; }
h2 { font-size: 2.75vw; line-height: 1.2; }
h3 { font-size: 2.25vw; line-height: 1.666666667; }
h4 { font-size: 1.75vw; line-height: 1.5; }
h6 { font-size: 18px; line-height: 1.333333333; }

p.white, span.white, strong.white, small.white, a.white { color: #FFFFFF; }
p { line-height: 2.0; margin: 0px 0px 1.85em; }
p.lead { font-size: 24px; line-height: 1.5; }
p.sub-lead { font-size: 18px; line-height: 1.666666667; }
p.lead, p.sub-lead { margin: 0; }
p.bold { font-weight: 700; }
p.small { font-size: 0.7vw; }

a { color: inherit; }

@media screen and (max-width: 767px) { body { font-size: 12px; }
  h2 { font-size: 28px; }
  h3 { font-size: 24px; line-height: 1.5; }
  p { line-height: 1.5; margin: 0px 0px 1.75em; }
  p.lead { font-size: 17px; line-height: 1.4; }
  p.sub-lead { font-size: 15px; line-height: 1.733333333; }
  p.small { font-size: 12px; } }

@media screen and (max-width: 360px) { body { font-size: 12px; }
  h2 { font-size: 24px; }
  h3 { font-size: 24px; }
  p.lead { font-size: 15px; } }

.fti-app section { overflow: hidden; }

header.fti-hnav { justify-content: space-between; position: absolute; z-index: 5; left: 0; width: 100%; height: 150px; padding-left: 6.25vw; padding-right: 6.25vw; }
header.fti-hnav > a { display: block; width: 84px; height: 24px; }
header.fti-hnav > a em, header.fti-hnav > a svg { width: 100%; height: auto; }
header.fti-hnav > a svg { fill: currentColor; }
header.fti-hnav a { color: #FFFFFF; border-bottom: none; }
header.fti-hnav a:hover { border-bottom: none; }
header.fti-hnav > dl dt, header.fti-hnav > dl dd { display: inline-block; color: #FFFFFF; vertical-align: top; }
header.fti-hnav > dl dt { font-size: 18px; font-weight: 700; line-height: 1.0; margin: 0px 0.5em 0px 0px; padding-top: 0.45em; }
header.fti-hnav > dl dd { width: 30px; height: 30px; margin: 0px 8px; }
header.fti-hnav > dl dd:last-child { margin-right: 0; }
header.fti-hnav > dl dd svg { width: 100%; height: auto; fill: currentColor; }

footer { background-color: #303030; padding: 80px 6.25vw 10px; }
footer dt, footer dd, footer a { color: #FFFFFF; }
footer svg { fill: currentColor; }
footer .fti-fnav > li:last-child { width: auto; }
footer .fti-fnav > li:last-child a { border-bottom: none; }
footer .fti-fnav li:last-child dl { display: flex; }
footer .fti-fnav li:last-child dt { margin-right: 20px; }
footer .fti-fnav li:last-child dl:nth-child(2) { margin-top: 20px; }
footer .fti-fnav li:last-child dl:nth-child(2) dt { margin-left: auto; }
footer .fti-fnav li:last-child dl:nth-child(2) dt { padding-top: 0.5em; }
footer .fti-fnav li:last-child dl:nth-child(2) dd a { width: 1.75vw; height: 1.75vw; }
footer .fti-fnav li:last-child dl:nth-child(2) dd svg { width: 100%; height: auto; }
footer .fti-flink { border-top-color: #FFFFFF; }
footer .fti-flink dt, footer .fti-flink dd { font-size: 0.85vw; }

@media screen and (max-width: 767px) { header.fti-hnav { flex-direction: row; }
  header.fti-hnav { height: 60px; }
  header.fti-hnav > a { width: 64px; height: 18px; }
  header.fti-hnav > a svg { top: 0; }
  header.fti-hnav > dl dt { font-size: 12px; }
  header.fti-hnav > dl dd { width: 20px; height: 20px; }
  footer { background-color: #303030; padding: 60px 6.25vw 20px; }
  footer .fti-fnav { position: relative; padding-top: 120px; }
  footer .fti-fnav li:last-child { position: absolute; top: 0; margin-top: 0; }
  footer .fti-fnav li:last-child dl:nth-child(2) dt { font-size: 15px; line-height: 1.5; margin: 0; padding-top: 0; }
  footer .fti-fnav li:last-child dl:nth-child(2) dd { margin-left: 20px; height: 20px; }
  footer .fti-fnav li:last-child dl:nth-child(2) dd a { width: 20px; height: auto; }
  footer .fti-fnav dt, footer .fti-fnav dd, footer .fti-flink dt, footer .fti-flink dd { font-size: 12px; } }

header { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -ms-flex-align: center; -webkit-box-align: center; align-items: center; }

.fv-block .service-block { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }

.block, .app-block, .detail-block, .logo-block { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; }

.fv-block { width: 100%; height: 56.25%; max-height: 200vh; }

.block, .app-block, .detail-block { width: 100%; height: 43.75vw; min-height: 640px; max-height: 100vh; }



.logo-block { width: 100%; height: 28.125vw; max-height: 100vh; }

.fv-block, .block, .app-block, .detail-block { position: relative; overflow: hidden; }

.block-image { position: absolute; bottom: 0; right: 0; z-index: 0; width: 100%; height: 100%;  }
.block-image img { width: 100%; height: 100%; object-fit: cover; }
.app-block .block-image img { width: auto; position: absolute;top: 0; right: 0; }
.block-text { position: relative; z-index: 1; }
.block-text p:last-child { margin-bottom: 0; }

.full-size { width: 100vw; }
.half-size { width: 50vw; }
.half-size.right { margin-left: 50vw; }



@media screen and (max-width: 767px) { .fv-block { display: block; height: auto; }
  .fv-block > video { position: absolute; }
  .block, .app-block, .detail-block, .service-block, .logo-block { display: block; height: auto; max-height: 100%; }
  .block.no-space-sp, .app-block.no-space-sp, .detail-block.no-space-sp, .service-block.no-space-sp, .logo-block.no-space-sp { padding-top: 0; padding-bottom: 0; }
  .service-block { padding: 10vw 5vw; }
  .logo-block { padding-top: 15vw; padding-bottom: 15vw; }
  .block-text { padding-top: 10vw; padding-bottom: 10vw; }
  .full-size { height: 100vw; }
  .half-size { width: 100vw; }
  .half-size.right { margin-left: 0; } }



.bg-gray { background-color: #eaeaea; }

@media screen and (min-width: 768px) {
  .grid-l2 { padding-left: 12.5vw; }
  .grid-r3 { padding-right: 12.5vw;/*padding-right: 18.75vw;*/ }
  .sp { display: none; }
  .pci { display: inline; }
}

@media screen and (max-width: 767px) {
  .grid-l-sp { padding-left: 5%; }
  .grid-sp { padding-left: 5%; padding-right: 5%; }
  .pci { display: none; }
  .pc { display: none; }
  .only-pc { display: none !important; }
}

.link-item { margin-top: 1.15em; }
.link-item .image-link { margin-right: 10px; }
.link-item .image-link { border-bottom: none; }
.link-item .image-link:last-child { margin-right: 0px; }
.link-item .image-link:hover { opacity: 0.5; }

.app-link { display: inline-block; width: auto; height: 36px; }
.app-link img { width: auto; height: 100%; }

.social-link { width: 30px; height: 30px; margin: 0px 8px; }
.social-link:last-child { margin-right: 0; }
.social-link svg { width: 100%; height: auto; fill: currentColor; vertical-align: top; }

@media screen and (max-width: 767px) {
  .link-item .image-link:hover { opacity: 1.0; }
  .app-link { height: 46px; }
  .social-link { width: 18px; height: 18px; margin: 0px 6px; }
  .social-link:last-child { margin-right: 0; }
}

@media screen and (max-width: 360px) { .app-link { height: 40px; } }

.movie-item { position: relative; padding-bottom: 56.25%; }
.movie-item img.cover { position: absolute; top: 0; left: 0; pointer-events: none; width: 100%; height: 100%; }
.movie-item iframe, .movie-item object, .movie-item video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.fv-block { overflow: hidden; position: relative; }
.fv-block > img { width: 100%; height: auto; position: absolute; z-index: 1; }

.ic-scroll-down { position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); bottom: 20px; z-index: 2; }
.ic-scroll-down > a { display: block; border-bottom: none; color: #FFFFFF; font-size: 24px; font-weight: 700; text-align: center; }
.ic-scroll-down > a i { display: block; width: 48px; height: 24px; margin-left: auto; margin-right: auto; background-image: url(svg.interface.button.scroll.down.svg); background-position: center; background-repeat: no-repeat; background-size: contain; }

.cover { pointer-events: none; }

@media screen and (max-width: 767px) {
  .fv-block > img { height: 100%; object-fit: cover; pointer-events: none; }
  .ic-scroll-down { bottom: 15px; }
  .ic-scroll-down > a { font-size: 18px; }
  .ic-scroll-down > a i { width: 24px; height: 12px; }
}

.app-block .block-text .text-background { display: none; }
.app-block .block-text h2 { position: relative; padding-left: 8.05vw; padding-top: 0.5vw; font-size: 2.22vw; line-height: 1.45; margin-bottom: 1.5em; }
.app-block .block-text h2 > svg { position: absolute; left: 0; top: 0; display: block; width: 7vw; height: auto; filter: drop-shadow(2px 5px 3px rgba(0, 0, 0, 0.15)); }
.app-block .block-text h2 > svg .a { fill: #FFFFFF; }
.app-block .block-text h2 > svg .b { fill: #ee3381; }
.app-block .block-text h2 .app-icon { position: absolute; left: 0; top: 0; display: block; width: 7vw; height: auto; filter: drop-shadow(2px 5px 3px rgba(0, 0, 0, 0.15));transform: translate(0, -20%); }
.app-block .block-text em, .app-block .block-text small { display: block; margin-top: 20px; }
.app-block .block-text em { font-size: 1.0vw; font-weight: 700; line-height: 1.65; }
.app-block .block-text small { font-size: 0.75vw; }
.app-block .block-text .link-item { margin-top: 2.0em; }

@media screen and (max-width: 767px) {
  .app-block .block-image { position: relative; width: 100%; height: auto;  }
  .app-block .block-image img { position: relative;width: 100%; height: auto; }
  .app-block .block-text { padding-top: 40px; padding-bottom: 40px; }
  .app-block .block-text .text-background { display: block; position: absolute; width: 100%; height: 100%; z-index: 1; }
  .app-block .block-text .text-background img { width: 100%; height: 100%; object-fit: cover; }
  .app-block .block-text .inner { position: relative; z-index: 2; }
  .app-block .block-text h2 { position: relative; font-size: 24px; line-height: 1.5; margin-bottom: 0.5em; padding-left: 50px; }
  .app-block .block-text h2 .app-icon { width: 36px; height: 36px; top: 50%; transform: translate(0, -50%);}
  .app-block .block-text em { font-size: 15px; }
  .app-block .block-text small { font-size: 9px; }
  .app-block .block-text .link-item { text-align: center; }
}




.detail-block { background-color: #ffffff; height: auto; overflow:visible; min-height: 500px;}

.detail-block .block-text { position: static; }

.detail-block .block-text .slide-list { overflow: hidden; }
.detail-block .block-text .slide-list:after { content: ''; display: block; clear: both; }
.detail-block .block-text .slide-item { width: 100%; float: left; }
.detail-block .block-text .slide-item h3 { color: #ee3281; }
.detail-block .block-text .slide-item p { font-size: 0.925vw; }
.detail-block .block-text .slick-dots { width: 100px; position: absolute; left: 50%; bottom: 20px; margin-left: -50px; text-align: center; }
.detail-block .block-text .slick-dots li { display: inline-block; width: 10px; height: 10px; margin: 0px 5px; border-radius: 50%; background-color: #acacac; cursor: pointer; }
.detail-block .block-text .slick-dots li button { opacity: 0; width: 10px; height: 10px; cursor: pointer; }
.detail-block .block-text .slick-dots li.slick-active { background-color: #ee3281; }
.detail-block .block-text .slick-dots { bottom: 10px; }
.detail-block .block-text .slick-dots li { width: 8px; height: 8px; }
.detail-block .block-text .slick-dots li button { opacity: 0; width: 8px; height: 8px; }

@media screen and (max-width: 767px) {
  .detail-block .block-text {
    padding-bottom: 3vw;
  }
  .detail-block .block-image img { width: 100vw; height: 100vw; }
  .detail-block .block-text h3 { font-size: 22px;text-align: center; }
  .detail-block .block-text p { font-size: 12px; }
}


.detail-block .block-image-container { 
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100vw *(668 / 1440));
  height: calc(100vw *(482 / 1440));
}

.detail-block .block-image-pic { 
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100vw *(515 / 1440));
  transform: translate(0, -7.2%);
}

.detail-block .block-image-app { 
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(100vw *(425 / 1440));
}

.detail-block .block-text h3 { color: #ee3281; }
.detail-block .block-text p { font-size: 14px; }


@media screen and (max-width: 767px) {
  .detail-block .block-image-container { 
    position: relative;
    width: 100%;
    height: auto;
    transform: translate(0, 0);
    padding: calc(100vw *(28 / 375)) 0 0;
  }
  .detail-block .block-image-pic { 
    width: calc(100vw *(244 / 375));
    transform: translate(0, 0);
  }
  
  .detail-block .block-image-app { 
    position: relative;
    width: 100%;
    text-align: center;
  }
  .detail-block .block-image-app img { 
    width: calc(100vw *(304 / 375));
  }
}







.service-block { 
  width: 100%;
  height: auto;
  padding: calc(100vw *(100 / 1440)) 10vw calc(100vw *(120 / 1440));
}



.service-item-logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 1em 0px;
}
.service-item-logo h2 {
  margin-bottom: 10px;
}
.service-item-logo p { margin-top: 10px; margin-bottom: 10px;font-size: 14px; }
.service-item-logo p .notice { font-size: 10px; }
.service-item-logo img {
  width: calc(100vw *(346 / 1440));
}

 .service-item { display: flex; align-items: center;padding: 0 4.16%; }
 .service-item p { font-size: 14px; line-height: 1.64; }
 .service-item .service-item-image {
    width: 50%;
    margin-right: 4.8%;
 }
 .service-item-text {
    flex: 1;
    margin-top: calc(100vw *(48 / 1440));
 }

 .service-item-text .heading {
  font-weight: bold;
  margin-bottom: .8em;
}

.service-item-text p + .heading {
  margin-top: 2em;
}

@media screen and (max-width: 767px) {
  .service-block { 
    padding: calc(100vw *(30 / 375))  calc(100vw *(25 / 375)) calc(100vw *(55 / 375));
  }
  .service-item { justify-content: center; flex-direction: column; }
  .service-item { width: calc(100% - 10px); }
  .service-item p { font-size: 12px; line-height: 1.75; }

  .service-item-logo img {
    width: calc(100vw *(267 / 375));
  }
  .service-item { display: block; padding: 0; }
  .service-item-text {
    margin-top: calc(100vw *(40 / 375));
 }
  .service-item .service-item-image {
    width: 100%;
    margin-right: 0;
    text-align: center;
  }
  .service-item-text {
    margin-top: calc(100vw *(40 / 375));
   }
}







.feature-block {
  padding: 10vw;
}

.feature-block > h2 {
  color: #303030;
  margin-bottom: 0.5em;
  text-align: center;
}
.feature-block > h2 + p {
  text-align: center;
  font-size: 14px;
  margin-bottom: 3.4em;
}

@media screen and (max-width: 767px) {
  .feature-block {
    position: relative;
    padding:calc(100vw *(60 / 375)) 0;
  }
  .feature-block > h2 + p {
    font-size: 12px;
  }
}


.detail_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(100vw *(36 / 1440));
}

.detail_list .detail_item {
  width: calc(100vw *(336 / 1440));
  text-align: center;
  font-size: 14px;
  font-weight: bold;
}

.detail_list .detail_item p.detail_comment {
  font-size: 14px;
  font-weight: bold;
  margin: 1.0em 0 0;
}


@media screen and (max-width: 767px) {
  .detail_list {
    width: 100%;
    gap: calc(100vw *(20 / 375));
  }
  .detail_list .detail_item {
    width: calc(100vw *(145 / 375));
    font-size: 12px;
  }
  .detail_list .detail_item p.detail_comment {
    font-size: 12px;
    text-align: center;
  }
}





.feature_block {
  margin: 0 auto;
  width: calc(100vw *(942 / 1440));
}

.feature_block h2 {
  text-align: center;
  margin-top: calc(100vw *(120 / 1440));
  color: #303030;
}

.feature_block .feature_item {
  width: 100%;
  padding: 80px 0;
  display: flex;
}



.feature_block .feature_item .feature_img {
  position: relative;
  width: 36.624%;
  margin-right: 5%;
  text-align: right;
}

.feature_block .feature_item .feature_content {
  flex: 1;
}

.feature_block .feature_item .feature_content p {
  font-size: 14px;
}

.feature_block .feature_item .feature_content a {
  font-weight: bold;
}

.feature_block .feature_item h3 {
  font-size: calc(100vw *(32 / 1440));
  margin-bottom: 1em;
  color: #303030;
}

.feature_block .feature_item img {
  width: 78.84%;
}

.feature_block .feature_item .border {
  height: 100%;
  position: absolute;
  top: 0;  
  z-index: -1;
  width: 32.173%;
  background-color: #FDE0DC;
  transform: translate(0, 13.5%);
}

.feature_block .feature_item:nth-of-type(even) {
  flex-direction: row-reverse;
}

.feature_block .feature_item:nth-of-type(even) .feature_img {
  margin-right: 0;
  margin-left: 5%;
  text-align: left;
}

.feature_block .feature_item:nth-of-type(even) .border {
  right: 0;
}




@media screen and (max-width: 767px) {
  
  .feature_block {
    width: 100%;
    padding: 0 calc(100vw *(25 / 375));
  }
  
  .feature_block .feature_item {
    padding: calc(100vw *(20 / 375)) 0;
    display: block;
  }
  
  
  
  .feature_block .feature_item .feature_img {
    width: 100%;
    margin-right:0;
    margin-bottom: calc(100vw *(50 / 375));
  }
  
  .feature_block .feature_item h3 {
    font-size: 22px;
    text-align: center;
  }
  
  .feature_block .feature_item img {
    width: 78.84%;
  }
  
  .feature_block .feature_item .border {
    height: 100%;
    position: absolute;
    top: 0;  
    z-index: -1;
    width: 32.173%;
    background-color: #FDE0DC;
    transform: translate(0, 13.5%);
  }
  
  .feature_block .feature_item:nth-of-type(even) {
    flex-direction: row;
  }
  
  .feature_block .feature_item:nth-of-type(even) .feature_img {
    margin-right: 0t;
    margin-left: 0;
    text-align: right;
  }
  
  .feature_block .feature_item:nth-of-type(even) .border {
    right: inherit;
    left: 0;
  }
}






.fade-slide-in { -webkit-transition: -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0s, opacity 0.75s linear 0s; -moz-transition: -moz-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0s, opacity 0.75s linear 0s; -ms-transition: -ms-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0s, opacity 0.75s linear 0s; -o-transition: -o-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0s, opacity 0.75s linear 0s; transition: transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0s, opacity 0.75s linear 0s; opacity: 0.0; -webkit-transform: translateY(60px); -moz-transform: translateY(60px); -ms-transform: translateY(60px); transform: translateY(60px); }

.fade-slide-in.show { -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); opacity: 1.0; }

.fade-in { -webkit-transition: opacity 1.45s cubic-bezier(0.19, 1, 0.22, 1) 0s; -moz-transition: opacity 1.45s cubic-bezier(0.19, 1, 0.22, 1) 0s; -ms-transition: opacity 1.45s cubic-bezier(0.19, 1, 0.22, 1) 0s; -o-transition: opacity 1.45s cubic-bezier(0.19, 1, 0.22, 1) 0s; transition: opacity 1.45s cubic-bezier(0.19, 1, 0.22, 1) 0s; opacity: 0.0; }

.fade-in.show { opacity: 1.0; }