@charset "UTF-8";
/* ==========================================================================
   reset
   ========================================================================== */
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 {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
}

body {
  line-height: 1;
}

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

ul, ol {
  list-style: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  outline: 0;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

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

input, select {
  vertical-align: middle;
  font: inherit;
  outline: 0;
}

button {
  font: inherit;
  outline: 0;
  cursor: pointer;
}

img {
  vertical-align: top;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
}

th, td {
  font-weight: 300;
}

strong {
  font-weight: bold;
}

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





/* ==========================================================================
	 base
	========================================================================== */
html {
  font-size: 10px;
  scroll-behavior: smooth;
}
@media only screen and (max-width: 979px) {
  html {
    font-size: 1.0204081633vw;
  }
}
@media only screen and (max-width: 767px) {
  html {
    font-size: 1.3333333333vw;
  }
}

body {
  width: 100%;
  min-width: 320px;
  height: 100%;
  color: #000;
  background: #fdfdf2;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", Helvetica, Arial, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
  position: relative;
  -webkit-text-size-adjust: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

::-moz-selection {
  color: #FFF;
  background: rgba(56, 85, 114, 0.5);
}

::selection {
  color: #FFF;
  background: rgba(56, 85, 114, 0.5);
}

a {
  color: #385572;
  -webkit-transition: opacity 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: opacity 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: opacity 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  text-decoration: none;
}
a:hover, a:active {
  color: rgba(56, 85, 114, 0.7);
  text-decoration: none;
}

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

p + p {
  margin-top: 1em;
}

sup {
  font-size: 70%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
}

.u-txt-em {
  color: #fff54e;
  font-style: normal;
}

.u-txt-main {
  color: #385572;
  font-style: normal;
}

.u-txt-sub {
  color: #eb6143;
  font-style: normal;
}

.u-fw-normal {
  font-weight: normal !important;
}

.u-underline {
  font-style: normal;
  background: linear-gradient(transparent 80%, #fff54e 80% 100%);
  padding: 0 0 0.1em;
}

.is-pc {
  display: block;
}

.is-sp {
  display: none;
}

.u-pc-block {
  display: block;
}

.u-sp-block {
  display: inline;
}

.u-pc-hidden {
  display: none;
  visibility: hidden;
}

.u-sp-hidden {
  display: inline;
  visibility: visible;
}

.u-block {
  display: block;
}

.u-inline-block {
  display: inline-block;
}

/**横割り上書き**/
ul[class*="colspa_02"]>li { width: calc(50% - 30px); margin-right: 60px;}
ul[class*="colspa_02"][class*="_nomarg"] li{margin-right: 0!important; width: 50%;}

/**横幅設定**/
[class*="OsrWth_"]{width: 100%; padding-left: 50px!important; padding-right: 50px!important; margin: auto;}
[class*="OsrWth_600"]{max-width: 600px;}
[class*="OsrWth_700"]{max-width: 700px;}
[class*="OsrWth_800"]{max-width: 800px;}
[class*="OsrWth_900"]{max-width: 900px;}
[class*="OsrWth_1000"]{max-width: 1000px;}
[class*="OsrWth_1100"]{max-width: 1100px;}
[class*="OsrWth_1200"]{max-width: 1200px;}
[class*="OsrWth_1300"]{max-width: 1300px;}
[class*="OsrWth_1500"]{max-width: 1500px;}
[class*="OsrWth_1600"]{max-width: 1600px;}
[class*="OsrWth_1700"]{max-width: 1700px;}
[class*="OsrWth_1800"]{max-width: 1800px;}
[class*="OsrWth_1900"]{max-width: 1900px;}
[class*="OsrWth_2000"]{max-width: 2000px;}
[class*="OsrWth_"][class*="_nopad"]{padding-left: 0!important; padding-right: 0!important;}
/**slickカスタマイズ**/
[class*="_SlDes"] .slick-list li.slick-slide img{ max-width: 100%;}
[class*="_SlDes"] [class*="arrow-"]{display: inline-block; width: 3em; height: 3em; position: absolute; top: 0; bottom: 0; margin: auto;/* background-image: url(../img/arr_black.svg); width: 3em; height: 3em; background-repeat: no-repeat; background-position: center center; background-size: 100% auto;*/ cursor: pointer; z-index: 101; }
[class*="_SlDes"] [class*="arrow-"]:before{ display: inline-block; width: 75%; height: 75%; content: ""; border-left: 1px solid #000; border-bottom: 1px solid #000; transform:scale(1, 0.75) rotate(45deg) ; position: absolute; top:0; bottom: 0; left:0; right:0; margin: auto;}
[class*="_SlDes"] .arrow-prev{ left:2vw;}
[class*="_SlDes"] .arrow-next{ right:2vw; }
[class*="_SlDes"] .arrow-next:before{ transform:scale(1, 0.75) rotate(-135deg);}
[class*="_SlDes"] .uniq-dots{position: absolute; bottom:0; display: flex; width: 100%; justify-content: center;}
[class*="_SlDes"] .uniq-dots li{ height: 2em; width: 2em; margin: 0 0.5em; padding: 0!important; cursor: pointer;}
[class*="_SlDes"] .uniq-dots li button{ display: block; border: 0; background: #AFAFAF; height: 100%; width: 100%; outline: none; line-height: 0px; font-size: 0px; color: transparent; cursor: pointer; border-radius: 50%;}
[class*="_SlDes"] .uniq-dots li.slick-active button{ background: #4A4A4A;}


@media only screen and (max-width: 767px) {
  .is-pc {
    display: none;
  }

  .is-sp {
    display: block;
  }

  .u-pc-block {
    display: inline;
  }

  .u-sp-block {
    display: block;
  }

  .u-pc-hidden {
    display: inline;
    visibility: visible;
  }

  .u-sp-hidden {
    display: none;
    visibility: hidden;
  }
  
  
/**横幅設定**/
[class*="OsrWth_"]{padding-left: 7.5vw!important; padding-right: 7.5vw!important;}
[class*="OsrWth_"][class*="-nopad"]{padding-left: 0!important; padding-right: 0!important;}

/**slickカスタマイズ**/
[class*="_SlDes"] .slick-list li.slick-slide img{ }
[class*="_SlDes"] [class*="arrow-"]{ top: auto; bottom: 0; width: 2em; height:2em; }
[class*="_SlDes"] .arrow-prev{ }
[class*="_SlDes"] .arrow-next{ right: auto; }
[class*="_SlDes"] .uniq-dots{}
[class*="_SlDes"] .uniq-dots li{ }
[class*="_SlDes"] .uniq-dots li button{}
[class*="_SlDes"] .uniq-dots li.slick-active button{ }
  
}
.js-link-tel {
  cursor: default;
  pointer-events: none;
}

/* ==========================================================================
   parts - component
   ========================================================================== */
/* .js-slider
   ----------------------------------------------------------------------------- */
.js-slider .slick-list {
  padding-bottom: 2rem !important;
}
.js-slider .slick-track {
  display: flex;
}
.js-slider .slick-slide {
  height: auto !important;
}
.js-slider .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.3rem;
  height: 2.3rem;
  padding: 0;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  color: #5a5b5b;
  border: currentcolor solid 1px;
  border-radius: 50%;
  outline: none;
  background: #FFF;
  margin-top: -2rem;
  box-shadow: 0 0.5rem 0.9rem rgba(0, 0, 0, 0.07);
  opacity: 1;
  transition: opacity 0.15s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.js-slider .slick-arrow:hover, .js-slider .slick-arrow:focus {
  outline: none;
  opacity: 0.7;
}
.js-slider .slick-arrow::before {
  display: block;
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-top: currentcolor solid 1px;
  border-right: currentcolor solid 1px;
  transform: rotate(-135deg);
}
.js-slider .slick-arrow.slick-prev {
  left: -2.6rem;
  padding-left: 0.2rem;
}
.js-slider .slick-arrow.slick-next {
  right: -2.6rem;
  padding-right: 0.2rem;
}
.js-slider .slick-arrow.slick-next::before {
  transform: rotate(45deg);
}
.js-slider .slick-dots {
  position: absolute;
  top: 100%;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.6rem;
  width: 100%;
}
.js-slider .slick-dots li button {
  display: block;
  width: 1rem;
  height: 1rem;
  padding: 0;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}
.js-slider .slick-dots li button:hover, .js-slider .slick-dots li button:focus {
  outline: none;
}
.js-slider .slick-dots li button:hover::before {
  background: #5a5b5b;
}
.js-slider .slick-dots li button::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: #FFF;
  border: #5a5b5b solid 0.1rem;
  border-radius: 50%;
}
.js-slider .slick-dots li.slick-active button::before {
  background: #5a5b5b;
}
@media only screen and (max-width: 767px) {
  .js-slider .slick-list {
    padding-bottom: 3rem !important;
  }
  .js-slider .slick-arrow {
    width: 4.5rem;
    height: 4.5rem;
    border-width: 0.2rem;
    margin-top: -3rem;
  }
  .js-slider .slick-arrow::before {
    width: 1.6rem;
    height: 1.6rem;
    border-top-width: 0.2rem;
    border-right-width: 0.2rem;
  }
  .js-slider .slick-arrow.slick-prev {
    left: -1rem;
    padding-left: 0.4rem;
  }
  .js-slider .slick-arrow.slick-next {
    right: -1rem;
    padding-right: 0.4rem;
  }
  .js-slider .slick-dots {
    gap: 0 1.3rem;
  }
  .js-slider .slick-dots li button {
    width: 2.2rem;
    height: 2.2rem;
  }
  .js-slider .slick-dots li button::before {
    border-width: 0.2rem;
  }
}

/* .js-accordion
----------------------------------------------------------------------------- */
.js-accordion-item__link {
  cursor: pointer;
}

/* .c-cta
----------------------------------------------------------------------------- */
.c-cta {
  text-align: center;
  background: url(../img/cta_bg.webp) 50% 50% no-repeat;
  background-size: cover;
  padding: 7rem 5rem;
}
.c-cta__title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 3.5rem;
  color: #FFF;
  margin-bottom: 1.25em;
  filter: drop-shadow(0 0 0.133em rgba(0, 0, 0, 0.6));
}
.c-cta__title::after {
  display: block;
  content: "";
  width: 1.285em;
  height: 0.057em;
  background: currentcolor;
}
[class*="c-cta__list"] {
  display: inline-flex;
  justify-content: center;
  gap: 4rem;
  width: auto;
  max-width: 88rem;
  background: #FFF;
  margin: 0 auto;
  padding: 3.5rem 8rem 4rem;
}
.c-cta__listCTA{max-width: 120rem;gap: 2rem;padding: 3.5rem 5rem 4rem;width: 100%; flex-wrap: wrap;}
.c-cta__listCTA .list-item{width: 32%!important;}

[class*="c-cta__list"].-type1 {
  max-width: 57rem;
}
[class*="c-cta__list"] .list-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 50%;
  min-width: 34rem;
}
[class*="c-cta__list"] .list-item__text {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0;
  margin-bottom: 0.6em;
}
.c-cta .btn {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.1;
  text-decoration: none;
  background: #385572;
  color: #FFF;
  cursor: pointer;
  padding: 0.8em 1em 0.9em 3em;
  margin-right: auto;
  margin-left: auto;
  border: none;
  border-radius: 100vh;
  box-shadow: 0 0.3em 0.3em rgba(0, 0, 0, 0.16);
  transition: opacity 0.15s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.c-cta .btn--search {
  background: #385572;
  background: linear-gradient(90deg, #37536f 0%, #2c445c 100%);
}
.c-cta .btn--doc {
  background: #eb6143;
  background: linear-gradient(90deg, #f4694e 0%, #ee5b3f 100%);
}
.c-cta .btn .icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.c-cta .btn .icon--search {
  width: 1.59em;
  height: 3em;
  right: 1.36em;
  background: url(../img/cta_img_search.webp) 50% 50% no-repeat;
  background-size: contain;
}
.c-cta .btn .icon--doc {
  width: 4.54em;
  height: 3.68em;
  right: 0em;
  background: url(../img/cta_img_doc.webp) 50% 50% no-repeat;
  background-size: contain;
}
.c-cta .btn > span {
  position: relative;
  z-index: 3;
}
.c-cta .btn:hover {
  opacity: 0.8;
}
@media only screen and (max-width: 767px) {
  .c-cta {
    background-image: url(../img/sp/cta_bg.webp);
    padding: 8rem 3rem;
  }
  .c-cta__title {
    font-size: 5.4rem;
    letter-spacing: 0;
    margin-bottom: 0.75em;
  }
  [class*="c-cta__list"] {
    display: flex;
    flex-direction: column;
    max-width: none;
    padding: 3.5rem 3rem 4rem;
  }
  .c-cta__listCTA{gap: 6rem;}
  .c-cta__listCTA .list-item{width: 100%!important;}
  
  [class*="c-cta__list"].-type1 {
    max-width: none;
  }
  [class*="c-cta__list"] .list-item {
    width: 100%;
  }
  [class*="c-cta__list"] .list-item__text {
    font-size: 3.5rem;
    line-height: 1.3;
  }
  .c-cta .btn {
    font-size: 3.5rem;
    padding: 0.9em 1em 0.9em 4em;
  }
  .c-cta .btn .icon {
    transform: translateY(-50%) scale(1.05);
  }
  .c-cta .btn .icon--search {
    right: 2.66em;
  }
  .c-cta .btn .icon--doc {
    right: 1em;
  }
}

/* ==========================================================================
   layout - page
   ========================================================================== */
.page {
  position: relative;
}

/* ==========================================================================
	 layout - header
	 ========================================================================== */
.header {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 59rem;
  background: #FFF url(../img/header_bg.webp) 50% 50% no-repeat;
  background-size: cover;
}
.header__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 64rem;
  height: 39.5rem;
  background: #FFF;
  padding-top: 3rem;
  clip-path: polygon(50% 0%, 100% calc(100% - 22.6rem), 100% 100%, 0 100%, 0% calc(100% - 22.6rem));
}
.header__logo {
  width: 16rem;
}
.header__desc {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.3;
  border-bottom: currentcolor solid 1px;
  margin-top: 1em;
}
.header__title {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 1.3;
  margin-top: 0.5em;
}
@media only screen and (max-width: 767px) {
  .header {
    height: 75rem;
    background-image: url(../img/sp/header_bg.webp);
  }
  .header__inner {
    width: 69rem;
    height: 47.5rem;
    padding-top: 5rem;
    clip-path: polygon(50% 0%, 100% calc(100% - 31rem), 100% 100%, 0 100%, 0% calc(100% - 31rem));
  }
  .header__logo {
    width: 24.4rem;
  }
  .header__desc {
    font-size: 3.5rem;
  }
  .header__title {
    font-size: 5.2rem;
    margin-top: 0.5em;
  }
}

/* ==========================================================================
	 layout - main
	 ========================================================================== */
.main {
  position: relative;
  width: 100%;
  overflow: hidden;
}
/* .section セクション
----------------------------------------------------------------------------- */
.section {
  position: relative;
  background: #e8eded;
  padding-top: 7rem;
  padding-bottom: 7rem;
}
.section__inner {
  width: 93.1818181818%;
  max-width: 880px;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .section__inner {
    width: 100%;
  }
}
.section__title {
  position: relative;
  text-align: center;
  font-size: 3.5rem;
  line-height: 1.3;
  margin-bottom: 0.75em;
}
@media only screen and (max-width: 767px) {
  .section {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
  .section__inner {
    padding-right: 3rem;
    padding-left: 3rem;
  }
  .section__title {
    font-size: 5.4rem;
    margin-bottom: 0.75em;
  }
}

/* ==========================================================================
	 layout - footer
	 ========================================================================== */
.footer {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 1.5rem;
  background: #000;
  color: #FFF;
  font-size: 1rem;
  padding: 2em 1em;
}
.footer__daigas {
  width: 21rem;
}
@media only screen and (max-width: 767px) {
  .footer {
    font-size: 1.4rem;
  }
  .footer__daigas {
    width: 32rem;
  }
}

/* ==========================================================================
	 block - .case
	 ========================================================================== */
.case__list {
  max-width: 65rem;
  margin: 0 auto;
}
.case__list .list-item {
  width: 65rem;
  padding: 0 2rem;
}
.case__list .list-item__inner {
  width: 100%;
  height: 100%;
  background: #FFF;
  padding: 0.5rem 4rem 3.5rem;
  box-shadow: 0 0.5rem 0.9rem rgba(0, 0, 0, 0.07);
}
.case__list .list-item__caption {
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
  text-align: center;
  min-height: 4.5em;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.25;
}
.case__list .list-item__caption span {
  display: block;
}
.case__list .list-item-row {
  display: flex;
  gap: 2.2rem;
}
.case__list .list-item__image {
  width: 38rem;
}
.case__list .list-item__tags {
  display: flex;
  flex-direction: column;
  gap: 0.6em;
}
.case__list .list-item__tags dl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.3em;
  line-height: 1.3;
}
.case__list .list-item__tags dl dt {
  text-align: center;
  min-width: 5em;
  padding: 0.1em;
  background: #d7dde3;
}
@media only screen and (max-width: 767px) {
  .case__list {
    max-width: 69rem;
  }
  .case__list .list-item {
    width: 69rem;
  }
  .case__list .list-item__inner {
    padding: 0;
  }
  .case__list .list-item__caption {
    flex-direction: column;
    flex-wrap: nowrap;
    min-height: 5.6em;
    font-size: 3.5rem;
    padding: 0.2em;
  }
  .case__list .list-item-row {
    flex-direction: column;
    gap: 2.2rem;
    padding: 0 6rem 3.5rem;
  }
  .case__list .list-item__image {
    width: 100%;
  }
  .case__list .list-item__tags {
    flex-direction: column;
    gap: 0.7rem;
    width: 100%;
    font-size: 2.6rem;
  }
  .case__list .list-item__tags dl {
    flex-direction: row;
    gap: 0.5em;
  }
}

/* ==========================================================================
	 block - .trouble
	 ========================================================================== */
.trouble {
  background: #e9eaea;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8rem), 50% 100%, 0 calc(100% - 8rem));
}
.trouble__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4rem 6rem;
}
.trouble__list .list-item {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  width: 41rem;
  background: #FFF;
  padding: 0 2rem 0 3rem;
  border-radius: 1.5rem 1.5rem 0.1rem 1.5rem;
  box-shadow: 0 0.55rem 0.45rem rgba(0, 0, 0, 0.11);
  overflow: hidden;
  box-sizing: border-box;
}
.trouble__list .list-item:nth-of-type(2n) {
  flex-direction: row-reverse;
  gap: 0;
  padding: 0 0 0 3rem;
  border-radius: 1.5rem 1.5rem 1.5rem 0.1rem;
}
.trouble__list .list-item:nth-of-type(3) {
  width: 45rem;
}
.trouble__list .list-item:nth-of-type(3) .list-item__image {
  min-width: 8.8rem;
}
.trouble__list .list-item__image {
  min-width: 8.4rem;
  align-self: flex-end;
  margin-top: 1rem;
  margin-bottom: -0.3rem;
}
.trouble__list .list-item__text {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
  padding: 1em 0;
}
.trouble_img_01 {
  width: 8.4rem;
}
.trouble_img_02 {
  width: 8.4rem;
}
.trouble_img_03 {
  width: 8.8rem;
}
@media only screen and (max-width: 767px) {
  .trouble {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 6.2rem), 50% 100%, 0 calc(100% - 6.2rem));
  }
  .trouble__list {
    flex-direction: column;
    gap: 5rem;
    padding-bottom: 4rem;
  }
  .trouble__list .list-item {
    gap: 3rem;
    width: 100%;
    padding: 0rem 4rem;
    border-radius: 3.1rem 3.1rem 0.1rem 3.1rem;
    box-shadow: 0 1.1rem 0.9rem rgba(0, 0, 0, 0.11);
  }
  .trouble__list .list-item:nth-of-type(2n) {
    padding: 0 4rem;
    border-radius: 3.1rem 3.1rem 3.1rem 0.1rem;
  }
  .trouble__list .list-item:nth-of-type(1) .list-item__image {
    align-self: flex-end;
  }
  .trouble__list .list-item:nth-of-type(3) {
    width: 100%;
  }
  .trouble__list .list-item:nth-of-type(3) .list-item__image {
    min-width: 15rem;
  }
  .trouble__list .list-item__image {
    min-width: 14rem;
    align-self: center;
    margin-top: 1;
    margin-bottom: 0;
  }
  .trouble__list .list-item__text {
    font-size: 3.1rem;
    padding: 3rem 0;
  }
  .trouble_img_01 {
    width: 13.7rem;
  }
  .trouble_img_02 {
    width: 14rem;
  }
  .trouble_img_03 {
    width: 15rem;
  }
}

/* ==========================================================================
	 block - .point
	 ========================================================================== */
.point {
  background-color: #fdfdf2;
}
.point__desc {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  margin-top: -0.5em;
}
.point__sub-title {
  font-size: 3.5rem;
  font-weight: bold;
  text-align: center;
  margin-top: 5rem;
  margin-bottom: 6rem;
}
.point__list {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8rem;
}
.point__list .list-item {
  background: #e8eded;
}
.point__list .list-item-row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 2.6rem;
  padding: 3rem;
  border: #385572 solid 0.2rem;
  border-top: none;
}
.point__list .list-item__title {
  position: relative;
  text-align: center;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.3;
  background: #385572;
  color: #FFF;
  padding: 0.75em;
}
.point__list .list-item__title img {
  position: absolute;
  bottom: 100%;
  left: 0;
  transform: translateY(0.1rem);
  width: auto;
  height: 3.5rem;
}
.point__list .list-item__text {
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
}
.point__list .list-item:nth-of-type(1) .list-item__image img {
  width: 42.9rem;
}
.point__list .list-item:nth-of-type(1) .list-item__text {
  text-align: left;
}
.point__list .list-item:nth-of-type(2) .list-item__image img {
  width: 6.6rem;
}
.point__list .list-item:nth-of-type(2) .list-item-row {
  flex-direction: row-reverse;
}
.point__list .list-item:nth-of-type(3) .list-item__image img {
  width: 5.8rem;
}
.point__more {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.3;
  color: #385572;
  padding: 1.2em;
  margin: 3.5rem auto;
}
.point__more::before, .point__more::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%);
  display: block;
  content: "";
  width: 1px;
  background: currentcolor;
}
.point__more::before {
  height: 100%;
}
.point__more::after {
  transform-origin: left bottom;
  transform: translate(-50%) rotate(25deg);
  height: 0.8em;
}
.point__more span {
  position: relative;
  z-index: 3;
  display: inline-block;
  background: #fdfdf2;
}
.point-outro {
  text-align: center;
  max-width: 770px;
  margin: 0 auto;
}
.point-outro__text {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 1.25em;
}
.point-outro__list {
  display: flex;
  justify-content: space-between;
  gap: 5rem;
}
.point-outro__list dl {
  display: flex;
  flex-direction: column-reverse;
  width: 50%;
  line-height: 1.3;
  background: #385572;
  color: #FFF;
  padding: 2.5rem;
}
.point-outro__list dl dt {
  font-size: 1.98rem;
}
.point-outro__list dl dd {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 2.75rem;
  font-weight: bold;
}
.point-outro__list dl dd strong {
  font-size: 4.95rem;
  color: #fff54e;
}
.point-outro__list dl dd strong .fs-sm {
  font-size: 4.4rem;
}
@media only screen and (max-width: 767px) {
  .point__desc {
    font-size: 3.5rem;
    margin-top: -0.5em;
  }
  .point__sub-title {
    font-size: 5.5rem;
    margin-bottom: 7rem;
  }
  .point__list {
    gap: 10.8rem;
  }
  .point__list .list-item-row {
    justify-content: space-between;
    gap: 2rem;
    padding: 4rem 2.6rem;
  }
  .point__list .list-item__title {
    text-align: left;
    font-size: 3.7rem;
    padding: 0.5em;
  }
  .point__list .list-item__title img {
    height: 6rem;
  }
  .point__list .list-item__text {
    text-align: left;
    font-size: 3.2rem;
    line-height: 1.5;
  }
  .point__list .list-item:nth-of-type(1) .list-item-row {
    flex-direction: column;
    gap: 3rem;
  }
  .point__list .list-item:nth-of-type(1) .list-item__image img {
    width: 100%;
  }
  .point__list .list-item:nth-of-type(1) .list-item__text br {
    display: none;
  }
  .point__list .list-item:nth-of-type(2) .list-item__image img {
    width: 11.3rem;
  }
  .point__list .list-item:nth-of-type(2) .list-item__text {
    width: 50rem;
  }
  .point__list .list-item:nth-of-type(2) .list-item__text br {
    display: none;
  }
  .point__list .list-item:nth-of-type(3) .list-item-row {
    padding-left: 3.6rem;
  }
  .point__list .list-item:nth-of-type(3) .list-item__image img {
    width: 10rem;
  }
  .point__list .list-item:nth-of-type(3) .list-item__text {
    width: 50rem;
  }
  .point__list .list-item:nth-of-type(3) .list-item__text br {
    display: none;
  }
  .point__more {
    font-size: 3rem;
    margin: 4rem auto;
  }
  .point-outro {
    max-width: none;
  }
  .point-outro__text {
    font-size: 4.8rem;
    line-height: 1.3;
  }
  .point-outro__list {
    flex-direction: column;
  }
  .point-outro__list dl {
    width: 100%;
    padding: 5rem 2.5rem;
  }
  .point-outro__list dl dt {
    font-size: 3rem;
  }
  .point-outro__list dl dd {
    flex-direction: row;
    justify-content: center;
    align-items: baseline;
    gap: 0.5rem;
    font-size: 4.8rem;
  }
  .point-outro__list dl dd strong {
    font-size: 7rem;
  }
  .point-outro__list dl dd strong .fs-sm {
    font-size: 5.6rem;
  }
}

