@charset "UTF-8";
/*====================================================================================================
//////////////////////////////////////////////////////////////////////////////////////////////////////

    version: 1.0
    created: 2017/01/01
    update : -

//////////////////////////////////////////////////////////////////////////////////////////////////////
====================================================================================================*/
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@300;500&amp;display=swap");
@import url("https://fonts.googleapis.com/css2?family=Kosugi&amp;display=swap&amp;text=%e5%a1%9a");
@import url('https://fonts.googleapis.com/css2?family=PT+Sans+Caption&text="g":display=swap');
@font-face {
  font-family: "icon";
  src: url("../woff/icon.woff");
}



.icon-mod_ico_anchor {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\E001";
  vertical-align: middle;
}

.icon-mod_ico_arrow {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\E002";
  vertical-align: middle;
}

.icon-mod_ico_check {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\E003";
  vertical-align: middle;
}

/*====================================================================================================

format

====================================================================================================*/
html {
  overflow-y: scroll;
}

body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  font-size: 100%;
}

p {
  margin-top: 0;
}

ul,
ol {
  padding-left: 0;
  list-style: none;
  letter-spacing: -.5em;
}

li {
  letter-spacing: 0;
}

table {
  border-spacing: 0;
}

table th > *:last-child,
table td > *:last-child {
  margin-bottom: 0 !important;
}

hr {
  display: none;
}

img {
  border: none;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  img {
    max-width: 100%;
    height: auto;
  }
}

li img {
  vertical-align: middle;
}

button,
input,
select,
textarea {
  vertical-align: middle;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
  cursor: pointer;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

button {
  display: inline-block;
  border: none;
  padding: 0;
  background: none;
}

button::-moz-focus-inner {
  border: none;
  padding: 0;
}

:placeholder-shown {
  color: #1A2229;
}

::-webkit-input-placeholder {
  color: #1A2229;
}

::-moz-placeholder {
  color: #1A2229;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #1A2229;
}

em,
address,
small {
  font-style: normal;
}

em {
  font-weight: 700;
}

sup {
  font-size: 70%;
}

sub {
  font-size: 70%;
  vertical-align: unset;
}

article,
aside,
dialog,
figure,
footer,
header,
menu,
nav,
section,
mark,
audio,
video,
picture,
source,
main {
  display: block;
  margin: 0;
  border: 0;
  padding: 0;
  outline: 0;
}

fieldset {
  margin: 0;
  border: none;
  padding: 0;
}

/*====================================================================================================

base

====================================================================================================*/
@font-face {
  font-family: "Original Yu Gothic";
  font-weight: 400;
  src: local("Yu Gothic Medium");
}

@font-face {
  font-family: "Original Yu Gothic";
  font-weight: 700;
  src: local("Yu Gothic Bold");
}

@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W4);
  font-weight: 400;
}

@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W6);
  font-weight: 700;
}

:root {
  --viewWidth: 0px;
}

body {
  font-family: "Kosugi", 'PT Sans Caption', "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Hiragino Sans", sans-serif;
  color: #1A2229;
}

@media (min-width: 768px) {
  body {
    font-size: 1rem;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  body {
    font-size: 0.875rem;
    line-height: 2;
  }
}

a {
  color: #5FB76F;
  text-decoration: none;
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    cursor: text;
    pointer-events: none;
  }
  a[href*="tel:"] img {
    cursor: default;
  }
}

button,
input,
select,
textarea {
  font-family: "Kosugi", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Hiragino Sans", sans-serif;
}

@media (min-width: 768px) {
  button,
  input,
  select,
  textarea {
    font-size: 1rem;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  button,
  input,
  select,
  textarea {
    font-size: 0.875rem;
    line-height: 2;
  }
}

#document {
  overflow: hidden;
  margin: 0 auto;
}

@media (min-width: 768px) {
  #document {
    min-width: 1024px;
  }
}

@media screen and (max-width: 767px) {
  #document {
    min-width: 320px;
  }
}

.loadWindow {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: white;
  z-index: 9999;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

.loadWindow.is_anim {
  opacity: 0;
}


/* Header
--------------------------------------------------------------------------------------------------- */
#gheader {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 100;
  -webkit-transition: top .3s ease;
  transition: top .3s ease;
}

@media (min-width: 768px) {
  #gheader {
    top: 50px;
    margin: 0 4%;
    min-width: 1024px;
  }
}

@media screen and (max-width: 767px) {
  #gheader {
    top: 42px;
  }
}

#gheader .gheaderInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media (min-width: 768px) {
  #gheader .gheaderInner {
    padding: 0 80px 0 50px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 60px;
    -webkit-box-shadow: 0 6px 25px rgba(26, 34, 41, 0.07);
            box-shadow: 0 6px 25px rgba(26, 34, 41, 0.07);
  }
}

@media screen and (max-width: 767px) {
  #gheader .gheaderInner {
    padding: 0 30px;
  }
}

@media (min-width: 768px) {
  #gheader .gheaderInner::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    z-index: -1;
    -webkit-backdrop-filter: blur(15px);
            backdrop-filter: blur(15px);
  }
}

#gheader .gheaderInner .logo {
  margin: 0;
}

@media screen and (max-width: 767px) {
  #gheader .gheaderInner .logo {
    position: relative;
    z-index: 101;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
  }
}

#gheader .gheaderInner .logo > a {
  display: block;
  overflow: hidden;
  line-height: 1;
  width: 200px;
  height: 44px;
  background-image: url(../png/header_logo.png);
  background-repeat: no-repeat;
  background-size: contain;
  text-indent: 200%;
  white-space: nowrap;
}

@media (min-width: 768px) {
  #gheader #gnav .menu {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .menu {
    position: relative;
    z-index: 101;
    background: #606E79;
    border-radius: 50%;
    -webkit-transition: top .3s ease;
    transition: top .3s ease;
  }
  #gheader #gnav .menu button {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    display: block;
    width: 24px;
    height: 10px;
    position: relative;
    padding: 13px;
    padding-top: 20px;
    padding-bottom: 20px;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 200%;
  }
  #gheader #gnav .menu button > span {
    width: calc(100% - 26px);
    height: 100%;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
  }
  #gheader #gnav .menu button > span::before, #gheader #gnav .menu button > span::after {
    content: '';
    display: block;
    width: 100%;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  #gheader #gnav .menu button > span::before {
    top: 20px;
  }
  #gheader #gnav .menu button > span::after {
    bottom: 20px;
  }
  #gheader #gnav .menu button span::before, #gheader #gnav .menu button span::after {
    height: 2px;
    background: white;
  }
  #gheader #gnav .menu button.is_active span::before {
    top: 50%;
    margin-top: -2px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #gheader #gnav .menu button.is_active span::after {
    bottom: 50%;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

@media (min-width: 768px) {
  #gheader #gnav .menu:hover {
    background: #5FB76F;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner {
    display: none;
    position: absolute;
    top: -42px;
    left: 0;
    z-index: 100;
    padding: 170px 0 80px;
    width: 100vw;
    height: calc(100vh - 250px);
    background: white;
  }
}

#gheader #gnav .gnavInner .primary {
  margin-block: unset;
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px 60px;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary {
    padding: 0 30px;
    overflow: auto;
    height: 100%;
  }
}

#gheader #gnav .gnavInner .primary > li {
  font-weight: 700;
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 104px;
    font-size: 0.9375rem;
    line-height: 1.4;
    border-bottom: none;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li {
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li::after {
    position: absolute;
    bottom: -40px;
    width: 100%;
    height: 40px;
    opacity: 0;
    pointer-events: none;
    background: transparent;
    display: inline-block;
    content: "";
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li:not(:last-of-type) {
    border-bottom: 1px solid #ECEEEF;
  }
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li:not(:first-of-type)::before {
    position: absolute;
    inset: 0 0 0 -30px;
    margin-block: auto;
    width: 1px;
    height: 44px;
    background: #ECEEEF;
    display: inline-block;
    content: "";
  }
}

#gheader #gnav .gnavInner .primary > li > a {
  display: block;
  position: relative;
  color: #1A2229;
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li > a {
    display: inline-block;
    padding: 0;
    text-align: center;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li > a {
    padding: 20px 30px 20px 20px;
    background: white;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li > a::after {
    position: absolute;
    top: 50%;
    right: 20px;
    color: #5FB76F;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: inline-block;
    font-family: "icon";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: "\E002";
    font-size: 10px;
    line-height: 10px;
    vertical-align: middle;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li > a.secondary::before, #gheader #gnav .gnavInner .primary > li > a.secondary::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #5FB76F;
    display: inline-block;
    content: "";
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li > a.secondary::before {
    right: 20px;
    width: 11px;
    height: 3px;
  }
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li > a.secondary::after {
    position: absolute;
    left: 50%;
    bottom: -18px;
    color: #ABB7C1;
    -webkit-transform: translateX(-50%) scale(0.35);
            transform: translateX(-50%) scale(0.35);
    display: inline-block;
    font-family: "icon";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: "\E001";
    vertical-align: middle;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li > a.secondary::after {
    right: 24px;
    width: 3px;
    height: 11px;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li > a.secondary.is_open::after {
    opacity: 0;
  }
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li:hover::after {
    opacity: 1;
    pointer-events: auto;
  }
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li:hover > a {
    color: #5FB76F;
  }
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li:hover > a::after {
    color: #5FB76F;
  }
}

#gheader #gnav .gnavInner .primary > li:hover .secondary + .secondaryWrap {
  opacity: 1;
  pointer-events: auto;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap {
    position: absolute;
    top: 130px;
    left: 50%;
    padding: 55px 35px 55px 40px;
    min-width: 384px;
    opacity: 0;
    pointer-events: none;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 10px;
    -webkit-box-shadow: 0 6px 25px rgba(26, 34, 41, 0.07);
            box-shadow: 0 6px 25px rgba(26, 34, 41, 0.07);
    -webkit-backdrop-filter: blur(15px);
            backdrop-filter: blur(15px);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
    -webkit-transition-delay: .1s;
            transition-delay: .1s;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap {
    margin: 0 0 0 20px;
  }
}

#gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryTitle {
  position: relative;
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryTitle {
    margin-bottom: 35px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryTitle {
    margin: 0 21px 25px 0;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

#gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryTitle > a {
  color: #1A2229;
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryTitle > a {
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryTitle > a {
    display: block;
  }
}

#gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryTitle::after {
  color: #5FB76F;
  -webkit-transform: scale(0.88);
          transform: scale(0.88);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\E002";
  font-size: 10px;
  line-height: 10px;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryTitle::after {
    -webkit-transition: right .3s ease;
    transition: right .3s ease;
  }
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryTitle:hover > a {
    color: #5FB76F;
  }
}

#gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryTitle:hover::after {
  right: -10px;
}

#gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .subCategoryTitle {
  color: #606E79;
}

#gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .subCategoryTitle + .categoryList {
  margin-left: 15px;
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .subCategoryTitle {
    font-size: 0.875rem;
  }
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .subCategoryTitle > li > a {
    padding-left: 0;
  }
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .subCategoryTitle > li > a::before {
    content: none;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .subCategoryTitle {
    margin: 5px 0 16px;
    font-size: 0.75rem;
  }
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .secondaryColumns {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (auto)[2];
    grid-template-columns: repeat(2, auto);
    gap: 80px;
    margin: 0 24px 0 10px;
  }
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .secondaryColumns .secondaryColumn {
    position: relative;
  }
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .secondaryColumns .secondaryColumn:nth-of-type(n+2)::before {
    position: absolute;
    top: -18px;
    bottom: -18px;
    left: -40px;
    content: "";
    border-left: 1px solid #ECEEEF;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .secondaryColumns {
    padding: 0 20px 0 0;
  }
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .secondaryColumns .secondaryColumn:first-of-type {
    margin-top: 10px;
  }
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .secondaryColumns .secondaryColumn:nth-of-type(n+2) {
    margin-top: 27px;
    border-top: 1px solid #ECEEEF;
    padding-top: 27px;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .tertiary .categoryTitle {
    margin-right: 0;
  }
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .tertiary .categoryTitle::after {
    content: none;
  }
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .tertiary .categoryTitle > a::before, #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .tertiary .categoryTitle > a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #5FB76F;
    display: inline-block;
    content: "";
  }
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .tertiary .categoryTitle > a::before {
    right: 0;
    width: 10px;
    height: 2px;
  }
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .tertiary .categoryTitle > a::after {
    right: 4px;
    width: 2px;
    height: 10px;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
  }
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .tertiary .categoryTitle.is_open a::after {
    opacity: 0;
  }
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .interviewColumn {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (320px)[2];
    grid-template-columns: repeat(2, 320px);
    gap: 40px 26px;
  }
}

#gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryList > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryList + .subCategoryTitle {
    margin-top: 26px;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryList {
    margin-bottom: 24px;
  }
}

#gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryList > li {
  font-weight: 400;
  color: #606E79;
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryList > li {
    margin-bottom: 15px;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryList > li {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

#gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryList > li > a {
  display: block;
  padding-left: 12px;
  color: inherit;
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryList > li > a {
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryList > li > a {
    padding-block: 8px;
  }
}

#gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryList > li > a::before {
  text-indent: -12px;
  display: inline-block;
  content: "-";
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap .secondaryWrapInner .categoryList > li > a:hover {
    font-weight: 700;
    color: #5FB76F;
  }
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap:has(.secondaryColumns) {
    left: -6px;
    width: 890px;
  }
  #gheader #gnav .gnavInner .primary > li .secondaryWrap:has(.secondaryColumns) .categoryList > li > a {
    padding-left: 0;
  }
  #gheader #gnav .gnavInner .primary > li .secondaryWrap:has(.secondaryColumns) .categoryList > li > a::before {
    content: none;
  }
}

@media screen and (max-width: 767px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap:has(.secondaryColumns) .categoryTitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 0.875rem;
  }
  #gheader #gnav .gnavInner .primary > li .secondaryWrap:has(.secondaryColumns) .categoryTitle::after {
    margin: 0 0 0 auto;
  }
}

@media (min-width: 768px) {
  #gheader #gnav .gnavInner .primary > li .secondaryWrap:has(.interviewColumn) {
    left: -94px;
  }
}

#gheader #gnav .gnavInner .primary > li:last-child .secondaryWrap {
  right: -80px;
  left: auto;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

@media screen and (max-width: 767px) {
  #gheader.is_float .gheaderInner .logo {
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
  }
}

@media screen and (max-width: 767px) {
  #gheader.is_float.is_open .gheaderInner .logo {
    opacity: 1;
    pointer-events: auto;
  }
}

#gheader.is_hide {
  top: -150px;
}

/* Breadcrumb
--------------------------------------------------------------------------------------------------- */
#breadcrumb {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

@media (min-width: 768px) {
  #breadcrumb {
    margin: 45px auto 25px;
    width: 1000px;
  }
}

@media screen and (max-width: 767px) {
  #breadcrumb {
    margin: 30px 30px 10px;
  }
}

#breadcrumb ol {
  position: relative;
  margin: 0;
  line-height: 1.5;
}

#breadcrumb ol > li {
  display: inline;
  padding: 5px 0;
  font-weight: 700;
}

@media (min-width: 768px) {
  #breadcrumb ol > li {
    margin-right: 20px;
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 767px) {
  #breadcrumb ol > li {
    margin-right: 15px;
    font-size: 0.75rem;
  }
}

#breadcrumb ol > li:nth-child(n+2)::before {
  width: 4px;
  height: 4px;
  background: #5FB76F;
  border-radius: 50%;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
  vertical-align: middle;
  display: inline-block;
  content: "";
}

@media (min-width: 768px) {
  #breadcrumb ol > li:nth-child(n+2)::before {
    margin: 0 20px 0 0;
  }
}

@media screen and (max-width: 767px) {
  #breadcrumb ol > li:nth-child(n+2)::before {
    margin: 0 15px 0 0;
  }
}

#breadcrumb ol > li em {
  color: #1A2229;
}

#breadcrumb ol > li a {
  color: #ABB7C1;
}

@media (min-width: 768px) {
  #breadcrumb ol > li a {
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
  }
}

@media (min-width: 768px) {
  #breadcrumb ol > li a:hover {
    color: #5FB76F;
  }
}

/* MainContents
--------------------------------------------------------------------------------------------------- */
#container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 auto;
}

@media (min-width: 768px) {
  #container {
    margin: 140px 0 0;
  }
}

@media screen and (max-width: 767px) {
  #container {
    margin: 100px 0 0;
  }
}

/* SubContents
--------------------------------------------------------------------------------------------------- */
#subContents {
  position: relative;
}

@media (min-width: 768px) {
  #subContents {
    padding-bottom: 160px;
  }
}

@media screen and (max-width: 767px) {
  #subContents {
    padding-bottom: 100px;
  }
}

#subContents::before {
  height: 100%;
  background: #F3F4F5;
}

@media (min-width: 768px) {
  #subContents::before {
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #subContents::before {
    position: absolute;
    right: 5px;
    bottom: 0;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

@media (min-width: 768px) {
  #subContents:not(:has(.m_navBox)) {
    margin-top: -160px;
  }
}

@media screen and (max-width: 767px) {
  #subContents:not(:has(.m_navBox)) {
    margin-top: -100px;
  }
}

@media (min-width: 768px) {
  #subContents:not([class]) {
    margin-top: -40px;
  }
}

@media screen and (max-width: 767px) {
  #subContents:not([class]) {
    margin-top: -20px;
  }
}

@media (min-width: 768px) {
  #subContents .asideInner {
    margin: auto;
    width: 1000px;
  }
}

@media screen and (max-width: 767px) {
  #subContents .asideInner {
    padding-inline: 30px;
  }
}

#subContents .asideInner .rowInner > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  #subContents .asideInner .rowInner {
    padding-top: 120px;
  }
}

@media screen and (max-width: 767px) {
  #subContents .asideInner .rowInner {
    padding-top: 80px;
  }
}

#subContents .asideInner .rowInner .lead > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  #subContents .asideInner .rowInner .lead {
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 767px) {
  #subContents .asideInner .rowInner .lead {
    margin-bottom: 35px;
  }
}

@media (min-width: 768px) {
  #subContents .asideInner .rowInner .lead .heading {
    margin-bottom: 25px;
    font-size: 1.625rem;
    line-height: 1.5;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  #subContents .asideInner .rowInner .lead .heading {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  #subContents .asideInner .rowInner .lead .heading .suppl {
    font-size: 0.75rem;
  }
}

/* Footer
--------------------------------------------------------------------------------------------------- */
#gfooter {
  margin: 20px auto 0;
  color: white;
  background: #606E79;
}

@media (min-width: 768px) {
  #gfooter {
    padding: 155px 0 115px;
  }
}

@media screen and (max-width: 767px) {
  #gfooter {
    padding: 95px 30px;
  }
}

