@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, sub, sup, var, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  list-style: none;
  font-style: normal;
  font-weight: 200;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

@blockquote :before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}
a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

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

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

del {
  text-decoration: line-through;
}

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

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

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

input, select {
  vertical-align: middle;
}

/* reset end */
html {
  font-size: 100%;
}

a {
  text-decoration: none;
  color: #000;
}

body::-webkit-scrollbar {
  display: none;
}

/**/
#wrapper {
  overflow: hidden;
  width: 100vw;
}

body {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  position: relative;
  letter-spacing: 0.1em;
}

#body.active {
  overflow: hidden;
}

.montserrat {
  font-family: "Montserrat", sans-serif;
}

/*共通パーツ
--------------------------------------------------*/
/*ボタン共通*/
.bt-temp {
  display: block;
  width: 374px;
  height: 92px;
  background-color: #F5AB1E;
  border-radius: 0px 45px 0px 0px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: all 0.2s;
}
.bt-temp:hover {
  border-radius: 45px;
  transition: all 0.2s;
}
.bt-temp:hover img {
  transition: all 0.2s;
  transform: translateX(10px);
}
.bt-temp div {
  height: -moz-fit-content;
  height: fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.bt-temp div p {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.bt-temp div b {
  font-size: 14px;
  text-align: center;
}
.bt-temp img {
  display: block !important;
  width: 28px !important;
  height: 6px !important;
  -o-object-fit: contain !important;
     object-fit: contain !important;
  position: absolute !important;
  top: 0px !important;
  left: initial !important;
  bottom: 0px !important;
  right: 25px !important;
  margin: auto !important;
  transition: all 0.2s;
}

@media (max-width: 800px) {
  .bt-temp {
    width: 90%;
    height: 72px;
  }
  .bt-temp div p {
    font-size: 14px;
  }
  .bt-temp div b {
    font-size: 12px;
    text-align: center;
  }
}
/*セクション見出し1*/
.section-top-01 {
  width: 1200px;
  margin: 0 auto;
}
.section-top-01 b {
  font-size: 22px;
  color: #192549;
}
.section-top-01 h1 {
  font-size: 50px;
  font-weight: bold;
  padding-top: 0px;
}

@media (max-width: 1200px) {
  .section-top-01 {
    width: 90%;
    margin: 0 auto;
  }
}
@media (max-width: 1100px) {
  .section-top-01 b {
    font-size: 14px;
  }
  .section-top-01 h1 {
    font-size: 34px;
    padding-top: 0px;
  }
}
/*アニメーション
------------------------------*/
.an-left {
  transform: translateX(-40vw) rotate(20deg);
  transition: all 0.4s;
  opacity: 0;
}

.an-left.active {
  transform: translateX(0px) rotate(0deg);
  transition: all 0.4s;
  opacity: 1;
}

.an-right {
  transform: translateX(40vw) rotate(-20deg);
  transition: all 0.4s;
  opacity: 0;
}

.an-right.active {
  transform: translateX(0px) rotate(0deg);
  transition: all 0.4s;
  opacity: 1;
}

/*----*/
.pe-left {
  transition: all 0.3s;
  opacity: 0;
}

.pe-left.active {
  opacity: 1;
  transition: all 0.3s;
  animation: pel;
  animation-duration: 0.5s;
  animation-fill-mode: none;
}

@keyframes pel {
  0% {
    transform: translateX(-80vw);
  }
  85% {
    transform: translateX(15vw);
  }
  100% {
    transform: translateX(0vw);
  }
}
.pe-right {
  transition: all 0.3s;
  opacity: 0;
}

.pe-right.active {
  opacity: 1;
  transition: all 0.3s;
  animation: pelr;
  animation-duration: 0.5s;
  animation-fill-mode: none;
}

@keyframes pelr {
  0% {
    transform: translateX(80vw);
  }
  85% {
    transform: translateX(-15vw);
  }
  100% {
    transform: translateX(0vw);
  }
}
.pe-down {
  transition: all 0.3s;
  opacity: 0;
}

.pe-down.active {
  opacity: 1;
  transition: all 0.3s;
  animation: peldown;
  animation-duration: 0.5s;
  animation-fill-mode: none;
}

@keyframes peldown {
  0% {
    transform: translateY(180px);
  }
  100% {
    transform: translateY(0px);
  }
}
/*ヘッダー
--------------------------------------------------*/
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 90%;
  margin: 0 auto;
  padding-top: 26px;
  padding-left: 5%;
  padding-right: 5%;
  position: fixed;
  background-color: #fff;
  left: 0px;
  right: 0px;
  top: 0px;
  margin: 0 auto;
  z-index: 9999999999;
}

.main-nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 80px;
}

.main-nav ul a li {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  transition: all 0.3s;
}

.main-nav ul a li::after {
  content: "";
  display: block;
  width: 155%;
  aspect-ratio: 1/1;
  position: absolute;
  top: -20px;
  bottom: 0px;
  left: -20px;
  right: -20px;
  margin: auto;
  z-index: -99999;
  border-radius: 300px;
  transition: all 0.3s;
  opacity: 0;
}

.main-nav ul a li:hover::after {
  opacity: 1;
}

.main-nav ul a:nth-child(1) li:hover::after {
  background-color: #134CA0;
}

.main-nav ul a:nth-child(2) li:hover::after {
  background-color: #192549;
}

.main-nav ul a:nth-child(3) li:hover::after {
  background-color: #F5AB1E;
}

.main-nav ul a:nth-child(4) li:hover::after {
  background-color: #5FB530;
}

.main-nav ul a:nth-child(5) li:hover::after {
  background-color: #C61721;
}

.main-nav ul a li b {
  font-size: 12px;
  color: #134CA0;
  display: block;
  transition: all 0.2s;
}

.main-nav ul a li p {
  font-size: 16px;
  font-weight: bold;
  padding-top: 7px;
  padding-bottom: 10px;
  transition: all 0.2s;
}

.main-nav ul a li hr {
  width: 100%;
  height: 5px;
  display: block;
  border: none;
  transition: all 0.2s;
}

.main-nav ul a li:hover b {
  color: #fff;
  transition: all 0.2s;
}

.main-nav ul a li:hover p {
  color: #fff;
  transition: all 0.2s;
}

.main-nav ul a li:hover hr {
  opacity: 0;
  transition: all 0.2s;
}

.main-nav ul a:nth-child(1) li hr {
  background-color: #134CA0;
}

.main-nav ul a:nth-child(2) li hr {
  background-color: #192549;
}

.main-nav ul a:nth-child(3) li hr {
  background-color: #F5AB1E;
}

.main-nav ul a:nth-child(4) li hr {
  background-color: #5FB530;
}

.main-nav ul a:nth-child(5) li hr {
  background-color: #C61721;
}

header section {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 26px;
}

@media (max-width: 1600px) {
  header {
    width: 90%;
  }
  .main-nav ul a li p {
    font-size: 14px;
    padding-bottom: 0px;
  }
  .main-nav ul {
    gap: 50px;
  }
}
@media (max-width: 1340px) {
  header {
    width: 90%;
  }
  .header-logo {
    width: 200px;
  }
  .main-nav ul {
    gap: 40px;
  }
  .main-nav a li b {
    font-size: 10px;
  }
  .main-nav a li hr {
    margin-top: 8px;
  }
}
@media (max-width: 1100px) {
  header {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    margin: auto;
    z-index: 99999;
    background-color: #fff;
    padding-top: 0px;
    width: 94%;
    padding: 5px 3% 5px 3%;
  }
  .hum {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    width: 32px;
  }
  .hum b {
    font-size: 12px;
    line-height: 0;
  }
  .hum div {
    display: flex;
    justify-content: center;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content;
    transition: all 0.2s;
  }
  .hum div hr {
    width: 16px;
    height: 2px;
    border: none;
    margin: 0px;
    transition: all 0.2s;
  }
  .hum div:nth-child(1) hr:nth-child(1) {
    background-color: #134CA0;
  }
  .hum div:nth-child(1) hr:nth-child(2) {
    background-color: #F5AB1E;
  }
  .hum div:nth-child(2) hr {
    background-color: #C61721;
  }
  .hum div:nth-child(3) hr:nth-child(1) {
    background-color: #5FB530;
  }
  .hum div:nth-child(3) hr:nth-child(2) {
    background-color: #192549;
  }
  /*-------*/
  .hum.active div:nth-child(1) hr:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
    transition: all 0.2s;
    background-color: #F5AB1E;
  }
  .hum.active div:nth-child(1) hr:nth-child(2) {
    transform: translateY(8px) rotate(-45deg);
    transition: all 0.2s;
    background-color: #192549;
  }
  .hum.active div:nth-child(2) hr {
    height: 8px;
    width: 8px;
    transition: all 0.4s;
    background-color: #5FB530;
  }
  .hum.active div:nth-child(3) hr:nth-child(1) {
    transform: translateY(-8px) rotate(-45deg);
    transition: all 0.2s;
    background-color: #134CA0;
  }
  .hum.active div:nth-child(3) hr:nth-child(2) {
    transform: translateY(-8px) rotate(45deg);
    transition: all 0.2s;
    background-color: #C61721;
  }
  /*--------*/
  .sp-nav {
    position: fixed;
    background-color: #fff;
    padding-top: 100px;
    top: 0px;
    right: 0px;
    height: calc(100vh - 100px);
    width: 100vw;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    left: -120vw;
    transition: all 0.2s;
    transform: scale(2) rotate(60deg);
  }
  .sp-nav.active {
    opacity: 1;
    visibility: visible;
    left: 0px;
    transition: all 0.3s;
    transform: scale(1) rotate(0deg);
  }
  .sp-nav .main-nav ul {
    padding-top: 50px;
    flex-wrap: wrap;
    padding-bottom: 40px;
    width: 90%;
    margin: 0 auto;
  }
  .sp-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
  }
}
/*キービ
--------------------------------------------------*/
#kv {
  height: 1235px;
  position: relative;
}
#kv div {
  width: 1185px;
  height: 1185px;
  background-color: #FFFDF0;
  border-radius: 1185px;
  position: absolute;
  top: -169px;
  left: -168px;
  margin: auto;
  z-index: -99;
}
#kv .img06 {
  position: absolute;
  left: 45%;
  top: 176px;
  z-index: -1;
  margin: auto;
  display: block;
}
#kv section {
  width: 1542px;
  margin: 0 auto;
  padding-top: 330px;
}
#kv section b {
  font-size: 16px;
  color: #134CA0;
}
#kv section p {
  font-size: 40px;
  font-weight: bold;
  padding: 0px 0px 46px 0px;
}
#kv section h2 {
  font-size: 30px;
  padding-bottom: 42px;
  padding-top: 10px;
}
#kv section a {
  display: block;
  width: 374px;
  height: 76px;
  background-color: #F5AB1E;
  line-height: 76px;
  text-align: center;
  border-radius: 76px;
  color: #fff;
  position: relative;
  font-weight: bold;
  transition: all 0.2s;
}
#kv section a img {
  display: block;
  position: absolute;
  top: 0px;
  bottom: 0px;
  right: 23px;
  margin: auto;
  font-size: 18px;
  transition: all 0.2s;
}
#kv section a:hover {
  transition: all 0.2s;
  border-radius: 26px;
}
#kv section a:hover img {
  transform: translateX(4px);
  transition: all 0.2s;
}

