/* production date 2025/5/21 */

/*
576px ...スマホ
768px ...タブレット
992px ...小さなモニタ
1200px ...少し小さいパソコンのモニタ
1400px ...一般的なパソコンのモニタ*/

@charset "utf-8";

/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 1200px){

}

@media print,screen and (max-width: 992px){

}

@media print,screen and (max-width: 768px){

}

@media print,screen and (max-width: 576px){

}




/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* html body */

@font-face {
	font-family: "Noto sans JP" , sans-serif;
	src: url("../fonts/NotoSansJP-VariableFont_wght.ttf") format('truetype') ;
}
@font-face {
	font-family: "Orelega One";
  font-weight: 400;
	src: url("../fonts/OrelegaOne-Regular.ttf") format('truetype') ;
}


html {
  scroll-behavior: smooth;
}
#js_hamburgerFixed.is_active{
  overflow: hidden;
}

html,body,a,button,
.form_box_item label,
.form_box_item label input,
.form_box_item label textarea{
  cursor: none;
}

body {
    scroll-margin-top: 0px;
    overflow: auto;
    overflow-x: hidden;
    position: relative;
    background: #FFF;
    color: #1D3D6B;
    font-size: 16px;
    font-weight: 400;
    font-family: "Noto sans JP" , sans-serif;
    letter-spacing: 0.01em;
    line-height: 1.8;
}

img {
  user-select: none; /* 選択禁止 */
  -webkit-user-drag: none; /* Webkitブラウザ（ChromeやSafari）向け */
  -webkit-user-select: none;
  -moz-user-select: none; /* Firefox向け */
  -ms-user-select: none; /* IE向け */
  pointer-events: none; /* 右クリックや長押し禁止 */
}

.overlay_bg{
  top: 0;
  left: 0;
  right: 0;
  display: block;
  position: absolute;
  mix-blend-mode: overlay;
  opacity: 0.5;
  z-index: 99999;
}
.overlay_bg img{
  position: fixed;
  width: 100%;
  height: 2000px;
  object-fit: cover;
}


/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 1100px){
  html,body,a,button,
  .form_box_item label,
  .form_box_item label input,
  .form_box_item label textarea{
    cursor: auto;
  }
}

@media print,screen and (max-width: 768px){
  p{
    font-size: 15px;
}

  html,body,a,button,
  .form_box_item label,
  .form_box_item label input,
  .form_box_item label textarea{
    cursor: auto;
  }
}



/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* common */


/* title */

.title_style_01{
  font-size: 24px;
  font-weight: 700;
  color: #FFF;
  padding: 0px 0px 35px;
  border-bottom: 1.5px #fff solid;
  text-align: center;
  opacity: 0;
  margin-bottom: 100px;
  pointer-events: none;
  z-index: 999999;
}

.title_style_01 span{
  font-size: 64px;
  font-weight: 400;
  font-family: "Orelega One" , sans-serif;
  text-transform: uppercase;
  margin-bottom: 18px;
  display: block;
  text-align: center;
}

.title_style_01.is_active{
  animation: title_style_01 0.4s ease-out forwards;
}

@keyframes title_style_01{
  0%{
      opacity: 0;
      transform: translateY(30px);
  }
  100%{
      opacity: 1;
      transform: translateY(0%);
  }
}

.title_style_02{
  opacity: 0;
  font-size: 24px;
  font-weight: 700;
  color: #1D3D6B;
  padding: 0px 0px 35px;
  border-bottom: 1.5px #1D3D6B solid;
  text-align: center;
}

.title_style_02 span{
  font-size: 64px;
  font-weight: 400;
  font-family: "Orelega One" , sans-serif;
  text-transform: uppercase;
  margin-bottom: 18px;
  display: block;
  text-align: center;
}

.title_style_02.is_active{
  animation: title_style_02 0.4s ease-out forwards;
}

@keyframes title_style_02{
  0%{
      opacity: 0;
      transform: translateY(30px);
  }
  100%{
      opacity: 1;
      transform: translateY(0%);
  }
}

.title_style_02_lowercase{
  opacity: 0;
  font-size: 34px;
  font-weight: 700;
  color: #1D3D6B;
  padding: 0px 0px 35px;
  border-bottom: 1.5px #1D3D6B solid;
  text-align: center;
}

.title_style_02_lowercase br{
  display: none;
}

.title_style_02_lowercase span{
  font-size: 64px;
  font-weight: 400;
  font-family: "Orelega One" , sans-serif;
  margin-bottom: 18px;
  display: block;
  text-align: center;
}

.title_style_02_lowercase.is_active{
  animation: title_style_02 0.4s ease-out forwards;
}

@keyframes title_style_02_lowercase{
  0%{
      opacity: 0;
      transform: translateY(30px);
  }
  100%{
      opacity: 1;
      transform: translateY(0%);
  }
}

/* text */

.text_style_01{
  opacity: 0;
  color: #FFF;
  text-align: justify;
  text-justify: inter-ideograph;
  line-break: strict;
  line-height: 1.8;
}

.text_style_01 span{
  display: block;
  font-size: 24px;
  font-weight: 700;
  margin: 60px 0px 45px;
  text-align: center;
}

.text_style_02,
.text_style_02_2,
.text_style_02_3{
  opacity: 0;
  text-align: justify;
  text-justify: inter-ideograph;
  line-break: strict;
}

.text_style_02 span{
  width: 349px;
  height: 95px;
  display: block;
  font-size: 24px;
  font-weight: 700;
  margin: 40px auto;
  text-align: center;
  border-bottom: 1.5px solid #1D3D6B;
}

.text_style_02_2 span{
  width: 240px;
  height: 95px;
  display: block;
  font-size: 24px;
  font-weight: 700;
  margin: 40px auto;
  text-align: center;
  border-bottom: 1.5px solid #1D3D6B;
}

.text_style_02_3 span{
  width: 179px;
  height: 95px;
  display: block;
  font-size: 24px;
  font-weight: 700;
  margin: 40px auto;
  text-align: center;
  border-bottom: 1.5px solid #1D3D6B;
}

.text_style_02 span::before{
  color: #E94557;
  content: "01";
  font-size: 64px;
  font-family: "Orelega One" , sans-serif;
  font-weight: 500;
  margin-right: 12px;
}

.text_style_02_2 span::before{
  color: #E94557;
  content: "02";
  font-size: 64px;
  font-weight: 500;
  font-family: "Orelega One" , sans-serif;
  margin-right: 12px;
}

.text_style_02_3 span::before{
  color: #E94557;
  content: "03";
  font-size: 64px;
  font-weight: 500;
  font-family: "Orelega One" , sans-serif;
  margin-right: 12px;
}




.text_style_03{
  opacity: 0;
  position: relative;
  text-align: justify;
  text-justify: inter-ideograph;
  line-break: strict;
}

.text_style_03 span{
  display: block;
  font-size: 24px;
  font-weight: 700;
  text-decoration: 1.5px underline #1D3D6B;
  text-underline-offset: 13px;
  padding-bottom: 2px;
  margin: 0px 0px 40px 20px;
}

.text_style_03 span::before{
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 12px;
  height: 12px;
  background: #E94557;
  border-radius: 50px;
  margin: 10px 10px 10px 0px;
}

.text_style_03_2{
  opacity: 0;
  position: relative;
  text-align: justify;
  text-justify: inter-ideograph;
  line-break: strict;
  max-width: 40%;
}

.text_style_03_2 span{
  display: block;
  font-size: 24px;
  font-weight: 700;
  padding-bottom: 2px;
  text-decoration: 1.5px underline #1D3D6B;
  text-underline-offset: 13px;
  margin: 0px 0px 40px 20px;
}

.text_style_03_2 span::before{
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 12px;
  height: 12px;
  background: #E94557;
  border-radius: 50px;
  margin: 10px 10px 10px 0px;
}

::-webkit-full-page-media, :future, :root .text_style_03 span {
  text-decoration: none;
  text-underline-offset: 0px;
  border-bottom: #1D3D6B 1.5px solid;
  width: 270px;
}
::-webkit-full-page-media, :future, :root .text_style_03_2 span {
  text-decoration: none;
  text-underline-offset: 0px;
  border-bottom: #1D3D6B 1.5px solid;
  width: 270px;
}
::-webkit-full-page-media, :future, :root .text_style_03_3 span {
  text-decoration: none;
  text-underline-offset: 0px;
  border-bottom: #1D3D6B 1.5px solid;
  width: 130px;
}

.text_style_01.is_active,
.text_style_02.is_active,
.text_style_02_2.is_active,
.text_style_02_3.is_active,
.text_style_03.is_active,
.text_style_03_2.is_active{
  animation: text_style_01 0.8s ease-out forwards;
}
@keyframes text_style_01{
  0%{
      opacity: 0;
      transform: translateY(30px);
  }
  100%{
      opacity: 1;
      transform: translateY(0%);
  }
}


/* btn */

.btn_more{
  margin: 0px 250px;
}

.btn_more a{
  display: inline-block;
  padding: 15px 108px;
  font-size: 22px;
  font-weight: 700;
  color: #5EB74C;
  background: #fff;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
  transition: color 0.3s ease-in , background-color 0.3s ease-in;
  justify-content: flex-end;
}

@media (hover:hover){
.btn_more a:hover,
.btn_more a:focus{
  color: #FFF;
  background: #1D3D6B;
}
}

.btn_more_02{
  margin: 0px 250px;
}

.btn_more_02 a{
  display: inline-block;
  padding: 15px 90px;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  background: #5EB74C;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
  transition: background-color 0.3s ease-in;
  justify-content: flex-end;
}

@media (hover:hover){
.btn_more_02 a:hover,
.btn_more_02 a:focus{
  background: #1D3D6B;
}
}


.btn_more_03 a{
  display: inline-block;
  padding: 15px 30px 15px 0px;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  background: #5EB74C;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
  transition: background-color 0.3s ease-in;
  justify-content: flex-end;
}

@media (hover:hover){
.btn_more_03 a:hover,
.btn_more_03 a:focus{
  background: #1D3D6B;
}
}

.about_btn_inner{
  display: flex;
  justify-content: space-between;
  padding: 0px 10px;
}

.btn_more_04_1,
.btn_more_04_2{
  display: inline-block;
}

.btn_more_04_1 a,
.btn_more_04_1_sp a{
  display: flex;
  padding: 22px 108px;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  background: #37A3DD;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s ease-in;
  -webkit-transition: opacity 0.3s ease-in;
}

.btn_more_04_1_sp{
  display: none;
}


.btn_more_04_2 a{
  display: flex;
  padding: 22px 108px;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  background: #5EB74C;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s ease-in;
  -webkit-transition: opacity 0.3s ease-in;
}

@media (hover:hover){
  .btn_more_04_1 a:hover,
  .btn_more_04_1 a:focus,
  .btn_more_04_1_sp a:hover,
  .btn_more_04_1_sp a:focus,
  .btn_more_04_2 a:hover,
  .btn_more_04_2 a:focus{
    opacity: 0.5;
  }
  }

/* メディアクエリ */
/* ------------------------------------------------------------------------- */

@media print,screen and (max-width: 1200px){
  .title_style_02_lowercase{
    font-size: 28px;
  }
}

@media print,screen and (max-width: 1100px){
  .about_btn_inner{
    display: flex;
    justify-content: center;
    margin-top: -10px;
  }

  .btn_more_04_1{
    display: none;
  }

  .btn_more_04_1_sp a{
    display: flex;
    padding: 18px 91px;
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    background: #37A3DD;
    border-radius: 40px;
    justify-content: center;
    align-items: center;
    transition: opacity 0.3s ease-in;
    -webkit-transition: opacity 0.3s ease-in;
  }

  .btn_more_04_2 a{
    display: flex;
    padding: 18px 91px;
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    background: #5EB74C;
    border-radius: 40px;
    justify-content: center;
    align-items: center;
    transition: opacity 0.3s ease-in;
    -webkit-transition: opacity 0.3s ease-in;
  }

  .btn_more_04_1_sp{
    display: inline-block;
  }
}

@media print,screen and (max-width: 992px){
  .title_style_01{
    margin-bottom: 50px;
  }

  .title_style_01,
  .title_style_02{
    font-size: 18px;
    padding: 0px 0px 20px;
  }

  .title_style_01 span,
  .title_style_02 span,
  .title_style_02_lowercase span{
    font-size: 44px;
    margin-bottom: 15px;
  }

  .title_style_02_lowercase{
    font-size: 25px;
    padding: 0px 0px 20px;
  }

  .text_style_01 span{
    font-size: 20px;
    margin: 50px 0px 35px;
  }

  .text_style_02 span{
    font-size: 20px;
    margin: 50px auto 40px;
    width: 290px;
    height: 75px;
  }
  .text_style_02_2 span{
    font-size: 20px;
    margin: 50px auto 40px;
    width: 230px;
    height: 75px;
  }
  .text_style_02_3 span{
    font-size: 20px;
    margin: 50px auto 40px;
    width: 170px;
    height: 75px;
  }


  .text_style_02 span::before{
    font-size: 50px;
    margin-right: 10px;
  }
  .text_style_02_2 span::before{
    font-size: 50px;
    margin-right: 10px;
  }
  .text_style_02_3 span::before{
    font-size: 50px;
    margin-right: 10px;
  }

  .text_style_03{
    display: inline-block;
  }
  .text_style_03 span{
    font-size: 20px;
    text-underline-offset: 14px;
  }
  .text_style_03 span::before{
    left: 0;
    top: 2px;
    width: 10px;
    height: 10px;
  }

  .text_style_03_2{
    position: relative;
    display: inline-block;
    max-width: none;
  }

  .text_style_03_2 span{
    font-size: 20px;
  }

  .text_style_03_2 span::before{
    content: "";
    left: 0;
    width: 10px;
    height: 10px;
    top: 2px;
  }

  ::-webkit-full-page-media, :future, :root .text_style_03 span {
    width: 225px;
  }
  ::-webkit-full-page-media, :future, :root .text_style_03_2 span {
    width: 225px;
  }
  ::-webkit-full-page-media, :future, :root .text_style_03_3 span {
    width: 105px;
  }


  .btn_more{
    margin: 0px 0px;
  }

  .btn_more a{
    position: relative;
    display: inline-block;
    padding: 15px 100px;
    font-size: 20px;
    text-align: center;
  }

  .btn_more_02{
    margin: 0px 0px;
  }

  .btn_more_02 a{
    position: relative;
    display: inline-block;
    padding: 15px 100px;
    font-size: 20px;
    text-align: center;
  }

  .btn_more_03 a{
    display: flex;
    padding: 15px 30px 15px 0px;
    font-size: 22px;
    justify-content: center;
    align-items: center;
  }
}