#gfooter .content > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  #gfooter .content {
    position: relative;
    margin: auto;
    width: 1000px;
  }
}

@media (min-width: 768px) {
  #gfooter .content .primary .nav {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 50px 1fr 50px 1fr;
    grid-template-columns: repeat(3, 1fr);
    -ms-grid-rows: -webkit-min-content 40px -webkit-min-content;
    -ms-grid-rows: min-content 40px min-content;
    grid-template-rows: -webkit-min-content -webkit-min-content;
    grid-template-rows: min-content min-content;
    gap: 40px 50px;
        grid-template-areas: "about approach research"
 "hypoxia kaempferol column";
    margin-block: 0 50px;
  }
}

@media screen and (max-width: 767px) {
  #gfooter .content .primary .nav {
    margin: 0 0 45px;
  }
}

#gfooter .content .primary .nav > li {
  font-weight: 700;
}

@media (min-width: 768px) {
  #gfooter .content .primary .nav > li {
    font-size: 1rem;
    line-height: 1.5;
  }
  #gfooter .content .primary .nav > li.about {
    grid-area: about;
  }
  #gfooter .content .primary .nav > li.hypoxia {
    grid-area: hypoxia;
  }
  #gfooter .content .primary .nav > li.approach {
    grid-area: approach;
  }
  #gfooter .content .primary .nav > li.kaempferol {
    grid-area: kaempferol;
  }
  #gfooter .content .primary .nav > li.research {
    grid-area: research;
  }
  #gfooter .content .primary .nav > li.column {
    grid-area: column;
  }
}

@media (min-width: 768px){
  #gfooter .content .primary .nav > li.about {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  #gfooter .content .primary .nav > li.hypoxia {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  #gfooter .content .primary .nav > li.approach {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  #gfooter .content .primary .nav > li.kaempferol {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  #gfooter .content .primary .nav > li.research {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
  }
  #gfooter .content .primary .nav > li.column {
    -ms-grid-row: 3;
    -ms-grid-column: 5;
  }
}

@media screen and (max-width: 767px) {
  #gfooter .content .primary .nav > li {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  #gfooter .content .primary .nav > li:not(:first-child) {
    margin-top: 45px;
  }
}

#gfooter .content .primary .nav > li > a {
  display: block;
  position: relative;
  padding: 0 30px 12px 0;
  color: white;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

@media (min-width: 768px) {
  #gfooter .content .primary .nav > li > a::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: white;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
    display: block;
    content: "";
  }
}

#gfooter .content .primary .nav > li > a::after {
  position: absolute;
  top: .6em;
  right: 10px;
  -webkit-transform: scale(0.88);
          transform: scale(0.88);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\E002";
  font-size: 10px;
  line-height: 10px;
  vertical-align: middle;
}

@media (min-width: 768px) {
  #gfooter .content .primary .nav > li > a::after {
    -webkit-transition: right .3s ease;
    transition: right .3s ease;
  }
}

@media (min-width: 768px) {
  #gfooter .content .primary .nav > li > a:hover::before {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}

@media (min-width: 768px) {
  #gfooter .content .primary .nav > li > a:hover::after {
    right: 0;
  }
}

#gfooter .content .secondary {
  margin-top: 28px;
}

#gfooter .content .secondary > *:last-child {
  margin-bottom: 0 !important;
}

#gfooter .content .secondary li {
  font-weight: 700;
}

@media (min-width: 768px) {
  #gfooter .content .secondary li {
    margin-bottom: 13px;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  #gfooter .content .secondary li {
    margin-bottom: 15px;
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

#gfooter .content .secondary li > a {
  color: rgba(255, 255, 255, 0.6);
}

@media (min-width: 768px) {
  #gfooter .content .secondary li > a {
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
  }
}

@media (min-width: 768px) {
  #gfooter .content .secondary li > a:hover {
    color: white;
  }
}

#gfooter .content .unav {
  margin: 0;
}

@media (min-width: 768px) {
  #gfooter .content .unav {
    position: absolute;
    bottom: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px 20px;
  }
}

@media screen and (max-width: 767px) {
  #gfooter .content .unav {
    margin-bottom: 35px;
  }
}

@media (min-width: 768px) {
  #gfooter .content .unav li {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  #gfooter .content .unav li {
    font-size: 0.625rem;
    line-height: 2;
  }
}

@media (min-width: 768px) {
  #gfooter .content .unav li:not(:first-of-type) {
    position: relative;
  }
}

@media (min-width: 768px) {
  #gfooter .content .unav li:not(:first-of-type)::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -10px;
    margin: auto;
    width: 1px;
    height: 10px;
    background: white;
    display: inline-block;
    content: "";
  }
}

#gfooter .content .unav li > a {
  color: white;
}

@media (min-width: 768px) {
  #gfooter .content .unav li > a:hover {
    text-decoration: underline;
  }
}

#gfooter .content .copyright {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

#gfooter .content .copyright .logo {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  #gfooter .content .copyright .logo > a:hover {
    opacity: .7;
  }
}

@media screen and (max-width: 767px) {
  #gfooter .content .copyright .logo img {
    width: 80px;
  }
}

@media (min-width: 768px) {
  #gfooter .content .copyright .text {
    margin: 0 0 0 30px;
  }
}

@media screen and (max-width: 767px) {
  #gfooter .content .copyright .text {
    margin: 0 0 0 20px;
  }
}

#gfooter .content .copyright .text small {
  display: block;
}

@media (min-width: 768px) {
  #gfooter .content .copyright .text small {
    font-size: 0.625rem;
    line-height: 1;
  }
}

@media screen and (max-width: 767px) {
  #gfooter .content .copyright .text small {
    font-size: 0.5rem;
    line-height: 1;
  }
}

/*====================================================================================================

    module

====================================================================================================*/
/* section module
--------------------------------------------------------------------------------------------------- */
.m_section {
  position: relative;
}

@media (min-width: 768px) {
  .m_section {
    padding: 120px 0 160px;
  }
}

@media screen and (max-width: 767px) {
  .m_section {
    padding: 80px 30px 100px;
  }
}

.m_section .sectionInner > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_section .sectionInner {
    margin: auto;
    width: 1000px;
  }
}

.m_section .sectionInner .rowInner > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_section .sectionInner .rowInner {
    margin-top: 80px;
  }
}

@media screen and (max-width: 767px) {
  .m_section .sectionInner .rowInner {
    margin-top: 60px;
  }
}

@media (min-width: 768px) {
  .m_section .sectionInner .rowInner .row {
    margin-top: 120px;
  }
}

@media screen and (max-width: 767px) {
  .m_section .sectionInner .rowInner .row {
    margin-top: 80px;
  }
}

@media (min-width: 768px) {
  .m_section[class*="_type01"] {
    padding-bottom: 100px;
  }
}

@media screen and (max-width: 767px) {
  .m_section[class*="_type01"] {
    padding-bottom: 60px;
  }
}