@media (max-width: 1750px) {
  #kv {
    height: auto;
  }
  #kv section {
    width: 90%;
    padding-top: 130px;
    padding-bottom: 200px;
  }
  #kv .img06 {
    width: 40%;
    right: 5%;
  }
}
@media (max-width: 1300px) {
  #kv div {
    display: block;
    width: 910px;
    height: 910px;
  }
  #kv .img06 {
    width: 34%;
    right: 0%;
  }
}
@media (max-width: 1100px) {
  #kv .img06 {
    z-index: -1;
    width: 60%;
  }
  #kv section p {
    font-size: 26px;
    padding: 0px 0px 30px 0px;
  }
  #kv section h2 {
    font-size: 22px;
  }
  #kv section b {
    font-size: 14px;
  }
  #kv div {
    display: block;
    width: 910px;
    height: 910px;
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    margin: auto;
    top: 80px;
    bottom: initial;
    left: 20px;
    right: initial;
  }
}
@media (max-width: 800px) {
  #kv section {
    padding-left: 5%;
    width: 95%;
    padding: 100px 0px 140px 0px;
  }
  #kv section b {
    font-size: 10px;
  }
  #kv section a {
    width: 65vw;
    height: 56px;
    line-height: 56px;
    font-size: 12px;
  }
  #kv section h2 {
    font-size: 19px;
  }
  #kv .img06 {
    z-index: -1;
    width: 146px;
    top: initial;
    bottom: 30px;
    left: initial;
    right: 10px;
  }
}
/*SOCCSが目指す未来
--------------------------------------------------*/
#sec01-01 {
  width: 100vw;
  height: 759px;
  position: relative;
}

#sec01-01 img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100vw;
  height: 759px;
  position: absolute;
  left: 0px;
  right: 0px;
  bottom: 0px;
  top: 0px;
  margin: auto;
}

#sec01-01 section {
  padding: 51px 170px 51px 70px;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 70%;
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  top: 0px;
  bottom: 0px;
  right: 0px;
  margin: auto;
  z-index: 99;
  background-color: none;
}

#sec01-01 .s0101-sec {
  display: block;
  background-color: rgba(255, 255, 255, 0.79);
  -webkit-backdrop-filter: blur(13px);
          backdrop-filter: blur(13px);
}

#sec01-01 section b {
  font-size: 14px;
  color: #192549;
}

#sec01-01 section h1 {
  font-size: 44px;
  font-weight: bold;
  padding-top: 7px;
}

#sec01-01 section .s11-p-en {
  font-size: 14px;
  color: #192549;
  line-height: 1.4;
}
#sec01-01 section .s11-p-en span {
  font-size: 24px;
  display: block;
  padding-bottom: 10px;
}
@media (max-width: 800px) {
  #sec01-01 section .s11-p-en span {
    font-size: 20px;
  }
}

#sec01-01 section .s11-p-ja {
  font-size: 16px;
  font-weight: bold;
  line-height: 2.3;
  padding: 0px 0px 30px 0px;
}
#sec01-01 section .s11-p-ja span {
  font-size: 24px;
  display: block;
  padding-top: 40px;
  padding-bottom: 20px;
  font-weight: bold;
}
@media (max-width: 800px) {
  #sec01-01 section .s11-p-ja span {
    font-size: 20px;
  }
}
@media (max-width: 1100px) {
  #sec01-01 section .s11-p-ja {
    font-size: 14px;
  }
}

#sec01-01 .bt-temp {
  margin: 0 auto;
  position: absolute;
  bottom: -46px;
  left: 0px;
  right: 0px;
  margin: auto;
  z-index: 999;
}

/*背景*/
#s-wrapper {
  position: relative;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
}

#s-wrapper .sw01, #s-wrapper .sw02, #s-wrapper .sw03 {
  display: block;
  position: absolute;
  margin: auto;
}

#s-wrapper .sw01 {
  top: -300px;
  right: -400px;
  z-index: 999999;
  z-index: 9;
}

#s-wrapper .sw02 {
  top: 50%;
  left: -400px;
  z-index: -999999;
}

#s-wrapper .sw03 {
  bottom: -900px;
  right: -400px;
}

@media (max-width: 1500px) {
  #s-wrapper .sw01, #s-wrapper .sw02, #s-wrapper .sw03 {
    width: 30vw;
  }
  #s-wrapper .sw01 {
    right: -130px !important;
  }
  #s-wrapper .sw02 {
    top: 50%;
    left: -130px;
  }
  #s-wrapper .sw03 {
    right: -130px !important;
  }
}
@media (max-width: 1300px) {
  #sec01-01 {
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #sec01-01 section {
    position: initial;
    padding: 40px 5% 80px 5%;
    width: 80%;
  }
  #sec01-01 .s0101-sec {
    display: block;
    background-color: rgba(255, 255, 255, 0.79);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
  }
  #sec01-01 img {
    height: 100%;
    -o-object-position: left;
       object-position: left;
  }
}
@media (max-width: 1100px) {
  #sec01-01 {
    height: auto;
    display: block;
    width: 100vw;
  }
  #sec01-01 img {
    position: relative;
  }
  #sec01-01 section {
    background-color: initial;
    -webkit-backdrop-filter: blur(0px);
            backdrop-filter: blur(0px);
    position: relative;
    width: 90vw;
    max-width: initial;
    padding: 0px 0% 20px 0%;
  }
  #sec01-01 section b {
    font-size: 10px;
  }
  #sec01-01 section h1 {
    font-size: 28px;
  }
  #sec01-01 img {
    height: 100%;
    min-height: 200px;
    -o-object-position: left;
       object-position: left;
  }
  .s11-p-en {
    padding-bottom: 50px;
  }
}
@media (max-width: 1100px) {
  #s-wrapper .sw01, #s-wrapper .sw02, #s-wrapper .sw03 {
    min-width: 240px;
    z-index: -1;
    opacity: 0.7;
  }
  #s-wrapper .sw01 {
    width: 40vw;
    top: -240px;
    right: -20vw !important;
  }
  #s-wrapper .sw03 {
    bottom: 0px;
    right: -20vw;
    width: 60vw;
  }
}
/*活動内容
--------------------------------------------------*/
#sec01-02 {
  padding-top: 144px;
  position: relative;
}

.toppage-bk {
  width: 60%;
  height: 110%;
  display: block;
  position: absolute;
  background-color: #FFFDF0;
  right: -20%;
  top: 0px;
  margin: auto;
  z-index: -99999999999;
}

#sec01-02 main article {
  width: 1200px;
  margin: 0 auto;
  position: relative;
  margin-top: 178px;
}

#sec01-02 main article .s12-module {
  width: 1200px;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 100px;
}

#sec01-02 main article .s12-module section {
  padding-right: 34px;
}

#sec01-02 main article section h2 {
  font-size: 44px;
  font-weight: bold;
}

#sec01-02 main article section h2 span {
  font-size: 25px;
}

#sec01-02 main article section h3 {
  font-size: 20px;
  font-weight: bold;
}

#sec01-02 main article section .s12-p-en {
  font-size: 14px;
  line-height: 1.4;
  padding-top: 40px;
  color: #192549;
}

#sec01-02 main article section .s12-p-ja {
  font-size: 14px;
  line-height: 1.8;
  padding-top: 20px;
}

#sec01-02 .bt-temp {
  margin-top: 55px;
}

