@charset "UTF-8";
/*------------------------------------------------------------
    Reset
------------------------------------------------------------*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
nav,
section,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display: block;
}
html {
  font-size: 62.5%;
}
body,
table,
input,
textarea,
select,
option,
h1,
h2,
h3,
h4,
h5,
h6 {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
input,
textarea {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}
table,
input,
textarea,
select,
option {
  line-height: 1.1;
}
select {
  cursor: pointer;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
input,
textarea {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
:focus {
  outline: 0;
}
ins {
  text-decoration: none;
}
del {
  text-decoration: line-through;
}
img {
  vertical-align: top;
}
a,
a img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
a {
  color: inherit;
  text-decoration: none;
}
@media only screen and (min-width: 1023px) {
  a:hover, a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
  }
}
button {
  cursor: pointer;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  border: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media only screen and (min-width: 1023px) {
  button:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
  }
}
img {
  max-width: 100%;
}
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Layout .l-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    Navigation
------------------------------------------------------------*/
.c-nav1__list {
  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;
}
.c-nav1__item + .c-nav1__item {
  margin-left: 43px;
}
.c-nav1__link {
  display: inline-block;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
}
.c-nav2__list {
  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-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-nav2__item + .c-nav2__item {
  margin-top: 42px;
}
.c-nav2__link {
  display: inline-block;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
}
/*------------------------------------------------------------
    Header
------------------------------------------------------------*/
.c-header {
  position: relative;
}
.c-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 120px;
  z-index: 12;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 1023px) {
  .c-header__inner {
    min-height: 96px;
  }
}
@media only screen and (max-width: 767px) {
  .c-header__inner {
    min-height: 60px;
  }
}
.c-header__inner.is-hide {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}
@media only screen and (max-width: 1279px) {
  .c-header__inner.is-hide {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.c-header__logowrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 40px 40px 0;
}
@media only screen and (max-width: 1279px) {
  .c-header__logowrap {
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
}
@media only screen and (max-width: 1023px) {
  .c-header__logowrap {
    padding: 36px 36px 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-header__logowrap {
    padding: 20px 20px 0;
  }
}
.c-header__logo img {
  display: block;
  width: 400px;
}
@media only screen and (max-width: 1023px) {
  .c-header__logo img {
    width: 280px;
  }
}
@media only screen and (max-width: 767px) {
  .c-header__logo img {
    width: 200px;
  }
}
.c-header__nav {
  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;
  width: 100%;
  max-width: 960px;
  min-height: 120px;
  padding: 30px 49px 30px 50px;
  background-color: #003383;
  border-bottom-left-radius: 30px;
}
@media only screen and (max-width: 1279px) {
  .c-header__nav {
    display: none;
  }
}
@media only screen and (max-width: 1023px) {
  .c-header__nav {
    min-height: 96px;
  }
}
@media only screen and (max-width: 767px) {
  .c-header__nav {
    min-height: 60px;
  }
}
.c-header__nav .c-nav1 {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
.c-header__social {
  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;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-left: 52px;
}
@media only screen and (max-width: 1279px) {
  .c-header__social {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 56px;
    margin-left: 0;
  }
}
.c-header__socialicon .icon {
  display: block;
  color: #fff;
}
.c-header__socialicon .icon.icon-instagram {
  font-size: 3rem;
}
.c-header__menubtn {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  width: 120px;
  height: 120px;
  z-index: 15;
}
@media only screen and (max-width: 1279px) {
  .c-header__menubtn {
    display: block;
  }
}
@media only screen and (max-width: 1023px) {
  .c-header__menubtn {
    width: 96px;
    height: 96px;
  }
}
@media only screen and (max-width: 767px) {
  .c-header__menubtn {
    width: 60px;
    height: 60px;
  }
}
.c-header__menuouter {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #003383;
  opacity: 0;
  visibility: visible;
  pointer-events: none;
  z-index: 13;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 1279px) {
  .c-header__menuouter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.c-header__menuouter.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: unset;
}
.c-header__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
}
.c-header__menuinner {
  width: 100%;
  max-height: 100vh;
  padding: 120px 40px;
  overflow-x: hidden;
  overflow-y: auto;
}
/*------------------------------------------------------------
    Footer
------------------------------------------------------------*/
.c-footer__top {
  position: relative;
  padding: 119px 0 118px;
}
@media only screen and (max-width: 767px) {
  .c-footer__top {
    padding: 60px 0 59px;
  }
}
.c-footer__main {
  margin-top: 33px;
}
@media only screen and (max-width: 767px) {
  .c-footer__main {
    margin-top: 11px;
  }
}
.c-footer__listcompany {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.c-footer__company {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-footer__company--futuredesign img {
  width: 500px;
}
@media only screen and (max-width: 767px) {
  .c-footer__company--futuredesign img {
    width: 334px;
  }
}
.c-footer__listcontact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 49px;
}
@media only screen and (max-width: 767px) {
  .c-footer__listcontact {
    margin-top: 8px;
  }
}
.c-footer__contact {
  display: inline-block;
  color: #5a8796;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.538;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-footer__contact {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
.c-footer__bottom {
  position: relative;
  padding: 103px 0 92px;
}
@media only screen and (max-width: 767px) {
  .c-footer__bottom {
    padding: 67px 0 59px;
  }
}
.c-footer__copyright {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.625;
  text-align: center;
}
/*------------------------------------------------------------
    Layout
------------------------------------------------------------*/
body {
  position: relative;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  word-break: break-word;
  scroll-behavior: smooth;
}
@media only screen and (max-width: 767px) {
  body {
    min-width: 320px;
  }
}
/*------------------------------------------------------------
    Container
------------------------------------------------------------*/
.l-container {
  width: 100%;
  max-width: 1800px;
  margin: 0 auto;
  padding: 0 80px;
}
@media only screen and (max-width: 1023px) {
  .l-container {
    padding: 0 60px;
  }
}
@media only screen and (max-width: 767px) {
  .l-container {
    padding: 0 40px;
  }
}
.l-content--w880 {
  width: 100%;
  max-width: 880px;
  margin-left: auto;
  padding-left: 40px;
}
@media only screen and (max-width: 1023px) {
  .l-content--w880 {
    max-width: unset;
    padding-left: 0;
  }
}
.l-content--w806 {
  width: 100%;
  max-width: 806px;
  margin-left: auto;
  padding-left: 40px;
}
@media only screen and (max-width: 1023px) {
  .l-content--w806 {
    max-width: unset;
    padding-left: 0;
  }
}
.l-content--w640 {
  width: 100%;
  max-width: 640px;
  margin-right: auto;
  padding-right: 40px;
}
@media only screen and (max-width: 1023px) {
  .l-content--w640 {
    max-width: unset;
    padding-right: 0;
  }
}
.l-content--w380 {
  width: 100%;
  max-width: 380px;
  margin-left: auto;
  padding-right: 40px;
}
@media only screen and (max-width: 1023px) {
  .l-content--w380 {
    max-width: unset;
    padding-right: 0;
  }
}
/*------------------------------------------------------------
    Mainvisual
------------------------------------------------------------*/
.c-mv {
  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;
  width: 100%;
  height: 100vh;
  padding-top: 120px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .c-mv {
    padding-top: 96px;
    padding-bottom: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv {
    padding-top: 60px;
  }
}
.c-mv__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: min(168px, 0.1755485893 * (100vh - 120px));
  margin-bottom: clamp(40px, 0.0846394984 * (100vh - 120px), 81px);
  padding: 0 140px;
}
@media only screen and (max-width: 1279px) {
  .c-mv__content {
    padding: 0 120px;
  }
}
@media only screen and (max-width: 1023px) {
  .c-mv__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 54px;
    margin-bottom: 45px;
    padding: 0 60px;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__content {
    margin-bottom: 30px;
    padding: 0 40px;
  }
}
@media only screen and (max-width: 1023px) {
  .c-mv__contentleft {
    width: 100%;
  }
}
.c-mv__title {
  color: #1a464c;
  font-size: clamp(4.3rem, 3.125vw, 6rem);
  font-weight: 700;
  line-height: 1.67;
}
@media only screen and (max-width: 1279px) {
  .c-mv__title {
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 1023px) {
  .c-mv__title {
    font-size: 4.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__title {
    font-size: 3rem;
  }
}
.c-mv__group {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .c-mv__group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__group {
    margin-top: 25px;
  }
}
@media only screen and (max-width: 1023px) {
  .c-mv__groupleft {
    padding-right: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__groupleft {
    padding-right: 20px;
  }
}
.c-mv__groupright {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .c-mv__groupright {
    margin-top: 2px;
  }
}
.c-mv__groupright img {
  width: 220px;
}
@media only screen and (max-width: 767px) {
  .c-mv__groupright img {
    width: 120px;
  }
}
.c-mv__subtitle {
  margin-top: 32px;
  color: #1a464c;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
}
@media only screen and (max-width: 1023px) {
  .c-mv__subtitle {
    margin-top: 0;
    line-height: 1.833;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__subtitle {
    font-size: 1.2rem;
  }
}
.c-mv__contentright {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
  padding-left: 40px;
}
.c-mv__bg {
  position: relative;
  width: calc(100% - 160px);
  height: 100%;
  margin: 0 80px -253px;
}
@media only screen and (max-width: 1023px) {
  .c-mv__bg {
    width: calc(100% - 60px);
    margin: 0 0 0 60px;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__bg {
    width: calc(100% - 40px);
    margin: 0 0 0 40px;
  }
}
.c-mv__bg img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
@media only screen and (max-width: 1023px) {
  .c-mv__bg img {
    border-radius: 30px 0 0 30px;
  }
}
/*------------------------------------------------------------
    Breadcrumb
------------------------------------------------------------*/
.c-breadcrumb {
  position: relative;
  color: #1a464c;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  text-align: right;
  word-break: break-all;
}
@media only screen and (max-width: 767px) {
  .c-breadcrumb {
    font-size: 1.4rem;
    line-height: 1.571;
  }
}
.c-breadcrumb li {
  display: contents;
  position: relative;
}
.c-breadcrumb li + li::before {
  content: "/";
  display: inline-block;
  margin-right: 4px;
}
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Component .c-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    Button
------------------------------------------------------------*/
.c-btn1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  min-width: 400px;
  min-height: 105px;
  padding: 12px 40px 11px;
  background-color: #5a8796;
  border-radius: 53px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.538;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-btn1 {
    min-width: 200px;
    min-height: 40px;
    padding: 7px 26px;
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
/*------------------------------------------------------------
    Content
------------------------------------------------------------*/
.c-content {
  color: #1a464c;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
}
@media only screen and (max-width: 767px) {
  .c-content {
    font-size: 1.4rem;
    line-height: 1.571;
  }
}
.c-content p + p {
  margin-top: 23px;
}
@media only screen and (max-width: 767px) {
  .c-content p + p {
    margin-top: 21px;
  }
}
.c-content p:has(img) {
  margin-bottom: 23px;
}
@media only screen and (max-width: 767px) {
  .c-content p:has(img) {
    margin-bottom: 21px;
  }
}
.c-content a {
  color: #5a8796;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.c-content a:has(img) {
  text-decoration: none;
}
.c-content .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.c-content .alignleft {
  display: block;
  margin-right: auto;
}
.c-content .alignright {
  display: block;
  margin-left: auto;
}
.c-content img,
.c-content iframe {
  max-width: 100%;
}
/*------------------------------------------------------------
    Filter
------------------------------------------------------------*/
.c-filter1 + .c-filter1 {
  margin-top: 36px;
}
@media only screen and (max-width: 767px) {
  .c-filter1 + .c-filter1 {
    margin-top: 24px;
  }
}
.c-filter1__title {
  color: #1a464c;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .c-filter1__title {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
.c-filter1__list {
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .c-filter1__list {
    margin-top: 8px;
  }
}
/*------------------------------------------------------------
    Floatnews
------------------------------------------------------------*/
.c-floatnews {
  position: relative;
  margin-bottom: -129px;
  padding-top: 153px;
  background-color: #003383;
}
@media only screen and (max-width: 1023px) {
  .c-floatnews {
    margin-bottom: 0;
    padding: 46px 0 146px;
    background-color: transparent;
  }
}
@media only screen and (max-width: 767px) {
  .c-floatnews {
    padding: 24px 0 60px;
  }
}
.c-floatnews__wrap {
  width: 57.3170731707%;
  margin-left: auto;
  padding-left: 40px;
  padding-right: clamp(40px, 6.6666666667vw, 100px);
}
@media only screen and (max-width: 1279px) {
  .c-floatnews__wrap {
    padding-right: 40px;
  }
}
@media only screen and (max-width: 1023px) {
  .c-floatnews__wrap {
    width: 100%;
    margin-right: auto;
    padding: 0;
  }
}
.c-floatnews__box {
  display: block;
  position: relative;
  max-width: 600px;
  margin-left: auto;
  padding: 49px 45px 71px;
  background-color: #fff;
  border-radius: 30px;
  z-index: 2;
}
@media only screen and (max-width: 1023px) {
  .c-floatnews__box {
    max-width: 100%;
    margin-right: auto;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
  }
}
.c-floatnews__content {
  width: 100%;
  max-width: 450px;
  margin: 30px auto 0;
}
@media only screen and (max-width: 1023px) {
  .c-floatnews__content {
    max-width: unset;
  }
}
@media only screen and (max-width: 767px) {
  .c-floatnews__content {
    margin: 28px 0 0;
  }
}
.c-floatnews__content .c-text1.is-nopost {
  text-align: center;
}
.c-floatnews__btn {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .c-floatnews__btn {
    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-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 45px;
  }
}
@media only screen and (max-width: 767px) {
  .c-floatnews__btn {
    margin-top: 29px;
  }
}
/*------------------------------------------------------------
    Flow
------------------------------------------------------------*/
.c-flow1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -20px;
}
@media only screen and (max-width: 1279px) {
  .c-flow1 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
  }
}
.c-flow1__item {
  position: relative;
  width: calc(25% - 40px);
  margin: 0 20px;
}
@media only screen and (max-width: 1279px) {
  .c-flow1__item {
    width: 100%;
    margin: 0;
  }
}
.c-flow1__item::before {
  content: "\e900";
  display: inline-block;
  position: absolute;
  top: 45%;
  left: -29px;
  -webkit-transform: translate(0, calc(-50% + 2px));
  transform: translate(0, calc(-50% + 2px));
  color: #5a8796;
  font-family: "icomoon";
  font-size: 3.527rem;
  font-weight: 400;
  line-height: 1;
}
@media only screen and (max-width: 1279px) {
  .c-flow1__item::before {
    top: -40px;
    left: 50%;
    -webkit-transform: translate(-50%, 0) rotate(90deg);
    transform: translate(-50%, 0) rotate(90deg);
  }
}
.c-flow1__item:first-child::before {
  content: none;
}
@media only screen and (max-width: 1279px) {
  .c-flow1__item + .c-flow1__item {
    margin-top: 52px;
  }
}
.c-flow1__box {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 49px 20px;
  background-color: #fff;
}
@media only screen and (max-width: 1279px) {
  .c-flow1__box {
    padding: 49px 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow1__box {
    padding: 21px 17px;
  }
}
.c-flow1__title {
  color: #1a464c;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-flow1__title {
    font-size: 1.8rem;
    line-height: 1.44;
  }
}
.c-flow1__content {
  width: 100%;
  max-width: 300px;
  margin: 16px auto 0;
}
@media only screen and (max-width: 1279px) {
  .c-flow1__content {
    max-width: unset;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow1__content {
    margin-top: 13px;
  }
}
.c-flow1__text {
  margin: 17px 0 -1px;
}
@media only screen and (max-width: 767px) {
  .c-flow1__text {
    margin: 11px 0 -2px;
  }
}
/*------------------------------------------------------------
    Grid
------------------------------------------------------------*/
.c-grid1 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
@media only screen and (max-width: 1023px) {
  .c-grid1 {
    gap: 28px;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid1 {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 16px;
  }
}
/*------------------------------------------------------------
    Heading
------------------------------------------------------------*/
.c-heading1__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 100%;
  min-height: 300px;
  padding: 71px 0 54px;
  background-color: #003383;
}
@media only screen and (max-width: 767px) {
  .c-heading1__box {
    min-height: 200px;
    padding: 21px 0 23px;
  }
}
.c-heading1__en {
  display: block;
  color: #fff;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-heading1__en {
    font-size: 2rem;
    line-height: 2;
  }
}
.c-heading1__ja {
  display: block;
  margin-top: -3px;
  color: #fff;
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 2.22;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-heading1__ja {
    margin-top: 5px;
    font-size: 2.5rem;
    line-height: 1.6;
  }
}
.c-heading1__breadcrumb {
  padding: 27px 0;
}
@media only screen and (max-width: 767px) {
  .c-heading1__breadcrumb {
    padding: 15px 0;
  }
}
/*------------------------------------------------------------
    List
------------------------------------------------------------*/
.c-list1 {
  color: #1a464c;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .c-list1 {
    font-size: 1.4rem;
    line-height: 1.571;
  }
}
.c-list1 li {
  position: relative;
  padding-left: 22px;
}
.c-list1 li::before {
  content: "";
  position: absolute;
  top: 11px;
  left: 1px;
  width: 16px;
  height: 16px;
  background-color: #c3d5d8;
  border-radius: 50%;
}
@media only screen and (max-width: 767px) {
  .c-list1 li::before {
    top: 4px;
    left: 0;
    width: 13px;
    height: 13px;
  }
}
.c-list1 li a {
  display: inline-block;
}
.c-list1--style1 {
  font-weight: 500;
  line-height: 1.78;
}
@media only screen and (max-width: 767px) {
  .c-list1--style1 {
    line-height: 1.571;
  }
}
.c-list1--style1 li {
  padding-left: 26px;
}
@media only screen and (max-width: 767px) {
  .c-list1--style1 li {
    padding-left: 20px;
  }
}
.c-list1--style1 li::before {
  top: 9px;
  background-color: #5a8796;
}
@media only screen and (max-width: 767px) {
  .c-list1--style1 li::before {
    top: 4px;
  }
}
/*------------------------------------------------------------
    Listpost
------------------------------------------------------------*/
.c-listpost__item {
  position: relative;
  width: 100%;
  padding: 30px 0;
  border-bottom: 1px solid #1a464c;
}
@media only screen and (max-width: 767px) {
  .c-listpost__item {
    padding: 18px 0 13px;
  }
}
.c-listpost__item:first-child {
  border-top: 1px solid #1a464c;
}
.c-listpost__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-listpost__basis {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.c-listpost__date {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: 2px 0;
  color: #1a464c;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.625;
}
@media only screen and (max-width: 767px) {
  .c-listpost__date {
    padding: 1px 0;
    font-size: 1.4rem;
    line-height: 1.714;
  }
}
.c-listpost__catlist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 100%;
  margin: 0 -6px -4px 18px;
}
@media only screen and (max-width: 767px) {
  .c-listpost__catlist {
    margin: 0 -4px -2px 21px;
  }
}
.c-listpost__catitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  margin: 0 6px 4px 0;
}
@media only screen and (max-width: 767px) {
  .c-listpost__catitem {
    margin: 0 4px 2px 0;
  }
}
.c-listpost__catitem .c-tag1 {
  max-width: 100px;
}
@media only screen and (max-width: 767px) {
  .c-listpost__catitem .c-tag1 {
    max-width: 80px;
  }
}
.c-listpost__title {
  margin-left: 15px;
  color: #1a464c;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.667;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-listpost__title {
    margin-left: 17px;
    font-size: 1.4rem;
    line-height: 1.857;
  }
}
/*------------------------------------------------------------
    Menu
------------------------------------------------------------*/
.c-menu {
  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-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 120px;
  height: 120px;
  padding: 24px;
  background-color: #003383;
  border-radius: 0 0 0 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .c-menu {
    width: 96px;
    height: 96px;
    padding: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .c-menu {
    width: 60px;
    height: 60px;
    padding: 8px;
  }
}
.c-menu.is-open {
  background-color: transparent;
  border-radius: 0;
}
.c-menu.is-open span:nth-child(1) {
  -webkit-transform: translate(0, 0.75rem) rotate(45deg);
  transform: translate(0, 0.75rem) rotate(45deg);
}
@media only screen and (max-width: 1023px) {
  .c-menu.is-open span:nth-child(1) {
    -webkit-transform: translate(0, 0.55rem) rotate(45deg);
    transform: translate(0, 0.55rem) rotate(45deg);
  }
}
.c-menu.is-open span:nth-child(2) {
  -webkit-transform: translate(0, -0.75rem) rotate(-45deg);
  transform: translate(0, -0.75rem) rotate(-45deg);
}
@media only screen and (max-width: 1023px) {
  .c-menu.is-open span:nth-child(2) {
    -webkit-transform: translate(0, -0.55rem) rotate(-45deg);
    transform: translate(0, -0.55rem) rotate(-45deg);
  }
}
.c-menu__inner {
  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-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 40px;
  height: 16px;
}
@media only screen and (max-width: 1023px) {
  .c-menu__inner {
    width: 30px;
    height: 12px;
  }
}
.c-menu__inner span {
  display: block;
  width: 40px;
  height: 1px;
  background-color: #fff;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 1023px) {
  .c-menu__inner span {
    width: 30px;
  }
}
/*------------------------------------------------------------
    Pagination
------------------------------------------------------------*/
.c-pagi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #1a464c;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-pagi {
    font-size: 1.9rem;
    line-height: 1.579;
  }
}
.c-pagi li {
  margin: 0 2.55rem;
}
@media only screen and (max-width: 767px) {
  .c-pagi li {
    margin: 0 17px;
  }
}
.c-pagi li a,
.c-pagi li span {
  position: relative;
  display: inline-block;
}
.c-pagi li a::after {
  content: "";
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #1a464c;
  opacity: 1;
  z-index: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 767px) {
  .c-pagi li a::after {
    bottom: 3px;
  }
}
@media only screen and (min-width: 1023px) {
  .c-pagi li a:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    color: #5a8796;
  }
  .c-pagi li a:hover::after {
    opacity: 0;
  }
}
.c-pagi li span.current {
  pointer-events: none;
  color: #5a8796;
}
/*------------------------------------------------------------
    Part
------------------------------------------------------------*/
.c-part1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 -10px;
}
@media only screen and (max-width: 767px) {
  .c-part1 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -6px;
  }
}
.c-part1__item {
  width: calc(33.3333333333% - 20px);
  max-width: 250px;
  margin: 0 10px;
}
@media only screen and (max-width: 767px) {
  .c-part1__item {
    width: calc(50% - 12px);
    max-width: 161px;
    margin: 0 6px;
  }
}
.c-part1__box {
  display: block;
  position: relative;
  width: 100%;
  max-width: 250px;
  background-color: #5a8796;
  border-radius: 50%;
}
@media only screen and (max-width: 767px) {
  .c-part1__box {
    max-width: 161px;
  }
}
.c-part1__box::before {
  content: "";
  display: block;
  position: relative;
  padding-top: 100%;
}
.c-part1__content {
  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-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 40px 24px;
}
@media only screen and (max-width: 767px) {
  .c-part1__content {
    padding: 14px 8px;
  }
}
.c-part1__ja {
  margin-top: 2px;
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-part1__ja {
    margin-top: 0;
    font-size: 1.9rem;
    line-height: 1.579;
  }
}
.c-part1__en {
  margin-top: 10px;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-part1__en {
    margin-top: 6px;
    font-size: 1.1rem;
    line-height: 1.45;
  }
}
/*------------------------------------------------------------
    Phone
------------------------------------------------------------*/
.c-phone1 {
  position: relative;
  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-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: min(800px, 100%);
  min-height: 217px;
  padding: 29px 40px 33px;
  background-color: #fff;
  border: 1px solid #1a464c;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-phone1 {
    width: 100%;
    min-height: 124px;
    padding: 14px 22px 16px;
  }
}
@media only screen and (max-width: 374px) {
  .c-phone1 {
    min-height: 106px;
    padding: 14px 16px 16px;
  }
}
.c-phone1__tel {
  /* margin-top: 8px; */
  color: #1a464c;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1.333;
  text-align: center;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .c-phone1__tel {
    /* margin-top: -15px; */
    font-size: 3rem;
    line-height: 2;
  }
}
@media only screen and (max-width: 374px) {
  .c-phone1__tel {
    /* margin-top: -10px; */
    font-size: 2.5rem;
  }
}
.c-phone1__time {
  margin-top: 8px;
  color: #1a464c;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-phone1__time {
    margin-top: 0;
    font-size: 1.2rem;
    line-height: 1.833;
  }
}
/*------------------------------------------------------------
    Relate
------------------------------------------------------------*/
.c-relate {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.c-relate__item {
  margin: 0 16px;
}
.c-relate__item.is-hide {
  opacity: 0;
  pointer-events: none;
}
.c-relate__btn {
  display: inline-block;
}
/*------------------------------------------------------------
    Single
------------------------------------------------------------*/
.c-single1__heading {
  padding-bottom: 19px;
}
@media only screen and (max-width: 767px) {
  .c-single1__heading {
    padding-bottom: 13px;
  }
}
.c-single1__basis {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.c-single1__date {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: #1a464c;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.625;
}
@media only screen and (max-width: 767px) {
  .c-single1__date {
    padding: 3px 0;
    font-size: 1.4rem;
    line-height: 1.714;
  }
}
.c-single1__catlist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: calc(100% - 83px);
  margin: 0 -6px -4px 16px;
}
@media only screen and (max-width: 767px) {
  .c-single1__catlist {
    margin: 0 -4px -2px 16px;
  }
}
.c-single1__catitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  margin: 0 6px 4px 0;
}
@media only screen and (max-width: 767px) {
  .c-single1__catitem {
    margin: 0 4px 2px 0;
  }
}
.c-single1__title {
  margin-top: 19px;
  color: #1a464c;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .c-single1__title {
    margin-top: 13px;
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
.c-single1__content {
  position: relative;
  width: 100%;
  min-height: 360px;
  padding: 22px 0;
  border-top: 1px solid #1a464c;
  border-bottom: 1px solid #1a464c;
}
@media only screen and (max-width: 767px) {
  .c-single1__content {
    min-height: 360px;
  }
}
.c-single1__content.u-sample {
  min-height: 767px;
}
@media only screen and (max-width: 767px) {
  .c-single1__content.u-sample {
    min-height: 450px;
  }
}
.c-single1__footer {
  position: relative;
  padding-top: 62px;
}
@media only screen and (max-width: 767px) {
  .c-single1__footer {
    padding-top: 36px;
  }
}
/*------------------------------------------------------------
    Table
------------------------------------------------------------*/
.c-table1 {
  width: 100%;
  border-collapse: collapse;
}
.c-table1__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  vertical-align: top;
  padding: 11px 0 12px;
  border-bottom: 1px solid #ddd;
}
@media only screen and (max-width: 767px) {
  .c-table1__row {
    padding: 13px 0;
  }
}
.c-table1__row:first-child {
  border-top: 1px solid #ddd;
}
.c-table1__field,
.c-table1__content {
  color: #1a464c;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.625;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .c-table1__field,
.c-table1__content {
    font-size: 1.4rem;
    line-height: 1.714;
  }
}
.c-table1__field {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 119px;
  padding: 0 20px 0 10px;
}
@media only screen and (max-width: 767px) {
  .c-table1__field {
    width: 69px;
    padding: 0 14px 0 0;
  }
}
.c-table1__content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 119px);
}
@media only screen and (max-width: 767px) {
  .c-table1__content {
    width: calc(100% - 69px);
  }
}
.c-table2 {
  width: 100%;
  border-collapse: collapse;
}
.c-table2__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  vertical-align: top;
  padding: 30px 0 24px;
  border-bottom: 1px solid #ddd;
}
@media only screen and (max-width: 767px) {
  .c-table2__row {
    padding: 11px 0 10px;
  }
}
.c-table2__row:first-child {
  border-top: 1px solid #ddd;
}
.c-table2__row.is-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-table2__field,
.c-table2__content {
  color: #1a464c;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .c-table2__field,
.c-table2__content {
    font-size: 1.2rem;
    line-height: 1.833;
  }
}
.c-table2__field {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 26%;
  padding-right: 20px;
}
@media only screen and (max-width: 1023px) {
  .c-table2__field {
    width: 19.7530864198%;
  }
}
@media only screen and (max-width: 767px) {
  .c-table2__field {
    width: 78px;
    padding-right: 14px;
  }
}
.c-table2__content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 74%;
}
@media only screen and (max-width: 1023px) {
  .c-table2__content {
    width: 80.2469135802%;
  }
}
@media only screen and (max-width: 767px) {
  .c-table2__content {
    width: calc(100% - 78px);
  }
}
/*------------------------------------------------------------
    Tag
------------------------------------------------------------*/
.c-tag1 {
  display: inline-block;
  max-width: 100%;
  padding: 7px 19px 5px;
  background-color: transparent;
  border: 1px solid #1a464c;
  color: #1a464c;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.333;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-tag1 {
    padding: 5px 14px 3px;
    font-size: 1rem;
    line-height: 1.4;
  }
}
.c-tag1--big {
  padding: 5px 20px 5px 19px;
  font-size: 1.4rem;
  line-height: 1.286;
}
@media only screen and (max-width: 767px) {
  .c-tag1--big {
    padding: 7px 19px 5px;
    font-size: 1.2rem;
    line-height: 1.333;
  }
}
/*------------------------------------------------------------
    Text
------------------------------------------------------------*/
.c-text1 {
  color: #1a464c;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .c-text1 {
    font-size: 1.2rem;
    font-weight: 500;
  }
}
.c-text1--white {
  color: #fff;
}
.c-text2 {
  color: #1a464c;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
}
@media only screen and (max-width: 767px) {
  .c-text2 {
    font-size: 1.4rem;
    line-height: 1.571;
  }
}
.c-text3 {
  color: #1a464c;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .c-text3 {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
/*------------------------------------------------------------
    Thumbnail
------------------------------------------------------------*/
.c-thumb1 {
  position: relative;
  width: 100%;
}
.c-thumb1::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 114.2857142857%;
}
.c-thumb1 img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-thumb2 {
  position: relative;
  width: 100%;
}
.c-thumb2::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 53.1914893617%;
}
@media only screen and (max-width: 1023px) {
  .c-thumb2::before {
    padding-top: 80.2139037433%;
  }
}
.c-thumb2 img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
@media only screen and (max-width: 1023px) {
  .c-thumb2 img {
    border-radius: 30px 0 0 30px;
  }
}
.c-thumb3 {
  position: relative;
  width: 100%;
}
.c-thumb3::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 62.5%;
}
@media only screen and (max-width: 767px) {
  .c-thumb3::before {
    padding-top: 62.5748502994%;
  }
}
.c-thumb3 img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-thumb4 {
  position: relative;
  width: 100%;
  background-color: #ededed;
}
.c-thumb4::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.c-thumb4 img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
/*------------------------------------------------------------
    Title
------------------------------------------------------------*/
.c-title1__en {
  display: block;
  color: #1a464c;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-title1__en {
    font-size: 3rem;
    line-height: 2;
  }
}
.c-title1__ja {
  display: block;
  margin-top: 7px;
  color: #1a464c;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-title1__ja {
    margin-top: -4px;
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
.c-title2--white .c-title2__en {
  color: #fff;
}
.c-title2--white .c-title2__ja {
  color: #fff;
}
.c-title2__en {
  display: block;
  color: #1a464c;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-title2__en {
    color: #003383;
    font-size: 2rem;
    line-height: 2;
  }
}
.c-title2__ja {
  display: block;
  margin-top: -3px;
  color: #1a464c;
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 2.22;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-title2__ja {
    margin-top: 5px;
    color: #003383;
    font-size: 2.5rem;
    line-height: 1.6;
  }
}
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Project .p-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    CSS of Top page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of About section
------------------------------------------------------------*/
.top-about {
  position: relative;
  padding: 0 0 145px;
}
@media only screen and (max-width: 1023px) {
  .top-about {
    padding: 110px 0 145px;
  }
}
@media only screen and (max-width: 767px) {
  .top-about {
    padding: 50px 0 58px;
  }
}
.top-about__heading .c-title2__en {
  text-align: left;
}
.top-about__heading .c-title2__ja {
  text-align: left;
}
.top-about__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 1023px) {
  .top-about__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.top-about__wrap .top-about__left {
  width: 42.6829268293%;
}
@media only screen and (max-width: 1023px) {
  .top-about__wrap .top-about__left {
    width: 100%;
  }
}
.top-about__wrap .top-about__right {
  width: 57.3170731707%;
}
@media only screen and (max-width: 1023px) {
  .top-about__wrap .top-about__right {
    width: 100%;
  }
}
.top-about__heading {
  position: relative;
  margin-top: 248px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .top-about__heading {
    margin-top: -109px;
  }
}
@media only screen and (max-width: 767px) {
  .top-about__heading {
    margin-top: -65px;
  }
}
.top-about__subtitle {
  margin: 33px 0 1px;
  color: #1a464c;
  font-size: clamp(4.3rem, 3.125vw, 6rem);
  font-weight: 700;
  line-height: 1.333;
}
@media only screen and (max-width: 1279px) {
  .top-about__subtitle {
    font-size: 3.2rem;
    line-height: 1.313;
  }
}
@media only screen and (max-width: 1023px) {
  .top-about__subtitle {
    font-size: 4.5rem;
    line-height: 1.333;
  }
}
@media only screen and (max-width: 767px) {
  .top-about__subtitle {
    margin: 28px 0 0;
    font-size: 2rem;
    line-height: 1.5;
  }
}
.top-about__subtitle p {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 4px 13px 10px;
  background-color: #fff;
}
@media only screen and (max-width: 1279px) {
  .top-about__subtitle p {
    padding: 6px 13px 8px;
  }
}
@media only screen and (max-width: 1023px) {
  .top-about__subtitle p {
    padding: 4px 13px 10px;
  }
}
@media only screen and (max-width: 767px) {
  .top-about__subtitle p {
    padding: 3px 11px 5px 13px;
  }
}
.top-about__subtitle p + p {
  margin-top: 24px;
}
@media only screen and (max-width: 1279px) {
  .top-about__subtitle p + p {
    margin-top: 18px;
  }
}
@media only screen and (max-width: 1023px) {
  .top-about__subtitle p + p {
    margin-top: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .top-about__subtitle p + p {
    margin-top: 12px;
  }
}
.top-about__text {
  margin-top: 45px;
}
@media only screen and (max-width: 767px) {
  .top-about__text {
    margin-top: 22px;
  }
}
.top-about__block01 .top-about__subtitle p:nth-child(2) {
  padding-right: 19px;
}
@media only screen and (max-width: 767px) {
  .top-about__block01 .top-about__subtitle p:nth-child(2) {
    padding-right: 11px;
  }
}
.top-about__block02 {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin-top: 116px;
}
@media only screen and (max-width: 1023px) {
  .top-about__block02 {
    margin-top: 42px;
  }
}
@media only screen and (max-width: 767px) {
  .top-about__block02 {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 21px;
  }
}
@media only screen and (max-width: 1023px) {
  .top-about__block02 .top-about__subtitle {
    margin: 33px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-about__block02 .top-about__subtitle {
    margin: 30px 0 0;
  }
}
.top-about__block02 .top-about__subtitle p:nth-child(1) {
  padding-right: 15px;
}
@media only screen and (max-width: 767px) {
  .top-about__block02 .top-about__subtitle p:nth-child(1) {
    padding-right: 13px;
  }
}
.top-about__block02 .top-about__subtitle p:nth-child(2) {
  padding-right: 20px;
}
@media only screen and (max-width: 767px) {
  .top-about__block02 .top-about__subtitle p:nth-child(2) {
    padding-right: 11px;
  }
}
@media only screen and (max-width: 1023px) {
  .top-about__block02 .top-about__left {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}
@media only screen and (max-width: 1023px) {
  .top-about__block02 .top-about__right {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    width: calc(100% + 60px);
    margin-right: -60px;
  }
}
@media only screen and (max-width: 767px) {
  .top-about__block02 .top-about__right {
    width: calc(100% + 40px);
    margin-right: -40px;
  }
}
.top-about__philosophy {
  margin-top: 118px;
}
@media only screen and (max-width: 767px) {
  .top-about__philosophy {
    margin-top: 31px;
  }
}
.top-about__philosophy .c-part1 {
  margin-top: 7px;
}
@media only screen and (max-width: 767px) {
  .top-about__philosophy .c-part1 {
    margin-top: 18px;
  }
}
.top-about__responsibility {
  margin-top: 69px;
}
@media only screen and (max-width: 767px) {
  .top-about__responsibility {
    margin-top: 40px;
  }
}
/*------------------------------------------------------------
    CSS of Awards section
------------------------------------------------------------*/
.top-awards {
  position: relative;
  padding: 119px 0 133px;
}
@media only screen and (max-width: 767px) {
  .top-awards {
    padding: 55px 0 63px;
  }
}
.top-awards__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 46px;
}
@media only screen and (max-width: 1023px) {
  .top-awards__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@media only screen and (max-width: 767px) {
  .top-awards__wrap {
    margin-top: 28px;
  }
}
.top-awards__left {
  width: 48.7804878049%;
}
@media only screen and (max-width: 1023px) {
  .top-awards__left {
    width: 100%;
  }
}
.top-awards__right {
  width: 51.2195121951%;
}
@media only screen and (max-width: 1023px) {
  .top-awards__right {
    width: 100%;
    margin-top: 48px;
  }
}
@media only screen and (max-width: 767px) {
  .top-awards__right {
    margin-top: 24px;
  }
}
.top-awards__table {
  margin-top: -1px;
}
@media only screen and (max-width: 1023px) {
  .top-awards__table {
    margin-top: 0;
  }
}
/*------------------------------------------------------------
    CSS of Flow section
------------------------------------------------------------*/
.top-flow {
  position: relative;
  padding: 119px 0 163px;
}
@media only screen and (max-width: 767px) {
  .top-flow {
    padding: 56px 0 59px;
  }
}
@media only screen and (max-width: 767px) {
  .top-flow__heading {
    padding: 0 5px;
  }
}
.top-flow__main {
  margin-top: 50px;
}
@media only screen and (max-width: 767px) {
  .top-flow__main {
    margin-top: 28px;
  }
}
/*------------------------------------------------------------
    CSS of Company section
------------------------------------------------------------*/
.top-company {
  position: relative;
  padding: 119px 0 0;
}
@media only screen and (max-width: 767px) {
  .top-company {
    padding: 55px 0 0;
  }
}
.top-company__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 33px;
}
@media only screen and (max-width: 1023px) {
  .top-company__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@media only screen and (max-width: 767px) {
  .top-company__wrap {
    margin-top: 25px;
  }
}
.top-company__left {
  width: 51.2195121951%;
  padding-right: 40px;
}
@media only screen and (max-width: 1023px) {
  .top-company__left {
    width: 100%;
    padding-right: 0;
  }
}
.top-company__table {
  margin-top: -1px;
}
@media only screen and (max-width: 1023px) {
  .top-company__table {
    margin-top: 0;
  }
}
.top-company__right {
  width: 48.7804878049%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media only screen and (max-width: 1023px) {
  .top-company__right {
    width: 100%;
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .top-company__right {
    margin-top: 34px;
  }
}
.top-company__bg {
  position: relative;
  width: 100%;
  height: 500px;
  margin-top: 147px;
}
@media only screen and (max-width: 767px) {
  .top-company__bg {
    margin-top: 60px;
  }
}
.top-company__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.top-company__bg iframe {
  width: 100%;
  height: 100%;
  border: none;
}
/*------------------------------------------------------------
    CSS of Contact section
------------------------------------------------------------*/
.top-contact {
  position: relative;
  padding: 119px 0 155px;
}
@media only screen and (max-width: 767px) {
  .top-contact {
    padding: 55px 0 60px;
  }
}
.top-contact__main {
  margin-top: 27px;
}
@media only screen and (max-width: 767px) {
  .top-contact__main {
    margin-top: 25px;
  }
}
.top-contact__main .c-text3 {
  text-align: center;
}
.top-contact__phone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 45px;
}
@media only screen and (max-width: 767px) {
  .top-contact__phone {
    margin-top: 27px;
  }
}
/*------------------------------------------------------------
    CSS of Instagram section
------------------------------------------------------------*/
.top-instagram {
  position: relative;
  padding: 123px 0 143px;
}
@media only screen and (max-width: 767px) {
  .top-instagram {
    padding: 56px 0 66px;
  }
}
.top-instagram__main {
  margin-top: 50px;
}
@media only screen and (max-width: 767px) {
  .top-instagram__main {
    margin-top: 22px;
  }
}
.top-instagram__item {
  position: relative;
  cursor: pointer;
  overflow: hidden;
}
.top-instagram__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: 1;
}
@media only screen and (min-width: 1023px) {
  .top-instagram__item:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .top-instagram__item:hover::before {
    opacity: 1;
  }
  .top-instagram__item:hover .c-thumb4 {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}
.top-instagram__item .c-thumb4 {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
.top-instagram__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 69px;
}
@media only screen and (max-width: 767px) {
  .top-instagram__btn {
    margin-top: 39px;
  }
}
/*------------------------------------------------------------
    CSS of News page
------------------------------------------------------------*/
.news {
  padding-top: 180px;
}
@media only screen and (max-width: 1023px) {
  .news {
    padding-top: 126px;
  }
}
@media only screen and (max-width: 767px) {
  .news {
    padding-top: 80px;
  }
}
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Archive section
------------------------------------------------------------*/
.news-archive {
  position: relative;
  padding: 102px 0 167px;
}
@media only screen and (max-width: 767px) {
  .news-archive {
    padding: 50px 0 62px;
  }
}
.news-archive__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 1023px) {
  .news-archive__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.news-archive__left {
  width: 67.0731707317%;
  padding-top: 7px;
}
@media only screen and (max-width: 1023px) {
  .news-archive__left {
    width: 100%;
    padding-top: 0;
  }
}
.news-archive__pagi {
  margin-top: 61px;
}
@media only screen and (max-width: 767px) {
  .news-archive__pagi {
    margin-top: 36px;
  }
}
.news-archive__right {
  width: 32.9268292683%;
  padding-left: 80px;
}
@media only screen and (max-width: 1023px) {
  .news-archive__right {
    width: 100%;
    margin-top: 80px;
    padding-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .news-archive__right {
    margin-top: 64px;
  }
}
/*------------------------------------------------------------
    CSS of Single section
------------------------------------------------------------*/
.news-single {
  position: relative;
  padding: 102px 0 94px;
}
@media only screen and (max-width: 767px) {
  .news-single {
    padding: 50px 0 42px;
  }
}
.news-single__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 1023px) {
  .news-single__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.news-single__left {
  width: 67.0731707317%;
  padding-top: 2px;
}
@media only screen and (max-width: 1023px) {
  .news-single__left {
    width: 100%;
    padding-top: 0;
  }
}
.news-single__right {
  width: 32.9268292683%;
  padding-left: 80px;
}
@media only screen and (max-width: 1023px) {
  .news-single__right {
    width: 100%;
    margin-top: 80px;
    padding-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .news-single__right {
    margin-top: 64px;
  }
}
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Utility .u-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    Display
------------------------------------------------------------*/
.u-none {
  display: none;
}
/*------------------------------------------------------------
    Background
------------------------------------------------------------*/
.u-bg__blue100 {
  background-color: #003383;
}
.u-bg__blue900 {
  background-color: #f4f6f7;
}
/*------------------------------------------------------------
    Spacing
------------------------------------------------------------*/
/*------------------------------------------------------------
    Font
------------------------------------------------------------*/
/*------------------------------------------------------------
    Text
------------------------------------------------------------*/
@media only screen and (max-width: 1023px) {
  .is-pc {
    display: none;
  }
}
.is-notpc {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .is-notpc {
    display: block;
  }
}
.is-sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .is-sp {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .is-notsp {
    display: none;
  }
}
.is-phone {
  pointer-events: none;
}
@media only screen and (max-width: 1023px) {
  .is-phone {
    pointer-events: unset;
  }
}
@media only screen and (max-width: 1023px) {
#sbi_images {
  gap: 10px !important;
}
}
@media only screen and (max-width: 479px) {
.top-company__right {
  grid-template-columns: repeat(1, 1fr);
  gap: 10px;
}
}

.fade-in-element {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.fade-in-element.visible {
  opacity: 1;
  transform: translateY(0);
}

@media only screen and (max-width: 1023px) {
  .fade-in-element {
    transform: translateY(20px);
  }
  .fade-in-element.visible {
    transform: translateY(0);
  }
}