@charset "utf-8";

/* 
=================================================================================

▼▼▼　フォント　▼▼▼

=================================================================================
*/
.pop {
  font-family: "poppins", sans-serif;
}
.go {
  font-family: "noto-sans-cjk-jp", sans-serif;
}
.fs132 {
  font-size: 13.2rem;
}
.fs170 {
  font-size: 17rem;
}
/* 
=================================================================================

▼▼▼　色　▼▼▼

=================================================================================
*/
/* ▼ black ▼ */
.black {
  color: #000 !important;
}
.bg_black {
  background: #000 !important;
}
/* ▲ black ▲ */
/* ▼ white ▼ */
.white {
  color: #fff !important;
}
.bg_white {
  background: #fff !important;
}
/* ▲ white ▲ */
/* ▼ blue ▼ */
.blue {
  color: #004896 !important;
}
.bg_blue {
  background: #004896 !important;
}
/* ▲ blue ▲ */
/* ▼ orange ▼ */
.orange {
  color: #EA5514 !important;
}
.bg_orange {
  background: #EA5514 !important;
}
/* ▲ orange ▲ */
/* ▼ skin ▼ */
.skin {
  color: #F9F6EC !important;
}
.bg_skin {
  background: #F9F6EC !important;
}
/* ▲ skin ▲ */
/* ▼ red ▼ */
.red {
  color: #EA5514 !important;
}
.bg_red {
  background: #EA5514 !important;
}
/* ▲ red ▲ */
/* ▼ skin02 ▼ */
.skin02 {
  color: #F3EDD9 !important;
}
.bg_skin02 {
  background: #F3EDD9 !important;
}
/* ▲ skin02 ▲ */

/* 
=================================================================================

▼▼▼　スクロールヘッダー切り替え　▼▼▼

=================================================================================
*/
header {
  position: relative;
  background: #fff;
  width: 100%;
  padding: 0;
}
.scroll_nav {
  position: fixed;
  top: 0;/*ブラウザの上からの距離はゼロ*/
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  padding: 0;
  z-index: 10;
  transition: 1s all;
  opacity: 0;
}
body.nav_active .scroll_nav {
  opacity: 1;
}
/* @keyframes scroll_anime {
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}
@keyframes remove_anime {
  0%{
    opacity: 1;
  }
  100%{
    opacity: 0;
  }
} */
/*アニメーション用CSS*/
.updown{
  /* アニメーションの名前 */
  animation-name:UpDown;
  /* アニメーションの１回分の長さ */
  animation-duration: 1.5s;
  /* アニメーションの回数 */
  animation-iteration-count: infinite;
  /* アニメーションの進行具合 */
  animation-timing-function: ease-in-out;
  /* アニメーション再生の向き */
  animation-direction: alternate;
  }
  /* アニメーションの設定 */
  @keyframes UpDown{
  /* 開始地点 */
  0%{
  /* Y軸0px */
  transform: translateY(0);
  }
  /* 終了地点 */
  100%{
  /* Y軸50px */
  transform: translateY(-25%);
  }
  }
/* 
=================================================================================

▼▼▼　ハンバーガーメニュー　▼▼▼

=================================================================================
*/
.toggle_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 11;
  width: 8rem;
  height: 8rem;
  transition: all 0.5s;
  cursor: pointer;
  background: #333;
}
.toggle_btn span {
  display: block;
  position: absolute;
  right: calc((99.99% - (8rem * 0.6)) / 2);
  width: calc(8rem * 0.6);
  height: 0;
  border-top: calc(8rem * 0.05) solid #fff;
  background-color: #fff;
  transition: all 0.5s;
}
.toggle_btn span:nth-child(1) {
  transform: translateY(calc(8rem * 0.2));
}
.toggle_btn span:nth-child(2) {
}
.toggle_btn span:nth-child(3) {
  transform: translateY(calc(-8rem * 0.2));
}
.open .toggle_btn {
  background: #333;
  box-shadow: none;
}
.open .toggle_btn span {
  background-color: #fff;
}
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(0) rotate(-225deg);
  transform: translateY(0) rotate(-225deg);
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
  -webkit-transform: translateY(0) rotate(225deg);
  transform: translateY(0) rotate(225deg);
}

.gloval-nav {
  background-color: rgba(0, 0, 0, 0.7);
  position: fixed;
  z-index: 10;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  padding: 10rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transform: translateX(-100%);
  transition: 1s all;
}