.s12-img {
  width: 55%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.s12-num {
  width: 189px;
  height: 189px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #FFFDF0;
  border-radius: 189px;
  position: absolute;
  left: -94px;
  top: -94px;
  margin: auto;
}

.s12-num p {
  font-size: 50px;
  text-align: center;
  font-weight: bold;
}

@media (max-width: 1400px) {
  #sec01-02 {
    width: 90%;
    margin: 0 auto;
  }
  #sec01-02 main article {
    width: 90%;
  }
  #sec01-02 main article section {
    width: 50%;
    padding-right: 100px;
  }
  #sec01-02 main article section .s12-p-en {
    padding-right: 60px;
  }
  .s12-num {
    width: 120px;
    height: 120px;
    left: -60px;
    top: -60px;
  }
}
@media (max-width: 1300px) {
  #sec01-02 main article .s12-module {
    width: 90%;
    margin: 0 auto;
  }
  #sec01-02 main article section h2 {
    font-size: 30px;
  }
  #sec01-02 main article section h2 span {
    font-size: 20px;
  }
}
@media (max-width: 1100px) {
  #sec01-02 {
    width: 100%;
  }
  #sec01-02 main article {
    margin-top: 90px;
  }
  #sec01-02 main article .s12-module {
    width: 90vw;
    margin: 0 auto;
  }
  .s12-num {
    width: 90px;
    height: 90px;
    left: 0px;
    top: 0px;
    right: 0px;
    margin: auto;
  }
  .s12-num p {
    font-size: 28px;
  }
  #sec01-02 main article:first-child {
    margin-top: 70px !important;
  }
  #sec01-02 main article {
    width: 100%;
  }
  #sec01-02 main article section {
    width: 100%;
    padding-right: 0px !important;
    margin: 0 auto;
    padding: 0px 0px 20px 0px;
    box-shadow: initial;
  }
  .s12-img {
    position: initial;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding: 20px 0px 20px 0px;
  }
  #sec01-02 .bt-temp {
    position: relative;
    /* bottom: 23px; */
    /* right: 0px; */
    /* left: initial; */
    margin: 0 auto;
    margin-top: 60px;
    /* margin: auto;*/
  }
}
/**/
/*ニュース
----------------------------------------------*/
#sec01-03 {
  position: relative;
  padding-top: 202px;
  padding-bottom: 200px;
}

/*記事*/
.the-article {
  width: 374px;
  background-color: #fff;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.16);
  transition: all 0.2s;
  padding-bottom: 14px;
  position: relative;
  margin-left: -30px;
  transition: all 0.2s;
}
.the-article:hover {
  transform: scale(1.1);
  transition: all 0.2s;
}

.the-article:hover {
  transition: all 0.2s;
  box-shadow: 0px 0px 20px #F5AB1E;
}

.the-article .ta-inner {
  height: 369px;
  display: block;
}

.the-article .blog-thumnail {
  width: 374px;
  height: 221px;
  overflow: hidden;
}

.the-article .blog-thumnail img {
  width: 374px;
  height: 221px;
  -o-object-fit: cover;
     object-fit: cover;
}

.the-article h2 {
  font-size: 16px;
  width: 334px;
  font-weight: bold;
  margin: 0 auto;
  height: 45px;
  padding-top: 26px;
}

.the-article h3 {
  font-size: 14px;
  width: 334px;
  padding-top: 15px;
  line-height: 1.8;
  margin: 0 auto;
}

#np h3 {
  font-size: 16px;
  height: 70px;
  padding-top: 35px;
}

.the-article .blog-catarea {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #134CA0;
  width: 99px;
  height: 29px;
  border-radius: 29px;
  position: absolute;
  right: 18px;
  top: 178px;
  margin: auto;
}

.the-article .blog-catarea p {
  font-size: 12px;
  color: #fff;
}

.the-article .blog-bt {
  padding-top: 6px;
  display: flex;
  justify-content: flex-end;
  grid-gap: 15px;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  position: absolute;
  bottom: 19px;
  right: 14px;
  margin: auto;
}

.the-article .blog-bt img {
  transition: all 0.2s;
}

.the-article:hover .blog-bt img:last-child {
  transform: translateX(10px);
  transition: all 0.2s;
}

.cat-flex {
  display: flex;
  width: 290px;
  margin: 0 auto;
  justify-content: flex-start;
  align-items: center;
  gap: 58px;
}

.cat-flex p {
  font-size: 16px;
}

.cat-flex b {
  font-size: 18px;
  color: #C61721;
}

/*スライダー*/
.news-parent {
  position: relative;
}

.slick-list {
  overflow: initial !important;
}

.slider-wrapper {
  margin-left: -720px !important; /*仮想幅中央から実幅へ*/
}

.slider {
  width: 2200px; /*画面幅に応じず等間隔に*/
  margin: 0 auto;
  padding-top: 57px;
}

@media (max-width: 1480px) {
  .slider {
    width: initial;
  }
  .the-article {
    width: 300px;
  }
  .the-article .blog-thumnail {
    width: 300px;
    height: 229px;
  }
  .the-article .ta-inner {
    height: 388px;
    display: block;
  }
  .the-article .blog-thumnail img {
    width: 300px;
    height: 229px;
  }
  .the-article h2 {
    width: 90%;
  }
  .the-article h3 {
    width: 280px;
    height: 62px;
    padding-top: 25px;
  }
  .the-article .blog-catarea {
    /*width: 280px;*/
  }
  .the-article .blog-bt {
    width: 280px;
  }
  .slider-wrapper {
    margin-left: -623px !important; /*仮想幅中央から実幅へ*/
  }
  .slider {
    width: 1700px; /*画面幅に応じず等間隔に*/
    margin: 0 auto;
  }
}
@media (max-width: 1090px) {
  #sec01-03 {
    position: relative;
    padding-top: 100px;
    padding-bottom: 140px;
  }
  .slider-wrapper {
    margin-left: initial !important; /*仮想幅中央から実幅へ*/
  }
  .slider {
    width: initial; /*画面幅に応じず等間隔に*/
    margin: 0 auto;
  }
}
@media (max-width: 800px) {
  .the-article {
    width: 90vw;
    background-color: #FFFFFF;
    box-shadow: 0px 20px 10px rgba(0, 0, 0, 0.16);
  }
  .the-article h2 {
    width: 90%;
  }
  .the-article .ta-inner {
    height: 300px;
    display: block;
  }
  .the-article .blog-thumnail {
    width: 100%;
    height: 150px;
    overflow: hidden;
  }
  .the-article .blog-thumnail img {
    width: 100%;
    height: 150px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .the-article h3 {
    font-size: 14px;
    width: 90%;
    height: 62px;
    padding-top: 25px;
    margin: 0 auto;
    font-weight: 500;
  }
  .the-article .blog-catarea {
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    grid-gap: 30px;
  }
  .the-article .blog-catarea b {
    font-size: 12px;
    font-weight: 400 !important;
  }
  .the-article .blog-catarea p {
    font-size: 12px;
    font-weight: bold;
    color: #F5AB1E;
  }
  .the-article .blog-bt {
    padding-top: 6px;
    display: flex;
    justify-content: flex-end;
    grid-gap: 15px;
    align-items: center;
    width: 90%;
    margin: 0 auto;
  }
}
@media (max-width: 430px) {
  .the-article .ta-inner {
    height: 330px;
    display: block;
  }
  .the-article .blog-catarea {
    display: block;
  }
}
/**/
.slick-prev {
  position: absolute;
  top: 514px;
  left: 0px;
  right: 0px;
  margin: auto;
  width: 57px;
  height: 57px;
  background-color: #F5AB1E;
  border-radius: 57px;
  border: none !important;
  transform: translateX(320px);
  font-size: 0px;
  color: #F5AB1E;
  background-image: url("./img/img035.svg");
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.2s;
}

.slick-next {
  position: absolute;
  top: 514px;
  left: 0px;
  right: 0px;
  margin: auto;
  width: 57px;
  height: 57px;
  background-color: #F5AB1E;
  border-radius: 57px;
  border: none !important;
  transform: translateX(411px);
  font-size: 0px;
  color: #F5AB1E;
  background-image: url("./img/img037.svg");
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.2s;
}

.slick-prev:hover, .slick-next:hover {
  background-color: #FF9300;
  color: #fff;
  transition: all 0.2s;
}

@media (max-width: 1274px) {
  .slick-prev {
    transform: translateX(260px);
  }
  .slick-next {
    transform: translateX(358px);
  }
}
@media (max-width: 1090px) {
  .slick-prev {
    transform: translateX(-45px);
  }
  .slick-next {
    transform: translateX(45px);
  }
}
@media (max-width: 800px) {
  .slick-list .the-article {
    margin-left: 0px !important;
  }
  .slick-prev {
    top: 434px;
  }
  .slick-next {
    top: 434px;
  }
  .slick-track {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 20px !important;
  }
}
.tn-link {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 16px;
  margin: 0 auto;
  transform: translateX(230px) translateY(76px);
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  top: -120px;
  right: 300px;
  margin: auto;
}
@media (max-width: 1090px) {
  .tn-link {
    bottom: -50px;
    top: initial;
    left: 0px;
    right: 0px;
  }
}

.tn-link p {
  font-size: 18px;
  font-weight: bold;
  color: #F5AB1E;
  padding-top: 3px;
  transition: all 0.2s;
}

.tn-link:hover p {
  color: #FF9300;
  transition: all 0.2s;
}

.tn-link img {
  display: block;
  transition: all 0.2s;
}

.tn-link .img033 {
  padding-bottom: 6px;
}

.tn-link:hover .img033 {
  transition: all 0.2s;
  transform: translateX(10px);
}

@media (max-width: 1090px) {
  .tn-link { /*view all bt*/
    display: flex;
    justify-content: center;
    align-items: center;
    grid-gap: 16px;
    margin: 0 auto;
    width: -moz-fit-content;
    width: fit-content;
    transform: translateX(0px) translateY(136px);
  }
  .tn-link p {
    font-size: 14px;
  }
}
@media (max-width: 1274px) {
  .slick-slide .blog-catarea {
    width: 120px !important;
    text-align: center !important;
    line-height: 30px !important;
    position: absolute !important;
    top: 190px !important;
    right: 10px !important;
    justify-content: center !important;
  }
}
@media (max-width: 800px) {
  .slick-slide .blog-catarea {
    top: 110px !important;
  }
}
/*フッター3つのメニュー
----------------------------------------------*/
#sec01-04 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 57px;
  padding-top: 234px;
}

#sec01-04 a {
  display: block;
  width: 356px;
  height: 476px;
  transition: all 0.2s;
}
#sec01-04 a:hover {
  transform: scale(1.1);
  transition: all 0.2s;
}

#sec01-04 a div {
  display: block;
  width: 356px;
  height: 476px;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.07);
  background-color: #fff;
  border-radius: 22px;
}