@media print,screen and (max-width: 768px){

  .btn_more a{
    font-size: 18px;
  }

  .btn_more a::after{
    top: 15px;
    right: 25px;
  }

  .btn_more_02 a{
    font-size: 18px;
  }

  .btn_more_02 a::after{
    top: 15px;
  }

  .title_style_02_lowercase{
    padding: 0px 0px 20px;
  }

  .text_style_02 span,
  .text_style_02_2 span,
  .text_style_02_3 span{
    height: 75px;
  }

  .text_style_02_2 span{
    width: 190px;
  }

  .text_style_02_3 span{
    width: 150px;
  }

  .text_style_03 span,
  .text_style_03_2 span{
    font-size: 18px;
  }

  .text_style_03 span::before{
    top: -1px;
  }

  .text_style_03_2 span::before{
    top: -1px;
  }

  ::-webkit-full-page-media, :future, :root .text_style_03 span {
    width: 200px;
  }
  ::-webkit-full-page-media, :future, :root .text_style_03_2 span {
    width: 200px;
  }
  ::-webkit-full-page-media, :future, :root .text_style_03_3 span {
    width: 98px;
  }

  .about_btn_inner{
    margin-top: -30px;
  }

  .btn_more_04_1_sp a,
  .btn_more_04_2 a{
    font-size: 19px;
  }
}

@media print,screen and (max-width: 576px){
  .title_style_01,
  .title_style_02{
    font-size: 14px;
    padding: 0px 0px 15px;
  }
  .title_style_02_lowercase{
    font-size: 18px;
    padding: 0px 0px 20px;
  }
  .title_style_02_lowercase br{
    display: block;
  }

  .title_style_01 span,
  .title_style_02 span{
    font-size: 32px;
    margin-bottom: 8px;
  }

  .title_style_02_lowercase span{
    font-size: 35px;
    margin-bottom: 8px;
  }


  .text_style_01 span{
    font-size: 16px;
    margin: 40px 0px 25px;
  }

  .text_style_02 span{
    font-size: 16px;
    margin: 40px auto 30px;
    width: 230px;
    height: 62px;
  }
  .text_style_02_2 span{
    font-size: 16px;
    margin: 40px auto 30px;
    width: 150px;
    height: 62px;
  }
  .text_style_02_3 span{
    font-size: 16px;
    margin: 40px auto 30px;
    width: 128px;
    height: 62px;
  }

  .text_style_02 span::before{
    font-size: 40px;
    margin-right: 7px;
  }
  .text_style_02_2 span::before{
    font-size: 40px;
    margin-right: 7px;
  }
  .text_style_02_3 span::before{
    font-size: 40px;
    margin-right: 7px;
  }

  .text_style_03 span{
    font-size: 16px;
    text-underline-offset: 12px;
  }

  .text_style_03 span::before{
    top: -3px;
  }

  .text_style_03_2 span{
    text-underline-offset: 12px;
    font-size: 16px;
  }

  .text_style_03_2 span::before{
    top: -3px;
  }

  ::-webkit-full-page-media, :future, :root .text_style_03 span {
    width: 178px;
  }
  ::-webkit-full-page-media, :future, :root .text_style_03_2 span {
    width: 178px;
  }
  ::-webkit-full-page-media, :future, :root .text_style_03_3 span {
    width: 88px;
  }

  .btn_more a,
  .btn_more_02 a,
  .btn_more_03{
    font-size: 16px;
  }

  .btn_more_04_1_sp a,
  .btn_more_04_2 a{
    font-size: 16px;
  }
}


/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* hp */

.hp_color01{
  color: #1D3D6B;
  border-bottom: #1D3D6B 1.5px solid;
}


/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* header */

.header_block{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  left: 0;
  pointer-events: none;
  z-index: 99998;
}

.header_inner_01{
  pointer-events: all;
  position: absolute;
  display: flex;
  justify-content: space-between;
  width: 389px;
  height: 236px;
  margin: 27px 27px;
}


.header_logo{
  pointer-events: all;
  display: inline-block;
  position: relative;
  width: 100%;
  height: auto;
  z-index: 200;
}

@media (hover:hover){
  .header_logo:hover,
  .header_logo:focus,
  .header_logo02:hover,
  .header_logo02:focus,
  .header_logo02_sp:hover,
  .header_logo02_sp:focus{
    opacity: 0.7;
  }
  }


.header_logo_text{
  margin: 15px 0px;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.03em;
  line-height: 25px;
  z-index: 100;
}

.header_logo_text02{
  margin: 15px 0px;
  color: #1D3D6B;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 25px;
  z-index: 100;
}

.header_logo_text02.is_active{
  color: #fff;
  position: fixed;
  left: 270px;
}

.header_nav{
  pointer-events: all;
  position: absolute;
  display: flex;
  position: fixed;
  justify-content: flex-end;
  width: 100%;
  height: auto;
}

.header_nav ul{
  display: flex;
  gap: 34px;
  margin: 50px 60px 0px 0px;
}

.header_nav ul li a{
  font-family: "Orelega One" , sans-serif;
  color: #fff;
  text-transform: uppercase;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.02em;
  border: 1px solid #fff;
  border-radius: 50px;
  padding: 6px 17px;
  transition: border 0.2s ease-in , background-color 0.2s ease-in;
}

#js_header.invert{
  mix-blend-mode: difference;
}
#js_header.is_active{
  position: fixed;
  mix-blend-mode: normal;
}

#js_headerNav02.invert{
  mix-blend-mode: difference;
}
#js_headerNav02.is_active{
  color: #FFF;
  position: fixed;
  mix-blend-mode: normal;
}

@media (hover:hover){
  .header_nav ul li a:hover,
  .header_nav ul li a:focus{
    mix-blend-mode: normal;
    background: #1D3D6B;
    border: 1px solid #1D3D6B;
  }

  #js_header.invert:hover,
  #js_header.invert:focus,
  #js_headerNav02.invert:hover,
  #js_headerNav02.invert:focus{
    mix-blend-mode: normal;
  }
}


/* ------------------------------------------------------------------------- */
/* about_header */

.about_header_bg{
  position: relative;
  top: 0px;
  left: 0px;
  right: 0px;
  width: 100%;
  object-fit: cover;
}

.about_header_bg img{
  width: 100%;
  height: 26vw;
  object-fit: cover;
}

.about_header_bg02{
  display: none;
  position: relative;
  top: 0px;
  left: 0px;
  right: 0px;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.header_logo02{
  display:inline-block;
  position: relative;
  width: 100%;
  height: auto;
  z-index: 200;
}

.header_logo02_sp{
  display: none;
  position: relative;
  width: 100%;
  height: auto;
  z-index: 200;
}

.header_logo02.is_active{
  display: none;
}

.header_logo02_sp.is_active{
  display: inline-block;
  position: fixed;
  pointer-events: none;
}

.about_header_bg03{
  display: none;
  position: relative;
  width: 100%;
  height: auto;
  z-index: 200;
}

.about_header_bg03 img{
  width: 100%;
  height: auto;
  object-fit: cover;
}


/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 1800px){
  .about_header_bg img{
    height: 29vw;
  }
}

@media print,screen and (max-width: 1350px){
  .about_header_bg{
    display: none;
  }

  .about_header_bg02{
    display: block;
  }

  .about_header_bg02 img{
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .header_nav{
    position: absolute;
    display: flex;
    position: fixed;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    overflow: hidden;
    top: 330px;
    left: 0px;
    right: 0px;
    width: auto;
    height: auto;
    opacity: 0;
    margin: 0px 10% 0px 10%;
  }

  .header_nav.is_active {
    opacity: 1;
    pointer-events: all;
}

  .header_nav ul{
    display: block;
    width: 100%;
    height: auto;
    gap: 0px;
    margin: 0px 0px;
  }

  .header_nav ul li a{
    display: inline-block;
    width: 100%;
    max-width: 1200px;
    color: #E7E7E7;
    margin-bottom: 30px;
    text-align: center;
    font-size: 24px;
    padding: -3px auto;
    transition: border 0.2s ease-in , color 0.2s ease-in , background-color 0.2s ease-in;
}

.header_nav ul li a:hover,
.header_nav ul li a:focus{
  background: #fff;
  color: #1D3D6B;
  border: 1px solid #1D3D6B;
}
}


@media print,screen and (max-width: 992px){
  .header_inner_01{
    width: auto;
    height: 236px;
    margin: 27px 27px;
    display: flex;
    justify-content: flex-start;
  }

  .header_logo,
  .header_logo02,
  .header_logo02_sp{
    margin: -10px 0px 0px -10px;
  }
  .header_logo img,
  .header_logo02 img,
  .header_logo02_sp img{
    width: 200px;
    height: auto;
  }
  .header_logo02_sp img{
    width: 190px;
  }

  .header_logo_text,
  .header_logo_text02{
    margin: 15px 0px 0px 20px;
    font-size: 14px;
    letter-spacing: 0.03em;
    line-height: 23px;
    z-index: 100;
  }

  #js_headerText.is_active{
    left: 215px;
    color: #fff;
  }
}

@media print,screen and (max-width: 830px){
  .header_logo_text02{
    display: none;
    margin: 1.5vw 0px 0px 2vw;
    color: #1D3D6B;
    font-size: 14px;
    line-height: 1.6;
  }
}


@media print,screen and (max-width: 768px){
  .header_logo img,
  .header_logo02 img{
    width: 170px;
  }

  .header_logo02_sp img{
    width: 160px;
  }

  .header_logo_text{
    display: none;
    margin: 1.5vw 0px 0px 2vw;
    color: #1D3D6B;
    font-size: 14px;
    line-height: 1.6;
  }

  .header_nav{
    top: 40vw;
  }

  .header_nav ul li a{
    max-width: 800px;
    padding: 3px 17px;
    transition: border 0.2s ease-in , background-color 0.2s ease-in;
}
}

@media print,screen and (max-width: 700px){
  .about_header_bg02{
    display: none;
  }

  .about_header_bg03{
    display: block;
  }

  .header_logo_text02{
    display: none;
  }

  .header_nav{
    top: 50vw;
  }
}

@media print,screen and (max-width: 450px){
  .header_logo img,
  .header_logo02 img{
    width: 150px;
  }

  .header_logo02_sp img{
    width: 140px;
  }

  .header_nav{
    top: 60vw;
  }
}

@media print,screen and (max-width: 380px){
  .header_logo,
  .header_logo02,
  .header_logo02_sp{
    margin: -15px 0px 0px -15px;
  }
  .header_logo img,
  .header_logo02 img{
    width: 140px;
  }

  .header_logo02_sp img{
    width: 130px;
  }
}




/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* hamburger */

.hamburger{
  display: flex;
  justify-content: flex-end;
}

.hamburger_menu{
  display: none;
  width: 40px;
  height: 40px;
}

.hamburger_bar1,
.hamburger_bar2,
.hamburger_bar3{
  display: block;
  background: #fff;
  width: 40px;
  height: 2px;
  margin: 10px auto 0px;
  transition: transform 0.2s , width 0.2s , opacity 0.2s;
  transform-origin: 1px 1px;
}

.hamburger_menu.is_active .hamburger_bar1{
  transform: translateY(26px) rotate(-45deg);
  width: 100px;
  color: #FFF;
  z-index: 99999;
}

.hamburger_menu.is_active .hamburger_bar2{
  opacity: 0;
  width: 30px;
}

.hamburger_menu.is_active .hamburger_bar3{
  transform: translateY(-26px) rotate(45deg);
  width: 100px;
  color: #FFF;
  z-index: 99999;
}

.hamburger_bg{
  overflow: hidden;
  opacity: 0;
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  background: #1D3D6B;
  pointer-events: none;
  transition: opacity 0.3s ease-out;
  z-index: 99990;
}

.hamburger_bg_white{
  position: absolute;
  display: flex;
  align-items: flex-end;
  width: auto;
  height: auto;
  object-fit: contain;
  top: 750px;
}

.hamburger_bg.is_active,
.hamburger_bg_white.is_active{
  opacity: 1;
  transition: opacity 0.4s ease-out;
  display: block;
  overflow: hidden;
}


/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 1350px){
  .hamburger_menu{
    overflow: hidden;
      pointer-events: all;
      position: fixed;
      display: flex;
      flex-wrap: wrap;
      margin: 40px 50px 0px;
  }
}

@media print,screen and (max-width: 992px){
  .hamburger_bg_white{
    display: none;
  }
}

@media print,screen and (max-width: 700px){
  .hamburger_menu{
    margin: 40px 40px 0px;
  }
}



/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* footer */

.footer_block{
  position: absolute;
  height: 247px;
  width: 100%;
  display: flex;
  background: #1D3D6B;
}

.footer_inner01{
  display: flex;
  justify-content: flex-start;
  width: 100%;
  margin-left: 15%;
}