.gloval-nav a {
display: block;
color: #fff;
padding: 1em 0;
transition: color .6s ease;
}
.gloval-nav {
  max-height: 100vh;
}
.gloval-nav ul {
  overflow-y: auto;
  width: 100%;
}
.gloval-nav ul > li {
opacity: 0;
transform: translateX(-200px);
transition:  transform .6s ease, opacity .2s ease;
}
.gloval-nav ul > li:nth-child(2) {
transition-delay: .1s;
}
.gloval-nav ul > li:nth-child(3) {
transition-delay: .2s;
}
.gloval-nav ul > li:nth-child(4) {
transition-delay: .3s;
}
.gloval-nav ul > li:nth-child(5) {
  transition-delay: .4s;
}
.gloval-nav ul > li:nth-child(6) {
  transition-delay: .5s;
}
.gloval-nav ul > li:nth-child(7) {
  transition-delay: .6s;
}
.gloval-nav ul > li:nth-child(8) {
  transition-delay: .7s;
}
.gloval-nav ul > li:nth-child(9) {
  transition-delay: .8s;
}
.gloval-nav ul > li:nth-child(n+10) {
  transition-delay: .9s;
}

/* open */
.open {
  overflow: hidden;
}
.open .gloval-nav {
visibility: visible;
transform: translateX(0);
transition: transform .6s;
}
.open .gloval-nav li {
opacity: 1;
transform: translateX(0);
transition:  transform 1s ease, opacity .9s ease;
}

/* 
=================================================================================

▼▼▼　カスタム　▼▼▼

=================================================================================
*/

html {
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: #004896 !important;
}
body {
  width: 100%;
}
.wrapper {
  width: 100%;
  overflow: hidden;
  position: relative;
}
main {
}
footer {
  background: #004896;
  color: #fff;
  padding: 1.5rem 0 1rem;
}
i {
  line-height: 1;
  font-size: initial;
  font-style: normal;
  vertical-align: baseline;
}
.material-symbols-outlined {
  font-size: inherit;
  line-height: inherit;
  vertical-align: bottom;
}
.b {
  font-weight: bold;
}
.m {
  font-weight: 500;
}
.role {
  transform: rotate(90deg);
}