#sec01-04 a div img {
  display: block;
  margin: 0 auto;
  padding-top: 25px;
}

#sec01-04 a div b {
  font-size: 14px;
  text-align: center;
  display: block;
  margin: 0 auto;
  padding-top: 26px;
  padding-bottom: 8px;
}

#sec01-04 a div p {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

@media (max-width: 1500px) {
  #sec01-04 {
    padding-top: 100px;
  }
}
@media (max-width: 1200px) {
  #sec01-04 {
    gap: 30px;
  }
  #sec01-04 a {
    width: 270px;
  }
  #sec01-04 a div {
    width: 270px;
    height: 386px;
  }
  #sec01-04 a div img {
    width: 200px;
  }
  #sec01-04 a div p {
    font-size: 20px;
  }
}
@media (max-width: 900px) {
  #sec01-04 a {
    width: 230px;
  }
  #sec01-04 a div {
    width: 230px;
    height: 386px;
  }
}
@media (max-width: 800px) {
  #sec01-04 {
    display: block;
    padding-top: 100px;
  }
  #sec01-04 a {
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin: 0 auto;
    margin-bottom: 20px;
  }
  #sec01-04 a div {
    width: 90vw;
    height: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin: 0 auto;
  }
  #sec01-04 a div img {
    padding-top: 0px;
    width: 32vw;
    margin: initial;
  }
  #sec01-04 a div section {
    width: 160px;
  }
  #sec01-04 a div b {
    padding-top: 0px;
    font-size: 12px;
  }
  #sec01-04 a div p {
    padding-bottom: 10px;
  }
  .img014 {
    min-width: 130px;
    max-width: 190px;
  }
  .img017 {
    margin: 0 auto !important;
    width: 80px !important;
  }
}
/*フッターコンタクト
----------------------------------------------*/
#sec01-05 {
  width: 893px;
  height: 893px;
  background-color: #FFFDF0;
  border-radius: 893px;
  margin: 0 auto;
  text-align: center;
  margin-top: -46px;
}

#sec01-05 h1 {
  font-size: 45px;
  padding-top: 190px;
}

#sec01-05 h2 {
  font-size: 26px;
  font-weight: bold;
  padding-top: 6px;
  padding-bottom: 40px;
}

#sec01-05 b {
  font-size: 14px;
  letter-spacing: 0.1em;
  padding-bottom: 6px;
  display: block;
}

#sec01-05 p {
  font-size: 14px;
}

#sec01-05 .img018 {
  display: block;
  margin: 0 auto;
  padding-top: 70px;
  padding-bottom: 65px;
}

.s15-bt {
  width: 374px;
  height: 76px;
  background-color: #A6D154;
  border-radius: 76px;
  color: #fff;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  transition: all 0.2s;
}
.s15-bt:hover {
  transition: all 0.2s;
  border-radius: 26px;
}
.s15-bt:hover .img019 {
  transform: translateX(10px);
}

.s15-bt p {
  font-size: 20px !important;
  font-weight: bold;
}

.s15-bt b {
  font-size: 14px;
  padding-bottom: 0px !important;
}

.s15-bt .img019 {
  position: absolute;
  right: 34px;
  top: 0px;
  bottom: 0px;
  margin: auto;
  display: block;
  transition: all 0.2s;
}

@media (max-width: 900px) {
  #sec01-05 {
    width: 100vw;
    height: auto;
    background: linear-gradient(#FFFDF0, rgba(0, 0, 0, 0));
    margin-top: 40px;
  }
  #sec01-05 h1 {
    font-size: 24px;
    padding-top: 150px;
  }
  #sec01-05 h2 {
    font-size: 18px;
  }
  #sec01-05 .img018 {
    width: 30vw;
    max-width: 170px;
    padding-top: 40px;
    padding-bottom: 55px;
  }
  #sec01-05 b, #sec01-05 p {
    width: 90%;
    margin: 0 auto;
    line-height: 2;
  }
  .s15-bt b, .s15-bt p {
    width: initial !important;
    margin: initial !important;
    line-height: initial !important;
  }
  .s15-bt {
    width: 90%;
    margin: 0 auto;
  }
}
/*フッター
----------------------------------------------*/
footer {
  text-align: center;
}

footer a img {
  display: block;
  margin: 0 auto;
  padding-top: 112px;
}

footer h1 {
  font-size: 20px;
  padding: 22px 0px 25px 0px;
}

footer h2 {
  font-size: 14px;
  padding-bottom: 43px;
}

footer b {
  display: block;
  margin: 0 auto;
  margin-bottom: 8px;
}

footer nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
  width: 600px;
  margin: 0 auto;
  padding-top: 44px;
  padding-bottom: 82px;
}

footer nav a {
  display: block;
  font-size: 14px;
  line-height: 1 !important;
  transition: all 0.2s;
}
footer nav a:hover {
  transform: scale(1.1);
  transition: all 0.2s;
  text-decoration: underline;
}

footer section {
  width: 100%;
  height: 53px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

footer section div {
  width: 25%;
  height: 53px;
}

footer section div:nth-child(1) {
  background-color: #C61721;
}

footer section div:nth-child(2) {
  background-color: #134CA0;
}

footer section div:nth-child(3) {
  background-color: #192549;
}

footer section div:nth-child(4) {
  background-color: #F5AB1E;
}

footer section div:nth-child(5) {
  background-color: #5FB530;
}

footer section small {
  display: block;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  margin: auto;
  color: #fff;
  text-align: center;
  font-size: 12px;
  line-height: 53px;
}

@media (max-width: 800px) {
  footer a img {
    width: 130px;
    margin: 0 auto;
  }
  footer h1 {
    font-size: 18px;
  }
  footer nav {
    width: 90%;
    gap: 20px;
  }
  footer nav a {
    font-size: 12px;
  }
}
/*
----------------------------------------------*/
/*
----------------------------------------------*/
/*
----------------------------------------------*/
/*
----------------------------------------------*/
/*以下下層
----------------------------------------------*/
/*下層トップ
----------------------------------------------*/
#page-top {
  width: 100%;
  height: 595px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 137px;
}

#page-top img {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  height: 100%;
  width: 90%;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  z-index: -1;
}

#page-top.forsingle img {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  height: 100%;
  width: 90%;
  max-width: 1200px;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  z-index: -1;
}

#page-top div {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 60px 0px 60px 0px;
}

#page-top b {
  font-size: 32px;
  padding-left: 15vw;
}

#page-top h1 {
  font-size: 60px;
  padding-left: 15vw;
  font-weight: bold;
}

#page-top.forsingle div {
  width: calc(100% - 120px);
  max-width: 1080px;
  padding: 20px 60px 20px 60px;
  background-color: #5FB530;
}
@media (max-width: 1500px) {
  #page-top.forsingle div {
    width: calc(100vw - 40px);
  }
}

#page-top.forsingle div h1 {
  font-size: 31px;
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
  padding-left: 0px;
}

@media (max-width: 1500px) {
  #page-top {
    height: 295px;
    margin-top: 137px;
  }
  #page-top div {
    padding: 20px 0px 20px 0px;
  }
  #page-top b {
    font-size: 20px;
  }
  #page-top h1 {
    font-size: 36px;
  }
}
@media (max-width: 1100px) {
  #page-top {
    height: 295px;
    margin-top: 75px;
  }
  #page-top.forsingle div h1 {
    font-size: 22px;
  }
  #page-top.forsingle div {
    padding: 15px 10px 15px 10px;
  }
}
@media (max-width: 800px) {
  #page-top {
    height: 240px;
  }
  #page-top div {
    padding: 10px 0px 10px 0px;
  }
  #page-top b {
    font-size: 14px;
    padding-left: 0vw;
    display: block;
    margin: 0 auto;
    width: 90%;
  }
  #page-top h1 {
    font-size: 22px;
    padding-left: 0vw;
    display: block;
    margin: 0 auto;
    width: 90%;
  }
}
/*挨拶コンテンツ
----------------------------------------------*/
#sec02-01 {
  padding-top: 72px;
}

#sec02-01 section {
  width: 1155px;
  margin: 0 auto;
}

#sec02-01 section h2 {
  font-size: 38px;
  font-weight: bold;
  position: relative;
  padding-top: 10px;
}

#sec02-01 section h2::before {
  content: "";
  width: 30vw;
  height: 83px;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: -32vw;
  display: block;
}

#sec02-01 section p {
  font-size: 20px;
  font-weight: bold;
  padding-top: 37px;
  padding-bottom: 90px;
  line-height: 2;
}

.s21-01 h2::before {
  background-color: #134CA0;
}

.s21-02 h2::before {
  background-color: #F19C19;
}

.s21-03 h2::before {
  background-color: #B7001A;
}

.s21-04 h2::before {
  background-color: #50AA25;
}

@media (max-width: 1600px) {
  #sec02-01 section {
    width: 1000px;
  }
  #sec02-01 {
    padding-top: 90px;
  }
}
@media (max-width: 1300px) {
  #sec02-01 section {
    width: 800px;
  }
}
@media (max-width: 1000px) {
  #sec02-01 section {
    width: 600px;
  }
  #sec02-01 section p {
    font-size: 18px;
  }
}
@media (max-width: 800px) {
  #sec02-01 {
    padding-top: 40px;
  }
  #sec02-01 section {
    width: 90%;
  }
  #sec02-01 section h2 {
    font-size: 22px;
  }
  #sec02-01 section p {
    font-size: 14px;
  }
}
/**/
#sec02-02 {
  width: 1200px;
  margin: 0 auto;
  padding-top: 120px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 70px;
}

#sec02-02 div b {
  font-size: 20px;
  padding-left: 0px;
}

#sec02-02 div h2 {
  font-size: 45px;
  padding-left: 0px;
  padding-top: 20px;
  padding-bottom: 20px;
  font-weight: bold;
}