.footer_logo{
    width: 170px;
    height: 182px;
    margin-top: 37px;
}

@media (hover:hover){
  .footer_logo:hover,
  .footer_logo:focus{
    opacity: 0.7;
  }
}

.footer_text{
    margin: 78px 0px 0px 15px;
    color: #FFF;
    font-size: 16px;
    font-weight: 700;
}

.footer_text_sp{
  display: none;
  color: #FFF;
  font-weight: 700;
}

.footer_inner02{
  display: block;
  margin-right: 15%;
  text-align: right;
}

.footer_nav ul{
  display: flex;
  margin-top: 74px;
  gap: 30px;
}

.footer_nav ul li a{
  position: relative;
  font-family: "Orelega One" , sans-serif;
  color: #fff;
  text-transform: uppercase;
  font-size: 20px;
  font-weight: 400;
}

.footer_nav ul li a::after {
  position: absolute;
  left: 0;
  bottom: -2px;
  opacity: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0.1);
  transform-origin: left top;
  transition: transform 0.3s;
}

.footer_nav ul li a:hover::after,
.footer_nav ul li a:focus::after{
  opacity: 1;
  transform: scale(1.1);
  transform-origin: left top;}

.footer_copy{
  color: #fff;
  font-size: 12px;
}

.footer_sns_link img{
  margin: 15px 0px 10px 13px;
  pointer-events: all;
}

.footer_sns_link img:hover{
  opacity: 0.5;
}


/* ------------------------------------------------------------------------- */
/* go_top  */

.go_top{
    display: none;
    width: 60px;
    height: 60px;
    box-sizing: border-box;
    padding-top: 30px;
    font-family: "Orelega One" , sans-serif;
    text-align: center;
    font-size: 13px;
    text-decoration: none;
    color: #FFF;
    position: relative;
    position: fixed;
    bottom: 90px;
    right: 20px;
    mix-blend-mode: difference;
    z-index: 10000;
}
.go_top::before{
    content: "";
    display: block;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    width: 25%;
    height: 25%;
    top: 25%;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    transform: rotate(-45deg);
}
.go_top:hover{
    opacity: 0.5;
}

#js_goTop.invert{
  display: block;
}

/* ------------------------------------------------------------------------- */
/* メディアクエリ */

@media print,screen and (max-width: 992px){
  .footer_block{
    height: 420px;
    display: inline-block;
    margin: 0px auto;
  }

  .footer_inner01{
    position: absolute;
    width: auto;
    margin-left: 25%;
  }

  .footer_logo{
    width: 170px;
    height: 182px;
    margin-top: 37px;
  }

  .footer_text{
    display: none;
  }

  .footer_text_sp{
    display: block;
    font-size: 14px;
  }

  .footer_inner02{
    position: absolute;
    display: inline-block;
    text-align: start;
    width: auto;
    top: 60px;
    margin-left: 50%;
  }

  .footer_nav ul{
    display: block;
    gap: 30px;
    margin-top: 40px;
  }

  .footer_nav ul li a{
    font-size: 20px;
  }

  .footer_copy{
    font-size: 12px;
  }

  .footer_sns_link img{
    margin: 20px 0px 45px;
  }

  .fb_icon{
    margin-left: 13px;
  }
}

@media print,screen and (max-width: 768px){
  .footer_block{
    height: 360px;
  }

  .footer_inner01{
    margin-left: 20%;
  }

  .footer_logo{
    position: relative;
      width:  160px;
      height: auto;
  }

  .footer_text_sp{
    font-size: 12px;
  }

  .footer_inner02{
    margin-left: 55%;
  }

  .footer_nav ul li a{
    font-size: 16px;
  }

  .footer_copy{
    font-size: 10px;
  }

  .footer_sns_link img{
    margin: 13px 0px 24px;
  }

  .go_top{
    width: 50px;
    height: 50px;
    padding-top: 28px;
    font-size: 11px;
    bottom: 85px;
    right: 20px;
}
}

@media print,screen and (max-width: 576px){
  .footer_inner01{
    margin-left: 15%;
  }

  .footer_logo{
      width:  150px;
      height: auto;
  }

  .footer_inner02{
    margin-left: 50%;
  }
}

@media print,screen and (max-width: 440px){
  .footer_inner01{
    margin-left: 11%;
  }

  .footer_inner02{
    margin-left: 54%;
  }
}



/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* mv */

.mv_block{
  display: flex;
  position: relative;
  overflow: hidden;
  top: 0;
  left: 0;
  right: 0;
  width: 100dvw;
  height: 100dvh;
}

.mv_inner{
  position: absolute;
  width: 100dvw;
  height: 100dvh;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

.mv_text{
  font-family: "Noto sans JP" , sans-serif;
  position: absolute;
  font-weight: 700;
  font-size: 3.5vw;
  line-height: 4.2vw;
  letter-spacing: 0.2em;
  text-align: right;
  margin: 0px 80px 60px 0px;
  z-index: 50;
}

.mv_text_an_01,
.mv_text_an_02{
  opacity: 0;
}

.mv_text_an_01.is_active{
  transform: translateY(100%);
  animation: fadeIn_bottom01 1.0s 0.8s ease-out forwards;
}
.mv_text_an_02.is_active{
  transform: translateY(100%);
  animation: fadeIn_bottom02 1.0s 1.2s ease-out forwards;
}

@keyframes fadeIn_bottom01{
  0%{
      opacity: 0;
      transform: translateY(30px);
  }
  100%{
      opacity: 1;
      transform: translateY(0%);
  }
}
@keyframes fadeIn_bottom02{
  0%{
      opacity: 0;
      transform: translateY(30px);
  }
  100%{
      opacity: 1;
      transform: translateY(0%);
  }
}

.mv_white_back{
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 40;
}

.mv_white_back_large img,
.mv_white_back_middle img,
.mv_white_back_middle02 img,
.mv_white_back_small img{
  width: 100%;
  height: auto;
  object-fit: cover;
}

.mv_white_back_large{
  position: absolute;
  display: block;
  width: 100%;
  height: auto;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 40;
}
.mv_white_back_middle,
.mv_white_back_middle02,
.mv_white_back_small{
  position: absolute;
  display: none;
  width: 100%;
  height: auto;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 40;
}


/* ------------------------------------------------------------------------- */
/* hand */

.mv_hand{
  width: 100dvw;
  height: 100dvh;
  display: flex;
  position: absolute;
  z-index: 100;
}

.mv_hand_left{
  position: absolute;
  width: 23dvw;
  height: auto;
  z-index: 100;
  margin-top: 46dvh;
  left: 0;
}

.mv_hand_right{
  display: flex;
  justify-content: flex-end;
  position: absolute;
  width: 23dvw;
  height: auto;
  margin-top: 25dvh;
  right: 0;
  z-index: 100;
}

.mv_hand_left img,
.mv_hand_right img{
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* ------------------------------------------------------------------------- */
/* awa */

.mv_inner_awa{
  width: 100dvw;
  height: 100dvh;
  display: flex;
  justify-content: flex-end;
  position: absolute;
  z-index: 100;
}

.mv_awa_01{
  margin: 400px 0px 0px 300px;
  position: absolute;
  z-index: 100;
}

.mv_awa_02{
  margin: 180px 300px 0px 0px;
  position: absolute;
  z-index: 100;
}


/* ------------------------------------------------------------------------- */
/* slider */

.slider-container {
	position: relative;
	width: 100dvw;
	height: 98dvh;
	overflow: hidden;
}

.slide-img {
	position: absolute;
  inset: 0;
	opacity: 0;
  background-position: center;
	background-size: cover;
	animation: slideAnime 15s infinite;
}

.slide-img:nth-of-type(1) { background-image: url('../images/mv_1.webp'); animation-delay: 0s;}
.slide-img:nth-of-type(2) { background-image: url('../images/mv_2.webp'); animation-delay: 3s;}
.slide-img:nth-of-type(3) { background-image: url('../images/mv_3.webp'); animation-delay: 6s;}
.slide-img:nth-of-type(4) { background-image: url('../images/mv_4.webp'); animation-delay: 9s;}
.slide-img:nth-of-type(5) { background-image: url('../images/mv_5.webp'); animation-delay: 12s;}

@keyframes slideAnime {
	0%, 30%, 100% { opacity: 0; } /* 非表示のタイミング */
	10%, 20% { opacity: 1; } /* 表示されるタイミング */
}

/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 2000px){
  .mv_awa_01{
    margin: 350px 0px 0px 250px;
  }

  .mv_awa_02{
    margin: 180px 300px 0px 0px;
  }
}

@media print,screen and (max-width: 1750px){
  .mv_text{
    font-size: 3.8vw;
    line-height: 4.5vw;
    letter-spacing: 0.15em;
    margin: 0px 5vw 4vw 0px;
  }
}

@media print,screen and (max-width: 1550px){
  .mv_text{
    font-size: 4.5vw;
    line-height: 5.3vw;
    margin: 0px 5vw 4vw 0px;
  }

  .mv_hand_left{
    width: 23dvw;
    margin-top: 48dvh;
  }

  .mv_hand_right{
    width: 23dvw;
    margin-top: 27dvh;
  }

  .mv_awa_01{
    margin: 270px 0px 0px 250px;
  }
  .mv_awa_02{
    margin: 140px 240px 0px 0px;
  }
  .mv_white_back_large{
    display: none;
  }
  .mv_white_back_middle{
    display: block;
  }
}

@media print,screen and (max-width: 1400px){
  .mv_hand_left{
    width: 25dvw;
    margin-top: 48dvh;
  }
  .mv_hand_right{
    width: 25dvw;
    margin-top: 27dvh;
  }

  .mv_awa_01{
    margin: 260px 0px 0px 220px;
  }
  .mv_awa_02{
    margin: 120px 200px 0px 0px;
  }
}

@media print,screen and (max-width: 1200px){
  .mv_hand_left{
    width: 24dvw;
    margin-top: 48dvh;
  }
  .mv_hand_right{
    width: 24dvw;
    margin-top: 28dvh;
  }

  .mv_awa_01{
    margin: 260px 0px 0px 200px;
  }
  .mv_awa_02{
    margin: 90px 11vw 0px 0px;
  }

  .mv_white_back_middle{
    display: none;
  }
  .mv_white_back_middle02{
    display: block;
  }
}

@media print,screen and (max-width: 1100px){
  .mv_hand_left{
    width: 30dvw;
    margin-top: 0px;
    bottom: 8dvw;
  }
  .mv_hand_right{
    width: 30dvw;
    margin-top: 0px;
    bottom: 20dvw;
  }
  .mv_awa_01{
    margin: 0px 0px 0px 10vw;
    bottom: 40dvw;
  }
  .mv_awa_02{
    margin: 0px 10vw 0px 0px;
    bottom: 48dvw;
  }
}

@media print,screen and (max-width: 992px){
  .mv_hand_left{
    width: 32dvw;
    margin-top: 0px;
    bottom: 10dvw;
  }
  .mv_hand_right{
    width: 32dvw;
    margin-top: 0px;
    bottom: 24dvw;
  }
  .mv_awa_01{
    margin: 0px 0px 0px 7vw;
    bottom: 42dvw;
  }
  .mv_awa_02{
    margin: 0px 3vw 0px 0px;
    bottom: 52dvw;
  }

  .mv_text{
    font-size: 4.7vw;
    line-height: 5.7vw;
    margin: 0px 7vw 6vw 0px;
  }
}

@media print,screen and (max-width: 768px){
  .mv_text{
    font-size: 5vw;
    line-height: 6vw;
    margin: 0px 9vw 8vw 0px;
  }

  .mv_hand_left{
    width: 30dvw;
    margin-top: 0px;
    bottom: 18dvw;
  }
  .mv_hand_right{
    width: 30dvw;
    margin-top: 0px;
    bottom: 28dvw;
  }
  .mv_awa_01{
    margin: 0px 0px 0px 7vw;
    bottom: 45dvw;
  }
  .mv_awa_02{
    margin: 0px 5vw 0px 0px;
    bottom: 52dvw;
  }

  .mv_white_back_middle02{
    display: none;
  }
  .mv_white_back_small{
    display: block;
  }
}

@media print,screen and (max-width: 576px){
  .mv_text{
    font-size: 6vw;
    line-height: 7.4vw;
    margin: 0px 9vw 8vw 0px;
  }

  .mv_hand_left{
    width: 40dvw;
    margin-top: 0px;
    bottom: 20dvw;
  }
  .mv_hand_right{
    width: 40dvw;
    margin-top: 0px;
    bottom: 30dvw;
  }
  .mv_awa_01{
    margin: 0px 0px 0px 7vw;
    bottom: 60dvw;
  }
  .mv_awa_02{
    margin: 0px 0px 0px 0px;
    bottom: 70dvw;
  }
}



/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* sab_mv */

.sab_mv_block{
  position: relative;
  display: flex;
  justify-content: center;
  width: 100dvw;
  height: 1000px;
}

.sab_mv_inner{
  position: absolute;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 500px 20% 150px;
  width: 60%;
  height: 760px;
  background: rgba(255, 255, 255, 50%);
  border-radius: 50px;
  z-index: 100;;
}

.vertical_textbox{
  position: absolute;
  display: flex;
  justify-content: center;
  flex-direction: row-reverse;
  width: 60%;
  gap: 8vw;
  z-index: 100;
}

.vertical_title{
    font-family: "Noto sans JP" , sans-serif;
    writing-mode: vertical-rl;
    font-size: 32px;
    line-height: 60px;
    font-weight: 700;
    letter-spacing: 0.5em;
}
.vertical_title_sp{
  font-family: "Noto sans JP" , sans-serif;
  display: none;
  writing-mode: vertical-rl;
  font-size: 32px;
  line-height: 60px;
  font-weight: 700;
  letter-spacing: 0.5em;
}

.vertical_text{
  writing-mode: vertical-rl;
  font-size: 18px;
  font-weight: 600;
  line-height: 40px;
  letter-spacing: 0.1em;
}
.vertical_text_sp{
  display: none;
  font-weight: 600;
  letter-spacing: 0.1em;
}



/* ------------------------------------------------------------------------- */
/* bg */

.sab_mv_bg{
  position: relative;
  width: 100%;
  height: 1000px;
  z-index: -100;
}

.sab_mv_bg_large{
  position: absolute;
  width: 100%;
  height: auto;
  object-fit: cover;
  top: 200px;
}

.sab_mv_bg_middle{
  display: none;
  position: absolute;
  width: 100%;
  height: auto;
  object-fit: cover;
  top: 150px;
}

.sab_mv_bg_small{
  display: none;
  position: absolute;
  width: 100%;
  height: auto;
  object-fit: cover;
  top: 100px;
}

.sab_mv_bg_large img,
.sab_mv_bg_middle img,
.sab_mv_bg_small img{
  width: 100%;
  height: auto;
  object-fit: cover;
}

.sab_mv_fish_red{
  position: absolute;
  display: flex;
  justify-content: flex-end;
  width: 100%;
  height: auto;
  object-fit: cover;
  top: 30px;
  right: 250px;
  z-index: 30;
}

.sab_mv_fish_red img{
  width: 200px;
  height: auto;
  object-fit: cover;
}


/* ------------------------------------------------------------------------- */
/* awa */

.sab_mv_inner_awa{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: flex-end;
  position: absolute;
  z-index: 100;
}

.sab_mv_awa_01{
  top: 310px;
  left: 193px;
  position: absolute;
  z-index: 100;
}

.sab_mv_awa_02{
  top: 785px;
  right: 160px;
  position: absolute;
  z-index: 100;
}

.sab_mv_awa_03{
  top: 1027px;
  left: 173px;
  position: absolute;
  z-index: 100;
}

/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 2032px){
  .sab_mv_fish_red{
    top: 160px;
    right: 250px;
  }
  .sab_mv_fish_red img{
    width: 200px;
  }

  .sab_mv_awa_01{
    top: 310px;
    left: 7vw;
  }
  .sab_mv_awa_02{
    top: 785px;
    right: 7vw;
  }
  .sab_mv_awa_03{
    top: 1027px;
    left: 7vw;
  }
}

