/***  media ***/
:root {
  --main-color: #009EE2;
  --main-color-hover: #30c1ff;
  --sub-color: #FF6600;
  --sub-color-hover: #ff8533;
  --link-color: #009EE2;
  --link-color-hover: #30c1ff;
  --text-color: #333;
  --bg-color: #CCECF9;
  --gothic: 'Noto Sans JP','Yu Gothic','Hiragino Kaku Gothic ProN','メイリオ','Meiryo',sans-serif;
  --mincyo: 'Noto Serif JP','ヒラギノ明朝 Pro','Hiragino Mincho Pro','Yu Mincho',"ＭＳ Ｐ明朝",serif;
  --roman: 'Georgia','Times New Roman','Times',serif;
  --icon: 'Material Icons';
  --icon-arrow-up: '\e316';
  --icon-arrow-down: '\e313';
  --icon-arrow-right: '\e315';
  --icon-arrow-left: '\e314';
  --sp-header-height: 60px;
}
* {
  box-sizing: border-box;
}
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,
main,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video,
picture {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  background: transparent;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html {
  font-size: 62.5%;
}
body {
  color: var(--text-color);
  font-size: 1.6rem;
  line-height: 1.6;
  font-family: var(--gothic);
}
main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
picture,
address,
small {
  display: block;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
ins {
  background-color: var(--main-color);
  color: var(--text-color);
  text-decoration: none;
}
mark {
  background-color: var(--main-color);
  color: var(--text-color);
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}
input,
select {
  vertical-align: middle;
}
hr,
.areaAnchor {
  display: none;
}
acronym,
abbr {
  cursor: help;
}
option {
  padding-right: 10px;
}
p,
pre,
ul,
ol,
dl,
dt,
dd,
form,
blockquote {
  text-align: left;
}
table {
  border-collapse: collapse;
  width: 100%;
}
address {
  font-style: normal;
}
img {
  border: none;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
a {
  color: var(--link-color);
  text-decoration: none;
  transition: all 0.3s ease-in;
}
a:hover {
  color: var(--link-color-hover);
  text-decoration: underline;
}
a.-line {
  text-decoration: underline;
}
a.-line:hover {
  text-decoration: none;
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    display: none;
    opacity: 0;
    z-index: -1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    display: none;
    opacity: 0;
    z-index: -1;
  }
}
@-webkit-keyframes fadeSlideIn {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeSlideIn {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes widthIn {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes widthIn {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
/*
===== Utility ====================================
*/
._cf:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
._cf {
  display: inline-block;
}
._m00 {
  margin: 0 !important;
}
._mt00 {
  margin-top: 0 !important;
}
._mt00.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt00.-sp {
    margin-top: 0 !important;
  }
}
._mt00.-pc {
  margin-top: 0 !important;
}
@media screen and (max-width: 900px) {
  ._mt00.-pc {
    margin-top: unset !important;
  }
}
._mt05 {
  margin-top: 5px !important;
}
._mt05.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt05.-sp {
    margin-top: 5px !important;
  }
}
._mt05.-pc {
  margin-top: 5px !important;
}
@media screen and (max-width: 900px) {
  ._mt05.-pc {
    margin-top: unset !important;
  }
}
._mt10 {
  margin-top: 10px !important;
}
._mt10.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt10.-sp {
    margin-top: 10px !important;
  }
}
._mt10.-pc {
  margin-top: 10px !important;
}
@media screen and (max-width: 900px) {
  ._mt10.-pc {
    margin-top: unset !important;
  }
}
._mt15 {
  margin-top: 15px !important;
}
._mt15.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt15.-sp {
    margin-top: 15px !important;
  }
}
._mt15.-pc {
  margin-top: 15px !important;
}
@media screen and (max-width: 900px) {
  ._mt15.-pc {
    margin-top: unset !important;
  }
}
._mt20 {
  margin-top: 20px !important;
}
._mt20.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt20.-sp {
    margin-top: 20px !important;
  }
}
._mt20.-pc {
  margin-top: 20px !important;
}
@media screen and (max-width: 900px) {
  ._mt20.-pc {
    margin-top: unset !important;
  }
}
._mt25 {
  margin-top: 25px !important;
}
._mt25.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt25.-sp {
    margin-top: 25px !important;
  }
}
._mt25.-pc {
  margin-top: 25px !important;
}
@media screen and (max-width: 900px) {
  ._mt25.-pc {
    margin-top: unset !important;
  }
}
._mt30 {
  margin-top: 30px !important;
}
._mt30.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt30.-sp {
    margin-top: 30px !important;
  }
}
._mt30.-pc {
  margin-top: 30px !important;
}
@media screen and (max-width: 900px) {
  ._mt30.-pc {
    margin-top: unset !important;
  }
}
._mt35 {
  margin-top: 35px !important;
}
._mt35.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt35.-sp {
    margin-top: 35px !important;
  }
}
._mt35.-pc {
  margin-top: 35px !important;
}
@media screen and (max-width: 900px) {
  ._mt35.-pc {
    margin-top: unset !important;
  }
}
._mt40 {
  margin-top: 40px !important;
}
._mt40.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt40.-sp {
    margin-top: 40px !important;
  }
}
._mt40.-pc {
  margin-top: 40px !important;
}
@media screen and (max-width: 900px) {
  ._mt40.-pc {
    margin-top: unset !important;
  }
}
._mt45 {
  margin-top: 45px !important;
}
._mt45.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt45.-sp {
    margin-top: 45px !important;
  }
}
._mt45.-pc {
  margin-top: 45px !important;
}
@media screen and (max-width: 900px) {
  ._mt45.-pc {
    margin-top: unset !important;
  }
}
._mt50 {
  margin-top: 50px !important;
}
._mt50.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt50.-sp {
    margin-top: 50px !important;
  }
}
._mt50.-pc {
  margin-top: 50px !important;
}
@media screen and (max-width: 900px) {
  ._mt50.-pc {
    margin-top: unset !important;
  }
}
._mt60 {
  margin-top: 60px !important;
}
._mt60.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt60.-sp {
    margin-top: 60px !important;
  }
}
._mt60.-pc {
  margin-top: 60px !important;
}
@media screen and (max-width: 900px) {
  ._mt60.-pc {
    margin-top: unset !important;
  }
}
._mt70 {
  margin-top: 70px !important;
}
._mt70.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt70.-sp {
    margin-top: 70px !important;
  }
}
._mt70.-pc {
  margin-top: 70px !important;
}
@media screen and (max-width: 900px) {
  ._mt70.-pc {
    margin-top: unset !important;
  }
}
._mt80 {
  margin-top: 80px !important;
}
._mt80.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt80.-sp {
    margin-top: 80px !important;
  }
}
._mt80.-pc {
  margin-top: 80px !important;
}
@media screen and (max-width: 900px) {
  ._mt80.-pc {
    margin-top: unset !important;
  }
}
._mt90 {
  margin-top: 90px !important;
}
._mt90.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt90.-sp {
    margin-top: 90px !important;
  }
}
._mt90.-pc {
  margin-top: 90px !important;
}
@media screen and (max-width: 900px) {
  ._mt90.-pc {
    margin-top: unset !important;
  }
}
._mt100 {
  margin-top: 100px !important;
}
._mt100.-sp {
  margin-top: unset !important;
}
@media screen and (max-width: 900px) {
  ._mt100.-sp {
    margin-top: 100px !important;
  }
}
._mt100.-pc {
  margin-top: 100px !important;
}
@media screen and (max-width: 900px) {
  ._mt100.-pc {
    margin-top: unset !important;
  }
}
._mr00 {
  margin-right: 0 !important;
}
._mr05 {
  margin-right: 5px !important;
}
._mr10 {
  margin-right: 10px !important;
}
._mr15 {
  margin-right: 15px !important;
}
._mr20 {
  margin-right: 20px !important;
}
._mr25 {
  margin-right: 25px !important;
}
._mr30 {
  margin-right: 30px !important;
}
._mr35 {
  margin-right: 35px !important;
}
._mr40 {
  margin-right: 40px !important;
}
._mr45 {
  margin-right: 45px !important;
}
._mr50 {
  margin-right: 50px !important;
}
._mb00 {
  margin-bottom: 0 !important;
}
._mb05 {
  margin-bottom: 5px !important;
}
._mb10 {
  margin-bottom: 10px !important;
}
._mb15 {
  margin-bottom: 15px !important;
}
._mb20 {
  margin-bottom: 20px !important;
}
._mb25 {
  margin-bottom: 25px !important;
}
._mb30 {
  margin-bottom: 30px !important;
}
._mb35 {
  margin-bottom: 35px !important;
}
._mb40 {
  margin-bottom: 40px !important;
}
._mb45 {
  margin-bottom: 45px !important;
}
._mb50 {
  margin-bottom: 50px !important;
}
._ml00 {
  margin-left: 0 !important;
}
._ml05 {
  margin-left: 5px !important;
}
._ml10 {
  margin-left: 10px !important;
}
._ml15 {
  margin-left: 15px !important;
}
._ml20 {
  margin-left: 20px !important;
}
._ml25 {
  margin-left: 25px !important;
}
._ml30 {
  margin-left: 30px !important;
}
._ml35 {
  margin-left: 35px !important;
}
._ml40 {
  margin-left: 40px !important;
}
._ml45 {
  margin-left: 45px !important;
}
._ml50 {
  margin-left: 50px !important;
}
._p00 {
  padding: 0 !important;
}
._pt00 {
  padding-top: 0 !important;
}
._pt05 {
  padding-top: 5px !important;
}
._pt10 {
  padding-top: 10px !important;
}
._pt15 {
  padding-top: 15px !important;
}
._pt20 {
  padding-top: 20px !important;
}
._pt25 {
  padding-top: 25px !important;
}
._pt30 {
  padding-top: 30px !important;
}
._pt35 {
  padding-top: 35px !important;
}
._pt40 {
  padding-top: 40px !important;
}
._pt45 {
  padding-top: 45px !important;
}
._pt50 {
  padding-top: 50px !important;
}
._pr00 {
  padding-right: 0 !important;
}
._pr05 {
  padding-right: 5px !important;
}
._pr10 {
  padding-right: 10px !important;
}
._pr15 {
  padding-right: 15px !important;
}
._pr20 {
  padding-right: 20px !important;
}
._pr25 {
  padding-right: 25px !important;
}
._pr30 {
  padding-right: 30px !important;
}
._pr35 {
  padding-right: 35px !important;
}
._pr40 {
  padding-right: 40px !important;
}
._pr45 {
  padding-right: 45px !important;
}
._pr50 {
  padding-right: 50px !important;
}
._pb00 {
  padding-bottom: 0 !important;
}
._pb05 {
  padding-bottom: 5px !important;
}
._pb10 {
  padding-bottom: 10px !important;
}
._pb15 {
  padding-bottom: 15px !important;
}
._pb20 {
  padding-bottom: 20px !important;
}
._pb25 {
  padding-bottom: 25px !important;
}
._pb30 {
  padding-bottom: 30px !important;
}
._pb35 {
  padding-bottom: 35px !important;
}
._pb40 {
  padding-bottom: 40px !important;
}
._pb45 {
  padding-bottom: 45px !important;
}
._pb50 {
  padding-bottom: 50px !important;
}
._pl00 {
  padding-left: 0 !important;
}
._pl05 {
  padding-left: 5px !important;
}
._pl10 {
  padding-left: 10px !important;
}
._pl15 {
  padding-left: 15px !important;
}
._pl20 {
  padding-left: 20px !important;
}
._pl25 {
  padding-left: 25px !important;
}
._pl30 {
  padding-left: 30px !important;
}
._pl35 {
  padding-left: 35px !important;
}
._pl40 {
  padding-left: 40px !important;
}
._pl45 {
  padding-left: 45px !important;
}
._pl50 {
  padding-left: 50px !important;
}
._roman {
  font-family: var(--roman);
}
._mincyo {
  font-family: var(--mincyo);
}
._ss {
  font-size: 1rem;
  line-height: 1.6;
}
._s {
  font-size: 1.2rem;
  line-height: 1.6;
}
._m {
  font-size: calc(14px + 2 * (100vw - 320px) / 1120);
  line-height: calc(160% + 3.2 * (100vw - 1440px) / -1120);
}
._l {
  font-size: calc(16px + 2 * (100vw - 320px) / 1120);
  line-height: calc(150% + 3.2 * (100vw - 1440px) / -1120);
}
._ll {
  font-size: calc(16px + 4 * (100vw - 320px) / 1120);
  line-height: calc(140% + 3.2 * (100vw - 1440px) / -1120);
}
._bold {
  font-weight: bold !important;
}
._normal {
  font-weight: normal !important;
}
._tl {
  text-align: left !important;
}
._tr {
  text-align: right !important;
}
._tc {
  text-align: center !important;
}
._vt {
  vertical-align: top !important;
}
._vm {
  vertical-align: middle !important;
}
._vb {
  vertical-align: bottom !important;
}
._mc {
  color: var(--main-color);
}
._sc {
  color: var(--sub-color);
}
._sp-show {
  display: none;
}
@media screen and (max-width: 900px) {
  ._sp-show {
    display: block;
  }
}
@media screen and (max-width: 900px) {
  ._sp-show.-il {
    display: inline-block;
  }
}
@media screen and (max-width: 900px) {
  ._sp-show.-fl {
    display: flex;
  }
}
._tab-show {
  display: none;
}
@media screen and (min-width: 481px) and (max-width: 900px) {
  ._tab-show {
    display: block;
  }
}
@media screen and (min-width: 481px) and (max-width: 900px) {
  ._tab-show.-il {
    display: inline-block;
  }
}
@media screen and (min-width: 481px) and (max-width: 900px) {
  ._tab-show.-fl {
    display: flex;
  }
}
._pc-show {
  display: block;
}
@media screen and (max-width: 900px) {
  ._pc-show {
    display: none;
  }
}
._pc-show.-il {
  display: inline-block;
}
@media screen and (max-width: 900px) {
  ._pc-show.-il {
    display: none;
  }
}
._pc-show.-fl {
  display: flex;
}
@media screen and (max-width: 900px) {
  ._pc-show.-fl {
    display: none;
  }
}
.txt-underline-yellow {
  background: linear-gradient(transparent 80%, #FED91C 20%);
  font-weight: bold;
}
/*
===== 共通　Style ====================================
*/
html .material-icons {
  visibility: hidden;
  vertical-align: middle;
}
html.wf-active .material-icons {
  visibility: visible;
}
i.icon {
  display: inline-block;
  width: 17.5px;
  height: 20px;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
}
i.icon-line {
  background-image: url("../images/header_line.svg");
}
i.icon-mail {
  background-image: url("../images/header_mail.svg");
}
i.icon-tell {
  background-image: url("../images/icon-telephone.svg");
}
i.icon-hyphen-tate {
  background-image: url("../images/icon-hyphen-tate.svg");
  background-size: contain;
}
i.icon-phone {
  background-image: url("../images/icon-phone-white.svg");
  background-size: contain;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-feature-settings: "pkna";
}
h1,
.h1 {
  margin-bottom: 1.4em;
  font-size: min(26px, 2.03125vw);
  line-height: min(32px, 2.5vw);
}
@media screen and (max-width: 900px) {
  h1,
  .h1 {
    font-size: min(26px, 6.93333333vw);
    line-height: min(32px, 8.53333333vw);
  }
}
h2,
.h2 {
  margin-bottom: 1.4em;
  font-size: min(40px, 3.125vw);
  line-height: min(52px, 4.0625vw);
}
@media screen and (max-width: 900px) {
  h2,
  .h2 {
    font-size: min(40px, 10.66666667vw);
    line-height: min(52px, 13.86666667vw);
  }
}
h3,
.h3 {
  margin-bottom: 1.4em;
  font-size: min(39px, 3.046875vw);
  line-height: min(52px, 4.0625vw);
}
@media screen and (max-width: 900px) {
  h3,
  .h3 {
    font-size: min(25px, 6.66666667vw);
    line-height: min(35px, 9.33333333vw);
  }
}
h4,
.h4 {
  margin: 1.5em auto;
  font-size: calc(16px + 2 * (100vw - 320px) / 1120);
  line-height: calc(150% + 3.2 * (100vw - 1440px) / -1120);
}
h5,
.h5 {
  margin: 1.5em auto;
  font-size: calc(14px + 2 * (100vw - 320px) / 1120);
  line-height: calc(160% + 3.2 * (100vw - 1440px) / -1120);
}
p {
  margin: 0 auto 1.5em;
}
figure {
  margin: 0 auto 1em;
}
figcaption {
  margin-top: 0.5em;
}
table {
  margin: 1.5em auto;
  font-size: calc(15px + 2 * (100vw - 320px) / 1120);
  line-height: calc(150% + 3.2 * (100vw - 1440px) / -1120);
}
table th,
table td {
  padding: 0.5em;
}
table.-stripe tr {
  background: #fff;
}
table.-stripe tr:nth-child(odd) {
  background: #F3F3F3;
}
table.-stripe th {
  width: 25%;
}
ul {
  margin: 0 auto 1.5em;
  list-style: none;
}
ol {
  margin: 0 0 1.5em 1.5em;
}
.half-line {
  background: linear-gradient(180deg, transparent 70%, #ccecf9 70%);
  display: inline;
  font-weight: bold;
}
.gmap-res {
  line-height: 1;
}
.gmap-res > iframe {
  width: 100%;
}
.yt-res {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.yt-res > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.linkwrap {
  cursor: pointer;
  opacity: 1;
}
.linkwrap:hover .item-title {
  opacity: 0.9;
}
.contents-ttl {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
/*
===== HEADER ==========================================
*/
#site-header {
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  transition: 0.3s;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1001;
}
@media screen and (max-width: 900px) {
  #site-header {
    position: fixed;
    top: 0;
    left: 0;
  }
}
#site-header.js-hide {
  /*top: -100px;*/
  top: -90px;
}
@media screen and (max-width: 900px) {
  #site-header.js-hide {
    top: calc(-1 * var(--sp-header-height));
  }
}
#site-header-column {
  padding-top: calc(5px + 5 * (100vw - 320px) / 1120);
  padding-bottom: calc(5px + 5 * (100vw - 320px) / 1120);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 900px) {
  #site-header-column {
    height: min(60px, 16vw);
  }
}
@media screen and (max-width: 900px) {
  #site-header-column.inner {
    min-width: unset;
    padding: 0;
    padding-left: 2.66666667vw;
  }
}
#site-header-logo {
  margin: 0;
}
@media screen and (max-width: 900px) {
  #site-header-logo {
    width: 24vw;
  }
}
#site-header-logo img {
  object-fit: contain;
}
#site-header-info {
  margin-left: auto;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 900px) {
  #site-header-info {
    width: 73.33333333vw;
    justify-content: right;
  }
}
@media screen and (max-width: 900px) {
  #site-header-info .btn-main {
    margin: 3px 0 0;
  }
}
@media screen and (max-width: 900px) {
  #site-header-info .btn-main .btn {
    display: block;
    width: 100%;
    height: min(60px, 16vw);
    border-radius: 0;
    font-size: min(12px, 3.2vw);
    line-height: min(14px, 3.73333333vw);
  }
}
@media screen and (max-width: 900px) {
  #site-header-info .btn-main .btn i.icon {
    display: block;
    width: min(22px, 5.86666667vw);
    height: min(18px, 4.8vw);
    margin: 0 auto min(5px, 1.33333333vw);
  }
}
@media screen and (max-width: 900px) {
  #site-header-info .btn-main .btn:has(i.icon) {
    margin: 0;
    padding: min(10px, 2.66666667vw) 0;
  }
}
@media screen and (max-width: 900px) {
  #site-header-info .btn-main .btn:before {
    content: "";
  }
}
#site-header-info .tel-area {
  margin-left: calc(1px + 19 * (100vw - 320px) / 1120);
  margin-right: calc(1px + 19 * (100vw - 320px) / 1120);
}
@media screen and (max-width: 900px) {
  #site-header-info .tel-area {
    width: min(146px, 38.93333333vw);
    margin-left: min(10px, 2.66666667vw);
    margin-right: min(10px, 2.66666667vw);
  }
}
#site-header-info .tel-area .tel {
  margin: 0;
  color: var(--main-color);
  font-size: calc(18px + 16 * (100vw - 320px) / 1120);
  line-height: calc(130% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: bold;
}
@media screen and (max-width: 900px) {
  #site-header-info .tel-area .tel {
    font-size: min(17px, 4.53333333vw);
    letter-spacing: 0;
    line-height: min(21px, 5.6vw);
  }
}
#site-header-info .tel-area .icon {
  margin: -5px 5px 0 0;
  width: calc(15px + 10 * (100vw - 320px) / 1120);
  vertical-align: middle;
}
@media screen and (max-width: 900px) {
  #site-header-info .tel-area .icon {
    object-fit: contain;
    width: min(12px, 3.2vw);
    height: min(14px, 3.73333333vw);
    margin: min(-3px, -0.8vw) 0 0 min(5px, 1.33333333vw);
  }
}
#site-header-info .tel-area .time {
  margin: 0;
  font-size: calc(11px + 5 * (100vw - 320px) / 1120);
  line-height: 12px;
  text-align: center;
}
@media screen and (max-width: 900px) {
  #site-header-info .tel-area .time {
    font-size: min(9px, 2.4vw);
    line-height: min(14px, 3.73333333vw);
  }
}
#site-header-info .form-area {
  margin-right: 9px;
}
@media screen and (max-width: 900px) {
  #site-header-info .form-area {
    width: min(60px, 16vw);
    height: min(60px, 16vw);
    margin: 0;
  }
}
@media screen and (max-width: 900px) {
  #site-header-info .form-area .btn-main {
    margin: 0;
    padding: 0;
  }
}
#site-header-info .form-area .btn-main .btn {
  background-color: var(--sub-color);
}
@media screen and (max-width: 900px) {
  #site-header-info .line-area {
    width: min(60px, 16vw);
    height: min(60px, 16vw);
    margin: 0;
  }
}
@media screen and (max-width: 900px) {
  #site-header-info .line-area .btn-main {
    margin: 0;
    padding: 0;
  }
}
#site-header-info .line-area .btn-main .btn {
  background-color: #24C755;
}
/*202112_GC休業日挿入*/
#site-header-news {
  /*padding-top: calc(5px + 5 * (100vw - 320px) / 1120);
  padding-bottom: calc(5px + 5 * (100vw - 320px) / 1120);*/
  display: flex;
  /*align-items: center;*/
  justify-content: space-between;
  background-color: #fffacd;
  padding: 10px;
}
#site-header-news > .info {
  color: #ff0000 !important;
  margin: 0 auto;
}
#side-sticky {
  width: 48px;
  margin: 0;
  display: none;
  position: fixed;
  top: calc((100vh - 550px) / 2);
  right: 0;
  z-index: 500;
}
@media screen and (max-width: 900px) {
  #side-sticky {
    display: none !important;
  }
}
#side-sticky .btn-main {
  margin: 10px 0 0;
}
@media screen and (max-width: 900px) {
  #side-sticky .btn-main {
    margin: 3px 0 0;
  }
}
#side-sticky .btn-main .btn {
  border-top-left-radius: 10px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 10px;
  font-size: 16px;
  line-height: 17px;
  letter-spacing: 0.5px;
  width: 1em;
  min-width: 0;
}
@media screen and (max-width: 900px) {
  #side-sticky .btn-main .btn {
    display: block;
    width: 100%;
    height: 60px;
    font-size: 3.2vw;
    border-radius: 0;
  }
}
@media (min-width: 1440px) {
  #side-sticky .btn-main .btn {
    padding-left: 18px;
  }
}
@media screen and (max-width: 900px) {
  #side-sticky .btn-main .btn i.icon {
    display: block;
    width: 5.86666667vw;
    height: 4.8vw;
    margin: 0 auto 5px;
  }
}
@media screen and (max-width: 900px) {
  #side-sticky .btn-main .btn:has(i.icon) {
    margin: 0;
    padding: 10px 0;
  }
}
#side-sticky .btn-main .btn:before {
  content: "";
}
#side-sticky .tel-area {
  font-size: 16px;
  line-height: 17px;
  letter-spacing: 0.5px;
  width: 100%;
  min-width: 0;
  margin: 0;
  background-color: #DAF0F8;
  border-top-left-radius: 10px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 10px;
}
@media screen and (max-width: 900px) {
  #side-sticky .tel-area {
    width: 38.93333333vw;
    margin-left: 2.66666667vw;
    margin-right: 2.66666667vw;
  }
}
#side-sticky .tel-area .icon {
  margin: 10px auto 0;
  width: 25px;
  vertical-align: middle;
  padding: 0 4px;
  object-fit: contain;
}
#side-sticky .form-area {
  margin-right: 9px;
}
@media screen and (max-width: 900px) {
  #side-sticky .form-area {
    width: 16vw;
    height: 60px;
    margin: 0;
  }
}
@media screen and (max-width: 900px) {
  #side-sticky .form-area .btn-main {
    margin: 0;
    padding: 0;
  }
}
#side-sticky .form-area .btn-main .btn {
  background-color: var(--sub-color);
}
#side-sticky .line-area span._pc-show {
  transform: rotate(90deg);
  display: inline-block;
  height: 4em;
  width: 1em;
  position: relative;
  left: -27px;
  margin: -20px 0;
  top: -20px;
  font-size: 18px;
}
@media screen and (max-width: 900px) {
  #side-sticky .line-area {
    width: 16vw;
    height: 60px;
    margin: 0;
  }
}
@media screen and (max-width: 900px) {
  #side-sticky .line-area .btn-main {
    margin: 0;
    padding: 0;
  }
}
#side-sticky .line-area .btn-main .btn {
  background-color: #24C755;
}
/*
===== SP static footer ==========================================
*/
#site-footer-sp {
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  transition: 0.3s;
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 1001;
  display: none;
}
@media screen and (min-width: 901px) {
  #site-footer-sp {
    display: none !important;
  }
}
@media screen and (max-width: 900px) {
  #site-footer-sp {
    position: fixed;
    bottom: 0;
    left: 0;
  }
}
#site-footer-sp.js-hide {
  /*top: -100px;*/
  top: -90px;
}
@media screen and (max-width: 900px) {
  #site-footer-sp.js-hide {
    top: calc(-1 * var(--sp-header-height));
  }
}
#site-footer-sp #site-footer-info {
  display: none;
}
@media screen and (max-width: 900px) {
  #site-footer-sp #site-footer-info {
    margin-left: auto;
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: center;
  }
}
@media screen and (max-width: 900px) {
  #site-footer-sp #site-footer-info .btn-main {
    margin: 0;
  }
}
@media screen and (max-width: 900px) {
  #site-footer-sp #site-footer-info .btn-main .btn {
    display: block;
    width: 100%;
    height: min(60px, 16vw);
    border-radius: 0;
    font-size: min(12px, 3.2vw);
    line-height: min(14px, 3.73333333vw);
    font-weight: bold;
    background-color: unset;
    padding: 11px 0;
    margin: 0 auto;
  }
}
@media screen and (max-width: 900px) {
  #site-footer-sp #site-footer-info .btn-main .btn i.icon {
    display: block;
    width: min(22px, 5.86666667vw);
    height: min(18px, 4.8vw);
    margin: 0 auto min(5px, 1.33333333vw);
  }
}
@media screen and (max-width: 900px) {
  #site-footer-sp #site-footer-info .btn-main .btn:has(i.icon) {
    margin: 0;
    padding: min(12px, 3.2vw) 0 0;
  }
}
@media screen and (max-width: 900px) {
  #site-footer-sp #site-footer-info .btn-main .btn:before {
    content: "";
  }
}
@media screen and (max-width: 900px) {
  #site-footer-sp #site-footer-info .form-area {
    width: min(255px, 68vw);
    height: min(60px, 16vw);
    margin: 0;
  }
}
@media screen and (max-width: 900px) {
  #site-footer-sp #site-footer-info .form-area .btn-main {
    margin: 0;
    padding: 0;
  }
}
#site-footer-sp #site-footer-info .form-area .btn-main .btn {
  background-color: var(--sub-color);
  display: flex;
}
#site-footer-sp #site-footer-info .form-area .btn-main .btn i.icon {
  display: block;
  position: relative;
  width: min(40px, 10.66666667vw);
  height: min(22px, 5.86666667vw);
  margin-top: min(9px, 2.4vw);
}
#site-footer-sp #site-footer-info .form-area .btn-main .btn span {
  display: block;
  text-align: left;
  width: min(200px, 53.33333333vw);
  font-size: min(14px, 3.73333333vw);
  line-height: min(19px, 5.06666667vw);
  letter-spacing: 0;
  margin-top: 0px;
}
@media screen and (max-width: 900px) {
  #site-footer-sp #site-footer-info .form-area .btn-main .btn:has(i.icon) {
    margin: 0;
    padding: min(12px, 3.2vw) 0 0;
  }
}
@media screen and (max-width: 900px) {
  #site-footer-sp #site-footer-info .line-area {
    width: min(60px, 16vw);
    height: min(60px, 16vw);
    margin: 0;
  }
}
@media screen and (max-width: 900px) {
  #site-footer-sp #site-footer-info .line-area .btn-main {
    margin: 0;
    padding: 0;
  }
}
#site-footer-sp #site-footer-info .line-area .btn-main .btn {
  background-color: #24C755;
}
@media screen and (max-width: 900px) {
  #site-footer-sp #site-footer-info .tel-area {
    width: min(60px, 16vw);
    height: min(60px, 16vw);
    margin: 0;
  }
}
@media screen and (max-width: 900px) {
  #site-footer-sp #site-footer-info .tel-area .btn-main {
    margin: 0;
    padding: 0;
  }
}
#site-footer-sp #site-footer-info .tel-area .btn-main .btn {
  background-color: var(--main-color);
}
/*----- メイン ボタン -----*/
.btn-main {
  text-align: center;
}
.btn-main .btn {
  padding-top: calc(6px + 4 * (100vw - 320px) / 1120);
  padding-bottom: calc(6px + 4 * (100vw - 320px) / 1120);
  padding-left: calc(30px + 10 * (100vw - 320px) / 1120);
  padding-right: calc(40px + 10 * (100vw - 320px) / 1120);
  font-size: min(18px, calc(16px + 7 * (100vw - 320px) / 1120));
  line-height: calc(140% + 3.2 * (100vw - 1440px) / -1120);
  background: var(--sub-color);
  border-radius: 6px;
  color: #fff;
  display: inline-block;
  font-weight: bold;
  text-shadow: none;
  text-decoration: none;
  text-align: center;
  position: relative;
  min-width: 510px;
}
.btn-main .btn:has(i.icon) {
  padding-left: calc(9px + 10 * (100vw - 320px) / 1120);
}
@media screen and (max-width: 900px) {
  .btn-main .btn:has(i.icon) {
    padding-left: 0;
  }
}
.btn-main .btn:hover,
.btn-main .btn:active {
  text-decoration: none;
}
.btn-main .btn::before {
  content: var(--icon-arrow-right);
  font-family: var(--icon);
  font-size: calc(24px + 10 * (100vw - 320px) / 1120);
  line-height: calc(100% + 3.2 * (100vw - 1440px) / -1120);
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
.btn-main.-header {
  margin: 0;
}
.btn-main.-header .btn {
  min-width: 0;
}
.btn-main.-round > .btn {
  border-radius: 30px;
}
.btn-main.-border > .btn {
  border: 2px solid #fff;
}
.btn-main.-shadow > .btn {
  box-shadow: 0 3px 6px rgba(14, 164, 227, 0.5);
}
#main-visual {
  color: #fff;
  overflow: hidden;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 900px) {
  #main-visual {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 900px) {
  #main-visual-pre {
    height: 200vw;
    overflow: hidden;
  }
}
#main-visual-left {
  width: 100%;
  height: 659px;
  background-image: url("../images/mainvisual/mv-back-dot2.png");
  position: absolute;
  left: -50%;
  padding-top: calc( 289px - 17.03125vw);
  padding-right: 3%;
  padding-left: 47%;
  -webkit-transform: skew(5deg, 0deg);
  border-right: 20px solid #1EA3E3;
  z-index: 10;
}
@media screen and (max-width: 900px) {
  #main-visual-left {
    position: relative;
    top: -20px;
    left: 0;
    width: 100vw;
    height: 147.6vw;
    margin: 0;
    padding: 0;
    -webkit-transform: skew(0deg, 5deg);
    border-right: none;
  }
}
#main-visual-left .img {
  margin: 0;
  margin-left: calc(1px + 119 * (100vw - 320px) / 1120);
  position: relative;
}
@media screen and (max-width: 900px) {
  #main-visual-left .img {
    margin: 0;
  }
}
#main-visual-left img {
  -webkit-transform: skew(-5deg, 0deg);
}
@media screen and (max-width: 900px) {
  #main-visual-left img {
    margin-left: 0;
    margin-top: min(60px, 16vw);
    -webkit-transform: skew(0deg, -5deg);
    width: 90%;
    object-fit: contain;
  }
}
@media screen and (min-width: 1280px) {
  #main-visual-left {
    padding-top: 65px;
  }
}
#main-visual-right {
  width: 55%;
  height: 629px;
  margin-left: 45%;
  z-index: 20;
  background-image: url("../images/ab/mainvisual/mv-back.png");
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #84d1fe;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 900px) {
  #main-visual-right {
    position: relative;
    width: 100vw;
    height: 77.33333333vw;
    align-items: center;
    margin: -8.5vw 0px 0px 0px;
    padding: 0;
    -webkit-transform: skew(0deg, 5deg);
    border-top: 20px solid #1EA3E3;
  }
}
#main-visual-right .mv_img img {
  height: 460px;
  width: auto;
  /* アスペクト比を保持 */
}
@media screen and (max-width: 900px) {
  #main-visual-right .mv_img img {
    -webkit-transform: skew(0deg, -5deg);
    height: 48vw;
  }
}
#main-visual .lead {
  margin: -20px 0 5px;
  text-align: center;
}
#main-visual .ttl {
  margin: 0 0 20px;
}
#main-visual .campaign-txt {
  margin: 0 0 10px;
  color: #FCEE21;
}
#main-visual .campaign-txt::before,
#main-visual .campaign-txt::after {
  background: #FCEE21;
}
#main-content-features {
  width: 100%;
  margin-top: 60px;
}
#main-content-features .contents-ttl {
  font-size: 45px;
  font-weight: bold;
  line-height: 54px;
  letter-spacing: 3.6px;
  color: #4C5564;
  padding-top: calc(10px + 15 * (100vw - 320px) / 1120);
  padding-bottom: calc(10px + 15 * (100vw - 320px) / 1120);
  margin-bottom: 30px;
  background-image: url(../images/features/ttl-feature.svg);
}
@media screen and (max-width: 900px) {
  #main-content-features .contents-ttl {
    font-size: 8vw;
    line-height: 9.6vw;
    letter-spacing: 0.32vw;
  }
}
#main-content-features .feature-panels {
  width: min(680px, 60vw);
  margin: 0 auto;
}
@media screen and (max-width: 900px) {
  #main-content-features .feature-panels {
    width: 100%;
    flex-direction: column;
  }
}
#main-content-features .feature-panels .panel {
  width: min(320px, 25vw);
  height: min(420px, 32.8125vw);
  background: #FFFFFF 0% 0% no-repeat padding-box;
  box-shadow: 10px 10px 6px #009EE229;
  border: 4px solid #1C9EE2;
  border-radius: 10px;
  vertical-align: top;
  margin-bottom: 20px;
  display: inline-block;
}
@media screen and (max-width: 900px) {
  #main-content-features .feature-panels .panel {
    width: min(320px, 85.33333333vw);
    height: min(420px, 112vw);
    margin: min(24px, 6.4vw) auto 0;
  }
}
#main-content-features .feature-panels .panel:nth-child(2n) {
  margin-left: min(19px, 1.484375vw);
}
@media screen and (max-width: 900px) {
  #main-content-features .feature-panels .panel:nth-child(2n) {
    margin: min(24px, 6.4vw) auto 0;
  }
}
#main-content-features .feature-panels .panel:before {
  content: "";
  display: block;
  position: relative;
  top: -7px;
  left: 30px;
  width: 35px;
  height: 1rem;
  background-color: white;
}
#main-content-features .feature-panels .panel h3 {
  text-align: center;
  margin: min(20px, 1.5625vw) auto 0;
  font-size: min(26px, 2.109375vw);
  line-height: min(35px, 2.734375vw);
  letter-spacing: 0px;
  height: min(75px, 5.859375vw);
  color: #009EE2;
}
@media screen and (max-width: 900px) {
  #main-content-features .feature-panels .panel h3 {
    margin: min(20px, 5.33333333vw) auto 0;
    font-size: min(24px, 7.2vw);
    line-height: min(35px, 9.33333333vw);
    height: min(75px, 20vw);
  }
}
#main-content-features .feature-panels .panel h3.onerow {
  padding-top: min(23px, 1.796875vw);
}
#main-content-features .feature-panels .panel h4 {
  margin: 0;
  font-size: min(16px, 1.25vw);
  line-height: min(24px, 1.875vw);
  font-weight: normal;
}
@media screen and (max-width: 900px) {
  #main-content-features .feature-panels .panel h4 {
    font-size: min(16px, 4.26666667vw);
    line-height: min(24px, 6.4vw);
  }
}
#main-content-features .feature-panels .panel img {
  margin-top: min(10px, 0.78125vw);
  margin-bottom: min(23px, 1.796875vw);
  width: min(118px, 9.21875vw);
  height: min(118px, 9.21875vw);
}
@media screen and (max-width: 900px) {
  #main-content-features .feature-panels .panel img {
    margin-top: min(10px, 2.66666667vw);
    margin-bottom: min(23px, 6.13333333vw);
    width: min(118px, 31.46666667vw);
    height: min(118px, 31.46666667vw);
  }
}
#main-content-features .feature-panels .panel p {
  text-align: center;
  font-size: min(16px, 1.25vw);
  line-height: min(28px, 2.1875vw);
  letter-spacing: 0px;
  color: #333333;
  margin-block-start: 0;
  margin-block-end: 0;
}
@media screen and (max-width: 900px) {
  #main-content-features .feature-panels .panel p {
    font-size: min(16px, 4.26666667vw);
    line-height: min(28px, 7.46666667vw);
  }
}
#main-content-features .feature-panels .panel p.small {
  font-size: min(12px, 0.9375vw);
  line-height: min(28px, 2.1875vw);
  letter-spacing: 0px;
  color: #333333;
  margin-top: min(10px, 0.78125vw);
}
@media screen and (max-width: 900px) {
  #main-content-features .feature-panels .panel p.small {
    font-size: min(12px, 3.2vw);
    line-height: min(28px, 7.46666667vw);
    margin-top: min(10px, 2.66666667vw);
  }
}
#main-content-campaign {
  width: 100%;
  margin-top: 80px;
  padding-top: 20px;
  background-color: #FFFAE3;
}
#main-content-campaign .contents-ttl {
  font-size: 38px;
  font-weight: bold;
  line-height: 49px;
  letter-spacing: 3.6px;
  color: #FF6600;
  padding-top: calc(10px + 15 * (100vw - 320px) / 1120);
  padding-bottom: calc(10px + 15 * (100vw - 320px) / 1120);
  margin-bottom: 0;
  background-image: url(../images/campaign/ttl-campaign.svg);
}
@media screen and (max-width: 900px) {
  #main-content-campaign .contents-ttl {
    font-size: min(20px, 5.33333333vw);
    line-height: min(25px, 6.66666667vw);
    letter-spacing: min(0.8px, 0.21333333vw);
  }
}
#main-content-campaign .contents-ttl span {
  font-size: 20px;
  font-weight: 500;
  color: #333333;
  display: block;
  letter-spacing: 0;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .contents-ttl span {
    font-size: min(14px, 3.73333333vw);
  }
}
#main-content-campaign .contents-ttl .icon-slash-right,
#main-content-campaign .contents-ttl .icon-slash-left {
  width: 24px;
  height: 55px;
  content: "";
  display: inline-block;
  position: relative;
  top: 15px;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .contents-ttl .icon-slash-right,
  #main-content-campaign .contents-ttl .icon-slash-left {
    display: none;
  }
}
#main-content-campaign .contents-ttl .icon-slash-right {
  background: url(../images/campaign/pc-slash-right.svg) no-repeat center center;
}
#main-content-campaign .contents-ttl .icon-slash-left {
  background: url(../images/campaign/pc-slash-left.svg) no-repeat center center;
}
#main-content-campaign .commentPop {
  background-color: #FC6600;
  width: 314px;
  padding: 10px 10px 0;
  font-size: 22px;
  line-height: 22px;
  font-weight: bold;
  color: white;
  border-radius: 30px;
  text-align: center;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .commentPop {
    width: min(215px, 57.33333333vw);
    height: min(40px, 10.66666667vw);
    font-size: min(14px, 3.73333333vw);
    line-height: min(14px, 3.73333333vw);
    margin-top: min(5px, 1.33333333vw);
    margin-bottom: 0;
    padding: min(12px, 3.2vw) min(10px, 2.66666667vw) 0;
  }
}
#main-content-campaign .commentPop:after {
  content: "";
  display: block;
  position: relative;
  background-image: url(../images/campaign/triangle.svg);
  bottom: -15px;
  width: 15px;
  height: 15px;
  background-repeat: no-repeat;
  background-size: contain;
  left: 132px;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .commentPop:after {
    left: calc(50% - 7px);
    bottom: min(-10px, -2.66666667vw);
  }
}
#main-content-campaign .contact-area {
  margin: 40px 0 0;
  padding: 0 10px;
  position: relative;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .contact-area {
    margin-top: min(20px, 5.33333333vw);
  }
}
#main-content-campaign .contact-area::before {
  content: '';
  background: #FFD91C;
  position: absolute;
  top: 40px;
  left: 0;
  width: 100%;
  height: calc(100% - 40px);
}
#main-content-campaign .block {
  margin: auto;
  background: #fff;
  border: 5px solid #FFD91C;
  border-bottom: none;
  border-radius: 40px 40px 0 0;
  max-width: 750px;
  position: relative;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .block {
    width: min(338px, 90.13333333vw);
    margin: 0 auto;
    border-radius: 5.33333333vw 5.33333333vw 0 0;
  }
}
#main-content-campaign .block::after,
#main-content-campaign .block::before {
  content: '';
  border: 100px solid transparent;
  border-top-color: #FFFAE3;
  position: absolute;
  top: 35px;
}
#main-content-campaign .block::before {
  border-right-color: #FFFAE3;
  left: -205px;
}
#main-content-campaign .block::after {
  border-left-color: #FFFAE3;
  right: -205px;
}
#main-content-campaign .block-inside {
  padding: calc(15px + 35 * (100vw - 320px) / 1120);
  padding-bottom: calc(35px + 35 * (100vw - 320px) / 1120);
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .block-inside {
    padding: min(20px, 5.33333333vw) min(8px, 2.13333333vw) min(40px, 10.66666667vw);
  }
}
#main-content-campaign .block-inside::after,
#main-content-campaign .block-inside::before {
  content: '';
  border: 100px solid transparent;
  border-bottom-color: none;
  opacity: 0;
  position: absolute;
  top: 240px;
}
#main-content-campaign .block-inside::before {
  border-left-color: none;
  opacity: 0;
  left: 0;
}
#main-content-campaign .block-inside::after {
  border-right-color: none;
  opacity: 0;
  right: 0;
}
#main-content-campaign .catch {
  width: 476px;
  margin: 0 auto;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .catch {
    width: 100%;
  }
}
#main-content-campaign .catch-text {
  font-size: 21px;
  line-height: 49px;
  border-bottom: solid 1px black;
  letter-spacing: 2.5px;
  margin-bottom: 10px;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .catch-text {
    font-size: min(14px, 3.73333333vw);
    line-height: min(26px, 6.93333333vw);
    letter-spacing: 0;
    text-align: center;
  }
}
#main-content-campaign .catch .text-blue {
  color: #1C9EE2;
  font-weight: bold;
}
#main-content-campaign .catch h3 {
  font-size: 35px;
  margin-bottom: 15px;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .catch h3 {
    font-size: min(26px, 6.93333333vw);
    line-height: min(34px, 9.06666667vw);
    letter-spacing: min(1.56px, 0.416vw);
  }
}
#main-content-campaign .catch h3 span {
  display: block;
  font-size: 26px;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .catch h3 span {
    font-size: min(15px, 4vw);
    line-height: min(32px, 8.53333333vw);
    letter-spacing: min(0.9px, 0.24vw);
  }
}
#main-content-campaign .catch .desc {
  margin-top: 10px;
  text-align: center;
  font-size: 15px;
  line-height: 27px;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .catch .desc {
    font-size: min(14px, 3.73333333vw);
    line-height: min(24px, 6.4vw);
    letter-spacing: 0;
  }
}
#main-content-campaign .tel-area .btn {
  background-color: #DAF0F8;
  width: 616px;
  color: #009EE2;
  font-size: 39px;
  line-height: 39px;
  font-weight: bold;
  display: inline-block;
  margin-top: 10px;
  padding: 10px 5px 2px;
  border-radius: 40px;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .tel-area .btn {
    height: min(64px, 17.06666667vw);
    width: min(304px, 81.06666667vw);
    margin: min(10px, 2.66666667vw) auto 0;
    padding: min(10px, 2.66666667vw) min(5px, 1.33333333vw) min(2px, 0.53333333vw);
    font-size: min(23px, 6.13333333vw);
    line-height: min(26px, 6.93333333vw);
    letter-spacing: min(0.46px, 0.12266667vw);
    background: #DAF0F8 0% 0% no-repeat padding-box;
    box-shadow: 0px 5px 5px #00466440;
  }
}
#main-content-campaign .tel-area .btn:before {
  display: none;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .tel-area .btn:before {
    content: "";
    width: min(20px, 5.33333333vw);
    height: min(20px, 5.33333333vw);
    display: block;
    position: relative;
    margin-top: min(-20px, -5.33333333vw);
    margin-right: min(-20px, -5.33333333vw);
    background-repeat: no-repeat;
    background-position: center;
    top: min(45px, 12vw);
    left: min(272px, 72.53333333vw);
    background-image: url("../images/campaign/triangle-right-blue.svg");
  }
}
#main-content-campaign .tel-area .btn a {
  text-decoration: none;
  color: unset;
}
#main-content-campaign .tel-area .btn a:hover {
  text-decoration: none;
  color: unset;
}
#main-content-campaign .tel-area .btn .small {
  font-size: 15px;
  font-weight: 500;
  color: #333333;
  display: inline-block;
  position: relative;
  top: -7px;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .tel-area .btn .small {
    font-size: min(12px, 3.2vw);
    line-height: min(12px, 3.2vw);
    letter-spacing: min(0.24px, 0.064vw);
  }
}
#main-content-campaign .tel-area .btn .icon-tell {
  width: 22px;
  height: 26px;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .tel-area .btn .icon-tell {
    width: min(13px, 3.46666667vw);
    height: min(16px, 4.26666667vw);
  }
}
#main-content-campaign .btn-area {
  width: 616px;
  margin: 20px auto 0;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .btn-area {
    width: 100%;
  }
}
#main-content-campaign .btn-area .btn-main {
  width: 290px;
  border-radius: 32px;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .btn-area .btn-main {
    width: 100%;
  }
}
#main-content-campaign .btn-area .btn-main > .btn {
  width: 290px;
  min-width: unset;
  border-radius: 30px;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .btn-area .btn-main > .btn {
    width: 100%;
    height: 48px;
    padding: 10px 10px;
  }
}
#main-content-campaign .btn-area .btn-main > .btn:before {
  content: "";
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("../images/campaign/triangle-right.svg");
}
#main-content-campaign .btn-area .line-area {
  display: inline-block;
  margin-left: 25px;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .btn-area .line-area {
    width: 100%;
    margin-left: 0;
    margin-top: min(20px, 5.33333333vw);
  }
}
#main-content-campaign .btn-area .line-area .btn {
  background: #24C755 0% 0% no-repeat padding-box;
  box-shadow: 0px 10px 15px #86E36380;
}
#main-content-campaign .btn-area .form-area {
  display: inline-block;
}
@media screen and (max-width: 900px) {
  #main-content-campaign .btn-area .form-area {
    width: 100%;
  }
}
#main-content-campaign .btn-area .form-area .btn {
  background: #FC6600 0% 0% no-repeat padding-box;
  box-shadow: 0px 10px 15px #F7931E80;
}
#main-content-recommend {
  background-color: #CCECF9;
  padding-top: min(61px, 4.765625vw);
  padding-bottom: min(60px, 4.6875vw);
}
@media screen and (max-width: 900px) {
  #main-content-recommend {
    padding-top: min(61px, 16.26666667vw);
    padding-bottom: min(60px, 16vw);
  }
}
#main-content-recommend .contents-ttl .s {
  padding: 0 0.5em;
  font-size: calc(20px + 14 * (100vw - 320px) / 1120);
  line-height: calc(130% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: normal;
}
#main-content-recommend .panels {
  margin: 0 auto;
  width: min(1100px, 85.9375vw);
  display: flex;
  flex-wrap: wrap;
  font-size: min(18px, 1.40625vw);
  line-height: min(28px, 2.1875vw);
  font-weight: bold;
  justify-content: center;
}
@media screen and (max-width: 900px) {
  #main-content-recommend .panels {
    width: min(343px, 91.46666667vw);
    font-size: min(18px, 4.8vw);
    line-height: min(28px, 7.46666667vw);
    justify-content: left;
  }
}
#main-content-recommend .panels .panel {
  width: min(252px, 19.6875vw);
  margin: 0;
  background-color: #1C9EE2;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(14, 164, 227, 0.5);
  position: relative;
  margin-right: min(10px, 0.78125vw);
}
@media screen and (max-width: 900px) {
  #main-content-recommend .panels .panel {
    width: min(164px, 43.73333333vw);
    margin: 0;
    min-width: unset;
  }
}
#main-content-recommend .panels .panel .num {
  content: "";
  width: min(64px, 5vw);
  height: min(64px, 5vw);
  position: absolute;
  top: min(-32px, -2.5vw);
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 900px) {
  #main-content-recommend .panels .panel .num {
    top: min(-20px, -5.33333333vw);
    width: min(41px, 10.93333333vw);
    height: min(41px, 10.93333333vw);
  }
}
#main-content-recommend .panels .panel .img {
  background-color: white;
  margin: 0;
  padding: min(45px, 3.515625vw) min(10px, 0.78125vw) min(20px, 1.5625vw);
  border-radius: 10px 10px 0 0;
  text-align: center;
  min-height: min(220px, 17.1875vw);
}
@media screen and (max-width: 900px) {
  #main-content-recommend .panels .panel .img {
    min-height: unset;
    height: min(170px, 45.33333333vw);
    padding: min(35px, 9.33333333vw) min(16px, 4.26666667vw) min(16px, 4.26666667vw);
  }
}
#main-content-recommend .panels .panel .img img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  max-width: min(210px, 16.40625vw);
  max-height: min(140px, 10.9375vw);
}
@media screen and (max-width: 900px) {
  #main-content-recommend .panels .panel .img img {
    max-width: min(164px, 43.73333333vw);
    max-height: min(170px, 45.33333333vw);
  }
}
#main-content-recommend .panels .panel .txt {
  background-color: #1C9EE2;
  color: white;
  margin: 0;
  padding: calc(15px + 5 * (100vw - 320px) / 1120);
  text-align: center;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
}
@media screen and (max-width: 900px) {
  #main-content-recommend .panels .panel .txt {
    font-size: min(15px, 4vw);
    line-height: min(20px, 5.33333333vw);
    letter-spacing: min(0.6px, 0.16vw);
    padding: min(19px, 5.06666667vw) min(16px, 4.26666667vw);
  }
}
#main-content-recommend .panels .panel .txt.twoRow {
  padding-top: calc(30px + 5 * (100vw - 320px) / 1120);
  padding-bottom: calc(30px + 5 * (100vw - 320px) / 1120);
}
@media screen and (max-width: 900px) {
  #main-content-recommend .panels .panel .txt.twoRow {
    padding-top: min(29px, 7.73333333vw);
    padding-bottom: min(29px, 7.73333333vw);
  }
}
#main-content-recommend .panels .panel:nth-child(n+5) {
  margin-top: min(65px, 5.078125vw);
}
@media screen and (max-width: 900px) {
  #main-content-recommend .panels .panel:nth-child(n+5) {
    margin-top: 0;
  }
}
#main-content-recommend .panels .panel:nth-child(4n) {
  margin-right: 0;
}
@media screen and (max-width: 900px) {
  #main-content-recommend .panels .panel:nth-child(2n) {
    margin-left: min(15px, 4vw);
  }
}
@media screen and (max-width: 900px) {
  #main-content-recommend .panels .panel:nth-child(n+3) {
    margin-top: min(40px, 10.66666667vw);
  }
}
#main-content-reason {
  position: relative;
}
@media screen and (max-width: 900px) {
  #main-content-reason {
    font-size: min(15px, 4vw);
  }
}
#main-content-reason::before {
  content: '';
  background: #f2f2f2;
  position: absolute;
  top: 200px;
  left: calc(50% - 50vw);
  width: 100vw;
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 900px) {
  #main-content-reason::before {
    top: 300px;
  }
}
#main-content-reason .contents-ttl {
  margin-bottom: calc(10px + 20 * (100vw - 320px) / 1120);
  padding-top: calc(30px + 25 * (100vw - 320px) / 1120);
  padding-bottom: calc(30px + 25 * (100vw - 320px) / 1120);
}
@media screen and (max-width: 900px) {
  #main-content-reason .contents-ttl ._vm {
    width: min(107px, 28.53333333vw);
    margin-bottom: min(10px, 2.66666667vw);
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
#main-content-reason .contents-ttl .s {
  padding: 0 0.5em;
  font-size: calc(20px + 14 * (100vw - 320px) / 1120);
  line-height: calc(130% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: normal;
}
@media screen and (max-width: 900px) {
  #main-content-reason .contents-ttl .s {
    font-size: min(27px, 7.2vw);
    line-height: min(32px, 8.53333333vw);
    letter-spacing: min(2.17px, 0.57866667vw);
    padding-left: min(5px, 1.33333333vw);
  }
}
@media screen and (max-width: 900px) {
  #main-content-reason .contents-ttl .-sp-strong {
    font-size: min(35px, 9.33333333vw);
  }
}
#main-content-reason .-diagonal {
  padding-top: calc(30px + 30 * (100vw - 320px) / 1120);
  padding-bottom: calc(30px + 30 * (100vw - 320px) / 1120);
  font-size: calc(16px + 2 * (100vw - 320px) / 1120);
  line-height: calc(180% + 3.2 * (100vw - 1440px) / -1120);
  position: relative;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal {
    font-size: min(13px, 3.46666667vw);
    line-height: min(25px, 6.66666667vw);
    letter-spacing: min(0.5px, 0.13333333vw);
  }
}
#main-content-reason .-diagonal::after,
#main-content-reason .-diagonal::before {
  content: '';
  box-shadow: 0 0 10px 5px rgba(14, 164, 227, 0.1);
  position: absolute;
  left: calc(50% - 50vw);
  top: 0;
  width: 100vw;
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal::after,
  #main-content-reason .-diagonal::before {
    box-shadow: none;
  }
}
#main-content-reason .-diagonal::before {
  transform: skewY(10deg);
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal::before {
    transform: skewY(25deg);
  }
}
#main-content-reason .-diagonal::after {
  transform: skewY(-10deg);
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal::after {
    transform: skewY(-25deg);
  }
}
#main-content-reason .-diagonal p {
  text-align: center;
}
#main-content-reason .-diagonal > .header {
  margin-bottom: calc(10px + 10 * (100vw - 320px) / 1120);
  display: flex;
}
#main-content-reason .-diagonal > .header .img {
  margin: 0;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal > .header .img {
    margin: 0 0 10px;
    width: 50%;
    z-index: 10;
  }
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal > .header .txtarea {
    order: -1;
  }
}
#main-content-reason .-diagonal > .header .txtarea .sp-img {
  margin: 0 0 10px;
  padding: 0 15%;
  display: none;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal > .header .txtarea .sp-img {
    display: block;
  }
}
#main-content-reason .-diagonal .ttl {
  margin-bottom: calc(20px + 10 * (100vw - 320px) / 1120);
  position: relative;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal .ttl {
    padding: 0 0 0 20%;
  }
}
#main-content-reason .-diagonal .ttl::before {
  content: "";
  position: absolute;
  width: 200px;
  height: 116px;
}
#main-content-reason .-diagonal .ttl > span {
  position: relative;
  z-index: 3;
}
#main-content-reason .-diagonal .ttl > .s {
  display: block;
  font-size: calc(16px + 8 * (100vw - 320px) / 1120);
  line-height: calc(130% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: normal;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal .ttl > .s {
    font-size: min(16px, 4.26666667vw);
    line-height: min(24px, 6.4vw);
  }
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec {
    padding-top: 0;
  }
}
#main-content-reason .-diagonal.spec::after {
  background: var(--bg-color);
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec::after {
    background: var(--bg-color);
  }
}
#main-content-reason .-diagonal.spec::before {
  background: #FFF7D2;
  height: 50%;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec::before {
    content: "";
    position: absolute;
    width: 50%;
    height: 50vw;
    top: -10vw;
  }
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec .header .img {
    display: none;
  }
}
#main-content-reason .-diagonal.spec .header .txtarea {
  padding: 30px 0 0 50px;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec .header .txtarea {
    padding: 0;
    margin: 0 auto;
  }
}
#main-content-reason .-diagonal.spec .ttl {
  margin-bottom: calc(5px + 45 * (100vw - 320px) / 1120);
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec .ttl {
    padding: 0 0 0 36%;
  }
}
#main-content-reason .-diagonal.spec .ttl::before {
  background: url(../images/icon-01.svg) no-repeat center center / cover;
  top: -20px;
  left: -100px;
  width: 150px;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec .ttl::before {
    margin-left: 0px;
    width: 100px;
    left: 0%;
    top: 50%;
    transform: translate(0, -50%);
    height: 76px;
  }
}
#main-content-reason .-diagonal.spec .spec-detail {
  padding: calc(15px + 15 * (100vw - 320px) / 1120);
  background: #fff;
  box-shadow: 18px 20px 0 rgba(0, 158, 226, 0.2);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec .spec-detail {
    box-shadow: 10px 10px 0 rgba(0, 158, 226, 0.2);
    flex-direction: column;
  }
}
#main-content-reason .-diagonal.spec .spec-detail > .item {
  width: 49%;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec .spec-detail > .item {
    width: 100%;
  }
}
#main-content-reason .-diagonal.spec .spec-detail > .img > .box {
  margin: 0 10px;
  padding-top: calc(5px + 10 * (100vw - 320px) / 1120);
  padding-bottom: calc(5px + 10 * (100vw - 320px) / 1120);
  padding-left: calc(15px + 15 * (100vw - 320px) / 1120);
  padding-right: calc(15px + 15 * (100vw - 320px) / 1120);
  background: #FFF7D2;
  border: 3px solid #009EE2;
  border-radius: 17px;
  position: relative;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec .spec-detail > .img > .box {
    margin: 0 0 20px;
  }
}
#main-content-reason .-diagonal.spec .spec-detail > .img > .box::before {
  margin-left: -2px;
  content: '';
  background: #009EE2;
  position: absolute;
  left: 50%;
  top: -20px;
  width: 3px;
  height: 20px;
}
#main-content-reason .-diagonal.spec .spec-detail > .img .point-list {
  margin-bottom: 0;
  font-size: calc(16px + 7 * (100vw - 320px) / 1120);
  line-height: calc(140% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: bold;
}
#main-content-reason .-diagonal.spec .spec-detail > .img .point-list > li {
  margin: 5px 0;
}
#main-content-reason .-diagonal.spec .spec-detail > .img .point-list > li .s {
  font-size: calc(13px + 3 * (100vw - 320px) / 1120);
  line-height: calc(160% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: normal;
}
#main-content-reason .-diagonal.spec .spec-detail > .img .point-list .icon {
  vertical-align: middle;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec .spec-detail > .img .point-list .icon {
    width: 25px;
  }
}
#main-content-reason .-diagonal.spec .spec-detail > .txtarea table {
  margin: 0 auto 15px;
  border-top: 2px dashed #8C8C8C;
  color: #4C5564;
  text-align: left;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec .spec-detail > .txtarea table {
    font-size: min(14px, 3.73333333vw);
    line-height: min(20px, 5.33333333vw);
  }
}
#main-content-reason .-diagonal.spec .spec-detail > .txtarea table tr {
  border-bottom: 2px dashed #8C8C8C;
}
#main-content-reason .-diagonal.spec .spec-detail > .txtarea table th {
  background: #E5F5FC;
  width: 7.5em;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec .spec-detail > .txtarea table th {
    width: 8rem;
  }
}
#main-content-reason .-diagonal.spec .spec-detail > .txtarea .spec-list {
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  font-size: calc(13px + 3 * (100vw - 320px) / 1120);
  line-height: calc(160% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: bold;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec .spec-detail > .txtarea .spec-list {
    margin: 0 0 10px;
  }
}
#main-content-reason .-diagonal.spec .spec-detail > .txtarea .spec-list > li {
  margin: 0 15px 10px 0;
  border: 1px solid #009EE2;
  border-radius: 6px;
  color: #009EE2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  text-align: center;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec .spec-detail > .txtarea .spec-list > li {
    width: min(54px, 14.4vw);
    height: min(54px, 14.4vw);
    margin-right: min(8px, 2.66666667vw);
    border: 2px solid #009EE2;
    font-size: min(12px, 3.2vw);
    line-height: min(20px, 5.33333333vw);
    letter-spacing: -0.1rem;
  }
}
#main-content-reason .-diagonal.spec .spec-detail > .txtarea .spec-list .memory {
  margin: 0;
  background: #009EE2;
  color: #fff;
  width: 150px;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.spec .spec-detail > .txtarea .spec-list .memory {
    width: min(80px, 21.33333333vw);
  }
}
#main-content-reason .-diagonal.spec .spec-detail > .txtarea .spec-list .memory .l {
  font-size: 2rem;
  line-height: 1.6;
}
#main-content-reason .-diagonal.shipping::before {
  background: #E4F5FC;
}
#main-content-reason .-diagonal.shipping::after {
  box-shadow: none;
}
#main-content-reason .-diagonal.shipping .ttl {
  margin-bottom: calc(20px + 30 * (100vw - 320px) / 1120);
}
#main-content-reason .-diagonal.shipping .ttl::before {
  margin-left: -300px;
  background: url(../images/icon-02.svg) no-repeat center center / cover;
  top: -30px;
  left: 50%;
  z-index: -1;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.shipping .ttl::before {
    margin-left: -150px;
    top: 50%;
    transform: translate(0, -50%);
  }
}
#main-content-reason .-diagonal.support {
  padding-top: 0;
}
#main-content-reason .-diagonal.support::before {
  box-shadow: none;
}
#main-content-reason .-diagonal.support::after {
  background: var(--bg-color);
  height: 110%;
}
#main-content-reason .-diagonal.support > .header {
  align-items: center;
}
#main-content-reason .-diagonal.support > .header > .txtarea {
  padding: 0 0 0 50px;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.support > .header > .txtarea {
    width: 50%;
    padding: 0;
  }
}
#main-content-reason .-diagonal.support .ttl {
  margin: 0;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.support .ttl {
    margin: 0 0 10px;
    padding: 0;
  }
}
#main-content-reason .-diagonal.support .ttl::before {
  background: url(../images/icon-03.svg) no-repeat center center / cover;
  top: -20px;
  right: -150px;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.support .ttl::before {
    margin-right: -200px;
    right: 100%;
    top: 50%;
    transform: translate(0, -50%);
  }
}
#main-content-reason .-diagonal.support .support-list {
  margin: 0;
  display: flex;
  justify-content: space-between;
}
#main-content-reason .-diagonal.support .support-list > .item {
  margin-bottom: calc(10px + 10 * (100vw - 320px) / 1120);
  padding: calc(10px + 10 * (100vw - 320px) / 1120);
  background: #99D8F3;
  border-radius: 10px;
  display: flex;
  align-items: center;
  font-size: calc(15px + 9 * (100vw - 320px) / 1120);
  line-height: calc(140% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: bold;
  width: 32%;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.support .support-list > .item {
    padding: min(10px, 2.66666667vw) 0;
    flex-direction: column;
  }
}
#main-content-reason .-diagonal.support .support-list > .item > .icon {
  margin: 0 10px 0 0;
  max-width: 102px;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.support .support-list > .item > .icon {
    margin: 0 0 5px;
    width: 70px;
  }
}
#main-content-reason .-diagonal.support .support-list > .item > .txt {
  margin: 0;
  flex: 1;
}
#main-content-reason .-diagonal.support .support-list > .item .s {
  font-size: calc(12px + 3 * (100vw - 320px) / 1120);
  line-height: calc(160% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: normal;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.support .support-list > .item .s {
    font-size: min(8px, 2.13333333vw);
  }
}
#main-content-reason .-diagonal.support .support-change {
  margin-bottom: calc(20px + 10 * (100vw - 320px) / 1120);
  padding: 20px 0;
  background: #99D8F3;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: calc(15px + 9 * (100vw - 320px) / 1120);
  line-height: calc(140% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: bold;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.support .support-change {
    padding: 10px 10px 15px;
  }
}
#main-content-reason .-diagonal.support .support-change > .header {
  padding: 0 20px;
  border-right: 2px dotted #fff;
  display: flex;
  width: 32%;
  align-items: center;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.support .support-change > .header {
    padding: 0 10px 10px;
    border: none;
    border-bottom: 2px dotted #fff;
    width: 100%;
  }
}
#main-content-reason .-diagonal.support .support-change > .header > .icon {
  margin: 0 10px 0 0;
  max-width: 102px;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.support .support-change > .header > .icon {
    width: 70px;
  }
}
#main-content-reason .-diagonal.support .support-change > .header > .txt {
  margin: 0;
  flex: 1;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.support .support-change > .header > .txt {
    text-align: left;
  }
}
#main-content-reason .-diagonal.support .support-change > .item {
  padding-left: calc(5px + 15 * (100vw - 320px) / 1120);
  padding-right: calc(5px + 15 * (100vw - 320px) / 1120);
  font-size: calc(14px + 3 * (100vw - 320px) / 1120);
  line-height: calc(150% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: normal;
  width: 32%;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.support .support-change > .item {
    width: 50%;
  }
}
#main-content-reason .-diagonal.support .support-change > .item > .txt {
  margin: 0;
  text-align: left;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.support .support-change > .item > .txt {
    margin: 0;
    text-align: left;
  }
}
#main-content-reason .-diagonal.study {
  margin-top: 90px;
  padding-top: 200px;
}
#main-content-reason .-diagonal.study::before {
  box-shadow: none;
  background-color: #E4F5FC;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.study::before {
    box-shadow: none;
    background-color: #E4F5FC;
  }
}
#main-content-reason .-diagonal.study::after {
  height: 110%;
  box-shadow: none;
}
#main-content-reason .-diagonal.study > .header {
  align-items: center;
}
#main-content-reason .-diagonal.study > .header > .txtarea {
  padding: 0 0 0 0px;
  margin: 0 auto;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.study > .header > .txtarea {
    width: 100%;
    padding: 0;
  }
}
#main-content-reason .-diagonal.study .ttl {
  margin: 0;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.study .ttl {
    margin: 0 0 10px;
    padding: 0;
  }
}
#main-content-reason .-diagonal.study .ttl::before {
  background: url(../images/icon-04_pc.svg) no-repeat center center / cover;
  top: -150px;
  left: calc(50% - 100px);
  width: 214px;
  height: 117px;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.study .ttl::before {
    background: url(../images/icon-04_sp.svg) no-repeat center center / cover;
    margin-right: -200px;
    right: 100%;
    top: -65%;
    transform: translate(0, -50%);
    height: 118px;
    width: 214px;
    left: calc(50% - 100px);
  }
}
#main-content-reason .-diagonal.study figure {
  margin-top: 70px;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.study figure {
    margin-top: 25px;
  }
}
#main-content-reason .-diagonal.study p {
  margin-top: 56px;
  font: normal normal normal 18px/34px Noto Sans JP;
  letter-spacing: 0.72px;
  color: #333333;
}
@media screen and (max-width: 900px) {
  #main-content-reason .-diagonal.study p {
    font: normal normal normal 13px/25px Noto Sans JP;
    letter-spacing: 0.52px;
    color: #333333;
  }
}
#main-content-comparison {
  padding-top: calc(40px + 30 * (100vw - 320px) / 1120);
  padding-bottom: calc(40px + 30 * (100vw - 320px) / 1120);
  background-color: var(--bg-color);
  background-image: url("../images/comparison-back-dot.png");
}
#main-content-comparison .comparison-table {
  margin-bottom: calc(30px + 20 * (100vw - 320px) / 1120);
  font-size: calc(14px + 2 * (100vw - 320px) / 1120);
  line-height: calc(160% + 3.2 * (100vw - 1440px) / -1120);
  box-shadow: 0px 8px 5px -3px rgba(14, 164, 227, 0.4), 8px 0 5px -5px rgba(14, 164, 227, 0.4);
  table-layout: fixed;
}
#main-content-comparison .comparison-table th {
  background: #F2F2F2;
  border: 1px solid #D9D9D9;
  font-size: calc(15px + 2 * (100vw - 320px) / 1120);
  line-height: calc(160% + 3.2 * (100vw - 1440px) / -1120);
  vertical-align: middle;
}
#main-content-comparison .comparison-table th.-w {
  width: 26%;
}
#main-content-comparison .comparison-table th.-wh {
  background: #fff;
}
#main-content-comparison .comparison-table td {
  background: #fff;
  border: 1px solid #D9D9D9;
  vertical-align: middle;
}
#main-content-comparison .comparison-table .none {
  background: none;
  border: none;
}
#main-content-comparison .comparison-table .subsc {
  background: #FFF7D2;
  border-left: 3px solid var(--main-color);
  border-right: 3px solid var(--main-color);
  font-size: calc(18px + 3 * (100vw - 320px) / 1120);
  line-height: calc(140% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: bold;
  position: relative;
  width: 29%;
  background-clip: padding-box;
}
#main-content-comparison .comparison-table .subsc.-head {
  padding: 0 0 15px;
  background: var(--main-color);
  color: #fff;
  font-size: calc(20px + 6 * (100vw - 320px) / 1120);
  line-height: calc(130% + 3.2 * (100vw - 1440px) / -1120);
  position: relative;
}
#main-content-comparison .comparison-table .subsc.-head::before {
  content: "";
  background: var(--main-color);
  border-left: 3px solid var(--main-color);
  border-right: 3px solid var(--main-color);
  position: absolute;
  top: -15px;
  left: -3px;
  width: 100%;
  height: 15px;
}
#main-content-comparison .comparison-table .subsc.-foot {
  padding: 15px 10px 0;
}
#main-content-comparison .comparison-table .subsc.-foot::before {
  content: "";
  background: #FFF7D2;
  box-shadow: 0px 8px 5px -3px rgba(14, 164, 227, 0.4), 8px 0 5px -5px rgba(14, 164, 227, 0.4);
  border-left: 3px solid var(--main-color);
  border-right: 3px solid var(--main-color);
  border-bottom: 3px solid var(--main-color);
  position: absolute;
  bottom: -15px;
  left: -3px;
  width: 100%;
  height: 15px;
}
#main-content-comparison .comparison-table .disc-list {
  margin: 0;
  font-size: calc(14px + 2 * (100vw - 320px) / 1120);
  line-height: calc(160% + 3.2 * (100vw - 1440px) / -1120);
}
#main-content-solution > .header {
  padding-top: calc(40px + 30 * (100vw - 320px) / 1120);
  padding-bottom: calc(40px + 30 * (100vw - 320px) / 1120);
  background: #8EB5C6 url(../images/bg-circle.svg) no-repeat center center / cover;
}
#main-content-solution > .header .ttl-wave {
  padding: 0 0 10px;
  background: url(../images/ttl-wave-bl.svg) no-repeat center bottom;
}
#main-content-solution > .header .ttl-wave > .s {
  display: block;
  font-size: calc(18px + 8 * (100vw - 320px) / 1120);
  line-height: calc(130% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: normal;
}
#main-content-solution > .header .column {
  padding-left: calc(1px + 39 * (100vw - 320px) / 1120);
  padding-right: calc(1px + 39 * (100vw - 320px) / 1120);
  display: flex;
  position: relative;
}
@media screen and (max-width: 900px) {
  #main-content-solution > .header .column {
    display: block;
  }
}
#main-content-solution > .header .column > .img {
  margin: 0;
  width: 33%;
  max-width: 316px;
}
@media screen and (max-width: 900px) {
  #main-content-solution > .header .column > .img {
    position: absolute;
    bottom: -30px;
    right: -30px;
    width: 50%;
    z-index: 3;
  }
}
#main-content-solution > .header .column > .check-list {
  margin: 0 0 0 auto;
  padding: 10px 20px;
  background: #fff;
  border: 3px solid #ccc;
  border-radius: 10px;
  font-size: calc(16px + 8 * (100vw - 320px) / 1120);
  line-height: calc(130% + 3.2 * (100vw - 1440px) / -1120);
  width: 65%;
  position: relative;
}
@media screen and (max-width: 900px) {
  #main-content-solution > .header .column > .check-list {
    padding: 5px 15px;
    width: 100%;
    position: relative;
  }
}
#main-content-solution > .header .column > .check-list::before,
#main-content-solution > .header .column > .check-list::after {
  content: "";
  border: 14px solid transparent;
  position: absolute;
  top: 50%;
}
@media screen and (max-width: 900px) {
  #main-content-solution > .header .column > .check-list::before,
  #main-content-solution > .header .column > .check-list::after {
    border: none;
  }
}
#main-content-solution > .header .column > .check-list::before {
  margin-top: -1px;
  border-bottom: 15px solid #ccc;
  border-right: 13px solid #ccc;
  left: -27px;
}
#main-content-solution > .header .column > .check-list::after {
  border-bottom: 14px solid #fff;
  border-right: 12px solid #fff;
  left: -24px;
}
#main-content-solution > .header .column > .check-list > li {
  margin: 15px 0;
  padding: 0 0 0 40px;
  background: url(../images/icon-check.svg) no-repeat left 5px;
  position: relative;
}
@media screen and (max-width: 900px) {
  #main-content-solution > .header .column > .check-list > li {
    margin: 15px 0;
    padding: 0 0 0 30px;
    background-size: 22px auto;
    position: relative;
  }
}
#main-content-solution .merit {
  padding: 0 20px;
  padding-top: calc(30px + 30 * (100vw - 320px) / 1120);
  padding-bottom: calc(30px + 30 * (100vw - 320px) / 1120);
  background-color: var(--bg-color);
  background-image: radial-gradient(#9FDEF0 30%, transparent 30%);
  background-size: 10px 10px;
}
@media screen and (max-width: 900px) {
  #main-content-solution .merit {
    padding-bottom: min(60px, 16vw);
    padding: min(50px, 13.33333333vw) 0;
  }
}
#main-content-solution .merit .merit-list {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  font-size: calc(16px + 4 * (100vw - 320px) / 1120);
  line-height: calc(150% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: bold;
  justify-content: center;
}
@media screen and (min-width: 780px) and (max-width: 1099px) {
  #main-content-solution .merit .merit-list {
    width: 600px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 900px) {
  #main-content-solution .merit .merit-list {
    width: min(340px, 90.66666667vw);
    margin: 0 auto;
  }
}
#main-content-solution .merit .merit-list > .item {
  margin: 0 10px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(14, 164, 227, 0.5);
  min-width: 240px;
  position: relative;
}
@media screen and (max-width: 900px) {
  #main-content-solution .merit .merit-list > .item {
    width: min(164px, 43.73333333vw);
    margin: 0;
    min-width: unset;
  }
}
@media screen and (min-width: 780px) and (max-width: 1099px) {
  #main-content-solution .merit .merit-list > .item:nth-child(n+3) {
    margin-top: 60px;
  }
}
@media screen and (max-width: 900px) {
  #main-content-solution .merit .merit-list > .item:nth-child(n+3) {
    margin-top: min(50px, 13.33333333vw);
  }
}
@media screen and (max-width: 900px) {
  #main-content-solution .merit .merit-list > .item:nth-child(2n) {
    margin-left: min(10px, 2.66666667vw);
  }
}
#main-content-solution .merit .merit-list > .item > .num {
  content: "";
  width: 64px;
  height: 64px;
  position: absolute;
  top: -32px;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 900px) {
  #main-content-solution .merit .merit-list > .item > .num {
    top: min(-20px, -5.33333333vw);
    width: min(41px, 10.93333333vw);
    height: min(41px, 10.93333333vw);
  }
}
#main-content-solution .merit .merit-list > .item > .img {
  margin: 0;
  padding: 45px 10px 20px;
  background: #FFE460;
  border-radius: 10px 10px 0 0;
  text-align: center;
  min-height: 215px;
}
@media screen and (max-width: 900px) {
  #main-content-solution .merit .merit-list > .item > .img {
    min-height: unset;
    height: min(170px, 45.33333333vw);
    padding: min(35px, 9.33333333vw) min(16px, 4.26666667vw) min(16px, 4.26666667vw);
  }
}
@media screen and (max-width: 900px) {
  #main-content-solution .merit .merit-list > .item > .img img {
    max-height: min(120px, 32vw);
  }
}
#main-content-solution .merit .merit-list > .item > .txt {
  margin: 0;
  padding: calc(15px + 5 * (100vw - 320px) / 1120);
  text-align: center;
}
@media screen and (max-width: 900px) {
  #main-content-solution .merit .merit-list > .item > .txt {
    font-size: min(15px, 4vw);
    line-height: min(20px, 5.33333333vw);
    letter-spacing: min(0.6px, 0.16vw);
    padding: min(19px, 5.06666667vw) min(16px, 4.26666667vw);
  }
}
#main-content-solution .merit .merit-list > .item > .txt > .l {
  color: var(--main-color);
  font-size: calc(18px + 4 * (100vw - 320px) / 1120);
  line-height: calc(130% + 3.2 * (100vw - 1440px) / -1120);
}
@media screen and (max-width: 900px) {
  #main-content-solution .merit .merit-list > .item > .txt > .l {
    font-size: min(18px, 4.8vw);
  }
}
#main-content-solution .rental {
  padding: calc(10px + 5 * (100vw - 320px) / 1120);
  background: #009EE2;
  color: #fff;
  position: relative;
}
#main-content-solution .rental-column {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
}
@media screen and (max-width: 900px) {
  #main-content-solution .rental-column {
    min-height: unset;
    height: min(180px, 48vw);
    width: min(354px, 94.4vw);
    margin: 0 auto;
    padding: 0;
  }
}
#main-content-solution .rental-column:before {
  content: "";
  position: absolute;
  background-image: url(../images/service-top.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: min(260px, 20.3125vw);
  height: min(220px, 20.3125vw);
  left: 0;
}
@media screen and (max-width: 900px) {
  #main-content-solution .rental-column:before {
    display: none;
  }
}
#main-content-solution .rental-column:after {
  content: "";
  position: absolute;
  background-image: url(../images/wave-line2.svg);
  background-size: contain;
  width: min(650px, 50.78125vw);
  height: 6px;
  bottom: min(30px, 2.34375vw);
}
@media screen and (max-width: 900px) {
  #main-content-solution .rental-column:after {
    width: min(212px, 56.53333333vw);
    height: 6px;
    bottom: min(19px, 5.06666667vw);
    right: min(11px, 2.93333333vw);
  }
}
@media screen and (max-width: 900px) {
  #main-content-solution .rental-column .txtarea {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}
#main-content-solution .rental-column .txtarea .img {
  margin: 0;
  position: absolute;
  left: -80px;
  top: 0;
}
@media screen and (max-width: 900px) {
  #main-content-solution .rental-column .txtarea .img {
    position: static;
    width: 30%;
  }
}
#main-content-solution .rental-column .txtarea .ttl-wave {
  margin: 0;
  padding: 20px 0;
  /*background: url(../images/ttl-wave-ye.svg) no-repeat center bottom;*/
  font-size: calc(20px + 14 * (100vw - 320px) / 1120);
  line-height: calc(120% + 3.2 * (100vw - 1440px) / -1120);
}
@media screen and (max-width: 900px) {
  #main-content-solution .rental-column .txtarea .ttl-wave {
    font-size: min(20px, 5.33333333vw);
    margin: 0 0 0 2%;
    padding: 0 0 5px;
    line-height: 2.5em;
    width: 68%;
  }
}
#main-content-solution .rental-column .txtarea .ttl-wave ruby[data-ruby] {
  position: relative;
}
#main-content-solution .rental-column .txtarea .ttl-wave ruby[data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  top: -0.8em;
  text-align: center;
  font-size: calc(14px + 6 * (100vw - 320px) / 1120);
  line-height: calc(150% + 3.2 * (100vw - 1440px) / -1120);
  letter-spacing: 8px;
  width: 100%;
  margin-right: -100%;
}
@media screen and (max-width: 900px) {
  #main-content-solution .rental-column .txtarea .ttl-wave ruby[data-ruby]::before {
    font-size: min(14px, 3.73333333vw);
    line-height: min(21px, 5.6vw);
    letter-spacing: min(8px, 2.13333333vw);
    top: -1rem;
  }
}
#main-content-solution .rental-column .txtarea .ttl-wave rt {
  display: none;
}
#main-content-solution .rental-column .txtarea .ttl-wave .l {
  font-size: calc(30px + 25 * (100vw - 320px) / 1120);
  line-height: calc(100% + 3.2 * (100vw - 1440px) / -1120);
}
#main-content-solution .rental-column .txtarea .space-l {
  margin-left: -0.4em;
  display: inline-block;
}
#main-content-solution .rental-column .txtarea .space-r {
  margin-right: -0.4em;
  display: inline-block;
}
#main-content-solution .rental-column-high {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 250px;
}
#main-content-solution .comparison {
  padding-top: calc(40px + 30 * (100vw - 320px) / 1120);
  padding-bottom: calc(40px + 30 * (100vw - 320px) / 1120);
  background-color: var(--bg-color);
  background-image: radial-gradient(#9FDEF0 30%, transparent 30%);
  background-size: 10px 10px;
}
#main-content-solution .comparison-table {
  margin-bottom: calc(30px + 20 * (100vw - 320px) / 1120);
  font-size: calc(14px + 2 * (100vw - 320px) / 1120);
  line-height: calc(160% + 3.2 * (100vw - 1440px) / -1120);
  box-shadow: 0px 8px 5px -3px rgba(14, 164, 227, 0.4), 8px 0 5px -5px rgba(14, 164, 227, 0.4);
  table-layout: fixed;
}
#main-content-solution .comparison-table th {
  background: #F2F2F2;
  border: 1px solid #D9D9D9;
  font-size: calc(15px + 2 * (100vw - 320px) / 1120);
  line-height: calc(160% + 3.2 * (100vw - 1440px) / -1120);
  vertical-align: middle;
}
#main-content-solution .comparison-table th.-w {
  width: 26%;
}
#main-content-solution .comparison-table th.-wh {
  background: #fff;
}
#main-content-solution .comparison-table td {
  background: #fff;
  border: 1px solid #D9D9D9;
  vertical-align: middle;
}
#main-content-solution .comparison-table .none {
  background: none;
  border: none;
}
#main-content-solution .comparison-table .subsc {
  background: #FFF7D2;
  border-left: 3px solid var(--main-color);
  border-right: 3px solid var(--main-color);
  font-size: calc(18px + 3 * (100vw - 320px) / 1120);
  line-height: calc(140% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: bold;
  position: relative;
  width: 29%;
  background-clip: padding-box;
}
#main-content-solution .comparison-table .subsc.-head {
  padding: 0 0 15px;
  background: var(--main-color);
  color: #fff;
  font-size: calc(20px + 6 * (100vw - 320px) / 1120);
  line-height: calc(130% + 3.2 * (100vw - 1440px) / -1120);
  position: relative;
}
#main-content-solution .comparison-table .subsc.-head::before {
  content: "";
  background: var(--main-color);
  border-left: 3px solid var(--main-color);
  border-right: 3px solid var(--main-color);
  position: absolute;
  top: -15px;
  left: -3px;
  width: 100%;
  height: 15px;
}
#main-content-solution .comparison-table .subsc.-foot {
  padding: 15px 10px 0;
}
#main-content-solution .comparison-table .subsc.-foot::before {
  content: "";
  background: #FFF7D2;
  box-shadow: 0px 8px 5px -3px rgba(14, 164, 227, 0.4), 8px 0 5px -5px rgba(14, 164, 227, 0.4);
  border-left: 3px solid var(--main-color);
  border-right: 3px solid var(--main-color);
  border-bottom: 3px solid var(--main-color);
  position: absolute;
  bottom: -15px;
  left: -3px;
  width: 100%;
  height: 15px;
}
#main-content-solution .comparison-table .disc-list {
  margin: 0;
  font-size: calc(14px + 2 * (100vw - 320px) / 1120);
  line-height: calc(160% + 3.2 * (100vw - 1440px) / -1120);
}
#main-content-service {
  padding: 90px;
}
@media screen and (max-width: 900px) {
  #main-content-service {
    padding: min(48px, 12.8vw) min(25px, 6.66666667vw);
  }
}
#main-content-service .service-movie {
  width: min(1000px, 78.125vw);
  height: min(562px, 43.90625vw);
}
@media screen and (max-width: 900px) {
  #main-content-service .service-movie {
    width: min(325px, 86.66666667vw);
    height: min(182px, 48.53333333vw);
  }
}
#main-content-voice {
  padding-top: calc(40px + 30 * (100vw - 320px) / 1120);
  padding-bottom: calc(40px + 30 * (100vw - 320px) / 1120);
  background: #CCECF9 url(../images/voice-bg.svg) no-repeat center center;
}
@media screen and (max-width: 900px) {
  #main-content-voice {
    background: #CCECF9 url(../images/voice-bg@sp.svg) no-repeat -20px center / 130% auto;
  }
}
#main-content-voice .contents-ttl {
  margin-bottom: calc(30px + 20 * (100vw - 320px) / 1120);
  padding-top: calc(10px + 15 * (100vw - 320px) / 1120);
  padding-bottom: calc(10px + 15 * (100vw - 320px) / 1120);
  background-image: url(../images/ttl-voice.svg);
}
#main-content-voice .block {
  margin-bottom: calc(30px + 20 * (100vw - 320px) / 1120);
  padding: calc(15px + 15 * (100vw - 320px) / 1120);
  background: #fff;
  border: 4px solid var(--main-color);
  border-radius: 20px;
  box-shadow: 10px 3px 10px rgba(14, 164, 227, 0.3);
  display: flex;
  align-items: center;
}
@media screen and (max-width: 900px) {
  #main-content-voice .block {
    display: block;
  }
}
#main-content-voice .block:before {
  display: none;
}
@media screen and (max-width: 900px) {
  #main-content-voice .block:before {
    content: "";
    position: relative;
    display: inline-block;
    width: min(40px, 10.66666667vw);
    height: min(30px, 8vw);
    margin-right: min(-40px, -10.66666667vw);
    margin-top: min(-30px, -8vw);
    top: min(-30px, -8vw);
    left: min(-100px, -26.66666667vw);
    background-color: white;
  }
}
#main-content-voice .block:after {
  content: "";
  position: relative;
  width: 40px;
  height: 40px;
  background-color: white;
  left: -70%;
  margin-top: -300px;
}
@media screen and (max-width: 900px) {
  #main-content-voice .block:after {
    display: none;
  }
}
#main-content-voice .block-pre {
  padding: 0 15px 10px 0;
  overflow: hidden;
  margin-top: 80px;
}
@media screen and (max-width: 900px) {
  #main-content-voice .block-pre {
    margin-top: min(40px, 10.66666667vw);
  }
}
#main-content-voice .block-pre:nth-child(n+4) {
  margin-top: -25px;
}
#main-content-voice .block .img {
  margin: 0;
  max-width: 250px;
  width: 25%;
}
@media screen and (max-width: 900px) {
  #main-content-voice .block .img {
    display: none;
  }
}
#main-content-voice .block .txtarea {
  flex: 1;
  text-align: left;
  margin-left: 40px;
}
@media screen and (max-width: 900px) {
  #main-content-voice .block .txtarea {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-left: 0;
  }
}
#main-content-voice .block .txtarea .sp-img {
  display: none;
}
@media screen and (max-width: 900px) {
  #main-content-voice .block .txtarea .sp-img {
    display: block;
    width: 100%;
    text-align: center;
  }
}
#main-content-voice .block .txtarea .ttl {
  margin: 0 0 20px;
  padding: 0 5px;
  display: inline-block;
  font-size: calc(20px + 10 * (100vw - 320px) / 1120);
  line-height: calc(140% + 3.2 * (100vw - 1440px) / -1120);
  text-align: left;
}
@media screen and (max-width: 900px) {
  #main-content-voice .block .txtarea .ttl {
    width: 50%;
    margin: 0 25% min(30px, 8vw);
    text-align: center;
  }
}
#main-content-voice .block .txtarea .ttl span {
  background: linear-gradient(180deg, transparent 20%, #ffd91c 20%);
  padding: 10px 10px 2px;
  width: 100%;
  display: inline-block;
}
@media screen and (max-width: 900px) {
  #main-content-voice .block .txtarea .txt {
    width: 100%;
  }
}
#main-content-flow {
  padding-top: calc(40px + 30 * (100vw - 320px) / 1120);
  padding-bottom: calc(40px + 30 * (100vw - 320px) / 1120);
  background-image: radial-gradient(#FFD91C 30%, transparent 30%);
  background-size: 10px 10px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 900px) {
  #main-content-flow {
    padding-top: min(70px, 18.66666667vw);
    padding-bottom: min(70px, 18.66666667vw);
  }
}
#main-content-flow::before {
  content: '';
  background: #fff;
  position: absolute;
  top: 0;
  left: -20vw;
  width: 120vw;
  height: 150%;
  transform: rotate(-45deg);
}
@media screen and (max-width: 900px) {
  #main-content-flow::before {
    top: 0px;
    left: -90%;
    width: 200%;
    height: 110%;
    transform: rotate(45deg);
  }
}
#main-content-flow .inner {
  position: relative;
}
#main-content-flow .contents-ttl {
  padding-top: calc(10px + 15 * (100vw - 320px) / 1120);
  padding-bottom: calc(10px + 15 * (100vw - 320px) / 1120);
  background-image: url(../images/ttl-flow.svg);
}
@media screen and (max-width: 900px) {
  #main-content-flow .contents-ttl {
    padding-top: min(25px, 6.66666667vw);
    padding-bottom: min(25px, 6.66666667vw);
    font-size: min(30px, 8vw);
    line-height: min(36px, 9.6vw);
    letter-spacing: min(1.2px, 0.32vw);
  }
}
#main-content-flow .illust {
  margin: 0;
  position: absolute;
  top: 50px;
  right: -6.25vw;
}
@media screen and (max-width: 900px) {
  #main-content-flow .illust {
    position: static;
    margin: min(80px, 21.33333333vw) auto 0;
    width: min(300px, 80vw);
  }
}
#main-content-flow .flow-step {
  padding: 0 80px 0 0;
  display: flex;
}
@media screen and (max-width: 900px) {
  #main-content-flow .flow-step {
    padding: 0;
    display: block;
  }
}
#main-content-flow .flow-step > .step {
  margin: 0 10px;
  width: 210px;
}
@media screen and (max-width: 900px) {
  #main-content-flow .flow-step > .step {
    margin: 0 0 20px;
    display: flex;
    width: 100%;
  }
}
#main-content-flow .flow-step > .step > .img {
  margin: 0 0 10px;
  display: inline-block;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 900px) {
  #main-content-flow .flow-step > .step > .img {
    margin: 0;
    width: 64px;
  }
}
#main-content-flow .flow-step > .step > .img::before {
  content: "\e5e1";
  color: #FFD91C;
  font-family: var(--icon);
  font-size: 4rem;
  line-height: 1;
  position: absolute;
  bottom: 47px;
  left: -32px;
}
@media screen and (max-width: 900px) {
  #main-content-flow .flow-step > .step > .img::before {
    margin-left: -22px;
    bottom: auto;
    top: -44px;
    left: 50%;
    transform: rotate(90deg);
  }
}
#main-content-flow .flow-step > .step > .img::after {
  content: "";
  background: #FFD91C;
  width: 50%;
  height: 4px;
  position: absolute;
  bottom: 67px;
  left: 100%;
}
@media screen and (max-width: 900px) {
  #main-content-flow .flow-step > .step > .img::after {
    margin-left: -2px;
    width: 4px;
    height: calc(100% - 70px);
    bottom: auto;
    top: 70px;
    left: 50%;
  }
}
#main-content-flow .flow-step > .step:first-child > .img::before {
  content: "";
}
#main-content-flow .flow-step > .step:last-child > .img::after {
  background: none;
}
#main-content-flow .flow-step > .step > .txtarea {
  background: var(--bg-color);
  border-radius: 10px;
}
@media screen and (max-width: 900px) {
  #main-content-flow .flow-step > .step > .txtarea {
    margin-left: 20px;
    display: flex;
    flex: 1;
  }
}
#main-content-flow .flow-step > .step > .txtarea p {
  font-size: min(13px, 3.46666667vw);
}
#main-content-flow .flow-step > .step .ttl {
  margin: 0;
  padding: 15px 15px 20px;
  background: var(--main-color);
  border-radius: 10px 10px 0 0;
  color: #fff;
  font-size: calc(16px + 8 * (100vw - 320px) / 1120);
  line-height: calc(120% + 3.2 * (100vw - 1440px) / -1120);
}
@media screen and (max-width: 900px) {
  #main-content-flow .flow-step > .step .ttl {
    font-size: min(14px, 3.73333333vw);
    line-height: min(14px, 3.73333333vw);
    letter-spacing: min(0.26px, 0.06933333vw);
    border-radius: 10px 0 0 10px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    min-width: min(60px, 16vw);
  }
}
#main-content-flow .flow-step > .step .ttl .-s {
  display: block;
  font-size: calc(14px + 2 * (100vw - 320px) / 1120);
  line-height: calc(160% + 3.2 * (100vw - 1440px) / -1120);
}
#main-content-flow .flow-step > .step .js-height {
  padding: 15px;
  position: relative;
}
#main-content-flow .flow-step > .step .js-height::before {
  content: "";
  border-top: 12px solid transparent;
  border-bottom: 12px solid var(--bg-color);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  position: absolute;
  left: 50%;
  top: -23px;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 900px) {
  #main-content-flow .flow-step > .step .js-height::before {
    border-bottom: 12px solid transparent;
    border-right: 10px solid var(--bg-color);
    left: -20px;
    top: 50%;
    transform: translate(0, -50%);
  }
}
#main-content-flow .flow-step > .step .js-height > :last-child {
  margin: 0;
}
#main-content-faqs {
  padding-top: calc(40px + 30 * (100vw - 320px) / 1120);
  padding-bottom: calc(40px + 30 * (100vw - 320px) / 1120);
  background: var(--bg-color);
}
#main-content-faqs .contents-ttl {
  padding-top: calc(10px + 15 * (100vw - 320px) / 1120);
  padding-bottom: calc(10px + 15 * (100vw - 320px) / 1120);
  background-image: url(../images/ttl-faqs.svg);
}
#main-content-faqs .q-a {
  margin-bottom: 20px;
  padding-top: calc(10px + 10 * (100vw - 320px) / 1120);
  padding-bottom: calc(10px + 10 * (100vw - 320px) / 1120);
  padding-left: calc(20px + 10 * (100vw - 320px) / 1120);
  padding-right: calc(20px + 10 * (100vw - 320px) / 1120);
  background: #fff;
  box-shadow: 3px 3px 10px rgba(14, 164, 227, 0.4);
  border-radius: 20px;
}
#main-content-faqs .q-a > .q {
  margin: 0 0 10px;
  padding: 10px 10px 10px 50px;
  background: url(../images/icon-q.svg) no-repeat 10px 10px;
  border-bottom: 2px dotted #333;
  color: var(--main-color);
  font-size: calc(18px + 6 * (100vw - 320px) / 1120);
  line-height: calc(130% + 3.2 * (100vw - 1440px) / -1120);
  text-align: left;
}
#main-content-faqs .q-a > .a {
  margin: 0;
  padding: 5px 10px 10px 50px;
  background: url(../images/icon-a.svg) no-repeat 10px 5px;
}
#main-content-company {
  padding-top: calc(40px + 30 * (100vw - 320px) / 1120);
  padding-bottom: calc(40px + 30 * (100vw - 320px) / 1120);
  background: #F2F2F2;
}
@media screen and (min-width: 1440px) {
}
#main-content-company .contents-ttl {
  margin-bottom: 0;
  padding-top: calc(10px + 15 * (100vw - 320px) / 1120);
  padding-bottom: calc(10px + 15 * (100vw - 320px) / 1120);
  background-image: url(../images/ttl-company.svg);
}
@media screen and (min-width: 1440px) {
}
#main-content-company table {
  text-align: left;
}
@media screen and (max-width: 900px) {
  #main-content-company table {
    font-size: min(14px, 3.73333333vw);
  }
}
#main-content-company table tr {
  border-bottom: 2px dotted #333;
}
#main-content-company table th,
#main-content-company table td {
  padding: 1em 2em;
}
@media screen and (max-width: 900px) {
  #main-content-company table th,
  #main-content-company table td {
    padding: 0.8em 0;
  }
}
@media screen and (max-width: 900px) {
  #main-content-company table th {
    width: 10rem;
  }
}
#main-content-contact {
  padding-top: calc(40px + 30 * (100vw - 320px) / 1120);
  padding-bottom: calc(40px + 30 * (100vw - 320px) / 1120);
}
@media screen and (max-width: 900px) {
  #main-content-contact {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
#main-content-contact .contents-ttl {
  margin: 0 0 20px;
  padding-top: calc(10px + 15 * (100vw - 320px) / 1120);
  padding-bottom: calc(10px + 15 * (100vw - 320px) / 1120);
  background-image: url(../images/ttl-contact.svg);
}
@media screen and (max-width: 900px) {
  #main-content-contact .contents-ttl {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}
#main-content-contact .catch {
  text-align: center;
  font-size: 23px;
  font-weight: bold;
  line-height: 35px;
  letter-spacing: 3.6px;
  color: #FF6600;
  padding-top: calc(10px + 15 * (100vw - 320px) / 1120);
  padding-bottom: calc(10px + 15 * (100vw - 320px) / 1120);
  margin-bottom: 0;
}
@media screen and (max-width: 900px) {
  #main-content-contact .catch {
    font-size: min(15px, 4vw);
    line-height: min(24px, 6.4vw);
    letter-spacing: 0;
  }
}
#main-content-contact .catch span {
  font-size: 20px;
  font-weight: 500;
  color: #333333;
  display: block;
  letter-spacing: 0;
}
#main-content-contact .catch:before,
#main-content-contact .catch:after {
  content: "";
  position: relative;
  display: inline-block;
  width: 30px;
  height: 80px;
  margin-top: -80px;
  margin-right: -30px;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 900px) {
  #main-content-contact .catch:before,
  #main-content-contact .catch:after {
    width: min(28px, 7.46666667vw);
    height: min(60px, 16vw);
    margin-top: min(-60px, -16vw);
    margin-right: min(-28px, -7.46666667vw);
  }
}
#main-content-contact .catch:before {
  top: 60px;
  left: -30px;
  background-image: url(../images/icon-slash-left.svg);
}
@media screen and (max-width: 900px) {
  #main-content-contact .catch:before {
    top: min(50px, 13.33333333vw);
    left: min(-30px, -8vw);
  }
}
#main-content-contact .catch:after {
  top: 26px;
  right: -113px;
  background-image: url(../images/icon-slash-right.svg);
}
@media screen and (max-width: 900px) {
  #main-content-contact .catch:after {
    top: min(26px, 6.93333333vw);
    right: min(-70px, -18.66666667vw);
  }
}
#main-content-contact .campaign-txt {
  margin: 0 0 5px;
  font-size: calc(16px + 2 * (100vw - 320px) / 1120);
  line-height: calc(150% + 3.2 * (100vw - 1440px) / -1120);
}
@media screen and (max-width: 900px) {
  #main-content-contact .campaign-txt {
    font-size: 1.8rem;
    line-height: 1.5;
  }
}
#main-content-contact .btn-area {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 900px) {
  #main-content-contact .btn-area {
    flex-flow: column;
  }
}
#main-content-contact .btn-area .line-area {
  display: inline-block;
  margin-left: 25px;
}
@media screen and (max-width: 900px) {
  #main-content-contact .btn-area .line-area {
    width: 100%;
    margin-bottom: min(50px, 13.33333333vw);
    margin-left: 0;
  }
}
#main-content-contact .btn-area .line-area .btn {
  min-width: unset;
  width: 294px;
  height: 60px;
  border-radius: 30px;
  background: #24C755 0% 0% no-repeat padding-box;
  box-shadow: 0px 10px 15px #86E36380;
  font-size: 22px;
  padding: 13px;
}
@media screen and (max-width: 900px) {
  #main-content-contact .btn-area .line-area .btn {
    width: 100%;
  }
}
#main-content-contact .btn-area .line-area .btn:before {
  content: "";
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("../images/campaign/triangle-right.svg");
}
@media screen and (max-width: 900px) {
  #main-content-contact .btn-area .tel-area {
    width: 100%;
  }
}
#main-content-contact .btn-area .tel-area .btn {
  min-width: unset;
  width: 294px;
  height: 60px;
  background-color: #DAF0F8;
  color: #009EE2;
  font-size: 26px;
  line-height: 26px;
  font-weight: bold;
  display: inline-block;
  margin-top: 10px;
  padding: 5px 5px 2px;
  border-radius: 40px;
}
@media screen and (max-width: 900px) {
  #main-content-contact .btn-area .tel-area .btn {
    height: min(64px, 17.06666667vw);
    width: 100%;
    margin: min(10px, 2.66666667vw) auto 0;
    padding: min(10px, 2.66666667vw) min(5px, 1.33333333vw) min(2px, 0.53333333vw);
    font-size: min(23px, 6.13333333vw);
    line-height: min(26px, 6.93333333vw);
    letter-spacing: min(0.46px, 0.12266667vw);
    background: #DAF0F8 0% 0% no-repeat padding-box;
    box-shadow: 0px 5px 5px #00466440;
  }
}
#main-content-contact .btn-area .tel-area .btn:before {
  display: none;
}
@media screen and (max-width: 900px) {
  #main-content-contact .btn-area .tel-area .btn:before {
    content: "";
    width: min(20px, 5.33333333vw);
    height: min(20px, 5.33333333vw);
    display: block;
    position: relative;
    margin-top: min(-20px, -5.33333333vw);
    margin-right: min(-20px, -5.33333333vw);
    background-repeat: no-repeat;
    background-position: center;
    top: min(45px, 12vw);
    left: min(299px, 79.73333333vw);
    background-image: url("../images/campaign/triangle-right-blue.svg");
  }
}
#main-content-contact .btn-area .tel-area .btn a {
  text-decoration: none;
  color: unset;
}
#main-content-contact .btn-area .tel-area .btn a:hover {
  text-decoration: none;
  color: unset;
}
#main-content-contact .btn-area .tel-area .btn .small {
  font-size: 15px;
  font-weight: 500;
  color: #333333;
  display: inline-block;
  position: relative;
  top: -7px;
}
@media screen and (max-width: 900px) {
  #main-content-contact .btn-area .tel-area .btn .small {
    font-size: min(12px, 3.2vw);
    line-height: min(12px, 3.2vw);
    letter-spacing: min(0.24px, 0.064vw);
  }
}
@media screen and (max-width: 900px) {
  #main-content-contact .btn-area .tel-area .btn .icon-tell {
    width: min(13px, 3.46666667vw);
    height: min(16px, 4.26666667vw);
  }
}
#main-content-contact .form-area {
  padding: calc(20px + 20 * (100vw - 320px) / 1120);
  margin-top: 40px;
  background: #eee;
}
@media screen and (max-width: 900px) {
  #main-content-contact .form-area {
    padding: 40px;
    margin-top: min(6px, 1.6vw);
  }
}
#main-content-contact .form-area .satori__submit_group {
  margin-bottom: 0;
  padding: 0 0 20px;
}
#main-content-contact .form-footer {
  margin-top: 55px;
}
#main-content-thanks .contents-ttl {
  margin: 0 0 20px;
  padding-top: calc(10px + 15 * (100vw - 320px) / 1120);
  padding-bottom: calc(10px + 15 * (100vw - 320px) / 1120);
  background-image: url(../images/ttl-thanks.svg);
}
#main-content-thanks {
  padding-top: calc(40px + 30 * (100vw - 320px) / 1120);
  padding-bottom: calc(40px + 30 * (100vw - 320px) / 1120);
}
#main-content-thanks .campaign-txt {
  margin: 0 0 5px;
  font-size: calc(16px + 2 * (100vw - 320px) / 1120);
  line-height: calc(150% + 3.2 * (100vw - 1440px) / -1120);
}
#main-content-thanks .tel-area {
  margin-bottom: calc(30px + 20 * (100vw - 320px) / 1120);
  display: flex;
  align-items: center;
  justify-content: center;
}
#main-content-thanks .tel-area > .tel {
  margin: 0 10px;
  color: var(--main-color);
  font-size: calc(34px + 14 * (100vw - 320px) / 1120);
  line-height: calc(120% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: bold;
}
#main-content-thanks .tel-area > .tel .icon {
  margin-top: -5px;
  vertical-align: middle;
}
#main-content-thanks .tel-area > .time {
  margin: 0 10px;
  padding: 6px 30px;
  background: var(--bg-color);
  border-radius: 30px;
}
#main-content-thanks .form-area {
  padding: calc(20px + 20 * (100vw - 320px) / 1120);
  background: #eee;
  margin-top: 100px;
}
#main-content-thanks .form-area .satori__submit_group {
  margin-bottom: 0;
  padding: 0 0 20px;
}
/*
===== FOOTER ==========================================
*/
#site-footer {
  font-size: 1.2rem;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 900px) {
  #site-footer {
    height: 90px;
  }
}
#site-footer .copyright {
  padding: 10px;
  background: var(--main-color);
  color: #fff;
}
#page-scroll {
  margin: 0;
  display: none;
  position: fixed;
  bottom: 55px;
  right: 70px;
  z-index: 500;
}
@media screen and (max-width: 900px) {
  #page-scroll {
    bottom: 20vw;
    right: 2.66666667vw;
  }
}
#page-scroll > .totop {
  background: #FFD91C;
  color: #111;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: var(--icon);
  font-weight: bold;
  font-size: calc(12px + 5 * (100vw - 320px) / 1120);
  line-height: calc(100% + 3.2 * (100vw - 1440px) / -1120);
  width: calc(60px + 20 * (100vw - 320px) / 1120);
  height: calc(60px + 20 * (100vw - 320px) / 1120);
  text-decoration: none;
}
#page-scroll .icon {
  display: block;
  font-size: calc(20px + 18 * (100vw - 320px) / 1120);
  line-height: calc(100% + 3.2 * (100vw - 1440px) / -1120);
}
/*
===== MAIN CONTENT ====================================
*/
.inner {
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
  width: 100%;
  max-width: 1180px;
  min-width: 930px;
}
.inner.-wide {
  max-width: 1170px;
}
main {
  padding-top: 80px;
  font-size: calc(14px + 2 * (100vw - 320px) / 1120);
  line-height: calc(160% + 3.2 * (100vw - 1440px) / -1120);
  -webkit-animation: fadeIn 0.6s forwards;
  animation: fadeIn 0.6s forwards;
  overflow: hidden;
  text-align: center;
}
/*
===== Flexbox サイズ固定 ====================================
*/
.fix-row {
  margin: 0 -1%;
  display: flex;
  flex-wrap: wrap;
  width: 102%;
}
.fix-row.-ai-ct {
  align-items: center;
}
.fix-row > .item {
  margin: 0 1% 2%;
}
.fix-row > .item > p:last-child {
  margin-bottom: 0;
}
.fix-row.-m2 {
  margin: 0 -2%;
  width: 104%;
}
.fix-row.-m2 > .item {
  margin: 0 2% 4%;
}
.fix-row.-nm {
  margin: 0;
  width: 100%;
}
.fix-row.-nm > .item {
  margin: 0;
}
.grid02 > .item {
  width: 48%;
}
.grid02.-m2 > .item {
  width: 46%;
}
.grid02.-nm > .item {
  width: 50%;
}
.grid03 > .item {
  width: 31.33%;
}
.grid03.-m2 > .item {
  width: 29.33%;
}
.grid03.-nm > .item {
  width: 33.33%;
}
.grid04 > .item {
  width: 23%;
}
.grid04.-m2 > .item {
  width: 21%;
}
.grid04.-nm > .item {
  width: 25%;
}
.grid05 > .item {
  width: 18%;
}
.grid05.-m2 > .item {
  width: 16%;
}
.grid05.-nm > .item {
  width: 20%;
}
.grid06 > .item {
  width: 14.66%;
}
.grid06.-m2 > .item {
  width: 12.66%;
}
.grid06.-nm > .item {
  width: 16.66%;
}
/*----- アコーディオン 矢印 -----*/
.acr-arrow > .trigger-ne,
.acr-arrow > .trigger-pr {
  padding: 12px;
  background: #01182e;
  color: #fff;
  cursor: pointer;
  text-align: center;
  position: relative;
}
.acr-arrow > .trigger-ne::before,
.acr-arrow > .trigger-pr::before {
  content: var(--icon-arrow-down);
  font-family: var(--icon);
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.acr-arrow > .trigger-ne.js-active::before,
.acr-arrow > .trigger-pr.js-active::before {
  content: var(--icon-arrow-up);
}
/*----- 共通お問い合わせエリア -----*/
.contact-area {
  margin: -40px 0 0;
  padding: 0 10px;
  position: relative;
}
.contact-area::before {
  content: '';
  background: #FFD91C;
  position: absolute;
  top: 40px;
  left: 0;
  width: 100%;
  height: calc(100% - 40px);
}
.contact-area > .block {
  margin: auto;
  background: #fff;
  border: 5px solid #FFD91C;
  border-bottom: none;
  border-radius: 40px 40px 0 0;
  max-width: 750px;
  position: relative;
}
.contact-area > .block::after,
.contact-area > .block::before {
  content: '';
  border: 100px solid transparent;
  border-top-color: #FFE878;
  position: absolute;
  top: 35px;
}
.contact-area > .block::before {
  border-right-color: #FFE878;
  left: -205px;
}
.contact-area > .block::after {
  border-left-color: #FFE878;
  right: -205px;
}
.contact-area .block-inside {
  padding: calc(15px + 35 * (100vw - 320px) / 1120);
  position: relative;
  overflow: hidden;
}
.contact-area .block-inside::after,
.contact-area .block-inside::before {
  content: '';
  border: 100px solid transparent;
  border-bottom-color: #FFD91C;
  position: absolute;
  top: 240px;
}
.contact-area .block-inside::before {
  border-left-color: #FFD91C;
  left: 0;
}
.contact-area .block-inside::after {
  border-right-color: #FFD91C;
  right: 0;
}
.contact-area .lead {
  margin: 0 0 20px;
  padding: 0 0 10px;
  border-bottom: 1px solid #333;
  display: inline-block;
  font-size: calc(14px + 11 * (100vw - 320px) / 1120);
  line-height: calc(140% + 3.2 * (100vw - 1440px) / -1120);
}
.contact-area .ttl {
  margin: 0 0 20px;
  font-size: calc(22px + 13 * (100vw - 320px) / 1120);
  line-height: calc(130% + 3.2 * (100vw - 1440px) / -1120);
}
.contact-area .ttl .s {
  font-size: calc(15px + 7 * (100vw - 320px) / 1120);
  line-height: calc(140% + 3.2 * (100vw - 1440px) / -1120);
}
.contact-area .campaign-txt {
  margin: 0 0 15px;
}
.contact-area .campaign-txt::before,
.contact-area .campaign-txt::after {
  background: #FF6600;
}
.contact-area .btn-main {
  margin: 0;
}
/*----- specお問い合わせエリア-GC20220308追加 -----*/
.contact-area-spec {
  margin: -40px 0 0;
  padding: 0 10px;
  position: relative;
}
.contact-area-spec::before {
  content: '';
  background: transparent;
  position: absolute;
  top: 40px;
  left: 0;
  width: 100%;
  height: calc(100% - 40px);
}
.contact-area-spec .campaign-txt {
  margin: 0 0 20px;
  color: var(--main-color);
}
.contact-area-spec .campaign-txt::before,
.contact-area-spec .campaign-txt::after {
  background: var(--main-color);
}
.contact-area-spec .btn-main {
  margin: 0;
}
/*----- specお問い合わせエリア-GC20220308追加 -----*/
/*----- ul disc -----*/
.disc-list > li {
  padding: 0 0 0 1em;
  position: relative;
}
.disc-list > li::before {
  content: "";
  width: 10px;
  height: 10px;
  background-color: var(--main-color);
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 0;
}
/*----- スマホ　横スクロール表示 -----*/
.swipe-scroll {
  position: relative;
}
/*
===== TOP ====================================
*/
.campaign-txt {
  padding: 0 10px;
  display: inline-block;
  font-size: calc(18px + 6 * (100vw - 320px) / 1120);
  line-height: calc(140% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: bold;
  text-align: center;
  position: relative;
}
/*----- specお問い合わせエリア-GC20220308追加 -----*/
/*.campaign-txt-spec {
  padding: 0 10px;
  display: inline-block;
  font-size: calc(18px + 6 * (100vw - 320px) / 1120);
  line-height: calc(140% + 3.2 * (100vw - 1440px) / -1120);
  font-weight: bold;
  text-align: center;
  position: relative;
}*/
/*----- specお問い合わせエリア-GC20220308追加 -----*/
.campaign-txt::before,
.campaign-txt::after {
  content: "";
  background: #333;
  display: inline-block;
  height: 1.2em;
  width: 1px;
  position: absolute;
  top: 50%;
}
.campaign-txt::before {
  transform: rotate(-30deg) translate(0, -50%);
  left: 0;
}
.campaign-txt::after {
  transform: rotate(30deg) translate(0, -50%);
  right: 0;
}
@media (max-width: 1180px) {
  body {
    margin: 0;
  }
}
@media (max-width: 900px) {
  body {
    margin: 0;
  }
  html {
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
  }
  body {
    overflow-x: hidden;
  }
  .inner {
    min-width: min(320px, 85.33333333vw);
  }
  main {
    padding-top: min(60px, 16vw);
  }
  .fix-row > .item.-o-1 {
    order: -1;
  }
  .fix-row > .item.-o1 {
    order: 1;
  }
  .fix-row > .item.-o2 {
    order: 2;
  }
  .fix-row > .item.-o3 {
    order: 3;
  }
  .fix-row > .item.-o4 {
    order: 4;
  }
  .fix-row > .item.-o5 {
    order: 5;
  }
  .grid05 > .item {
    width: 31.33%;
  }
  .grid05.-m2 > .item {
    width: 29.33%;
  }
  .grid05.-nm > .item {
    width: 33.33%;
  }
  .grid06 > .item {
    width: 31.33%;
  }
  .grid06.-m2 > .item {
    width: 29.33%;
  }
  .grid06.-nm > .item {
    width: 33.33%;
  }
  .btn-main > .btn {
    width: 80%;
    min-width: 220px;
  }
  #main-content-faqs .q-a > .q {
    padding: 10px 10px 10px 40px;
    background-position: left 10px;
  }
  #main-content-faqs .q-a > .a {
    padding: 5px 10px 10px 40px;
    background-position: left 5px;
  }
}
@media (max-width: 480px) {
  body {
    margin: 0;
  }
  ._sp-show {
    display: block;
  }
  ._sp-show.-il {
    display: inline-block;
  }
  ._sp-show.-fl {
    display: flex;
  }
  table.-block {
    text-align: left;
    width: 100%;
  }
  table.-block th {
    padding: 15px 15px 10px;
    border: none;
    display: block;
    width: 100%;
    text-align: left;
  }
  table.-block td {
    padding: 0 15px 15px;
    border: none;
    display: block;
    width: 100%;
  }
  .grid02 > .item {
    width: 98%;
  }
  .grid02.-m2 > .item {
    width: 96%;
  }
  .grid02.-nm > .item {
    width: 100%;
  }
  .grid03 > .item {
    width: 98%;
  }
  .grid03.-m2 > .item {
    width: 96%;
  }
  .grid03.-nm > .item {
    width: 100%;
  }
  .grid04 > .item {
    width: 48%;
  }
  .grid04.-m2 > .item {
    width: 46%;
  }
  .grid04.-nm > .item {
    width: 50%;
  }
  .grid05 > .item {
    width: 48%;
  }
  .grid05.-m2 > .item {
    width: 46%;
  }
  .grid05.-nm > .item {
    width: 50%;
  }
  .grid06 > .item {
    width: 48%;
  }
  .grid06.-m2 > .item {
    width: 46%;
  }
  .grid06.-nm > .item {
    width: 50%;
  }
  .swipe-scroll {
    margin: 0 0 20px;
    overflow-x: scroll;
    width: 100%;
  }
  .swipe-scroll::before {
    content: "";
    background: url(../images/swipe-btn.svg) no-repeat center center / contain;
    width: 80px;
    height: 80px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
    transition: 0.3s;
  }
  .swipe-scroll.js-hide::before {
    opacity: 0;
  }
  .swipe-scroll::-webkit-scrollbar {
    height: 5px;
  }
  .swipe-scroll::-webkit-scrollbar-track {
    border-radius: 5px;
    background: #eee;
  }
  .swipe-scroll::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #666;
  }
  .swipe-scroll > .wrap {
    margin: 0;
    width: 640px;
  }
}
@media (min-width: 1440px) {
  ._m {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  ._l {
    font-size: 1.8rem;
    line-height: 1.5;
  }
  ._ll {
    font-size: 2rem;
    line-height: 1.4;
  }
  #site-header-column {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  #site-header-info > .tel-area {
    margin-left: 20px;
    margin-right: 20px;
  }
  #site-header-info > .tel-area > .tel {
    font-size: 3.4rem;
    line-height: 1.3;
  }
  #site-header-info > .tel-area > .tel a {
    color: var(--main-color);
    text-decoration: none;
  }
  #site-header-info > .tel-area > .tel a:hover {
    color: var(--main-color);
    text-decoration: none;
  }
  #site-header-info > .tel-area .icon {
    width: 25px;
  }
  #site-header-info > .tel-area > .time {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  #page-scroll > .totop {
    font-size: 1.7rem;
    line-height: 1;
  }
  #page-scroll > .totop {
    width: 80px;
  }
  #page-scroll > .totop {
    height: 80px;
  }
  #page-scroll .icon {
    font-size: 3.8rem;
    line-height: 1;
  }
  main {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  h1,
  .h1 {
    font-size: 2.8rem;
    line-height: 1.4;
  }
  h2,
  .h2 {
    font-size: 4.5rem;
    line-height: 1.3;
  }
  h3,
  .h3 {
    font-size: 4.5rem;
    line-height: 1.3;
  }
  h4,
  .h4 {
    font-size: 1.8rem;
    line-height: 1.5;
  }
  h5,
  .h5 {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  table {
    font-size: 1.7rem;
    line-height: 1.5;
  }
  .btn-main > .btn {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .btn-main > .btn {
    padding-left: 40px;
  }
  .btn-main > .btn {
    padding-right: 50px;
  }
  .btn-main > .btn {
    font-size: 2.3rem;
    line-height: 1.4;
  }
  .btn-main > .btn::before {
    font-size: 3.4rem;
    line-height: 1;
  }
  .contact-area .block-inside {
    padding: 50px;
  }
  .contact-area .lead {
    font-size: 2.5rem;
    line-height: 1.4;
  }
  .contact-area .ttl {
    font-size: 3.5rem;
    line-height: 1.3;
  }
  .contact-area .ttl .s {
    font-size: 2.2rem;
    line-height: 1.4;
  }
  .campaign-txt {
    font-size: 2.4rem;
    line-height: 1.4;
  }
  #main-content-reason > .contents-ttl {
    margin-bottom: 30px;
  }
  #main-content-reason > .contents-ttl {
    padding-top: 55px;
    padding-bottom: 55px;
  }
  #main-content-reason > .contents-ttl > .s {
    font-size: 3.4rem;
    line-height: 1.3;
  }
  #main-content-reason .-diagonal {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #main-content-reason .-diagonal {
    font-size: 1.8rem;
    line-height: 1.8;
  }
  #main-content-reason .-diagonal > .header {
    margin-bottom: 20px;
  }
  #main-content-reason .-diagonal .ttl {
    margin-bottom: 30px;
  }
  #main-content-reason .-diagonal .ttl > .s {
    font-size: 2.4rem;
    line-height: 1.3;
  }
  #main-content-reason .-diagonal.spec .ttl {
    margin-bottom: 50px;
  }
  #main-content-reason .-diagonal.spec .spec-detail {
    padding: 30px;
  }
  #main-content-reason .-diagonal.spec .spec-detail > .img > .box {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  #main-content-reason .-diagonal.spec .spec-detail > .img > .box {
    padding-left: 30px;
    padding-right: 30px;
  }
  #main-content-reason .-diagonal.spec .spec-detail > .img .point-list {
    font-size: 2.3rem;
    line-height: 1.4;
  }
  #main-content-reason .-diagonal.spec .spec-detail > .img .point-list > li .s {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  #main-content-reason .-diagonal.spec .spec-detail > .txtarea .spec-list {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  #main-content-reason .-diagonal.shipping .ttl {
    margin-bottom: 50px;
  }
  #main-content-reason .-diagonal.support .support-list > .item {
    margin-bottom: 20px;
  }
  #main-content-reason .-diagonal.support .support-list > .item {
    padding: 20px;
  }
  #main-content-reason .-diagonal.support .support-list > .item {
    font-size: 2.4rem;
    line-height: 1.4;
  }
  #main-content-reason .-diagonal.support .support-list > .item .s {
    font-size: 1.5rem;
    line-height: 1.6;
  }
  #main-content-reason .-diagonal.support .support-change {
    margin-bottom: 30px;
  }
  #main-content-reason .-diagonal.support .support-change {
    font-size: 2.4rem;
    line-height: 1.4;
  }
  #main-content-reason .-diagonal.support .support-change > .item {
    padding-left: 20px;
    padding-right: 20px;
  }
  #main-content-reason .-diagonal.support .support-change > .item {
    font-size: 1.7rem;
    line-height: 1.5;
  }
  #main-content-solution > .header {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  #main-content-solution > .header .ttl-wave > .s {
    font-size: 2.6rem;
    line-height: 1.3;
  }
  #main-content-solution > .header .column {
    padding-left: 40px;
    padding-right: 40px;
  }
  #main-content-solution > .header .column > .check-list {
    font-size: 2.4rem;
    line-height: 1.3;
  }
  #main-content-solution .merit {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #main-content-solution .merit-list {
    font-size: 2rem;
    line-height: 1.5;
  }
  #main-content-solution .merit-list > .item > .txt {
    padding: 20px;
  }
  #main-content-solution .merit-list > .item > .txt > .l {
    font-size: 2.2rem;
    line-height: 1.3;
  }
  #main-content-solution .rental {
    padding: 15px;
  }
  #main-content-solution .rental-column > .txtarea > .ttl-wave {
    font-size: 3.4rem;
    line-height: 1.2;
  }
  #main-content-solution .rental-column > .txtarea > .ttl-wave > .l {
    font-size: 5.5rem;
    line-height: 1;
  }
  #main-content-solution .rental-column > .txtarea ruby[data-ruby]::before {
    font-size: 2rem;
    line-height: 1.5;
  }
  #main-content-solution .comparison {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  #main-content-solution .comparison-table {
    margin-bottom: 50px;
  }
  #main-content-solution .comparison-table {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  #main-content-solution .comparison-table th {
    font-size: 1.7rem;
    line-height: 1.6;
  }
  #main-content-solution .comparison-table .subsc {
    font-size: 2.1rem;
    line-height: 1.4;
  }
  #main-content-solution .comparison-table .subsc.-head {
    font-size: 2.6rem;
    line-height: 1.3;
  }
  #main-content-solution .comparison-table .disc-list {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  #main-content-voice {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  #main-content-voice .contents-ttl {
    margin-bottom: 50px;
  }
  #main-content-voice .contents-ttl {
    padding-top: 25px;
    padding-bottom: 25px;
  }
  #main-content-voice .block {
    margin-bottom: 50px;
  }
  #main-content-voice .block {
    padding: 30px;
  }
  #main-content-voice .block > .txtarea > .ttl {
    font-size: 3rem;
    line-height: 1.4;
  }
  #main-content-faqs {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  #main-content-faqs .contents-ttl {
    padding-top: 25px;
    padding-bottom: 25px;
  }
  #main-content-faqs .q-a {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  #main-content-faqs .q-a {
    padding-left: 30px;
    padding-right: 30px;
  }
  #main-content-faqs .q-a > .q {
    font-size: 2.4rem;
    line-height: 1.3;
  }
}
@media (any-hover: hover) {
  .btn-main > .btn:hover {
    background: var(--sub-color-hover);
  }
}
@media (any-hover: none) {
  .btn-main > .btn:active {
    background: var(--sub-color-hover);
  }
}
/*202201 GC追加*/
.btn-spec {
  padding-top: 70px;
}
._left {
  width: auto;
  text-align: left !important;
}
/*202201 GC追加*/
/*# sourceMappingURL=style.css.map */