#sec02-02 div p {
  font-size: 20px;
  padding-left: 0px;
  padding-bottom: 40px;
}

#sec02-02 img {
  width: 300px;
}

@media (max-width: 1600px) {
  #sec02-02 {
    gap: 20px;
  }
}
@media (max-width: 1300px) {
  #sec02-02 {
    width: 90%;
  }
}
@media (max-width: 1000px) {
  #sec02-02 {
    width: 90%;
    justify-content: flex-start !important;
  }
}
@media (max-width: 800px) {
  #sec02-02 {
    width: 90%;
    padding-top: 60px;
    display: block;
  }
  #sec02-02 img {
    width: 200px;
    -o-object-position: top;
       object-position: top;
    padding-bottom: 10px;
  }
}
@media (max-width: 800px) and (min-width: 500px) {
  #sec02-02 img {
    -o-object-position: center;
       object-position: center;
  }
}
@media (max-width: 800px) {
  #sec02-02 div b {
    font-size: 12px;
    padding-left: 0px;
  }
}
@media (max-width: 800px) {
  #sec02-02 div h2 {
    font-size: 26px;
    padding-left: 0px;
    padding-top: 5px;
    padding-bottom: 5px;
  }
}
@media (max-width: 800px) {
  #sec02-02 div p {
    font-size: 16px;
    padding-left: 0px;
  }
}
/*FAQ
----------------------------------------------*/
#faq {
  width: 1200px;
  margin: 0 auto;
  background-color: #FFFDF2;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 60px;
  padding-bottom: 50px;
}

.faq-inner {
  width: 1041px;
}

.faq-inner ul li {
  margin-bottom: 20px;
}

.faq-inner ul li:last-child {
  margin-bottom: 60px;
}

.faq-inner ul li h2 {
  font-size: 16px;
  letter-spacing: 1px;
  font-weight: bold;
}

.faq-inner ul li div {
  width: 1041px;
  padding-top: 14px;
  padding-bottom: 14px;
  border-radius: 8px;
  background-color: #fff;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  grid-gap: 25px;
  position: relative;
}

.faq-inner ul li div h3 {
  margin-left: 40px;
  font-size: 22px;
  font-family: "Montserrat", sans-serif;
}

.faq-inner ul li div h4 {
  font-size: 16px;
  letter-spacing: 1px;
  font-weight: bold;
  width: 900px;
}

.faq-inner ul li div img {
  position: absolute;
  top: 0px;
  bottom: 0px;
  right: 36px;
  margin: auto;
  display: block;
  transition: all 0.3s;
}

.faq-clicked img {
  transform: rotate(-45deg);
}

.faq-answer {
  width: 1041px;
}

.faq-answer p {
  font-size: 14px;
  line-height: 2s;
  width: 920px;
}

@media (max-width: 1200px) {
  /*faq本体
  --------------------*/
  #faq {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 60px;
    padding-bottom: 50px;
  }
  .faq-inner {
    width: 100%;
  }
  .faq-inner ul li {
    margin-bottom: 20px;
  }
  .faq-inner ul li:last-child {
    margin-bottom: 60px;
  }
  .faq-inner ul li h2 {
    font-size: 16px;
    letter-spacing: 1px;
    font-weight: bold;
    width: 90%;
    margin: 0 auto;
  }
  .faq-inner ul li div {
    width: 90%;
    margin: 0 auto;
    padding-top: 14px;
    padding-bottom: 14px;
    border-radius: 8px;
    background-color: #fff;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    grid-gap: 25px;
    position: relative;
  }
  .faq-inner ul li div h3 {
    margin-left: 0px;
    font-size: 22px;
    font-family: "Montserrat", sans-serif;
  }
  .faq-inner ul li div h4 {
    font-size: 14px;
    letter-spacing: 1px;
    line-height: 26px;
    font-weight: bold;
    width: 76%;
  }
  .faq-inner ul li div img {
    position: absolute;
    top: 0px;
    bottom: 0px;
    right: 0px;
    margin: auto;
    display: block;
    transition: all 0.3s;
  }
  .faq-click {
    display: flex;
  }
  .faq-clicked img {
    transform: rotate(-45deg);
  }
  .faq-answer {
    width: 90%;
  }
  .faq-answer p {
    font-size: 14px;
    line-height: 26px;
    width: 80%;
  }
}
/*お問あわせ
----------------------------------------------*/
#sec03-01 {
  margin: 0 auto;
  width: 90%;
}

#sec03-01 p {
  font-size: 16px;
  text-align: center;
  padding: 85px 0px 85px 0px;
  line-height: 2;
  font-weight: bold;
}

/**/
#sec03-02 {
  width: 988px;
  margin: 0 auto;
}

#sec03-02 .s32-title {
  font-size: 14px;
  width: 584px;
  margin: 0 auto;
  display: block;
}

/*
---------------------------------------------*/
.form-flex {
  width: 584px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 30px;
  margin: 0 auto;
}

.mwform-checkbox-field {
  display: block;
  margin-bottom: 35px;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0px !important;
}

.mwform-checkbox-field-text {
  font-size: 12px !important;
}

input[type=checkbox] {
  display: none;
}

.mwform-checkbox-field-text {
  display: inline-block;
  position: relative;
  padding: 0 36px 0 36px;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
  content: "";
  position: absolute;
  display: block;
}

.mwform-checkbox-field-text::before {
  border: 1px solid #192F60;
  width: 24px;
  height: 24px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
  border-width: 1px;
  border-color: transparent transparent #707070 #707070;
  border-style: solid;
  width: 25px;
  height: 10px;
  margin-top: -0.7em;
  top: 50%;
  left: 0.4em;
  transform: translateY(-50%) rotate(-45deg);
  opacity: 0;
}

input[type=checkbox]:checked + .mwform-checkbox-field-text::after {
  /* css擬似要素 :checked が付加されているときは表示  */
  opacity: 1;
}

/*
-----------*/
.form-wrap {
  position: relative;
  width: 534px;
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 auto;
  margin-bottom: 20px !important;
}

.form-wrap input {
  background-color: #fff;
}

.form-wrap input:-moz-placeholder-shown {
  background-color: initial;
}

.form-wrap input:placeholder-shown {
  background-color: initial;
}

.form-wrap textarea {
  background-color: #fff;
}

.form-wrap textarea:-moz-placeholder-shown {
  background-color: initial;
}

.form-wrap textarea:placeholder-shown {
  background-color: initial;
}

.form-wrap img {
  display: block;
  position: absolute;
  z-index: 999;
  top: 22px;
  left: -4px;
  margin: auto;
  z-index: -1;
}

.form-box {
  width: 534px;
  height: 54px;
  display: block;
  border: solid 1px #192F60;
  font-size: 16px;
  padding-left: 50px;
  color: #192F60;
  margin: 0 auto;
  margin-left: -25px;
}

.form-box::-moz-placeholder {
  color: #A3A9B5;
  font-size: 12px;
}

.form-box::placeholder {
  color: #A3A9B5;
  font-size: 12px;
}

.top-box {
  margin-top: 120px;
}

.last-box {
  padding-top: 18px;
  height: 249px;
  margin-bottom: 14px;
}

.pp-check {
  margin: 0 auto;
  text-align: center;
  width: 300px !important;
}

.pp-link {
  display: flex;
  justify-content: center;
  position: relative;
}

.pp-link .pp-p {
  margin-right: -40px !important;
  display: block;
}

.pp-link a {
  text-decoration: underline !important;
}

.form-bt-wrap {
  width: 256px;
  height: 59px;
  position: relative;
  margin: 0 auto;
}

.form-bt-wrap img {
  position: absolute;
  display: block;
  top: 38px;
  right: -17px;
  margin: auto;
  transition: all 0.3s;
}

.form-bt:hover {
  background-color: #192F60;
  color: #fff;
  transition: all 0.3s;
}

.form-bt-wrap:hover img {
  transform: translateX(10px);
  transition: all 0.3s;
}

.form-bt {
  margin-top: 14px;
  width: 256px;
  height: 59px;
  border-radius: 100px;
  background-color: #fff;
  border: solid 1px #192F60;
  font-size: 12px;
  color: #192F60;
  font-family: YuMincho, "Yu Mincho", serif;
}

#contact section .bt-temp {
  margin: 0 auto;
}

.form-p {
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  padding: 10px 0px 20px 0px;
}

/*ポリシー*/
.form-policy {
  width: calc(100% - 96px);
  padding: 48px;
  border: solid 1px #000;
  margin: 0 auto;
  margin-top: 10px;
  height: 300px;
  overflow: scroll;
}

.form-policy section h2 {
  font-size: 16px;
  font-weight: bold;
}

.form-policy section p {
  font-size: 14px;
  line-height: 2;
  padding: 10px 0px 20px 0px;
}

.form-bt {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 auto;
  position: relative;
  border: none;
}

.form-submit {
  width: 338px;
  height: 68px;
  border-radius: 68px;
  background-color: #FF9300;
  font-size: 18px;
  font-weight: bold;
  border: none;
  color: #fff;
  display: block;
  margin: 0 auto;
  transition: all 0.2s;
}
.form-submit:hover {
  border-radius: 28px;
  transition: all 0.2s;
  border: none !important;
}