@media print,screen and (max-width: 1800px){
  .sab_mv_inner{
    width: 70%;
    margin: 350px 15% 150px;
  }
}

@media print,screen and (max-width: 1400px){
  .sab_mv_block{
    position: relative;
    display: block;
    height: 1450px;
  }

  .sab_mv_inner{
    display: block;
    text-align: center;
    width: 60%;
    margin: 350px 20% 150px;
    height: 780px;
    border-radius: 20px;
  }

  .vertical_textbox{
    position: relative;
    display: inline-block;
    padding: 50px 50px;
    width: 100%;
  }

  .vertical_title{
    display: none;
  }

  .vertical_title_sp{
    display: block;
      writing-mode: horizontal-tb;
      margin: 0px auto 75px;
      font-size: 25px;
      line-height: 60px;
      letter-spacing: 0.2em;
  }

  .vertical_text{
    writing-mode: horizontal-tb;
    font-size: 16px;
    line-height: 35px;
    letter-spacing: 0.1em;
  }


  .sab_mv_inner_awa{
    position: static;
  }
}

@media print,screen and (max-width: 1200px){
  .sab_mv_block{
    height: 1300px;
  }

  .sab_mv_inner{
    height: 700px;
  }

  .vertical_textbox{
    padding: 40px 40px;
  }

  .vertical_title_sp{
    margin: 0px auto 60px;
    font-size: 23px;
    line-height: 60px;
  }

  .vertical_text{
    font-size: 14px;
    line-height: 32px;
  }


  .sab_mv_bg_large{
    top: 350px;
  }

  .sab_mv_fish_red{
    top: 160px;
    right: 130px;
  }
  .sab_mv_fish_red img{
    width: 180px;
  }

  .sab_mv_awa_01{
    top: 230px;
    left: 5vw;
  }
  .sab_mv_awa_02{
    top: 750px;
    right: 5vw;
  }
  .sab_mv_awa_03{
    top: 900px;
    left: 5vw;
  }
}

@media print,screen and (max-width: 992px){
  .sab_mv_block{
    height: 1180px;
  }

  .sab_mv_inner{
    margin: 300px 12% 150px;
    width: 74%;
    height: 700px;
  }

  .vertical_textbox{
    padding: 40px 40px;
  }

  .vertical_title_sp{
    margin: 0px auto 60px;
    font-size: 23px;
    line-height: 60px;
  }

  .vertical_text{
    font-size: 14px;
    line-height: 32px;
  }

  .sab_mv_bg_large{
    display: none;
  }
  .sab_mv_bg_middle{
    display: block;
    top: 0px;
  }

  .sab_mv_fish_red{
    top: 150px;
    right: 85px;
  }
  .sab_mv_fish_red img{
    width: 150px;
  }

  .sab_mv_awa_01{
    top: 230px;
    left: 5vw;
  }
  .sab_mv_awa_02{
    top: 600px;
    right: 5vw;
  }
  .sab_mv_awa_03{
    top: 800px;
    left: 5vw;
  }
}

@media print,screen and (max-width: 850px){
  .sab_mv_block{
    height: 1450px;
  }

  .sab_mv_bg_middle{
    top: 100px;
  }
}

@media print,screen and (max-width: 768px){
  .sab_mv_block{
    height: 1450px;
  }

  .sab_mv_inner{
    margin: 210px 10% 150px;
    width: 77%;
    height: 600px;
  }

  .vertical_textbox{
    padding: 40px 10px;
  }

  .vertical_title_sp{
    margin: 0px auto 30px;
    font-size: 20px;
  }

  .vertical_text{
    display: none;
  }

  .vertical_text_sp{
    display: block;
    font-size: 13px;
    line-height: 27px;
  }

  .sab_mv_fish_red{
    top: 90px;
    right: 70px;
  }
  .sab_mv_fish_red img{
    width: 110px;
  }

  .sab_mv_awa_01{
    top: 150px;
    left: 5vw;
  }
  .sab_mv_awa_02{
    top: 600px;
    right: 3vw;
  }
  .sab_mv_awa_03{
    top: 700px;
    left: 5vw;
  }
}

@media print,screen and (max-width: 576px){
  .sab_mv_block{
    height: 1450px;
  }

  .sab_mv_inner{
    margin: 180px 10% 150px;
    height: 523px;
  }

  .vertical_textbox{
    padding: 20px 10px;
  }

  .vertical_title_sp{
    margin: 0px auto 30px;
    font-size: 18px;
    line-height: 60px;
    letter-spacing: 0.1em;
  }

  .vertical_text{
    display: none;
  }
  .vertical_text_sp{
    display: block;
    font-size: 12px;
    line-height: 25px;
  }

  .sab_mv_bg_middle{
    display: none;
  }
  .sab_mv_bg_small{
    display: block;
    top: 0px;
  }

  .sab_mv_awa_01{
    top: 130px;
  }
  .sab_mv_awa_02{
    top: 560px;
  }
  .sab_mv_awa_03{
    top: 650px;
  }
}

@media print,screen and (max-width: 500px){
  .sab_mv_bg_small{
    top: 100px;
  }
}

@media print,screen and (max-width: 450px){
  .sab_mv_block{
    height: 1300px;
  }

  .sab_mv_inner{
    margin: 160px 5% 150px;
    width: 90%;
    height: 500px;
  }

  .vertical_textbox{
    padding: 30px 10px;
  }

  .vertical_title{
    display: block;
    margin: 0px auto 30px;
    font-size: 17px;
    line-height: 28px;
    letter-spacing: 0.1em;
    writing-mode: horizontal-tb;
  }

  .vertical_title_sp{
    display: none;
  }

  .vertical_text_sp{
    line-height: 23px;
    letter-spacing: 0.05em;
  }

  .sab_mv_bg_small{
    top: 150px;
  }

  .sab_mv_fish_red img{
    width: 90px;
  }

  .sab_mv_awa_01{
    opacity: 0.5;
    top: 130px;
    left: 5vw;
  }
  .sab_mv_awa_02{
    opacity: 0.5;
    top: 500px;
    right: 0vw;
  }
  .sab_mv_awa_03{
    opacity: 0.5;
    top: 650px;
    left: 5vw;
  }
}


/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* about */

.about_block{
  width: 100dvw;
  height: 100%;
  margin-top: 40dvw;
  background: url(../images/about_bg.webp) no-repeat center / 100% 100%;
}

.about_inner{
  max-width: 846px;
  margin: 0px auto;
  padding: 300px 0px;
  text-align: center;
}

.about_img_inner{
  opacity: 0;
  position: relative;
  display: flex;
  justify-content: space-between;
  height: 500px;
  margin: 80px 0px 90px;
}

.about_img_inner.is_active{
  animation: about_img_inner 0.4s ease-out forwards;
}

@keyframes about_img_inner{
  0%{
      opacity: 0;
      transform: translateY(30px);
  }
  100%{
      opacity: 1;
      transform: translateY(0%);
  }
}

.about_img_inner img{
  display: flex;
  width: calc((100% - 70px) / 3);
  object-fit: cover;
  height: 385px;
  border-radius: 50px;
  margin-right: 26px;
}

.about_img_inner img+img{
  margin-right: 0px;
}

.hp_position{
  position: absolute;
  left: 295px;
  bottom: 10px;
}


/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 1800px){
  .about_block{
    margin-top: 35dvw;
  }
}
@media print,screen and (max-width: 1600px){
  .about_block{
    margin-top: 30dvw;
  }
}
@media print,screen and (max-width: 1500px){
  .about_block{
    margin-top: 25dvw;
  }
}
@media print,screen and (max-width: 1400px){
  .about_block{
    margin-top: -10dvw;
  }
}
@media print,screen and (max-width: 1300px){
  .about_block{
    margin-top: -18dvw;
  }
}
@media print,screen and (max-width: 1200px){
  .about_block{
    margin-top: -1dvw;
  }
}
@media print,screen and (max-width: 1100px){
  .about_block{
    margin-top: -10dvw;
  }
}

@media print,screen and (max-width: 992px){
  .about_block{
    background: url(../images/about_bg_sp.webp) no-repeat center center / cover;
    margin-top: 10dvw;
  }

  .about_inner{
    max-width: 846px;
    margin: -120px 6% 0px;
    padding: 330px 0px;
  }

  .about_img_inner{
    position: static;
    display: block;
    height: auto;
    margin: 60px 0px 100px;
  }

  .about_img_inner img{
    display: block;
    aspect-ratio: 3/4;
    width: 100%;
    height: 60vw;
    object-fit: cover;
    border-radius: 30px;
  }

  .about_img_inner img+img{
    margin-top: 5vw;
  }

  .hp_position{
    position: static;
  }
}

@media print,screen and (max-width: 930px){
  .about_block{
    margin-top: 5dvw;
  }
  .about_inner{
    max-width: 900px;
    margin: -130px 6% 0px;
    padding: 330px 0px;
  }
}

@media print,screen and (max-width: 850px){
  .about_block{
    margin-top: -40dvw;
  }
}
@media print,screen and (max-width: 800px){
  .about_block{
    margin-top: -50dvw;
  }
}

@media print,screen and (max-width: 768px){
  .about_block{
    margin-top: -59dvw;
    height: 2500px;
  }

  .about_inner{
    padding: 250px 0px 0px;
  }

  .about_img_inner{
    margin: 40px 0px 100px;
  }
}

@media print,screen and (max-width: 720px){
  .about_block{
    margin-top: -70dvw;
    height: 2400px;
  }
}
@media print,screen and (max-width: 690px){
  .about_block{
    margin-top: -80dvw;
    height: 2350px;
  }
}

@media print,screen and (max-width: 650px){
  .about_block{
    height: 2230px;
    margin-top: -90dvw;
  }
}
@media print,screen and (max-width: 625px){
  .about_block{
    margin-top: -100dvw;
  }
}
@media print,screen and (max-width: 600px){
  .about_block{
    margin-top: -105dvw;
  }
}

@media print,screen and (max-width: 580px){
  .about_block{
    margin-top: -110dvw;
  }
}

@media print,screen and (max-width: 576px){
  .about_block{
    height: 2050px;
    margin-top: -105dvw;
  }

  .about_inner{
    padding: 220px 0px 0px;
  }

  .about_img_inner{
    margin: 40px 0px 55px;
  }
}

@media print,screen and (max-width: 545px){
  .about_block{
    margin-top: -120dvw;
    height: 2000px;
  }
}
@media print,screen and (max-width: 520px){
  .about_block{
    margin-top: -130dvw;
  }
}


@media print,screen and (max-width: 500px){
  .about_block{
    height: 1850px;
    margin-top: -120dvw;
  }

  .about_inner{
    padding: 200px 0px 0px;
  }
}
@media print,screen and (max-width: 482px){
  .about_block{
    height: 1850px;
    margin-top: -130dvw;
  }
}
@media print,screen and (max-width: 470px){
  .about_block{
    margin-top: -135dvw;
  }
}
@media print,screen and (max-width: 460px){
  .about_block{
    margin-top: -140dvw;
  }
}


  @media print,screen and (max-width: 450px){
    .about_block{
      height: 1850px;
      margin-top: -105dvw;
    }

    .about_inner{
      padding: 190px 0px 0px;
    }

    .about_img_inner{
      margin: 40px 0px 55px;
    }
  }

  @media print,screen and (max-width: 438px){
    .about_block{
      margin-top: -115dvw;
    }
  }

  @media print,screen and (max-width: 423px){
    .about_block{
      margin-top: -125dvw;
    }
  }
  @media print,screen and (max-width: 408px){
    .about_block{
      height: 1750px;
      margin-top: -135dvw;
    }
  }
  @media print,screen and (max-width: 396px){
    .about_block{
      margin-top: -140dvw;
    }
  }

  @media print,screen and (max-width: 390px){
    .about_block{
      height: 1700px;
      margin-top: -147dvw;
    }

    .about_inner{
      padding: 190px 0px 0px;
    }
  }
  @media print,screen and (max-width: 379px){
    .about_block{
      margin-top: -158dvw;
    }
  }
  @media print,screen and (max-width: 367px){
    .about_block{
      margin-top: -170dvw;
    }
  }