/* heading module
--------------------------------------------------------------------------------------------------- */
@media (min-width: 768px) {
  .m_textHeading {
    margin: 50px 0 30px;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_textHeading {
    margin: 30px 0 20px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media (min-width: 768px) {
  .m_textHeading[class*="_title"] {
    margin: 0 0 50px;
    font-size: 2.25rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_textHeading[class*="_title"] {
    margin: 0 0 30px;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.m_textHeading[class*="_midium"] {
  margin: 0 0 1em;
}

@media (min-width: 768px) {
  .m_textHeading[class*="_midium"] {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_textHeading[class*="_midium"] {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.m_textHeading[class*="_small"] {
  margin: 0 0 1em;
}

@media (min-width: 768px) {
  .m_textHeading[class*="_small"] {
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_textHeading[class*="_small"] {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.m_textHeading[class*="_qa"] {
  -webkit-padding-start: 1.25em;
          padding-inline-start: 1.25em;
  text-indent: -1.25em;
}

.m_textHeading + .m_pcfloat,
.m_textHeading + .m_column {
  margin-top: unset;
}

.m_borderHeading {
  border-bottom: 1px solid #DEE1E3;
}

@media (min-width: 768px) {
  .m_borderHeading {
    padding-bottom: 35px;
    margin-bottom: 55px;
    font-size: 1.625rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_borderHeading {
    padding-bottom: 25px;
    margin-bottom: 35px;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.m_borderSideHeading {
  position: relative;
}

@media (min-width: 768px) {
  .m_borderSideHeading {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 767px) {
  .m_borderSideHeading {
    margin-bottom: 20px;
  }
}

.m_borderSideHeading .text {
  position: relative;
  display: inline-block;
  background: white;
}

@media (min-width: 768px) {
  .m_borderSideHeading .text {
    padding-right: 20px;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_borderSideHeading .text {
    padding-right: 15px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.m_borderSideHeading::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: -1;
  margin: auto;
  width: 100%;
  height: 1px;
  background: #ECEEEF;
}

.m_circleHeading {
  position: relative;
  padding-left: 1.5em;
}

@media (min-width: 768px) {
  .m_circleHeading {
    margin-bottom: 20px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_circleHeading {
    margin-bottom: 10px;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.m_circleHeading:before {
  position: absolute;
  left: 0;
  margin-right: 0.5em;
  color: #ABB7C1;
  display: inline-block;
  content: "●";
}

@media (min-width: 768px) {
  .m_engHeading {
    margin-bottom: 30px;
    font-size: 1.625rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_engHeading {
    margin-bottom: 25px;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.m_engHeading[class*="_white"] .label {
  color: white;
}

.m_engHeading .label {
  display: block;
  margin-bottom: 5px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 500;
  color: #F3F4F5;
}

@media (min-width: 768px) {
  .m_engHeading .label {
    font-size: 1.5rem;
    line-height: 1.875;
  }
}

@media screen and (max-width: 767px) {
  .m_engHeading .label {
    font-size: 1.125rem;
    line-height: 1;
  }
}

@media (min-width: 768px) {
  .m_engOverlapHeading {
    margin-bottom: 30px;
    margin-left: calc((100% - 1000px)/2);
    margin-right: 20px;
    font-size: 1.625rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_engOverlapHeading {
    padding-left: 30px;
    padding-right: 5px;
    margin: 0 -30px 20px;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.m_engOverlapHeading[class*="_white"] .label {
  color: white;
}

@media (min-width: 768px) {
  .m_engOverlapHeading[class*="_title"] {
    margin-top: -20px;
    font-size: 2.25rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_engOverlapHeading[class*="_title"] {
    margin-top: 20px;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.m_engOverlapHeading[class*="_title"] .label {
  color: #E8F3F9;
}

@media (min-width: 768px) {
  .m_engOverlapHeading[class*="_title"] .label {
    margin-bottom: -60px;
  }
}

@media screen and (max-width: 767px) {
  .m_engOverlapHeading[class*="_title"] .label {
    margin-bottom: -35px;
  }
}

.m_engOverlapHeading[class*="_title"] .label::after {
  display: none;
}

@media (min-width: 768px) {
  .m_engOverlapHeading[class*="_engSmall"] .label {
    font-size: 11.25rem;
    line-height: 1;
  }
}

@media screen and (max-width: 767px) {
  .m_engOverlapHeading[class*="_engSmall"] .label {
    margin-bottom: -35px;
    font-size: 6.25rem;
    line-height: 1;
  }
}

@media screen and (max-width: 767px) {
  .m_engOverlapHeading[class*="_engSmall"] .label::after {
    margin-top: 20px;
  }
}

.m_engOverlapHeading .label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 300;
  color: #F3F4F5;
  letter-spacing: -0.04em;
}

@media (min-width: 768px) {
  .m_engOverlapHeading .label {
    margin-left: -40px;
    margin-bottom: -48px;
    font-size: 12.5rem;
    line-height: 1;
  }
}

@media screen and (max-width: 767px) {
  .m_engOverlapHeading .label {
    margin-left: -10px;
    margin-bottom: -35px;
    font-size: 7.5rem;
    line-height: 1;
  }
}

.m_engOverlapHeading .label::after {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  height: 1px;
  background: #ECEEEF;
  display: block;
  content: "";
}

@media (min-width: 768px) {
  .m_engOverlapHeading .label::after {
    margin-left: 30px;
    -webkit-transform: translateY(-80px);
            transform: translateY(-80px);
  }
}

@media screen and (max-width: 767px) {
  .m_engOverlapHeading .label::after {
    margin-left: 10px;
    -webkit-transform: translateY(-45px);
            transform: translateY(-45px);
  }
}

@media (min-width: 768px) {
  .m_engOverlapHeading .label .suppl {
    font-size: 10rem;
  }
}

@media screen and (max-width: 767px) {
  .m_engOverlapHeading .label .suppl {
    font-size: 5.625rem;
  }
}

@media (min-width: 768px) {
  .m_engOverlapHeading .suppl {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .m_engOverlapHeading .suppl {
    font-size: 0.75rem;
  }
}

@media (min-width: 768px) {
  .m_engBorderHeading {
    margin-bottom: 15px;
    font-size: 1.625rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_engBorderHeading {
    margin-bottom: 10px;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.m_engBorderHeading::after {
  margin: auto;
  width: 1px;
  background: #1A2229;
  display: block;
  content: "";
}

@media (min-width: 768px) {
  .m_engBorderHeading::after {
    margin-top: 12px;
    height: 40px;
  }
}

@media screen and (max-width: 767px) {
  .m_engBorderHeading::after {
    margin-top: 8px;
    height: 30px;
  }
}

.m_engBorderHeading[class*="_white"] .label {
  color: white;
}

.m_engBorderHeading .label {
  display: block;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 300;
  color: #F3F4F5;
  letter-spacing: -0.04em;
}

@media (min-width: 768px) {
  .m_engBorderHeading .label {
    margin-bottom: -85px;
    font-size: 10rem;
    line-height: 1;
  }
}

@media screen and (max-width: 767px) {
  .m_engBorderHeading .label {
    margin-bottom: -65px;
    font-size: 6.25rem;
    line-height: 1;
  }
}

.m_engBorderHeading .label .inner {
  display: inline-block;
}

/* box module
--------------------------------------------------------------------------------------------------- */
.m_box {
  overflow: hidden;
  margin: 0 0 1em;
  border: 1px solid #DEE1E3;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.m_box > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_box {
    padding: 55px 60px 50px;
    margin: 50px 0;
  }
}

@media screen and (max-width: 767px) {
  .m_box {
    padding: 35px 20px 30px;
    margin: 30px 0;
  }
}

.m_box > h2, .m_box > h3, .m_box > h4 {
  margin-top: 0;
}

.m_box[class*="_column"] {
  margin: 1em 0;
}

@media (min-width: 768px) {
  .m_box[class*="_column"] {
    padding: 25px 30px;
    width: 360px;
  }
}

@media screen and (max-width: 767px) {
  .m_box[class*="_column"] {
    padding: 15px 20px;
  }
}

.m_box[class*="_bg"] {
  background: #F3F4F5;
}

@media (min-width: 768px) {
  .m_box[class*="_type01"] {
    padding: 35px 40px;
  }
}

.m_box .detailList {
  margin-top: 0;
}

.m_box .detailList > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_box .detailList dt, .m_box .detailList dd {
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_box .detailList dt, .m_box .detailList dd {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.m_box .detailList dt {
  position: relative;
  padding-left: 1.5em;
  font-weight: 700;
}

@media (min-width: 768px) {
  .m_box .detailList dt {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 767px) {
  .m_box .detailList dt {
    margin-bottom: 5px;
  }
}

.m_box .detailList dt::before {
  position: absolute;
  left: 0;
  margin-right: 0.5em;
  color: #ABB7C1;
  display: inline-block;
  content: "●";
}

@media (min-width: 768px) {
  .m_box .detailList dt.heading {
    margin-bottom: 25px;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_box .detailList dt.heading {
    margin-bottom: 15px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.m_box .detailList dd {
  margin-left: 0;
  font-weight: 400;
}

@media (min-width: 768px) {
  .m_box .detailList dd {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 767px) {
  .m_box .detailList dd {
    margin-bottom: 20px;
  }
}

.m_box .detailList[class*="_border"] dt {
  margin-bottom: 5px;
}

.m_box .detailList[class*="_border"] dd:not(:last-of-type) {
  border-bottom: 1px solid #ECEEEF;
}

@media (min-width: 768px) {
  .m_box .detailList[class*="_border"] dd:not(:last-of-type) {
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 767px) {
  .m_box .detailList[class*="_border"] dd:not(:last-of-type) {
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
}

.m_box .detailList[class*="_unstyled"] dt {
  padding-left: 0;
}

.m_box .detailList[class*="_unstyled"] dt::before {
  content: none;
}

.m_box .checkList {
  display: inline-block;
  margin: 0 0 0;
}

.m_box .checkList > li {
  position: relative;
  padding-left: 35px;
  text-align: left;
}

.m_box .checkList > li::before {
  position: absolute;
  top: .4em;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #DEE1E3;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  content: "";
}

.m_box .checkList > li::after {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\E003";
  font-size: 10px;
  line-height: 10px;
  vertical-align: middle;
  position: absolute;
  top: 11px;
  left: 4px;
  color: #5092C6;
}

.m_listBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.m_listBox .item {
  margin: 0;
}

.m_listBox .item + .item {
  margin-left: 30px;
}

@media (min-width: 768px) {
  .m_listBox .item > li {
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_listBox .item > li {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.m_listBox .item > li:before {
  margin-right: 0.5em;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #DEE1E3;
  display: inline-block;
  content: "●";
}

@media (min-width: 768px) {
  .m_pcfloat {
    margin-block: 50px;
  }
}

@media screen and (max-width: 767px) {
  .m_pcfloat:not([class*="_spfloat"]) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-block: 30px;
  }
}

@media (min-width: 768px) {
  .m_pcfloat::after {
    clear: both;
    display: block;
    content: "";
  }
}

@media (min-width: 768px) {
  .m_pcfloat .image {
    float: right;
    margin: 0 0 30px 40px;
  }
}

@media screen and (max-width: 767px) {
  .m_pcfloat .image {
    margin-bottom: 30px;
    text-align: center;
  }
}

.m_pcfloat .image figcaption {
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
  font-weight: 700;
  text-align: center;
}

@media (min-width: 768px) {
  .m_pcfloat .image figcaption {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .m_pcfloat .image figcaption {
    font-size: 0.875rem;
  }
}

.m_pcfloat .body > *:last-child {
  margin-bottom: 0 !important;
}

.m_pcfloat .body h2, .m_pcfloat .body h3, .m_pcfloat .body h4 {
  margin-top: 0;
}

@media (min-width: 768px) {
  .m_pcfloat .body h2, .m_pcfloat .body h3, .m_pcfloat .body h4 {
    margin-bottom: 25px;
  }
}

@media screen and (max-width: 767px) {
  .m_pcfloat[class*="_spfloat"] .image {
    float: right;
    margin: 0 0 15px 20px;
  }
}

@media screen and (max-width: 767px) {
  .m_pcfloat[class*="_spimgBottom"] .image {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 30px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .m_pcfloat[class*="_spimgBottom"] .body {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.m_pcfloat[class*="_spimgBottom"] .body ul {
  margin: 25px 0 0;
}

@media (min-width: 768px) {
  .m_pcfloat[class*="_left"] .image {
    float: left;
    margin-inline: 0 40px;
  }
}

@media screen and (max-width: 767px) {
  .m_pcfloat[class*="_left"] .body {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.m_pcfloat[class*="_left"] .body ul {
  margin: 25px 0 0;
}

.m_pcfloatBottom {
  position: relative;
}

@media (min-width: 768px) {
  .m_pcfloatBottom {
    margin: 50px 0;
  }
  p + .m_pcfloatBottom,
  .m_gridColumn + .m_pcfloatBottom {
    margin-top: 1em;
  }
}

@media screen and (max-width: 767px) {
  .m_pcfloatBottom {
    margin: 30px 0;
  }
}

@media (min-width: 768px) {
  .m_pcfloatBottom .body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (min-width: 768px) {
  .m_pcfloatBottom .body .image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    float: right;
    margin-left: 40px;
    max-width: 100%;
    height: 100%;
    shape-outside: inset(calc(100% - 197px) 0 0);
  }
}

@media screen and (max-width: 767px) {
  .m_pcfloatBottom .body .image {
    margin-bottom: 30px;
    text-align: center;
  }
}

.m_pcfloatBottom .body .text > *:last-child {
  margin-bottom: 0 !important;
}

@media screen and (max-width: 767px) {
  .m_pcfloatBottom[class*="_spfloat"] .body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (min-width: 768px) {
  .m_pcfloatBottom[class*="_spfloat"] .body .image {
    shape-outside: inset(calc(100% - 164px) 0 0);
  }
}

@media screen and (max-width: 767px) {
  .m_pcfloatBottom[class*="_spfloat"] .body .image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    float: right;
    margin-bottom: 0;
    margin-left: 20px;
    max-width: 100%;
    width: 120px;
    height: 100%;
    shape-outside: inset(calc(100% - 99px) 0 0);
  }
}

@media (min-width: 768px) {
  .m_pcfloatBottom[class*="_spfloat"][class*="_type01"] .body .image {
    shape-outside: inset(calc(100% - 80px) 0 0);
  }
}

@media screen and (max-width: 767px) {
  .m_pcfloatBottom[class*="_spfloat"][class*="_type01"] .body .image {
    shape-outside: inset(calc(100% - 48px) 0 0);
  }
}

@media screen and (max-width: 767px) {
  .m_pcfloatBottom[class*="_spimgBottom"] .body .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .m_pcfloatBottom[class*="_spimgBottom"] .body .inner .image {
    margin-block: 30px 0;
  }
}

.m_media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 60px;
}

@media (min-width: 768px) {
  .m_media {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 767px) {
  .m_media {
    padding-bottom: 60px;
    border-bottom: 1px solid #DEE1E3;
  }
  .m_media > *:last-child {
    margin-bottom: 0 !important;
  }
}

@media (min-width: 768px) {
  .m_media[class*="_pcCol2"] > .column {
    width: calc(100%/2);
  }
}

@media (min-width: 768px) {
  .m_media[class*="_pcCol3"] > .column {
    width: 29.4%;
    width: calc(100% /3 - 20px);
  }
}

@media (min-width: 768px) {
  .m_media[class*="_pcCol4"] > .column {
    width: calc(100% /4 - 20px);
  }
}

@media screen and (max-width: 767px) {
  .m_media:not([class*="_spCol"]) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (max-width: 767px) {
  .m_media[class*="_spCol"] > li {
    width: calc(100% /2 - 10px);
  }
}

.m_media > .column > *:last-child {
  margin-bottom: 0 !important;
}

@media screen and (max-width: 767px) {
  .m_media > .column {
    margin: 0 0 40px;
  }
}

.m_media > .column > section > *:last-child {
  margin-bottom: 0 !important;
}

.m_column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (min-width: 768px) {
  .m_column {
    gap: 40px;
    margin-block: 50px;
  }
}

@media screen and (max-width: 767px) {
  .m_column {
    gap: 30px;
    margin-block: 30px;
  }
}

@media (min-width: 768px) {
  .m_column[class*="_pcCol2"] > .column {
    width: auto;
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
}

@media (min-width: 768px) {
  .m_column[class*="_pcCol2"][class*="_auto"] > .column {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

.m_column[class*="_pcCol2"][class*="_type02"] {
  -webkit-column-gap: 80px;
     -moz-column-gap: 80px;
          column-gap: 80px;
}

@media (min-width: 768px) {
  .m_column[class*="_pcCol3"] > .column {
    width: 29.4%;
    width: calc(100% /3 - 20px);
  }
}

@media (min-width: 768px) {
  .m_column[class*="_pcCol4"] > .column {
    width: calc(100% /4 - 20px);
  }
}

@media (min-width: 768px) {
  .m_column[class*="_pcStart"] {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

@media (min-width: 768px) {
  .m_column[class*="_pcEnd"] {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

@media screen and (max-width: 767px) {
  .m_column:not([class*="_spCol"]) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (max-width: 767px) {
  .m_column[class*="_spCol"] > li {
    width: calc(100% /2 - 10px);
  }
}

@media screen and (max-width: 767px) {
  .m_column[class*=_spflipped] > .column {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .m_column[class*=_spflipped] > .column:nth-of-type(2) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.m_column > .column > *:last-child {
  margin-bottom: 0 !important;
}

@media screen and (max-width: 767px) {
  .m_column > .column .image {
    text-align: center;
  }
}

.m_column > .column .image figcaption {
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
  font-weight: 700;
  text-align: center;
}

@media (min-width: 768px) {
  .m_column > .column .image figcaption {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .m_column > .column .image figcaption {
    font-size: 0.875rem;
  }
}

.m_gridColumn .image figcaption {
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
  font-weight: 700;
  text-align: center;
}

@media (min-width: 768px) {
  .m_gridColumn .image figcaption {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .m_gridColumn .image figcaption {
    font-size: 0.875rem;
  }
}

p + .m_gridColumn {
  margin-top: 0;
}

@media (min-width: 768px) {
  .m_gridColumn {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
    margin-block: 50px;
  }
  .m_gridColumn .text {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
  }
  .m_gridColumn .image {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    grid-row: 1 / 4;
  }
  .m_gridColumn .text02 {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
    -webkit-margin-after: unset;
            margin-block-end: unset;
  }
  .m_gridColumn:has(+ .m_pcfloatBottom), .m_gridColumn:has(+ p) {
    margin-bottom: 1em;
  }
  .m_gridColumn:has(+ [class*="_marginMin"]) {
    margin-bottom: 0;
  }
  .m_gridColumn:has(+ [class*="_marginMin"]) + [class*="_marginMin"] {
    margin-top: 0;
  }
  .m_gridColumn[class*="_flipped"] .text {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2;
  }
  .m_gridColumn[class*="_flipped"] .image {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
  }
  .m_gridColumn[class*="_flipped"] .text02 {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2;
  }
}

@media screen and (max-width: 767px) {
  .m_gridColumn {
    margin-block: 30px;
  }
  .m_gridColumn .image {
    margin-block: 30px;
    text-align: center;
  }
}

@media (min-width: 768px) {
  .m_gridColumn[class*=_pcflipped] .text {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2;
  }
  .m_gridColumn[class*=_pcflipped] .image {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
  }
  .m_gridColumn[class*=_pcflipped] .text02 {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2;
  }
}

.m_shapeImage {
  position: relative;
}

@media (min-width: 768px) {
  .m_shapeImage {
    margin-bottom: 45px;
  }
}

@media screen and (max-width: 767px) {
  .m_shapeImage {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 767px) {
  .m_shapeImage .body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (min-width: 768px) {
  .m_shapeImage .body:has(.image) .text {
    padding-right: 200px;
  }
}

@media (min-width: 768px) {
  .m_shapeImage .body .image {
    position: absolute;
    top: 0;
    right: 0;
  }
}

@media screen and (max-width: 767px) {
  .m_shapeImage .body .image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    float: right;
    margin-left: 20px;
    width: 120px;
    height: 100%;
    shape-outside: inset(calc(100% - 120px) 0 0);
  }
  .m_shapeImage .body .image img {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .m_imageBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 50px 0;
    border: 1px solid #DEE1E3;
  }
}

@media screen and (max-width: 767px) {
  .m_imageBox {
    margin: 30px 0;
  }
}

@media screen and (max-width: 767px) {
  .m_imageBox .image {
    float: right;
    margin: 0 0 15px 20px;
    width: 170px;
  }
}

.m_imageBox .body > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_imageBox .body {
    padding: 50px 60px;
  }
}

.m_authorBox {
  border: 1px solid #DEE1E3;
  background: white;
}

@media (min-width: 768px) {
  .m_authorBox {
    padding: 60px;
  }
}

@media screen and (max-width: 767px) {
  .m_authorBox {
    padding: 40px 30px;
  }
}

@media screen and (max-width: 767px) {
  .m_authorBox .person {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 25px;
  }
}

.m_authorBox .person .name {
  display: -ms-grid;
  display: grid;
  font-weight: 700;
}

@media (min-width: 768px) {
  .m_authorBox .person .name {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_authorBox .person .name {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-bottom: 0;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.m_authorBox .person .name .position {
  margin-bottom: 5px;
  color: #1A2229;
}

@media (min-width: 768px) {
  .m_authorBox .person .name .position {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_authorBox .person .name .position {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

@media (min-width: 768px) {
  .m_authorBox .detail .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.m_authorBox .detail .list .column {
  margin-top: 0;
}

.m_authorBox .detail .list .column > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_authorBox .detail .list .column {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .m_authorBox .detail .list .column {
    margin-bottom: 8px;
  }
}

.m_authorBox .detail .list .column > li {
  padding-left: 1em;
  margin-bottom: 8px;
}

@media (min-width: 768px) {
  .m_authorBox .detail .list .column > li {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_authorBox .detail .list .column > li {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

.m_authorBox .detail .list .column > li::before {
  text-indent: -1em;
  display: inline-block;
  content: "・";
}

@media (min-width: 768px) {
  .m_authorBox .detail .list .column:not(:first-of-type) {
    margin-left: 30px;
  }
}

.m_authorBox .detail .profile {
  color: #606E79;
}

.m_authorBox .detail .profile > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_authorBox .detail .profile {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_authorBox .detail .profile {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

.m_authorBox[class*="_nodetail"] {
  -webkit-padding-before: unset;
          padding-block-start: unset;
  padding-inline: unset;
  border-width: 0 0 1px;
}

.m_authorBox[class*="_nodetail"] .person {
  margin-bottom: 0;
}

.m_authorBox[class*="_nodetail"] .person .name {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .m_authorBox[class*="_nodetail"] {
    padding-bottom: 50px;
  }
}

@media screen and (max-width: 767px) {
  .m_authorBox[class*="_nodetail"] {
    padding-bottom: 20px;
  }
}

.m_supervision {
  border: 1px solid #DEE1E3;
}

@media (min-width: 768px) {
  .m_supervision {
    padding: 60px;
  }
}

@media screen and (max-width: 767px) {
  .m_supervision {
    padding: 40px 30px 50px;
  }
}

.m_supervision .heading {
  text-align: center;
}

@media (min-width: 768px) {
  .m_supervision .heading {
    margin-bottom: 40px;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_supervision .heading {
    margin-bottom: 30px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media (min-width: 768px) {
  .m_supervision .body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.m_supervision .body .item > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_supervision .body .item {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

@media screen and (max-width: 767px) {
  .m_supervision .body .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

.m_supervision .body .item .title {
  font-weight: 700;
}

@media (min-width: 768px) {
  .m_supervision .body .item .title {
    margin-bottom: 10px;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_supervision .body .item .title {
    margin-bottom: 0;
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

.m_supervision .body .item .name {
  font-weight: 700;
}

@media (min-width: 768px) {
  .m_supervision .body .item .name {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_supervision .body .item .name {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.m_supervision .body .detail {
  border: solid #ECEEEF;
  color: #606E79;
}

.m_supervision .body .detail > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_supervision .body .detail {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-left: 30px;
    margin-left: 30px;
    font-size: 0.875rem;
    line-height: 1.5;
    border-width: 0 0 0 1px;
  }
}

@media screen and (max-width: 767px) {
  .m_supervision .body .detail {
    padding-top: 20px;
    margin-top: 20px;
    font-size: 0.75rem;
    line-height: 1.5;
    border-width: 1px 0 0 0;
  }
}

.m_navBox {
  position: relative;
}

.m_navBox::before {
  height: 50%;
  background: white;
}

@media (min-width: 768px) {
  .m_navBox::before {
    position: absolute;
    top: 0;
    right: 20px;
    left: 20px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  .m_navBox::before {
    position: absolute;
    top: 0;
    right: 5px;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

.m_navBox .navBoxInner {
  position: relative;
  background: white;
  -webkit-box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
          box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media (min-width: 768px) {
  .m_navBox .navBoxInner {
    padding: 40px 50px 40px 40px;
    margin-inline: auto;
    width: 490px;
    -webkit-transition: -webkit-box-shadow .3s ease;
    transition: -webkit-box-shadow .3s ease;
    transition: box-shadow .3s ease;
    transition: box-shadow .3s ease, -webkit-box-shadow .3s ease;
  }
}

@media screen and (max-width: 767px) {
  .m_navBox .navBoxInner {
    padding: 25px 36px 25px 25px;
    margin-inline: 30px;
  }
}

.m_navBox .navBoxInner::after {
  position: absolute;
  top: 50%;
  color: #5FB76F;
  -webkit-transform: translateY(-50%) scale(0.9);
          transform: translateY(-50%) scale(0.9);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\E002";
  font-size: 12px;
  line-height: 12px;
  vertical-align: middle;
}

@media (min-width: 768px) {
  .m_navBox .navBoxInner::after {
    right: 25px;
    -webkit-transition: right .3s ease;
    transition: right .3s ease;
  }
}

@media screen and (max-width: 767px) {
  .m_navBox .navBoxInner::after {
    right: 20px;
  }
}

.m_navBox .navBoxInner .heading {
  display: inline-block;
  font-weight: 700;
  color: white;
  background: #ABB7C1;
}

@media (min-width: 768px) {
  .m_navBox .navBoxInner .heading {
    padding: 6px 24px 5px;
    margin-bottom: 35px;
    font-size: 0.8125rem;
    line-height: 1.38462;
  }
}

@media screen and (max-width: 767px) {
  .m_navBox .navBoxInner .heading {
    padding: 8px 12px 7px;
    margin-bottom: 10px;
    font-size: 0.6875rem;
    line-height: 1.63636;
  }
}

.m_navBox .navBoxInner .body > *:last-child {
  margin-bottom: 0 !important;
}

.m_navBox .navBoxInner .body .subTitle {
  margin-bottom: 5px;
  color: #606E79;
}

@media (min-width: 768px) {
  .m_navBox .navBoxInner .body .subTitle {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_navBox .navBoxInner .body .subTitle {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

@media (min-width: 768px) {
  .m_navBox .navBoxInner .body .title {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_navBox .navBoxInner .body .title {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.m_navBox .navBoxInner .body .title > a {
  color: #1A2229;
}

@media (min-width: 768px) {
  .m_navBox .navBoxInner .body .title > a {
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
  }
}

.m_navBox .navBoxInner .body .title > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}

@media (min-width: 768px) {
  .m_navBox .navBoxInner:hover {
    -webkit-box-shadow: 0 6px 20px rgba(26, 34, 41, 0.15);
            box-shadow: 0 6px 20px rgba(26, 34, 41, 0.15);
  }
}

@media (min-width: 768px) {
  .m_navBox .navBoxInner:hover::after {
    right: 20px;
  }
}

@media (min-width: 768px) {
  .m_navBox .navBoxInner:hover .body .title > a {
    color: #5FB76F;
  }
}

@media (min-width: 768px) {
  .m_authorHeadingBox {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 200px 50px 1fr;
    grid-template-columns: 200px 1fr;
    -ms-grid-rows: -webkit-min-content 20px auto;
    -ms-grid-rows: min-content 20px auto;
    grid-template-rows: -webkit-min-content auto;
    grid-template-rows: min-content auto;
    gap: 20px 50px;
        grid-template-areas: "thumbnail heading"
 "thumbnail text";
    -webkit-margin-after: 60px;
            margin-block-end: 60px;
  }
}

@media screen and (max-width: 767px) {
  .m_authorHeadingBox {
    -webkit-margin-after: 35px;
            margin-block-end: 35px;
  }
}

@media (min-width: 768px) {
  .m_authorHeadingBox .thumbnail {
    grid-area: thumbnail;
  }
}

@media screen and (max-width: 767px) {
  .m_authorHeadingBox .thumbnail {
    margin: 25px 74px;
    text-align: center;
  }
}

@media (min-width: 768px) {
  .m_authorHeadingBox .m_textHeading {
    grid-area: heading;
    align-self: flex-end;
    margin-block: 15px 0;
  }
}

@media screen and (max-width: 767px) {
  .m_authorHeadingBox .m_textHeading {
    -webkit-margin-after: 25px;
            margin-block-end: 25px;
  }
}

.m_authorHeadingBox .text > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_authorHeadingBox .text {
    grid-area: text;
    -ms-grid-row-align: self-start;
        align-self: self-start;
    -webkit-margin-after: unset;
            margin-block-end: unset;
  }
}

.m_authorHeadingBox a {
  text-decoration: underline;
}

@media (min-width: 768px) {
  .m_authorHeadingBox a:hover {
    text-decoration: none;
  }
}

@media (min-width: 768px) {
  .m_authorHeadingBox[class*="_pcflexMiddle"] {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media (min-width: 768px) {
  .m_authorHeadingBox[class*="_pcflexMiddle"] .m_textHeading {
    -webkit-margin-before: unset;
            margin-block-start: unset;
  }
}

@media (min-width: 768px) {
  .m_authorHeadingBox[class*="_pcflexBottom"] {
    -ms-grid-rows: 1fr -webkit-min-content;
    -ms-grid-rows: 1fr min-content;
    grid-template-rows: 1fr -webkit-min-content;
    grid-template-rows: 1fr min-content;
  }
}

@media (min-width: 768px) {
  .m_authorHeadingBox[class*="_pcflexBottom"] .m_textHeading {
    -webkit-margin-before: unset;
            margin-block-start: unset;
  }
}

/* paragraph module
--------------------------------------------------------------------------------------------------- */
.m_liquidImage {
  text-align: center;
}

@media (min-width: 768px) {
  .m_liquidImage {
    margin-block: 40px;
  }
}

@media screen and (max-width: 767px) {
  .m_liquidImage {
    margin: 20px 0 8px;
  }
}

.m_liquidImage .caption {
  display: block;
  margin: 16.5px 0 0;
  font-size: 0.875rem;
  line-height: 1.5;
  text-align: left;
}

.m_liquidImage .caption > span {
  display: inline-block;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .m_liquidImage img {
    max-width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .m_liquidImage[class*="_spscroll"] img {
    padding-right: 30px;
    max-width: none;
  }
}

@media screen and (max-width: 767px) {
  .m_liquidImage[class*="_spscroll"] img[data-sp-width="600"] {
    width: 600px;
  }
}

@media (min-width: 768px) {
  .m_lead {
    margin-bottom: 50px;
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .m_lead {
    margin-bottom: 30px;
    font-size: 0.875rem;
  }
}

.m_lead[class*="_border"] {
  border-bottom: 1px solid #DEE1E3;
}

@media (min-width: 768px) {
  .m_lead[class*="_border"] {
    padding-bottom: 50px;
  }
}

@media screen and (max-width: 767px) {
  .m_lead[class*="_border"] {
    padding-bottom: 30px;
  }
}

.m_line {
  margin-block: 30px;
  background: #ECEEEF;
  height: 1px;
}

@-webkit-keyframes line {
  0% {
    stroke-dashoffset: 1000;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes line {
  0% {
    stroke-dashoffset: 1000;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

/* list module
--------------------------------------------------------------------------------------------------- */
.m_list {
  margin: 20px 0;
}

.m_list > li {
  position: relative;
  padding-left: 1.5em;
}

.m_list > li > *:last-child {
  margin-bottom: 0 !important;
}

.m_list > li:before {
  position: absolute;
  left: 0;
  margin-right: 0.5em;
  color: #ABB7C1;
  display: inline-block;
  content: "●";
}

.m_list[class*="_unstyled"] > li,
.m_list > li[class*="_unstyled"] {
  padding: 0;
}

.m_list[class*="_unstyled"] > li::before,
.m_list > li[class*="_unstyled"]::before {
  content: none;
}

.m_numberList {
  margin: 20px 0;
}

.m_numberList > li {
  overflow: hidden;
  font-size: 0.75rem;
  line-height: 1.5;
}

.m_numberList > li > *:last-child {
  margin-bottom: 0 !important;
}

.m_numberList > li:before {
  float: left;
  margin-right: 0.5em;
  content: "※" attr(data-count) ".";
}

.m_numberList > li .inner {
  display: block;
  overflow: hidden;
}

.m_numberList[class*="_unstyled"] > li::before,
.m_numberList > li[class*="_unstyled"]::before {
  content: none;
  margin-right: 0;
}

.m_circleNumberList {
  margin: 20px 0;
}

.m_circleNumberList > li {
  position: relative;
  padding-left: 1.5em;
  overflow: hidden;
}

.m_circleNumberList > li > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_circleNumberList > li {
    font-size: 1rem;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .m_circleNumberList > li {
    font-size: 0.875rem;
    line-height: 2;
  }
}

.m_circleNumberList > li:before {
  position: absolute;
  top: 0;
  left: 0;
  margin-right: 0.5em;
  display: inline-block;
}

.m_circleNumberList > li:nth-of-type(1)::before {
  content: "❶";
}

.m_circleNumberList > li:nth-of-type(2)::before {
  content: "❷";
}

.m_circleNumberList > li:nth-of-type(3)::before {
  content: "❸";
}

.m_circleNumberList > li:nth-of-type(4)::before {
  content: "❹";
}

.m_circleNumberList > li:nth-of-type(5)::before {
  content: "❺";
}

.m_circleNumberList > li:nth-of-type(6)::before {
  content: "❻";
}

.m_circleNumberList > li:nth-of-type(7)::before {
  content: "❼";
}

.m_circleNumberList > li:nth-of-type(8)::before {
  content: "❽";
}

.m_circleNumberList > li:nth-of-type(9)::before {
  content: "❾";
}

.m_circleNumberList > li:nth-of-type(10)::before {
  content: "❿";
}

.m_notesList {
  margin: 20px 0;
}

.m_notesList > li {
  padding-left: 1.5em;
  text-indent: -1.5em;
  font-size: 0.75rem;
  line-height: 1.5;
}

.m_notesList > li > *:last-child {
  margin-bottom: 0 !important;
}

.m_notesList > li::before {
  content: "※ ";
}

.m_notesList[class*="_unstyled"] > li,
.m_notesList > li[class*="_unstyled"] {
  padding-left: 0;
  text-indent: 0;
}

.m_notesList[class*="_unstyled"] > li::before,
.m_notesList > li[class*="_unstyled"]::before {
  content: none;
}

.m_indexList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0;
}

@media (min-width: 768px) {
  .m_indexList {
    gap: 20px;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList {
    gap: 15px;
  }
}

.m_indexList > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  background: white;
  cursor: pointer;
}

@media (min-width: 768px) {
  .m_indexList > li {
    width: calc(100% /3 - 20px);
  }
}

@media screen and (max-width: 767px) {
  .m_indexList > li {
    width: calc((100% - 15px)/2);
  }
}

.m_indexList > li:not(.is_current) {
  -webkit-box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
          box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
}

@media (min-width: 768px) {
  .m_indexList > li:hover .body .title > a {
    color: #5FB76F;
  }
}

@media (min-width: 768px) {
  .m_indexList > li:hover .image::before {
    opacity: 1;
  }
}

@media (min-width: 768px) {
  .m_indexList > li:hover .image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

.m_indexList > li .body {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}

.m_indexList > li .body > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_indexList > li .body {
    padding: 20px 25px;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList > li .body {
    padding: 15px 18px;
  }
}

.m_indexList > li .body .title {
  font-weight: 700;
}

@media (min-width: 768px) {
  .m_indexList > li .body .title {
    margin-bottom: 10px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList > li .body .title {
    margin-bottom: 5px;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.m_indexList > li .body .title > a {
  color: #1A2229;
}

@media (min-width: 768px) {
  .m_indexList > li .body .title > a {
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
  }
}

.m_indexList > li .body .title > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
}

@media (min-width: 768px) {
  .m_indexList > li .body .text {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList > li .body .text {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

.m_indexList > li .body .author {
  border-top: 1px solid #ECEEEF;
}

.m_indexList > li .body .author > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_indexList > li .body .author {
    padding-top: 15px;
    margin-top: 15px;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList > li .body .author {
    padding-top: 10px;
    margin-top: 10px;
  }
}

@media (min-width: 768px) {
  .m_indexList > li .body .author .company {
    margin-bottom: 5px;
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList > li .body .author .company {
    margin-bottom: 1px;
    font-size: 0.625rem;
    line-height: 1.5;
  }
}

.m_indexList > li .body .author .name {
  font-weight: 700;
}

@media (min-width: 768px) {
  .m_indexList > li .body .author .name {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList > li .body .author .name {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

.m_indexList > li .image {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  overflow: hidden;
}

@media (min-width: 768px) {
  .m_indexList > li .image {
    position: relative;
    z-index: 0;
  }
}

@media (min-width: 768px) {
  .m_indexList > li .image::before {
    opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    z-index: 1;
    background: rgba(26, 34, 41, 0.3);
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
  }
}

.m_indexList > li .image img {
  width: 100%;
}

@media (min-width: 768px) {
  .m_indexList > li .image img {
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList > li .image img {
    height: auto;
  }
}

.m_indexList > li.is_current {
  pointer-events: none;
}

.m_indexList > li.is_current .body .title > a {
  color: #DEE1E3;
}

.m_indexList > li.is_current .body .text {
  color: #DEE1E3;
}

.m_indexList > li.is_current .body .author {
  color: #DEE1E3;
}

.m_indexList > li.is_current .image {
  opacity: .2;
}

@media (min-width: 768px) {
  .m_indexList[class*="_pcCol2"] > li {
    width: calc((100% - 20px)/2);
  }
}

@media (min-width: 768px) {
  .m_indexList[class*="_pcCol3"] > li {
    width: calc((100% - 40px)/3);
  }
}

@media (min-width: 768px) {
  .m_indexList[class*="_pcCol4"] > li {
    width: calc((100% - 60px)/4);
  }
}

@media screen and (max-width: 767px) {
  .m_indexList[class*="_spCol1"] > li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList[class*="_spCol1"] > li .body {
    padding-top: 10px;
    padding-bottom: 10px;
    -ms-flex-preferred-size: calc(100% - 150px);
        flex-basis: calc(100% - 150px);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList[class*="_spCol1"] > li .image {
    -ms-flex-preferred-size: 150px;
        flex-basis: 150px;
    height: 100%;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList[class*="_spCol1"] > li .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList[class*="_spscroll"] {
    -ms-flex-wrap: initial;
        flex-wrap: initial;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList[class*="_spscroll"] > li {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 0;
    width: 240px;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList[class*="_spscroll"] > li:nth-of-type(2n) {
    margin-right: 15px;
  }
}

.m_indexList[class*="_side"] > li {
  -webkit-box-orient: unset;
  -webkit-box-direction: unset;
      -ms-flex-direction: unset;
          flex-direction: unset;
}

.m_indexList[class*="_side"] > li .body {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 767px) {
  .m_indexList[class*="_side"] > li .body {
    -ms-flex-preferred-size: calc(100% - 126px);
        flex-basis: calc(100% - 126px);
  }
}

@media (min-width: 768px) {
  .m_indexList[class*="_side"] > li .image {
    -ms-flex-preferred-size: 150px;
        flex-basis: 150px;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList[class*="_side"] > li .image {
    -ms-flex-preferred-size: 126px;
        flex-basis: 126px;
  }
}

.m_indexList[class*="_side"] > li .image img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .m_indexList[class*="_spSide"] > li {
    -webkit-box-orient: unset;
    -webkit-box-direction: unset;
        -ms-flex-direction: unset;
            flex-direction: unset;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList[class*="_spSide"] > li .body {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-preferred-size: calc(100% - 126px);
        flex-basis: calc(100% - 126px);
  }
}

@media screen and (max-width: 767px) {
  .m_indexList[class*="_spSide"] > li .image {
    -ms-flex-preferred-size: 126px;
        flex-basis: 126px;
  }
}

@media screen and (max-width: 767px) {
  .m_indexList[class*="_spSide"] > li .image img {
    width: 100%;
  }
}




.m_columnIndexList {
  display: -ms-grid;
  display: grid;
  margin: 0;
}

@media (min-width: 768px) {
  .m_columnIndexList {
    gap: 20px;
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (max-width: 767px) {
  .m_columnIndexList {
    gap: 15px;
  }
}

.m_columnIndexList > li {
  position: relative;
  background: white;
  cursor: pointer;
}

.m_columnIndexList > li:not(.is_current) {
  -webkit-box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
          box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
}

@media (min-width: 768px) {
  .m_columnIndexList > li:hover .body .title > a {
    color: #5FB76F;
  }
}

@media (min-width: 768px) {
  .m_columnIndexList > li:hover .body .image::before {
    opacity: 1;
  }
}

@media (min-width: 768px) {
  .m_columnIndexList > li:hover .body .image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

.m_columnIndexList > li .body > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_columnIndexList > li .body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-inline: 25px;
  }
}

@media screen and (max-width: 767px) {
  .m_columnIndexList > li .body {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 120px 20px 1fr;
    grid-template-columns: 120px 1fr;
    -ms-grid-rows: -webkit-min-content 15px -webkit-min-content;
    -ms-grid-rows: min-content 15px min-content;
    grid-template-rows: -webkit-min-content -webkit-min-content;
    grid-template-rows: min-content min-content;
    gap: 15px 20px;
        grid-template-areas: "image title"
 "text text";
    padding: 0 20px 15px;
  }
  .m_columnIndexList > li .body > .text {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
}

.m_columnIndexList > li .body .title {
  font-weight: 700;
}

@media (min-width: 768px) {
  .m_columnIndexList > li .body .title {
    margin-block: 20px 10px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_columnIndexList > li .body .title {
    grid-area: title;
    margin-block: 15px 0;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.m_columnIndexList > li .body .title > a {
  color: #1A2229;
}

@media (min-width: 768px) {
  .m_columnIndexList > li .body .title > a {
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
  }
}

.m_columnIndexList > li .body .title > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
}

.m_columnIndexList > li .body .text {
  color: #606E79;
}

@media (min-width: 768px) {
  .m_columnIndexList > li .body .text {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_columnIndexList > li .body .text {
    grid-area: text;
    margin-bottom: 0;
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

.m_columnIndexList > li .body .image {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  overflow: hidden;
}

@media (min-width: 768px) {
  .m_columnIndexList > li .body .image {
    position: relative;
    z-index: 0;
    margin-inline: -25px;
  }
}

@media screen and (max-width: 767px) {
  .m_columnIndexList > li .body .image {
    grid-area: image;
    margin-left: -20px;
  }
}

@media (min-width: 768px){
  .m_authorHeadingBox .thumbnail {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .m_authorHeadingBox .m_textHeading {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .m_authorHeadingBox .text {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .m_columnIndexList > li .body .text {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}

@media screen and (max-width: 767px){
  .m_columnIndexList > li .body .title {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .m_columnIndexList > li .body > .text {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .m_columnIndexList > li .body .image {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}

@media (min-width: 768px) {
  .m_columnIndexList > li .body .image::before {
    opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    z-index: 1;
    background: rgba(26, 34, 41, 0.3);
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
  }
}

.m_columnIndexList > li .body .image img {
  width: 100%;
}

@media (min-width: 768px) {
  .m_columnIndexList > li .body .image img {
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
  }
}

@media screen and (max-width: 767px) {
  .m_columnIndexList > li .body .image img {
    height: auto;
  }
}

.m_columnIndexList > li.is_current {
  pointer-events: none;
}

.m_columnIndexList > li.is_current .body .title > a {
  color: #DEE1E3;
}

.m_columnIndexList > li.is_current .body .text {
  color: #DEE1E3;
}

.m_columnIndexList > li.is_current .body .image {
  opacity: .2;
}

.m_snsList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}

@media (min-width: 768px) {
  .m_snsList {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 120px;
  }
}

@media screen and (max-width: 767px) {
  .m_snsList {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 30px;
  }
}

.m_snsList .text {
  -webkit-margin-after: unset;
          margin-block-end: unset;
  font-weight: 700;
}

@media (min-width: 768px) {
  .m_snsList .text {
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_snsList .text {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.m_snsList .share {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  margin-block: unset;
}

@media (min-width: 768px) {
  .m_snsList .share > li > a {
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
  }
}

@media screen and (max-width: 767px) {
  .m_snsList .share > li > a img {
    width: 30px;
  }
}

@media (min-width: 768px) {
  .m_snsList .share > li > a:hover {
    opacity: .7;
  }
}

@media screen and (max-width: 767px) {
  .js_spscroll {
    overflow: auto;
    margin-right: -30px;
  }
}

@media screen and (max-width: 767px) {
  .js_spscroll[class*="_index"] {
    margin-right: -25px;
  }
}

.m_recommendList {
  margin-bottom: 0;
}

.m_recommendList > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_recommendList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 20px;
  }
}

.m_recommendList > li {
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .m_recommendList > li {
    margin-bottom: 15px;
  }
}

.m_recommendList > li > a {
  display: block;
  position: relative;
}

.m_recommendList > li > a::after {
  position: absolute;
  top: 50%;
  z-index: 1;
  color: white;
  -webkit-transform: translateY(-50%) scale(0.9);
          transform: translateY(-50%) scale(0.9);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\E002";
  font-size: 12px;
  line-height: 12px;
  vertical-align: middle;
}

@media (min-width: 768px) {
  .m_recommendList > li > a::after {
    right: 25px;
    -webkit-transition: right .3s ease;
    transition: right .3s ease;
  }
}

@media screen and (max-width: 767px) {
  .m_recommendList > li > a::after {
    right: 20px;
  }
}

.m_recommendList > li > a .body {
  position: absolute;
  z-index: 10;
  color: white;
}

.m_recommendList > li > a .body > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .m_recommendList > li > a .body {
    left: 40px;
    bottom: 40px;
  }
}

@media screen and (max-width: 767px) {
  .m_recommendList > li > a .body {
    left: 25px;
    bottom: 25px;
  }
}

.m_recommendList > li > a .body .subTitle {
  font-weight: 700;
  color: rgba(255, 255, 255, 0.6);
}

@media (min-width: 768px) {
  .m_recommendList > li > a .body .subTitle {
    margin-bottom: 5px;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_recommendList > li > a .body .subTitle {
    margin-bottom: 5px;
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

.m_recommendList > li > a .body .title {
  font-weight: 700;
}

@media (min-width: 768px) {
  .m_recommendList > li > a .body .title {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_recommendList > li > a .body .title {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.m_recommendList > li > a .image {
  position: relative;
  overflow: hidden;
}

.m_recommendList > li > a .image::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
  background: rgba(26, 34, 41, 0.4);
  -webkit-transition: background .3s ease;
  transition: background .3s ease;
}

.m_recommendList > li > a .image::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(rgba(26, 34, 41, 0.6)));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(26, 34, 41, 0.6) 100%);
}

.m_recommendList > li > a .image img {
  width: 100%;
}

@media (min-width: 768px) {
  .m_recommendList > li > a .image img {
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
  }
}

@media (min-width: 768px) {
  .m_recommendList > li > a:hover::after {
    right: 20px;
  }
}

@media (min-width: 768px) {
  .m_recommendList > li > a:hover .image::before {
    background: rgba(26, 34, 41, 0.6);
  }
}

@media (min-width: 768px) {
  .m_recommendList > li > a:hover .image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

@media (min-width: 768px) {
  .m_recommendList[class*="_pcCol2"] > li {
    width: calc((100% - 20px)/2);
  }
}

@media (min-width: 768px) {
  .m_recommendList[class*="_pcCol3"] > li {
    width: calc((100% - 40px)/3);
  }
}

.m_recommendList[class*="_nextContent"] {
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.m_recommendList[class*="_nextContent"]::before {
  height: 50%;
  background: white;
}

@media (min-width: 768px) {
  .m_recommendList[class*="_nextContent"]::before {
    position: absolute;
    top: 0;
    right: 20px;
    left: 20px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  .m_recommendList[class*="_nextContent"]::before {
    position: absolute;
    top: 0;
    right: 5px;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  .m_recommendList[class*="_nextContent"] {
    padding-inline: 30px;
  }
}

@media (min-width: 768px) {
  .m_recommendList[class*="_nextContent"] > li {
    width: 320px;
  }
}

.m_anchorList {
  margin-bottom: 0;
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid #DEE1E3;
}

@media (min-width: 768px) {
  .m_anchorList {
    padding: 40px 60px;
  }
}

@media screen and (max-width: 767px) {
  .m_anchorList {
    padding: 22px 20px;
  }
}

.m_anchorList > li {
  position: relative;
  font-weight: 700;
}

@media (min-width: 768px) {
  .m_anchorList > li {
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_anchorList > li {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.m_anchorList > li:not(:last-of-type) {
  border-bottom: 1px solid #ECEEEF;
}

.m_anchorList > li > a {
  display: block;
  color: #1A2229;
}

@media (min-width: 768px) {
  .m_anchorList > li > a {
    padding: 16px 50px;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
  }
}

@media screen and (max-width: 767px) {
  .m_anchorList > li > a {
    padding: 12px 26px 12px 40px;
  }
}

.m_anchorList > li > a::before {
  position: absolute;
  color: #5FB76F;
  -webkit-transform: scale(0.4);
          transform: scale(0.4);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\E001";
  vertical-align: middle;
}

@media (min-width: 768px) {
  .m_anchorList > li > a::before {
    left: 12px;
  }
}

@media screen and (max-width: 767px) {
  .m_anchorList > li > a::before {
    left: 8px;
  }
}

@media (min-width: 768px) {
  .m_anchorList > li > a:hover {
    color: #5FB76F;
  }
}

@media (min-width: 768px) {
  .m_panelList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 20px;
  }
}

.bg-grey{
  position: relative;
  padding-bottom: 40px;
}
.bg-grey::before {
  margin-inline: calc(50% - var(--viewWidth) / 2);
  position: absolute;
  height:60px;
  background: #F3F4F5;;
  right: 20px;
  bottom: 0;
  left: 20px;
  content: "";
  z-index: -1;
}
@media (min-width: 768px) {
  .bg-grey::before {
    width: calc(var(--viewWidth) - 40px);
  }
  .bg-grey.ulbg-none::before{
    display: none;
  }
  .bg-grey.ulbg-none .m_panelList::before{
    display: none;
  }
}
@media (max-width: 767px) {
  .bg-grey {
    padding-bottom: 0;
  }
  .bg-grey::before {
    display: none;
  }
}

.bg-grey.height-double::before {
  height: 330px;
  z-index: 0;
}
@media (max-width: 767px) {
  .bg-grey.height-double::before {
    height: 220px;
  }
}

.m_panelList__ttl {
  padding-left: 1em;
  padding-bottom: 15px;
  margin: 45px auto 35px;
  position: relative;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .m_panelList__ttl {
    padding-left: 1.3em;
  }
}
.m_panelList__ttl::before{
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 50px;
  background: #5FB76F;
  vertical-align: text-bottom;
  margin-right: 5px;
  position: absolute;
  top: 37%;
  transform: translateY(-50%);
  left: 0;
}
@media (max-width: 767px) {
  .m_panelList__ttl::before {
    top: 35%;
  }
}

.bg-grey.height-double .m_panelList__ttl{
  margin: 45px auto 15px;
}

.m_panelList__ttlS {
  font-size: 1.3rem;
  position: sticky;
  z-index: 1;
}

.m_panelList + .m_panelList__ttlS {
  margin-top: 45px;
}
@media (max-width: 767px) {
  .m_panelList__ttlS {
    font-size: 1rem;
  }
  .m_panelList + .m_panelList__ttlS {
    margin-top: 25px;
  }
}

.m_panelList li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background: white;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media (min-width: 768px) {
  .m_panelList li {
    padding: 40px 45px 40px 40px;
    min-height: 120px;
  }
}

@media screen and (max-width: 767px) {
  .m_panelList li {
    padding: 20px 45px 20px 25px;
    min-height: 85px;
  }
  .m_panelList li:not(:first-child) {
    margin-top: 15px;
  }
}

.m_panelList li:not(.is_current) {
  -webkit-box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
          box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
}

.m_panelList li .body > *:last-child {
  margin-bottom: 0 !important;
}

.m_panelList li .body .title {
  font-weight: 700;
}

@media (min-width: 768px) {
  .m_panelList li .body .title {
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_panelList li .body .title {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.m_panelList li .body .title > a {
  color: #1A2229;
}

@media (min-width: 768px) {
  .m_panelList li .body .title > a {
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
  }
}

.m_panelList li .body .title > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}

.m_panelList li .body .title > a::after {
  position: absolute;
  top: 50%;
  color: #5FB76F;
  -webkit-transform: translateY(-50%) scale(0.9);
          transform: translateY(-50%) scale(0.9);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\E002";
  font-size: 12px;
  line-height: 12px;
  vertical-align: middle;
}

@media (min-width: 768px) {
  .m_panelList li .body .title > a::after {
    right: 25px;
    -webkit-transition: right .3s ease;
    transition: right .3s ease;
  }
}

@media screen and (max-width: 767px) {
  .m_panelList li .body .title > a::after {
    right: 20px;
  }
}

@media (min-width: 768px) {
  .m_panelList li:hover .body .title > a {
    color: #5FB76F;
  }
}

@media (min-width: 768px) {
  .m_panelList li:hover .body .title > a::after {
    right: 20px;
  }
}

.m_panelList li.is_current .body .title > a {
  pointer-events: none;
  color: #DEE1E3;
}

.m_panelList li.is_current .body .title > a::after {
  display: none;
}

@media (min-width: 768px) {
  .m_panelList[class*="_pcCol2"] li {
    width: calc((100% - 20px)/2);
  }
}

@media (min-width: 768px) {
  .m_panelList[class*="_pcCol3"] li {
    width: calc((100% - 40px)/3);
  }
}

@media (min-width: 768px) {
  .m_panelList[class*="_pcCol4"] li {
    width: calc((100% - 60px)/4);
  }
}

.m_iconPanelList {
  margin: 0;
}

@media (min-width: 768px) {
  .m_iconPanelList {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

.m_iconPanelList > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background: white;
  -webkit-box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
          box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}

@media (min-width: 768px) {
  .m_iconPanelList > li {
    gap: 20px;
    padding: 25px 30px;
  }
}

@media screen and (max-width: 767px) {
  .m_iconPanelList > li {
    gap: 15px;
    padding: 12px 15px;
  }
}

@media screen and (max-width: 767px) {
  .m_iconPanelList > li:not(:first-child) {
    margin-top: 10px;
  }
}

.m_iconPanelList > li:not(.is_current) {
  -webkit-box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
          box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
}

@media (min-width: 768px) {
  .m_iconPanelList > li:hover .body .title > a {
    color: #5FB76F;
  }
}

.m_iconPanelList > li .body > *:last-child {
  margin-bottom: 0 !important;
}

.m_iconPanelList > li .body .title {
  font-weight: 700;
}

@media (min-width: 768px) {
  .m_iconPanelList > li .body .title {
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_iconPanelList > li .body .title {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.m_iconPanelList > li .body .title > a {
  color: #1A2229;
}

@media (min-width: 768px) {
  .m_iconPanelList > li .body .title > a {
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
  }
}

.m_iconPanelList > li .body .title > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
}

.m_iconPanelList > li .image {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}

@media (min-width: 768px) {
  .m_iconPanelList > li .image img {
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
  }
}

@media screen and (max-width: 767px) {
  .m_iconPanelList > li .image img {
    width: 40px;
    height: auto;
  }
}

.m_iconPanelList > li.is_current {
  pointer-events: none;
}

.m_iconPanelList > li.is_current .body .title > a {
  color: #DEE1E3;
}

.m_iconPanelList > li.is_current .image {
  opacity: .2;
}

@media (min-width: 768px) {
  .m_iconPanelList[class*="_pcCol4"] > li {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 768px) {
  .m_articleList {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

.m_articleList .article {
  padding-inline: 20px;
  background: white;
  -webkit-box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
          box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
}

@media (min-width: 768px) {
  .m_articleList .article {
    padding-block: 35px 15px;
  }
}

@media screen and (max-width: 767px) {
  .m_articleList .article {
    padding-block: 30px 10px;
  }
}

@media screen and (max-width: 767px) {
  .m_articleList .article:not(:first-of-type) {
    margin-top: 15px;
  }
}

.m_articleList .article .body > *:last-child {
  margin-bottom: 0 !important;
}

.m_articleList .article .body .author {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  -webkit-margin-start: 10px;
          margin-inline-start: 10px;
}

.m_articleList .article .body .author .text {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2 / 3;
}

.m_articleList .article .body .author .text > *:last-child {
  margin-bottom: 0 !important;
}

.m_articleList .article .body .author .text .company {
  margin-bottom: 5px;
}

@media (min-width: 768px) {
  .m_articleList .article .body .author .text .company {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_articleList .article .body .author .text .company {
    font-size: 0.625rem;
    line-height: 1.5;
  }
}

.m_articleList .article .body .author .text .name {
  font-weight: 700;
}

@media (min-width: 768px) {
  .m_articleList .article .body .author .text .name {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_articleList .article .body .author .text .name {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

@media (min-width: 768px) {
  .m_articleList .article .body .author .text .name > span {
    font-size: 1.375rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_articleList .article .body .author .text .name > span {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.m_articleList .article .body .author .image {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}

@media (min-width: 768px) {
  .m_articleList .article .body .author .image {
    -ms-flex-preferred-size: 100px;
        flex-basis: 100px;
  }
}

@media screen and (max-width: 767px) {
  .m_articleList .article .body .author .image {
    -ms-flex-preferred-size: 80px;
        flex-basis: 80px;
  }
}

.m_articleList .article .body .list {
  font-weight: 700;
}

@media (min-width: 768px) {
  .m_articleList .article .body .list {
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_articleList .article .body .list {
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.m_articleList .article .body .list > li > a {
  display: block;
  position: relative;
  padding-block: 15px;
  color: currentColor;
}

@media (min-width: 768px) {
  .m_articleList .article .body .list > li > a {
    padding-inline: 15px 40px;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
  }
}

@media screen and (max-width: 767px) {
  .m_articleList .article .body .list > li > a {
    padding-inline: 10px 36px;
  }
}

.m_articleList .article .body .list > li > a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin-block: auto;
  height: 12px;
  color: #5FB76F;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\E002";
  font-size: 12px;
  line-height: 12px;
  vertical-align: middle;
}

@media (min-width: 768px) {
  .m_articleList .article .body .list > li > a::after {
    right: 15px;
    -webkit-transition: right .3s ease;
    transition: right .3s ease;
  }
}

@media screen and (max-width: 767px) {
  .m_articleList .article .body .list > li > a::after {
    right: 10px;
  }
}

@media (min-width: 768px) {
  .m_articleList .article .body .list > li > a:hover {
    color: #5FB76F;
  }
}

@media (min-width: 768px) {
  .m_articleList .article .body .list > li > a:hover::after {
    right: 10px;
  }
}

.m_articleList .article .body .list > li.is_current {
  pointer-events: none;
}

.m_articleList .article .body .list > li.is_current > a {
  color: #DEE1E3;
}

.m_articleList .article .body .list > li.is_current > a::after {
  content: none;
}

.m_articleList .article .body .list > li:not(:first-of-type) {
  border-top: 1px solid #ECEEEF;
}

[class*="List"][class*="_horizontal"] > li {
  margin-right: 20px;
  display: inline-block;
  vertical-align: top;
}

/* table module
--------------------------------------------------------------------------------------------------- */
.m_table table {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: none;
  width: 100%;
}

.m_table table thead tr th {
  border-bottom-width: 1px;
}

.m_table table thead tr th:not(:first-child) {
  border-left-width: 1px;
}

.m_table table tbody tr:not(:first-child) th, .m_table table tbody tr:not(:first-child) td {
  border-top-width: 1px;
}

.m_table table tbody td:not(:first-child) {
  border-left-width: 1px;
}

.m_table table th,
.m_table table td {
  border: 0 solid #DEE1E3;
  text-align: center;
}

@media (min-width: 768px) {
  .m_table table th,
  .m_table table td {
    font-size: 1rem;
    line-height: 1.3125;
  }
}

@media screen and (max-width: 767px) {
  .m_table table th,
  .m_table table td {
    font-size: 0.875rem;
    line-height: 1.28571;
  }
}

@media (min-width: 768px) {
  .m_table table th > span:not(.m_br):not(.m_pcbr):not(.m_spbr),
  .m_table table td > span:not(.m_br):not(.m_pcbr):not(.m_spbr) {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_table table th > span:not(.m_br):not(.m_pcbr):not(.m_spbr),
  .m_table table td > span:not(.m_br):not(.m_pcbr):not(.m_spbr) {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

.m_table table th {
  font-weight: 700;
  background: #F3F4F5;
}

@media (min-width: 768px) {
  .m_table table th {
    padding: 25px 20px;
  }
}

@media screen and (max-width: 767px) {
  .m_table table th {
    padding: 18px 10px;
  }
}

@media (min-width: 768px) {
  .m_table table td {
    padding: 20px 15px;
  }
}

@media screen and (max-width: 767px) {
  .m_table table td {
    padding: 15px 10px;
  }
}

.m_table table td:last-of-type {
  border-right-width: 0;
}

.m_table[class*="_fixed"] table {
  table-layout: fixed;
}

@media screen and (max-width: 767px) {
  .m_table[class*="_spscroll"] {
    padding-bottom: 20px;
    width: 800px;
  }
  .m_table[class*="_spscroll"] table {
    padding-right: 30px;
  }
}

.m_table .caption {
  margin-top: 10px;
  font-size: 0.75rem;
  line-height: 1.5;
}

/* navigation module
--------------------------------------------------------------------------------------------------- */
.m_button {
  text-align: center;
}

@media (min-width: 768px) {
  .m_button {
    margin: 0 0 30px;
  }
}

@media screen and (max-width: 767px) {
  .m_button {
    margin: 0 0 30px;
  }
}

.m_button a,
.m_button button,
.m_button input[type="button"],
.m_button input[type="submit"],
.m_button input[type="reset"],
.m_button span:not(.m_spbr):not(.m_pcbr) {
  position: relative;
  font-weight: 700;
  color: #1A2229;
  background: white;
  border: 0;
  border-radius: 30px;
  -webkit-box-shadow: 0 6px 20px rgba(26, 34, 41, 0.05);
          box-shadow: 0 6px 20px rgba(26, 34, 41, 0.05);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-decoration: none;
}

@media (min-width: 768px) {
  .m_button a,
  .m_button button,
  .m_button input[type="button"],
  .m_button input[type="submit"],
  .m_button input[type="reset"],
  .m_button span:not(.m_spbr):not(.m_pcbr) {
    display: inline-block;
    vertical-align: middle;
    padding: 18px 35px;
    min-width: 300px;
    font-size: 1rem;
    line-height: 1.5;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
  }
}

@media screen and (max-width: 767px) {
  .m_button a,
  .m_button button,
  .m_button input[type="button"],
  .m_button input[type="submit"],
  .m_button input[type="reset"],
  .m_button span:not(.m_spbr):not(.m_pcbr) {
    display: inline-block;
    vertical-align: middle;
    padding: 15px 35px;
    min-width: 260px;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.m_button a.is_disabled, .m_button a[disabled],
.m_button button.is_disabled,
.m_button button[disabled],
.m_button input[type="button"].is_disabled,
.m_button input[type="button"][disabled],
.m_button input[type="submit"].is_disabled,
.m_button input[type="submit"][disabled],
.m_button input[type="reset"].is_disabled,
.m_button input[type="reset"][disabled],
.m_button span:not(.m_spbr):not(.m_pcbr).is_disabled,
.m_button span:not(.m_spbr):not(.m_pcbr)[disabled] {
  background: #cccccc;
  pointer-events: none;
}

.m_button a::after,
.m_button button::after,
.m_button input[type="button"]::after,
.m_button input[type="submit"]::after,
.m_button input[type="reset"]::after,
.m_button span:not(.m_spbr):not(.m_pcbr)::after {
  position: absolute;
  top: 50%;
  color: #5FB76F;
  -webkit-transform: translateY(-50%) scale(0.9);
          transform: translateY(-50%) scale(0.9);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\E002";
  font-size: 12px;
  line-height: 12px;
  vertical-align: middle;
}

@media (min-width: 768px) {
  .m_button a::after,
  .m_button button::after,
  .m_button input[type="button"]::after,
  .m_button input[type="submit"]::after,
  .m_button input[type="reset"]::after,
  .m_button span:not(.m_spbr):not(.m_pcbr)::after {
    right: 25px;
    -webkit-transition: right .3s ease;
    transition: right .3s ease;
  }
}

@media screen and (max-width: 767px) {
  .m_button a::after,
  .m_button button::after,
  .m_button input[type="button"]::after,
  .m_button input[type="submit"]::after,
  .m_button input[type="reset"]::after,
  .m_button span:not(.m_spbr):not(.m_pcbr)::after {
    right: 20px;
  }
}

@media (min-width: 768px) {
  .m_button a:hover,
  .m_button button:hover,
  .m_button input[type="button"]:hover,
  .m_button input[type="submit"]:hover,
  .m_button input[type="reset"]:hover,
  .m_button span:not(.m_spbr):not(.m_pcbr):hover {
    color: #5FB76F;
  }
}

@media (min-width: 768px) {
  .m_button a:hover::after,
  .m_button button:hover::after,
  .m_button input[type="button"]:hover::after,
  .m_button input[type="submit"]:hover::after,
  .m_button input[type="reset"]:hover::after,
  .m_button span:not(.m_spbr):not(.m_pcbr):hover::after {
    right: 20px;
  }
}

.m_button span {
  background: #c1c1c1;
}

.m_button > li {
  text-align: center;
}

@media (min-width: 768px) {
  .m_button > li {
    margin: 0 5px 10px;
    display: inline-block;
    vertical-align: middle;
  }
}

@media screen and (max-width: 767px) {
  .m_button > li {
    margin-bottom: 10px;
  }
}

.m_pager {
  margin: 0 0 30px;
  text-align: center;
}

.m_pager > li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
}

.m_pager > li:not([class]) a,
.m_pager > li.is_active a {
  display: block;
  border: 1px solid currentColor;
  text-decoration: none;
}

@media (min-width: 768px) {
  .m_pager > li:not([class]) a,
  .m_pager > li.is_active a {
    width: 30px;
    line-height: 30px;
  }
}

@media screen and (max-width: 767px) {
  .m_pager > li:not([class]) a,
  .m_pager > li.is_active a {
    width: 36px;
    line-height: 36px;
  }
}

@media screen and (max-width: 767px) {
  .m_pager > li a > span {
    display: none;
  }
}

.m_pager > li.is_active a {
  border-color: #606E79;
  background: #606E79;
  color: white;
}

@media screen and (max-width: 767px) {
  .m_pager > li.first, .m_pager > li.last {
    display: none;
  }
}

.m_pager > li.first a::before {
  content: "<<";
}

.m_pager > li.prev a::before {
  content: "<";
}

.m_pager > li.next a::after {
  content: ">";
}

.m_pager > li.last a::after {
  content: ">>";
}

/* inline module
--------------------------------------------------------------------------------------------------- */
.m_br[class*="_before"]::before,
.m_br::after {
  content: "\A";
  white-space: pre;
}

.m_br[class*="_before"]::after {
  content: none;
}

@media (min-width: 768px) {
  .m_pcHide {
    display: none !important;
  }
  .m_pcbr[class*="_before"]::before,
  .m_pcbr::after {
    content: "\A";
    white-space: pre;
  }
  .m_pcbr[class*="_before"]::after {
    content: none;
  }
}

@media screen and (max-width: 767px) {
  .m_spHide {
    display: none !important;
  }
  .m_spbr[class*="_before"]::before,
  .m_spbr::after {
    content: "\A";
    white-space: pre;
  }
  .m_spbr[class*="_before"]::after {
    content: none;
  }
}

.m_corpName {
  font-family: 'Kosugi', 'MS UI Gothic';
}

.m_arrowLink {
  margin: 30px 0;
  font-weight: 700;
}

.m_arrowLink > a {
  position: relative;
  display: inline-block;
  padding-right: 45px;
  color: #1A2229;
}

.m_arrowLink > a > span:not(.m_br):not(.m_pcbr):not(.m_spbr) {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto;
  width: 30px;
  height: 30px;
  background: white;
  -webkit-box-shadow: 0 3px 20px rgba(26, 34, 41, 0.1);
          box-shadow: 0 3px 20px rgba(26, 34, 41, 0.1);
  border-radius: 50%;
}

@media (min-width: 768px) {
  .m_arrowLink > a > span:not(.m_br):not(.m_pcbr):not(.m_spbr) {
    margin-left: 15px;
    -webkit-transition: background .3s ease;
    transition: background .3s ease;
  }
}

@media screen and (max-width: 767px) {
  .m_arrowLink > a > span:not(.m_br):not(.m_pcbr):not(.m_spbr) {
    margin-left: 10px;
  }
}

.m_arrowLink > a > span:not(.m_br):not(.m_pcbr):not(.m_spbr)::before {
  color: #5FB76F;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\E002";
  font-size: 10px;
  line-height: 10px;
  vertical-align: middle;
}

@media (min-width: 768px) {
  .m_arrowLink > a > span:not(.m_br):not(.m_pcbr):not(.m_spbr)::before {
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
  }
}

@media (min-width: 768px) {
  .m_arrowLink > a:hover > span:not(.m_br):not(.m_pcbr):not(.m_spbr) {
    background: #5FB76F;
  }
}

@media (min-width: 768px) {
  .m_arrowLink > a:hover > span:not(.m_br):not(.m_pcbr):not(.m_spbr)::before {
    color: white;
  }
}

.m_arrowLink[class*="_colorType01"] > a {
  color: #5FB76F;
}

@media (min-width: 768px) {
  .m_textLink {
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .m_textLink {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

@media (min-width: 768px) {
  .m_textLink > a {
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
  }
}

@media (min-width: 768px) {
  .m_textLink > a:hover {
    opacity: .7;
  }
}

.m_sup {
  vertical-align: super;
  font-size: .6em;
}

/* modifier module
--------------------------------------------------------------------------------------------------- */
/* text align */
[class*="_alignLeft"] {
  text-align: left !important;
}

@media (min-width: 768px) {
  [class*="_pcAlignLeft"] {
    text-align: left !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spAlignLeft"] {
    text-align: left !important;
  }
}

[class*="_alignCenter"] {
  text-align: center !important;
}

@media (min-width: 768px) {
  [class*="_pcAlignCenter"] {
    text-align: center !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spAlignCenter"] {
    text-align: center !important;
  }
}

[class*="_alignRight"] {
  text-align: right !important;
}

@media (min-width: 768px) {
  [class*="_pcAlignRight"] {
    text-align: right !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spAlignRight"] {
    text-align: right !important;
  }
}

[class*="_alignTop"] {
  vertical-align: top !important;
}

@media (min-width: 768px) {
  [class*="_pcAlignTop"] {
    vertical-align: top !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spAlignTop"] {
    vertical-align: top !important;
  }
}

[class*="_alignMiddle"] {
  vertical-align: middle !important;
}

@media (min-width: 768px) {
  [class*="_pcAlignMiddle"] {
    vertical-align: middle !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spAlignMiddle"] {
    vertical-align: middle !important;
  }
}

[class*="_alignBottom"] {
  vertical-align: bottom !important;
}

@media (min-width: 768px) {
  [class*="_pcAlignBottom"] {
    vertical-align: bottom !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spAlignBottom"] {
    vertical-align: bottom !important;
  }
}

[class*="_mt0"] {
  margin-top: 0 !important;
}

@media (min-width: 768px) {
  [class*="_pcmt0"] {
    margin-top: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmt0"] {
    margin-top: 0 !important;
  }
}

[class*="_mt10"] {
  margin-top: 10px !important;
}

@media (min-width: 768px) {
  [class*="_pcmt10"] {
    margin-top: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmt10"] {
    margin-top: 10px !important;
  }
}

[class*="_mt15"] {
  margin-top: 15px !important;
}

@media (min-width: 768px) {
  [class*="_pcmt15"] {
    margin-top: 15px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmt15"] {
    margin-top: 15px !important;
  }
}

[class*="_mt20"] {
  margin-top: 20px !important;
}

@media (min-width: 768px) {
  [class*="_pcmt20"] {
    margin-top: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmt20"] {
    margin-top: 20px !important;
  }
}

[class*="_mt30"] {
  margin-top: 30px !important;
}

@media (min-width: 768px) {
  [class*="_pcmt30"] {
    margin-top: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmt30"] {
    margin-top: 30px !important;
  }
}

[class*="_mt40"] {
  margin-top: 40px !important;
}

@media (min-width: 768px) {
  [class*="_pcmt40"] {
    margin-top: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmt40"] {
    margin-top: 40px !important;
  }
}

[class*="_mt50"] {
  margin-top: 40px !important;
}

@media (min-width: 768px) {
  [class*="_pcmt50"] {
    margin-top: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmt50"] {
    margin-top: 50px !important;
  }
}

[class*="_mt60"] {
  margin-top: 60px !important;
}

@media (min-width: 768px) {
  [class*="_pcmt60"] {
    margin-top: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmt60"] {
    margin-top: 60px !important;
  }
}

[class*="_mt70"] {
  margin-top: 70px !important;
}

@media (min-width: 768px) {
  [class*="_pcmt70"] {
    margin-top: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmt70"] {
    margin-top: 70px !important;
  }
}

[class*="_mt80"] {
  margin-top: 80px !important;
}

@media (min-width: 768px) {
  [class*="_pcmt80"] {
    margin-top: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmt80"] {
    margin-top: 80px !important;
  }
}

[class*="_mt90"] {
  margin-top: 90px !important;
}

@media (min-width: 768px) {
  [class*="_pcmt90"] {
    margin-top: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmt90"] {
    margin-top: 90px !important;
  }
}

[class*="_mt100"] {
  margin-top: 100px !important;
}

@media (min-width: 768px) {
  [class*="_pcmt100"] {
    margin-top: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmt100"] {
    margin-top: 100px !important;
  }
}

[class*="_mt120"] {
  margin-top: 120px !important;
}

@media (min-width: 768px) {
  [class*="_pcmt120"] {
    margin-top: 120px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmt120"] {
    margin-top: 120px !important;
  }
}

[class*="_mb0"] {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  [class*="_pcmb0"] {
    margin-bottom: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmb0"] {
    margin-bottom: 0 !important;
  }
}

[class*="_mb10"] {
  margin-bottom: 10px !important;
}

@media (min-width: 768px) {
  [class*="_pcmb10"] {
    margin-bottom: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmb10"] {
    margin-bottom: 10px !important;
  }
}

[class*="_mb15"] {
  margin-bottom: 15px !important;
}

@media (min-width: 768px) {
  [class*="_pcmb15"] {
    margin-bottom: 15px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmb15"] {
    margin-bottom: 15px !important;
  }
}

[class*="_mb20"] {
  margin-bottom: 20px !important;
}

@media (min-width: 768px) {
  [class*="_pcmb20"] {
    margin-bottom: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmb20"] {
    margin-bottom: 20px !important;
  }
}

[class*="_mb30"] {
  margin-bottom: 30px !important;
}

@media (min-width: 768px) {
  [class*="_pcmb30"] {
    margin-bottom: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmb30"] {
    margin-bottom: 30px !important;
  }
}

[class*="_mb40"] {
  margin-bottom: 40px !important;
}

@media (min-width: 768px) {
  [class*="_pcmb40"] {
    margin-bottom: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmb40"] {
    margin-bottom: 40px !important;
  }
}

[class*="_mb50"] {
  margin-bottom: 50px !important;
}

@media (min-width: 768px) {
  [class*="_pcmb50"] {
    margin-bottom: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmb50"] {
    margin-bottom: 50px !important;
  }
}

[class*="_mb60"] {
  margin-bottom: 60px !important;
}

@media (min-width: 768px) {
  [class*="_pcmb60"] {
    margin-bottom: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmb60"] {
    margin-bottom: 60px !important;
  }
}

[class*="_mb70"] {
  margin-bottom: 70px !important;
}

@media (min-width: 768px) {
  [class*="_pcmb70"] {
    margin-bottom: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmb70"] {
    margin-bottom: 70px !important;
  }
}

[class*="_mb80"] {
  margin-bottom: 80px !important;
}

@media (min-width: 768px) {
  [class*="_pcmb80"] {
    margin-bottom: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmb80"] {
    margin-bottom: 80px !important;
  }
}

[class*="_mb90"] {
  margin-bottom: 90px !important;
}

@media (min-width: 768px) {
  [class*="_pcmb90"] {
    margin-bottom: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmb90"] {
    margin-bottom: 90px !important;
  }
}

[class*="_mb100"] {
  margin-bottom: 100px !important;
}

@media (min-width: 768px) {
  [class*="_pcmb100"] {
    margin-bottom: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmb100"] {
    margin-bottom: 100px !important;
  }
}

[class*="_mb120"] {
  margin-bottom: 120px !important;
}

@media (min-width: 768px) {
  [class*="_pcmb120"] {
    margin-bottom: 120px !important;
  }
}

@media screen and (max-width: 767px) {
  [class*="_spmb120"] {
    margin-bottom: 120px !important;
  }
}

/* font style */
[class*="_fontBold"] {
  font-weight: 700;
}

[class*="_fontItalic"] {
  font-style: italic;
}

[class*="_fontNormal"] {
  font-weight: 400 !important;
  font-style: normal !important;
}

/* fontColor */
[class*="_colorType01"] {
  color: #1A2229;
}

[class*="_colorType02"] {
  color: #5FB76F;
}

[class*="_colorType03"] {
  color: #606E79;
}

/* object module
--------------------------------------------------------------------------------------------------- */
.m_object {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 768px;
  overflow: hidden;
}

@media (min-width: 768px) {
  .m_object {
    mix-blend-mode: multiply;
  }
}

.m_object .size {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  -webkit-animation: floating 3s ease-in-out 3s infinite alternate;
          animation: floating 3s ease-in-out 3s infinite alternate;
  z-index: -1;
}

.m_object .size::before, .m_object .size::after {
  background: white;
  border-style: solid;
  border-color: rgba(232, 243, 249, 0.4);
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  content: "";
}

.m_object .size.delay01 {
  -webkit-animation-duration: 3.5s;
          animation-duration: 3.5s;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.m_object .size.delay02.is_complete {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

@media (min-width: 768px) {
  .m_object [class*="w10"][class*="_01"] {
    top: 245px;
    left: 55px;
  }
}

@media screen and (max-width: 767px) {
  .m_object [class*="w10"][class*="_01"] {
    top: 125px;
    left: 30px;
  }
}

@media (min-width: 768px) {
  .m_object [class*="w10"][class*="_02"] {
    top: 355px;
    left: 115px;
  }
}

@media screen and (max-width: 767px) {
  .m_object [class*="w10"][class*="_02"] {
    top: 215px;
    left: 60px;
  }
}

.m_object [class*="w10"][class*="_02"]::before {
  margin-top: -5px;
}

@media (min-width: 768px) {
  .m_object [class*="w10"][class*="_03"] {
    top: 280px;
    left: 15px;
  }
}

@media screen and (max-width: 767px) {
  .m_object [class*="w10"][class*="_03"] {
    top: 160px;
    left: -5px;
  }
}

.m_object [class*="w10"][class*="_03"]::before {
  margin-top: -5px;
}

@media (min-width: 768px) {
  .m_object [class*="w10"][class*="_04"] {
    top: 300px;
    left: 40px;
  }
}

@media screen and (max-width: 767px) {
  .m_object [class*="w10"][class*="_04"] {
    top: 185px;
    left: 15px;
  }
}

@media (min-width: 768px) {
  .m_object [class*="w10"][class*="_05"] {
    top: 200px;
    right: calc((100% - 1000px + 365px)/2);
  }
}

.m_object [class*="w10"][class*="_05"]::before {
  margin-top: -5px;
}

@media (min-width: 768px) {
  .m_object [class*="w10"][class*="_06"] {
    top: 235px;
    right: calc((100% - 1000px + 410px)/2);
  }
}

@media (min-width: 768px) {
  .m_object [class*="w10"][class*="_07"] {
    top: 460px;
    right: 30px;
  }
}

.m_object [class*="w10"][class*="_07"]::before {
  margin-top: -5px;
}

@media (min-width: 768px) {
  .m_object [class*="w10"][class*="_08"] {
    top: 435px;
    right: 90px;
  }
}

.m_object [class*="w10"]::before, .m_object [class*="w10"]::after {
  width: 15px;
  height: 15px;
  border-width: 2px;
}

.m_object [class*="w10"]::before {
  margin-top: 5px;
  margin-right: -2px;
}

.m_object [class*="w10"]::after {
  margin-left: -2px;
}

@media (min-width: 768px) {
  .m_object [class*="w25"][class*="_01"] {
    bottom: 130px;
    right: calc((100% - 1000px + 520px)/2);
  }
  .m_object [class*="w25"][class*="_01"]::before {
    margin-top: 5px;
  }
}

@media screen and (max-width: 767px) {
  .m_object [class*="w25"][class*="_01"] {
    bottom: 240px;
    right: -5px;
  }
  .m_object [class*="w25"][class*="_01"]::before {
    margin-top: 8px;
  }
}

.m_object [class*="w25"]::before, .m_object [class*="w25"]::after {
  width: 25px;
  height: 25px;
  border-width: 3px;
}

.m_object [class*="w25"]::before {
  margin-right: -3px;
  width: 20px;
  height: 20px;
}

.m_object [class*="w25"]::after {
  margin-left: -3px;
}

@media (min-width: 768px) {
  .m_object [class*="w35"][class*="_01"] {
    top: 140px;
    left: calc((100% - 1000px + 565px)/2);
  }
}

@media screen and (max-width: 767px) {
  .m_object [class*="w35"][class*="_01"] {
    bottom: 140px;
    right: 65px;
  }
  .m_object [class*="w35"][class*="_01"]::before {
    margin-top: 7px;
  }
}

@media (min-width: 768px) {
  .m_object [class*="w35"][class*="_02"] {
    bottom: 70px;
    right: calc((100% - 1000px + 600px)/2);
  }
}

.m_object [class*="w35"]::before, .m_object [class*="w35"]::after {
  width: 35px;
  height: 35px;
  border-width: 4px;
}

.m_object [class*="w35"]::before {
  margin-top: -6px;
  margin-right: -5px;
  width: 30px;
  height: 30px;
}

.m_object [class*="w35"]::after {
  margin-left: -5px;
}

@media (min-width: 768px) {
  .m_object [class*="w60"][class*="_01"] {
    top: 495px;
    right: 200px;
  }
  .m_object [class*="w60"][class*="_01"]::before {
    margin-top: 12px;
  }
}

@media screen and (max-width: 767px) {
  .m_object [class*="w60"][class*="_01"] {
    top: 235px;
    left: 145px;
  }
  .m_object [class*="w60"][class*="_01"]::after {
    margin-top: 8px;
  }
}

@media (min-width: 768px) {
  .m_object [class*="w60"][class*="_02"] {
    top: 410px;
    left: -65px;
  }
  .m_object [class*="w60"][class*="_02"]::after {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .m_object [class*="w60"][class*="_02"] {
    bottom: 110px;
    left: -15px;
  }
  .m_object [class*="w60"][class*="_02"]::before {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .m_object [class*="w60"][class*="_03"] {
    bottom: 50px;
    right: -15px;
  }
  .m_object [class*="w60"][class*="_03"]::after {
    margin-top: 8px;
  }
}

.m_object [class*="w60"]::before, .m_object [class*="w60"]::after {
  width: 60px;
  height: 60px;
  border-width: 6px;
}

.m_object [class*="w60"]::before {
  margin-right: -8px;
  width: 50px;
  height: 50px;
}

.m_object [class*="w60"]::after {
  margin-left: -8px;
}

@media (min-width: 768px) {
  .m_object [class*="w90"][class*="_01"] {
    top: 270px;
    left: calc((100% - 1000px + 380px)/2);
  }
  .m_object [class*="w90"][class*="_01"]::before {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .m_object [class*="w90"][class*="_01"] {
    top: 115px;
    right: -30px;
  }
  .m_object [class*="w90"][class*="_01"]::before {
    margin-top: 26px;
  }
}

@media (min-width: 768px) {
  .m_object [class*="w90"][class*="_02"] {
    bottom: 40px;
    right: 55px;
  }
  .m_object [class*="w90"][class*="_02"]::before {
    margin-top: -15px;
  }
}

@media (min-width: 768px) {
  .m_object [class*="w90"][class*="_03"] {
    top: 550px;
    left: -15px;
  }
  .m_object [class*="w90"][class*="_03"]::before {
    margin-top: 28px;
  }
}

.m_object [class*="w90"]::before, .m_object [class*="w90"]::after {
  width: 90px;
  height: 90px;
  border-width: 9px;
}

.m_object [class*="w90"]::before {
  margin-right: -14px;
  width: 80px;
  height: 80px;
}

.m_object [class*="w90"]::after {
  margin-left: -14px;
}

@media (min-width: 768px) {
  .m_object [class*="w120"][class*="_01"] {
    top: 360px;
    right: calc((100% - 1000px + 330px)/2);
  }
  .m_object [class*="w120"][class*="_01"]::before {
    margin-top: -20px;
    width: 110px;
    height: 110px;
  }
}

.m_object [class*="w120"]::before, .m_object [class*="w120"]::after {
  width: 120px;
  height: 120px;
  border-width: 12px;
}

.m_object [class*="w120"]::before {
  margin-right: -18px;
}

.m_object [class*="w120"]::after {
  margin-left: -18px;
}

@media (min-width: 768px) {
  .m_object [class*="w150"][class*="_01"] {
    top: -90px;
    left: -50px;
  }
  .m_object [class*="w150"][class*="_01"]::after {
    margin-top: 25px;
  }
}

@media (min-width: 768px) {
  .m_object [class*="w150"][class*="_02"] {
    top: 190px;
    right: -35px;
  }
  .m_object [class*="w150"][class*="_02"]::before {
    margin-top: 37px;
    width: 130px;
    height: 130px;
  }
}

.m_object [class*="w150"]::before, .m_object [class*="w150"]::after {
  width: 150px;
  height: 150px;
  border-width: 15px;
}

.m_object [class*="w150"]::before {
  margin-right: -20px;
}

.m_object [class*="w150"]::after {
  margin-left: -20px;
}

@-webkit-keyframes floating {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, 15px);
            transform: translate(0, 15px);
  }
}

@keyframes floating {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, 15px);
            transform: translate(0, 15px);
  }
}

/*====================================================================================================

    libs

====================================================================================================*/
/* scrollhint
--------------------------------------------------------------------------------------------------- */
@-webkit-keyframes scroll-hint-appear {
  0% {
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%,
  100% {
    -webkit-transform: translateX(-40px);
            transform: translateX(-40px);
    opacity: 0;
  }
}
@keyframes scroll-hint-appear {
  0% {
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%,
  100% {
    -webkit-transform: translateX(-40px);
            transform: translateX(-40px);
    opacity: 0;
  }
}

.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 60px);
  left: calc(50% - 60px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 120px;
  /* height: 80px; */
  border-radius: 5px;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  -webkit-animation: scroll-hint-appear 1.2s linear;
          animation: scroll-hint-appear 1.2s linear;
  -webkit-animation-iteration-count: 2;
          animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #FFF;
  -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
          box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

/*====================================================================================================

    unique

====================================================================================================*/
/* home
--------------------------------------------------------------------------------------------------- */
#document.home .m_section[class*="_gray"]::before {
  background: #F3F4F5;
}

@media (min-width: 768px) {
  #document.home .m_section[class*="_gray"]::before {
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #document.home .m_section[class*="_gray"]::before {
    position: absolute;
    right: 5px;
    bottom: 0;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

#document.home .m_section[class*="_gray"][class*="-dark"]::before {
  background: #DEE1E3;
}

#document.home .m_section .sectionInner .rowInner[class*="_gray"]::before {
  display: inline-block;
  background: #F3F4F5;
}

@media (min-width: 768px) {
  #document.home .m_section .sectionInner .rowInner[class*="_gray"]::before {
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #document.home .m_section .sectionInner .rowInner[class*="_gray"]::before {
    position: absolute;
    right: 5px;
    bottom: 0;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

#document.home .m_section .sectionInner .rowInner[class*="_gray"][class*="-dark"]::before {
  background: #DEE1E3;
}

#document.home .a_mainvisual {
  position: relative;
}

#document.home .a_mainvisual .detail {
  position: absolute;
  z-index: 1;
}

#document.home .a_mainvisual .detail > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .detail {
    top: 345px;
    left: calc((100% - 1000px)/2);
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .detail {
    top: 230px;
    left: 30px;
    width: calc(100% - 60px);
  }
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .detail .logo {
    margin-bottom: 60px;
    margin-left: -20px;
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .detail .logo {
    margin-bottom: 50px;
  }
}

#document.home .a_mainvisual .detail .copy {
  margin-bottom: 35px;
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .detail .text {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .detail .text {
    font-size: 0.875rem;
  }
}

#document.home .a_mainvisual .object {
  position: relative;
  height: 768px;
}

#document.home .a_mainvisual .object .size {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  z-index: -1;
}

#document.home .a_mainvisual .object .size::before, #document.home .a_mainvisual .object .size::after {
  opacity: 0;
  background: white;
  border-style: solid;
  border-color: #F3F4F5;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  content: "";
}

#document.home .a_mainvisual .object .size::before {
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
}

#document.home .a_mainvisual .object .size::after {
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
}

#document.home .a_mainvisual .object .size.is_start::before, #document.home .a_mainvisual .object .size.is_start::after {
  opacity: 1;
  border-color: #E8F3F9;
}

#document.home .a_mainvisual .object .size.is_start::before {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: opacity 1s .5s ease, border-color 1s 6s ease, -webkit-transform 1.5s 3.5s ease;
  transition: opacity 1s .5s ease, border-color 1s 6s ease, -webkit-transform 1.5s 3.5s ease;
  transition: transform 1.5s 3.5s ease, opacity 1s .5s ease, border-color 1s 6s ease;
  transition: transform 1.5s 3.5s ease, opacity 1s .5s ease, border-color 1s 6s ease, -webkit-transform 1.5s 3.5s ease;
}

#document.home .a_mainvisual .object .size.is_start::after {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: opacity 1s 2s ease, border-color 1s 6s ease, -webkit-transform 1.5s 3.5s ease;
  transition: opacity 1s 2s ease, border-color 1s 6s ease, -webkit-transform 1.5s 3.5s ease;
  transition: transform 1.5s 3.5s ease, opacity 1s 2s ease, border-color 1s 6s ease;
  transition: transform 1.5s 3.5s ease, opacity 1s 2s ease, border-color 1s 6s ease, -webkit-transform 1.5s 3.5s ease;
}

#document.home .a_mainvisual .object .size.is_start.is_complete {
  -webkit-animation: floating 3s ease-in-out 3s infinite alternate;
          animation: floating 3s ease-in-out 3s infinite alternate;
}

#document.home .a_mainvisual .object .size.delay01.is_start.is_complete {
  -webkit-animation-duration: 3.5s;
          animation-duration: 3.5s;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

#document.home .a_mainvisual .object .size.delay02.is_start.is_complete {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w10"][class*="_01"] {
    top: 245px;
    left: 55px;
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .object [class*="w10"][class*="_01"] {
    top: 125px;
    left: 30px;
  }
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w10"][class*="_02"] {
    top: 355px;
    left: 115px;
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .object [class*="w10"][class*="_02"] {
    top: 215px;
    left: 60px;
  }
}

#document.home .a_mainvisual .object [class*="w10"][class*="_02"]::before {
  margin-top: -5px;
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w10"][class*="_03"] {
    top: 280px;
    left: 15px;
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .object [class*="w10"][class*="_03"] {
    top: 160px;
    left: -5px;
  }
}

#document.home .a_mainvisual .object [class*="w10"][class*="_03"]::before {
  margin-top: -5px;
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w10"][class*="_04"] {
    top: 300px;
    left: 40px;
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .object [class*="w10"][class*="_04"] {
    top: 185px;
    left: 15px;
  }
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w10"][class*="_05"] {
    top: 200px;
    right: calc((100% - 1000px + 365px)/2);
  }
}

#document.home .a_mainvisual .object [class*="w10"][class*="_05"]::before {
  margin-top: -5px;
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w10"][class*="_06"] {
    top: 235px;
    right: calc((100% - 1000px + 410px)/2);
  }
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w10"][class*="_07"] {
    top: 460px;
    right: 30px;
  }
}

#document.home .a_mainvisual .object [class*="w10"][class*="_07"]::before {
  margin-top: -5px;
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w10"][class*="_08"] {
    top: 435px;
    right: 90px;
  }
}

#document.home .a_mainvisual .object [class*="w10"]::before, #document.home .a_mainvisual .object [class*="w10"]::after {
  width: 15px;
  height: 15px;
  border-width: 2px;
}

#document.home .a_mainvisual .object [class*="w10"]::before {
  margin-top: 5px;
  margin-right: -2px;
}

#document.home .a_mainvisual .object [class*="w10"]::after {
  margin-left: -2px;
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w25"][class*="_01"] {
    bottom: 130px;
    right: calc((100% - 1000px + 520px)/2);
  }
  #document.home .a_mainvisual .object [class*="w25"][class*="_01"]::before {
    margin-top: 5px;
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .object [class*="w25"][class*="_01"] {
    bottom: 240px;
    right: -5px;
  }
  #document.home .a_mainvisual .object [class*="w25"][class*="_01"]::before {
    margin-top: 8px;
  }
}

#document.home .a_mainvisual .object [class*="w25"]::before, #document.home .a_mainvisual .object [class*="w25"]::after {
  width: 25px;
  height: 25px;
  border-width: 3px;
}

#document.home .a_mainvisual .object [class*="w25"]::before {
  margin-right: -3px;
  width: 20px;
  height: 20px;
}

#document.home .a_mainvisual .object [class*="w25"]::after {
  margin-left: -3px;
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w35"][class*="_01"] {
    top: 140px;
    left: calc((100% - 1000px + 565px)/2);
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .object [class*="w35"][class*="_01"] {
    bottom: 140px;
    right: 65px;
  }
  #document.home .a_mainvisual .object [class*="w35"][class*="_01"]::before {
    margin-top: 7px;
  }
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w35"][class*="_02"] {
    bottom: 70px;
    right: calc((100% - 1000px + 600px)/2);
  }
}

#document.home .a_mainvisual .object [class*="w35"]::before, #document.home .a_mainvisual .object [class*="w35"]::after {
  width: 35px;
  height: 35px;
  border-width: 4px;
}

#document.home .a_mainvisual .object [class*="w35"]::before {
  margin-top: -6px;
  margin-right: -5px;
  width: 30px;
  height: 30px;
}

#document.home .a_mainvisual .object [class*="w35"]::after {
  margin-left: -5px;
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w60"][class*="_01"] {
    top: 495px;
    right: 200px;
  }
  #document.home .a_mainvisual .object [class*="w60"][class*="_01"]::before {
    margin-top: 12px;
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .object [class*="w60"][class*="_01"] {
    top: 235px;
    left: 145px;
  }
  #document.home .a_mainvisual .object [class*="w60"][class*="_01"]::after {
    margin-top: 8px;
  }
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w60"][class*="_02"] {
    top: 410px;
    left: -65px;
  }
  #document.home .a_mainvisual .object [class*="w60"][class*="_02"]::after {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .object [class*="w60"][class*="_02"] {
    bottom: 110px;
    left: -15px;
  }
  #document.home .a_mainvisual .object [class*="w60"][class*="_02"]::before {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .object [class*="w60"][class*="_03"] {
    bottom: 50px;
    right: -15px;
  }
  #document.home .a_mainvisual .object [class*="w60"][class*="_03"]::after {
    margin-top: 8px;
  }
}

#document.home .a_mainvisual .object [class*="w60"]::before, #document.home .a_mainvisual .object [class*="w60"]::after {
  width: 60px;
  height: 60px;
  border-width: 6px;
}

#document.home .a_mainvisual .object [class*="w60"]::before {
  margin-right: -8px;
  width: 50px;
  height: 50px;
}

#document.home .a_mainvisual .object [class*="w60"]::after {
  margin-left: -8px;
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w90"][class*="_01"] {
    top: 270px;
    left: calc((100% - 1000px + 380px)/2);
  }
  #document.home .a_mainvisual .object [class*="w90"][class*="_01"]::before {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .object [class*="w90"][class*="_01"] {
    top: 115px;
    right: -30px;
  }
  #document.home .a_mainvisual .object [class*="w90"][class*="_01"]::before {
    margin-top: 26px;
  }
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w90"][class*="_02"] {
    bottom: 40px;
    right: 55px;
  }
  #document.home .a_mainvisual .object [class*="w90"][class*="_02"]::before {
    margin-top: -15px;
  }
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w90"][class*="_03"] {
    top: 550px;
    left: -15px;
  }
  #document.home .a_mainvisual .object [class*="w90"][class*="_03"]::before {
    margin-top: 28px;
  }
}

#document.home .a_mainvisual .object [class*="w90"]::before, #document.home .a_mainvisual .object [class*="w90"]::after {
  width: 90px;
  height: 90px;
  border-width: 9px;
}

#document.home .a_mainvisual .object [class*="w90"]::before {
  margin-right: -14px;
  width: 80px;
  height: 80px;
}

#document.home .a_mainvisual .object [class*="w90"]::after {
  margin-left: -14px;
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w120"][class*="_01"] {
    top: 360px;
    right: calc((100% - 1000px + 330px)/2);
  }
  #document.home .a_mainvisual .object [class*="w120"][class*="_01"]::before {
    margin-top: -20px;
    width: 110px;
    height: 110px;
  }
}

#document.home .a_mainvisual .object [class*="w120"]::before, #document.home .a_mainvisual .object [class*="w120"]::after {
  width: 120px;
  height: 120px;
  border-width: 12px;
}

#document.home .a_mainvisual .object [class*="w120"]::before {
  margin-right: -18px;
}

#document.home .a_mainvisual .object [class*="w120"]::after {
  margin-left: -18px;
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w150"][class*="_01"] {
    top: -90px;
    left: -50px;
  }
  #document.home .a_mainvisual .object [class*="w150"][class*="_01"]::after {
    margin-top: 25px;
  }
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .object [class*="w150"][class*="_02"] {
    top: 190px;
    right: -35px;
  }
  #document.home .a_mainvisual .object [class*="w150"][class*="_02"]::before {
    margin-top: 37px;
    width: 130px;
    height: 130px;
  }
}

#document.home .a_mainvisual .object [class*="w150"]::before, #document.home .a_mainvisual .object [class*="w150"]::after {
  width: 150px;
  height: 150px;
  border-width: 15px;
}

#document.home .a_mainvisual .object [class*="w150"]::before {
  margin-right: -20px;
}

#document.home .a_mainvisual .object [class*="w150"]::after {
  margin-left: -20px;
}

#document.home .a_mainvisual .scroll {
  position: absolute;
  bottom: 0;
  padding: 0 0 5px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}

@media (min-width: 768px) {
  #document.home .a_mainvisual .scroll {
    left: -20px;
    width: 80px;
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_mainvisual .scroll {
    left: -30px;
    width: 60px;
  }
}

#document.home .a_mainvisual .scroll::before {
  -webkit-animation: bar 1.5s ease-in-out infinite;
          animation: bar 1.5s ease-in-out infinite;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid #1A2229;
  content: "";
}

@media (scripting: none) {
  #document.home .a_mainvisual .object .size {
    -webkit-animation: floating 3s ease-in-out 3s infinite alternate;
            animation: floating 3s ease-in-out 3s infinite alternate;
  }
  #document.home .a_mainvisual .object .size::before, #document.home .a_mainvisual .object .size::after {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    border-color: #E8F3F9;
  }
  #document.home .a_mainvisual .object .size.delay01 {
    -webkit-animation-duration: 3.5s;
            animation-duration: 3.5s;
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
  }
  #document.home .a_mainvisual .object .size.delay02 {
    -webkit-animation-delay: 1.5s;
            animation-delay: 1.5s;
  }
}

@media (min-width: 768px) {
  #document.home .a_about .m_iconPanelList + .m_arrowLink {
    -webkit-transform: translateY(-60px);
            transform: translateY(-60px);
  }
}

#document.home .a_about .m_engBorderHeading .label .inner {
  position: relative;
  z-index: -1;
}

#document.home .a_about .m_engBorderHeading .label .inner .small {
  position: absolute;
  right: 0;
  font-weight: 500;
  letter-spacing: 0;
}

@media (min-width: 768px) {
  #document.home .a_about .m_engBorderHeading .label .inner .small {
    bottom: -15px;
    font-size: 1.75rem;
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_about .m_engBorderHeading .label .inner .small {
    bottom: -10px;
    font-size: 1.125rem;
  }
}

@media (min-width: 768px) {
  #document.home .a_about .rowInner::before {
    height: calc(100% - 638px);
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_about .rowInner::before {
    height: calc(100% - 860px);
  }
}

#document.home .a_about .rowInner.js_scrollAnim::before {
  -webkit-transition: background 1s ease-in;
  transition: background 1s ease-in;
}

#document.home .a_about .rowInner.js_scrollAnim .m_engBorderHeading {
  -webkit-transition: color 1s ease-in;
  transition: color 1s ease-in;
}

#document.home .a_about .rowInner.js_scrollAnim .m_engBorderHeading .label {
  -webkit-transition: color 1s ease-in;
  transition: color 1s ease-in;
}

#document.home .a_about .rowInner.js_scrollAnim .m_engBorderHeading::after {
  -webkit-transition: background 1s ease-in;
  transition: background 1s ease-in;
}

#document.home .a_about .rowInner.js_scrollAnim .m_lead {
  -webkit-transition: color 1s ease-in;
  transition: color 1s ease-in;
}

#document.home .a_about .rowInner.js_scrollAnim.is_animation::before {
  background: #606E79;
}

#document.home .a_about .rowInner.js_scrollAnim.is_animation .m_engBorderHeading {
  color: white;
}

#document.home .a_about .rowInner.js_scrollAnim.is_animation .m_engBorderHeading .label {
  color: rgba(255, 255, 255, 0.1);
}

#document.home .a_about .rowInner.js_scrollAnim.is_animation .m_engBorderHeading::after {
  background: white;
}

#document.home .a_about .rowInner.js_scrollAnim.is_animation .m_lead {
  color: white;
}

@media (min-width: 768px) {
  #document.home .a_approach::before {
    height: calc(100% - 470px);
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_approach::before {
    height: calc(100% - 350px);
  }
}

@media (min-width: 768px) {
  #document.home .a_research::before {
    height: calc(100% - 490px);
  }
}

@media screen and (max-width: 767px) {
  #document.home .a_research::before {
    height: calc(100% - 350px);
  }
}

#document.home .js_colorChange.m_arrowLink > a {
  -webkit-transition: color 1s ease-in;
  transition: color 1s ease-in;
}

#document.home .js_colorChange.is_animation > a {
  color: white;
}

@-webkit-keyframes bar {
  0% {
    right: 100%;
  }
  90% {
    right: 0;
  }
  100% {
    right: 0;
  }
}

@keyframes bar {
  0% {
    right: 100%;
  }
  90% {
    right: 0;
  }
  100% {
    right: 0;
  }
}

/* about
--------------------------------------------------------------------------------------------------- */
#document.about .m_iconPanelList {
  position: relative;
}

#document.about .m_iconPanelList::before {
  margin-inline: calc(50% - var(--viewWidth)/2);
  background: #F3F4F5;
}

@media (min-width: 768px) {
  #document.about .m_iconPanelList::before {
    width: calc(var(--viewWidth) - 40px);
    height: 70px;
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #document.about .m_iconPanelList::before {
    height: 32px;
    position: absolute;
    right: 5px;
    bottom: 0;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

/* hypoxia
--------------------------------------------------------------------------------------------------- */
#document.hypoxia .hypoxiaWrap {
  position: relative;
}

#document.hypoxia .hypoxiaWrap::before {
  margin-inline: calc(50% - var(--viewWidth)/2);
  background: #F3F4F5;
}

@media (min-width: 768px) {
  #document.hypoxia .hypoxiaWrap::before {
    width: calc(var(--viewWidth) - 40px);
    height: 250px;
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #document.hypoxia .hypoxiaWrap::before {
    height: 100%;
    position: absolute;
    right: 5px;
    bottom: 0;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #document.hypoxia .hypoxiaWrap::after {
    margin-inline: calc(50% - var(--viewWidth)/2);
    height: 70px;
    background: #ffffff;
    position: absolute;
    top: 0;
    right: 5px;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #document.hypoxia .m_engOverlapHeading .label .inner {
    position: relative;
    z-index: -1;
  }
}

#document.hypoxia .m_engOverlapHeading .label .inner .small {
  font-weight: 500;
  letter-spacing: 0;
}

@media (min-width: 768px) {
  #document.hypoxia .m_engOverlapHeading .label .inner .small {
    font-size: 2.25rem;
  }
}

@media screen and (max-width: 767px) {
  #document.hypoxia .m_engOverlapHeading .label .inner .small {
    position: absolute;
    right: 0;
    bottom: -10px;
    font-size: 1.125rem;
  }
}

#document.hypoxia .m_engOverlapHeading .label .inner .small img {
  vertical-align: baseline;
}

@media screen and (max-width: 767px) {
  #document.hypoxia .m_engOverlapHeading .label .inner .small img {
    width: 70px;
    height: auto;
  }
}

/* approach
--------------------------------------------------------------------------------------------------- */
#document.approach .m_indexList {
  position: relative;
}

#document.approach .m_indexList::before {
  margin-inline: calc(50% - var(--viewWidth)/2);
  background: #F3F4F5;
}

@media (min-width: 768px) {
  #document.approach .m_indexList::before {
    width: calc(var(--viewWidth) - 40px);
    height: 200px;
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #document.approach .m_indexList::before {
    height: 100%;
    position: absolute;
    right: 5px;
    bottom: 0;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #document.approach .m_indexList::after {
    margin-inline: calc(50% - var(--viewWidth)/2);
    height: 80px;
    background: #ffffff;
    position: absolute;
    top: 0;
    right: 5px;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

/* kmp
--------------------------------------------------------------------------------------------------- */
#document.kmp .m_panelList {
  position: relative;
}

#document.kmp .m_panelList::before {
  margin-inline: calc(50% - var(--viewWidth)/2);
  height: 100%;
  background: #F3F4F5;
}

@media (min-width: 768px) {
  #document.kmp .m_panelList::before {
    width: calc(var(--viewWidth) - 40px);
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #document.kmp .m_panelList::before {
    position: absolute;
    right: 5px;
    bottom: 0;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

#document.kmp .m_panelList::after {
  margin-inline: calc(50% - var(--viewWidth)/2);
  background: #ffffff;
}

@media (min-width: 768px) {
  #document.kmp .m_panelList::after {
    width: calc(var(--viewWidth) - 40px);
    height: 75px;
    position: absolute;
    top: 0;
    right: 20px;
    left: 20px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #document.kmp .m_panelList::after {
    height: 40px;
    position: absolute;
    top: 0;
    right: 5px;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

#document.kmp .a_kmpillust {
  text-align: center;
}

#document.kmp .a_kmpillust > *:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  #document.kmp .a_kmpillust {
    margin: -40px 0 50px;
  }
}

@media screen and (max-width: 767px) {
  #document.kmp .a_kmpillust {
    margin: 0 28px 40px;
  }
}

@media screen and (max-width: 767px) {
  #document.kmp .a_kmpillust .illust {
    width: 100%;
    height: auto;
  }
}

/* research
--------------------------------------------------------------------------------------------------- */
#document.research .m_articleList {
  position: relative;
}

#document.research .m_articleList::before {
  margin-inline: calc(50% - var(--viewWidth)/2);
  height: 100%;
  background: #F3F4F5;
}

@media (min-width: 768px) {
  #document.research .m_articleList::before {
    width: calc(var(--viewWidth) - 40px);
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #document.research .m_articleList::before {
    position: absolute;
    right: 5px;
    bottom: 0;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

#document.research .m_articleList::after {
  margin-inline: calc(50% - var(--viewWidth)/2);
  background: #ffffff;
}

@media (min-width: 768px) {
  #document.research .m_articleList::after {
    width: calc(var(--viewWidth) - 40px);
    height: 80px;
    position: absolute;
    top: 0;
    right: 20px;
    left: 20px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #document.research .m_articleList::after {
    height: 70px;
    position: absolute;
    top: 0;
    right: 5px;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

/* column
--------------------------------------------------------------------------------------------------- */
#document.column .m_columnIndexList {
  position: relative;
}

#document.column .m_columnIndexList::before {
  margin-inline: calc(50% - var(--viewWidth)/2);
  height: 100%;
  background: #F3F4F5;
}

@media (min-width: 768px) {
  #document.column .m_columnIndexList::before {
    width: calc(var(--viewWidth) - 40px);
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #document.column .m_columnIndexList::before {
    position: absolute;
    right: 5px;
    bottom: 0;
    left: 5px;
    content: "";
    z-index: -1;
  }
}

#document.column .m_columnIndexList::after {
  margin-inline: calc(50% - var(--viewWidth)/2);
  background: #ffffff;
}

@media (min-width: 768px) {
  #document.column .m_columnIndexList::after {
    width: calc(var(--viewWidth) - 40px);
    height: 65px;
    position: absolute;
    top: 0;
    right: 20px;
    left: 20px;
    content: "";
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  #document.column .m_columnIndexList::after {
    height: 70px;
    position: absolute;
    top: 0;
    right: 5px;
    left: 5px;
    content: "";
    z-index: -1;
  }
}


/*-------------------------*/
/*  共通
/*-------------------------*/

.mt-0 { margin-top: 0px;}
.mt-5 { margin-top: 5px;}
.mt-10 { margin-top: 10px;}
.mt-15 { margin-top: 15px;}
.mt-20 { margin-top: 20px;}
.mt-25 { margin-top: 25px;}
.mt-30 { margin-top: 30px;}
.mt-35 { margin-top: 35px;}
.mt-40 { margin-top: 40px;}
.mt-45 { margin-top: 45px;}
.mt-50 { margin-top: 50px;}
.mt-55 { margin-top: 55px;}
.mt-60 { margin-top: 60px;}
.mt-65 { margin-top: 65px;}
.mt-70 { margin-top: 70px;}
.mt-75 { margin-top: 75px;}
.mt-80 { margin-top: 80px;}
.mb-0 { margin-bottom: 0px;}
.mb-5 { margin-bottom: 5px;}
.mb-10 { margin-bottom: 10px;}
.mb-15 { margin-bottom: 15px;}
.mb-20 { margin-bottom: 20px;}
.mb-25 { margin-bottom: 25px;}
.mb-30 { margin-bottom: 30px;}
.mb-35 { margin-bottom: 35px;}
.mb-40 { margin-bottom: 40px;}
.mb-45 { margin-bottom: 45px;}
.mb-50 { margin-bottom: 50px;}
.mb-55 { margin-bottom: 55px;}
.mb-60 { margin-bottom: 60px;}
.mb-65 { margin-bottom: 65px;}
.mb-70 { margin-bottom: 70px;}
.mb-75 { margin-bottom: 75px;}
.mb-80 { margin-bottom: 80px;}
.pt-0 { padding-top: 0px;}
.pt-5 { padding-top: 5px;}
.pt-10 { padding-top: 10px;}
.pt-15 { padding-top: 15px;}
.pt-20 { padding-top: 20px;}
.pt-25 { padding-top: 25px;}
.pt-30 { padding-top: 30px;}
.pt-35 { padding-top: 35px;}
.pt-40 { padding-top: 40px;}
.pt-45 { padding-top: 45px;}
.pt-50 { padding-top: 50px;}
.pt-55 { padding-top: 55px;}
.pt-60 { padding-top: 60px;}
.pt-65 { padding-top: 65px;}
.pt-70 { padding-top: 70px;}
.pt-75 { padding-top: 75px;}
.pt-80 { padding-top: 80px;}
.pb-0 { padding-bottom: 0px;}
.pb-5 { padding-bottom: 5px;}
.pb-10 { padding-bottom: 10px;}
.pb-15 { padding-bottom: 15px;}
.pb-20 { padding-bottom: 20px;}
.pb-25 { padding-bottom: 25px;}
.pb-30 { padding-bottom: 30px;}
.pb-35 { padding-bottom: 35px;}
.pb-40 { padding-bottom: 40px;}
.pb-45 { padding-bottom: 45px;}
.pb-50 { padding-bottom: 50px;}
.pb-55 { padding-bottom: 55px;}
.pb-60 { padding-bottom: 60px;}
.pb-65 { padding-bottom: 65px;}
.pb-70 { padding-bottom: 70px;}
.pb-75 { padding-bottom: 75px;}
.pb-80 { padding-bottom: 80px;}
@media screen and (max-width: 767px) {
  .mt-80 { margin-top: 40px;}
}

@media (min-width: 768px) {
  .sp-only{
    display: none;
  }
  .m_liquidImage{
    margin-block: 0;
  }
}
@media screen and (max-width: 767px) {
  .pc-only{
    display: none;
  }
}
.c-txt__s{
  font-size: .8rem;
}
.c-txt__bold{
  font-weight: 700;
}
.tc{
  text-align: center;
}
.image.full-width{
  width: 100%;
}
.image.full-width img{
  width: 100%;
}
.image .image_note{
  margin-top:.5em;
  font-size: 10px;
  text-align: left;
  line-height: 1.2em;
}
.image .image_note.tc{
  text-align: center !important;
}
@media screen and (max-width: 767px) {
  .image {
    text-align: center;
  }
  .image.on-scroll img{
    max-width: 290px;
  }
  .m_numberList.num_none li::before {
    content: none;
  }

  .effect02_list_wrap {
    margin: 15px auto 0;
    padding: .5em 0 0;
    border: 1px solid #aaa;
  }

  .effect02_list_ttl{
    width: 100%;
    font-size: 10px;
    line-height: 1em;
    text-align: center;
  }

  .effect02_list {
    display: flex;
    gap: 10px;
    justify-content:center;
    flex-flow: wrap;
    align-items: center;
  }

  .effect02_item {
    position: relative;
    padding-left: 1em;
  }

  .effect02_item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0.6em;
    height: 0.6em;
    background-color: transparent;
  }

  .effect02_item.color1::before {
    background-color:#e6f3f1;
  }

  .effect02_item.color2::before {
    background-color: #cce8e1;
  }

  .effect02_item.color3::before {
    background-color: #addbd2;
  }

  .effect02_item.color4::before {
    background-color: #8bcec2;
  }

  .effect02_item.color5::before {
    background-color: #62c1b2;
  }

  .image_note span {
    position: relative;
    display: inline-flex;
    align-items: center;
    line-height: 1.4;
  }

  .image_note .label-placebo::before,
  .image_note .label-kenferol::before {
    content: '';
    width: 13px;
    height: 13px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    margin-right: 6px;
    flex-shrink: 0;
  }

  .image_note .label-placebo::before {
    background-image: url('../png/ico_01.png');
  }

  .image_note .label-kenferol::before {
    background-image: url('../png/ico_02.png');
  }

  .m_box.s_bg_column .m_notesList li {
    text-align: left;
  }

}

.RPE_wrap{
  text-align: left;
}
.RPE_wrap_ttl {
  font-size: 1.4em;
  color: #164362;
  font-weight: bold;
}
.RPE_wrap_note {
  font-size: 0.75rem;
  line-height: 1.4em;
}
.RPE_wrap .image {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .RPE_wrap .image {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .RPE_wrap{
    text-align: left;
    margin: 20px 0;
  }
}

.subcontents{
  background: #e6f3f1;
  padding: 20px 25px;
  margin-top: 20px;
  font-size: 14px;
  border-radius: 5px;
}
.subcontents .subcontents_ttl{
  color: #164362;
  font-size: 1.2em;
  font-weight: bold;
}
.subcontents + .subcontents{
  margin: 40px auto;
}
@media screen and (max-width: 767px) {
  .subcontents + .subcontents{
    margin: 20px auto;
  }
}

/*-------------------------*/
/*  グロナビ
/*-------------------------*/

#gfooter .content .secondary li.mt-20{
  margin-top: 20px;
}
#gfooter .content .secondary li.mt-25{
  margin-top: 25px;
}
#gfooter .content .secondary li span.c-txt__bold{
  color: #fff;
}

/*-------------------------*/
/*  TOP - 酸素を効率的に利用するために
/*-------------------------*/

.m_approachList{
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 20px;
}
.m_approachList li{
  width: calc((100% - 60px) / 3);
  background: #fff;
  box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
}
.m_approachList .is_current{
  pointer-events: none;
}
.m_approachList .is_current .title,.m_approachList .is_current .text{
  color: #DEE1E3 !important;
}
.m_approachList .is_current .image{
  opacity: .2;
}
.m_approachList li .body{
  padding: 20px 25px;
}
.m_approachList li .body .title{
  margin-bottom: 10px;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 700;
  color: #1A2229;
  transition: color .3s ease;
}
.m_approachList li .body .text {
  font-size: 0.875rem;
  line-height: 1.5;
  color: #1A2229;
}
.m_approachList li .image {
  overflow: hidden;
  width: 235px;
  height: 132px;
  position: relative;
  background: rgba(26, 34, 41);
}

.m_approachList li .image img {
  width: 235px;
  height: 132px;
  opacity: 1;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.m_approachList li a:hover .image img {
  transform: scale(1.1);
  opacity: .7;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.m_approachList li a:hover .body .title {
  color: #5FB76F;
  transition: color .3s ease;
}
@media screen and (max-width: 767px) {
  .m_approachList{
    flex-flow: wrap;
    gap: 10px;
  }
  .m_approachList li{
    width: calc((100% - 20px) / 3);
  }
  .m_approachList li a{
    display: inline-block;
  }
  .m_approachList li .body{
    padding: 10px 10px 0;
  }
  .m_approachList li .body .title{
    margin-bottom: 5px;
    font-size: .9rem;
    line-height: 1.2;
  }
  .m_approachList li .body .text {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .m_approachList li .image {
    width: 100%;
    height: auto;
  }
  .m_approachList li .image img {
    width: 100%;
    height: auto;
  }

  .m_approachList .list-kaempferol{
    width: 100%;
    display: flex;
    margin-top: 10px;
  }
  .m_approachList .list-kaempferol a{
    display: flex;
  }
  .m_approachList .list-kaempferol .image {
    width: 40%;
    background: none; /* 元の画像を削除 */
    position: relative;
    overflow: hidden;
}

.m_approachList .list-kaempferol .image::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url(../jpg/common_approach_article_03_%402x.jpg) no-repeat center;
    background-size: cover;
    transform: scale(1);
    opacity: 1;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.m_approachList .list-kaempferol a:hover .image::before {
    transform: scale(1.1);
    opacity: 0.7; /* ホバー時に黒背景になる */
}

.m_approachList .list-kaempferol a:hover .image {
    background: rgba(0, 0, 0, 0.7); /* 黒背景 */
}
  .m_approachList .list-kaempferol .body{
    width: 60%;
    padding: 15px 10px 0;
  }
}

/*-------------------------*/
/*  ボタン
/*-------------------------*/

.c-btn{
  padding:35px 0 0;
  text-align: center;
  position: relative;
}
.c-btn::before {
  height: 100%;
  background: #F3F4F5;
  position: absolute;
  right: 20px;
  bottom: 0;
  left: 20px;
  content: "";
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .c-btn::before {
    position: absolute;
    right: 5px;
    bottom: 0;
    left: 5px;
    content: "";
    z-index: -1;
    margin-inline: calc(50% - var(--viewWidth) / 2);
  }
}


.c-btn a{
  display: inline-block;
  background: #5FB76F;
  color: #fff;
  padding: .5em 3em ;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.6em;
  border-radius: 50px;
  position: relative;
  transition: .5s;
  text-decoration: none;
  text-align: center;
}
.c-btn a::after{
  position: absolute;
  top: 50%;
  right: 25px;
  color: #fff;
  transform: translateY(-50%) scale(0.9);
  display: inline-block;
  font-family: "icon";
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\E002";
  font-size: 12px;
  line-height: 12px;
  vertical-align: middle;
  transition: right .3s ease;
}

.c-btn a:hover{
  background: #fff;
  color: #5FB76F;
  box-shadow: 0 6px 20px rgba(26, 34, 41, 0.07);
}
.c-btn a:hover::after{
  color: #5FB76F;
  right: 20px;
  transition: right .3s ease;
}

.m_box.s_bg_column .m_numberList,.m_box.s_bg_column .m_notesList {
  margin-top: 0;
}

.m_box.s_bg_column.full-width{
  width: 100%;
}

/*-------------------------*/
/*  アコーディオン
/*-------------------------*/

@media screen and (max-width: 767px) {
  .accordion__title {
    position: relative;
    margin: 25px auto !important;
  }
  .accordion__title::after {
    content:"";
    display:block;
    width: .5em;
    height: .5em;
    border-top: solid 2px #5FB76F;
    border-right: solid 2px #5FB76F;
    transform: rotate(135deg);
    transition:.3s;
    position: absolute;
    margin: auto;
    top: 10px;
    right: 10px;
  }
  .accordion__title.is-active::after{
    transform:rotate(315deg);
    top:12px;
    right:10px;
    transition:.3s
  }
  .accordion__content{
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out;
  }
  .accordion__content.is-open{
    display: block;
    overflow: visible;
    position: relative;
    padding-bottom: 40px;
    margin-bottom: 35px;
  }
  .accordion__content.is-open::before{
    margin-inline: calc(50% - var(--viewWidth) / 2);
    position: absolute;
    height:60px;
    background: #F3F4F5;;
    right: 5px;
    bottom: 0;
    left: 5px;
    content: "";
    z-index: -1;
  }
  .bg-grey.height-double .accordion__title{
    margin-top: 15px !important;
  }
  .m_panelList.height-double::before{
    height: 160px !important;
    z-index: 0 !important;
  }
}


/*-------------------------*/
/*  コラム
/*-------------------------*/

.column__list{
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-flow: wrap;
}
.column__list li{
  width: calc((100% - 34px) / 2);
  border: 1px solid #ABB7C1;
}
@media screen and (max-width: 767px) {
  .column__list li{
    width: 100%;
  }
}
.column__list li .column__list__ttl{
  background: #5FB76F;
  color: #fff;
  text-align: center;
  padding: 3px 0;
  font-weight: bold;
}
.column__list li .column__list__txt {
  padding: 15px 20px;
}

.column__list .indent__list li{
  text-indent: -1em;
  padding-left: 1em;
  border: none;
  width: 100%;
  font-size: .9rem;
  line-height: 1.6em;
}
@media screen and (max-width: 767px) {
  .column__list .indent__list li{
    width: 95%;
  }
}