/* ==========================================================================
	 block - .voice
	 ========================================================================== */
.voice {
  background: #FFF;
}
.voice__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin: 3rem auto 0;
}
.voice__list .list-item {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 3.5rem;
}
.voice__list .list-item-start {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  width: 8rem;
}
.voice__list .list-item-end {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 54rem;
  background: #f6f9fc;
  border: #385572 solid 1px;
  border-radius: 1.5rem 1.5rem 1.5rem 0;
  padding: 2.5rem 5rem;
}
.voice__list .list-item__thumb {
  width: 100%;
}
.voice__list .list-item__tags {
  display: flex;
  flex-direction: column;
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.1;
  gap: 0.2rem;
}
.voice__list .list-item__tags li {
  background: #f1f2f2;
  padding: 0.1em;
}
.voice__list .list-item__title {
  position: relative;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  justify-items: center;
  width: auto;
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.5;
  color: #385572;
}
.voice__list .list-item__title .u-inline-block {
  display: inline;
  width: auto;
}
.voice__list .list-item__title::before, .voice__list .list-item__title::after {
  position: absolute;
  top: 0.4rem;
  display: block;
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  background: url(../img/voice_i_quote.svg) 50% 50% no-repeat;
  background-size: contain;
  margin: 0 0.5em;
}
.voice__list .list-item__title::before {
  right: 100%;
}
.voice__list .list-item__title::after {
  left: 100%;
  transform: scale(-100%);
}
.voice__list .list-item__text {
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 0.5em;
}
@media only screen and (max-width: 767px) {
  .voice__list {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    margin: 3rem auto 0;
  }
  .voice__list .list-item {
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 2rem;
  }
  .voice__list .list-item:nth-of-type(2n) {
    flex-direction: row;
  }
  .voice__list .list-item:nth-of-type(2n) .list-item-end {
    border-radius: 3rem 3rem 3rem 0;
  }
  .voice__list .list-item-start {
    gap: 0.6rem;
    width: 13rem;
  }
  .voice__list .list-item-end {
    width: 54rem;
    border-radius: 3rem 3rem 0 3rem;
    padding: 3rem 1.4rem;
  }
  .voice__list .list-item__tags {
    font-size: 2.3rem;
  }
  .voice__list .list-item__tags li:last-of-type {
    font-size: 1.9rem;
  }
  .voice__list .list-item__title {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 3.5rem;
  }
  .voice__list .list-item__title .u-inline-block {
    display: inline;
  }
  .voice__list .list-item__title::before, .voice__list .list-item__title::after {
    top: 0.4rem;
    width: 2.8rem;
    height: 2.8rem;
  }
  .voice__list .list-item__text {
    font-size: 2.8rem;
    line-height: 1.5;
  }
}