.form-bt::after {
  content: "";
  position: absolute;
  top: 0px;
  bottom: 0px;
  right: 20px;
  margin: auto;
  width: 28px;
  height: 7px;
  background-image: url("./img/img030.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: all 0.2s;
}

.form-bt:hover::after {
  transform: translateX(10px);
  transition: all 0.2s;
}

/**/
@media (max-width: 1100px) {
  .form-submit {
    width: 90vw;
  }
  #sec03-02 {
    width: 90%;
    margin: 0 auto;
  }
  .form-flex {
    width: 100%;
    display: block;
  }
  .mwform-checkbox-field {
    display: block;
    margin-bottom: 35px;
  }
  .form-lastcheck .mwform-checkbox-field {
    display: block;
    margin-bottom: 35px;
    margin: 0 auto;
    width: -moz-fit-content;
    width: fit-content;
    padding-bottom: 40px;
  }
  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0px !important;
  }
  .mwform-checkbox-field-text {
    font-size: 14px !important;
  }
  input[type=checkbox] {
    display: none;
  }
  .mwform-checkbox-field-text {
    display: inline-block;
    position: relative;
    padding: 0 36px 0 36px;
  }
  .mwform-checkbox-field-text::before,
  .mwform-checkbox-field-text::after {
    content: "";
    position: absolute;
    display: block;
  }
  .mwform-checkbox-field-text::before {
    border: 1px solid #192F60;
    width: 24px;
    height: 24px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
  .mwform-checkbox-field-text::after {
    border-width: 1px;
    border-color: transparent transparent #707070 #707070;
    border-style: solid;
    width: 25px;
    height: 10px;
    margin-top: -0.7em;
    top: 50%;
    left: 0.4em;
    transform: translateY(-50%) rotate(-45deg);
    opacity: 0;
  }
  input[type=checkbox]:checked + .mwform-checkbox-field-text::after {
    /* css擬似要素 :checked が付加されているときは表示  */
    opacity: 1;
  }
  /*
  -----------*/
  .form-wrap {
    position: relative;
    width: 100%;
    margin-bottom: 20px;
  }
  .form-wrap img {
    display: block;
    position: absolute;
    z-index: 999;
    top: 22px;
    left: 20px;
    margin: auto;
    z-index: -1;
  }
  .form-box {
    width: 100%;
    height: 54px;
    display: block;
    border: solid 1px #192F60;
    font-family: YuMincho, "Yu Mincho", serif;
    font-size: 16px;
    padding-left: 0px;
    color: #192F60;
    margin-left: 0px;
  }
  .form-box::-moz-placeholder {
    color: #A3A9B5;
    font-size: 12px;
    padding-left: 50px;
  }
  .form-box::placeholder {
    color: #A3A9B5;
    font-size: 12px;
    padding-left: 50px;
  }
  .top-box {
    margin-top: 120px;
  }
  .last-box {
    padding-top: 18px;
    height: 249px;
    margin-bottom: 14px;
  }
  .pp-check {
    margin: 0 auto;
    text-align: center;
    width: 300px !important;
  }
  .pp-link {
    display: flex;
    justify-content: center;
    position: relative;
  }
  .pp-link .pp-p {
    margin-right: -40px !important;
    display: block;
  }
  .pp-link a {
    text-decoration: underline !important;
  }
  .form-bt-wrap {
    width: 256px;
    height: 59px;
    position: relative;
    margin: 0 auto;
  }
  .form-bt-wrap img {
    position: absolute;
    display: block;
    top: 38px;
    right: -17px;
    margin: auto;
    transition: all 0.3s;
  }
  .form-bt:hover {
    background-color: #192F60;
    color: #fff;
    transition: all 0.3s;
  }
  .form-bt-wrap:hover img {
    transform: translateX(10px);
    transition: all 0.3s;
  }
  .form-bt {
    margin-top: 14px;
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content;
    border-radius: 100px;
    background-color: initial;
    border: none;
    font-size: 12px;
    color: #192F60;
    font-family: YuMincho, "Yu Mincho", serif;
  }
  #contact section .bt-temp {
    margin: 0 auto;
  }
  .form-policy {
    width: 100%;
    padding: 0px;
    padding-top: 30px;
    padding-bottom: 30px;
    background-color: #fff;
  }
  .form-policy section {
    width: 90%;
    margin: 0 auto;
  }
  .form-wrap input {
    background-color: #fff;
  }
  .form-wrap input:-moz-placeholder-shown {
    background-color: initial;
  }
  .form-wrap input:placeholder-shown {
    background-color: initial;
  }
  .form-wrap textarea {
    background-color: #fff;
  }
  .form-wrap textarea:-moz-placeholder-shown {
    background-color: initial;
  }
  .form-wrap textarea:placeholder-shown {
    background-color: initial;
  }
}
#sec03-03 {
  padding: 50px 0px 100px 0px;
}

#sec03-03 .bt-temp {
  margin: 0 auto;
}

/*インフォ
----------------------------------------------*/
.np-category {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  grid-gap: 21px;
  padding: 100px 0px 100px 0px;
}

#sec04-02 .np-category {
  padding: 100px 0px 60px 0px;
}

.np-category h4 {
  font-size: 20px;
  font-weight: bold;
}

.np-category a {
  width: 161px;
  height: 34px;
  font-size: 12px;
  font-weight: bold;
  display: block;
  text-align: center;
  color: #fff;
  background-color: #5FB530;
  line-height: 34px;
  border-radius: 34px;
}

#np {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 1590px;
  margin: 0 auto;
  grid-gap: 88px;
  padding-bottom: 76px;
}

@media (max-width: 1600px) {
  #np {
    width: 90%;
    gap: 40px;
  }
  #np .the-article {
    margin-left: 0px;
  }
}
@media (max-width: 800px) {
  .np-category h4 {
    font-size: 16px;
  }
  .np-category a {
    height: 24px;
    line-height: 24px;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0px 20px 0px 20px;
  }
}
@media (max-width: 500px) {
  #np h3 {
    font-size: 14px;
  }
  #np .the-article .ta-inner {
    height: 300px;
  }
}
/*ページネーション
-------------*/
.pagenation { /*親*/
  padding: 0px 0 186px 0px;
}

.wp-pagenavi {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 0px;
}

.wp-pagenavi .pages {
  display: none;
}

.current, .page {
  width: 50px;
  height: 50px;
  font-family: "Montserrat", sans-serif;
  text-align: center;
  line-height: 45px;
  font-size: 14px;
  font-weight: bold;
  box-sizing: border-box;
  margin: 0px !important;
  margin-left: -1px;
}

.current {
  background-color: #134CA0;
  color: #fff;
  border: none !important;
}

.page {
  border: solid 1px #D9D9D9 !important;
  border-right: none !important;
}

.nextpostslink, .previouspostslink {
  width: 107px;
  height: 50px;
  text-align: center;
  line-height: 45px;
  font-size: 14px;
  font-weight: bold;
  box-sizing: border-box;
  border: solid 1px #D9D9D9 !important;
  position: relative;
  margin: 0px !important;
}

.nextpostslink {
  margin-left: -1px;
}

.nextpostslink::after {
  content: "";
  display: block;
  width: 5px;
  height: 11px;
  background-image: url("./img/img039.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0px;
  bottom: 0px;
  right: 10px;
  margin: auto;
}

.previouspostslink {
  border-right: none !important;
}

.previouspostslink::after {
  content: "";
  display: block;
  width: 5px;
  height: 11px;
  background-image: url("./img/img038.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 10px;
  margin: auto;
}

/*月別アーカイブ*/
#post-archive-list {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  grid-gap: 20px;
  padding-bottom: 200px;
}

#post-archive-list p {
  font-size: 20px;
  font-weight: bold;
}

#post-archive-list ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  grid-gap: 10px;
  flex-wrap: wrap;
  width: 1000px;
  margin: 0 auto;
}

#post-archive-list ul li {
  width: 140px;
}

#post-archive-list ul li a {
  font-size: 20px;
  font-weight: 600;
}

@media (max-width: 1200px) {
  #post-archive-list {
    width: 90%;
    flex-wrap: wrap;
  }
  #post-archive-list ul {
    flex-wrap: wrap;
    width: 90%;
    margin: 0 auto;
  }
  #post-archive-list ul li a {
    font-size: 14px;
  }
  #post-archive-list ul li p {
    font-size: 14px;
  }
}
/*singleページ
----------------------------------------------*/
#sec04-01 {
  width: 900px;
  margin: 0 auto;
  line-height: 2;
}

#sec04-01 h1 {
  font-size: 26px;
  padding: 30px 0px 16px 0px;
  font-weight: bold;
}

#sec04-01 p {
  font-size: 18px;
}

#sec04-01 ul {
  padding-top: 20px;
  padding-bottom: 83px;
}

#sec04-01 ul li {
  display: flex;
  justify-content: flex-start;
  gap: 50px;
  margin-top: 28px;
}

#sec04-01 ul li div {
  width: 144px;
  min-width: 144px;
  height: 53px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#sec04-01 ul li:nth-child(1) div {
  background-color: #134CA0;
}

#sec04-01 ul li:nth-child(2) div {
  background-color: #F5AB1E;
}

#sec04-01 ul li:nth-child(3) div {
  background-color: #192549;
}

#sec04-01 ul li:nth-child(4) div {
  background-color: #C61721;
}

#sec04-01 ul li div b {
  color: #fff;
  font-size: 18px;
}

#sec04-01 ul li p {
  margin-top: 8px;
}

#sec04-01 ul li iframe {
  display: block;
  width: 704px;
  height: 408px;
  margin-top: -7px;
}

.s41-bt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 338px;
  height: 68px;
  background-color: #FF9300;
  border-radius: 68px;
  position: relative;
  transition: all 0.2s;
  margin: 0 auto;
}

.s41-bt b {
  text-align: center;
  font-size: 18px;
  color: #fff;
}

.s41-bt img {
  display: block;
  position: absolute;
  bottom: 0px;
  top: 0px;
  right: 15px;
  margin: auto;
}

.s41-bt:hover img {
  transform: translateX(10px);
  transition: all 0.2s;
}

