@charset "UTF-8";

/* ==========================================================================
   base.css
   サイト全体に共通する基本スタイルを定義
   ========================================================================== */

body {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  -webkit-font-smoothing: antialiased;
  background: #FFFFFF;
  color: #333333;
  margin: 0;
}
@media screen and (min-width: 820px), print {
  body {
    line-height: 2em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 819px) {
  body {
    line-height: 2em;
    font-size: 1.4rem;
  }
}

/* reCaptch非表示 */
.grecaptcha-badge {
  visibility: hidden;
}

.is-grecaptcha-show .grecaptcha-badge {
  visibility: inherit;
}

/* Flocss Foundation */
/*
ms:mobile small
ml:mobile large
ts:tablet small
tl:tablet large
 d:desktop
 */
* {
  box-sizing: border-box;
}

a {
  color: #FA9025;
  transition: opacity 0.5s ease, color 0.5s ease, background-color 0.5s ease, -webkit-text-decoration 0.5s ease;
  transition: opacity 0.5s ease, color 0.5s ease, background-color 0.5s ease, text-decoration 0.5s ease;
  transition: opacity 0.5s ease, color 0.5s ease, background-color 0.5s ease, text-decoration 0.5s ease, -webkit-text-decoration 0.5s ease;
}
a:before, a:after {
  transition: opacity 0.5s ease, color 0.5s ease, background-color 0.5s ease, -webkit-text-decoration 0.5s ease;
  transition: opacity 0.5s ease, color 0.5s ease, background-color 0.5s ease, text-decoration 0.5s ease;
  transition: opacity 0.5s ease, color 0.5s ease, background-color 0.5s ease, text-decoration 0.5s ease, -webkit-text-decoration 0.5s ease;
}
a img {
  transition: opacity 0.5s ease;
}
a:link, a:visited {
  text-decoration: none;
}
a:active, a:hover {
  color: #FA9025;
  text-decoration: underline;
}
pre {
  background-color: transparent;
  border: none;
  padding: 1.6rem 0;
}

p {
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  margin-top: 0;
}
@media screen and (min-width: 820px), print {
  p {
    margin-bottom: 2em;
  }
}
@media screen and (max-width: 819px) {
  p {
    margin-bottom: 2em;
  }
}

ul, ol {
  margin-top: 0;
  padding-left: 2em;
}
@media screen and (min-width: 820px), print {
  ul, ol {
    margin-bottom: 2em;
  }
}
@media screen and (max-width: 819px) {
  ul, ol {
    margin-bottom: 2em;
  }
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
  user-drag: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  pointer-events: none !important;
}

video {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

ruby {
  ruby-align: center;
}

rt {
  text-align: center;
}

h2 rt,
h3 rt {
  font-size: 1rem;
}

_::-webkit-full-page-media, _:future, :root rt {
  transform: translate(0, 0.5em);
}

:focus {
  outline: none;
}


.c-contentsHeader {
  text-align: center;
}
@media screen and (min-width: 820px), print {
  .c-contentsHeader {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 819px) {
  .c-contentsHeader {
    margin-bottom: 2rem;
  }
}

.c-contentsHeader__main {
  line-height: 1.5;
  font-weight: bold;
}
@media screen and (min-width: 820px), print {
  .c-contentsHeader__main {
    margin-bottom: 1.5rem;
    font-size: 5.2rem;
  }
  .p-article .c-contentsHeader__main {
    margin-bottom: 1.5rem;
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 819px) {
  .c-contentsHeader__main {
    margin-bottom: 0.4rem;
    font-size: 2.4rem;
  }
  .p-article .c-contentsHeader__main {
    margin-bottom: 1rem;
    font-size: 2.6rem;
  }
}

.c-contentsHeader__sub {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width: 820px), print {
  .c-contentsHeader__sub {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 819px) {
  .c-contentsHeader__sub {
    font-size: 1.2rem;
  }
}
.c-contentsHeader__sub::before {
  content: "";
  display: inline-block;
  background-image: url(../img/common/contents-header-sub.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100%;
}
@media screen and (min-width: 820px), print {
  .c-contentsHeader__sub::before {
    min-width: 1.6rem;
    max-width: 1.6rem;
    height: 1.6rem;
    margin-right: 0.7rem;
  }
}
@media screen and (max-width: 819px) {
  .c-contentsHeader__sub::before {
    min-width: 1rem;
    max-width: 1rem;
    height: 1rem;
    margin-right: 0.4rem;
  }
}
.c-contentsHeader__sub.--white::before {
  background-image: url(../img/common/contents-header-sub--white.svg);
}




@media screen and (min-width: 820px), print {
  .c-moreTxt {
    position: relative;
    background-color: #1fbebd;
    color: #fff;
    text-align: center;
    margin: auto;
    padding: 1.8rem;
    width: 80%;
  }
  .c-moreTxt.c-moreTxt__long {
    width: 100%;
  }
  .c-moreTxt p {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 819px) {
  .c-moreTxt {
    background-color: #1fbebd;
    color: #fff;
    text-align: center;
    padding: 1.4rem 1.8rem;
  }
  .c-moreTxt p {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 0;
  }
}

.c-dotLine {
  position: absolute;
  right: 0;
  bottom: -4rem;
  left: 0;
  margin: auto;
  width: 10px;
}

.c-noteTxt {
  text-indent: -1em;
  padding-left: 1em;
}



@media screen and (min-width: 820px), print {
  .c-otherBtnArea {
    width: 80rem;
    margin: auto;
    padding: 6rem 2rem;
    background-color: #d8f3f2;
    border-radius: 3rem;
  }
  .c-otherBtnArea__txt {
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
  }
}
@media screen and (max-width: 819px) {
  .c-otherBtnArea {
    width: 100%;
    padding: 3rem 2rem;
    background-color: #d8f3f2;
    border-radius: 2rem;
  }
  .c-otherBtnArea__txt {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 2rem;
    text-align: center;
  }
}

  .l-contentsWrap.--home-flow {
    background-image: url(../img/page/home/features-accessory.svg);
    background-repeat: no-repeat;
  }
@media screen and (min-width: 820px), print {
  .l-contentsWrap.--home-flow {
    background-position: top center;
    background-size: 108rem;
  }
}
@media screen and (max-width: 819px) {
  .l-contentsWrap.--home-flow {
    background-position: top  center;
    background-size: 33.5rem;
  }
}
@media screen and (min-width: 820px), print {
  .p-flowChart {
    position: relative;
  }
  .p-flowChart__list {
    display: flex;
    justify-content: space-between;
    width: 80rem !important;
    margin: 0 auto 12rem;
    padding-left: 0;
    position: relative;
    z-index: 2;
  }
  .p-flowChart__list::before {
    content: '';
    position: absolute;
    top: 3rem;
    left: 0;
    border: 1px solid #1fbebd;
    width: 100%;
    height: 1px;
  }
  .p-flowChart__list li {
    flex-direction: row;
    font-size: 2rem;
    font-weight: bold;
    position: relative;
    padding-top: 8rem;
    list-style: none;
  }
  .p-flowChart__list li .p-flowChart__list__txt {
    display: block;
    color: #333;
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    font-family: "Hiragino Sans", "Yu Gothic", "Meiryo", "Noto Sans JP", sans-serif;
  }
  .p-flowChart__list li a.p-flowChart__list__txt {
    display: inline-block;
    padding-bottom: 3.5rem;
    position: relative;
  }
  .p-flowChart__list li a.p-flowChart__list__txt:hover {
    color: #1fbebd;
    text-decoration: none;
  }
  .p-flowChart__list li a.p-flowChart__list__txt::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 0;
    width: 2.5rem;
    height: 2.5rem;
    background-color: #1fbebd;
    border-radius: 50%;
  }
}
@media screen and (max-width: 819px) {
  .p-flowChart__list li a.p-flowChart__list__txt {
    display: inline-block;
    color: #333;
    padding-right: 3rem;
    position: relative;
  }
  .p-flowChart__list li a.p-flowChart__list__txt:hover {
    color: #1fbebd;
    text-decoration: none;
  }
  .p-flowChart__list li a.p-flowChart__list__txt::before {
    content: '';
    position: absolute;
    right: 0;
    width: 2.5rem;
    height: 2.5rem;
    background-color: #1fbebd;
    border-radius: 50%;
  }
}
@media screen and (min-width: 820px), print {
  .p-flowChart__list li a.p-flowChart__list__txt:hover::before {
    background-color: #109c9b;
  }
  .p-flowChart__list li a.p-flowChart__list__txt::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 1rem;
    left: 0;
    width: 1rem;;
    height: 1rem;;
    margin: auto;
    border: 0;
    border-bottom: .2rem solid #fff;
    border-right: .2rem solid #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .p-flowChart__list li::before {
    border: .6rem solid #c4eceb;
    border-radius: 5rem;
    background-color: #fff;
    color: #1fbebd;
    font-size: 3rem;
    width: 6rem;
    height: 6rem;
    line-height: 4.5rem;
    position: absolute;
    top: 0;
    left: -1.5rem;
    text-align: center;
    writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: horizontal-tb;
  }
}
@media screen and (max-width: 819px) {
  .p-flowChart__list li a.p-flowChart__list__txt:hover::before {
    background-color: #109c9b;
  }
  .p-flowChart__list li a.p-flowChart__list__txt::after {
    content: '';
    position: absolute;
    top: .5rem;
    right: .7rem;
    width: 1.1rem;
    height: 1.1rem;
    margin: auto;
    border: 0;
    border-bottom: .2rem solid #fff;
    border-right: .2rem solid #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .p-flowChart__list__twoWord a.p-flowChart__list__txt {
    padding-right: 1rem !important;
  }
  .p-flowChart__list__twoWord a.p-flowChart__list__txt::before {
    right: 16rem !important;
  }
  .p-flowChart__list__twoWord a.p-flowChart__list__txt::after {
    right: 16.7rem !important;
  }
  .p-flowChart__list li::before {
    border: .6rem solid #c4eceb;
    border-radius: 5rem;
    background-color: #fff;
    color: #1fbebd;
    font-size: 3rem;
    width: 6rem;
    height: 6rem;
    line-height: 4.5rem;
    position: absolute;
    top: 0;
    left: -1.5rem;
    text-align: center;
    writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: horizontal-tb;
  }
}
@media screen and (min-width: 820px), print {
  .p-flowChart__list__twoWord::before {
    left: 0 !important;
  }
  .flowChart__list__txt__sm {
    display: block;
    font-size: 1.5rem;
    font-weight: normal;
  }
  .p-flowChart__list li:nth-child(1)::before {
    content: '01';
  }
  .p-flowChart__list li:nth-child(2)::before {
    content: '02';
  }
  .p-flowChart__list li:nth-child(3)::before {
    content: '03';
  }
  .p-flowChart__list li:nth-child(4)::before {
    content: '04';
  }
  .p-flowChart__list li:nth-child(5)::before {
    content: '05';
  }
  .p-flowChart__list li:nth-child(6)::before {
    content: '06';
  }
  .p-flowChart__list li:nth-child(7)::before {
    content: '07';
  }
  
  .p-flowChart__period {
    position: absolute;
    top: -2rem;
    right: 23.5%;
    background-color: #eee;
    border-radius: 2rem;
    width: 25rem;
    height: 40rem;
    padding: 5rem;
    z-index: 1;
  }
  .p-flowChart__period__col {
    position: absolute;
    right: 0;
    bottom: -4rem;
    text-align: center;
    width: 25rem;
  }
  .p-flowChart__period__txt {
    display: flex;
    align-items: center;
    font-weight: bold;
    margin-bottom: 0;
  }
  .p-flowChart__period__txt::before,
  .p-flowChart__period__txt::after {
    content: "";
    flex-grow: 1;
    border-top: #333 2px solid;
  }
  .p-flowChart__period__txt::before {
    margin-right: 1rem;
  }
  .p-flowChart__period__txt::after {
    margin-left: 1rem;
  }
}
@media screen and (max-width: 819px) {
  .p-flowChart {
    position: relative;
  }
  .p-flowChart__list {
    margin-bottom: 0;
    padding-left: 0;
    position: relative;
    z-index: 2;
  }
  .p-flowChart__list::before {
    content: '';
    position: absolute;
    top: 1rem;
    left: 2rem;
    border: 1px solid #1fbebd;
    width: 1px;
    height: 90%;
  }
  .p-flowChart__list li {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    list-style: none;
    padding: .6rem 0 3rem 4.5rem;
    position: relative;
    width: 95%;
  }
  .p-flowChart__list li::before {
    border: .4rem solid #c4eceb;
    border-radius: 4rem;
    background-color: #fff;
    color: #1fbebd;
    font-size: 2rem;
    width: 4rem;
    height: 4rem;
    line-height: 3rem;
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
  }
  .p-flowChart__list__twoWord::before {
    left: 0 !important;
  }
  .flowChart__list__txt__sm {
    display: block;
    font-size: 1.2rem;
    font-weight: normal;
  }
  .p-flowChart__list li:nth-child(1)::before {
    content: '01';
  }
  .p-flowChart__list li:nth-child(2)::before {
    content: '02';
  }
  .p-flowChart__list li:nth-child(3)::before {
    content: '03';
  }
  .p-flowChart__list li:nth-child(4)::before {
    content: '04';
  }
  .p-flowChart__list li:nth-child(5)::before {
    content: '05';
  }
  .p-flowChart__list li:nth-child(6)::before {
    content: '06';
  }
  .p-flowChart__list li:nth-child(7)::before {
    content: '07';
  }
  
  .p-flowChart__period {
    position: absolute;
    left: -1rem;
    bottom: 7rem;
    background-color: #eee;
    border-radius: 1rem;
    width: 100%;
    height: 14rem;
    padding: 5rem;
    z-index: 1;
  }
  .p-flowChart__period__col {
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
    position: absolute;
    right: -3.5rem;
    top: 0;
  }
  .p-flowChart__period__txt {
    display: flex;
    align-items: center;
    font-weight: bold;
    margin-bottom: 0;
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
  }
  .p-flowChart__period__txt::before,
  .p-flowChart__period__txt::after {
    content: "";
    flex-grow: 1;
    border-left: #333 2px solid;
  }
  .p-flowChart__period__txt::before {
    margin-bottom: 1rem;
  }
  .p-flowChart__period__txt::after {
    margin-top: 1rem;
  }
  .p-flowChart__period__txt__num {
    text-orientation: upright;
  }
}


.p-flowPageWrap .c-moreTxt {
  width: 100%;
}
.p-flowPageWrap .c-opCom {
  text-align: center;
}
@media screen and (min-width: 820px), print {
.p-flowPageWrap .p-flowChart__period {
    position: absolute;
    top: -2rem;
    right: 19%;
    background-color: #eee;
    border-radius: 2rem;
    width: 25rem;
    height: 42rem;
    padding: 5rem;
    z-index: 1;
  }
}
@media screen and (max-width: 819px) {
  .p-flowPageWrap .p-flowChart__period {
    bottom: 5em;
    height: 14rem;
  }
  .p-flowPageWrap .p-flowChart__list::before {
    height: 85%;
  }
}

.l-contentsWrap.--home-flow .c-noteTxt,
.p-flowPageWrap .c-noteTxt {
  width: 80rem;
  margin: auto;
}
@media screen and (max-width: 819px) {
  .l-contentsWrap.--home-flow .c-noteTxt,
  .p-flowPageWrap .c-noteTxt {
    width: 100%;
  }
}

.p-faqListWrap {
  background-color: #eee;
  border-radius: 2rem;
  width: 80%;
  margin: auto;
  padding: 4rem 4rem 3rem;
}
.p-faqListWrap.--faqPage {
  background: none;
  width: 100%;
  padding: 0;
}
.p-faqListWrap.--widthLong {
  width: 100%;
}
.p-faqListWrap.--faqPage:not(:last-child) {
  margin-bottom: 8rem;
}
@media screen and (max-width: 819px) {
  .p-faqListWrap.--faqPage:not(:last-child) {
    margin-bottom: 5rem;
  }
}
.p-faqList__ttl {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 2rem;
}
@media screen and (max-width: 819px) {
  .p-faqList__ttl {
    font-size: 2.3rem;
  }
}
.p-faqList dt {
  position: relative;
  font-size: 2rem;
  margin-bottom: 1rem;
  padding: .5rem 0 0 4.5rem;
}
.p-faqList dt::first-letter {
  font-feature-settings: "palt";
}
.p-faqList dt::before {
  content: 'Q';
  color: #fff;
  font-size: 2rem;
  position: absolute;
  top: .2rem;
  left: 0;
  text-align: center;
  width: 3.5rem;
  z-index: 2;
}
.p-faqList dt::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  background-color: #1fbebd;
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  width: 3.5rem;
  height: 3.5rem;
  transform: rotate(90deg);
  z-index: 1;
}
.p-faqList dd {
  position: relative;
  margin-bottom: 2rem;
  padding: .5rem 0 0 4.5rem;
}
.p-faqList dd a {
  color: #333;
  text-decoration: underline;
}
.p-faqList dd a:hover {
  text-decoration: none;
}
.p-faqList dd::before {
  content: 'A';
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  position: absolute;
  top: .2rem;
  left: 0;
  text-align: center;
  width: 3.5rem;
  z-index: 2;
}
.p-faqList dd::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  background-color: #bc85b5;
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  width: 3.5rem;
  height: 3.5rem;
  transform: rotate(90deg);
  z-index: 1;
}
.p-faqList dd:not(:last-child) {
  padding-bottom: 2rem;
  border-bottom: 1px solid #fff;
}
.p-faqListWrap.--faqPage .p-faqList {
  border-top: 1px solid #1fbebd;
  padding-top: 2rem;
}
.p-faqListWrap.--faqPage .p-faqList dd {
  border-bottom: 1px solid #1fbebd;
  padding-bottom: 2rem;
}
@media screen and (max-width: 819px) {
  .p-faqListWrap {
    width: 100%;
    margin-top: 1rem;
    padding: 2rem 2rem 1rem;
  }
  .p-faqList dt {
    font-size: 1.6rem;
  }
}




.swiper.p-caseStudiesWrap {
  
}
@media screen and (max-width: 819px) {
.swiper.p-caseStudiesWrap {
    padding: 0 30px;
  }
}
@media screen and (max-width: 819px) {
  .swiper.p-caseStudiesWrap .p-caseStudiesDetail__logo {
    margin-bottom: .5rem;
  }
  .swiper.p-caseStudiesWrap .p-caseStudiesDetail__ttl {
    font-size: 1.5rem;
  }
  .swiper.p-caseStudiesWrap .p-caseStudiesDetail__col {
    padding-bottom: 0;
  }
}
.swiper.p-caseStudiesWrap .swiper-button-prev,
.swiper.p-caseStudiesWrap .swiper-button-next {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-image: url(../img/common/swiper-button-arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 1rem;
  background-color: #B983B7;
  border-radius: 100%;
  filter: drop-shadow(0 0 0.5rem rgba(185, 131, 183, 0.3));
  cursor: pointer;
}
@media screen and (min-width: 820px), print {
.swiper.p-caseStudiesWrap .swiper-button-prev,
.swiper.p-caseStudiesWrap .swiper-button-next {
    width: 4rem;
    height: 4rem;
    margin-top: -1.5rem;
  }
}
@media screen and (max-width: 819px) {
.swiper.p-caseStudiesWrap .swiper-button-prev,
.swiper.p-caseStudiesWrap .swiper-button-next {
    width: 3rem;
    height: 3rem;
    margin-top: -1.5rem;
  }
}
.swiper.p-caseStudiesWrap .swiper-button-prev {
  transform: rotate(180deg);
}
@media screen and (min-width: 820px), print {
.swiper.p-caseStudiesWrap .swiper-button-prev {
    margin-left: 1rem;
  }
}
@media screen and (max-width: 819px) {
.swiper.p-caseStudiesWrap .swiper-button-prev {
    margin-left: 0;
  }
}
.swiper.p-caseStudiesWrap .swiper-button-prev::after {
  content: "";
}
@media screen and (min-width: 820px), print {
.swiper.p-caseStudiesWrap .swiper-button-next {
    margin-right: 1rem;
  }
}
@media screen and (max-width: 819px) {
.swiper.p-caseStudiesWrap .swiper-button-next {
    margin-right: 0;
  }
}
.swiper.p-caseStudiesWrap .swiper-button-next::after {
  content: "";
}
.swiper.p-caseStudiesWrap .swiper-button-disabled {
  opacity: 0;
  pointer-events: none;
}



.p-article.--newsPage .p-newsListTabCont {
  background-color: #fff;
  border-radius: 2rem;
  margin-bottom: 3rem;
  padding: 2rem 2rem .1rem;
}
@media screen and (max-width: 819px) {
  .p-article.--newsPage .p-newsListTabCont {
    padding: 1rem 1rem .1rem;
  }
}
@media screen and (min-width: 820px), print {
  .p-newsListWrap {
    width: 80%;
    margin: auto;
  }
}
.p-article.--newsPage .p-newsListWrap {
    width: 100%;
}
.p-newsList > li {
  list-style: none;
}
.p-newsList__catList {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 3rem;
  padding: 0;
}
.p-newsList__catList a {
  position: relative;
}
.p-newsList__catList a:hover::after, .p-newsList__catList a::after {
  display: inline-block;
}
.p-newsList__catList a::after {
  content: '';
  display: none;
  width: 12px;
  height: 12px;
  background-color: #009655;
  border-radius: 50%;
  transition: all .2s;
  position: absolute;
  top: 50%;
  left: 6px;
  transform: translateY(-50%);
}
.p-newsList__catList a,
.p-newsList__catList a:hover {
  display: block;
  color: #333;
  text-decoration: none;
  line-height: 1;
}
.p-newsList {
  border-top: 1px solid #D6D6D6;
  padding: 0;
}
.p-article.--newsPage .p-newsList {
  border-top: 0;
}
.p-newsList a {
  display: block;
  padding: 2rem;
}
@media screen and (max-width: 819px) {
  .p-newsList a {
    padding: 1rem;
  }
}
.p-newsList a,
.p-newsList a:hover {
  color: #333;
  text-decoration: none;
}
.p-newsList a:hover {
  background-color: #eee;
}
.p-newsList li {
  border-bottom: 1px solid #D6D6D6;
}
.p-article.--newsPage .p-newsList li:last-child {
  border-bottom: 0;
}
@media screen and (min-width: 820px), print {
  .p-newsList_wrap {
    display: flex;
    align-items: flex-start;
  }
}
.p-newsList_wrap p {
  margin-bottom: 0;
}
.p-newsList_header {
  display: flex;
  margin-right: 4rem;
}
@media screen and (max-width: 819px) {
  .p-newsList_header {
    margin: 0 0 .5rem;
  }
}
.p-newsList_date {
  font-size: 1.5rem;
  font-weight: bold;
  width: 10rem;
}
@media screen and (max-width: 819px) {
  .p-newsList_date {
    width: 9.5rem;
  }
}
.p-newsList_cat {
  border: 1px solid #ccc;
  padding: .5rem;
  line-height: 1;
  text-align: center;
  width: 10rem;
  background-color: #eee;
}
@media screen and (max-width: 819px) {
  .p-newsList_cat {
    width: 8rem;
    margin-right: .4rem;
  }
}
.p-newsList__none {
  margin: 4rem 0;
  text-align: center;
}
.p-newsDetail {
  background-color: #fff;
  border-radius: 3rem;
  padding: 3rem;
}
.p-newsDetail__ttl {
  font-size: 2.6rem;
  font-weight: bold;
  margin-bottom: 3rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #D6D6D6;
}
@media screen and (max-width: 819px) {
  .p-newsDetail__ttl {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
.p-newsDetail__body {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  line-height: 1;
  margin-bottom: 2rem;
}
.p-newsDetail__cat {
  border: 1px solid #ccc;
  margin-bottom: 0;
  padding: .5rem 2rem;
  background-color: #fff;
}
.p-newsDetail__date {
  margin: 0 0 0 1rem;
  font-size: 1.6rem;
  font-weight: bold;
}

.p-newsDetail__cont h2.wp-block-heading {
  font-size: 2.2rem;
  position: relative;
  margin-bottom: 2rem;
  padding-left: 1.5rem;
}
.p-newsDetail__cont h2.wp-block-heading::before {
  content: '';
  position: absolute;
  top: .3rem;
  left: 0;
  background-color: #1fbebd;
  width: .5rem;
  height: 2.5rem;
}
@media screen and (max-width: 819px) {
  .p-newsDetail__cont h2.wp-block-heading {
    font-size: 1.8rem;
    padding-left: 1rem;
  }
  .p-newsDetail__cont h2.wp-block-heading::before {
    width: .3rem;
    height: 2.2rem;
  }
}
.p-newsDetail__cont h3.wp-block-heading {
  font-size: 2rem;
  margin-bottom: 2rem;
  padding-bottom: .8rem;
  border-bottom: 1px solid #1fbebd;
}
@media screen and (max-width: 819px) {
  .p-newsDetail__cont h3.wp-block-heading {
    font-size: 1.6rem;
  }
}
.p-newsDetail__cont h4.wp-block-heading {
  font-weight: bold;
  position: relative;
  margin-bottom: 1rem;
  padding-left: 2rem;
}
.p-newsDetail__cont h4.wp-block-heading::before {
  content: '';
  position: absolute;
  top: .9rem;
  left: 0;
  background-color: #1fbebd;
  width: 1.5rem;
  height: 1.5rem;
}
@media screen and (max-width: 819px) {
  .p-newsDetail__cont h4.wp-block-heading {
    padding-left: 1.7rem;
  }
  .p-newsDetail__cont h4.wp-block-heading::before {
    top: .7rem;
    width: 1.3rem;
    height: 1.3rem;
  }
}
.p-newsDetail__cont h5.wp-block-heading {
  position: relative;
  font-weight: bold;
  margin-bottom: 1rem;
  padding-left: 2rem;
}
.p-newsDetail__cont h5.wp-block-heading::before {
  content: '';
  position: absolute;
  top: .7rem;
  left: 0;
  background-color: #1fbebd;
  border-radius: 50%;
  width: 1.5rem;
  height: 1.5rem;
}
@media screen and (max-width: 819px) {
  .p-newsDetail__cont h5.wp-block-heading {
    line-height: 1.6;
    padding-left: 1.6rem;
  }
  .p-newsDetail__cont h5.wp-block-heading::before {
    top: .5rem;
    width: 1.2rem;
    height: 1.2rem;
  }
}
.p-newsDetail__cont h6.wp-block-heading {
  font-weight: bold;
  margin-bottom: 1rem;
}
@media screen and (max-width: 819px) {
  .p-newsDetail__cont h6.wp-block-heading {
    line-height: 1.6;
  }
}
.p-newsDetail__cont img {
  margin-bottom: 2rem !important;
}
.p-newsDetail__cont .wp-block-column {
  padding: .5rem !important;
}
@media screen and (max-width: 819px) {
  .p-newsDetail__cont .wp-block-column {
    padding: 0 !important;
  }
}
.p-newsDetail__cont .wp-block-table {
  margin-bottom: 3rem;
}
.p-newsDetail__cont .wp-block-table table th,
.p-newsDetail__cont .wp-block-table table tr,
.p-newsDetail__cont .wp-block-table table td {
  border-color: #999 !important;
}



.p-tab__box .p-panel__area .p-tab__panel {
    display: none;
}
.p-tab__box .p-panel__area .p-tab__panel.active {
    display: block;
}

.p-btn__area .p-tab__btn {
  padding-left: 2.5rem;
  position: relative;
  cursor: pointer;
}
.p-btn__area .p-tab__btn::before {
  content: '';
  position: absolute;
  top: .5rem;
  left: 0;
  width: 2.2rem;
  height: 2.2rem;
  border: .2rem solid #ccc;
  border-radius: 50%;
}
.p-btn__area .p-tab__btn.active::before {
  border-color: #1fbebd;
}
.p-btn__area .p-tab__btn.active::after {
  content: '';
  position: absolute;
  top: 1rem;
  left: .5rem;
  width: 1.2rem;
  height: 1.2rem;
  background-color: #1fbebd;
  border-radius: 50%;
}

.p-flowDetail {

}
#flowDetail1,
#flowDetail2,
#flowDetail3,
#flowDetail4,
#flowDetail5,
#flowDetail6,
#flowDetail7 {
  margin-top: -5rem;
  padding-top: 5rem;
}
@media screen and (max-width: 819px) {
  #flowDetail1,
  #flowDetail2,
  #flowDetail3,
  #flowDetail4,
  #flowDetail5,
  #flowDetail6,
  #flowDetail7 {
    margin-top: -5rem;
    padding-top: 5rem;
    margin-bottom: 5rem;
  }
  #flowDetail1,
  #flowDetail2 {
    padding-top: 8rem;
  }
  #flowDetail7 {
    margin-bottom: 0;
  }
}
.p-flowDetail__imgWrap {
  width: 25rem;
}
@media screen and (max-width: 819px) {
  .p-flowDetail__imgWrap {
    width: 100%;
    margin-bottom: 2rem;
  }
  .p-flowDetail__imgWrap > img {
    width: 100%
  }
}
.p-flowDetail__col {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: 5rem;
}
@media screen and (max-width: 819px) {
  .p-flowDetail__col {
    margin-bottom: 3rem;
  }
  .p-flowDetail__col:last-child {
    margin-bottom: 0;
  }
}
.p-flowDetail__num {
  position: absolute;
  top: -3rem;
  left: -3rem;
  width: 6rem;
  height: 6rem;
  background-color: #fff;
  border: .6rem solid #c4eceb;
  border-radius: 50%;
  color: #1fbebd;
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
  line-height: 4.5rem;;
}
.p-flowDetail__body {
  flex: 1;
  margin-left: 3rem;
}
@media screen and (max-width: 819px) {
  .p-flowDetail__body {
    margin-left: 0;
  }
}
.p-flowDetail__body .p-flowDetail__ttl {
  font-size: 2rem;
  margin-bottom: .5rem;
}
.p-flowDetail__body .c-buttonWrap {
  max-width: 30rem;
}
.p-flowDetail__note {
  padding: 1rem 2rem;
  border: 2px solid #1fbebd;
}
.p-flowDetail__note__txt {
  margin: 0;
}


.p-mediaDefWrap {
  
}
.p-mediaDefWrap.p-mediaDef__line .p-mediaDef {
  padding: 3rem;
  background-color: #fff;
  border: 3px solid #ace5e4;
}
@media screen and (max-width: 819px) {
  .p-mediaDefWrap.p-mediaDef__line .p-mediaDef {
    padding: 2rem 2rem 0;
  }
}
.p-mediaDef {
  margin-bottom: 2rem;
}
.p-mediaDef__imgWrap {
  width: 25rem;
}
@media screen and (max-width: 819px) {
  .p-mediaDef__imgWrap {
    width: 100%;
    margin-bottom: 2rem;
  }
  .p-mediaDef__imgWrap > img {
    width: 100%
  }
}
.p-mediaDef__col {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
@media screen and (max-width: 819px) {
  .p-mediaDef__col {
    margin-bottom: 3rem;
  }
  .p-mediaDef__col:last-child {
    margin-bottom: 0;
  }
}
.p-mediaDef__body {
  flex: 1;
  margin-left: 3rem;
}
@media screen and (max-width: 819px) {
  .p-mediaDef__body {
    margin-left: 0;
  }
}
.p-mediaDef__body .p-mediaDef__ttl {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
@media screen and (max-width: 819px) {
  .p-mediaDef__body .p-mediaDef__ttl {
    font-size: 1.8rem;
  }
}
.p-mediaDef__txt {
  font-size: 1.6rem;
}


.c-mediaLgWrap {
  width: 100%;
}
.l-contentsWrap.--home-case {
  width: 80%;
  margin: auto;
}
@media screen and (max-width: 819px) {
  .l-contentsWrap.--home-case {
    width: 100%;
  }
}
.c-mediaLg {
  margin-bottom: 2rem;
}
.c-mediaLg__imgWrap {
  width: 40rem;
}
@media screen and (max-width: 819px) {
  .c-mediaLg__imgWrap {
    width: 100%;
    margin-bottom: 2rem;
  }
  .c-mediaLg__imgWrap > img {
    width: 100%
  }
}
.c-mediaLg__col {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 819px) {
  .c-mediaLg__col {
    margin-bottom: 3rem;
  }
  .c-mediaLg__col:last-child {
    margin-bottom: 0;
  }
}
.c-mediaLg__body {
  flex: 1;
  margin-left: 3rem;
}
@media screen and (max-width: 819px) {
  .c-mediaLg__body {
    margin-left: 0;
  }
}
.c-mediaLg__body .c-mediaLg__ttl {
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 1rem;
}
@media screen and (max-width: 819px) {
  .c-mediaLg__body .c-mediaLg__ttl {
    font-size: 1.8rem;
  }
}
.c-mediaLg__txt {
  font-size: 1.6rem;
}
.c-mediaLg__txt:last-child {
  margin-bottom: 0;
}




.p-sidebarSearch .l-globalNavi__search {
  margin-left: 0 !important;
}
.c-sidebar__ttl {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 1rem;
  padding-left: 2rem;
  background: url("../img/common/contents-header-sub.svg") left top .1rem no-repeat;
}

.p-sidebarSearchCat .p-sidebarSearchCat__list {
  padding: 0;
}
.p-sidebarSearchCat .p-sidebarSearchCat__list > li {
  position: relative;
  padding-left: 1.5em;
}
.p-sidebarSearchCat .p-sidebarSearchCat__list > li::before {
  position: absolute;
  content: "・";
  top: 0;
  left: .5rem;
  color: #49BDBD;
}

.p-keyWordList {
  padding-left: 1.5em;
}
.p-keyWordList li {
  float: left;
  margin-right: 1.5rem;
}




/* ========================================================
追従バナー
=========================================================*/
.l-followBanner {
  z-index: 98;
  position: fixed;
  right: 2rem;
  bottom: 4rem;
  display: none;
}
@media screen and (max-width: 819px) {
  .l-followBanner {
    display: none !important;
    right: 0rem;
    bottom: 1rem;
  }
}

.l-followBanner__unit {
  position: relative;
  width: 25rem;
  filter: drop-shadow(0 0 1rem rgb(248, 248, 248));
}
@media print {
  .l-followBanner__unit {
    display: none;
  }
}
@media screen and (max-width: 819px) {
  .l-followBanner__unit {
    width: 17rem;
    filter: drop-shadow(0 0 0.5rem rgb(248, 248, 248));
  }
}

.l-followBanner__img {
  z-index: 1;
  position: relative;
}
.l-followBanner__img a {
  display: block;
  width: 100%;
  transition: opacity 0.5s ease;
}
.l-followBanner__img a:active, .l-followBanner__img a:hover {
  opacity: 0.7;
}
.l-followBanner__img img {
  width: 100%;
  height: auto;
}

.l-followBanner__close {
  z-index: 2;
  position: absolute;
  right: -1rem;
  top: -1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  color: #FFFFFF;
  cursor: pointer;
  transition: opacity 0.5s ease;
}
.l-followBanner__close:active, .l-followBanner__close:hover {
  opacity: 0.7;
}
.l-followBanner__close img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 819px) {
  .l-followBanner__close {
    right: -0.5rem;
    top: -0.5rem;
    width: 2rem;
    height: 2rem;
  }
}

/* Flocss Component */
@media screen and (min-width: 820px), print {
  .c-hw-no {
    display: flex;
    align-items: center;
    justify-content: stretch;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 819px) {
  .c-hw-no {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
  }
}
.c-hw-no .__no {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  background-image: url(../img/common/hw-no-bg.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100%;
  font-weight: bold;
  font-family: "Inter", sans-serif;
  color: #FFFFFF;
}
@media screen and (min-width: 820px), print {
  .c-hw-no .__no {
    min-width: 6rem;
    max-width: 6rem;
    height: 7rem;
    margin-right: 2rem;
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 819px) {
  .c-hw-no .__no {
    min-width: 4rem;
    max-width: 4rem;
    height: 4.6rem;
    margin-bottom: 0.2rem;
    font-size: 2rem;
  }
}
.c-hw-no .__text {
  line-height: 1.5;
  font-weight: bold;
}
@media screen and (min-width: 820px), print {
  .c-hw-no .__text {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 819px) {
  .c-hw-no .__text {
    font-size: 2rem;
  }
}





.c-button-square {
  position: relative;
  display: block;
  width: 100%;
}
@media screen and (min-width: 820px), print {
  .c-button-square {
    height: 7rem;
    padding: 0 3rem;
    filter: drop-shadow(0 1rem 2rem rgba(185, 131, 183, 0.3));
  }
}
@media screen and (max-width: 819px) {
  .c-button-square {
    height: 5.4rem;
    padding: 0 2.3rem;
    filter: drop-shadow(0 0.5rem 1rem rgba(185, 131, 183, 0.3));
  }
}
.c-button-square .__label {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  line-height: 1;
  color: #FFFFFF;
  font-weight: bold;
  background-size: auto 100%;
}
@media screen and (min-width: 820px), print {
  .c-button-square .__label {
    font-size: 2rem;
  }
}
@media screen and (max-width: 819px) {
  .c-button-square .__label {
    font-size: 1.4rem;
  }
}
.c-button-square .__label::before {
  content: "";
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100%;
}
@media screen and (min-width: 820px), print {
  .c-button-square .__label::before {
    width: 2.4rem;
    height: 2.4rem;
    margin-right: 0.9rem;
  }
}
@media screen and (max-width: 819px) {
  .c-button-square .__label::before {
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 0.7rem;
  }
}
.c-button-square::before, .c-button-square::after {
  position: absolute;
  content: "";
  height: 100%;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: auto 100%;
}
@media screen and (min-width: 820px), print {
  .c-button-square::before, .c-button-square::after {
    width: 3rem;
  }
}
@media screen and (max-width: 819px) {
  .c-button-square::before, .c-button-square::after {
    width: 2.3rem;
  }
}
.c-button-square::before {
  left: 0.1rem;
  top: 0;
  transform: rotate(0);
}
.c-button-square::after {
  right: 0.1rem;
  top: 0;
  transform: rotate(180deg);
}
.c-button-square:active, .c-button-square:hover {
  text-decoration: none;
}
.c-button-square:active .__label, .c-button-square:hover .__label {
  background-color: transparent;
  background-position: center center;
  background-repeat: repeat-x;
  background-size: auto 100%;
}
.c-button-square.--noIcon .__label::before {
  display: none;
}

.c-button-square.--noShadow {
  filter: none !important;
}

.c-button-square.--download .__label {
  background-color: #B983B7;
}
.c-button-square.--download .__label::before {
  background-image: url(../img/common/ico-note.svg);
}
.c-button-square.--download::before, .c-button-square.--download::after {
  background-image: url(../img/common/button-download-radius.svg);
}
.c-button-square.--download:active .__label, .c-button-square.--download:hover .__label {
  background-color: transparent;
  color: #B983B7;
}
@media screen and (min-width: 820px), print {
  .c-button-square.--download:active .__label, .c-button-square.--download:hover .__label {
    background-image: url(../img/common/button-download-body-hover.svg);
  }
}
@media screen and (max-width: 819px) {
  .c-button-square.--download:active .__label, .c-button-square.--download:hover .__label {
    background-image: url(../img/common/button-download-body-hover--m.svg);
  }
}
.c-button-square.--download:active .__label::before, .c-button-square.--download:hover .__label::before {
  background-image: url(../img/common/ico-note-purple.svg);
}
@media screen and (min-width: 820px), print {
  .c-button-square.--download:active::before, .c-button-square.--download:active::after, .c-button-square.--download:hover::before, .c-button-square.--download:hover::after {
    background-image: url(../img/common/button-download-radius-hover.svg);
  }
}
@media screen and (max-width: 819px) {
  .c-button-square.--download:active::before, .c-button-square.--download:active::after, .c-button-square.--download:hover::before, .c-button-square.--download:hover::after {
    background-image: url(../img/common/button-download-radius-hover--m.svg);
  }
}

.c-button-square.--download.--colorReverse .__label {
  background-color: transparent;
  background-repeat: repeat-x;
  color: #B983B7;
}
@media screen and (min-width: 820px), print {
  .c-button-square.--download.--colorReverse .__label {
    background-image: url(../img/common/button-download-body-hover.svg);
  }
}
@media screen and (max-width: 819px) {
  .c-button-square.--download.--colorReverse .__label {
    background-image: url(../img/common/button-download-body-hover--m.svg);
  }
}
.c-button-square.--download.--colorReverse .__label::before {
  background-image: url(../img/common/ico-note-purple.svg);
}
@media screen and (min-width: 820px), print {
  .c-button-square.--download.--colorReverse::before, .c-button-square.--download.--colorReverse::after {
    background-image: url(../img/common/button-download-radius-hover.svg);
  }
}
@media screen and (max-width: 819px) {
  .c-button-square.--download.--colorReverse::before, .c-button-square.--download.--colorReverse::after {
    background-image: url(../img/common/button-download-radius-hover--m.svg);
  }
}
.c-button-square.--download.--colorReverse:active .__label, .c-button-square.--download.--colorReverse:hover .__label {
  background-image: none;
  background-color: #B983B7;
  color: #FFFFFF;
}
.c-button-square.--download.--colorReverse:active .__label::before, .c-button-square.--download.--colorReverse:hover .__label::before {
  background-image: url(../img/common/ico-note.svg);
}
.c-button-square.--download.--colorReverse:active::before, .c-button-square.--download.--colorReverse:active::after, .c-button-square.--download.--colorReverse:hover::before, .c-button-square.--download.--colorReverse:hover::after {
  background-image: url(../img/common/button-download-radius.svg);
}

.c-button-square.--download.--bgOn {
  filter: drop-shadow(0 1rem 2rem rgb(219, 242, 242));
}

.c-button-square.--contact .__label {
  background-color: #49BDBD;
}
.c-button-square.--contact .__label::before {
  background-image: url(../img/common/ico-letter.svg);
}
.c-button-square.--contact::before, .c-button-square.--contact::after {
  background-image: url(../img/common/button-contact-radius.svg);
}
.c-button-square.--contact:active .__label, .c-button-square.--contact:hover .__label {
  background-color: transparent;
  color: #49BDBD;
}
@media screen and (min-width: 820px), print {
  .c-button-square.--contact:active .__label, .c-button-square.--contact:hover .__label {
    background-image: url(../img/common/button-contact-body-hover.svg);
  }
}
@media screen and (max-width: 819px) {
  .c-button-square.--contact:active .__label, .c-button-square.--contact:hover .__label {
    background-image: url(../img/common/button-contact-body-hover--m.svg);
  }
}
.c-button-square.--contact:active .__label::before, .c-button-square.--contact:hover .__label::before {
  background-image: url(../img/common/ico-letter-green.svg);
}
@media screen and (min-width: 820px), print {
  .c-button-square.--contact:active::before, .c-button-square.--contact:active::after, .c-button-square.--contact:hover::before, .c-button-square.--contact:hover::after {
    background-image: url(../img/common/button-contact-radius-hover.svg);
  }
}
@media screen and (max-width: 819px) {
  .c-button-square.--contact:active::before, .c-button-square.--contact:active::after, .c-button-square.--contact:hover::before, .c-button-square.--contact:hover::after {
    background-image: url(../img/common/button-contact-radius-hover--m.svg);
  }
}

.c-button-square.--normal .__label {
  background-color: #49BDBD;
  display: block;
  text-align: center;
}
.c-button-square.--normal .__label::after {
  content: '';
  position: absolute;
  top: 0;
  right: 4rem;
  bottom: 0;
  width: 1.5rem;
  height: 1.5rem;
  margin: auto;
  border: 0;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 1;
}
.c-button-square.--normal:hover .__label::after {
  border-color: #49BDBD;
}
@media screen and (max-width: 819px) {
  .c-button-square.--normal .__label::after {
    width: 1rem;
    height: 1rem;
    right: 2rem;
   }
}
@media screen and (max-width: 819px) {
  .c-button-square.--normal .__label {
    line-height: 1.4;
  }
}
.c-button-square.--normal::before, .c-button-square.--normal::after {
  background-image: url(../img/common/button-contact-radius.svg);
}
.c-button-square.--normal:active .__label, .c-button-square.--normal:hover .__label {
  background-color: transparent;
  color: #49BDBD;
}
@media screen and (min-width: 820px), print {
  .c-button-square.--normal:active .__label, .c-button-square.--normal:hover .__label {
    background-image: url(../img/common/button-contact-body-hover.svg);
  }
}
@media screen and (max-width: 819px) {
  .c-button-square.--normal:active .__label, .c-button-square.--normal:hover .__label {
    background-image: url(../img/common/button-contact-body-hover--m.svg);
  }
}
@media screen and (min-width: 820px), print {
  .c-button-square.--normal:active::before, .c-button-square.--normal:active::after, .c-button-square.--normal:hover::before, .c-button-square.--normal:hover::after {
    background-image: url(../img/common/button-contact-radius-hover.svg);
  }
}
@media screen and (max-width: 819px) {
  .c-button-square.--normal:active::before, .c-button-square.--normal:active::after, .c-button-square.--normal:hover::before, .c-button-square.--normal:hover::after {
    background-image: url(../img/common/button-contact-radius-hover--m.svg);
  }
}

.c-button-square.--contact.--colorReverse .__label {
  background-repeat: repeat-x;
  background-color: transparent;
  color: #49BDBD;
}
@media screen and (min-width: 820px), print {
  .c-button-square.--contact.--colorReverse .__label {
    background-image: url(../img/common/button-contact-body-hover.svg);
  }
}
@media screen and (max-width: 819px) {
  .c-button-square.--contact.--colorReverse .__label {
    background-image: url(../img/common/button-contact-body-hover--m.svg);
  }
}
.c-button-square.--contact.--colorReverse .__label::before {
  background-image: url(../img/common/ico-letter-green.svg);
}
@media screen and (min-width: 820px), print {
  .c-button-square.--contact.--colorReverse::before, .c-button-square.--contact.--colorReverse::after {
    background-image: url(../img/common/button-contact-radius-hover.svg);
  }
}
@media screen and (max-width: 819px) {
  .c-button-square.--contact.--colorReverse::before, .c-button-square.--contact.--colorReverse::after {
    background-image: url(../img/common/button-contact-radius-hover--m.svg);
  }
}
.c-button-square.--contact.--colorReverse:active .__label, .c-button-square.--contact.--colorReverse:hover .__label {
  background: none;
  background-color: #49BDBD;
  color: #FFFFFF;
}
.c-button-square.--contact.--colorReverse:active .__label::before, .c-button-square.--contact.--colorReverse:hover .__label::before {
  background-image: url(../img/common/ico-letter.svg);
}
.c-button-square.--contact.--colorReverse:active::before, .c-button-square.--contact.--colorReverse:active::after, .c-button-square.--contact.--colorReverse:hover::before, .c-button-square.--contact.--colorReverse:hover::after {
  background-image: url(../img/common/button-contact-radius.svg);
}

.c-button-square.--iconDownload .__label::before {
  background-image: url(../img/common/ico-download-white.svg);
}
.c-button-square.--iconDownload:active .__label::before, .c-button-square.--iconDownload:hover .__label::before {
  background-image: url(../img/common/ico-download-purple.svg);
}

.c-button-square.--colorReverse.--iconDownload .__label::before {
  background-image: url(../img/common/ico-download-purple.svg);
}
.c-button-square.--colorReverse.--iconDownload:active .__label::before, .c-button-square.--colorReverse.--iconDownload:hover .__label::before {
  background-image: url(../img/common/ico-download-white.svg);
}

.c-button-square:disabled .__label {
  background-repeat: repeat-x;
  background-color: #D9D9D9;
  color: #FFFFFF !important;
  background-image: url(../img/common/button-contact-body-disabled.svg) !important;
}
.c-button-square:disabled::before, .c-button-square:disabled::after {
  background-image: url(../img/common/button-contact-radius-disabled.svg) !important;
}
.c-button-square:disabled:active .__label, .c-button-square:disabled:hover .__label {
  background-image: url(../img/common/button-contact-body-disabled.svg) !important;
}
.c-button-square.--m {
  height: 5.4rem;
  padding: 0 2.3rem;
  filter: drop-shadow(0 0.5rem 1rem rgba(185, 131, 183, 0.3));
}
.c-button-square.--m .__label {
  font-size: 1.4rem;
}
.c-button-square.--m .__label::before {
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.7rem;
}
.c-button-square.--m::before, .c-button-square.--m::after {
  width: 2.3rem;
}

.c-button-square.--download.--m:active .__label, .c-button-square.--download.--m:hover .__label {
  background-image: url(../img/common/button-download-body-hover--m.svg);
}
.c-button-square.--download.--m:active::before, .c-button-square.--download.--m:active::after, .c-button-square.--download.--m:hover::before, .c-button-square.--download.--m:hover::after {
  background-image: url(../img/common/button-download-radius-hover--m.svg);
}

.c-button-square.--contact.--m:active .__label, .c-button-square.--contact.--m:hover .__label {
  background-image: url(../img/common/button-contact-body-hover--m.svg);
}
.c-button-square.--contact.--m:active::before, .c-button-square.--contact.--m:active::after, .c-button-square.--contact.--m:hover::before, .c-button-square.--contact.--m:hover::after {
  background-image: url(../img/common/button-contact-radius-hover--m.svg);
}

.c-button-square.--s {
  height: 4.4rem;
  padding: 0 1.9rem;
  filter: drop-shadow(0 0.5rem 1rem rgba(185, 131, 183, 0.3));
}
.c-button-square.--s .__label {
  font-size: 1.2rem;
}
.c-button-square.--s .__label::before {
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.7rem;
}
.c-button-square.--s::before, .c-button-square.--s::after {
  width: 1.9rem;
}

.c-button-square.--download.--s:active .__label, .c-button-square.--download.--s:hover .__label {
  background-image: url(../img/common/button-download-body-hover--s.svg);
}
.c-button-square.--download.--s:active::before, .c-button-square.--download.--s:active::after, .c-button-square.--download.--s:hover::before, .c-button-square.--download.--s:hover::after {
  background-image: url(../img/common/button-download-radius-hover--s.svg);
}

.c-button-square.--contact.--s:active .__label, .c-button-square.--contact.--s:hover .__label {
  background-image: url(../img/common/button-contact-body-hover--s.svg);
}
.c-button-square.--contact.--s:active::before, .c-button-square.--contact.--s:active::after, .c-button-square.--contact.--s:hover::before, .c-button-square.--contact.--s:hover::after {
  background-image: url(../img/common/button-contact-radius-hover--s.svg);
}

.c-buttonEmphasis {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}
@media screen and (min-width: 820px), print {
  .c-buttonEmphasis {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
}
@media screen and (max-width: 819px) {
  .c-buttonEmphasis {
    margin-bottom: 2rem;
    font-size: 1.6rem;
  }
}
.c-buttonEmphasis::before, .c-buttonEmphasis::after {
  display: inline-block;
  content: "";
  background-color: #49BDBD;
}
@media screen and (min-width: 820px), print {
  .c-buttonEmphasis::before, .c-buttonEmphasis::after {
    width: 2.4rem;
    height: 0.4rem;
    margin-top: 0.4rem;
  }
}
@media screen and (max-width: 819px) {
  .c-buttonEmphasis::before, .c-buttonEmphasis::after {
    width: 1.4rem;
    height: 0.2rem;
    margin-top: 0.2rem;
  }
}
@media screen and (max-width: 819px) {
  .c-buttonEmphasis.c-buttonEmphasis__long::before, .c-buttonEmphasis.c-buttonEmphasis__long::after {
    width: 3rem;
    height: 0.4rem;
    margin-top: 0.2rem;
  }
}
.c-buttonEmphasis::before {
  transform: rotate(60deg);
}
@media screen and (min-width: 820px), print {
  .c-buttonEmphasis::before {
    margin-right: 0.7rem;
  }
}
@media screen and (max-width: 819px) {
  .c-buttonEmphasis::before {
    margin-right: 0.4rem;
  }
}
.c-buttonEmphasis::after {
  transform: rotate(120deg);
}
@media screen and (min-width: 820px), print {
  .c-buttonEmphasis::after {
    margin-left: 0.7rem;
  }
}
@media screen and (max-width: 819px) {
  .c-buttonEmphasis::after {
    margin-left: 0.4rem;
  }
}

@media screen and (max-width: 819px) {
  .p-home__about__button .c-buttonEmphasis {
    margin-bottom: 0.8rem;
    font-size: 1.2rem;
  }
}

.c-buttonEmphasis.--s {
  margin-bottom: 0.8rem;
  font-size: 1.2rem;
}
.c-buttonEmphasis.--s::before, .c-buttonEmphasis.--s::after {
  width: 1.4rem;
  height: 0.2rem;
  margin-top: 0.2rem;
}
.c-buttonEmphasis.--s::before {
  margin-right: 0.4rem;
}
.c-buttonEmphasis.--s::after {
  margin-left: 0.4rem;
}

.c-buttonWrap {
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
}
.c-buttonWrap > *:last-child {
  margin-bottom: 0 !important;
}

.c-downloadCompleteMessage {
  line-height: 1.5;
  margin-bottom: 2rem;
  color: #49BDBD;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 820px), print {
  .c-downloadCompleteMessage {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 819px) {
  .c-downloadCompleteMessage {
    font-size: 2rem;
  }
}

@media screen and (min-width: 820px), print {
  .c-leadText {
    line-height: 2;
    margin-bottom: 8rem;
    font-size: 1.4rem;
    text-align: center;
  }
}
@media screen and (max-width: 819px) {
  .c-leadText {
    line-height: 1.8;
    margin-bottom: 4rem;
    font-size: 1.4rem;
  }
}
.c-leadText.--colorWht {
  color: #fff;
}
@media screen and (max-width: 819px) {
  .c-leadText {
    line-height: 1.8;
    margin-bottom: 4rem;
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 820px), print {
  .c-leadText.--mb-slim {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 819px) {
  .c-leadText.--mb-slim {
    margin-bottom: 2rem;
  }
}

.c-leadText__title {
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 820px), print {
  .c-leadText__title {
    margin-bottom: 2rem;
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 819px) {
  .c-leadText__title {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
}



.c-comChoiceWrap {
  z-index: 999;
  position: relative;
  padding: 6rem 0;
  background-color: #1fbebd;
}
@media screen and (max-width: 819px) {
  .c-comChoiceWrap {
    padding: 4rem 0;
  }
}
.c-comChoiceWrap__inner {
  display: flex;
  gap: 5rem;
  max-width: 1000px;
  width: 80%;
  margin: auto;
}
@media screen and (max-width: 819px) {
  .c-comChoiceWrap__inner {
    display: block;
  }
}
.c-comChoice {
  display:flex;
  flex-direction:column;
  width: 50%;
  padding: 5rem;
  background-color: #fff;
  border-radius: 2rem;;
  border: 2px solid #16a5a4;
}
@media screen and (max-width: 819px) {
  .c-comChoice {
    width: 100%;
    padding: 2rem;
  }
  .c-comChoice:first-child {
    margin-bottom: 2rem;
  }
}
.c-comChoice__body {
  flex-grow:1;
}
.c-comChoice__ttl {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 2rem;
  text-align: center;
}
.c-comChoice .c-button-square .__label {
  font-feature-settings: "palt";
}
@media screen and (max-width: 819px) {
  .c-comChoice .c-button-square .__label {
    line-height: 1.2;
  }
}


.c-comCaseWrap {
  padding: 6rem 0;
  background-color: #1fbebd;
}
@media screen and (max-width: 819px) {
  .c-comCaseWrap {
    padding: 4rem 0;
  }
}
.c-comCase {
  max-width: 800px;
  width: 80%;
  margin: auto;
  padding: 5rem;
  background-color: #fff;
  border-radius: 2rem;;
  border: 2px solid #16a5a4;
}
@media screen and (max-width: 819px) {
  .c-comCase {
    padding: 2rem;
    border-radius: 2rem;;
  }
}
.c-comCase__ttl {
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 819px) {
  .c-comCase__ttl {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 819px) {
  .c-comCase .__label {
    font-feature-settings: "palt";
    line-height: 1.2;
  }
}