/* ==========================================================================
	 block - .recommend
	 ========================================================================== */
.recommend {
  text-align: center;
  padding-bottom: 5rem;
}
.recommend__title {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.3;
  margin-top: 2rem;
}
.recommend__title > span:nth-of-type(1) {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-0.85em) translateY(-120%) rotate(-3deg);
  display: flex;
  gap: 0.25em;
  font-size: 1.98rem;
  line-height: 1;
}
.recommend__title > span:nth-of-type(1)::before, .recommend__title > span:nth-of-type(1)::after {
  display: inline-block;
  content: "";
  width: 0.1em;
  height: 0.9em;
  background: currentcolor;
}
.recommend__title > span:nth-of-type(1)::before {
  transform: rotate(-25deg);
}
.recommend__title > span:nth-of-type(1)::after {
  transform: rotate(25deg);
}
.recommend__title > span:nth-of-type(2) {
  font-size: 3.5rem;
}
.recommend__title > span:nth-of-type(3) {
  font-size: 4rem;
}
.recommend__image {
  display: block;
  margin: 3rem -0.5rem 0;
}
@media only screen and (max-width: 767px) {
  .recommend__title {
    margin-top: 3.5rem;
  }
  .recommend__title > span:nth-of-type(1) {
    transform: translateX(0) translateY(-110%) rotate(-3deg);
    font-size: 3.18rem;
  }
  .recommend__title > span:nth-of-type(2) {
    font-size: 5rem;
  }
  .recommend__title > span:nth-of-type(3) {
    font-size: 5.5rem;
  }
}