section[class^="area"] {
  background: #fff;
  border: 3px solid #ccc;
  padding: 5rem;
  position: relative;
}
section[class^="area"] + section[class^="area"] {
  margin-top: 5rem;
}
@media screen and (min-width: 769px) {
  /* PC用 */
  html {
    font-size: 10px;
  }
  .inner {
    position: relative;
    max-width: 100%;
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  /* SP用 */
  html {
    font-size: calc(10vw / 750 * 100); /* 最大値768px、文字サイズ10pxの場合 */
  }
  .inner {
    width: 100%;
    padding: 0 6rem;
    max-width: 100%;
    margin: auto;
  }
}
ul.header01 > li {
  flex: 1;
}
header {
  position: relative;
}
.header_box {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
.header_box02 {
  position: absolute;
  top: 0;
  right: 0;
  padding: 2rem;
}
.btn01 > a {
  background: #fff;
  border-radius: 50vmin;
  padding: 1em 1.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
}
.btn01 > a .icon {
  display: inherit;
}
.mv {
  position: relative;
}
.mv .catch {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.mv .catch .img01 {
  top: 5%;
  position: absolute;
  width: 100%;
}
.mv .catch .img02 {
  bottom: 5%;
  position: absolute;
  width: 100%;
  z-index: 1;
}
.mv .catch .img03 {
  bottom: 5%;
  position: fixed;
  width: 100%;
  z-index: 1;
}
.mv .catch .img04 {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: -1px;
}
.slick-dots {
  position: absolute;
  bottom: -3rem;
}
.row_btns {
  position: absolute;
  bottom: -3rem;
  left: calc(50% + 5rem);
}
.row_btns img {
  width: 2rem;
  vertical-align: bottom;
}
.midashi02 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: -0.5em;
  z-index: -1;
}
.midashi02 .ja {
  position: absolute;
  border-bottom: 2px solid;
  padding: 0.5em 0;
}
.midashi02 .en {
  margin-left: -10rem;
}
/* ul.top_class01 */
ul.top_class01 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-wrap: wrap;
}
ul.top_class01 > li.img {
  position: relative;
  width: 25%;
  pointer-events: none;
  z-index: -1;
}
ul.top_class01 > li.img img {
  left: -10rem;
  bottom: -10rem;
  position: relative;
  max-width: none;
}
ul.top_class01 > li.txt {
  flex: 1;
}
/* ▲ ul.top_class01 ▲ */
ul.top_class01_01 > li {
  background: #fff;
  border: 3px solid;
  border-radius: 2rem;
  padding: 2rem 4rem;
}
ul.top_class01_01 > li:nth-child(2n-1) {
  color: #EA5514;
}
ul.top_class01_01 > li:nth-child(2n) {
  color: #004896;
}
ul.top_class01_01 > li + li {
  margin-top: 1.5rem;
}
ul.top_class01_01 > li .txt02 {
  background: #FFEF00;
  padding: 0 0.5em;
  color: #004896;
}
.top_class01_01_01 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 2rem;
}
.top_class01_01_01 small {
  font-size: 66.66%;
}
.top_class02 > a {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 1rem;
}
/* ul.top_class03 */
ul.top_class03 {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 3rem;
  flex-wrap: wrap;
}
ul.top_class03 > li {
  width: calc((99.99% - 3rem) / 2);
}
ul.top_class03 > li .img02_outer {
  position: relative;
}
ul.top_class03 > li .img02_outer .img02 {
  /* overflow: hidden;
  border-radius: 3rem; */
}
/* ▲ ul.top_class03 ▲ */
table.default01,
table.default02 {
  border-spacing: 4px;
  border-collapse: separate;
}
table.default01 th {
  padding: 0.5em 1em;
  font-weight: bold;
  background: rgba(0,72,150,0.2);
  width: 45%;
}
table.default01 td {
  padding: 0.5em 1em;
  font-weight: bold;
  background: rgba(0,72,150,0.05);
}
table.default02 th {
  padding: 0.5em 1em;
  font-weight: bold;
  background: rgba(234,85,20,0.2);
  width: 45%;
}
table.default02 td {
  padding: 0.5em 1em;
  font-weight: bold;
  background: rgba(234,85,20,0.05);
}
.slick-dotted.slick-slider {
  padding: 0;
}
.slick-initialized .slick-slide {
  padding: 0;
}
@media screen and (min-width: 769px) {/* PC用 */
  .midashi03 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .midashi03 .ja {
    position: absolute;
  }
}
.midashi03 .ja .ja_01 {
  position: relative;
}
.midashi03 .ja .ja_01:after {
  content: "";
  display: block;
  margin: 0.5em auto 0;
  width: 16rem;
  height: 2px;
  background: #000;
}
/* ul.top_class04 */
ul.top_class04 {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 8rem;
  flex-wrap: wrap;
}
ul.top_class04 > li.txt {
  flex: 1;
}
ul.top_class04 > li.txt .btn01 {
  margin-right: auto;
  margin-left: 0;
  display: table;
}
ul.top_class04 > li.txt .btn01 > a {
  background: #EA5514;
  color: #fff;
}
/* ▲ ul.top_class04 ▲ */
/* ul.top_class05 */
ul.top_class05 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8rem;
  flex-wrap: wrap;
  position: relative;
}
ul.top_class05 > li {
  width: calc((99.99% - 16rem) / 3);
  position: relative;
}
ul.top_class05 > li .box {
  background: #fff;
  border-radius: 2rem;
  overflow: hidden;
  min-height: 30rem;
}
ul.top_class05 > li .box .txt {
  padding: 1.5rem;
}
@media screen and (min-width: 769px) {/* PC用 */
  ul.top_class05 > li:nth-child(3n-1) {
    top: 8rem;
    position: relative;
  }
  ul.top_class05 > li .top_class05_arrow01 {
    position: absolute;
    left: -8rem;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
    width: 8rem;
    height: 8rem;
    background: url(./img/arrow04.webp) center center / 65px auto no-repeat;
  }
  ul.top_class05 > li .top_class05_arrow02 {
    position: absolute;
    right: -8rem;
    top: 50%;
    transform: translateY(-50%);
    width: 8rem;
    height: 8rem;
    background: url(./img/arrow04.webp) center center / 65px auto no-repeat;
  }
  ul.top_class05 > li .top_class05_arrow03 {
    position: absolute;
    left: -8rem;
    bottom: -8rem;
    transform: rotate(135deg);
    width: 8rem;
    height: 8rem;
    background: url(./img/arrow04.webp) center center / 65px auto no-repeat;
  }
  ul.top_class05 > li .top_class05_arrow04 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
    bottom: -8rem;
    width: 8rem;
    height: 8rem;
    background: url(./img/arrow04.webp) center center / 65px auto no-repeat;
  }
  ul.top_class05 > li .top_class05_arrow05 {
    position: absolute;
    right: -8rem;
    bottom: -8rem;
    transform: rotate(45deg);
    width: 8rem;
    height: 8rem;
    background: url(./img/arrow04.webp) center center / 65px auto no-repeat;
  }
  ul.top_class05:before {
    position: absolute;
    top: 3%;
    left: 10%;
    content: "";
    display: block;
    width: 80%;
    height: 80%;
    background: #F9F6EC;
    border-radius: 50vmin;
    overflow: hidden;
  }
}
/* ▲ ul.top_class05 ▲ */
.top_contact {
  position: relative;
}
.top_contact > .contents {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top_contact > .contents > .bg_orange,
#top05 .contents > .bg_orange {
  padding: 2rem;
  border-radius: 2rem;
}
/* .top_contact ul.bg {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
}
.top_contact ul.bg > li {
  flex: 1;
} */
.top_contact ul.bg > li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top_contact > .contents02 {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}
.top_contact > .contents02 img {
  transform: translateY(-50%);
}
.top_class06 {
  position: relative;
}
@media screen and (min-width: 769px) {/* PC用 */
  .top_class06 .box_01 {
    position: absolute;
  }
}
.top_class06 .flag {
  padding-left: 4rem;
}
.top_class06 .contents {
  border: 2px solid;
  border-radius: 4rem;
  overflow: hidden;
}
.top_class06 .contents .midashi04 {
  text-align: center;
  color: #fff;
  padding: 0.5em;
}
.top_class06 .contents .contents_box {
  background: #F9F6EC;
  padding: 5rem 10rem 8rem;
}
/* ul.event_list */
ul.event_list > li {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 5rem;
  flex-wrap: wrap;
}
ul.event_list > li .txt_box {
  flex: 1;
}
ul.event_list > li .time {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1.5rem;
}
ul.event_list > li + li {
  margin-top: 3rem;
}
ul.event_list > li .img {
  overflow: hidden;
  border-radius: 2rem;
}
@media screen and (min-width: 769px) {/* PC用 */
  ul.event_list > li:nth-child(2n) .img {
    order: 1;
  }
}
/* ▲ ul.event_list ▲ */
#top04 .map {
  position: relative;
}
ul.top_class07 {
  left: 0;
  bottom: 0;
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
ul.top_class07 > li {
  width: 100%;
  border: 3px solid;
  padding: 1.5rem 3rem;
  border-radius: 2rem;
}
/* ▼ 縦横比固定 ▼ */
.youtube {
  position: relative;
  border: 3px solid;
  border-radius: 2rem;
  overflow: hidden;
}
.youtube:before {
    top: 0;
    left: 0;
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    content: "";
    display: block;
}
.youtube > * {
    top: 0;
    left: 0;
    position: absolute;
    width: 100%;
    height: 100%;
}
/* ▲ 縦横比固定 ▲ */
/* ul.map02 */
@media screen and (min-width: 769px) {/* PC用 */
  ul.map02 {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    gap: 5rem;
    flex-wrap: wrap;
  }
  ul.map02 > li {
    width: calc((99.99% - 5rem) / 2);
  }
  ul.map02 > li h3 {
    padding-left: 3rem;
  }
}
@media screen and (max-width: 768px) {/* SP用 */
  ul.map02 > li + li {
    margin-top: 3rem;
  }
  .youtube::before {
    padding-top: 66.66%;
  }
}
/* ▲ ul.map02 ▲ */
@media screen and (min-width: 769px) {/* PC用 */
  .midashi05 {
    overflow: hidden;
    width: 100%;
    white-space: nowrap;
    margin-bottom: -0.5em;
  }
  ul.top_class08 {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
  }
  ul.top_class08 > li.txt_box {
    flex: 1;
  }
  #top05 ul.contents02 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
  }
  ul.footer_class01 {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
ul.footer_class01 > li {
  width: 100%;
}
.row_btns {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 3em;
}
.row_btns .btn01 > a {
  background: #004896 !important;
  color: #fff;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　▼▼　以降SP用　▼▼
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
@media screen and (max-width: 768px) {/* SP用 */
  .copyright {
    font-size: 2rem !important;
  }
  ul.top_class07 > li .fs16, 
  table.default01.fs14, 
  table.default02.fs14, 
  ul.top_class01_01 > li .top_class01_01_02 {
    font-size: 2.4rem !important;
  }
  /* body .fs14 {
    font-size: 2.4rem !important;
  }
  body .fs16 {
    font-size: 2.4rem !important;
  }
  ul.top_class05 > li .box + .fs14,
  ul.top_class05 > li .box .txt .fs14, 
  ul.top_class04 > li.txt .btn01,
  ul.top_class04 > li.txt .fs16, */
  ul.top_class07 > li .fs24 {
    font-size: 2.6rem !important;
  }
  body .fs14, 
  body .fs16, 
  body .fs24 {
    font-size: 3rem !important;
  }
  #top05 ul.contents02 > li .fs20,
  ul.event_list > li h5, 
  ul.event_list > li .time, 
  .top_class06 .contents .midashi04, 
  ul.top_class01_01 > li .txt03,
  .sp_foot_btn > a {
    font-size: 3.6rem !important;
  }
  #top05 ul.contents02 > li .fs30 {
    font-size: 4.4rem !important;
  }
  body .fs40 {
    font-size: 5rem !important;
  }
  body .fs50 {
    font-size: 6rem !important;
  }
  #top05 ul.contents02 > li .fs50 {
    font-size: 7rem !important;
  }
  .fs170 {
    font-size: 13.8rem;
  }
  body .pb100 {
    padding-bottom: 14rem !important;
  }
  body .mt80 {
    margin-top: 14rem !important;
  }
  h1 {
    text-align: center;
  }
  h1 img {
    width: 40rem;
  }
  header,
  ul.header01 {
    height: 10rem;
  }
  .mv .catch .img01 {
  }
  .mv .catch .img01 img {
    width: 55rem;
  }
  .mv .catch .img02 img {
    width: 70rem;
  }
  ul.top_class01 > li.img {
    display: none;
  }
  #top01 {
    background: url(./img/top01.webp) top 2rem right / 40rem auto no-repeat;
  }
  .midashi02 {
    z-index: 0;
    margin: 0 0 8rem;
  }
  .midashi02 .en {
    margin-left: -6rem;
  }
  .top_class01_01_01 {
    flex-wrap: wrap;
    gap: 1rem 3rem;
    margin-bottom: 2rem;
  }
  ul.top_class01_01 > li {
    padding: 3rem 5rem;
  }
  .top_class02 {
    text-align: right;
  }
  ul.top_class03 > li {
    width: 100%;
  }
  ul.top_class03 > li .img01 img {
    width: 43rem;
  }
  .midashi05,
  .midashi03 {
    font-size: 0;
    margin-bottom: 8rem;
  }
  .midashi05,
  .midashi03 .en {
    font-size: 13.8rem;
    margin-left: -4rem;
    margin-bottom: -0.5em;
    display: block;
  }
  ul.top_class05 {
    margin-top: 8rem !important;
  }
  ul.top_class05 > li {
    width: 100%;
  }
  ul.top_class05 > li:nth-child(2) {
    order: -1;
  }
  ul.top_class05 > li .box .txt {
    padding: 3.5rem;
  }
  .top_contact > .contents02 img {
    width: 35.6rem;
  }
  .top_contact > .contents > .bg_orange,
  #top05 .contents > .bg_orange {
    padding: 4rem;
  }
  .top_class06 .box_01 {
    margin-bottom: 4rem;
  }
  .top_class06 .contents .contents_box {
    padding: 8rem 3rem;
  }
  .top_class06 .contents .contents_box .img img {
    width: 100%;
  }
  ul.event_list > li + li {
    margin-top: 8rem;
  }
  ul.top_class08 > li.txt_box .item01 img {
    width: 50rem;
  }
  ul.top_class08 > li.txt_box .item02 {
    margin-bottom: 8rem;
  }
  ul.top_class08 > li.txt_box .item03 {
    margin-bottom: 5rem;
  }
  ul.top_class08 > li.txt_box .item04 {
    margin-bottom: 3rem;
  }
  #top05 .contents {
    margin: 8rem auto !important;
  }
  #top05 ul.contents02 > li {
    text-align: left !important;
  }
  #top05 ul.contents02 > li > p {
    line-height: 1.5;
  }
  ul.footer_class01 > li {
    text-align: center !important;
  }
  footer {
    padding: 3rem 0 2rem;
  }
  .sp_foot_btn {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 2;
  }
  .sp_foot_btn > a {
    display: block;
    text-align: center;
    background: #EA5514;
    color: #fff;
    padding: 2rem;
    min-height: 15rem;
  }
  .sp_foot_btn > a img {
    vertical-align: baseline;
    width: 1em;
  }
  body {
    padding-bottom: 15rem;
  }
  ul.top_class07 {
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: nowrap;
  }
  ul.top_class07 > li {
    width: 100%;
  }
  ul.top_class03 > li > .img02 .row_btns {
    font-size: 2.4rem !important;
  }
}