@media (max-width: 970px) {
  #sec04-01 {
    width: 90%;
  }
  #sec04-01 ul li iframe {
    width: calc(100vw - 290px);
  }
  #sec04-01 p {
    font-size: 16px;
  }
  #sec04-01 h1 {
    font-size: 24px;
  }
  #sec04-01 ul li div {
    width: 124px;
    min-width: 124px;
    height: 33px;
  }
  #sec04-01 ul li div b {
    color: #fff;
    font-size: 14px;
  }
}
@media (max-width: 600px) {
  #sec04-01 ul li {
    display: block;
  }
  #sec04-01 ul li iframe {
    width: 90vw;
    height: 300px;
    padding-top: 18px;
  }
  .s41-bt {
    width: 100%;
  }
}
/**/
#sec04-02 {
  padding-top: 300px;
}

@media (max-width: 800px) {
  #sec04-02 {
    padding-top: 20px;
  }
  #post-archive-list {
    padding-bottom: 50px;
  }
}
/*目指す未来
----------------------------------------------*/
#s-wrapper.page5 .sw01 {
  top: 200px;
  right: -400px;
}

@media (max-width: 1500px) {
  #s-wrapper.page5 .sw01 {
    top: 300px;
  }
}
#sec05-01 {
  padding-top: 200px;
  line-height: 2;
}

#sec05-01 b {
  text-align: center;
  font-size: 24px;
  color: #192549;
  display: block;
  margin: 0 auto;
}

#sec05-01 h1 {
  text-align: center;
  font-size: 46px;
  padding-top: 0px;
  line-height: 1.2;
  font-weight: bold;
  padding-bottom: 30px;
}

#sec05-01 p {
  font-size: 14px;
  text-align: center;
  line-height: 38px;
  padding-top: 12px;
}

@media (max-width: 1100px) {
  #sec05-01 {
    padding-top: 130px;
  }
  #sec05-01 b {
    font-size: 16px;
  }
  #sec05-01 h1 {
    font-size: 35px;
  }
}
@media (max-width: 850px) {
  #sec05-01 {
    padding-top: 130px;
    width: 90%;
    margin: 0 auto;
  }
  #sec05-01 b {
    font-size: 14px;
  }
  #sec05-01 h1 {
    font-size: 26px;
  }
  #sec05-01 br {
    display: none;
  }
}
/**/
#sec05-02 {
  position: relative;
  margin-top: 67px;
  padding-bottom: 90px;
}

#sec05-02 .img08 {
  width: 100%;
  height: 760px;
  -o-object-fit: cover;
     object-fit: cover;
  padding-bottom: 508px;
}

#sec05-02 .img041 {
  display: block;
  position: absolute;
  max-width: 90%;
  top: 53px;
  left: 0px;
  right: 0px;
  margin: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

#sec05-02 .bt-temp {
  margin: 0 auto;
  background-color: #192549;
}

@media (min-width: 1101px) {
  #sec05-02 .img041 {
    width: 60%;
  }
}
@media (min-width: 1101px) and (min-width: 1600px) {
  #sec05-02 .img041 {
    width: auto;
  }
}
@media (max-width: 1600px) {
  #sec05-02 .img08 {
    padding-bottom: 10vw;
  }
}
@media (max-width: 1100px) {
  #sec05-02 .img08 {
    padding-bottom: 100px;
  }
  #sec05-02 .img041 {
    top: 23px;
  }
}
@media (max-width: 770px) {
  #sec05-02 .img08 {
    height: 100vw;
    padding-bottom: 80px;
  }
}
.act-top.gpp-top {
  padding-top: 138px;
}
.act-top .act-inner {
  position: relative;
  width: 890px;
  margin: 0 auto;
}
@media (max-width: 1400px) {
  .act-top .act-inner {
    width: 60%;
  }
}
@media (max-width: 1030px) {
  .act-top .act-inner {
    width: 50%;
  }
}
@media (max-width: 780px) {
  .act-top .act-inner {
    width: 90%;
  }
}
.act-top .act-inner.green .at-left {
  background-color: #5FB530;
}
.act-top .act-inner.red .at-left {
  background-color: #C61721;
}
.act-top .act-inner.yellow .at-left {
  background-color: #F5AB1E;
}
.act-top .act-inner.blue .at-left {
  background-color: #134CA0;
}
.act-top .act-inner .at-left {
  position: absolute;
  left: -40vw;
  top: 0px;
  bottom: 0px;
  margin: auto;
  width: calc(40vw - 60px);
  height: 189px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media (max-width: 1400px) {
  .act-top .act-inner .at-left {
    height: 120px;
  }
}
@media (max-width: 780px) {
  .act-top .act-inner .at-left {
    bottom: initial;
    top: -80px;
    left: -5vw;
    height: 55px;
    width: 100vw;
  }
}
@media (max-width: 780px) {
  .act-top .act-inner .at-left {
    justify-content: flex-start;
  }
}
.act-top .act-inner .at-left div {
  width: 189px;
  height: 189px;
  border-radius: 189px;
  background-color: #FFFDF0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 1400px) {
  .act-top .act-inner .at-left div {
    width: 120px;
    height: 120px;
  }
}
@media (max-width: 780px) {
  .act-top .act-inner .at-left div {
    width: 55px;
    height: 55px;
    margin-left: 5vw;
  }
}
.act-top .act-inner .at-left div b {
  display: block;
  font-size: 50px;
  color: #192549;
}
@media (max-width: 1400px) {
  .act-top .act-inner .at-left div b {
    font-size: 35px;
  }
}
@media (max-width: 780px) {
  .act-top .act-inner .at-left div b {
    font-size: 20px;
  }
}
.act-top .act-inner .at-right {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 50px;
}
@media (max-width: 1030px) {
  .act-top .act-inner .at-right {
    display: block;
  }
}
.act-top .act-inner .at-right div:first-child h2 {
  font-size: 25px;
  color: #192549;
}
@media (max-width: 780px) {
  .act-top .act-inner .at-right div:first-child h2 {
    font-size: 18px;
  }
}
.act-top .act-inner .at-right div:first-child h1 {
  font-size: 50px;
  font-weight: bold;
  font-family: "Zen Kaku Gothic Antique", sans-serif !important;
}
@media (max-width: 780px) {
  .act-top .act-inner .at-right div:first-child h1 {
    font-size: 24px;
  }
}
.act-top .act-inner .at-right div:last-child b {
  font-size: 14px;
  color: #192549;
}
.act-top .act-inner .at-right div:last-child p {
  font-size: 20px;
  font-weight: bold;
  font-family: "Zen Kaku Gothic Antique", sans-serif !important;
}
@media (max-width: 780px) {
  .act-top .act-inner .at-right div:last-child p {
    font-size: 16px;
  }
}
.act-top .act-exp {
  width: 890px;
  margin: 0 auto;
}
@media (max-width: 920px) {
  .act-top .act-exp {
    width: 90%;
  }
}
.act-top .act-exp p {
  font-size: 14px;
  padding-top: 65px;
  padding-bottom: 18px;
  display: block;
  color: #192549;
}
.act-top .act-exp p.ae-p {
  font-size: 16px;
  color: #000;
  line-height: 1.7;
}
@media (max-width: 920px) {
  .act-top .act-exp p.ae-p {
    font-size: 14px;
  }
}
.act-top .act-exp b {
  font-size: 16px;
  font-weight: normal;
}
.act-top .act-exp b.ae-b {
  font-size: 16px;
  font-weight: bold;
  display: block;
  margin-top: -10px !important;
}
@media (max-width: 920px) {
  .act-top .act-exp b {
    font-size: 14px;
  }
  .act-top .act-exp b.sp-aeb {
    display: block;
    padding-top: 30px;
  }
}

#activity {
  padding-bottom: 230px;
}
#activity .activity-top {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  padding: 60px 0px 46px 0px;
}
#activity ul {
  padding-bottom: 64px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 27px;
  width: 1200px;
  margin: 0 auto;
}
@media (max-width: 1250px) {
  #activity ul {
    width: 90%;
  }
}
@media (max-width: 880px) {
  #activity ul {
    justify-content: center;
  }
}
#activity ul li {
  width: 382px;
  height: 405px;
  display: block;
  background-image: url("./img/img044.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 400px) {
  #activity ul li {
    width: 90vw;
    height: 94.5vw;
  }
}
#activity ul li b {
  display: block;
  margin: 0 auto;
  text-align: center;
  font-size: 50px;
  color: #5FB530;
  margin-top: 65px;
  padding-bottom: 26px;
}
@media (max-width: 400px) {
  #activity ul li b {
    margin-top: 45px;
    padding-bottom: 16px;
    font-size: 34px;
  }
}
#activity ul li p {
  font-size: 16px;
  width: 298px;
  margin: 0 auto;
  line-height: 2;
}
@media (max-width: 400px) {
  #activity ul li p {
    width: 80%;
    font-size: 12px;
  }
}
#activity .act-flag {
  margin: 0 auto;
}

.act-flag {
  position: relative;
  width: 576px;
  height: 405px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 580px) {
  .act-flag {
    width: 90%;
    height: 50vw;
    margin: 0 auto;
  }
}
.act-flag.last-glag {
  margin: 0 auto;
}
.act-flag div h1 {
  font-size: 28px;
  text-align: center;
}
.act-flag div h1.atc-jp {
  font-size: 24px;
  padding-bottom: 40px;
}
@media (max-width: 580px) {
  .act-flag div h1.atc-jp {
    font-size: 20px;
    padding-bottom: 30px;
  }
}
@media (max-width: 580px) {
  .act-flag div h1 {
    padding-bottom: 0px;
    font-size: 20px;
  }
}
.act-flag div b {
  font-size: 14px;
  text-align: center;
  display: block;
  margin: 0 auto;
  padding-bottom: 32px;
  color: #192549;
}
@media (max-width: 580px) {
  .act-flag div b {
    padding-bottom: 14px;
  }
}
.act-flag .img047 {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  margin: auto;
  z-index: -1;
  top: initial;
  bottom: -55px;
}
@media (max-width: 580px) {
  .act-flag .img047 {
    width: 100%;
  }
}