/* ==========================================================================
	 block - .faq
	 ========================================================================== */
.faq__list {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.faq__list .list-item__q {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.5;
  background: #FFF;
  padding: 1.3rem 7rem 1.3rem 7.8rem;
  border-left: 0.3rem solid #385572;
}
.faq__list .list-item__q::before {
  position: absolute;
  top: 1.3rem;
  left: 3.3rem;
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  content: "";
  background: url(../img/faq_i_q.svg) 50% 50% no-repeat;
  background-size: contain;
}
.faq__list .list-item__q .icon {
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  width: 1.7rem;
  height: 1.7em;
}
.faq__list .list-item__q .icon::before, .faq__list .list-item__q .icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: "";
  width: 100%;
  height: 0.3rem;
  background: #385572;
}
.faq__list .list-item__q .icon::before {
  transform: translateX(-50%) translateY(-50%);
}
.faq__list .list-item__q .icon::after {
  transform: translateX(-50%) translateY(-50%) rotate(90deg);
}
.faq__list .list-item__a {
  position: relative;
  font-size: 1.8rem;
  background: #FFF;
  margin-top: 0.7rem;
  padding: 1.3rem 3rem 1.5rem 8.4rem;
}
.faq__list .list-item__a::before {
  position: absolute;
  top: 1.4rem;
  left: 3.8rem;
  display: block;
  width: 2.8rem;
  height: 2.8rem;
  content: "";
  background: url(../img/faq_i_a.svg) 50% 50% no-repeat;
  background-size: contain;
}
.faq__list .list-item.is-open .list-item__q .icon::after {
  display: none;
}
@media only screen and (max-width: 767px) {
  .faq__list {
    gap: 3.5rem;
  }
  .faq__list .list-item__q {
    font-size: 3.1rem;
    padding: 2rem 6rem 2rem 6rem;
    border-left-width: 0.4rem;
  }
  .faq__list .list-item__q::before {
    top: 2.1rem;
    left: 1.9rem;
    width: 3rem;
    height: 4.7rem;
  }
  .faq__list .list-item__q .icon {
    width: 2.4rem;
    height: 2.4em;
  }
  .faq__list .list-item__q .icon::before, .faq__list .list-item__q .icon::after {
    height: 0.5rem;
  }
  .faq__list .list-item__a {
    font-size: 2.8rem;
    margin-top: 1rem;
    padding: 1.3rem 2rem 1.5rem 6.7rem;
  }
  .faq__list .list-item__a::before {
    top: 2rem;
    left: 1.5rem;
    width: 4rem;
    height: 4rem;
  }
}


