@charset "UTF-8";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, a, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  vertical-align: baseline;
}

*, *::before, *::after {
  box-sizing: border-box;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
}

article, aside, footer, header, nav, section, main {
  display: block;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-rendering: optimizeSpeed;
  font-feature-settings: "palt" 1;
  min-height: 100vh;
  scroll-behavior: smooth;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

a, a:visited {
  color: inherit;
  text-decoration: none;
}

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

ol, ul {
  list-style: none;
}

img, video {
  max-width: 100%;
}

img, picture {
  display: block;
  max-width: 100%;
}

blockquote, q {
  quotes: none;
}

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

[hidden] {
  display: none !important;
}

[disabled] {
  cursor: not-allowed;
}

:focus:not(:focus-visible) {
  outline: none;
}

input, button, textarea, select {
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
}

button {
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}

input, select {
  vertical-align: middle;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

.toLeft {
  transform: translate(50px, 0);
  opacity: 0;
}

.toRight {
  transform: translate(-50px, 0);
  opacity: 0;
}

.toUp {
  transform: translate(0, 50px);
  opacity: 0;
}

.toDown {
  transform: translate(0, -50px);
  opacity: 0;
}

.fadeIn {
  opacity: 0;
}

.toLeft.on {
  animation-name: toLeft;
}

.toRight.on {
  animation-name: toRight;
}

.toUp.on {
  animation-name: toUp;
}

.toDown.on {
  animation-name: toDown;
}

.fadeIn.on {
  animation-name: fadeIn;
}

.toLeft.on,
.toRight.on,
.toUp.on,
.toDown.on,
.fadeIn.on {
  animation-duration: 1s;
  animation-timing-function: ease-out;
  animation-delay: 0.25s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes toLeft {
  from {
    transform: translate(50px, 0);
    opacity: 0;
  }
  to {
    transform: translate(0, 0);
    opacity: 1;
  }
}

@keyframes toRight {
  from {
    transform: translate(-50px, 0);
    opacity: 0;
  }
  to {
    transform: translate(0, 0);
    opacity: 1;
  }
}

@keyframes toUp {
  from {
    transform: translate(0, 50px);
    opacity: 0;
  }
  to {
    transform: translate(0, 0);
    opacity: 1;
  }
}

@keyframes toDown {
  from {
    transform: translate(0, -50px);
    opacity: 0;
  }
  to {
    transform: translate(0, 0);
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

html {
  color: #002f5f;
  font-size: 62.5%;
  line-height: 1;
}

body {
  overflow-x: hidden;
  color: #002f5f;
  font-size: 1rem;
  font-family: YakuHanJP_Narrow, "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", sans-serif;
}

main {
  padding-top: 112px;
  overflow-x: hidden;
}

@media screen and (max-width: 766px) {
  main {
    padding-top: 102px;
  }
}

[width] {
  width: 100%;
  height: auto;
}

[href] {
  text-decoration: none;
  cursor: pointer;
}

[href]:visited {
  color: inherit;
}

[type="button"] {
  color: #002f5f;
  cursor: pointer;
}

.jsAccordionButton:hover {
  -webkit-text-decoration: underline 1px;
  text-decoration: underline 1px;
  opacity: .7;
}

.anchor {
  margin-top: -112px;
  padding-top: 112px;
}

@media screen and (max-width: 766px) {
  .anchor {
    margin-top: -102px;
    padding-top: 102px;
  }
}

.inner {
  width: 100%;
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}

.section_lead {
  font-weight: 600;
  font-size: 2.4em;
  line-height: 1.58333;
  font-family: YakuHanMP_Noto, "Noto Serif JP", serif;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 766px) {
  .section_lead {
    font-size: 2.1em;
    line-height: 1.71429;
  }
  .idea_section .section_lead {
    font-size: 1.8em;
    line-height: 1.66667;
  }
  .service_section .section_lead {
    font-size: 1.9em;
    line-height: 1.83333;
  }
}

.section_lead rt {
  transform: translateX(14%);
  font-size: 50%;
  font-family: YakuHanJP_Narrow, "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", sans-serif;
  letter-spacing: -1.75em;
}

.text_style {
  font-weight: 500;
  font-size: 1.6em;
  line-height: 2;
}

@media screen and (max-width: 766px) {
  .text_style {
    font-size: 1.3em;
    line-height: 2.15385;
  }
}

.bg_blue {
  position: relative;
  padding-bottom: 12.8em;
  overflow-x: hidden;
  background-color: #e3f2f7;
}

@media screen and (max-width: 766px) {
  .bg_blue {
    padding-bottom: 9.3em;
    background-color: #e6f5fa;
  }
}

.bg_blue__inner::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 120%;
  height: 100%;
  background-image: url(../img/bg_blue_back_pc.svg);
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
  content: '';
}

@media screen and (max-width: 766px) {
  .bg_blue__inner::before {
    right: 0;
    left: auto;
    width: 109.06183%;
    background-image: url(../img/service_back_sp.svg);
  }
}

.list_style_01 li {
  display: flex;
  align-items: flex-start;
}

.list_style_01 li::before {
  display: block;
  margin-right: 0.2em;
  content: '●';
  font-size: 100%;
}

.list_style_02 li {
  display: flex;
  align-items: flex-start;
}

.list_style_02 li::before {
  display: block;
  margin-right: 0.2em;
  content: '■';
  font-size: 100%;
}

.header {
  z-index: 10;
  position: fixed;
  top: 0;
  width: 100%;
  max-height: 200px;
  background-color: #fff;
}

.header__head {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 36px;
}

@media screen and (max-width: 766px) {
  .header__head {
    padding-right: 16px;
  }
}

.header__head h1 {
  width: 10.4em;
}

@media screen and (max-width: 766px) {
  .header__head h1 {
    max-width: 90px;
  }
}

.header__body {
  border-top: 1px solid #eee;
}

@media screen and (max-width: 766px) {
  .header__body {
    padding-right: 1.9em;
  }
}

.header nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.g_nav {
  display: grid;
  grid-template-rows: 4.5em;
  grid-template-columns: repeat(auto-fill, 10.2em);
  flex-grow: 0;
  flex-basis: 51em;
  align-content: center;
  align-items: center;
  justify-content: end;
  justify-items: center;
}

@media screen and (max-width: 766px) {
  .g_nav {
    display: block;
    position: fixed;
    top: 102px;
    right: 0;
    flex-basis: 28.4em;
    width: 100%;
    height: calc(100vh - 102px);
    transform: translateX(100%);
    background-image: linear-gradient(to right, #289d93 0%, #002f5f 100%);
    transition: transform .3s;
  }
  .g_nav.is-open {
    transform: translateX(0);
  }
}

.g_nav li {
  font-size: 1.8em;
  font-family: "Old Standard TT", serif;
}

@media screen and (max-width: 766px) {
  .g_nav li {
    padding: 0 1.1111em;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: 3em;
  }
}

@media screen and (max-width: 766px) {
  .g_nav a {
    display: flex;
    align-items: center;
    line-height: 1.95;
  }
  .g_nav a::after {
    display: block;
    margin-left: .7em;
    transform: rotate(0.03deg);
    content: attr(data-text);
    font-weight: 300;
    font-size: 40%;
    font-family: YakuHanMP_Noto, "Noto Serif JP", serif;
  }
}

.g_nav .space {
  font-size: 50%;
}

.menu_button {
  display: none;
}

@media screen and (max-width: 766px) {
  .menu_button {
    display: block;
    position: relative;
    width: 20px;
    height: 17px;
    padding: 0;
    border: 0;
    background-image: linear-gradient(to right, #000, #000);
    background-position: center;
    background-size: auto 2px;
    background-repeat: repeat-x;
    background-color: transparent;
    color: transparent;
    font-size: 0;
    cursor: pointer;
  }
  .menu_button::before, .menu_button::after {
    display: block;
    position: absolute;
    width: 100%;
    height: 2px;
    background: #000;
    content: "";
  }
  .menu_button::before {
    top: 0;
    transition: transform 0.4s;
  }
  .menu_button::after {
    bottom: 0;
    transition: transform 0.4s;
  }
  .menu_button.is-open {
    background: none;
  }
  .menu_button.is-open::before {
    top: auto;
    transform: rotate(-45deg);
    transition: transform 0.4s;
  }
  .menu_button.is-open::after {
    bottom: auto;
    transform: rotate(45deg);
    transition: transform 0.4s;
  }
}

.footer {
  padding-top: 4.5em;
  padding-bottom: 2.4em;
  background-color: #269BA5;
  color: #fff;
}

@media screen and (max-width: 766px) {
  .footer {
    padding-top: 4.3em;
    padding-bottom: 1.9em;
  }
}

.footer__inner {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 766px) {
  .footer__inner {
    display: block;
    width: -webkit-fit-content;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
  }
}

.footer__head {
  flex-basis: 50%;
}

.footer__title {
  font-weight: 700;
  font-size: 1.6em;
  line-height: 1.75;
}

.footer__body {
  flex-basis: 50%;
}

@media screen and (max-width: 766px) {
  .footer__body {
    margin-top: 1.7em;
  }
}

.footer p, .footer address {
  font-weight: 500;
  font-size: 1.4em;
  line-height: 1.64286;
}

@media screen and (max-width: 766px) {
  .footer p, .footer address {
    font-size: 1.5em;
    line-height: 1.66667;
  }
}

.footer [lang="en"] {
  margin-top: 3.2em;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 1.91667;
  font-family: "Roboto", sans-serif;
}

@media screen and (max-width: 766px) {
  .footer [lang="en"] {
    margin-top: 5.5em;
    font-size: 0.9em;
  }
}

.mainVisual {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

@media screen and (max-width: 766px) {
  .mainVisual {
    display: block;
  }
}

.mainVisual__video {
  position: relative;
  flex-shrink: 1;
  flex-basis: 50%;
  align-self: stretch;
}

.mainVisual__video::before {
  display: block;
  padding-top: 75%;
  content: '';
}

.mainVisual__video video {
  position: absolute;
  top: 0;
  max-width: 100%;
}

.mainVisual__video #load_img_area {
  display: flex;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: white;
  /* transition: background-color 0.5s ease-in-out 1s; */
}

.mainVisual__video #load_img_area.load_fin {
  background-color: rgba(255, 255, 255, 0);
  transition: background-color 0.5s ease-in-out 1s;
}

.mainVisual__video #load_img_area.load_fin img {
  opacity: 1;
  transition: opacity 0.5s ease-in-out 1s;
}

.mainVisual__video #load_img_area.load_fin img {
  opacity: 0;
}

.mainVisual__title {
  position: relative;
  flex-grow: 1;
  flex-basis: 50%;
  align-self: stretch;
  max-height: 100%;
  overflow: hidden;
}

.mainVisual__title picture {
  height: 100%;
}

.mainVisual__title [src] {
  width: 100%;
  max-width: 600px;
  height: 100%;
  margin-right: auto;
  margin-left: auto;
  object-fit: contain;
  object-position: center center;
}

@media screen and (max-width: 766px) {
  .mainVisual__title [src] {
    max-width: none;
    height: auto;
    object-fit: fill;
  }
}

.news {
  background: linear-gradient(to right, #e6f5fa 50%, rgba(255, 255, 255, 0) 50%);
}

.news__list {
  padding-top: 1.3875em;
  padding-bottom: 1.3875em;
  background: linear-gradient(to right, #e6f5fa 65.625%, rgba(255, 255, 255, 0) 65.625%);
}

@media screen and (max-width: 766px) {
  .news__list {
    padding-top: 0.8em;
    padding-bottom: 0.8em;
    background: linear-gradient(to right, #e6f5fa calc(71.92833% + 1em), rgba(255, 255, 255, 0) calc(71.92833% + 1em));
  }
}

.news__item {
  width: 65.625%;
  padding-right: 2.5em;
  padding-left: 2.5em;
  background-color: #e6f5fa;
}

@media screen and (max-width: 766px) {
  .news__item {
    width: 74.62687%;
    padding-right: 1em;
    padding-left: 0;
  }
}

.news__head {
  padding-top: 1.3875em;
  padding-bottom: 1.3875em;
}

@media screen and (max-width: 766px) {
  .news__head {
    padding-top: 0.8em;
    padding-bottom: 0.8em;
  }
}

.news__date {
  display: block;
  margin-right: 3em;
  color: #959595;
  font-weight: 400;
  font-size: 1.4em;
  line-height: 24.5px;
  font-family: "Roboto", sans-serif;
}

@media screen and (max-width: 766px) {
  .news__date {
    font-size: 1.25em;
  }
}

.news__title {
  display: block;
  width: 100%;
  font-weight: 500;
  font-size: 1.4em;
  line-height: 1.75;
  font-family: YakuHanJP_Narrow, "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", sans-serif;
  text-align: left;
}

@media screen and (max-width: 766px) {
  .news__title {
    font-size: 1.2em;
  }
}

.news__title::before, .news__title::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 1.5em;
  height: 2px;
  border-radius: 1px;
  background-color: #002f5f;
  content: '';
  transition: transform .3s;
}

@media screen and (max-width: 766px) {
  .news__title::before, .news__title::after {
    top: calc(50% + 1em);
  }
}

.news__title::before {
  transform: rotate(90deg);
}

.news__title.is-open::before {
  transform: rotate(45deg);
}

.news__title.is-open::after {
  transform: rotate(-45deg);
}

.news__content {
  display: none;
  font-weight: 500;
  font-size: 1.4em;
  line-height: 1.75;
}

.news__button {
  display: flex;
  position: relative;
  align-items: flex-start;
  width: 100%;
  padding-right: 2em;
}

@media screen and (max-width: 766px) {
  .news__button {
    display: block;
  }
}

.section_title__en {
  font-feature-settings: "palt" 1;
  font-weight: 400;
  font-size: 5em;
  font-family: "Old Standard TT", serif;
}

@media screen and (max-width: 766px) {
  .section_title__en {
    font-size: 4.5em;
  }
}

.section_title__ja {
  transform: rotate(0.03deg);
  font-weight: 300;
  font-size: 1.6em;
  font-family: YakuHanMP_Noto, "Noto Serif JP", serif;
}

@media screen and (max-width: 766px) {
  .section_title__ja {
    font-size: 1.5em;
  }
}

.about_section .section_title__ja {
  margin-left: 1em;
}

@media screen and (max-width: 766px) {
  .about_section .section_title__ja {
    margin-left: 0.5em;
  }
}

.idea_section .section_title {
  display: flex;
  flex-direction: column-reverse;
}

.idea_section .section_title__ja {
  letter-spacing: 1em;
}

.idea_section .section_title__en {
  margin-top: 0.2em;
}

@media screen and (max-width: 766px) {
  .idea_section .section_title__en {
    margin-top: 0.1em;
  }
}

.service_section .section_title,
.ourplan_section .section_title {
  display: flex;
  z-index: 1;
  position: relative;
  flex-direction: column-reverse;
  align-items: center;
}

.service_section .section_title__en,
.ourplan_section .section_title__en {
  margin-top: 0.15em;
}

.news_section .section_title {
  display: flex;
  flex-direction: column-reverse;
}

@media screen and (max-width: 766px) {
  .news_section .section_title {
    align-items: center;
  }
}

.news_section .section_title__ja {
  font-size: 1.6em;
}

.news_section .section_title__en {
  margin-top: 0.05em;
  font-size: 3.6em;
}

@media screen and (max-width: 766px) {
  .news_section .section_title__en {
    margin-top: 0.1em;
    font-size: 4.5em;
  }
}

.sub_section {
  position: relative;
}

.sub_section:not(:first-child) {
  margin-top: 3.5em;
}

@media screen and (max-width: 766px) {
  .sub_section:not(:first-child) {
    margin-top: 0.7em;
  }
}

.sub_section__head {
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(50%);
}

.sub_section__head::before, .sub_section__head::after {
  display: block;
  width: 1.01028em;
  height: 3.39716em;
  background-image: url(../img/brackets.svg);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  content: '';
}

.sub_section__head::before {
  transform: rotate(180deg);
}

.sub_section__title {
  width: -webkit-fit-content;
  width: fit-content;
  margin-right: 1em;
  margin-left: 1em;
  font-size: 2em;
  line-height: 1.55556;
  font-family: YakuHanMP_Noto, "Noto Serif JP", serif;
  letter-spacing: 0.3em;
  text-align: center;
}

@media screen and (max-width: 766px) {
  .sub_section__title {
    font-size: 1.8em;
  }
}

.partner .sub_section__title {
  letter-spacing: 0.05em;
}

.sub_section__body {
  padding-top: 5.7em;
  padding-right: 3.5em;
  padding-bottom: 3.5em;
  padding-left: 3.5em;
  background-color: #fff;
}

.partner .sub_section__body {
  padding-top: 4.9em;
}

.tie_up .sub_section__body {
  padding-top: 3.9em;
  padding-bottom: 2.3em;
}

@media screen and (max-width: 766px) {
  .sub_section__body {
    padding-top: 4.8em;
    padding-right: 2.8em;
    padding-bottom: 4em;
    padding-left: 2.8em;
  }
  .partner .sub_section__body {
    padding-top: 6.4em;
    padding-bottom: 2.7em;
  }
  .tie_up .sub_section__body {
    padding-top: 3.5em;
    padding-bottom: 2.2em;
  }
}

.about_section {
  margin-top: 10em;
}

.about_section__grid {
  display: grid;
  grid-template: ". left right right ." 1fr/1fr minmax(auto, 500px) minmax(auto, 500px) 1fr;
  margin-top: 3.8em;
  padding-bottom: 17.6em;
  background-image: url(../img/about_back_pc.svg);
  background-position: center bottom;
  background-size: contain;
}

@media screen and (max-width: 1040px) {
  .about_section__grid {
    grid-template: ". left right right ." 1fr/2em 1fr 1fr 2em;
    background-image: url(../img/back_decoration_sp.svg);
  }
}

@media screen and (max-width: 766px) {
  .about_section__grid {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 1.4em;
    padding-bottom: 5.8em;
  }
}

.about_section__left {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: left;
  padding-right: 4.3em;
  padding-left: 2em;
}

@media screen and (max-width: 1040px) {
  .about_section__left {
    padding-right: 2em;
  }
}

@media screen and (max-width: 766px) {
  .about_section__left {
    padding-right: 2em;
  }
}

.about_section__right {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  -ms-grid-column-span: 2;
  grid-area: right;
  align-self: start;
}

@media screen and (max-width: 1040px){
  .about_section__left {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .about_section__right {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 2;
  }
}

.about_section__right [src] {
  width: 100%;
  height: 100%;
  max-height: 40em;
  object-fit: cover;
}

@media screen and (max-width: 960px) {
  .about_section__right [src] {
    max-height: 100%;
  }
}

@media screen and (max-width: 1040px) {
  .about_section__right {
    align-self: auto;
  }
}

@media screen and (max-width: 766px) {
  .about_section__right {
    padding-left: 2rem;
  }
}

.idea_section {
  position: relative;
  margin-top: 3.8em;
  overflow: hidden;
}

@media screen and (max-width: 766px) {
  .idea_section {
    margin-top: 0.7em;
  }
}

.idea_section__grid {
  display: grid;
  grid-template-rows: 13em minmax(-webkit-min-content, auto) 59.8em 14.4em;
  grid-template-rows: 13em minmax(min-content, auto) 59.8em 14.4em;
  grid-template-columns: minmax(2rem, auto) minmax(-webkit-min-content, 13em) 6.9em minmax(-webkit-min-content, 76.1em) minmax(2rem, auto);
  grid-template-columns: minmax(2rem, auto) minmax(min-content, 13em) 6.9em minmax(min-content, 76.1em) minmax(2rem, auto);
}

@media screen and (max-width: 1040px) {
  .idea_section__grid {
    grid-template-rows: 13em minmax(-webkit-min-content, auto) 50.673vw 13.9em;
    grid-template-rows: 13em minmax(min-content, auto) 50.673vw 13.9em;
  }
}

@media screen and (min-width: 767px) and (max-width: 1040px) {
  .idea_section__grid {
    overflow-y: hidden;
  }
}

@media screen and (min-width: 767px) and (max-width: 780px) {
  .idea_section__grid {
    grid-template-rows: 13em minmax(-webkit-min-content, auto) 50.673vw 12.21vw;
    grid-template-rows: 13em minmax(min-content, auto) 50.673vw 12.21vw;
  }
}

@media screen and (max-width: 766px) {
  .idea_section__grid {
    grid-template-rows: 9.7em auto 99.833vw -webkit-min-content;
    grid-template-rows: 9.7em auto 99.833vw min-content;
    grid-template-columns: 2rem 1fr 2rem;
  }
}

.idea_section__back {
  z-index: -2;
  grid-row: 1/4;
  grid-column: 3/6;
  background: #e6f5fa;
}

@media screen and (max-width: 766px) {
  .idea_section__back {
    grid-row: 1/4;
    grid-column: 2/4;
  }
}

@media screen and (max-width: 766px) {
  .idea_section::before {
    display: block;
    z-index: -1;
    position: absolute;
    bottom: 12%;
    left: -22%;
    width: 109.06667%;
    height: 100%;
    background-image: url(../img/idea_back.svg);
    background-position: center bottom;
    background-size: contain;
    background-repeat: no-repeat;
    content: '';
  }
}

.idea_section__head {
  grid-row: 1/2;
  grid-column: 2/3;
  padding-top: 5em;
}

@media screen and (max-width: 766px) {
  .idea_section__head {
    grid-row: 1/2;
    grid-column: 2/3;
    padding-top: 4em;
    padding-left: 2.4em;
  }
}

.idea_section__body {
  grid-row: 1/3;
  grid-column: 4/5;
  padding-top: 5em;
}

@media screen and (max-width: 766px) {
  .idea_section__body {
    grid-row: 2/3;
    grid-column: 2/3;
    padding-top: 3.8em;
    padding-left: 2.4em;
  }
}

.idea_section__image {
  grid-row: 3/4;
  grid-column: 4/5;
  padding-top: 5.7em;
}

@media screen and (max-width: 766px) {
  .idea_section__image {
    grid-row: 3/5;
    grid-column: 1/3;
    padding-top: 4.4em;
  }
}

.idea_section__animation_wrap {
  display: flex;
  position: absolute;
  bottom: -2px;
  align-items: flex-end;
  height: auto;
  overflow: hidden;
}

.idea_section [class^="animation_img_"] {
  width: auto;
  max-width: none;
}

@media screen and (max-width: 766px) {
  .idea_section [class^="animation_img_"] {
    width: 287.467vw;
  }
}

.idea_section .animation_img_1st {
  animation: loop 40s -20s linear infinite;
}

.idea_section .animation_img_2nd {
  animation: loop2 40s linear infinite;
}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

.service_section {
  margin-top: 14.7em;
}

@media screen and (max-width: 766px) {
  .service_section {
    margin-top: 7.9em;
  }
}

.service_section__contents {
  margin-top: -2.5em;
  padding-top: 5em;
  padding-bottom: 4.8em;
  background-color: #e3f2f7;
}

@media screen and (max-width: 766px) {
  .service_section__contents {
    margin-top: -2.2em;
    padding-bottom: 6.4em;
    background-color: #e6f5fa;
  }
}

.service_section__lead {
  z-index: 2;
  position: relative;
  text-align: center;
}

@media screen and (min-width: 767px) and (max-width: 1040px) {
  .service_section__lead {
    padding-bottom: 2em;
  }
}

@media screen and (max-width: 766px) {
  .service_section__lead {
    padding-top: 5.6em;
  }
}

.service_section__lead::before {
  display: block;
  z-index: 1;
  position: absolute;
  right: -2%;
  bottom: -145%;
  width: 1em;
  height: 1em;
  background-image: url(../img/first_bullet.svg);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  content: '';
  font-size: 641.66667%;
}

@media screen and (min-width: 767px) and (max-width: 1040px) {
  .service_section__lead::before {
    bottom: -92%;
    font-size: 14.808vw;
  }
}

@media screen and (max-width: 766px) {
  .service_section__lead::before {
    top: 0;
    right: auto;
    bottom: auto;
    left: 50%;
    transform: translateX(-50%);
    font-size: 526.31579%;
  }
}

.structure {
  z-index: 1;
  position: relative;
  margin-top: 3.7em;
  background: #e3f2f7;
}

@media screen and (min-width: 767px) and (max-width: 1040px) {
  .structure {
    margin-top: 3.558vw;
  }
}

@media screen and (max-width: 766px) {
  .structure {
    margin-top: 8.1em;
    background: #e6f5fa;
  }
}

.structure__container {
  background: linear-gradient(to left, #fff 50%, rgba(255, 255, 255, 0) 50%);
}

.structure__wrapper {
  position: relative;
  width: 100%;
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem;
  transform: translateX(3%);
}

@media screen and (max-width: 766px) {
  .structure__wrapper {
    transform: translateX(0);
  }
}

.structure__wrapper::before {
  display: block;
  z-index: -10;
  position: absolute;
  top: -13%;
  right: -10.2%;
  width: 51%;
  height: 100%;
  background-image: url(../img/service_back_pc.svg);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
  content: '';
}

@media screen and (max-width: 766px) {
  .structure__wrapper::before {
    top: -14.3%;
    right: 0;
    width: 109.06667%;
    background-image: url(../img/service_back_sp.svg);
  }
}

.structure__inner_wrapper {
  background-color: #fff;
}

.structure__inner {
  max-width: 65rem;
  margin-right: auto;
  margin-left: auto;
  padding-top: 7.5em;
  padding-bottom: 6.9em;
  transform: translateX(2.3%);
}

@media screen and (max-width: 960px) {
  .structure__inner {
    margin-top: 7.2em;
    padding-right: 1.75em;
    padding-bottom: 3.85em;
    padding-left: 1.75em;
    transform: translateX(0);
  }
}

@media screen and (max-width: 766px) {
  .structure__title {
    margin-right: -1.75em;
    margin-left: -1.75em;
  }
}

.structure__title .medium {
  display: block;
  font-weight: 700;
  font-size: 2.2em;
  font-family: YakuHanJP_Narrow, "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", sans-serif;
}

@media screen and (max-width: 766px) {
  .structure__title .medium {
    font-size: 1.75em;
    line-height: 1.42857;
    text-align: center;
  }
}

.structure__title .large {
  font-feature-settings: "palt" 1;
  display: block;
  margin-top: 0.2em;
  font-weight: 600;
  font-size: 4.6em;
  font-family: YakuHanMP_Noto, "Noto Serif JP", serif;
  letter-spacing: 0.15em;
}

@media screen and (max-width: 766px) {
  .structure__title .large {
    margin-top: 0.25em;
    font-size: 3.45em;
    text-align: center;
  }
}

.structure__title .small {
  font-feature-settings: "palt" 1;
  display: inline-block;
  font-size: 75%;
}

.structure__flow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 3.8em;
}

@media screen and (max-width: 766px) {
  .structure__flow {
    flex-direction: column;
  }
}

.structure__flow--large {
  justify-content: center;
  margin-top: 2.3em;
}

@media screen and (max-width: 766px) {
  .structure__flow--large {
    margin-top: 0;
  }
}

.structure__flow_triangle {
  width: 1em;
  height: 2em;
  background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) 50%, #002f5f 50%) top left/100% 50% no-repeat, linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #002f5f 50%) bottom left/100% 50% no-repeat;
}

.structure__flow--large .structure__flow_triangle {
  margin-right: 1.1em;
  margin-left: 1em;
}

@media screen and (max-width: 766px) {
  .structure__flow_triangle {
    width: 1.6em;
    height: .8em;
    margin-top: .85em;
    margin-bottom: 0.75em;
    background: linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #002f5f 50%) no-repeat top right/50% 100%, linear-gradient(to top right, rgba(255, 255, 255, 0) 50%, #002f5f 50%) no-repeat top left/50% 100%;
  }
}

.structure__flow_item {
  display: flex;
  align-items: center;
  align-self: stretch;
  justify-content: center;
  border-radius: 10px;
  background-color: #00aac8;
}

@media screen and (max-width: 766px) {
  .structure__flow_item {
    align-self: center;
    width: 25em;
  }
}

.structure__flow--small .structure__flow_item {
  padding: 1em 1.6em;
}

@media screen and (max-width: 766px) {
  .structure__flow--small .structure__flow_item {
    padding-top: 0.78em;
    padding-bottom: 0.78em;
  }
}

.structure__flow--large .structure__flow_item {
  padding: 1.75em 3.305em;
}

@media screen and (max-width: 766px) {
  .structure__flow--large .structure__flow_item {
    padding-top: 1.1em;
    padding-bottom: 1.1em;
  }
}

.structure__flow_text {
  font-feature-settings: "palt" 1;
  width: -webkit-fit-content;
  width: fit-content;
  color: #fff;
  font-weight: 700;
  font-size: 2.2em;
  line-height: 1.36364;
}

@media screen and (max-width: 766px) {
  .structure__flow_text {
    font-size: 1.8em;
  }
}

.structure__flow_text .small {
  font-weight: 500;
  font-size: 72.72727%;
  line-height: 1.4375;
}

@media screen and (max-width: 766px) {
  .structure__flow_text .small {
    font-size: 72.22222%;
    line-height: 1.42308;
  }
}

.structure__subSection {
  margin-top: 3.4em;
}

@media screen and (max-width: 766px) {
  .structure__subSection {
    margin-top: 5.2em;
  }
}

.structure__subTitle {
  padding: 0.497em 1em;
  border: solid 1.0757px #002f5f;
  font-weight: 700;
  font-size: 2em;
  line-height: 1.33333;
  text-align: center;
}

@media screen and (max-width: 766px) {
  .structure__subTitle {
    padding-top: 0.65em;
    padding-bottom: 0.65em;
    font-size: 1.5em;
  }
}

.structure__list {
  margin-top: 1.6em;
}

.structure__list li {
  font-weight: 500;
  font-size: 1.6em;
  line-height: 2;
}

.structure__list li:not(:first-child) {
  margin-top: .8em;
}

@media screen and (max-width: 766px) {
  .structure__list li {
    font-size: 1.3em;
    line-height: 2.07692;
  }
}

.structure__list li::before {
  line-height: 2;
}

.structure__photo_list {
  display: grid;
  grid-template-rows: 188fr 12fr 178fr 48fr 203fr;
  grid-template-columns: 380fr 20fr 64fr 16fr 170fr;
  margin-top: 5.2em;
}

@media screen and (max-width: 766px) {
  .structure__photo_list {
    display: grid;
    grid-template-rows: repeat(4, -webkit-min-content);
    grid-template-rows: repeat(4, min-content);
    grid-template-columns: 1fr 1fr;
    column-gap: .9em;
    row-gap: 2em;
    max-width: 29em;
    margin-top: 4.2em;
    margin-right: auto;
    margin-left: auto;
  }
}

.structure__photo_list li:first-child {
  grid-row: 1/4;
  grid-column: 1/4;
}

@media screen and (max-width: 766px) {
  .structure__photo_list li:first-child {
    grid-row: 1/2;
    grid-column: 1/3;
  }
}

.structure__photo_list li:nth-child(2) {
  grid-row: 1/2;
  grid-column: 5/6;
}

@media screen and (max-width: 766px) {
  .structure__photo_list li:nth-child(2) {
    grid-row: 2/3;
    grid-column: 1/2;
  }
}

.structure__photo_list li:nth-child(3) {
  grid-row: 3/4;
  grid-column: 5/6;
}

@media screen and (max-width: 766px) {
  .structure__photo_list li:nth-child(3) {
    grid-row: 2/3;
    grid-column: 2/3;
  }
}

.structure__photo_list li:nth-child(4) {
  grid-row: 5/6;
  grid-column: 1/2;
}

@media screen and (max-width: 766px) {
  .structure__photo_list li:nth-child(4) {
    grid-row: 3/4;
    grid-column: 1/3;
  }
}

.structure__photo_list li:nth-child(5) {
  grid-row: 5/6;
  grid-column: 3/6;
}

@media screen and (max-width: 766px) {
  .structure__photo_list li:nth-child(5) {
    grid-row: 4/5;
    grid-column: 1/3;
  }
}

.structure__photo_list figure {
  display: flex;
  flex-grow: 0;
  flex-shrink: 0;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.structure__photo_list img {
  min-height: 0%;
  margin-top: .2em;
}

@media screen and (max-width: 766px) {
  .structure__photo_list img {
    margin-top: .9em;
  }
}

.structure__photo_list figcaption {
  padding: 0.0625em 0.5em;
  background-color: #00aac8;
  color: #fff;
  font-weight: 700;
  font-size: 1.6em;
  line-height: 1.25;
}

@media screen and (max-width: 766px) {
  .structure__photo_list figcaption {
    padding: 0.134em .5em;
    font-size: 1.5em;
    line-height: 1.2;
  }
}

.circle_title_wrap {
  width: 16em;
  height: 16em;
  padding: 1.5em;
  border-radius: 10000px;
  background-image: linear-gradient(to right, #289d93 0%, #289d93 10%, #126076 100%);
}

@media screen and (max-width: 766px) {
  .circle_title_wrap {
    width: 12em;
    height: 12em;
    padding: 1.125em;
  }
}

@media screen and (min-width: 767px) and (max-width: 1040px) {
  .circle_title_wrap {
    font-size: 0.962vw;
  }
}

.structure .circle_title_wrap {
  position: absolute;
  top: 2.2%;
  transform: translateX(-7%);
}

@media screen and (max-width: 1040px) {
  .structure .circle_title_wrap {
    top: 0;
    transform: translateY(-60%);
  }
}

@media screen and (max-width: 766px) {
  .structure .circle_title_wrap {
    transform: translateY(-53%);
  }
}

.point .circle_title_wrap {
  position: absolute;
  top: 0;
  transform: translateY(-12%);
}

@media screen and (max-width: 766px) {
  .point .circle_title_wrap {
    transform: translateY(-50%);
  }
}

.circle_title_inner {
  height: 100%;
  border-radius: 10000px;
  background-color: #fff;
}

.circle_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.circle_title__ja {
  font-weight: 600;
  font-size: 2.8em;
  font-family: YakuHanMP_Noto, "Noto Serif JP", serif;
}

@media screen and (max-width: 766px) {
  .circle_title__ja {
    font-size: 2.1em;
  }
}

.circle_title__en {
  margin-top: 0.5em;
  font-weight: 400;
  font-size: 1.6em;
  font-family: "Old Standard TT", serif;
}

@media screen and (max-width: 766px) {
  .circle_title__en {
    font-size: 1.2em;
  }
}

.point {
  position: relative;
  margin-top: 7.2em;
  background: #e3f2f7;
}

@media screen and (max-width: 766px) {
  .point {
    margin-top: 10em;
    background: #e6f5fa;
  }
}

.point__container {
  background-image: linear-gradient(to right, #fff 50%, rgba(255, 255, 255, 0) 50%);
}

.point__wrapper {
  position: relative;
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 5.2rem;
  padding-left: 2rem;
}

.point__wrapper::before {
  display: block;
  z-index: 0;
  position: absolute;
  top: -58%;
  left: -9%;
  width: 82.66266%;
  height: 100%;
  background-image: url(../img/point_back_pc.svg);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
  content: '';
}

@media screen and (max-width: 766px) {
  .point__wrapper::before {
    top: -19%;
    right: 0;
    width: 109.06667%;
    background-image: url(../img/service_back_sp.svg);
  }
}

@media screen and (max-width: 766px) {
  .point__wrapper {
    padding-right: 2rem;
  }
}

.point__inner {
  z-index: 0;
  position: relative;
  background-color: #fff;
}

.point__contents {
  width: 78.55603%;
  margin-left: auto;
  padding-top: 4.6em;
  padding-bottom: 6.3em;
}

@media screen and (min-width: 767px) and (max-width: 960px) {
  .point__contents {
    font-size: 1.042vw;
  }
}

@media screen and (max-width: 766px) {
  .point__contents {
    width: auto;
    margin-left: 0;
    padding-top: 4.9em;
    padding-bottom: 5em;
  }
}

.point__list {
  display: flex;
  padding-right: 2rem;
}

@media screen and (max-width: 766px) {
  .point__list {
    display: grid;
    grid-template-rows: -webkit-min-content -webkit-min-content;
    grid-template-rows: min-content min-content;
    grid-template-columns: 8.4em 8.1em 8.1em 8.4em;
    justify-content: center;
  }
}

@media screen and (max-width: 375px) {
  .point__list {
    font-size: 2.667vw;
  }
}

.point__list li {
  display: flex;
  position: relative;
  flex: 0 0 18em;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 18em;
  border-radius: 1000px;
  background: #00aac8;
  color: #fff;
  text-align: center;
}

.point__list li:not(:first-child) {
  margin-left: 2em;
}

@media screen and (max-width: 766px) {
  .point__list li {
    width: 16.2em;
    height: 16.2em;
  }
  .point__list li:nth-child(1) {
    grid-row: 1/2;
    grid-column: 2/4;
    justify-self: center;
  }
  .point__list li:nth-child(2) {
    grid-row: 2/3;
    grid-column: 1/3;
    justify-self: start;
    margin-left: 0;
  }
  .point__list li:nth-child(3) {
    grid-row: 2/3;
    grid-column: 3/5;
    justify-self: end;
    margin-left: 0;
  }
  .point__list li:not(:first-child) {
    margin-top: -1.65em;
  }
}

@media screen and (max-width: 766px) {
  .point__list li {
    flex-basis: 16.2em;
    height: 16.2em;
  }
}

.point__list .small {
  font-feature-settings: "palt" 1;
  display: block;
  font-weight: 700;
  font-size: 1.8em;
  line-height: 1.55556;
}

@media screen and (max-width: 766px) {
  .point__list .small {
    font-size: 1.7em;
    line-height: 1.41176;
  }
}

.point__list .normal {
  font-feature-settings: "palt" 1;
  display: block;
  font-weight: 600;
  font-size: 2.4em;
  line-height: 1.25;
  font-family: YakuHanMP_Noto, "Noto Serif JP", serif;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 766px) {
  .point__list .normal {
    font-size: 2.3em;
    line-height: 1.17391;
  }
}

.point__list .normal .sup {
  display: inline-block;
  transform: translate(-0.3em, -1.6em);
  font-size: 50%;
}

@media screen and (max-width: 766px) {
  .point__list .normal .sup {
    transform: translate(-0.6em, -1.7em);
    font-size: 43.47826%;
  }
}

.point__list .caution_text {
  position: absolute;
  bottom: -3.5em;
  color: #002f5f;
  font-weight: 600;
  font-size: 1.2em;
  line-height: 1.6;
  font-family: YakuHanMP_Noto, "Noto Serif JP", serif;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 766px) {
  .point__list .caution_text {
    bottom: -2.2em;
    font-size: 1.05em;
  }
  .point__list .caution_text br {
    display: none;
  }
}

.point__body {
  display: flex;
  margin-top: 3em;
}

@media screen and (max-width: 1040px) {
  .point__body {
    padding-right: 2rem;
  }
}

@media screen and (max-width: 766px) {
  .point__body {
    display: block;
    margin-top: 5.4em;
    padding-right: 2.2rem;
    padding-left: 2.4rem;
  }
}

.point__image {
  flex-basis: 37.03704%;
}

.point__text_list {
  flex-basis: fit-content;
  align-self: flex-end;
  margin-left: 2.1em;
}

@media screen and (max-width: 766px) {
  .point__text_list {
    margin-top: 2em;
    margin-left: 0;
  }
}

.point__text_list li {
  font-weight: 500;
  font-size: 1.6em;
  line-height: 2;
}

@media screen and (max-width: 766px) {
  .point__text_list li {
    font-size: 1.3em;
  }
}

.point__text_list li:not(:first-child) {
  margin-top: 1em;
}

.hereafter__contents {
  display: flex;
  justify-content: space-between;
}

@media screen and (min-width: 767px) and (max-width: 960px) {
  .hereafter__contents {
    font-size: 1.042vw;
  }
}

@media screen and (max-width: 766px) {
  .hereafter__contents {
    display: block;
  }
}

.hereafter__left {
  flex-basis: 44em;
  padding-right: 3.5em;
  padding-left: 1em;
}

@media screen and (max-width: 766px) {
  .hereafter__left {
    padding-right: 0;
    padding-left: 0;
  }
}

.hereafter__left p:nth-child(1) {
  font-weight: 500;
  font-size: 1.6em;
  line-height: 1.875;
}

@media screen and (max-width: 766px) {
  .hereafter__left p:nth-child(1) {
    font-size: 1.3em;
    line-height: 1.76923;
  }
}

.hereafter__left p:nth-child(2) {
  margin-top: .3em;
  font-weight: 700;
  font-size: 2.2em;
  line-height: 1.95455;
}

@media screen and (max-width: 766px) {
  .hereafter__left p:nth-child(2) {
    font-size: 1.65em;
    line-height: 1.95455;
  }
}

.hereafter__left .wavy {
  -webkit-text-decoration: underline wavy #002f5f 1px;
  text-decoration: underline wavy #002f5f 1px;
}

.hereafter__right {
  flex-basis: 47.2em;
}

@media screen and (max-width: 766px) {
  .hereafter__right {
    margin-top: 2.8em;
    padding-left: 1.5em;
  }
}

.hereafter .caution_mark {
  display: inline-block;
  transform: translateY(-1em);
  font-size: 50%;
}

.hereafter .caution_text {
  margin-top: 1em;
  font-size: 70%;
}

.hereafter__action {
  position: relative;
  padding-left: 1.5em;
  border-left: 4px solid #00aac8;
}

@media screen and (max-width: 766px) {
  .hereafter__action {
    padding-left: 1.2em;
  }
}

.hereafter__action::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1.3em;
  height: 1.9em;
  transform: translateX(-100%);
  background-image: url(../img/arrow.svg);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  content: '';
}

.hereafter__action_item:not(:first-child) {
  margin-top: 3em;
}

.hereafter__year {
  position: relative;
  color: #00aac8;
  font-weight: 700;
  font-size: 1.8em;
  letter-spacing: 0.1em;
}

.hereafter__year::before {
  display: block;
  position: absolute;
  left: -1.35em;
  width: 1em;
  height: 1em;
  transform: translateY(-5%);
  background-image: url(../img/hereafter_action_circle.svg);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  content: '';
  font-size: 105.55556%;
}

@media screen and (max-width: 766px) {
  .hereafter__year::before {
    left: -1.45em;
    transform: translateY(-3%);
    font-size: 95%;
  }
}

@media screen and (max-width: 766px) {
  .hereafter__year {
    font-size: 1.5em;
  }
}

.hereafter__description {
  font-feature-settings: "palt" 1;
  margin-top: 0.5em;
  padding-left: .7em;
  font-weight: 600;
  font-size: 2em;
  line-height: 1.6;
  font-family: YakuHanMP_Noto, "Noto Serif JP", serif;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 766px) {
  .hereafter__description {
    margin-top: 0.7em;
    font-size: 1.65543em;
  }
}

.hereafter__description li:not(:first-child) {
  margin-top: .4em;
}

.partner__contents {
  position: relative;
}

@media screen and (min-width: 767px) and (max-width: 960px) {
  .partner__contents {
    font-size: 1.042vw;
  }
}

@media screen and (max-width: 392px) {
  .partner__contents {
    font-size: 2.551vw;
  }
}

.partner__contents p:nth-child(1) {
  font-weight: 700;
  font-size: 2em;
  text-align: center;
}

@media screen and (max-width: 766px) {
  .partner__contents p:nth-child(1) {
    font-size: 1.5em;
  }
}

.partner__contents p:nth-child(1) .small {
  font-size: 75%;
}

.partner__contents p:nth-child(2) {
  font-feature-settings: "palt" 1;
  margin-top: 1.2em;
  font-weight: 500;
  font-size: 1.6em;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}

@media screen and (max-width: 766px) {
  .partner__contents p:nth-child(2) {
    font-size: 1.3em;
    line-height: 1.92308;
  }
}

.partner__contents p:nth-child(2) .small {
  display: block;
  font-size: 92.30769%;
  line-height: 2.08333;
}

.partner__contents .pc_text {
  position: absolute;
  right: 2em;
  bottom: 0.5em;
  font-weight: 500;
  font-size: 1.2em;
}

@media screen and (max-width: 766px) {
  .tie_up .tie_up__item:not(:first-child) {
    margin-top: 2em;
  }
}

.tie_up p {
  font-weight: 700;
  font-size: 1.8em;
  line-height: 2;
  text-align: center;
}

@media screen and (max-width: 766px) {
  .tie_up p {
    font-size: 1.5em;
    line-height: 1.4;
  }
}

.ourplan_section {
  padding-top: 10em;
}

@media screen and (max-width: 766px) {
  .ourplan_section {
    padding-top: 7em;
    padding-bottom: 3.9em;
  }
}

.ourplan_section__text {
  margin-top: 4.9em;
}

@media screen and (max-width: 766px) {
  .ourplan_section__text {
    margin-top: 3.5em;
  }
}

.ourplan_section__text p {
  font-weight: 600;
  font-size: 2em;
  line-height: 1.95;
  font-family: YakuHanMP_Noto, "Noto Serif JP", serif;
  letter-spacing: 0.05em;
  text-align: center;
}

@media screen and (max-width: 766px) {
  .ourplan_section__text p {
    font-size: 1.8em;
    line-height: 2;
  }
}

.ourplan_section__image {
  margin-top: 4.7em;
}

@media screen and (max-width: 766px) {
  .ourplan_section__image {
    margin-top: 3.3em;
  }
}

.news_section {
  padding-top: 5.3em;
  padding-bottom: 6em;
  background-color: #e6f5fa;
}

@media screen and (max-width: 766px) {
  .news_section {
    padding-top: 4.6em;
    padding-bottom: 7em;
  }
}

.news_section__wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

@media screen and (max-width: 766px) {
  .news_section__wrapper {
    display: block;
  }
}

.news_section__list {
  flex-basis: 79.16667%;
}

@media screen and (max-width: 766px) {
  .news_section__list {
    margin-top: 5em;
  }
}

.news_section__list li {
  padding-bottom: 2.118em;
  border-bottom: 1px solid #afafaf;
}

@media screen and (max-width: 766px) {
  .news_section__list li {
    padding-bottom: 2.35em;
  }
}

.news_section__list li:not(:first-child) {
  padding-top: 2.118em;
}

@media screen and (max-width: 766px) {
  .news_section__list li:not(:first-child) {
    padding-top: 2.35em;
  }
}

.news_section__list dl {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 766px) {
  .news_section__list dl {
    display: block;
    padding-right: 0.6em;
  }
}

.news_section__list dt {
  padding-top: .4em;
  color: #959595;
  font-weight: 400;
  font-size: 1.4em;
  font-family: "Roboto", sans-serif;
}

@media screen and (max-width: 766px) {
  .news_section__list dt {
    padding: 0;
    font-size: 1.5em;
  }
}

.news_section__list dd {
  flex-basis: 85.52632%;
}

@media screen and (max-width: 766px) {
  .news_section__list dd {
    margin-top: 1.2em;
  }
}

.news_section__accordionButton {
  display: flex;
  position: relative;
  align-items: flex-start;
  width: 100%;
  padding-right: 2em;
  font-weight: 500;
  font-size: 1.6em;
  line-height: 1.66667;
  text-align: left;
}

@media screen and (max-width: 766px) {
  .news_section__accordionButton {
    font-size: 1.5em;
  }
}

@media screen and (max-width: 766px) {
  .news_section__accordionButton {
    display: block;
  }
}

.news_section__accordionButton::before, .news_section__accordionButton::after {
  display: block;
  position: absolute;
  top: 0.8em;
  right: 0;
  width: 1.25em;
  height: 2px;
  border-radius: 1px;
  background-color: #002f5f;
  content: '';
  transition: transform .3s;
}

@media screen and (max-width: 766px) {
  .news_section__accordionButton::before, .news_section__accordionButton::after {
    top: auto;
    bottom: 0.6em;
    width: 1.4667em;
  }
}

.news_section__accordionButton::before {
  transform: rotate(90deg);
}

.news_section__accordionButton.is-open::before {
  transform: rotate(45deg);
}

.news_section__accordionButton.is-open::after {
  transform: rotate(-45deg);
}

.news_section__accordionContent {
  display: none;
  padding-top: 1.3em;
  padding-bottom: 0.6em;
  font-weight: 500;
  font-size: 1.4em;
  line-height: 1.71429;
}

@media screen and (max-width: 766px) {
  .news_section__accordionContent {
    padding-top: 1.45em;
    padding-bottom: 0.2em;
    font-size: 1.3em;
    line-height: 1.76923;
  }
}

.u_ib {
  display: inline-block;
}

@media screen and (max-width: 766px) {
  .u_db_sp {
    display: block;
  }
}

.u_bold {
  font-weight: 700;
}

.u_regular {
  font-weight: 400;
}

.u_img {
  width: 100%;
  height: auto;
}

.link_inline {
  color: #1c67c3;
  text-decoration: underline;
}

.link_inline:hover {
  text-decoration: none;
}

@media screen and (max-width: 766px) {
  .u_pc_only {
    display: none;
  }
}

@media screen and (min-width: 767px) {
  .u_sp_only {
    display: none;
  }
}

.u_mt0pc {
  margin-top: 0 !important;
}

.u_mt10pc {
  margin-top: 10px !important;
}

.u_mt12pc {
  margin-top: 12px !important;
}

.u_mt14pc {
  margin-top: 14px !important;
}

.u_mt16pc {
  margin-top: 16px !important;
}

.u_mt18pc {
  margin-top: 18px !important;
}

.u_mt20pc {
  margin-top: 20px !important;
}

.u_mt22pc {
  margin-top: 22px !important;
}

.u_mt24pc {
  margin-top: 24px !important;
}

.u_mt26pc {
  margin-top: 26px !important;
}

.u_mt28pc {
  margin-top: 28px !important;
}

.u_mt30pc {
  margin-top: 30px !important;
}

.u_mt32pc {
  margin-top: 32px !important;
}

.u_mt34pc {
  margin-top: 34px !important;
}

.u_mt36pc {
  margin-top: 36px !important;
}

.u_mt38pc {
  margin-top: 38px !important;
}

.u_mt40pc {
  margin-top: 40px !important;
}

.u_mt42pc {
  margin-top: 42px !important;
}

.u_mt44pc {
  margin-top: 44px !important;
}

.u_mt46pc {
  margin-top: 46px !important;
}

.u_mt48pc {
  margin-top: 48px !important;
}

.u_mt50pc {
  margin-top: 50px !important;
}

.u_mt52pc {
  margin-top: 52px !important;
}

.u_mt54pc {
  margin-top: 54px !important;
}

.u_mt56pc {
  margin-top: 56px !important;
}

.u_mt58pc {
  margin-top: 58px !important;
}

.u_mt60pc {
  margin-top: 60px !important;
}

.u_mt62pc {
  margin-top: 62px !important;
}

.u_mt64pc {
  margin-top: 64px !important;
}

.u_mt66pc {
  margin-top: 66px !important;
}

.u_mt68pc {
  margin-top: 68px !important;
}

.u_mt70pc {
  margin-top: 70px !important;
}

.u_mt72pc {
  margin-top: 72px !important;
}

.u_mt74pc {
  margin-top: 74px !important;
}

.u_mt76pc {
  margin-top: 76px !important;
}

.u_mt78pc {
  margin-top: 78px !important;
}

.u_mt80pc {
  margin-top: 80px !important;
}

@media screen and (max-width: 766px) {
  .u_mt0sp {
    margin-top: 0 !important;
  }
  .u_mt10sp {
    margin-top: 10px !important;
  }
  .u_mt12sp {
    margin-top: 12px !important;
  }
  .u_mt14sp {
    margin-top: 14px !important;
  }
  .u_mt16sp {
    margin-top: 16px !important;
  }
  .u_mt18sp {
    margin-top: 18px !important;
  }
  .u_mt20sp {
    margin-top: 20px !important;
  }
  .u_mt22sp {
    margin-top: 22px !important;
  }
  .u_mt24sp {
    margin-top: 24px !important;
  }
  .u_mt26sp {
    margin-top: 26px !important;
  }
  .u_mt28sp {
    margin-top: 28px !important;
  }
  .u_mt30sp {
    margin-top: 30px !important;
  }
  .u_mt32sp {
    margin-top: 32px !important;
  }
  .u_mt34sp {
    margin-top: 34px !important;
  }
  .u_mt36sp {
    margin-top: 36px !important;
  }
  .u_mt38sp {
    margin-top: 38px !important;
  }
  .u_mt40sp {
    margin-top: 40px !important;
  }
  .u_mt42sp {
    margin-top: 42px !important;
  }
  .u_mt44sp {
    margin-top: 44px !important;
  }
  .u_mt46sp {
    margin-top: 46px !important;
  }
  .u_mt48sp {
    margin-top: 48px !important;
  }
  .u_mt50sp {
    margin-top: 50px !important;
  }
  .u_mt52sp {
    margin-top: 52px !important;
  }
  .u_mt54sp {
    margin-top: 54px !important;
  }
  .u_mt56sp {
    margin-top: 56px !important;
  }
  .u_mt58sp {
    margin-top: 58px !important;
  }
  .u_mt60sp {
    margin-top: 60px !important;
  }
  .u_mt62sp {
    margin-top: 62px !important;
  }
  .u_mt64sp {
    margin-top: 64px !important;
  }
  .u_mt66sp {
    margin-top: 66px !important;
  }
  .u_mt68sp {
    margin-top: 68px !important;
  }
  .u_mt70sp {
    margin-top: 70px !important;
  }
  .u_mt72sp {
    margin-top: 72px !important;
  }
  .u_mt74sp {
    margin-top: 74px !important;
  }
  .u_mt76sp {
    margin-top: 76px !important;
  }
  .u_mt78sp {
    margin-top: 78px !important;
  }
  .u_mt80sp {
    margin-top: 80px !important;
  }
}

.u_mt1em_pc {
  margin-top: 1em !important;
}

.u_mt2em_pc {
  margin-top: 2em !important;
}

.u_mt3em_pc {
  margin-top: 3em !important;
}

.u_mt4em_pc {
  margin-top: 4em !important;
}

.u_mt5em_pc {
  margin-top: 5em !important;
}

@media screen and (max-width: 766px) {
  .u_mt1em_sp {
    margin-top: 1em !important;
  }
  .u_mt2em_sp {
    margin-top: 2em !important;
  }
  .u_mt3em_sp {
    margin-top: 3em !important;
  }
  .u_mt4em_sp {
    margin-top: 4em !important;
  }
  .u_mt5em_sp {
    margin-top: 5em !important;
  }
}

.u_ml0pc {
  margin-left: 0 !important;
}

.u_ml_auto_pc {
  margin-left: auto !important;
}

.u_ml1em_pc {
  margin-left: 1em !important;
}

.u_ml2em_pc {
  margin-left: 2em !important;
}

.u_ml3em_pc {
  margin-left: 3em !important;
}

.u_ml4em_pc {
  margin-left: 4em !important;
}

.u_ml5em_pc {
  margin-left: 5em !important;
}

@media screen and (max-width: 766px) {
  .u_ml0sp {
    margin-left: 0 !important;
  }
  .u_ml_auto_sp {
    margin-left: auto !important;
  }
  .u_ml1em_sp {
    margin-left: 1em !important;
  }
  .u_ml2em_sp {
    margin-left: 2em !important;
  }
  .u_ml3em_sp {
    margin-left: 3em !important;
  }
  .u_ml4em_sp {
    margin-left: 4em !important;
  }
  .u_ml5em_sp {
    margin-left: 5em !important;
  }
}

.u_mr0pc {
  margin-right: 0 !important;
}

.u_mr_auto_pc {
  margin-right: auto !important;
}

.u_mr1em_pc {
  margin-right: 1em !important;
}

.u_mr2em_pc {
  margin-right: 2em !important;
}

.u_mr3em_pc {
  margin-right: 3em !important;
}

.u_mr4em_pc {
  margin-right: 4em !important;
}

.u_mr5em_pc {
  margin-right: 5em !important;
}

@media screen and (max-width: 766px) {
  .u_mr0sp {
    margin-right: 0 !important;
  }
  .u_mr_auto_sp {
    margin-right: auto !important;
  }
  .u_mr1em_sp {
    margin-right: 1em !important;
  }
  .u_mr2em_sp {
    margin-right: 2em !important;
  }
  .u_mr3em_sp {
    margin-right: 3em !important;
  }
  .u_mr4em_sp {
    margin-right: 4em !important;
  }
  .u_mr5em_sp {
    margin-right: 5em !important;
  }
}

.u_pt0pc {
  padding-top: 0 !important;
}

.u_pt10pc {
  padding-top: 10px !important;
}

.u_pt12pc {
  padding-top: 12px !important;
}

.u_pt14pc {
  padding-top: 14px !important;
}

.u_pt16pc {
  padding-top: 16px !important;
}

.u_pt18pc {
  padding-top: 18px !important;
}

.u_pt20pc {
  padding-top: 20px !important;
}

.u_pt22pc {
  padding-top: 22px !important;
}

.u_pt24pc {
  padding-top: 24px !important;
}

.u_pt26pc {
  padding-top: 26px !important;
}

.u_pt28pc {
  padding-top: 28px !important;
}

.u_pt30pc {
  padding-top: 30px !important;
}

.u_pt32pc {
  padding-top: 32px !important;
}

.u_pt34pc {
  padding-top: 34px !important;
}

.u_pt36pc {
  padding-top: 36px !important;
}

.u_pt38pc {
  padding-top: 38px !important;
}

.u_pt40pc {
  padding-top: 40px !important;
}

.u_pt42pc {
  padding-top: 42px !important;
}

.u_pt44pc {
  padding-top: 44px !important;
}

.u_pt46pc {
  padding-top: 46px !important;
}

.u_pt48pc {
  padding-top: 48px !important;
}

.u_pt50pc {
  padding-top: 50px !important;
}

.u_pt52pc {
  padding-top: 52px !important;
}

.u_pt54pc {
  padding-top: 54px !important;
}

.u_pt56pc {
  padding-top: 56px !important;
}

.u_pt58pc {
  padding-top: 58px !important;
}

.u_pt60pc {
  padding-top: 60px !important;
}

.u_pt62pc {
  padding-top: 62px !important;
}

.u_pt64pc {
  padding-top: 64px !important;
}

.u_pt66pc {
  padding-top: 66px !important;
}

.u_pt68pc {
  padding-top: 68px !important;
}

.u_pt70pc {
  padding-top: 70px !important;
}

.u_pt72pc {
  padding-top: 72px !important;
}

.u_pt74pc {
  padding-top: 74px !important;
}

.u_pt76pc {
  padding-top: 76px !important;
}

.u_pt78pc {
  padding-top: 78px !important;
}

.u_pt80pc {
  padding-top: 80px !important;
}

.u_pt82pc {
  padding-top: 82px !important;
}

.u_pt84pc {
  padding-top: 84px !important;
}

.u_pt86pc {
  padding-top: 86px !important;
}

.u_pt88pc {
  padding-top: 88px !important;
}

.u_pt90pc {
  padding-top: 90px !important;
}

.u_pt92pc {
  padding-top: 92px !important;
}

.u_pt94pc {
  padding-top: 94px !important;
}

.u_pt96pc {
  padding-top: 96px !important;
}

.u_pt98pc {
  padding-top: 98px !important;
}

.u_pt100pc {
  padding-top: 100px !important;
}

@media screen and (max-width: 766px) {
  .u_pt0sp {
    padding-top: 0 !important;
  }
  .u_pt10sp {
    padding-top: 10px !important;
  }
  .u_pt12sp {
    padding-top: 12px !important;
  }
  .u_pt14sp {
    padding-top: 14px !important;
  }
  .u_pt16sp {
    padding-top: 16px !important;
  }
  .u_pt18sp {
    padding-top: 18px !important;
  }
  .u_pt20sp {
    padding-top: 20px !important;
  }
  .u_pt22sp {
    padding-top: 22px !important;
  }
  .u_pt24sp {
    padding-top: 24px !important;
  }
  .u_pt26sp {
    padding-top: 26px !important;
  }
  .u_pt28sp {
    padding-top: 28px !important;
  }
  .u_pt30sp {
    padding-top: 30px !important;
  }
  .u_pt32sp {
    padding-top: 32px !important;
  }
  .u_pt34sp {
    padding-top: 34px !important;
  }
  .u_pt36sp {
    padding-top: 36px !important;
  }
  .u_pt38sp {
    padding-top: 38px !important;
  }
  .u_pt40sp {
    padding-top: 40px !important;
  }
  .u_pt42sp {
    padding-top: 42px !important;
  }
  .u_pt44sp {
    padding-top: 44px !important;
  }
  .u_pt46sp {
    padding-top: 46px !important;
  }
  .u_pt48sp {
    padding-top: 48px !important;
  }
  .u_pt50sp {
    padding-top: 50px !important;
  }
  .u_pt52sp {
    padding-top: 52px !important;
  }
  .u_pt54sp {
    padding-top: 54px !important;
  }
  .u_pt56sp {
    padding-top: 56px !important;
  }
  .u_pt58sp {
    padding-top: 58px !important;
  }
  .u_pt60sp {
    padding-top: 60px !important;
  }
  .u_pt62sp {
    padding-top: 62px !important;
  }
  .u_pt64sp {
    padding-top: 64px !important;
  }
  .u_pt66sp {
    padding-top: 66px !important;
  }
  .u_pt68sp {
    padding-top: 68px !important;
  }
  .u_pt70sp {
    padding-top: 70px !important;
  }
  .u_pt72sp {
    padding-top: 72px !important;
  }
  .u_pt74sp {
    padding-top: 74px !important;
  }
  .u_pt76sp {
    padding-top: 76px !important;
  }
  .u_pt78sp {
    padding-top: 78px !important;
  }
  .u_pt80sp {
    padding-top: 80px !important;
  }
  .u_pt82sp {
    padding-top: 82px !important;
  }
  .u_pt84sp {
    padding-top: 84px !important;
  }
  .u_pt86sp {
    padding-top: 86px !important;
  }
  .u_pt88sp {
    padding-top: 88px !important;
  }
  .u_pt90sp {
    padding-top: 90px !important;
  }
  .u_pt92sp {
    padding-top: 92px !important;
  }
  .u_pt94sp {
    padding-top: 94px !important;
  }
  .u_pt96sp {
    padding-top: 96px !important;
  }
  .u_pt98sp {
    padding-top: 98px !important;
  }
  .u_pt100sp {
    padding-top: 100px !important;
  }
}

.u_pb0pc {
  padding-bottom: 0 !important;
}

.u_pb10pc {
  padding-bottom: 10px !important;
}

.u_pb12pc {
  padding-bottom: 12px !important;
}

.u_pb14pc {
  padding-bottom: 14px !important;
}

.u_pb16pc {
  padding-bottom: 16px !important;
}

.u_pb18pc {
  padding-bottom: 18px !important;
}

.u_pb20pc {
  padding-bottom: 20px !important;
}

.u_pb22pc {
  padding-bottom: 22px !important;
}

.u_pb24pc {
  padding-bottom: 24px !important;
}

.u_pb26pc {
  padding-bottom: 26px !important;
}

.u_pb28pc {
  padding-bottom: 28px !important;
}

.u_pb30pc {
  padding-bottom: 30px !important;
}

.u_pb32pc {
  padding-bottom: 32px !important;
}

.u_pb34pc {
  padding-bottom: 34px !important;
}

.u_pb36pc {
  padding-bottom: 36px !important;
}

.u_pb38pc {
  padding-bottom: 38px !important;
}

.u_pb40pc {
  padding-bottom: 40px !important;
}

.u_pb42pc {
  padding-bottom: 42px !important;
}

.u_pb44pc {
  padding-bottom: 44px !important;
}

.u_pb46pc {
  padding-bottom: 46px !important;
}

.u_pb48pc {
  padding-bottom: 48px !important;
}

.u_pb50pc {
  padding-bottom: 50px !important;
}

.u_pb52pc {
  padding-bottom: 52px !important;
}

.u_pb54pc {
  padding-bottom: 54px !important;
}

.u_pb56pc {
  padding-bottom: 56px !important;
}

.u_pb58pc {
  padding-bottom: 58px !important;
}

.u_pb60pc {
  padding-bottom: 60px !important;
}

.u_pb62pc {
  padding-bottom: 62px !important;
}

.u_pb64pc {
  padding-bottom: 64px !important;
}

.u_pb66pc {
  padding-bottom: 66px !important;
}

.u_pb68pc {
  padding-bottom: 68px !important;
}

.u_pb70pc {
  padding-bottom: 70px !important;
}

.u_pb72pc {
  padding-bottom: 72px !important;
}

.u_pb74pc {
  padding-bottom: 74px !important;
}

.u_pb76pc {
  padding-bottom: 76px !important;
}

.u_pb78pc {
  padding-bottom: 78px !important;
}

.u_pb80pc {
  padding-bottom: 80px !important;
}

.u_pb82pc {
  padding-bottom: 82px !important;
}

.u_pb84pc {
  padding-bottom: 84px !important;
}

.u_pb86pc {
  padding-bottom: 86px !important;
}

.u_pb88pc {
  padding-bottom: 88px !important;
}

.u_pb90pc {
  padding-bottom: 90px !important;
}

.u_pb92pc {
  padding-bottom: 92px !important;
}

.u_pb94pc {
  padding-bottom: 94px !important;
}

.u_pb96pc {
  padding-bottom: 96px !important;
}

.u_pb98pc {
  padding-bottom: 98px !important;
}

.u_pb100pc {
  padding-bottom: 100px !important;
}

@media screen and (max-width: 766px) {
  .u_pb0sp {
    padding-bottom: 0 !important;
  }
  .u_pb10sp {
    padding-bottom: 10px !important;
  }
  .u_pb12sp {
    padding-bottom: 12px !important;
  }
  .u_pb14sp {
    padding-bottom: 14px !important;
  }
  .u_pb16sp {
    padding-bottom: 16px !important;
  }
  .u_pb18sp {
    padding-bottom: 18px !important;
  }
  .u_pb20sp {
    padding-bottom: 20px !important;
  }
  .u_pb22sp {
    padding-bottom: 22px !important;
  }
  .u_pb24sp {
    padding-bottom: 24px !important;
  }
  .u_pb26sp {
    padding-bottom: 26px !important;
  }
  .u_pb28sp {
    padding-bottom: 28px !important;
  }
  .u_pb30sp {
    padding-bottom: 30px !important;
  }
  .u_pb32sp {
    padding-bottom: 32px !important;
  }
  .u_pb34sp {
    padding-bottom: 34px !important;
  }
  .u_pb36sp {
    padding-bottom: 36px !important;
  }
  .u_pb38sp {
    padding-bottom: 38px !important;
  }
  .u_pb40sp {
    padding-bottom: 40px !important;
  }
  .u_pb42sp {
    padding-bottom: 42px !important;
  }
  .u_pb44sp {
    padding-bottom: 44px !important;
  }
  .u_pb46sp {
    padding-bottom: 46px !important;
  }
  .u_pb48sp {
    padding-bottom: 48px !important;
  }
  .u_pb50sp {
    padding-bottom: 50px !important;
  }
  .u_pb52sp {
    padding-bottom: 52px !important;
  }
  .u_pb54sp {
    padding-bottom: 54px !important;
  }
  .u_pb56sp {
    padding-bottom: 56px !important;
  }
  .u_pb58sp {
    padding-bottom: 58px !important;
  }
  .u_pb60sp {
    padding-bottom: 60px !important;
  }
  .u_pb62sp {
    padding-bottom: 62px !important;
  }
  .u_pb64sp {
    padding-bottom: 64px !important;
  }
  .u_pb66sp {
    padding-bottom: 66px !important;
  }
  .u_pb68sp {
    padding-bottom: 68px !important;
  }
  .u_pb70sp {
    padding-bottom: 70px !important;
  }
  .u_pb72sp {
    padding-bottom: 72px !important;
  }
  .u_pb74sp {
    padding-bottom: 74px !important;
  }
  .u_pb76sp {
    padding-bottom: 76px !important;
  }
  .u_pb78sp {
    padding-bottom: 78px !important;
  }
  .u_pb80sp {
    padding-bottom: 80px !important;
  }
  .u_pb82sp {
    padding-bottom: 82px !important;
  }
  .u_pb84sp {
    padding-bottom: 84px !important;
  }
  .u_pb86sp {
    padding-bottom: 86px !important;
  }
  .u_pb88sp {
    padding-bottom: 88px !important;
  }
  .u_pb90sp {
    padding-bottom: 90px !important;
  }
  .u_pb92sp {
    padding-bottom: 92px !important;
  }
  .u_pb94sp {
    padding-bottom: 94px !important;
  }
  .u_pb96sp {
    padding-bottom: 96px !important;
  }
  .u_pb98sp {
    padding-bottom: 98px !important;
  }
  .u_pb100sp {
    padding-bottom: 100px !important;
  }
}

.u_pl0pc {
  padding-left: 0 !important;
}

.u_pl2pc {
  padding-left: 2px !important;
}

.u_pl4pc {
  padding-left: 4px !important;
}

.u_pl6pc {
  padding-left: 6px !important;
}

.u_pl8pc {
  padding-left: 8px !important;
}

.u_pl10pc {
  padding-left: 10px !important;
}

.u_pl12pc {
  padding-left: 12px !important;
}

.u_pl14pc {
  padding-left: 14px !important;
}

.u_pl16pc {
  padding-left: 16px !important;
}

.u_pl18pc {
  padding-left: 18px !important;
}

.u_pl20pc {
  padding-left: 20px !important;
}

.u_pl22pc {
  padding-left: 22px !important;
}

.u_pl24pc {
  padding-left: 24px !important;
}

.u_pl26pc {
  padding-left: 26px !important;
}

.u_pl28pc {
  padding-left: 28px !important;
}

.u_pl30pc {
  padding-left: 30px !important;
}

.u_pl32pc {
  padding-left: 32px !important;
}

.u_pl34pc {
  padding-left: 34px !important;
}

.u_pl36pc {
  padding-left: 36px !important;
}

.u_pl38pc {
  padding-left: 38px !important;
}

.u_pl40pc {
  padding-left: 40px !important;
}

.u_pl42pc {
  padding-left: 42px !important;
}

.u_pl44pc {
  padding-left: 44px !important;
}

.u_pl46pc {
  padding-left: 46px !important;
}

.u_pl48pc {
  padding-left: 48px !important;
}

.u_pl50pc {
  padding-left: 50px !important;
}

@media screen and (max-width: 766px) {
  .u_pl0sp {
    padding-left: 0 !important;
  }
  .u_pl2sp {
    padding-left: 2px !important;
  }
  .u_pl4sp {
    padding-left: 4px !important;
  }
  .u_pl6sp {
    padding-left: 6px !important;
  }
  .u_pl8sp {
    padding-left: 8px !important;
  }
  .u_pl10sp {
    padding-left: 10px !important;
  }
  .u_pl12sp {
    padding-left: 12px !important;
  }
  .u_pl14sp {
    padding-left: 14px !important;
  }
  .u_pl16sp {
    padding-left: 16px !important;
  }
  .u_pl18sp {
    padding-left: 18px !important;
  }
  .u_pl20sp {
    padding-left: 20px !important;
  }
  .u_pl22sp {
    padding-left: 22px !important;
  }
  .u_pl24sp {
    padding-left: 24px !important;
  }
  .u_pl26sp {
    padding-left: 26px !important;
  }
  .u_pl28sp {
    padding-left: 28px !important;
  }
  .u_pl30sp {
    padding-left: 30px !important;
  }
  .u_pl32sp {
    padding-left: 32px !important;
  }
  .u_pl34sp {
    padding-left: 34px !important;
  }
  .u_pl36sp {
    padding-left: 36px !important;
  }
  .u_pl38sp {
    padding-left: 38px !important;
  }
  .u_pl40sp {
    padding-left: 40px !important;
  }
  .u_pl42sp {
    padding-left: 42px !important;
  }
  .u_pl44sp {
    padding-left: 44px !important;
  }
  .u_pl46sp {
    padding-left: 46px !important;
  }
  .u_pl48sp {
    padding-left: 48px !important;
  }
  .u_pl50sp {
    padding-left: 50px !important;
  }
}

.u_pl1em_pc {
  padding-left: 1em !important;
}

.u_pl2em_pc {
  padding-left: 2em !important;
}

.u_pl3em_pc {
  padding-left: 3em !important;
}

.u_pl4em_pc {
  padding-left: 4em !important;
}

.u_pl5em_pc {
  padding-left: 5em !important;
}

@media screen and (max-width: 766px) {
  .u_pl1em_sp {
    padding-left: 1em !important;
  }
  .u_pl2em_sp {
    padding-left: 2em !important;
  }
  .u_pl3em_sp {
    padding-left: 3em !important;
  }
  .u_pl4em_sp {
    padding-left: 4em !important;
  }
  .u_pl5em_sp {
    padding-left: 5em !important;
  }
}

.u_pr0pc {
  padding-right: 0 !important;
}

.u_pr2pc {
  padding-right: 2px !important;
}

.u_pr4pc {
  padding-right: 4px !important;
}

.u_pr6pc {
  padding-right: 6px !important;
}

.u_pr8pc {
  padding-right: 8px !important;
}

.u_pr10pc {
  padding-right: 10px !important;
}

.u_pr12pc {
  padding-right: 12px !important;
}

.u_pr14pc {
  padding-right: 14px !important;
}

.u_pr16pc {
  padding-right: 16px !important;
}

.u_pr18pc {
  padding-right: 18px !important;
}

.u_pr20pc {
  padding-right: 20px !important;
}

.u_pr22pc {
  padding-right: 22px !important;
}

.u_pr24pc {
  padding-right: 24px !important;
}

.u_pr26pc {
  padding-right: 26px !important;
}

.u_pr28pc {
  padding-right: 28px !important;
}

.u_pr30pc {
  padding-right: 30px !important;
}

.u_pr32pc {
  padding-right: 32px !important;
}

.u_pr34pc {
  padding-right: 34px !important;
}

.u_pr36pc {
  padding-right: 36px !important;
}

.u_pr38pc {
  padding-right: 38px !important;
}

.u_pr40pc {
  padding-right: 40px !important;
}

.u_pr42pc {
  padding-right: 42px !important;
}

.u_pr44pc {
  padding-right: 44px !important;
}

.u_pr46pc {
  padding-right: 46px !important;
}

.u_pr48pc {
  padding-right: 48px !important;
}

.u_pr50pc {
  padding-right: 50px !important;
}

@media screen and (max-width: 766px) {
  .u_pr0sp {
    padding-right: 0 !important;
  }
  .u_pr2sp {
    padding-right: 2px !important;
  }
  .u_pr4sp {
    padding-right: 4px !important;
  }
  .u_pr6sp {
    padding-right: 6px !important;
  }
  .u_pr8sp {
    padding-right: 8px !important;
  }
  .u_pr10sp {
    padding-right: 10px !important;
  }
  .u_pr12sp {
    padding-right: 12px !important;
  }
  .u_pr14sp {
    padding-right: 14px !important;
  }
  .u_pr16sp {
    padding-right: 16px !important;
  }
  .u_pr18sp {
    padding-right: 18px !important;
  }
  .u_pr20sp {
    padding-right: 20px !important;
  }
  .u_pr22sp {
    padding-right: 22px !important;
  }
  .u_pr24sp {
    padding-right: 24px !important;
  }
  .u_pr26sp {
    padding-right: 26px !important;
  }
  .u_pr28sp {
    padding-right: 28px !important;
  }
  .u_pr30sp {
    padding-right: 30px !important;
  }
  .u_pr32sp {
    padding-right: 32px !important;
  }
  .u_pr34sp {
    padding-right: 34px !important;
  }
  .u_pr36sp {
    padding-right: 36px !important;
  }
  .u_pr38sp {
    padding-right: 38px !important;
  }
  .u_pr40sp {
    padding-right: 40px !important;
  }
  .u_pr42sp {
    padding-right: 42px !important;
  }
  .u_pr44sp {
    padding-right: 44px !important;
  }
  .u_pr46sp {
    padding-right: 46px !important;
  }
  .u_pr48sp {
    padding-right: 48px !important;
  }
  .u_pr50sp {
    padding-right: 50px !important;
  }
}

.u_pr1em_pc {
  padding-right: 1em !important;
}

.u_pr2em_pc {
  padding-right: 2em !important;
}

.u_pr3em_pc {
  padding-right: 3em !important;
}

.u_pr4em_pc {
  padding-right: 4em !important;
}

.u_pr5em_pc {
  padding-right: 5em !important;
}

@media screen and (max-width: 766px) {
  .u_pr1em_sp {
    padding-right: 1em !important;
  }
  .u_pr2em_sp {
    padding-right: 2em !important;
  }
  .u_pr3em_sp {
    padding-right: 3em !important;
  }
  .u_pr4em_sp {
    padding-right: 4em !important;
  }
  .u_pr5em_sp {
    padding-right: 5em !important;
  }
}