/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* member */

.member_block{
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  background: #fff;
}

.member_inner{
  width: 846px;
  margin: 0px auto 30px;
  padding: 200px 0px 200px;
  text-align: center;
}

.member_img_bg_inner{
  width: 100%;
  height: auto;
  display: block;
}

.member_img_inner{
  position: relative;
  opacity: 0;
  display: flex;
  justify-content: center;
  margin: 96px 0px 75px;
  z-index: 100;
}

.member_img_inner.is_active{
  animation: member_img_inner 0.6s ease-out forwards;
}

@keyframes member_img_inner{
  0%{
      opacity: 0;
      transform: translateY(30px);
  }
  100%{
      opacity: 1;
      transform: translateY(0%);
  }
}

.member_img_inner img{
  position: absolute;
  display: flex;
  width: 660px;
  height: auto;
  object-fit: cover;
  margin: 30px 0px;
}

::-webkit-full-page-media, :future, :root .member_img_inner img{
  position: absolute;
  display: flex;
  width: 660px;
  height: auto;
  object-fit: cover;
  margin: 30px 0px 0px;
}

.member_text{
  margin-bottom: 104px;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #E94557;
}

.circle_bg{
  width: 550px;
  height: auto;
  margin: 150px auto 170px;
  position: relative;
  z-index: 0;
  animation: rotate 12s infinite linear;
}

.circle_bg img{
  width: 100%;
  height: auto;
  object-fit: cover;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}



/* ------------------------------------------------------------------------- */
/* hand */

.member_hand{
  width: 100%;
  height: auto;
  position: absolute;
  top: 860px;
}

.member_hand_left{
  width: 450px;
  height: auto;
  left: 0;
  opacity: 0.3;
  position: absolute;
}

.member_hand_right{
  display: flex;
  justify-content: flex-end;
  width: 450px;
  height: auto;
  right: 0;
  opacity: 0.3;
  position: absolute;
}

.member_hand_left img,
.member_hand_right img{
  width: 100%;
  height: auto;
  object-fit: cover;
}


/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 1400px){
  .member_inner{
    max-width: 846px;
    padding: 180px 0px 140px;
  }

  .member_img_inner img{
    width: 600px;
    height: auto;
    margin: 0px auto;
  }

  .circle_bg{
    margin: 110px auto 165px;
    width: 500px;
  }

  ::-webkit-full-page-media, :future, :root .member_img_inner img{
    width: 550px;
    margin: 60px 0px 0px;
  }
  ::-webkit-full-page-media, :future, :root .circle_bg{
    margin: 140px auto 165px;
    width: 500px;
  }

  /* hand */
  .member_hand{
    top: 860px;
  }

  .member_hand_left img{
    width: 25vw;
  }

  .member_hand_right img{
    width: 25vw;
  }
}

@media print,screen and (max-width: 1200px){
  .member_inner{
    padding: 200px auto 150px;
  }

  .member_img_inner{
    max-width: 800px;
    margin: 80px 6% 60px;
  }

  .member_img_inner img{
    width: 550px;
    height: auto;
    margin: 0px auto;
  }

  .member_text{
    margin-bottom: 80px;
    font-size: 27px;
  }

  .circle_bg{
    margin: 100px auto 165px;
    width: 400px;
  }

}

@media print,screen and (max-width: 992px){
  .member_inner{
    max-width: 900px;
    margin: 0px 6% 50px;
    padding: 200px auto 200px;
  }

  .member_header{
    width: 100%;
    text-align: center;
  }

  .member_img_inner{
    margin: 60px 6% 60px;
  }

  .member_img_inner img{
    width: 470px;
  }

  .member_text{
    margin-bottom: 50px;
    font-size: 18px;
  }

  .circle_bg{
    margin: 80px auto 160px;
    width: 340px;
  }

  ::-webkit-full-page-media, :future, :root .member_img_inner img{
    width: 450px;
    margin: 60px 0px 0px;
  }
  ::-webkit-full-page-media, :future, :root .circle_bg{
    margin: 170px auto 130px;
    width: 340px;
  }

  .member_hand{
    top: 700px;
  }

  .member_hand_left img{
    width: 30vw;
  }

  .member_hand_right img{
    width: 30vw;
  }
}

@media print,screen and (max-width: 768px){
  .member_inner{
    max-width: 846px;
    padding: 150px 0px 100px;
    margin: 50px 6% 50px;
  }

  .member_img_inner{
    margin: 40px 6% 50px;
  }

  .member_img_inner img{
    width: 52vw;
  }

  .member_text{
    margin-bottom: 60px;
    font-size: 18px;
  }

  .circle_bg{
    margin: 70px auto 160px;
    width: 42vw;
  }

  ::-webkit-full-page-media, :future, :root .member_img_inner img{
    width: 450px;
    margin: 50px 0px 0px;
  }
  ::-webkit-full-page-media, :future, :root .circle_bg{
    margin: 170px auto 130px;
    width: 340px;
  }
  ::-webkit-full-page-media, :future, :root .member_hand{
    top: 730px;
  }

  .member_hand{
    top: 590px;
  }


.member_hand_left,
.member_hand_right{
  width: auto;
}

  .member_hand_left img{
    width: 30vw;
  }

  .member_hand_right img{
    width: 30vw;
  }
}

@media print,screen and (max-width: 576px){
  .member_inner{
    max-width: 600px;
    margin: 0px 6% 0px;
    padding: 100px 0px;
  }

  .circle_bg{
    margin: 0px auto 150px;
  }

  .member_text{
    margin-bottom: 55px;
    font-size: 16px;
  }

  ::-webkit-full-page-media, :future, :root .member_img_inner img{
    width: 420px;
    margin: 50px 0px 0px;
  }
  ::-webkit-full-page-media, :future, :root .circle_bg{
    margin: 130px auto 130px;
    width: 340px;
  }
  ::-webkit-full-page-media, :future, :root .member_hand{
    top: 600px;
  }

  .member_hand{
    top: 440px;
  }
}

@media print,screen and (max-width: 450px){
  .member_img_inner{
    margin: 40px 6% 50px;
  }

  .member_img_inner img{
    width: 250px;
  }

  .member_text{
    margin-bottom: 60px;
    font-size: 16px;
  }

  .circle_bg{
    margin: 70px auto 110px;
    width: 180px;
  }

  ::-webkit-full-page-media, :future, :root .member_img_inner img{
    width: 230px;
    margin: 20px 0px 0px;
  }
  ::-webkit-full-page-media, :future, :root .circle_bg{
    margin: 70px auto 110px;
    width: 180px;
  }
  ::-webkit-full-page-media, :future, :root .member_hand{
    top: 420px;
  }

  .member_hand{
    top: 400px;
  }

  .member_hand_left img{
    width: 30vw;
  }

  .member_hand_right img{
    width: 30vw;
  }
}


/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* infinity-scroll */

  .scroll_block{
    position: relative;
    width: 100%;
    height: auto;
    margin: 0px 0px 500px;
    z-index: 0;
  }

  .scroll_bg{
    position: absolute;
    width: 100%;
    z-index: 1;
  }

  .scroll_bg img{
    position: absolute;
    width: 100%;
    height: 500px;
    object-fit: fill;
  }

  .scroll-infinity{
    width: 100%;
    height: 500px;
    position: absolute;
    display: flex;
    align-items: center;
    z-index: 100;
  }

  .scroll-infinity__wrap {
    display: flex;
    overflow: hidden;
  }
  .scroll-infinity__list {
    display: flex;
    list-style: none;
    padding: 0
  }
  .scroll-infinity__list--left {
    animation: infinity-scroll-left 30s infinite linear 0.5s both;
  }
  .scroll-infinity__item {
    width: calc(95vw / 6);
    margin: 0px 5px;
  }
  .scroll-infinity__item img {
    width: 100%;
    border-radius: 2vw;
  }

  @keyframes infinity-scroll-left {
    from {
      transform: translateX(0);
    }
      to {
      transform: translateX(-100%);
    }
    }


  /* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 2000px){
  .scroll-infinity__item {
    width: calc(120vw / 6);
    margin: 0px 7px;
  }
}

@media print,screen and (max-width: 1300px){
  .scroll_block{
    margin: 0px 0px 250px;
  }

  .scroll_bg img{
    height: 400px;
    object-fit: fill;
  }

  .scroll-infinity{
    width: 100%;
    height: 300px;
    margin-top: 50px;
  }

  .scroll-infinity__item {
    width: calc(140vw / 6);
    margin: 0px 7px;
  }
}

@media print,screen and (max-width: 1100px){
  .scroll-infinity__item {
    width: calc(160vw / 6);
    margin: 0px 7px;
  }
}

@media print,screen and (max-width: 992px){
  .scroll_block{
    margin: 0px 0px 200px;
  }

  .scroll_bg img{
    height: 350px;
    object-fit: fill;
  }

  .scroll-infinity{
    width: 100%;
    height: 260px;
  }

  .scroll-infinity__item {
    width: calc(150vw / 6);
    margin: 0px 7px;
  }
}

@media print,screen and (max-width: 768px){
  .scroll_bg img{
    height: 350px;
    object-fit: cover;
  }

  .scroll-infinity{
    width: 100%;
    height: 250px;
  }

  .scroll-infinity__item {
    width: calc(220vw / 6);
  }
}

@media print,screen and (max-width: 576px){
  .scroll_bg img{
    height: 350px;
    object-fit: cover;
  }

  .scroll-infinity{
    width: 100%;
    height: 250px;
  }

  .scroll-infinity__item {
    width: calc(300vw / 6);
  }

}



/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* facebook */

.facebook_block{
  width: 100%;
  height: auto;
  background: #EEEF9B;
  padding: 50px 0px 200px;
  display: flex;
  justify-content: space-around;
  overflow: hidden;
  z-index: 0;
}

.facebook_body{
  display: block;
  padding: 180px 0px 200px;
}

.facebook_inner_01{
  width: 100%;
  display: flex;
  text-align: center;
  justify-content: space-between;
  margin-bottom: 50px;
}
.facebook_header{
  display: flex;
  justify-content: center;
  align-items: center;
}

.facebook_inner_02{
  display: flex;
  gap: 50px;
  width: 100%;
  justify-content: center;
}
.sns_title{
  font-family: "Orelega One" , sans-serif;
  text-align: center;
  margin-bottom: 10px;
  font-size: 40px;
  font-weight: 400;
  letter-spacing: 0.02em;
}


.follow_us{
  -webkit-animation:buruburu 0.3s infinite linear alternate;
  animation:buruburu 0.3s infinite linear alternate;
  transition: opacity 0.5s 0.5s ease-in;
}

@media (hover:hover){
  .follow_us a:hover,
  .follow_us a:focus{
    opacity: 0.8;
  }
  }

.follow_us img{
  pointer-events: all;
  width: 300px;
  height: auto;
  object-fit: cover;
}

@-webkit-keyframes buruburu {
  0% {-webkit-transform:translate(0, 0) rotate(-3deg);}
  50% {-webkit-transform:translate(0, -1px) rotate(0deg);}
  100% {-webkit-transform:translate(0, 0)rotate(3deg);}
}
@keyframes buruburu {
  0% {transform:translate(0, 0) rotate(-3deg);}
  50% {transform:translate(0, -1px) rotate(0deg);}
  100% {transform:translate(0, 0)rotate(3deg);}
}

.facebook_timeline,
.instagram_posts{
  width: 400px;
  height: 500px;
}
.facebook_timeline iframe,
.instagram_posts iframe{
  width: 400px;
  height: 500px;
}

.facebook_awa_01{
  margin: 300px 0px 0px 4vw;
}
.facebook_awa_02{
  margin: 850px 4vw 0px 0px;
}



/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 1350px){
  .facebook_block{
    margin: 50px auto 100px;
    padding: 100px 0px 0px;
    height: 1550px;
  }
}

@media print,screen and (max-width: 1200px){
  .facebook_block{
    margin: 100px auto 0px;
    padding: 100px 0px 0px;
    height: 1450px;
  }

  .facebook_body{
    padding: 15vw 0px 10vw;
    margin: 0px 6%;
  }

  .follow_us img{
    width: 250px;
  }

  .facebook_inner_02{
    gap: 30px;
  }
  .sns_title{
    margin-bottom: 10px;
    font-size: 30px;
  }

  .facebook_awa_01{
    display: none;
  }
  .facebook_awa_02{
    display: none;
  }
  .btn_more_03.fb_btn{
    display: none;
  }
}

@media print,screen and (max-width: 1100px){
  .facebook_block{
    height: 1350px;
  }
}


@media print,screen and (max-width: 992px){
  .facebook_block{
    height: 1500px;
  }
  .facebook_body{
    padding: 10vw 0px 5vw;
    margin: 150px 0% 0px;
  }

  .facebook_inner_02{
    margin: 0px auto;
    gap: 0px;
  }
}

@media print,screen and (max-width: 900px){
  .facebook_header{
    width: 450px;
  }

  .facebook_inner_01{
    justify-content: center;
  }
}