/* ==========================================================================
	 section NEWS・EVENT
========================================================================== */
#sect_news{ background-color: #EFEDE4; padding-top: 7rem; padding-bottom: 7rem;}
#sect_news .sect_ttl{ font-size: 1.25em; text-align: center; padding-bottom: 1em;}
#sect_news .section__title br{display: none;}
#sect_news .news_SlDes .slick-list{ width: 100%; margin: auto; max-width: 1250px; }
#sect_news .news_SlDes li{ color: #395775; padding: 0 20px;}
#sect_news .news_SlDes li a{display: block; width:100%; height: 100%;}
#sect_news .news_SlDes .news_photo{ width: 100%; aspect-ratio: 4 / 3; margin-bottom: 1.252em; }
#sect_news .news_SlDes .news_photo img{ width: 100%; height: 100%; object-fit: cover; object-position: center top;}

#sect_news .news_SlDes .news_yymmdd{font-size: 1.6rem; font-weight: bold; padding-bottom: 0.75em;}
#sect_news .news_SlDes .news_yymmdd.osr_alph{ font-size: 1.8rem; padding-bottom: 0.5em; }
#sect_news .news_SlDes .news_name{ font-size: 1.8rem; font-weight: bold; line-height: 1.8; color: #000!important;}
#sect_news .news_SlDes [class*="arrow-"]{top: 130px; bottom: auto;}
#sect_news .news_SlDes .arrow-prev{}
#sect_news .news_SlDes .arrow-next{}
#sect_news .news__text { font-size: 1.8rem; font-weight: bold; }
#sect_news .news_SlDes + .news__text{padding-top: 2em;}
#sect_news .btn_box{text-align: center; padding-top: 3em;}
#sect_news [class*="comm_btn"]{
display: inline-block;
text-align: center;
padding: 0.75em 3.5em 0.75em 4em;
background-color: #484137;
line-height: 1.6em;
min-width: 400px;
outline: none;
border-style: none;
transition: opacity 300ms 0s ease;
cursor: pointer;
position: relative;
font-weight: bold;
font-size: 2rem;
border-radius: 5em;
color: #fff!important;
}
#sect_news [class*="comm_btn"]:before{
	content: "";
	display: inline-block;
	width: 0.75em;
	height: 0.75em;
	background-image: url("../img/arr_white.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	vertical-align: middle;
	position: absolute;
	left: 1.5em;
	top: 0;
	bottom: 0;
	margin: auto;
    transform: rotate(-90deg); 
}