.flag-bt {
  position: relative;
  width: 309px;
  height: 62px;
  background-color: #FF9300;
  border-radius: 62px;
  transition: all 0.2s;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 11px;
  margin: 0 auto;
}
.flag-bt:hover {
  transition: all 0.2s;
  border-radius: 26px;
}
.flag-bt:hover .img046 {
  transform: translateX(10px);
}
@media (max-width: 580px) {
  .flag-bt {
    width: 70vw;
    height: 48px;
  }
}
.flag-bt p {
  font-size: 14px;
  text-align: center;
  color: #fff;
}
.flag-bt .img046 {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  margin: auto;
  left: initial;
  right: 13px;
  transition: all 0.2s;
}

#gpp {
  width: 1200px;
  margin: 0 auto;
}
@media (max-width: 1250px) {
  #gpp {
    width: 90%;
  }
}
#gpp section {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
  padding-top: 124px;
  padding-bottom: 22px;
}
@media (max-width: 1250px) {
  #gpp section {
    display: block;
    padding-top: 24px;
  }
  #gpp section img {
    display: block;
    margin: 0 auto;
  }
}
#gpp section p {
  font-size: 16px;
  line-height: 1.6;
}
@media (max-width: 1250px) {
  #gpp section p {
    font-size: 14px;
    padding: 30px 0px 20px 0px;
  }
}
#gpp .gpp-exp {
  max-width: 990px;
  margin: 0 auto;
  display: block;
  line-height: 1.6;
  padding-top: 89px;
  padding-bottom: 74px;
}
@media (max-width: 1250px) {
  #gpp .gpp-exp {
    width: 100%;
    font-size: 14px;
    padding-bottom: 40px;
  }
}
#gpp .img050 {
  display: block;
  margin: 0 auto;
}
@media (max-width: 1250px) {
  #gpp .img050 {
    width: 100%;
  }
}

#gpp2 {
  width: 1200px;
  margin: 0 auto;
  padding-top: 135px;
  padding-bottom: 188px;
}
@media (max-width: 1250px) {
  #gpp2 {
    width: 90%;
  }
}
#gpp2 ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  align-items: flex-start;
}
@media (max-width: 1250px) {
  #gpp2 ul {
    justify-content: center;
    gap: 30px;
  }
}
@media (max-width: 500px) {
  #gpp2 ul {
    gap: 6%;
  }
}
#gpp2 ul li {
  width: 360px;
  padding-bottom: 150px;
}
@media (max-width: 1250px) {
  #gpp2 ul li {
    padding-bottom: 100px;
  }
}
@media (max-width: 500px) {
  #gpp2 ul li {
    padding-bottom: 60px;
    width: 47%;
  }
}
#gpp2 ul li b {
  font-size: 50px;
  text-align: center;
  display: block;
  margin: 0 auto;
  color: #134CA0;
  padding-bottom: 36px;
}
@media (max-width: 1250px) {
  #gpp2 ul li b {
    font-size: 40px;
  }
}
@media (max-width: 600px) {
  #gpp2 ul li b {
    font-size: 32px;
    padding-bottom: 16px;
  }
}
#gpp2 ul li p {
  text-align: center;
  font-size: 16px;
  line-height: 1.6;
}
@media (max-width: 1250px) {
  #gpp2 ul li p {
    font-size: 14px;
  }
}
@media (max-width: 600px) {
  #gpp2 ul li p {
    font-size: 12px;
  }
}
#gpp2 section div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 55px;
}
@media (max-width: 600px) {
  #gpp2 section div {
    display: block;
  }
}
#gpp2 section div b {
  color: #192549;
  font-size: 40px;
  line-height: 1.2;
}
@media (max-width: 600px) {
  #gpp2 section div b {
    font-size: 32px;
  }
}
#gpp2 section div h2 {
  color: #192549;
  font-size: 24px;
  line-height: 1.2;
}
@media (max-width: 600px) {
  #gpp2 section div h2 {
    font-size: 20px;
    padding-top: 20px;
  }
}
#gpp2 section p {
  font-size: 14px;
  color: #192549;
  padding-top: 87px;
}
@media (max-width: 600px) {
  #gpp2 section p {
    padding-top: 30px;
  }
}
#gpp2 section .img051 {
  display: block;
  width: 100%;
  margin: 0 auto;
}
#gpp2 .gpp2-exp {
  width: 100%;
  height: auto;
  background-color: #FFFDF0;
  padding-top: 48px;
  padding-bottom: 48px;
  margin-bottom: 50px;
}
#gpp2 .gpp2-exp p {
  text-align: center;
  line-height: 1.6;
}
#gpp2 .gpp2-exp p a {
  text-decoration: underline;
}
@media (max-width: 600px) {
  #gpp2 .gpp2-exp p {
    font-size: 14px;
    width: 90%;
    margin: 0 auto;
  }
}

#business-labo {
  width: 1200px;
  margin: 0 auto;
  padding-bottom: 237px;
}
@media (max-width: 1250px) {
  #business-labo {
    width: 90%;
  }
}
#business-labo img {
  display: block;
  margin: 0 auto;
  width: 100%;
  padding-top: 125px;
  padding-bottom: 57px;
}
@media (max-width: 780px) {
  #business-labo img {
    padding-top: 50px;
    padding-bottom: 45px;
  }
}
#business-labo p {
  font-size: 16px;
  line-height: 1.9;
}
@media (max-width: 780px) {
  #business-labo p {
    font-size: 14px;
  }
}

#jlt {
  width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 50px;
  padding-top: 87px;
  padding-bottom: 68px;
}
@media (max-width: 1250px) {
  #jlt {
    width: 90%;
  }
}
@media (max-width: 450px) {
  #jlt {
    padding-top: 30px;
  }
}
#jlt li {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 414px;
  height: 488px;
}
@media (max-width: 450px) {
  #jlt li {
    height: 110vw;
  }
}
#jlt li img {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  margin: auto;
  display: block;
  width: 100%;
  z-index: -1;
}
#jlt li div p {
  padding-top: 62px;
  font-size: 16px;
  line-height: 1.6;
  display: block;
  width: 80%;
  margin: 0 auto;
}
@media (max-width: 450px) {
  #jlt li div p {
    font-size: 14px;
  }
}
#jlt li div h3 {
  font-size: 16px;
  padding-top: 35px;
  display: block;
  width: 80%;
  margin: 0 auto;
}
@media (max-width: 450px) {
  #jlt li div h3 {
    font-size: 14px;
  }
}

#overview {
  width: 1200px;
  margin: 0 auto;
  padding-top: 131px;
  padding-bottom: 100px;
}
@media (max-width: 800px) {
  #overview {
    padding-top: 40px;
    padding-bottom: 60px;
  }
}
#overview section {
  background-color: #134CA0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 14px 0px 14px 0px;
}
#overview section h2 {
  font-size: 18px;
  color: #fff;
  font-weight: bold;
  width: 90%;
}
@media (max-width: 800px) {
  #overview section h2 {
    font-size: 14px;
  }
}
#overview div p {
  padding: 22px 0px 59px 0px;
  width: 90%;
  margin: 0 auto;
  font-size: 18px;
  font-weight: bold;
}
@media (max-width: 800px) {
  #overview div p {
    font-size: 14px;
  }
}
@media (max-width: 1220px) {
  #overview {
    width: 90%;
  }
}

#single {
  width: 900px;
  margin: 0 auto;
  padding-top: 60px;
  line-height: 2;
}
@media (max-width: 930px) {
  #single {
    width: 90%;
  }
}
#single h1, #single h2, #single h3, #single h4, #single h5, #single h6 {
  font-size: 26px;
  font-weight: bold;
  border-bottom: solid 4px #5FB530;
  position: relative;
  box-sizing: border-box;
  margin-bottom: 40px;
}
@media (max-width: 930px) {
  #single h1, #single h2, #single h3, #single h4, #single h5, #single h6 {
    font-size: 20px;
  }
}
#single h1::after, #single h2::after, #single h3::after, #single h4::after, #single h5::after, #single h6::after {
  content: "";
  position: absolute;
  display: block;
  width: 30%;
  height: 4px;
  bottom: -4px;
  left: 0px;
  margin: auto;
  background-color: #134CA0;
}
#single em {
  font-style: italic !important;
  font-weight: lighter;
}
#single p {
  padding-bottom: 20px;
}
#single p, #single b, #single em {
  font-size: 16px !important;
}
@media (max-width: 930px) {
  #single p, #single b, #single em {
    font-size: 14px;
  }
}

#post-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 900px;
  margin: 0 auto;
  padding: 50px 0px 50px 0px;
}
@media (max-width: 930px) {
  #post-link {
    width: 90%;
  }
}
#post-link a {
  width: 338px;
  height: 68px;
  display: block;
  border-radius: 68px;
  border: solid 1px;
  text-align: center;
  line-height: 68px;
  font-size: 14px;
  color: #fff;
  position: relative;
  background-color: #FF9300;
}
@media (max-width: 580px) {
  #post-link a {
    width: 30vw;
    height: 30vw;
    line-height: 25vw;
  }
}
#post-link a::before {
  content: "";
  display: block;
  width: 25px;
  height: 6px;
  background-position: center;
  background-repeat: no-repeat;
  background-repeat: no-repeat;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  margin: auto;
}
@media (max-width: 580px) {
  #post-link a::before {
    top: 20vw;
    bottom: initial;
  }
}
#post-link a::before {
  background-image: url("./img/img054.svg");
  left: initial;
  right: 27px;
}
#post-link a:first-child {
  background-color: #192549 !important;
}
#post-link a:first-child::before {
  background-image: url("./img/img053.svg") !important;
  right: initial !important;
  left: 27px !important;
}

/*レスポンシブ
----------------------------------------------*/
@media (max-width: 1100px) {
  .sp-off {
    display: none !important;
  }
}
@media (min-width: 1101px) {
  .pc-off {
    display: none !important;
  }
}/*# sourceMappingURL=style.css.map */