@media print,screen and (max-width: 800px){
  .facebook_block{
    height: 2150px;
  }

  .facebook_body{
    padding: 18vw 0px 20vw;
  }


  .facebook_inner_02{
    display: block;
    text-align: center;
    margin: 0px auto;
    padding: 0px auto;
    gap: 0px;
  }

  .facebook_timeline{
    margin: 0px auto 200px;
  }
  .instagram_posts{
    margin: 0px auto;
  }

  .follow_us img{
    width: 200px;
  }
}

@media print,screen and (max-width: 576px){
  .facebook_block{
    height: 1950px;
  }
  .facebook_body{
    padding: 20vw 0px 15vw;
    margin: 80px 0% 80px;
  }
  .facebook_timeline{
    margin: 0px auto 180px;
  }

  .facebook_header{
    width: auto;
  }

  .facebook_inner_01{
    justify-content: center;
  }

  .follow_us img{
    width: 180px;
  }

}

@media print,screen and (max-width: 450px){
  .facebook_block{
    height: 1780px;
    width: 100%;
    overflow-x: hidden;
  }

  .facebook_body{
    padding: 18vw 0px 20vw;
    margin: 100px 6%;
    overflow-x: hidden;
  }

  .facebook_header{
    margin: 0px 0px 0px 2%;
  }

  .facebook_inner_01{
    padding: 0px 0px 0px 0px;
  }

  .follow_us img{
    width: 150px;
  }


  .facebook_timeline iframe{
    margin: 0px auto -100px;
    max-width: 100%;
    width: 350px;
    height: 450px;
  }

  .instagram_posts,
  .facebook_timeline{
    max-width: 100%;
    width: 350px;
    height: 450px;
  }

  .instagram_posts iframe{
    max-width: 100%;
    width: 350px;
    height: 450px;
  }
}



/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* contact */

.contact_block{
  max-width: 850px;
  margin: 0px auto;
  padding: 300px 0px 200px;
}

.contact_inner{
  text-align: center;
}

.contact_text{
  margin: 98px 0px 80px;
  font-size: 14px;
  font-weight: 400;
}

.contact_after_text{
  margin: 50px 0px 100px;
  font-size: 14px;
  font-weight: 400;
  color: #696969;
}

.form_box_item{
  text-align: start;
  font-size: 18px;
  font-weight: 400;
}

.form_box_item + .form_box_item{
  margin-top: 50px;
}

.form_box_item span{
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  padding: 3px 20px;
  border-radius: 20px;
  margin-right: 15px;
  color: #696969;
  border: 1px solid #696969;
}

.form_box_item .required{
  color: #E94557;
  border: 1px solid #E94557;
}

.form_box_item input[type="text"],
.form_box_item input[type="tel"],
.form_box_item input[type="email"],
.form_box_item textarea{
  width: 100%;
  background: #E7E7E7;
  border-radius: 6px;
  padding: 10px 20px;
  margin-top: 16px;
  font-size: 16px;
  font-weight: 400;
  color: #1D3D6B;
  border: none;
}

.form_box_item textarea {
  height: 250px;
  line-height: 1.8;
}

.form_box_item input[type="text"]::placeholder,
.form_box_item input[type="tel"]::placeholder,
.form_box_item input[type="email"]::placeholder,
.form_box_item textarea::placeholder{
    color: #999;
}

.form_box_item button{
  display: block;
  margin: 0px auto;
  padding: 30px 186px;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  background: #5EB74C;
  border-radius: 80px;
  transition: background-color 0.3s ease-in;
  border: none;
}

@media (hover:hover){
.form_box_item button:hover,
.form_box_item button:focus{
  background: #1D3D6B;
}
}


/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 992px){
  .contact_block{
    max-width: 850px;
    margin: 0px 6%;
    padding: 280px 0px 200px;
  }
}

@media print,screen and (max-width: 768px){
  .contact_block{
    margin: 0px 6%;
    padding: 200px 0px 200px;
  }

  .contact_text{
    margin: 50px 0px 50px;
    font-size: 13px;
  }

  .contact_after_text{
    margin: 40px 0px 60px;
    font-size: 13px;
  }

  .form_box_item{
    font-size: 16px;
  }

  .form_box_item + .form_box_item{
    margin-top: 40px;
  }

  .form_box_item span{
    padding: 3px 20px;
  }

  .form_box_item input[type="text"],
  .form_box_item input[type="tel"],
  .form_box_item input[type="email"],
  .form_box_item textarea{
    margin-top: 14px;
    font-size: 14px;
  }

  .form_box_item textarea {
    height: 250px;
    line-height: 1.8;
  }

  .form_box_item button{
    padding: 25px 130px;
    font-size: 19px;
  }
}

@media print,screen and (max-width: 600px){
  .contact_block{
    margin: 50px 6%;
    padding: 100px 0px;
  }

  .contact_text{
    margin: 27px 0px 40px;
    text-align: start;
  }

  .contact_after_text{
    margin: 20px 0px 50px;
    text-align: start;
  }

  .form_box_item{
    font-size: 15px;
  }

  .form_box_item + .form_box_item{
    margin-top: 28px;
  }

  .form_box_item button{
    padding: 18px 107px;
    font-size: 16px;
  }
}



/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* banner */

.banner_block{
  background: url(../images/mv_5_02.webp) no-repeat center / 100% auto;
  background-attachment: fixed;
  height: 380px;
  position: relative;
  overflow: hidden;
}

.banner_loop_text{
  display: flex;
  align-items: center;
  padding: 200px 0px;
}

.banner_loop_text p{
  font-size: 120px;
  color: #FFF;
  font-family: "Orelega One" , sans-serif;
  letter-spacing: 0.02em;
  padding-right: 12px;
  white-space: nowrap;
  opacity: 0.3;
  z-index: 1;
}

.banner_loop_text p:nth-child(odd){
  animation: an_contact_loop01 80s -40s linear infinite;
}

.banner_loop_text p:nth-child(even){
  animation: an_contact_loop02 80s linear infinite;
}

@keyframes an_contact_loop01{
  0%{
      transform: translateX(100%);
  }

  100%{
      transform: translateX(-100%);
  }
}

@keyframes an_contact_loop02{
  0%{
      transform: translateX(0%);
  }

  100%{
      transform: translateX(-200%);
  }
}


/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 1200px){
  .banner_block{
    background: url(../images/mv_5_02.webp) no-repeat center / cover;
  }
}

@media print,screen and (max-width: 992px){
  .banner_block{
    height: 360px;
    background: url(../images/mv_5_02.webp) no-repeat center / 100% auto;
  }

  .banner_loop_text{
    padding: 200px 0px;
  }

  .banner_loop_text p{
      font-size: 100px;
  }
}

@media print,screen and (max-width: 768px){
  .banner_block{
    height: 250px;
  }

  .banner_loop_text{
    padding: 130px 0px 0px;
  }

  .banner_loop_text p{
      font-size: 80px;
  }
}

@media print,screen and (max-width: 576px){
  .banner_block{
    height: 200px;
  }

  .banner_loop_text{
      padding: 115px 0px 0px;
  }

  .banner_loop_text p{
      font-size: 50px;
  }
}




/* 下層 */
/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* about_page */

.about_common_block{
  overflow: hidden;
  background: url(../images/about/about_page_bg01.webp) no-repeat center 2890px / 2500px 2300px;
}

.about_page_block{
  width: 100%;
  max-width: 845px;
  text-align: center;
  margin: 0px auto;
}

.about_header{
  margin: 20px 0px 40px;
}

.about_page_inner01{
  width: 100%;
  max-width: 845px;
}

.about_img_inner01{
  opacity: 0;
  position: relative;
  display: flex;
  justify-content: space-between;
  height: 500px;
  margin: 80px 0px 90px;
}

.about_img_inner01 img{
  display: flex;
  width: calc((100% - 70px) / 3);
  object-fit: cover;
  height: 385px;
  border-radius: 50px;
  margin-right: 26px;
}

.about_img_inner01 img+img{
  margin-right: 0px;
}

.about_page_inner01_2{
  width: 100%;
}

.about_img_inner01_2{
  width: 50%;
  height: auto;
  opacity: 0;
  display: flex;
  justify-content: flex-end;
  margin: -360px 0px 190px 410px;
}
.about_img_inner01_2 img{
  width: 100%;
  height: auto;
  border-radius: 50px;
}

.about_page_inner01_3{
  width: 100%;
}
.about_img_inner01_3{
  opacity: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 50px 0px 150px;
}
.about_img_inner01_3 .kaisou_img_inner:not(:last-child){
  margin-right: 20px;
}

.about_img_inner01.is_active,
.about_img_inner01_2.is_active,
.about_img_inner01_3.is_active{
  animation: about_img_inner 0.4s ease-out forwards;
}

@keyframes about_img_inner{
  0%{
      opacity: 0;
      transform: translateY(30px);
  }
  100%{
      opacity: 1;
      transform: translateY(0%);
  }
}

.kaisou_img_inner{
  display: block;
}

.kaisou_img_inner img{
  aspect-ratio: 19/21;
  width:190px;
  height: auto;
  object-fit: cover;
  border-radius: 50px;
}

.kaisou_img_inner p{
  font-weight: 700;
  font-size: 16px;
  margin-top: 10px;
}


.hp_margin{
  margin-bottom: 400px;
}


/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 1200px){
  .about_common_block{
    background: url(../images/about/about_page_bg01.webp) no-repeat center 2900px / 2500px 2100px;
  }
  .about_header{
    margin: 20px 0px 37px;
  }
}

@media print,screen and (max-width: 1100px){
  .about_common_block{
    overflow: hidden;
    background: url(../images/about/about_page_bg01.webp) no-repeat center 2900px / 2500px 2150px;
  }
}

@media print,screen and (max-width: 992px){
  .about_common_block{
    overflow: hidden;
    background: url(../images/about/about_page_bg01.webp) no-repeat center 5000px / 2500px 2100px;
  }

  .about_page_block{
    width: auto;
    margin: 0px 6%;
    max-width: initial;
  }

  .about_img_inner01{
    position: static;
    display: block;
    height: auto;
    margin: 60px 0px 20vw;
  }

  .about_img_inner01 img{
    display: block;
    aspect-ratio: 3/4;
    width: 100%;
    height: 60vw;
    object-fit: cover;
    border-radius: 30px;
  }

  .about_img_inner01 img+img{
    margin-top: 5vw;
  }

  .about_page_inner01_2{
    width: 100%;
    display: block;
  }

  .about_img_inner01_2{
    display: block;
    width: 100%;
    margin: 5vw 0px 20vw;
  }

  .about_img_inner01_2 img{
  border-radius: 30px;
  }

  .about_page_inner01_3{
    width: 100%;
  }

  .about_img_inner01_3{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 65%;
    margin: 50px auto 12vw;
  }

  .about_img_inner01_3 .kaisou_img_inner:nth-child(even){
    margin-right: 0px;
  }


  .kaisou_img_inner img{
    border-radius: 30px;
  }

  .kaisou_img_inner p{
    font-size: 14px;
    margin: 8px 0px 30px;
  }
  .hp_margin{
    margin-bottom: 300px;
  }
}

@media print,screen and (max-width: 970px){
  .about_common_block{
    background: url(../images/about/about_page_bg01.webp) no-repeat center 4880px / 1800px 2300px;
  }
}
@media print,screen and (max-width: 940px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 4880px / 1500px 1750px;
  }
}

@media print,screen and (max-width: 900px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 4780px / 1500px 1750px;
  }
}

@media print,screen and (max-width: 850px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 4650px / 1500px 1750px;
  }
}

@media print,screen and (max-width: 800px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 4550px / 1500px 1750px;
  }
}

@media print,screen and (max-width: 768px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 4300px / 1500px 1750px;
  }

  .about_img_inner01{
    margin: 60px 0px 130px;
  }

  .about_img_inner01 img{
    border-radius: 20px;
  }

  .about_img_inner01_3{
    max-width: 75%;
    margin: 50px auto 80px;
  }

  .kaisou_img_inner img{
    width: 157px;
    height: auto;
    object-fit: cover;
  }

  .kaisou_img_inner p{
    font-size: 12px;
  }

  .hp_margin{
    margin-bottom: 230px;
  }
}

@media print,screen and (max-width: 762px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 4200px / 1500px 1750px;
  }
}

@media print,screen and (max-width: 740px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 4200px / 1500px 1750px;
  }
}

@media print,screen and (max-width: 730px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 4100px / 1500px 1750px;
  }
}

@media print,screen and (max-width: 700px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 4100px / 1500px 1750px;
  }
}

@media print,screen and (max-width: 650px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 4000px / 1500px 1750px;
  }
}

@media print,screen and (max-width: 600px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 3800px / 1500px 1750px;
  }
}

@media print,screen and (max-width: 576px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 3800px / 1500px 1400px;
  }

  .about_img_inner01_3{
    max-width: 100%;
  }

  .hp_margin{
    margin-bottom: 180px;
  }
}

@media print,screen and (max-width: 558px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 3800px / 1500px 1400px;
  }
}

@media print,screen and (max-width: 550px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 3800px / 1500px 1400px;
  }
}

@media print,screen and (max-width: 530px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 3800px / 1500px 1370px;
  }
}

@media print,screen and (max-width: 500px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 3750px / 1500px 1370px;
  }

  .about_img_inner01_2 img{
    margin-bottom: 30px;
    }
}

@media print,screen and (max-width: 450px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 3700px / 1500px 1300px;
  }

  .about_img_inner01_3{
    max-width: 90%;
    margin: 50px auto 80px;
  }

  .kaisou_img_inner img{
    width: 130px;
    height: auto;
    object-fit: cover;
  }

  .kaisou_img_inner p{
    font-size: 12px;
  }

  .hp_margin{
    margin-bottom: 200px;
  }
}