@media only screen and (max-width: 767px) {
#sect_news{ padding-bottom: 50px;}
#sect_news .sect_ttl{ font-size: 5vw; text-align: center; padding-bottom: 1em;}
#sect_news .section__title{font-size: 6.5vw;}
#sect_news .section__title br{display: block;}
#sect_news .news_SlDes{ padding-bottom: 4em; margin-bottom: 1em;}
#sect_news .news_SlDes .slick-list{ }
#sect_news .news_SlDes li{ padding: 0 10px;}
#sect_news .news_SlDes .news_photo{}
#sect_news .news_SlDes .news_yymmdd{font-size: 1.4rem;padding-bottom: 0.25em;}
#sect_news .news_SlDes .news_yymmdd.osr_alph{ }

#sect_news .news_SlDes .news_name{ font-size: 4.5vw; }
#sect_news .news_SlDes [class*="arrow-"]{ top: auto;bottom: 0; }
#sect_news .news_SlDes .arrow-prev{left: calc(50% - 8em);}
#sect_news .news_SlDes .arrow-next{left: calc(50% + 6em); right: auto;}
#sect_news .news__text { font-size: 4vw;  }
#sect_news .news_SlDes + .news__text{}
#sect_news [class*="comm_btn"]{ min-width: 90%!important; font-size: 3.5rem; padding: 0.9em 2em 0.9em 3em;}
#sect_news .news_SlDes .uniq-dots li{}
}