@media print,screen and (max-width: 380px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 3700px / 1500px 1230px;
  }
}
@media print,screen and (max-width: 360px){
  .about_common_block{
    background: url(../images/about/about_page_bg02.webp) no-repeat center 3750px / 1500px 1230px;
  }
}


/* --------------------------------------------------------------- */

.about_page_inner02{
  width: 100%;
}

.about_activity_img_inner{
  opacity: 0;
}

.about_activity_img_inner img{
  width: 700px;
  margin: 120px 0px 120px;
}

.about_activity_img_inner.is_active,
.about_activity_text.is_active,
.about_activity_text_sp.is_active{
  animation: about_img_inner 0.4s ease-out forwards;
}

@keyframes about_img_inner{
  0%{
      opacity: 0;
      transform: translateY(30px);
  }
  100%{
      opacity: 1;
      transform: translateY(0%);
  }
}

.about_activity_text{
  opacity: 0;
  font-weight: 700;
  font-size: 24px;
}

.about_activity_text_sp{
  opacity: 0;
  display: none;
  font-weight: 700;
  font-size: 24px;
}

.about_activity_bg{
  z-index: -100;
}





/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 1200px){
  .about_activity_img_inner img{
    width: 600px;
    margin: 100px 0px 100px;
  }

  .about_activity_text{
    font-size: 22px;
    margin-top: 30px;
  }
}

@media print,screen and (max-width: 1100px){
  .about_activity_img_inner img{
    width: 600px;
    margin: 100px 0px 100px;
  }

}

@media print,screen and (max-width: 992px){
  .about_activity_img_inner img{
    width: 600px;
  }
}

@media print,screen and (max-width: 850px){
  .about_activity_img_inner img{
    width: 600px;
  }
}

@media print,screen and (max-width: 800px){
}

@media print,screen and (max-width: 768px){
  .about_activity_img_inner img{
    width: auto;
    margin: 50px 0px 50px;
  }

  .about_activity_text{
    display: none;
  }

  .about_activity_text_sp{
    display: block;
    font-size: 23px;
    line-height: 2.5;
    margin-top: 50px;
  }
}

@media print,screen and (max-width: 576px){
  .about_activity_img_inner img{
    width: auto;
    margin: 30px 0px 0px;
  }

  .about_activity_text_sp{
    font-size: 20px;
    line-height: 2;
  }
}


/* --------------------------------------------------------------- */


.about_page_inner03{
  width: 100%;
  height: auto;
  margin: 500px 0px 282px;
}

.about_activity_details_img_inner{
  opacity: 0;
  margin: 105px 0px 61px;
}

.kaityuu_kv{
  margin-right: 90px;
}

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

.about_activity_details_img_inner.is_active{
  animation: about_img_inner 0.4s ease-out forwards;
}

@keyframes about_img_inner{
  0%{
      opacity: 0;
      transform: translateY(30px);
  }
  100%{
      opacity: 1;
      transform: translateY(0%);
  }
}


/* kaityuu */


.kaityuu{
  display: block;
  margin-bottom: 0px auto 220px;
}

.kaityuu_title{
  opacity: 0;
  width: 100%;
  height: auto;
  position: relative;
}

.kaityuu_title p{
  display: inline-block;
  padding: 22px 108px;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  background: #37A3DD;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
  margin-bottom: 62px;
}

.kaityuu_title::before{
  content: "";
  position: absolute;
  display: inline-block;
  left: 110px;
  top: 8px;
  width: 115px;
  height: 55px;
  background: url(../images/about/fish.webp) no-repeat left / 115px 55px;
}

.kaityuu_title::after{
  content: "";
  position: absolute;
  display: inline-block;
  right: 110px;
  top: 9px;
  width: 115px;
  height: 55px;
  transform: scale(-1, 1);
  background: url(../images/about/fish.webp) no-repeat right center  / 115px 55px;
}

.kaityuu_sub_title{
  display: block;
  color: #37A3DD;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.8;
  margin: -15px 0px 30px;
}

.kaityuu_title.is_active{
  animation: about_img_inner 0.4s ease-out forwards;
}
@keyframes about_img_inner{
  0%{
      opacity: 0;
      transform: translateY(30px);
  }
  100%{
      opacity: 1;
      transform: translateY(0%);
  }
}

.kaityuu_inner_odd{
  display: flex;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  align-items: center;
  justify-content: center;
  padding: 60px 0px;
  background: rgba(55, 163, 221, 0.10);
}

.kaityuu_inner_even,
.rikujyou_inner_even{
  display: flex;
  width: 900px;
  align-items: center;
  justify-content: center;
  margin: 60px 0px;
}



.kaityuu_inner_odd p{
    text-align: justify;
    text-justify: inter-ideograph;
    line-break: strict;
    max-width: 450px;
}


.kaityuu_inner_even p,
.rikujyou_inner_even p{
  text-align: justify;
  text-justify: inter-ideograph;
  line-break: strict;
  width: 100%;
}

.kaityuu_inner_odd img{
  width: 415px;
  height: 312px;
  object-fit: cover;
  border-radius: 50px;
  margin-left: 70px;
}

.kaityuu_inner_even img,
.rikujyou_inner_even img{
  width: 415px;
  height: 312px;
  object-fit: cover;
  border-radius: 50px;
  margin: 0px 100px 0px -40px;
}

.hp_number{
  font-family: "Orelega One";
  font-size: 35px;
  font-weight: 200;
  display: block;
  color: #37A3DD;
}




/* rikujyou */

.rikujyou{
  margin-bottom: 170px;
}
.rikujyou_title{
  opacity: 0;
  width: 100%;
  height: auto;
  position: relative;
  margin-top: 220px;
}

.rikujyou_title p{
  display: inline-block;
  padding: 22px 108px;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  background: #5EB74C;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
  margin-bottom: 62px;
}

.rikujyou_title::before{
  content: "";
  position: absolute;
  display: inline-block;
  left: 123px;
  top: 0px;
  width: 106px;
  height: 74px;
  background: url(../images/about/wakaba.webp) no-repeat left / 106px 74px;
}

.rikujyou_title::after{
  content: "";
  position: absolute;
  display: inline-block;
  right: 123px;
  top: 1px;
  width: 106px;
  height: 74px;
  transform: scale(-1, 1);
  background: url(../images/about/wakaba.webp) no-repeat right center  / 106px 74px;
}

.rikujyou_title.is_active{
  animation: about_img_inner 0.4s ease-out forwards;
}
@keyframes about_img_inner{
  0%{
      opacity: 0;
      transform: translateY(30px);
  }
  100%{
      opacity: 1;
      transform: translateY(0%);
  }
}


.rikujyou_inner_odd{
  display: flex;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  align-items: center;
  justify-content: center;
  padding: 60px 0px;
  background: rgba(94, 183, 76, 0.10);
}

.rikujyou_inner_even{
  display: flex;
  width: 900px;
  align-items: center;
  margin: 60px 0px;
}

.rikujyou_inner_odd p{
  text-align: justify;
  text-justify: inter-ideograph;
  line-break: strict;
    max-width: 450px;
}

.rikujyou_inner_even p{
  text-align: justify;
  text-justify: inter-ideograph;
  line-break: strict;
  max-width: 450px;
}


.rikujyou_inner_odd img{
  width: 415px;
  height: 312px;
  object-fit: cover;
  border-radius: 50px;
  margin-left: 70px;
}

.rikujyou_inner_even img{
  width: 415px;
  height: 312px;
  object-fit: cover;
  border-radius: 50px;
  margin-right: 70px;
}

.rikujyou_sub_title{
  margin: -15px 0px 30px;
  display: block;
  color: #5EB74C;
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
}

.about_last_btn{
  width: 348px;
  margin: 0px auto 170px;
}

.hp_number02{
  font-family: "Orelega One";
  font-size: 35px;
  font-weight: 200;
  display: block;
  color: #5EB74C;
}


/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 1200px){
  .about_page_inner03{
    margin: 380px 0px 282px;
  }

  .about_activity_details_img_inner{
    margin: 105px 0px 61px;
  }
}

@media print,screen and (max-width: 1100px){
  .about_page_inner03{
    margin: 500px 0px 282px;
  }

  .about_activity_details_img_inner{
    display: block;
    margin: 105px 0px 61px;
  }

  .kaityuu_kv{
    display: block;
    margin: 0px auto 50px;
  }

  .rikujyou_kv{
    display: block;
    margin: 120px auto 0px;
  }


  /* kaityuu */

  .kaityuu,
  .rikujyou{
    display: block;
    margin-bottom: 0px auto 220px;
  }

  .kaityuu_title p,
  .rikujyou_title p{
    padding: 18px 91px;
    font-size: 22px;
    margin-bottom: 62px;
  }
  .rikujyou_title{
    padding: 18px 91px;
    font-size: 22px;
    margin-top: 200px;
  }


  .kaityuu_title::before{
    left: 110px;
    top: 8px;
    width: 115px;
    height: 55px;
    background: url(../images/about/fish.webp) no-repeat left / 115px 55px;
  }
  .kaityuu_title::after{
    right: 110px;
    top: 8px;
    width: 115px;
    height: 55px;
    transform: scale(-1, 1);
    background: url(../images/about/fish.webp) no-repeat right center  / 115px 55px;
  }

  .kaityuu_sub_title,
  .rikujyou_sub_title{
    margin: -10px 0px 30px;
    text-align: center;
    display: block;
    font-weight: 700;
    font-size: 24px;
  }

  .kaityuu_inner_odd,
  .rikujyou_inner_odd{
    display: block;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 60px 7%;
  }

  .kaityuu_inner_even,
  .rikujyou_inner_even{
    display: inline-flex;
    flex-direction: column-reverse;
    justify-content: center;
    margin: 60px 0px 60px;
    width: 100%;
  }

  .kaityuu_inner_odd p,
  .kaityuu_inner_even p,
  .rikujyou_inner_odd p,
  .rikujyou_inner_even p{
      max-width: initial;
      margin: 0px 0px 30px;
  }

  .kaityuu_inner_odd img,
  .rikujyou_inner_odd img{
    aspect-ratio: 3/4;
    width: 450px;
    height: 320px;
    margin-left: 0px;
  }
  .kaityuu_inner_even img,
  .rikujyou_inner_even img{
    aspect-ratio: 3/4;
    width: 450px;
    height: 320px;
    margin: 0px auto;
  }


  .hp_number,
  .hp_number02{
    font-size: 30px;
    text-align: center;
  }


.about_last_btn{
  width: 348px;
  margin: 0px auto 170px;
}

}

@media print,screen and (max-width: 992px){
  .about_page_inner03{
    margin: 480px 0px 282px;
  }

    /* kaityuu */

    .kaityuu_title p,
    .rikujyou_title p{
      padding: 18px 35px;
      font-size: 20px;
      margin-bottom: 60px;
    }

    .kaityuu_title::before{
      left: 25%;
      top: 8px;
      width: 90px;
      height: 40px;
      background: url(../images/about/fish.webp) no-repeat left / 90px 40px;
    }

    .kaityuu_title::after{
      right: 25%;
      top: 9px;
      width: 90px;
      height: 40px;
      transform: scale(-1, 1);
      background: url(../images/about/fish.webp) no-repeat right center  / 90px 40px;
    }

    .kaityuu_inner_odd img,
    .rikujyou_inner_odd img{
      border-radius: 30px;
    }
    .kaityuu_inner_even img,
    .rikujyou_inner_even img{
      border-radius: 30px;
    }

    /* rikujyou */

    .rikujyou_title::before{
      left: 25%;
      top: 18px;
      width: 90px;
      height: 60px;
      background: url(../images/about/wakaba.webp) no-repeat left / 90px 60px;
    }

    .rikujyou_title::after{
      right: 25%;
      top: 19px;
      width: 90px;
      height: 60px;
      background: url(../images/about/wakaba.webp) no-repeat right center  / 90px 60px;
    }

    .about_last_btn{
      text-align: center;
      margin: 0px auto 150px;
    }
}

@media print,screen and (max-width: 860px){
    /* kaityuu */
    .kaityuu_title p{
      font-size: 20px;
    }

    .kaityuu_title::before{
      left: 20%;
    }

    .kaityuu_title::after{
      right: 20%;
    }

    /* rikujyou */

    .rikujyou_title::before{
      left: 20%;
      top: 18px;
      width: 90px;
      height: 60px;
      background: url(../images/about/wakaba.webp) no-repeat left / 90px 60px;
    }

    .rikujyou_title::after{
      right: 20%;
      top: 19px;
      width: 90px;
      height: 60px;
      background: url(../images/about/wakaba.webp) no-repeat right center  / 90px 60px;
    }
}

@media print,screen and (max-width: 800px){
  .about_page_inner03{
    margin: 300px 0px 200px;
  }
}

@media print,screen and (max-width: 768px){
  .about_page_inner03{
    margin: 400px 0px 200px;
  }

  .about_activity_details_img_inner{
    display: block;
    margin: 80px 0px 61px;
  }

  .kaityuu_kv{
    display: block;
    margin: 0px auto 30px;
    width: 350px;
    height: auto;
    object-fit: cover;
  }

  .rikujyou_kv{
    display: block;
    margin: 100px auto 0px;
    width: 350px;
    height: auto;
    object-fit: cover;
  }

  /* kaityuu */

  .kaityuu_title p{
    margin-bottom: 30px;
  }

  .kaityuu_inner_odd,
  .rikujyou_inner_odd{
    padding: 30px 7%;
  }
  .kaityuu_inner_even,
  .rikujyou_inner_even{
    margin: 30px 0px 30px;
  }

  .kaityuu_sub_title,
  .rikujyou_sub_title{
    margin: -8px 0px 30px;
    font-size: 22px;
  }

  .hp_number,
  .hp_number02{
    font-size: 28px;
  }

}

@media print,screen and (max-width: 700px){
  /* kaityuu */
  .kaityuu_title p,
  .rikujyou_title p{
    font-size: 16px;
  }

  .kaityuu_title::before,
  .rikujyou_title::before{
    left: 17%;
  }

  .kaityuu_title::after,
  .rikujyou_title::after{
    right: 17%;
  }
}

@media print,screen and (max-width: 576px){
  .about_page_inner03{
    margin: 350px 0px 200px;
  }

  .about_activity_details_img_inner{
    margin: 50px 0px 61px;
  }

  .kaityuu_kv{
    display: block;
    margin: 0px auto 30px;
    width: 280px;
    height: auto;
    object-fit: cover;
  }

  .rikujyou_kv{
    display: block;
    margin: 100px auto 0px;
    width: 280px;
    height: auto;
    object-fit: cover;
  }

    /* kaityuu */

    .kaityuu_title::before{
      left: 7%;
    }
    .kaityuu_title::after{
      right: 7%;
    }

    /* rikujyou */

    .rikujyou_title::before{
      left: 7%;
      top: 18px;
      width: 90px;
      height: 60px;
      background: url(../images/about/wakaba.webp) no-repeat left / 90px 60px;
    }

    .rikujyou_title::after{
      right: 7%;
      top: 19px;
      width: 90px;
      height: 60px;
      background: url(../images/about/wakaba.webp) no-repeat right center  / 90px 60px;
    }

    .about_last_btn{
      margin: -100px auto 80px;
    }

    .kaityuu_sub_title,
    .rikujyou_sub_title{
      margin: -5px 0px 30px;
      font-size: 20px;
    }

    .hp_number,
    .hp_number02{
      font-size: 22px;
    }
}

@media print,screen and (max-width: 450px){
  .about_page_inner03{
    margin: 280px 0px 150px;
  }
      /* kaityuu */

      .kaityuu_title::before{
        left: 3%;
        top: 11px;
        width: 70px;
        height: 30px;
        background: url(../images/about/fish.webp) no-repeat left / 70px 30px;
      }
      .kaityuu_title::after{
        right: 3%;
        top: 12px;
        width: 70px;
        height: 30px;
        transform: scale(-1, 1);
        background: url(../images/about/fish.webp) no-repeat right center  / 70px 30px;
      }

      .kaityuu_inner_odd img,
      .rikujyou_inner_odd img{
        aspect-ratio: 3/4;
        height: 60vw;
      }
      .kaityuu_inner_even img,
      .rikujyou_inner_even img{
        aspect-ratio: 3/4;
        height: 60vw;
      }

    /* rikujyou */

    .rikujyou_title::before{
      left: 5%;
      top: 25px;
      width: 80px;
      height: 40px;
      background: url(../images/about/wakaba.webp) no-repeat left / 80px 40px;
    }

    .rikujyou_title::after{
      right: 5%;
      top: 26px;
      width: 80px;
      height: 40px;
      background: url(../images/about/wakaba.webp) no-repeat right center  /  80px 40px;
    }
}

@media print,screen and (max-width: 400px){
  .rikujyou_title::before{
    left: 2%;
    top: 45px;
    width: 80px;
    height: 40px;
    background: url(../images/about/wakaba.webp) no-repeat left / 80px 40px;
  }

  .rikujyou_title::after{
    right: 2%;
    top: 46px;
    width: 80px;
    height: 40px;
    background: url(../images/about/wakaba.webp) no-repeat right center  /  80px 40px;
  }
}

@media print,screen and (max-width: 380px){
  .about_page_inner03{
    margin: 250px 0px 200px;
  }
      /* kaityuu */

      .kaityuu_title::before{
        left: 1%;
      }
      .kaityuu_title::after{
        right: 1%;
      }
}





/* フォーム */
/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* process_form */

.process_form_body{
  width: 100%;
  height: auto;
  background: #f5f5f5;
  display: flex;
  overflow: hidden;
  z-index: 0;
}


.process_form_block{
  width: 100%;
  height: auto;
  display: block;
  margin: 0px auto;
  text-align: center;
}

.form_title{
  margin-top: 100px;
}

.form_title h1{
  font-size: 18px;
  font-weight: 700;
  padding: 0px 0px 80px;
}
.form_title h1 span{
  font-size: 60px;
  font-weight: 400;
  font-family: "Orelega One" , sans-serif;
  text-transform: uppercase;
  margin-bottom: 17px;
  display: block;
}
.form_title h2{
  font-size: 20px;
}

.form_title p{
  font-weight: 700;
  font-size: 14px;
  margin-top: 10px;
}

.process_form_text{
  display: block;
  padding: 30px 25%;
  margin: 0px auto;
}

.process_form_text p{
  display: block;
  margin-bottom: 30px;
  padding: 0px 0px 7px;
  border-bottom: #999 1px solid;
  text-align: start;
}

.process_form_text p strong{
  font-size: 16px;
  display: block;
  margin-bottom: 10px;
}



.form_btn{
  display: flex;
  justify-content: center;
  gap: 50px;
  margin: 80px auto;
}

.form_btn button{
  display: inline-block;
  padding: 10px 30px;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
  transition: background-color 0.2s ease-in;
}

@media (hover:hover){
  .form_btn button:hover,
  .form_btn button:focus{
  background: #1D3D6B;
}
}

.back{
  background: #999;
}
.sousin{
  background: #5EB74C;
}


/* ------------------------------------------------------------------------- */
/* メディアクエリ */

@media print,screen and (max-width: 992px){
  .process_form_text{
    padding: 30px 10%;
  }
}

@media print,screen and (max-width: 768px){
  .process_form_title h1{
    font-size: 16px;
    padding: 0px 0px 50px;
  }
  .form_title h1 span{
    font-size: 50px;
    margin-bottom: 17px;
  }
  .form_title h2{
    font-size: 18px;
  }

  .process_form_text{
    padding: 30px 6%;
  }

  .process_form_text p strong{
    font-size: 14px;
  }

  .form_btn{
    margin: 50px auto;
  }

  .form_btn button{
    padding: 10px 30px;
    font-size: 16px;
  }
}


@media print,screen and (max-width: 576px){
  .process_form_title h1{
    font-size: 16px;
    padding: 0px 0px 30px;
  }

  .process_form_body{
    width: 100%;
    height: auto;
    background: #f5f5f5;
    display: flex;
    overflow: hidden;
    z-index: 0;
  }
}


/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* complete_form */

.complete_form_body{
  overflow: hidden;
  width: 100%;
  height: 1000px;
  background: #EEEF9B;
  display: flex;
  overflow: hidden;
  z-index: 0;
}

.complete_form_block{
  width: 100%;
  height: auto;
  display: block;
  margin: 0px auto;
  text-align: center;
}

.hp_margin_form{
  margin-bottom: 100px;
}


/* ------------------------------------------------------------------------- */
/* メディアクエリ */

@media print,screen and (max-width: 1200px){
  .complete_form_body{
    height: 900px;
  }
}

@media print,screen and (max-width: 992px){
  .complete_form_text{
    padding: 30px 0px;
    margin: 50px 6% 100px;
  }
}

@media print,screen and (max-width: 576px){
  .complete_form_text{
    margin: 50px 6% 150px;
  }
}




/* etc */
/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* cursor */

.cursor {
  position: fixed;
  top: -5px; /*座標調整*/
  left: -5px; /*座標調整*/
  width: 10px;
  height: 10px;
  background: #E94557;
  border-radius: 50%;
  z-index: 9999999;
  transition: width 0.5s, height 0.5s, top 0.5s, left 0.5s;
  transform: translate(0, 0);
  pointer-events: none;
}

/*aタグにホバーした時に見た目変化*/
.cursor.cursor--hover {
  top: -20px;
  left: -20px;
  width: 40px;
  height: 40px;
  background: #E94557;
}


/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 1100px){
  .cursor {
    display: none;
  }
}



/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* loading */

.loading_block {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 1;
  pointer-events: none;
  transition: opacity 0.5s 0.5s ease-in;
  z-index: 99998;
}

.loading_block.is_open{
  opacity: 0;
  pointer-events: none;
}

.loading_logo {
  opacity: 0;
  animation: logo_fade 1s 0.05s forwards;
  width: 250px;
}

@keyframes logo_fade {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  60% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 0;
  }
}


/* ------------------------------------------------------------------------- */
/* メディアクエリ */
@media print,screen and (max-width: 992px){
  .loading_logo {
    width: 200px;
  }
}

@media print,screen and (max-width: 768px){
  .loading_logo {
    width: 180px;
  }
}

@media print,screen and (max-width: 576px){
  .loading_logo {
    width: 150px;
  }
}




/* ------------------------------------------------------------------------------------------------------------------------------------------------ */
/* circle */

.awa_an{
  width: 90px;
  height: 200px;
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

.circle1{
  width: 60px;
  height: 60px;
  margin: 0px 0px 35px 20px;
  border: 2px #E94557 solid;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}
.circle2{
  width: 33px;
  height: 33px;
  border: 2px #E94557 solid;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}
.circle3{
  width: 25px;
  height: 25px;
  margin: 35px 0px 0px 30px;
  border: 2px #E94557 solid;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}


.awa_an_02{
  width: 90px;
  height: 200px;
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

.circle02_1{
  width: 60px;
  height: 60px;
  margin: 0px 35px 35px 0px;
  border: 2px #E94557 solid;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}
.circle02_2{
  width: 33px;
  height: 33px;
  border: 2px #E94557 solid;
  margin-left: 40px;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}
.circle02_3{
  width: 25px;
  height: 25px;
  margin: 35px 40px 0px 0px;
  border: 2px #E94557 solid;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}



.mv_awa_an{
  width: 90px;
  height: 200px;
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

.mv_circle1{
  width: 60px;
  height: 60px;
  margin: 0px 0px 35px 20px;
  background: #FFF;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}
.mv_circle2{
  width: 33px;
  height: 33px;
  background: #FFF;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}
.mv_circle3{
  width: 25px;
  height: 25px;
  margin: 35px 0px 0px 30px;
  background: #FFF;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}


.mv_awa_an_02{
  width: 90px;
  height: 200px;
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

.mv_circle02_1{
  width: 60px;
  height: 60px;
  margin: 0px 35px 35px 0px;
  background: #FFF;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}
.mv_circle02_2{
  width: 33px;
  height: 33px;
  background: #FFF;
  margin-left: 40px;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}
.mv_circle02_3{
  width: 25px;
  height: 25px;
  margin: 35px 40px 0px 0px;
  background: #FFF;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}





.sab_mv_awa_an{
  width: 90px;
  height: 200px;
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

.sab_mv_circle1{
  width: 60px;
  height: 60px;
  margin: 0px 0px 35px 20px;
  border: 2px solid #fff;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}
.sab_mv_circle2{
  width: 33px;
  height: 33px;
  border: 2px solid #fff;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}
.sab_mv_circle3{
  width: 25px;
  height: 25px;
  margin: 35px 0px 0px 30px;
  border: 2px solid #fff;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}


.sab_mv_awa_an_02{
  width: auto;
  height: auto;
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

.sab_mv_circle02_1{
  width: 60px;
  height: 60px;
  margin: 0px 35px 35px 0px;
  border: 2px solid #fff;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}
.sab_mv_circle02_2{
  width: 33px;
  height: 33px;
  border: 2px solid #fff;
  margin-left: 40px;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}
.sab_mv_circle02_3{
  width: 25px;
  height: 25px;
  margin: 35px 40px 0px 0px;
  border: 2px solid #fff;
  border-radius: 50%;
  animation-name: anim_sc;
  transform: scale(0.6, 0.6);
}


/* ------------------------------------------------------------------------- */


@keyframes anim_sc {
  100% {
    transform: scale(1, 1);
  }
}

.animation_01 {
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 1.5s;
}
.animation_02 {
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate-reverse;
  animation-duration: 1.5s;
}
.animation_03 {
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 1.5s;
}

@keyframes floating-y {
  0% {
    transform: translateY(-10%);
  }
  100% {
    transform: translateY(10%);
  }
}


/* ------------------------------------------------------------------------- */
/* メディアクエリ */

@media print,screen and (max-width: 992px){
  .mv_circle1{
    width: 40px;
    height: 40px;
    margin: 0px 0px 20px 30px;
  }
  .mv_circle2{
    width: 25px;
    height: 25px;
    margin-right: 15px;
  }
  .mv_circle3{
    width: 15px;
    height: 15px;
    margin: 20px 0px 0px 30px;
  }

  .mv_circle02_1{
    width: 40px;
    height: 40px;
    margin: 0px 35px 20px 0px;
  }
  .mv_circle02_2{
    width: 25px;
    height: 25px;
    margin-left: 30px;
  }
  .mv_circle02_3{
    width: 15px;
    height: 15px;
    margin: 20px 10px 0px 0px;
  }
}

@media print,screen and (max-width: 768px){
  .sab_mv_circle1{
    width: 40px;
    height: 40px;
    margin: 0px 0px 20px 30px;
  }
  .sab_mv_circle2{
    width: 25px;
    height: 25px;
    margin-right: 15px;
  }
  .sab_mv_circle3{
    width: 15px;
    height: 15px;
    margin: 20px 0px 0px 30px;
  }

  .sab_mv_circle02_1{
    width: 40px;
    height: 40px;
    margin: 0px 35px 20px 0px;
  }
  .sab_mv_circle02_2{
    width: 25px;
    height: 25px;
    margin-left: 30px;
  }
  .sab_mv_circle02_3{
    width: 15px;
    height: 15px;
    margin: 20px 10px 0px 0px;
  }
}